From cd497aba54cdd480a9ef0e98958ea391f391ae4c Mon Sep 17 00:00:00 2001 From: Alexandru Vasile Date: Tue, 7 Feb 2023 19:16:19 +0200 Subject: [PATCH] XXX: Generate Runtime API Signed-off-by: Alexandru Vasile --- cli/src/commands/compatibility.rs | 2 +- codegen/polka_runtime.rs | 57006 +++++++++++++++++++++ codegen/src/api/mod.rs | 26 +- codegen/src/api/runtime_api.rs | 106 + codegen/src/utils/fetch_metadata.rs | 22 +- examples/examples/runtime_calls.rs | 12 +- subxt/src/client/online_client.rs | 14 - subxt/src/runtime_api/mod.rs | 2 + subxt/src/runtime_api/runtime_payload.rs | 44 + subxt/src/runtime_api/runtime_types.rs | 24 + 10 files changed, 57231 insertions(+), 27 deletions(-) create mode 100644 codegen/polka_runtime.rs create mode 100644 codegen/src/api/runtime_api.rs create mode 100644 subxt/src/runtime_api/runtime_payload.rs diff --git a/cli/src/commands/compatibility.rs b/cli/src/commands/compatibility.rs index 1c621eaa3b..a41ed8799a 100644 --- a/cli/src/commands/compatibility.rs +++ b/cli/src/commands/compatibility.rs @@ -8,9 +8,9 @@ use color_eyre::eyre::{ WrapErr, }; use frame_metadata::{ + v15::RuntimeMetadataV15, RuntimeMetadata, RuntimeMetadataPrefixed, - RuntimeMetadataV15, META_RESERVED, }; use jsonrpsee::client_transport::ws::Uri; diff --git a/codegen/polka_runtime.rs b/codegen/polka_runtime.rs new file mode 100644 index 0000000000..4f939c8c8a --- /dev/null +++ b/codegen/polka_runtime.rs @@ -0,0 +1,57006 @@ +#[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; 59usize] = [ + "System", + "Utility", + "Babe", + "Timestamp", + "Authorship", + "Indices", + "Balances", + "TransactionPayment", + "AssetTxPayment", + "ElectionProviderMultiPhase", + "Staking", + "Session", + "Democracy", + "Council", + "TechnicalCommittee", + "Elections", + "TechnicalMembership", + "Grandpa", + "Treasury", + "Contracts", + "Sudo", + "ImOnline", + "AuthorityDiscovery", + "Offences", + "Historical", + "RandomnessCollectiveFlip", + "Identity", + "Society", + "Recovery", + "Vesting", + "Scheduler", + "Preimage", + "Proxy", + "Multisig", + "Bounties", + "Tips", + "Assets", + "Mmr", + "Lottery", + "Nis", + "Uniques", + "Nfts", + "TransactionStorage", + "VoterList", + "StateTrieMigration", + "ChildBounties", + "Referenda", + "Remark", + "RootTesting", + "ConvictionVoting", + "Whitelist", + "AllianceMotion", + "Alliance", + "NominationPools", + "RankedPolls", + "RankedCollective", + "FastUnstake", + "MessageQueue", + "Pov", + ]; + #[derive( + :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, Debug, + )] + pub enum Event { + #[codec(index = 0)] + System(system::Event), + #[codec(index = 1)] + Utility(utility::Event), + #[codec(index = 5)] + Indices(indices::Event), + #[codec(index = 6)] + Balances(balances::Event), + #[codec(index = 7)] + TransactionPayment(transaction_payment::Event), + #[codec(index = 8)] + AssetTxPayment(asset_tx_payment::Event), + #[codec(index = 9)] + ElectionProviderMultiPhase(election_provider_multi_phase::Event), + #[codec(index = 10)] + Staking(staking::Event), + #[codec(index = 11)] + Session(session::Event), + #[codec(index = 12)] + Democracy(democracy::Event), + #[codec(index = 13)] + Council(council::Event), + #[codec(index = 14)] + TechnicalCommittee(technical_committee::Event), + #[codec(index = 15)] + Elections(elections::Event), + #[codec(index = 16)] + TechnicalMembership(technical_membership::Event), + #[codec(index = 17)] + Grandpa(grandpa::Event), + #[codec(index = 18)] + Treasury(treasury::Event), + #[codec(index = 19)] + Contracts(contracts::Event), + #[codec(index = 20)] + Sudo(sudo::Event), + #[codec(index = 21)] + ImOnline(im_online::Event), + #[codec(index = 23)] + Offences(offences::Event), + #[codec(index = 26)] + Identity(identity::Event), + #[codec(index = 27)] + Society(society::Event), + #[codec(index = 28)] + Recovery(recovery::Event), + #[codec(index = 29)] + Vesting(vesting::Event), + #[codec(index = 30)] + Scheduler(scheduler::Event), + #[codec(index = 31)] + Preimage(preimage::Event), + #[codec(index = 32)] + Proxy(proxy::Event), + #[codec(index = 33)] + Multisig(multisig::Event), + #[codec(index = 34)] + Bounties(bounties::Event), + #[codec(index = 35)] + Tips(tips::Event), + #[codec(index = 36)] + Assets(assets::Event), + #[codec(index = 38)] + Lottery(lottery::Event), + #[codec(index = 39)] + Nis(nis::Event), + #[codec(index = 40)] + Uniques(uniques::Event), + #[codec(index = 41)] + Nfts(nfts::Event), + #[codec(index = 42)] + TransactionStorage(transaction_storage::Event), + #[codec(index = 43)] + VoterList(voter_list::Event), + #[codec(index = 44)] + StateTrieMigration(state_trie_migration::Event), + #[codec(index = 45)] + ChildBounties(child_bounties::Event), + #[codec(index = 46)] + Referenda(referenda::Event), + #[codec(index = 47)] + Remark(remark::Event), + #[codec(index = 49)] + ConvictionVoting(conviction_voting::Event), + #[codec(index = 50)] + Whitelist(whitelist::Event), + #[codec(index = 51)] + AllianceMotion(alliance_motion::Event), + #[codec(index = 52)] + Alliance(alliance::Event), + #[codec(index = 53)] + NominationPools(nomination_pools::Event), + #[codec(index = 54)] + RankedPolls(ranked_polls::Event), + #[codec(index = 55)] + RankedCollective(ranked_collective::Event), + #[codec(index = 56)] + FastUnstake(fast_unstake::Event), + #[codec(index = 57)] + MessageQueue(message_queue::Event), + #[codec(index = 58)] + Pov(pov::Event), + } + pub mod system { + 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 Remark { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetHeapPages { + pub pages: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetCode { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetCodeWithoutChecks { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetStorage { + pub items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct KillStorage { + pub keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct KillPrefix { + pub prefix: ::std::vec::Vec<::core::primitive::u8>, + pub subkeys: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemarkWithEvent { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Make some on-chain remark."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`"] + #[doc = "# "] + pub fn remark( + &self, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "remark", + Remark { remark }, + [ + 101u8, 80u8, 195u8, 226u8, 224u8, 247u8, 60u8, 128u8, 3u8, + 101u8, 51u8, 147u8, 96u8, 126u8, 76u8, 230u8, 194u8, 227u8, + 191u8, 73u8, 160u8, 146u8, 87u8, 147u8, 243u8, 28u8, 228u8, + 116u8, 224u8, 181u8, 129u8, 160u8, + ], + ) + } + #[doc = "Set the number of pages in the WebAssembly environment's heap."] + pub fn set_heap_pages( + &self, + pages: ::core::primitive::u64, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "set_heap_pages", + SetHeapPages { pages }, + [ + 43u8, 103u8, 128u8, 49u8, 156u8, 136u8, 11u8, 204u8, 80u8, + 6u8, 244u8, 86u8, 171u8, 44u8, 140u8, 225u8, 142u8, 198u8, + 43u8, 87u8, 26u8, 45u8, 125u8, 222u8, 165u8, 254u8, 172u8, + 158u8, 39u8, 178u8, 86u8, 87u8, + ], + ) + } + #[doc = "Set the new runtime code."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`"] + #[doc = "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is"] + #[doc = " expensive)."] + #[doc = "- 1 storage write (codec `O(C)`)."] + #[doc = "- 1 digest item."] + #[doc = "- 1 event."] + #[doc = "The weight of this function is dependent on the runtime, but generally this is very"] + #[doc = "expensive. We will treat this as a full block."] + #[doc = "# "] + pub fn set_code( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "set_code", + SetCode { code }, + [ + 27u8, 104u8, 244u8, 205u8, 188u8, 254u8, 121u8, 13u8, 106u8, + 120u8, 244u8, 108u8, 97u8, 84u8, 100u8, 68u8, 26u8, 69u8, + 93u8, 128u8, 107u8, 4u8, 3u8, 142u8, 13u8, 134u8, 196u8, + 62u8, 113u8, 181u8, 14u8, 40u8, + ], + ) + } + #[doc = "Set the new runtime code without doing any checks of the given `code`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(C)` where `C` length of `code`"] + #[doc = "- 1 storage write (codec `O(C)`)."] + #[doc = "- 1 digest item."] + #[doc = "- 1 event."] + #[doc = "The weight of this function is dependent on the runtime. We will treat this as a full"] + #[doc = "block. # "] + pub fn set_code_without_checks( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "set_code_without_checks", + SetCodeWithoutChecks { code }, + [ + 102u8, 160u8, 125u8, 235u8, 30u8, 23u8, 45u8, 239u8, 112u8, + 148u8, 159u8, 158u8, 42u8, 93u8, 206u8, 94u8, 80u8, 250u8, + 66u8, 195u8, 60u8, 40u8, 142u8, 169u8, 183u8, 80u8, 80u8, + 96u8, 3u8, 231u8, 99u8, 216u8, + ], + ) + } + #[doc = "Set some items of storage."] + pub fn set_storage( + &self, + items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "set_storage", + SetStorage { items }, + [ + 74u8, 43u8, 106u8, 255u8, 50u8, 151u8, 192u8, 155u8, 14u8, + 90u8, 19u8, 45u8, 165u8, 16u8, 235u8, 242u8, 21u8, 131u8, + 33u8, 172u8, 119u8, 78u8, 140u8, 10u8, 107u8, 202u8, 122u8, + 235u8, 181u8, 191u8, 22u8, 116u8, + ], + ) + } + #[doc = "Kill some items from storage."] + pub fn kill_storage( + &self, + keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "kill_storage", + KillStorage { keys }, + [ + 174u8, 174u8, 13u8, 174u8, 75u8, 138u8, 128u8, 235u8, 222u8, + 216u8, 85u8, 18u8, 198u8, 1u8, 138u8, 70u8, 19u8, 108u8, + 209u8, 41u8, 228u8, 67u8, 130u8, 230u8, 160u8, 207u8, 11u8, + 180u8, 139u8, 242u8, 41u8, 15u8, + ], + ) + } + #[doc = "Kill all storage items with a key that starts with the given prefix."] + #[doc = ""] + #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] + #[doc = "the prefix we are removing to accurately calculate the weight of this function."] + pub fn kill_prefix( + &self, + prefix: ::std::vec::Vec<::core::primitive::u8>, + subkeys: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "kill_prefix", + KillPrefix { prefix, subkeys }, + [ + 203u8, 116u8, 217u8, 42u8, 154u8, 215u8, 77u8, 217u8, 13u8, + 22u8, 193u8, 2u8, 128u8, 115u8, 179u8, 115u8, 187u8, 218u8, + 129u8, 34u8, 80u8, 4u8, 173u8, 120u8, 92u8, 35u8, 237u8, + 112u8, 201u8, 207u8, 200u8, 48u8, + ], + ) + } + #[doc = "Make some on-chain remark and emit event."] + pub fn remark_with_event( + &self, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "remark_with_event", + RemarkWithEvent { remark }, + [ + 123u8, 225u8, 180u8, 179u8, 144u8, 74u8, 27u8, 85u8, 101u8, + 75u8, 134u8, 44u8, 181u8, 25u8, 183u8, 158u8, 14u8, 213u8, + 56u8, 225u8, 136u8, 88u8, 26u8, 114u8, 178u8, 43u8, 176u8, + 43u8, 240u8, 84u8, 116u8, 46u8, + ], + ) + } + } + } + #[doc = "Event for the System pallet."] + pub type Event = runtime_types::frame_system::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An extrinsic completed successfully."] + pub struct ExtrinsicSuccess { + pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + } + impl ::subxt::events::StaticEvent for ExtrinsicSuccess { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "ExtrinsicSuccess"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An extrinsic failed."] + pub struct ExtrinsicFailed { + pub dispatch_error: runtime_types::sp_runtime::DispatchError, + pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + } + impl ::subxt::events::StaticEvent for ExtrinsicFailed { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "ExtrinsicFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "`:code` was updated."] + pub struct CodeUpdated; + impl ::subxt::events::StaticEvent for CodeUpdated { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "CodeUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new account was created."] + pub struct NewAccount { + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for NewAccount { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "NewAccount"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account was reaped."] + pub struct KilledAccount { + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for KilledAccount { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "KilledAccount"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "On on-chain remark happened."] + pub struct Remarked { + pub sender: ::subxt::utils::AccountId32, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Remarked { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "Remarked"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The full account information for a particular account ID."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::AccountInfo< + ::core::primitive::u32, + 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( + "System", + "Account", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 176u8, 187u8, 21u8, 220u8, 159u8, 204u8, 127u8, 14u8, 21u8, + 69u8, 77u8, 114u8, 230u8, 141u8, 107u8, 79u8, 23u8, 16u8, + 174u8, 243u8, 252u8, 42u8, 65u8, 120u8, 229u8, 38u8, 210u8, + 255u8, 22u8, 40u8, 109u8, 223u8, + ], + ) + } + #[doc = " The full account information for a particular account ID."] + pub fn account_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::AccountInfo< + ::core::primitive::u32, + runtime_types::pallet_balances::AccountData< + ::core::primitive::u128, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "Account", + Vec::new(), + [ + 176u8, 187u8, 21u8, 220u8, 159u8, 204u8, 127u8, 14u8, 21u8, + 69u8, 77u8, 114u8, 230u8, 141u8, 107u8, 79u8, 23u8, 16u8, + 174u8, 243u8, 252u8, 42u8, 65u8, 120u8, 229u8, 38u8, 210u8, + 255u8, 22u8, 40u8, 109u8, 223u8, + ], + ) + } + #[doc = " Total extrinsics count for the current block."] + pub fn extrinsic_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ExtrinsicCount", + vec![], + [ + 223u8, 60u8, 201u8, 120u8, 36u8, 44u8, 180u8, 210u8, 242u8, + 53u8, 222u8, 154u8, 123u8, 176u8, 249u8, 8u8, 225u8, 28u8, + 232u8, 4u8, 136u8, 41u8, 151u8, 82u8, 189u8, 149u8, 49u8, + 166u8, 139u8, 9u8, 163u8, 231u8, + ], + ) + } + #[doc = " The current weight for the block."] + pub fn block_weight( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::dispatch::PerDispatchClass< + runtime_types::sp_weights::weight_v2::Weight, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "BlockWeight", + vec![], + [ + 120u8, 67u8, 71u8, 163u8, 36u8, 202u8, 52u8, 106u8, 143u8, + 155u8, 144u8, 87u8, 142u8, 241u8, 232u8, 183u8, 56u8, 235u8, + 27u8, 237u8, 20u8, 202u8, 33u8, 85u8, 189u8, 0u8, 28u8, 52u8, + 198u8, 40u8, 219u8, 54u8, + ], + ) + } + #[doc = " Total length (in bytes) for all extrinsics put together, for the current block."] + pub fn all_extrinsics_len( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "AllExtrinsicsLen", + vec![], + [ + 202u8, 145u8, 209u8, 225u8, 40u8, 220u8, 174u8, 74u8, 93u8, + 164u8, 254u8, 248u8, 254u8, 192u8, 32u8, 117u8, 96u8, 149u8, + 53u8, 145u8, 219u8, 64u8, 234u8, 18u8, 217u8, 200u8, 203u8, + 141u8, 145u8, 28u8, 134u8, 60u8, + ], + ) + } + #[doc = " Map of block numbers to block hashes."] + pub fn block_hash( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::H256>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "BlockHash", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 50u8, 112u8, 176u8, 239u8, 175u8, 18u8, 205u8, 20u8, 241u8, + 195u8, 21u8, 228u8, 186u8, 57u8, 200u8, 25u8, 38u8, 44u8, + 106u8, 20u8, 168u8, 80u8, 76u8, 235u8, 12u8, 51u8, 137u8, + 149u8, 200u8, 4u8, 220u8, 237u8, + ], + ) + } + #[doc = " Map of block numbers to block hashes."] + pub fn block_hash_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::H256>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "BlockHash", + Vec::new(), + [ + 50u8, 112u8, 176u8, 239u8, 175u8, 18u8, 205u8, 20u8, 241u8, + 195u8, 21u8, 228u8, 186u8, 57u8, 200u8, 25u8, 38u8, 44u8, + 106u8, 20u8, 168u8, 80u8, 76u8, 235u8, 12u8, 51u8, 137u8, + 149u8, 200u8, 4u8, 220u8, 237u8, + ], + ) + } + #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] + pub fn extrinsic_data( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u8>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ExtrinsicData", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 210u8, 224u8, 211u8, 186u8, 118u8, 210u8, 185u8, 194u8, + 238u8, 211u8, 254u8, 73u8, 67u8, 184u8, 31u8, 229u8, 168u8, + 125u8, 98u8, 23u8, 241u8, 59u8, 49u8, 86u8, 126u8, 9u8, + 114u8, 163u8, 160u8, 62u8, 50u8, 67u8, + ], + ) + } + #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] + pub fn extrinsic_data_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u8>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ExtrinsicData", + Vec::new(), + [ + 210u8, 224u8, 211u8, 186u8, 118u8, 210u8, 185u8, 194u8, + 238u8, 211u8, 254u8, 73u8, 67u8, 184u8, 31u8, 229u8, 168u8, + 125u8, 98u8, 23u8, 241u8, 59u8, 49u8, 86u8, 126u8, 9u8, + 114u8, 163u8, 160u8, 62u8, 50u8, 67u8, + ], + ) + } + #[doc = " The current block number being processed. Set by `execute_block`."] + pub fn number( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "Number", + vec![], + [ + 228u8, 96u8, 102u8, 190u8, 252u8, 130u8, 239u8, 172u8, 126u8, + 235u8, 246u8, 139u8, 208u8, 15u8, 88u8, 245u8, 141u8, 232u8, + 43u8, 204u8, 36u8, 87u8, 211u8, 141u8, 187u8, 68u8, 236u8, + 70u8, 193u8, 235u8, 164u8, 191u8, + ], + ) + } + #[doc = " Hash of the previous block."] + pub fn parent_hash( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::H256>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ParentHash", + vec![], + [ + 232u8, 206u8, 177u8, 119u8, 38u8, 57u8, 233u8, 50u8, 225u8, + 49u8, 169u8, 176u8, 210u8, 51u8, 231u8, 176u8, 234u8, 186u8, + 188u8, 112u8, 15u8, 152u8, 195u8, 232u8, 201u8, 97u8, 208u8, + 249u8, 9u8, 163u8, 69u8, 36u8, + ], + ) + } + #[doc = " Digest of the current block, also part of the block header."] + pub fn digest( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::generic::digest::Digest, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "Digest", + vec![], + [ + 83u8, 141u8, 200u8, 132u8, 182u8, 55u8, 197u8, 122u8, 13u8, + 159u8, 31u8, 42u8, 60u8, 191u8, 89u8, 221u8, 242u8, 47u8, + 199u8, 213u8, 48u8, 216u8, 131u8, 168u8, 245u8, 82u8, 56u8, + 190u8, 62u8, 69u8, 96u8, 37u8, + ], + ) + } + #[doc = " Events deposited for the current block."] + #[doc = ""] + #[doc = " NOTE: The item is unbound and should therefore never be read on chain."] + #[doc = " It could otherwise inflate the PoV size of a block."] + #[doc = ""] + #[doc = " Events have a large in-memory size. Box the events to not go out-of-memory"] + #[doc = " just in case someone still reads them from within the runtime."] + pub fn events( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::frame_system::EventRecord< + runtime_types::kitchensink_runtime::RuntimeEvent, + ::subxt::utils::H256, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "Events", + vec![], + [ + 91u8, 92u8, 49u8, 153u8, 159u8, 210u8, 114u8, 165u8, 211u8, + 119u8, 27u8, 182u8, 225u8, 219u8, 252u8, 159u8, 15u8, 63u8, + 214u8, 78u8, 107u8, 167u8, 11u8, 221u8, 2u8, 200u8, 151u8, + 212u8, 183u8, 184u8, 40u8, 72u8, + ], + ) + } + #[doc = " The number of events in the `Events` list."] + pub fn event_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "EventCount", + vec![], + [ + 236u8, 93u8, 90u8, 177u8, 250u8, 211u8, 138u8, 187u8, 26u8, + 208u8, 203u8, 113u8, 221u8, 233u8, 227u8, 9u8, 249u8, 25u8, + 202u8, 185u8, 161u8, 144u8, 167u8, 104u8, 127u8, 187u8, 38u8, + 18u8, 52u8, 61u8, 66u8, 112u8, + ], + ) + } + #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] + #[doc = " of events in the `>` list."] + #[doc = ""] + #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] + #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] + #[doc = " in case of changes fetch the list of events of interest."] + #[doc = ""] + #[doc = " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just"] + #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] + #[doc = " no notification will be triggered thus the event might be lost."] + pub fn event_topics( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "EventTopics", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 205u8, 90u8, 142u8, 190u8, 176u8, 37u8, 94u8, 82u8, 98u8, + 1u8, 129u8, 63u8, 246u8, 101u8, 130u8, 58u8, 216u8, 16u8, + 139u8, 196u8, 154u8, 111u8, 110u8, 178u8, 24u8, 44u8, 183u8, + 176u8, 232u8, 82u8, 223u8, 38u8, + ], + ) + } + #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] + #[doc = " of events in the `>` list."] + #[doc = ""] + #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] + #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] + #[doc = " in case of changes fetch the list of events of interest."] + #[doc = ""] + #[doc = " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just"] + #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] + #[doc = " no notification will be triggered thus the event might be lost."] + pub fn event_topics_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "EventTopics", + Vec::new(), + [ + 205u8, 90u8, 142u8, 190u8, 176u8, 37u8, 94u8, 82u8, 98u8, + 1u8, 129u8, 63u8, 246u8, 101u8, 130u8, 58u8, 216u8, 16u8, + 139u8, 196u8, 154u8, 111u8, 110u8, 178u8, 24u8, 44u8, 183u8, + 176u8, 232u8, 82u8, 223u8, 38u8, + ], + ) + } + #[doc = " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."] + pub fn last_runtime_upgrade( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::LastRuntimeUpgradeInfo, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "LastRuntimeUpgrade", + vec![], + [ + 52u8, 37u8, 117u8, 111u8, 57u8, 130u8, 196u8, 14u8, 99u8, + 77u8, 91u8, 126u8, 178u8, 249u8, 78u8, 34u8, 9u8, 194u8, + 92u8, 105u8, 113u8, 81u8, 185u8, 127u8, 245u8, 184u8, 60u8, + 29u8, 234u8, 182u8, 96u8, 196u8, + ], + ) + } + #[doc = " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."] + pub fn upgraded_to_u32_ref_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "UpgradedToU32RefCount", + vec![], + [ + 171u8, 88u8, 244u8, 92u8, 122u8, 67u8, 27u8, 18u8, 59u8, + 175u8, 175u8, 178u8, 20u8, 150u8, 213u8, 59u8, 222u8, 141u8, + 32u8, 107u8, 3u8, 114u8, 83u8, 250u8, 180u8, 233u8, 152u8, + 54u8, 187u8, 99u8, 131u8, 204u8, + ], + ) + } + #[doc = " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False"] + #[doc = " (default) if not."] + pub fn upgraded_to_triple_ref_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "UpgradedToTripleRefCount", + vec![], + [ + 90u8, 33u8, 56u8, 86u8, 90u8, 101u8, 89u8, 133u8, 203u8, + 56u8, 201u8, 210u8, 244u8, 232u8, 150u8, 18u8, 51u8, 105u8, + 14u8, 230u8, 103u8, 155u8, 246u8, 99u8, 53u8, 207u8, 225u8, + 128u8, 186u8, 76u8, 40u8, 185u8, + ], + ) + } + #[doc = " The execution phase of the block."] + pub fn execution_phase( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::Phase, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ExecutionPhase", + vec![], + [ + 230u8, 183u8, 221u8, 135u8, 226u8, 223u8, 55u8, 104u8, 138u8, + 224u8, 103u8, 156u8, 222u8, 99u8, 203u8, 199u8, 164u8, 168u8, + 193u8, 133u8, 201u8, 155u8, 63u8, 95u8, 17u8, 206u8, 165u8, + 123u8, 161u8, 33u8, 172u8, 93u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Block & extrinsics weights: base values and limits."] + pub fn block_weights( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::limits::BlockWeights, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "BlockWeights", + [ + 118u8, 253u8, 239u8, 217u8, 145u8, 115u8, 85u8, 86u8, 172u8, + 248u8, 139u8, 32u8, 158u8, 126u8, 172u8, 188u8, 197u8, 105u8, + 145u8, 235u8, 171u8, 50u8, 31u8, 225u8, 167u8, 187u8, 241u8, + 87u8, 6u8, 17u8, 234u8, 185u8, + ], + ) + } + #[doc = " The maximum length of a block (in bytes)."] + pub fn block_length( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::limits::BlockLength, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "BlockLength", + [ + 116u8, 184u8, 225u8, 228u8, 207u8, 203u8, 4u8, 220u8, 234u8, + 198u8, 150u8, 108u8, 205u8, 87u8, 194u8, 131u8, 229u8, 51u8, + 140u8, 4u8, 47u8, 12u8, 200u8, 144u8, 153u8, 62u8, 51u8, + 39u8, 138u8, 205u8, 203u8, 236u8, + ], + ) + } + #[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."] + pub fn block_hash_count( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "BlockHashCount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The weight of runtime database operations the runtime can invoke."] + pub fn db_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_weights::RuntimeDbWeight, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "DbWeight", + [ + 124u8, 162u8, 190u8, 149u8, 49u8, 177u8, 162u8, 231u8, 62u8, + 167u8, 199u8, 181u8, 43u8, 232u8, 185u8, 116u8, 195u8, 51u8, + 233u8, 223u8, 20u8, 129u8, 246u8, 13u8, 65u8, 180u8, 64u8, + 9u8, 157u8, 59u8, 245u8, 118u8, + ], + ) + } + #[doc = " Get the chain's current version."] + pub fn version( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_version::RuntimeVersion, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "Version", + [ + 93u8, 98u8, 57u8, 243u8, 229u8, 8u8, 234u8, 231u8, 72u8, + 230u8, 139u8, 47u8, 63u8, 181u8, 17u8, 2u8, 220u8, 231u8, + 104u8, 237u8, 185u8, 143u8, 165u8, 253u8, 188u8, 76u8, 147u8, + 12u8, 170u8, 26u8, 74u8, 200u8, + ], + ) + } + #[doc = " The designated SS58 prefix of this chain."] + #[doc = ""] + #[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"] + #[doc = " that the runtime should know about the prefix in order to make use of it as"] + #[doc = " an identifier of the chain."] + pub fn ss58_prefix( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u16>, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "SS58Prefix", + [ + 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, + 227u8, 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, + 184u8, 72u8, 169u8, 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, + 123u8, 128u8, 193u8, 29u8, 70u8, + ], + ) + } + } + } + } + pub mod utility { + 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 Batch { + pub calls: + ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AsDerivative { + pub index: ::core::primitive::u16, + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BatchAll { + pub calls: + ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DispatchAs { + pub as_origin: + ::std::boxed::Box, + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceBatch { + pub calls: + ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct WithWeight { + pub call: + ::std::boxed::Box, + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Send a batch of dispatch calls."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + #[doc = ""] + #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] + #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] + #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] + #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] + #[doc = "event is deposited."] + pub fn batch( + &self, + calls: ::std::vec::Vec< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "batch", + Batch { calls }, + [ + 62u8, 21u8, 225u8, 63u8, 112u8, 160u8, 217u8, 217u8, 210u8, + 224u8, 3u8, 39u8, 34u8, 100u8, 140u8, 66u8, 175u8, 240u8, + 123u8, 175u8, 145u8, 155u8, 143u8, 160u8, 74u8, 52u8, 226u8, + 159u8, 207u8, 227u8, 135u8, 127u8, + ], + ) + } + #[doc = "Send a call through an indexed pseudonym of the sender."] + #[doc = ""] + #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] + #[doc = "use the same filter as the origin of this call."] + #[doc = ""] + #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] + #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] + #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] + #[doc = "in the Multisig pallet instead."] + #[doc = ""] + #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + pub fn as_derivative( + &self, + index: ::core::primitive::u16, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "as_derivative", + AsDerivative { + index, + call: ::std::boxed::Box::new(call), + }, + [ + 6u8, 108u8, 208u8, 8u8, 24u8, 200u8, 7u8, 167u8, 176u8, + 182u8, 82u8, 0u8, 171u8, 106u8, 68u8, 88u8, 176u8, 160u8, + 173u8, 144u8, 165u8, 168u8, 48u8, 177u8, 162u8, 5u8, 30u8, + 161u8, 25u8, 55u8, 73u8, 204u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + pub fn batch_all( + &self, + calls: ::std::vec::Vec< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "batch_all", + BatchAll { calls }, + [ + 37u8, 115u8, 109u8, 58u8, 133u8, 96u8, 91u8, 125u8, 23u8, + 183u8, 213u8, 138u8, 3u8, 3u8, 64u8, 26u8, 183u8, 215u8, + 232u8, 60u8, 238u8, 65u8, 61u8, 40u8, 18u8, 148u8, 174u8, + 31u8, 140u8, 54u8, 65u8, 186u8, + ], + ) + } + #[doc = "Dispatches a function call with a provided origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as()."] + #[doc = "# "] + pub fn dispatch_as( + &self, + as_origin: runtime_types::kitchensink_runtime::OriginCaller, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "dispatch_as", + DispatchAs { + as_origin: ::std::boxed::Box::new(as_origin), + call: ::std::boxed::Box::new(call), + }, + [ + 166u8, 100u8, 2u8, 214u8, 121u8, 241u8, 188u8, 76u8, 89u8, + 173u8, 122u8, 143u8, 82u8, 213u8, 147u8, 143u8, 191u8, 188u8, + 107u8, 50u8, 153u8, 156u8, 176u8, 164u8, 65u8, 72u8, 144u8, + 225u8, 53u8, 163u8, 44u8, 27u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + pub fn force_batch( + &self, + calls: ::std::vec::Vec< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "force_batch", + ForceBatch { calls }, + [ + 99u8, 7u8, 38u8, 78u8, 208u8, 141u8, 220u8, 119u8, 251u8, + 140u8, 53u8, 194u8, 14u8, 247u8, 104u8, 44u8, 12u8, 67u8, + 251u8, 122u8, 123u8, 129u8, 254u8, 31u8, 162u8, 225u8, 56u8, + 231u8, 249u8, 117u8, 250u8, 116u8, + ], + ) + } + #[doc = "Dispatch a function call with a specified weight."] + #[doc = ""] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Root origin to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + pub fn with_weight( + &self, + call: runtime_types::kitchensink_runtime::RuntimeCall, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "with_weight", + WithWeight { + call: ::std::boxed::Box::new(call), + weight, + }, + [ + 143u8, 62u8, 94u8, 208u8, 234u8, 148u8, 151u8, 56u8, 81u8, + 45u8, 164u8, 244u8, 234u8, 14u8, 216u8, 252u8, 215u8, 66u8, + 150u8, 3u8, 198u8, 11u8, 57u8, 178u8, 136u8, 177u8, 21u8, + 173u8, 223u8, 66u8, 127u8, 169u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_utility::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] + #[doc = "well as the error."] + pub struct BatchInterrupted { + pub index: ::core::primitive::u32, + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for BatchInterrupted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchInterrupted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Batch of dispatches completed fully with no error."] + pub struct BatchCompleted; + impl ::subxt::events::StaticEvent for BatchCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompleted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Batch of dispatches completed but has errors."] + pub struct BatchCompletedWithErrors; + impl ::subxt::events::StaticEvent for BatchCompletedWithErrors { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompletedWithErrors"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A single item within a Batch of dispatches has completed with no error."] + pub struct ItemCompleted; + impl ::subxt::events::StaticEvent for ItemCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemCompleted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A single item within a Batch of dispatches has completed with error."] + pub struct ItemFailed { + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for ItemFailed { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A call was dispatched."] + pub struct DispatchedAs { + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for DispatchedAs { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "DispatchedAs"; + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The limit on the number of batched calls."] + pub fn batched_calls_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Utility", + "batched_calls_limit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + } + } + } + pub mod babe { + 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 ReportEquivocation { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ReportEquivocationUnsigned { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PlanConfigChange { + pub config: + runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Report authority equivocation/misbehavior. This method will verify"] + #[doc = "the equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence will"] + #[doc = "be reported."] + pub fn report_equivocation( + &self, + equivocation_proof : runtime_types :: sp_consensus_slots :: EquivocationProof < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 , runtime_types :: sp_runtime :: traits :: BlakeTwo256 > , runtime_types :: sp_consensus_babe :: app :: Public >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Babe", + "report_equivocation", + ReportEquivocation { + equivocation_proof: ::std::boxed::Box::new( + equivocation_proof, + ), + key_owner_proof, + }, + [ + 177u8, 237u8, 107u8, 138u8, 237u8, 233u8, 30u8, 195u8, 112u8, + 176u8, 185u8, 113u8, 157u8, 221u8, 134u8, 151u8, 62u8, 151u8, + 64u8, 164u8, 254u8, 112u8, 2u8, 94u8, 175u8, 79u8, 160u8, + 3u8, 72u8, 145u8, 244u8, 137u8, + ], + ) + } + #[doc = "Report authority equivocation/misbehavior. This method will verify"] + #[doc = "the equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence will"] + #[doc = "be reported."] + #[doc = "This extrinsic must be called unsigned and it is expected that only"] + #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] + #[doc = "if the block author is defined it will be defined as the equivocation"] + #[doc = "reporter."] + pub fn report_equivocation_unsigned( + &self, + equivocation_proof : runtime_types :: sp_consensus_slots :: EquivocationProof < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 , runtime_types :: sp_runtime :: traits :: BlakeTwo256 > , runtime_types :: sp_consensus_babe :: app :: Public >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Babe", + "report_equivocation_unsigned", + ReportEquivocationUnsigned { + equivocation_proof: ::std::boxed::Box::new( + equivocation_proof, + ), + key_owner_proof, + }, + [ + 56u8, 103u8, 238u8, 118u8, 61u8, 192u8, 222u8, 87u8, 254u8, + 24u8, 138u8, 219u8, 210u8, 85u8, 201u8, 147u8, 128u8, 49u8, + 199u8, 144u8, 46u8, 158u8, 163u8, 31u8, 101u8, 224u8, 72u8, + 98u8, 68u8, 120u8, 215u8, 19u8, + ], + ) + } + #[doc = "Plan an epoch config change. The epoch config change is recorded and will be enacted on"] + #[doc = "the next call to `enact_epoch_change`. The config will be activated one epoch after."] + #[doc = "Multiple calls to this method will replace any existing planned config change that had"] + #[doc = "not been enacted yet."] + pub fn plan_config_change( + &self, + config : runtime_types :: sp_consensus_babe :: digests :: NextConfigDescriptor, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Babe", + "plan_config_change", + PlanConfigChange { config }, + [ + 229u8, 157u8, 41u8, 58u8, 56u8, 4u8, 52u8, 107u8, 104u8, + 20u8, 42u8, 110u8, 1u8, 17u8, 45u8, 196u8, 30u8, 135u8, 63u8, + 46u8, 40u8, 137u8, 209u8, 37u8, 24u8, 108u8, 251u8, 189u8, + 77u8, 208u8, 74u8, 32u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Current epoch index."] + pub fn epoch_index( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "EpochIndex", + vec![], + [ + 51u8, 27u8, 91u8, 156u8, 118u8, 99u8, 46u8, 219u8, 190u8, + 147u8, 205u8, 23u8, 106u8, 169u8, 121u8, 218u8, 208u8, 235u8, + 135u8, 127u8, 243u8, 41u8, 55u8, 243u8, 235u8, 122u8, 57u8, + 86u8, 37u8, 90u8, 208u8, 71u8, + ], + ) + } + #[doc = " Current epoch authorities."] + pub fn authorities( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + ( + runtime_types::sp_consensus_babe::app::Public, + ::core::primitive::u64, + ), + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "Authorities", + vec![], + [ + 61u8, 8u8, 133u8, 111u8, 169u8, 120u8, 0u8, 213u8, 31u8, + 159u8, 204u8, 212u8, 18u8, 205u8, 93u8, 84u8, 140u8, 108u8, + 136u8, 209u8, 234u8, 107u8, 145u8, 9u8, 204u8, 224u8, 105u8, + 9u8, 238u8, 241u8, 65u8, 30u8, + ], + ) + } + #[doc = " The slot at which the first epoch actually started. This is 0"] + #[doc = " until the first block of the chain."] + pub fn genesis_slot( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_consensus_slots::Slot, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "GenesisSlot", + vec![], + [ + 234u8, 127u8, 243u8, 100u8, 124u8, 160u8, 66u8, 248u8, 48u8, + 218u8, 61u8, 52u8, 54u8, 142u8, 158u8, 77u8, 32u8, 63u8, + 156u8, 39u8, 94u8, 255u8, 192u8, 238u8, 170u8, 118u8, 58u8, + 42u8, 199u8, 61u8, 199u8, 77u8, + ], + ) + } + #[doc = " Current slot number."] + pub fn current_slot( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_consensus_slots::Slot, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "CurrentSlot", + vec![], + [ + 139u8, 237u8, 185u8, 137u8, 251u8, 179u8, 69u8, 167u8, 133u8, + 168u8, 204u8, 64u8, 178u8, 123u8, 92u8, 250u8, 119u8, 190u8, + 208u8, 178u8, 208u8, 176u8, 124u8, 187u8, 74u8, 165u8, 33u8, + 78u8, 161u8, 206u8, 8u8, 108u8, + ], + ) + } + #[doc = " The epoch randomness for the *current* epoch."] + #[doc = ""] + #[doc = " # Security"] + #[doc = ""] + #[doc = " This MUST NOT be used for gambling, as it can be influenced by a"] + #[doc = " malicious validator in the short term. It MAY be used in many"] + #[doc = " cryptographic protocols, however, so long as one remembers that this"] + #[doc = " (like everything else on-chain) it is public. For example, it can be"] + #[doc = " used where a number is needed that cannot have been chosen by an"] + #[doc = " adversary, for purposes such as public-coin zero-knowledge proofs."] + pub fn randomness( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<[::core::primitive::u8; 32usize]>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "Randomness", + vec![], + [ + 191u8, 197u8, 25u8, 164u8, 104u8, 248u8, 247u8, 193u8, 244u8, + 60u8, 181u8, 195u8, 248u8, 90u8, 41u8, 199u8, 82u8, 123u8, + 72u8, 126u8, 18u8, 17u8, 128u8, 215u8, 34u8, 251u8, 227u8, + 70u8, 166u8, 10u8, 104u8, 140u8, + ], + ) + } + #[doc = " Pending epoch configuration change that will be applied when the next epoch is enacted."] + pub fn pending_epoch_config_change( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "PendingEpochConfigChange", + vec![], + [ + 4u8, 201u8, 0u8, 204u8, 47u8, 246u8, 4u8, 185u8, 163u8, + 242u8, 242u8, 152u8, 29u8, 222u8, 71u8, 127u8, 49u8, 203u8, + 206u8, 180u8, 244u8, 50u8, 80u8, 49u8, 199u8, 97u8, 3u8, + 170u8, 156u8, 139u8, 106u8, 113u8, + ], + ) + } + #[doc = " Next epoch randomness."] + pub fn next_randomness( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<[::core::primitive::u8; 32usize]>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "NextRandomness", + vec![], + [ + 185u8, 98u8, 45u8, 109u8, 253u8, 38u8, 238u8, 221u8, 240u8, + 29u8, 38u8, 107u8, 118u8, 117u8, 131u8, 115u8, 21u8, 255u8, + 203u8, 81u8, 243u8, 251u8, 91u8, 60u8, 163u8, 202u8, 125u8, + 193u8, 173u8, 234u8, 166u8, 92u8, + ], + ) + } + #[doc = " Next epoch authorities."] + pub fn next_authorities( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + ( + runtime_types::sp_consensus_babe::app::Public, + ::core::primitive::u64, + ), + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "NextAuthorities", + vec![], + [ + 201u8, 193u8, 164u8, 18u8, 155u8, 253u8, 124u8, 163u8, 143u8, + 73u8, 212u8, 20u8, 241u8, 108u8, 110u8, 5u8, 171u8, 66u8, + 224u8, 208u8, 10u8, 65u8, 148u8, 164u8, 1u8, 12u8, 216u8, + 83u8, 20u8, 226u8, 254u8, 183u8, + ], + ) + } + #[doc = " Randomness under construction."] + #[doc = ""] + #[doc = " We make a trade-off between storage accesses and list length."] + #[doc = " We store the under-construction randomness in segments of up to"] + #[doc = " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`."] + #[doc = ""] + #[doc = " Once a segment reaches this length, we begin the next one."] + #[doc = " We reset all segments and return to `0` at the beginning of every"] + #[doc = " epoch."] + pub fn segment_index( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "SegmentIndex", + vec![], + [ + 128u8, 45u8, 87u8, 58u8, 174u8, 152u8, 241u8, 156u8, 56u8, + 192u8, 19u8, 45u8, 75u8, 160u8, 35u8, 253u8, 145u8, 11u8, + 178u8, 81u8, 114u8, 117u8, 112u8, 107u8, 163u8, 208u8, 240u8, + 151u8, 102u8, 176u8, 246u8, 5u8, + ], + ) + } + #[doc = " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay."] + pub fn under_construction( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + [::core::primitive::u8; 32usize], + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "UnderConstruction", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 180u8, 4u8, 149u8, 245u8, 231u8, 92u8, 99u8, 170u8, 254u8, + 172u8, 182u8, 3u8, 152u8, 156u8, 132u8, 196u8, 140u8, 97u8, + 7u8, 84u8, 220u8, 89u8, 195u8, 177u8, 235u8, 51u8, 98u8, + 144u8, 73u8, 238u8, 59u8, 164u8, + ], + ) + } + #[doc = " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay."] + pub fn under_construction_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + [::core::primitive::u8; 32usize], + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "UnderConstruction", + Vec::new(), + [ + 180u8, 4u8, 149u8, 245u8, 231u8, 92u8, 99u8, 170u8, 254u8, + 172u8, 182u8, 3u8, 152u8, 156u8, 132u8, 196u8, 140u8, 97u8, + 7u8, 84u8, 220u8, 89u8, 195u8, 177u8, 235u8, 51u8, 98u8, + 144u8, 73u8, 238u8, 59u8, 164u8, + ], + ) + } + #[doc = " Temporary value (cleared at block finalization) which is `Some`"] + #[doc = " if per-block initialization has already been called for current block."] + pub fn initialized( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::core::option::Option< + runtime_types::sp_consensus_babe::digests::PreDigest, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "Initialized", + vec![], + [ + 142u8, 101u8, 250u8, 113u8, 93u8, 201u8, 157u8, 18u8, 166u8, + 153u8, 59u8, 197u8, 107u8, 247u8, 124u8, 110u8, 202u8, 67u8, + 62u8, 57u8, 186u8, 134u8, 49u8, 182u8, 149u8, 44u8, 255u8, + 85u8, 87u8, 177u8, 149u8, 121u8, + ], + ) + } + #[doc = " This field should always be populated during block processing unless"] + #[doc = " secondary plain slots are enabled (which don't contain a VRF output)."] + #[doc = ""] + #[doc = " It is set in `on_finalize`, before it will contain the value from the last block."] + pub fn author_vrf_randomness( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::core::option::Option<[::core::primitive::u8; 32usize]>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "AuthorVrfRandomness", + vec![], + [ + 66u8, 235u8, 74u8, 252u8, 222u8, 135u8, 19u8, 28u8, 74u8, + 191u8, 170u8, 197u8, 207u8, 127u8, 77u8, 121u8, 138u8, 138u8, + 110u8, 187u8, 34u8, 14u8, 230u8, 43u8, 241u8, 241u8, 63u8, + 163u8, 53u8, 179u8, 250u8, 247u8, + ], + ) + } + #[doc = " The block numbers when the last and current epoch have started, respectively `N-1` and"] + #[doc = " `N`."] + #[doc = " NOTE: We track this is in order to annotate the block number when a given pool of"] + #[doc = " entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in"] + #[doc = " slots, which may be skipped, the block numbers may not line up with the slot numbers."] + pub fn epoch_start( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "EpochStart", + vec![], + [ + 196u8, 39u8, 241u8, 20u8, 150u8, 180u8, 136u8, 4u8, 195u8, + 205u8, 218u8, 10u8, 130u8, 131u8, 168u8, 243u8, 207u8, 249u8, + 58u8, 195u8, 177u8, 119u8, 110u8, 243u8, 241u8, 3u8, 245u8, + 56u8, 157u8, 5u8, 68u8, 60u8, + ], + ) + } + #[doc = " How late the current block is compared to its parent."] + #[doc = ""] + #[doc = " This entry is populated as part of block execution and is cleaned up"] + #[doc = " on block finalization. Querying this storage entry outside of block"] + #[doc = " execution context should always yield zero."] + pub fn lateness( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "Lateness", + vec![], + [ + 229u8, 230u8, 224u8, 89u8, 49u8, 213u8, 198u8, 236u8, 144u8, + 56u8, 193u8, 234u8, 62u8, 242u8, 191u8, 199u8, 105u8, 131u8, + 74u8, 63u8, 75u8, 1u8, 210u8, 49u8, 3u8, 128u8, 18u8, 77u8, + 219u8, 146u8, 60u8, 88u8, + ], + ) + } + #[doc = " The configuration for the current epoch. Should never be `None` as it is initialized in"] + #[doc = " genesis."] + pub fn epoch_config( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_consensus_babe::BabeEpochConfiguration, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "EpochConfig", + vec![], + [ + 41u8, 118u8, 141u8, 244u8, 72u8, 17u8, 125u8, 203u8, 43u8, + 153u8, 203u8, 119u8, 117u8, 223u8, 123u8, 133u8, 73u8, 235u8, + 130u8, 21u8, 160u8, 167u8, 16u8, 173u8, 177u8, 35u8, 117u8, + 97u8, 149u8, 49u8, 220u8, 24u8, + ], + ) + } + #[doc = " The configuration for the next epoch, `None` if the config will not change"] + #[doc = " (you can fallback to `EpochConfig` instead in that case)."] + pub fn next_epoch_config( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_consensus_babe::BabeEpochConfiguration, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Babe", + "NextEpochConfig", + vec![], + [ + 111u8, 182u8, 144u8, 180u8, 92u8, 146u8, 102u8, 249u8, 196u8, + 229u8, 226u8, 30u8, 25u8, 198u8, 133u8, 9u8, 136u8, 95u8, + 11u8, 151u8, 139u8, 156u8, 105u8, 228u8, 181u8, 12u8, 175u8, + 148u8, 174u8, 33u8, 233u8, 228u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The amount of time, in slots, that each epoch should last."] + #[doc = " NOTE: Currently it is not possible to change the epoch duration after"] + #[doc = " the chain has started. Attempting to do so will brick block production."] + pub fn epoch_duration( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Babe", + "EpochDuration", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, + 190u8, 146u8, 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, + 65u8, 18u8, 191u8, 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, + 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, + ], + ) + } + #[doc = " The expected average block time at which BABE should be creating"] + #[doc = " blocks. Since BABE is probabilistic it is not trivial to figure out"] + #[doc = " what the expected average block time should be based on the slot"] + #[doc = " duration and the security parameter `c` (where `1 - c` represents"] + #[doc = " the probability of a slot being empty)."] + pub fn expected_block_time( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Babe", + "ExpectedBlockTime", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, + 190u8, 146u8, 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, + 65u8, 18u8, 191u8, 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, + 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, + ], + ) + } + #[doc = " Max number of authorities allowed"] + pub fn max_authorities( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Babe", + "MaxAuthorities", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + } + } + } + pub mod timestamp { + 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 Set { + #[codec(compact)] + pub now: ::core::primitive::u64, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Set the current time."] + #[doc = ""] + #[doc = "This call should be invoked exactly once per block. It will panic at the finalization"] + #[doc = "phase, if this call hasn't been invoked by that time."] + #[doc = ""] + #[doc = "The timestamp should be greater than the previous one by the amount specified by"] + #[doc = "`MinimumPeriod`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Inherent`."] + #[doc = ""] + #[doc = "# "] + #[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)`."] + #[doc = "# "] + pub fn set( + &self, + now: ::core::primitive::u64, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Timestamp", + "set", + Set { now }, + [ + 6u8, 97u8, 172u8, 236u8, 118u8, 238u8, 228u8, 114u8, 15u8, + 115u8, 102u8, 85u8, 66u8, 151u8, 16u8, 33u8, 187u8, 17u8, + 166u8, 88u8, 127u8, 214u8, 182u8, 51u8, 168u8, 88u8, 43u8, + 101u8, 185u8, 8u8, 1u8, 28u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Current time for the current block."] + pub fn now( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Timestamp", + "Now", + vec![], + [ + 148u8, 53u8, 50u8, 54u8, 13u8, 161u8, 57u8, 150u8, 16u8, + 83u8, 144u8, 221u8, 59u8, 75u8, 158u8, 130u8, 39u8, 123u8, + 106u8, 134u8, 202u8, 185u8, 83u8, 85u8, 60u8, 41u8, 120u8, + 96u8, 210u8, 34u8, 2u8, 250u8, + ], + ) + } + #[doc = " Did the timestamp get updated in this block?"] + pub fn did_update( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Timestamp", + "DidUpdate", + vec![], + [ + 70u8, 13u8, 92u8, 186u8, 80u8, 151u8, 167u8, 90u8, 158u8, + 232u8, 175u8, 13u8, 103u8, 135u8, 2u8, 78u8, 16u8, 6u8, 39u8, + 158u8, 167u8, 85u8, 27u8, 47u8, 122u8, 73u8, 127u8, 26u8, + 35u8, 168u8, 72u8, 204u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum period between blocks. Beware that this is different to the *expected*"] + #[doc = " period that the block production apparatus provides. Your chosen consensus system will"] + #[doc = " generally work with this to determine a sensible block time. e.g. For Aura, it will be"] + #[doc = " double this period on default settings."] + pub fn minimum_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Timestamp", + "MinimumPeriod", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, + 190u8, 146u8, 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, + 65u8, 18u8, 191u8, 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, + 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, + ], + ) + } + } + } + } + pub mod authorship { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Author of current block."] + pub fn author( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Authorship", + "Author", + vec![], + [ + 149u8, 42u8, 33u8, 147u8, 190u8, 207u8, 174u8, 227u8, 190u8, + 110u8, 25u8, 131u8, 5u8, 167u8, 237u8, 188u8, 188u8, 33u8, + 177u8, 126u8, 181u8, 49u8, 126u8, 118u8, 46u8, 128u8, 154u8, + 95u8, 15u8, 91u8, 103u8, 113u8, + ], + ) + } + } + } + } + pub mod indices { + 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 :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Claim { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Transfer { + pub new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Free { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceTransfer { + pub new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub index: ::core::primitive::u32, + pub freeze: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Freeze { + pub index: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- One reserve operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight: 1 Read/Write (Accounts)"] + #[doc = "# "] + pub fn claim( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Indices", + "claim", + Claim { index }, + [ + 5u8, 24u8, 11u8, 173u8, 226u8, 170u8, 0u8, 30u8, 193u8, + 102u8, 214u8, 59u8, 252u8, 32u8, 221u8, 88u8, 196u8, 189u8, + 244u8, 18u8, 233u8, 37u8, 228u8, 248u8, 76u8, 175u8, 212u8, + 233u8, 238u8, 203u8, 162u8, 68u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- One transfer operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Indices Accounts, System Account (recipient)"] + #[doc = " - Writes: Indices Accounts, System Account (recipient)"] + #[doc = "# "] + pub fn transfer( + &self, + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Indices", + "transfer", + Transfer { new, index }, + [ + 1u8, 83u8, 197u8, 184u8, 8u8, 96u8, 48u8, 146u8, 116u8, 76u8, + 229u8, 115u8, 226u8, 215u8, 41u8, 154u8, 27u8, 34u8, 205u8, + 188u8, 10u8, 169u8, 203u8, 39u8, 2u8, 236u8, 181u8, 162u8, + 115u8, 254u8, 42u8, 28u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- One reserve operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight: 1 Read/Write (Accounts)"] + #[doc = "# "] + pub fn free( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Indices", + "free", + Free { index }, + [ + 133u8, 202u8, 225u8, 127u8, 69u8, 145u8, 43u8, 13u8, 160u8, + 248u8, 215u8, 243u8, 232u8, 166u8, 74u8, 203u8, 235u8, 138u8, + 255u8, 27u8, 163u8, 71u8, 254u8, 217u8, 6u8, 208u8, 202u8, + 204u8, 238u8, 70u8, 126u8, 252u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- Up to one reserve operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Indices Accounts, System Account (original owner)"] + #[doc = " - Writes: Indices Accounts, System Account (original owner)"] + #[doc = "# "] + pub fn force_transfer( + &self, + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + index: ::core::primitive::u32, + freeze: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Indices", + "force_transfer", + ForceTransfer { new, index, freeze }, + [ + 126u8, 8u8, 145u8, 175u8, 177u8, 153u8, 131u8, 123u8, 184u8, + 53u8, 72u8, 207u8, 21u8, 140u8, 87u8, 181u8, 172u8, 64u8, + 37u8, 165u8, 121u8, 111u8, 173u8, 224u8, 181u8, 79u8, 76u8, + 134u8, 93u8, 169u8, 65u8, 131u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- Up to one slash operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight: 1 Read/Write (Accounts)"] + #[doc = "# "] + pub fn freeze( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Indices", + "freeze", + Freeze { index }, + [ + 121u8, 45u8, 118u8, 2u8, 72u8, 48u8, 38u8, 7u8, 234u8, 204u8, + 68u8, 20u8, 76u8, 251u8, 205u8, 246u8, 149u8, 31u8, 168u8, + 186u8, 208u8, 90u8, 40u8, 47u8, 100u8, 228u8, 188u8, 33u8, + 79u8, 220u8, 105u8, 209u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_indices::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A account index was assigned."] + pub struct IndexAssigned { + pub who: ::subxt::utils::AccountId32, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for IndexAssigned { + const PALLET: &'static str = "Indices"; + const EVENT: &'static str = "IndexAssigned"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A account index has been freed up (unassigned)."] + pub struct IndexFreed { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for IndexFreed { + const PALLET: &'static str = "Indices"; + const EVENT: &'static str = "IndexFreed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A account index has been frozen to its current account ID."] + pub struct IndexFrozen { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for IndexFrozen { + const PALLET: &'static str = "Indices"; + const EVENT: &'static str = "IndexFrozen"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The lookup from index to account."] + pub fn accounts( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::bool, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Indices", + "Accounts", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 211u8, 169u8, 54u8, 254u8, 88u8, 57u8, 22u8, 223u8, 108u8, + 27u8, 38u8, 9u8, 202u8, 209u8, 111u8, 209u8, 144u8, 13u8, + 211u8, 114u8, 239u8, 127u8, 75u8, 166u8, 234u8, 222u8, 225u8, + 35u8, 160u8, 163u8, 112u8, 242u8, + ], + ) + } + #[doc = " The lookup from index to account."] + pub fn accounts_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::bool, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Indices", + "Accounts", + Vec::new(), + [ + 211u8, 169u8, 54u8, 254u8, 88u8, 57u8, 22u8, 223u8, 108u8, + 27u8, 38u8, 9u8, 202u8, 209u8, 111u8, 209u8, 144u8, 13u8, + 211u8, 114u8, 239u8, 127u8, 75u8, 166u8, 234u8, 222u8, 225u8, + 35u8, 160u8, 163u8, 112u8, 242u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The deposit needed for reserving an index."] + pub fn deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Indices", + "Deposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod 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 = "# "] + #[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."] + #[doc = "---------------------------------"] + #[doc = "- Origin account is already in memory, so no DB operations for them."] + #[doc = "# "] + 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 = "# "] + #[doc = "- Same as transfer, but additional read and write because the source account is not"] + #[doc = " assumed to be in the overlay."] + #[doc = "# "] + 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). # "] + #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] + #[doc = " #"] + 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::sp_core::bounded::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::sp_core::bounded::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::sp_core::bounded::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::sp_core::bounded::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 transaction_payment { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_transaction_payment::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who`."] + pub struct TransactionFeePaid { + pub who: ::subxt::utils::AccountId32, + pub actual_fee: ::core::primitive::u128, + pub tip: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TransactionFeePaid { + const PALLET: &'static str = "TransactionPayment"; + const EVENT: &'static str = "TransactionFeePaid"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn next_fee_multiplier( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::fixed_point::FixedU128, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionPayment", + "NextFeeMultiplier", + vec![], + [ + 210u8, 0u8, 206u8, 165u8, 183u8, 10u8, 206u8, 52u8, 14u8, + 90u8, 218u8, 197u8, 189u8, 125u8, 113u8, 216u8, 52u8, 161u8, + 45u8, 24u8, 245u8, 237u8, 121u8, 41u8, 106u8, 29u8, 45u8, + 129u8, 250u8, 203u8, 206u8, 180u8, + ], + ) + } + pub fn storage_version( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_transaction_payment::Releases, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionPayment", + "StorageVersion", + vec![], + [ + 219u8, 243u8, 82u8, 176u8, 65u8, 5u8, 132u8, 114u8, 8u8, + 82u8, 176u8, 200u8, 97u8, 150u8, 177u8, 164u8, 166u8, 11u8, + 34u8, 12u8, 12u8, 198u8, 58u8, 191u8, 186u8, 221u8, 221u8, + 119u8, 181u8, 253u8, 154u8, 228u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their"] + #[doc = " `priority`"] + #[doc = ""] + #[doc = " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later"] + #[doc = " added to a tip component in regular `priority` calculations."] + #[doc = " It means that a `Normal` transaction can front-run a similarly-sized `Operational`"] + #[doc = " extrinsic (with no tip), by including a tip value greater than the virtual tip."] + #[doc = ""] + #[doc = " ```rust,ignore"] + #[doc = " // For `Normal`"] + #[doc = " let priority = priority_calc(tip);"] + #[doc = ""] + #[doc = " // For `Operational`"] + #[doc = " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;"] + #[doc = " let priority = priority_calc(tip + virtual_tip);"] + #[doc = " ```"] + #[doc = ""] + #[doc = " Note that since we use `final_fee` the multiplier applies also to the regular `tip`"] + #[doc = " sent with the transaction. So, not only does the transaction get a priority bump based"] + #[doc = " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`"] + #[doc = " transactions."] + pub fn operational_fee_multiplier( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u8>, + > { + ::subxt::constants::StaticConstantAddress::new( + "TransactionPayment", + "OperationalFeeMultiplier", + [ + 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, + 110u8, 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, + 185u8, 66u8, 226u8, 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, + 114u8, 237u8, 228u8, 183u8, 165u8, + ], + ) + } + } + } + } + pub mod asset_tx_payment { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_asset_tx_payment::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who` in an asset `asset_id`."] + pub struct AssetTxFeePaid { + pub who: ::subxt::utils::AccountId32, + pub actual_fee: ::core::primitive::u128, + pub tip: ::core::primitive::u128, + pub asset_id: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::events::StaticEvent for AssetTxFeePaid { + const PALLET: &'static str = "AssetTxPayment"; + const EVENT: &'static str = "AssetTxFeePaid"; + } + } + } + pub mod election_provider_multi_phase { + 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 SubmitUnsigned { pub raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: kitchensink_runtime :: NposSolution16 > > , pub witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetMinimumUntrustedScore { + pub maybe_next_score: ::core::option::Option< + runtime_types::sp_npos_elections::ElectionScore, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetEmergencyElectionResult { + pub supports: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::sp_npos_elections::Support< + ::subxt::utils::AccountId32, + >, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Submit { + pub raw_solution: ::std::boxed::Box< + runtime_types::pallet_election_provider_multi_phase::RawSolution< + runtime_types::kitchensink_runtime::NposSolution16, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct GovernanceFallback { + pub maybe_max_voters: ::core::option::Option<::core::primitive::u32>, + pub maybe_max_targets: ::core::option::Option<::core::primitive::u32>, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Submit a solution for the unsigned phase."] + #[doc = ""] + #[doc = "The dispatch origin fo this call must be __none__."] + #[doc = ""] + #[doc = "This submission is checked on the fly. Moreover, this unsigned solution is only"] + #[doc = "validated when submitted to the pool from the **local** node. Effectively, this means"] + #[doc = "that only active validators can submit this transaction when authoring a block (similar"] + #[doc = "to an inherent)."] + #[doc = ""] + #[doc = "To prevent any incorrect solution (and thus wasted time/weight), this transaction will"] + #[doc = "panic if the solution submitted by the validator is invalid in any way, effectively"] + #[doc = "putting their authoring reward at risk."] + #[doc = ""] + #[doc = "No deposit or reward is associated with this submission."] + pub fn submit_unsigned( + &self, + raw_solution : runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: kitchensink_runtime :: NposSolution16 >, + witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ElectionProviderMultiPhase", + "submit_unsigned", + SubmitUnsigned { + raw_solution: ::std::boxed::Box::new(raw_solution), + witness, + }, + [ + 100u8, 240u8, 31u8, 34u8, 93u8, 98u8, 93u8, 57u8, 41u8, + 197u8, 97u8, 58u8, 242u8, 10u8, 69u8, 250u8, 185u8, 169u8, + 21u8, 8u8, 202u8, 61u8, 36u8, 25u8, 4u8, 148u8, 82u8, 56u8, + 242u8, 18u8, 27u8, 219u8, + ], + ) + } + #[doc = "Set a new value for `MinimumUntrustedScore`."] + #[doc = ""] + #[doc = "Dispatch origin must be aligned with `T::ForceOrigin`."] + #[doc = ""] + #[doc = "This check can be turned off by setting the value to `None`."] + pub fn set_minimum_untrusted_score( + &self, + maybe_next_score: ::core::option::Option< + runtime_types::sp_npos_elections::ElectionScore, + >, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "ElectionProviderMultiPhase", + "set_minimum_untrusted_score", + SetMinimumUntrustedScore { maybe_next_score }, + [ + 63u8, 101u8, 105u8, 146u8, 133u8, 162u8, 149u8, 112u8, 150u8, + 219u8, 183u8, 213u8, 234u8, 211u8, 144u8, 74u8, 106u8, 15u8, + 62u8, 196u8, 247u8, 49u8, 20u8, 48u8, 3u8, 105u8, 85u8, 46u8, + 76u8, 4u8, 67u8, 81u8, + ], + ) + } + #[doc = "Set a solution in the queue, to be handed out to the client of this pallet in the next"] + #[doc = "call to `ElectionProvider::elect`."] + #[doc = ""] + #[doc = "This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`."] + #[doc = ""] + #[doc = "The solution is not checked for any feasibility and is assumed to be trustworthy, as any"] + #[doc = "feasibility check itself can in principle cause the election process to fail (due to"] + #[doc = "memory/weight constrains)."] + pub fn set_emergency_election_result( + &self, + supports: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::sp_npos_elections::Support< + ::subxt::utils::AccountId32, + >, + )>, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "ElectionProviderMultiPhase", + "set_emergency_election_result", + SetEmergencyElectionResult { supports }, + [ + 115u8, 255u8, 205u8, 58u8, 153u8, 1u8, 246u8, 8u8, 225u8, + 36u8, 66u8, 144u8, 250u8, 145u8, 70u8, 76u8, 54u8, 63u8, + 251u8, 51u8, 214u8, 204u8, 55u8, 112u8, 46u8, 228u8, 255u8, + 250u8, 151u8, 5u8, 44u8, 133u8, + ], + ) + } + #[doc = "Submit a solution for the signed phase."] + #[doc = ""] + #[doc = "The dispatch origin fo this call must be __signed__."] + #[doc = ""] + #[doc = "The solution is potentially queued, based on the claimed score and processed at the end"] + #[doc = "of the signed phase."] + #[doc = ""] + #[doc = "A deposit is reserved and recorded for the solution. Based on the outcome, the solution"] + #[doc = "might be rewarded, slashed, or get all or a part of the deposit back."] + pub fn submit( + &self, + raw_solution : runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: kitchensink_runtime :: NposSolution16 >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ElectionProviderMultiPhase", + "submit", + Submit { + raw_solution: ::std::boxed::Box::new(raw_solution), + }, + [ + 220u8, 167u8, 40u8, 47u8, 253u8, 244u8, 72u8, 124u8, 30u8, + 123u8, 127u8, 227u8, 2u8, 66u8, 119u8, 64u8, 211u8, 200u8, + 210u8, 98u8, 248u8, 132u8, 68u8, 25u8, 34u8, 182u8, 230u8, + 225u8, 241u8, 58u8, 193u8, 134u8, + ], + ) + } + #[doc = "Trigger the governance fallback."] + #[doc = ""] + #[doc = "This can only be called when [`Phase::Emergency`] is enabled, as an alternative to"] + #[doc = "calling [`Call::set_emergency_election_result`]."] + pub fn governance_fallback( + &self, + maybe_max_voters: ::core::option::Option<::core::primitive::u32>, + maybe_max_targets: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ElectionProviderMultiPhase", + "governance_fallback", + GovernanceFallback { + maybe_max_voters, + maybe_max_targets, + }, + [ + 206u8, 247u8, 76u8, 85u8, 7u8, 24u8, 231u8, 226u8, 192u8, + 143u8, 43u8, 67u8, 91u8, 202u8, 88u8, 176u8, 130u8, 1u8, + 83u8, 229u8, 227u8, 200u8, 179u8, 4u8, 113u8, 60u8, 99u8, + 190u8, 53u8, 226u8, 142u8, 182u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = + runtime_types::pallet_election_provider_multi_phase::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A solution was stored with the given compute."] + #[doc = ""] + #[doc = "The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,"] + #[doc = "the stored solution was submited in the signed phase by a miner with the `AccountId`."] + #[doc = "Otherwise, the solution was stored either during the unsigned phase or by"] + #[doc = "`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make"] + #[doc = "room for this one."] + pub struct SolutionStored { + pub compute: + runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + pub origin: ::core::option::Option<::subxt::utils::AccountId32>, + pub prev_ejected: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for SolutionStored { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "SolutionStored"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The election has been finalized, with the given computation and score."] + pub struct ElectionFinalized { + pub compute: + runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + pub score: runtime_types::sp_npos_elections::ElectionScore, + } + impl ::subxt::events::StaticEvent for ElectionFinalized { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "ElectionFinalized"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An election failed."] + #[doc = ""] + #[doc = "Not much can be said about which computes failed in the process."] + pub struct ElectionFailed; + impl ::subxt::events::StaticEvent for ElectionFailed { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "ElectionFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has been rewarded for their signed submission being finalized."] + pub struct Rewarded { + pub account: ::subxt::utils::AccountId32, + pub value: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rewarded { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "Rewarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has been slashed for submitting an invalid signed submission."] + pub struct Slashed { + pub account: ::subxt::utils::AccountId32, + pub value: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "There was a phase transition in a given round."] + pub struct PhaseTransitioned { + pub from: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + pub to: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + pub round: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for PhaseTransitioned { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "PhaseTransitioned"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Internal counter for the number of rounds."] + #[doc = ""] + #[doc = " This is useful for de-duplication of transactions submitted to the pool, and general"] + #[doc = " diagnostics of the pallet."] + #[doc = ""] + #[doc = " This is merely incremented once per every time that an upstream `elect` is called."] + pub fn round( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "Round", + vec![], + [ + 16u8, 49u8, 176u8, 52u8, 202u8, 111u8, 120u8, 8u8, 217u8, + 96u8, 35u8, 14u8, 233u8, 130u8, 47u8, 98u8, 34u8, 44u8, + 166u8, 188u8, 199u8, 210u8, 21u8, 19u8, 70u8, 96u8, 139u8, + 8u8, 53u8, 82u8, 165u8, 239u8, + ], + ) + } + #[doc = " Current phase."] + pub fn current_phase( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "CurrentPhase", + vec![], + [ + 236u8, 101u8, 8u8, 52u8, 68u8, 240u8, 74u8, 159u8, 181u8, + 53u8, 153u8, 101u8, 228u8, 81u8, 96u8, 161u8, 34u8, 67u8, + 35u8, 28u8, 121u8, 44u8, 229u8, 45u8, 196u8, 87u8, 73u8, + 125u8, 216u8, 245u8, 255u8, 15u8, + ], + ) + } + #[doc = " Current best solution, signed or unsigned, queued to be returned upon `elect`."] pub fn queued_solution (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_election_provider_multi_phase :: ReadySolution > , :: subxt :: storage :: address :: Yes , () , () >{ + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "QueuedSolution", + vec![], + [ + 11u8, 152u8, 13u8, 167u8, 204u8, 209u8, 171u8, 249u8, 59u8, + 250u8, 58u8, 152u8, 164u8, 121u8, 146u8, 112u8, 241u8, 16u8, + 159u8, 251u8, 209u8, 251u8, 114u8, 29u8, 188u8, 30u8, 84u8, + 71u8, 136u8, 173u8, 145u8, 236u8, + ], + ) + } + #[doc = " Snapshot data of the round."] + #[doc = ""] + #[doc = " This is created at the beginning of the signed phase and cleared upon calling `elect`."] pub fn snapshot (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_election_provider_multi_phase :: RoundSnapshot > , :: subxt :: storage :: address :: Yes , () , () >{ + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "Snapshot", + vec![], + [ + 239u8, 56u8, 191u8, 77u8, 150u8, 224u8, 248u8, 88u8, 132u8, + 224u8, 164u8, 83u8, 253u8, 36u8, 46u8, 156u8, 72u8, 152u8, + 36u8, 206u8, 72u8, 27u8, 226u8, 87u8, 146u8, 220u8, 93u8, + 178u8, 26u8, 115u8, 232u8, 71u8, + ], + ) + } + #[doc = " Desired number of targets to elect for this round."] + #[doc = ""] + #[doc = " Only exists when [`Snapshot`] is present."] + pub fn desired_targets( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "DesiredTargets", + vec![], + [ + 16u8, 247u8, 4u8, 181u8, 93u8, 79u8, 12u8, 212u8, 146u8, + 167u8, 80u8, 58u8, 118u8, 52u8, 68u8, 87u8, 90u8, 140u8, + 31u8, 210u8, 2u8, 116u8, 220u8, 231u8, 115u8, 112u8, 118u8, + 118u8, 68u8, 34u8, 151u8, 165u8, + ], + ) + } + #[doc = " The metadata of the [`RoundSnapshot`]"] + #[doc = ""] + #[doc = " Only exists when [`Snapshot`] is present."] pub fn snapshot_metadata (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize > , :: subxt :: storage :: address :: Yes , () , () >{ + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "SnapshotMetadata", + vec![], + [ + 135u8, 122u8, 60u8, 75u8, 194u8, 240u8, 187u8, 96u8, 240u8, + 203u8, 192u8, 22u8, 117u8, 148u8, 118u8, 24u8, 240u8, 213u8, + 94u8, 22u8, 194u8, 47u8, 181u8, 245u8, 77u8, 149u8, 11u8, + 251u8, 117u8, 220u8, 205u8, 78u8, + ], + ) + } + #[doc = " The next index to be assigned to an incoming signed submission."] + #[doc = ""] + #[doc = " Every accepted submission is assigned a unique index; that index is bound to that particular"] + #[doc = " submission for the duration of the election. On election finalization, the next index is"] + #[doc = " reset to 0."] + #[doc = ""] + #[doc = " We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past its"] + #[doc = " capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,"] + #[doc = " because iteration is slow. Instead, we store the value here."] + pub fn signed_submission_next_index( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "SignedSubmissionNextIndex", + vec![], + [ + 242u8, 11u8, 157u8, 105u8, 96u8, 7u8, 31u8, 20u8, 51u8, + 141u8, 182u8, 180u8, 13u8, 172u8, 155u8, 59u8, 42u8, 238u8, + 115u8, 8u8, 6u8, 137u8, 45u8, 2u8, 123u8, 187u8, 53u8, 215u8, + 19u8, 129u8, 54u8, 22u8, + ], + ) + } + #[doc = " A sorted, bounded vector of `(score, block_number, index)`, where each `index` points to a"] + #[doc = " value in `SignedSubmissions`."] + #[doc = ""] + #[doc = " We never need to process more than a single signed submission at a time. Signed submissions"] + #[doc = " can be quite large, so we're willing to pay the cost of multiple database accesses to access"] + #[doc = " them one at a time instead of reading and decoding all of them at once."] + pub fn signed_submission_indices( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + runtime_types::sp_npos_elections::ElectionScore, + ::core::primitive::u32, + ::core::primitive::u32, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "SignedSubmissionIndices", + vec![], + [ + 228u8, 166u8, 94u8, 248u8, 71u8, 26u8, 125u8, 81u8, 32u8, + 22u8, 46u8, 185u8, 209u8, 123u8, 46u8, 17u8, 152u8, 149u8, + 222u8, 125u8, 112u8, 230u8, 29u8, 177u8, 162u8, 214u8, 66u8, + 38u8, 170u8, 121u8, 129u8, 100u8, + ], + ) + } + #[doc = " Unchecked, signed solutions."] + #[doc = ""] + #[doc = " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while"] + #[doc = " allowing us to keep only a single one in memory at a time."] + #[doc = ""] + #[doc = " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or"] + #[doc = " affect; we shouldn't need a cryptographically secure hasher."] pub fn signed_submissions_map (& self , _0 : impl :: std :: borrow :: Borrow < :: core :: primitive :: u32 > ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_election_provider_multi_phase :: signed :: SignedSubmission < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , runtime_types :: kitchensink_runtime :: NposSolution16 > > , :: subxt :: storage :: address :: Yes , () , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "SignedSubmissionsMap", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 84u8, 65u8, 205u8, 191u8, 143u8, 246u8, 239u8, 27u8, 243u8, + 54u8, 250u8, 8u8, 125u8, 32u8, 241u8, 141u8, 210u8, 225u8, + 56u8, 101u8, 241u8, 52u8, 157u8, 29u8, 13u8, 155u8, 73u8, + 132u8, 118u8, 53u8, 2u8, 135u8, + ], + ) + } + #[doc = " Unchecked, signed solutions."] + #[doc = ""] + #[doc = " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while"] + #[doc = " allowing us to keep only a single one in memory at a time."] + #[doc = ""] + #[doc = " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or"] + #[doc = " affect; we shouldn't need a cryptographically secure hasher."] pub fn signed_submissions_map_root (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_election_provider_multi_phase :: signed :: SignedSubmission < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , runtime_types :: kitchensink_runtime :: NposSolution16 > > , () , () , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "SignedSubmissionsMap", + Vec::new(), + [ + 84u8, 65u8, 205u8, 191u8, 143u8, 246u8, 239u8, 27u8, 243u8, + 54u8, 250u8, 8u8, 125u8, 32u8, 241u8, 141u8, 210u8, 225u8, + 56u8, 101u8, 241u8, 52u8, 157u8, 29u8, 13u8, 155u8, 73u8, + 132u8, 118u8, 53u8, 2u8, 135u8, + ], + ) + } + #[doc = " The minimum score that each 'untrusted' solution must attain in order to be considered"] + #[doc = " feasible."] + #[doc = ""] + #[doc = " Can be set via `set_minimum_untrusted_score`."] + pub fn minimum_untrusted_score( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_npos_elections::ElectionScore, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ElectionProviderMultiPhase", + "MinimumUntrustedScore", + vec![], + [ + 77u8, 235u8, 181u8, 45u8, 230u8, 12u8, 0u8, 179u8, 152u8, + 38u8, 74u8, 199u8, 47u8, 84u8, 85u8, 55u8, 171u8, 226u8, + 217u8, 125u8, 17u8, 194u8, 95u8, 157u8, 73u8, 245u8, 75u8, + 130u8, 248u8, 7u8, 53u8, 226u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Duration of the unsigned phase."] + pub fn unsigned_phase( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "UnsignedPhase", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Duration of the signed phase."] + pub fn signed_phase( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "SignedPhase", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The minimum amount of improvement to the solution score that defines a solution as"] + #[doc = " \"better\" in the Signed phase."] + pub fn better_signed_threshold( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "BetterSignedThreshold", + [ + 225u8, 236u8, 95u8, 157u8, 90u8, 94u8, 106u8, 192u8, 254u8, + 19u8, 87u8, 80u8, 16u8, 62u8, 42u8, 204u8, 136u8, 106u8, + 225u8, 53u8, 212u8, 52u8, 177u8, 79u8, 4u8, 116u8, 201u8, + 104u8, 222u8, 75u8, 86u8, 227u8, + ], + ) + } + #[doc = " The minimum amount of improvement to the solution score that defines a solution as"] + #[doc = " \"better\" in the Unsigned phase."] + pub fn better_unsigned_threshold( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "BetterUnsignedThreshold", + [ + 225u8, 236u8, 95u8, 157u8, 90u8, 94u8, 106u8, 192u8, 254u8, + 19u8, 87u8, 80u8, 16u8, 62u8, 42u8, 204u8, 136u8, 106u8, + 225u8, 53u8, 212u8, 52u8, 177u8, 79u8, 4u8, 116u8, 201u8, + 104u8, 222u8, 75u8, 86u8, 227u8, + ], + ) + } + #[doc = " The repeat threshold of the offchain worker."] + #[doc = ""] + #[doc = " For example, if it is 5, that means that at least 5 blocks will elapse between attempts"] + #[doc = " to submit the worker's solution."] + pub fn offchain_repeat( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "OffchainRepeat", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The priority of the unsigned transaction submitted in the unsigned-phase"] + pub fn miner_tx_priority( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "MinerTxPriority", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, + 190u8, 146u8, 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, + 65u8, 18u8, 191u8, 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, + 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, + ], + ) + } + #[doc = " Maximum number of signed submissions that can be queued."] + #[doc = ""] + #[doc = " It is best to avoid adjusting this during an election, as it impacts downstream data"] + #[doc = " structures. In particular, `SignedSubmissionIndices` is bounded on this value. If you"] + #[doc = " update this value during an election, you _must_ ensure that"] + #[doc = " `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,"] + #[doc = " attempts to submit new solutions may cause a runtime panic."] + pub fn signed_max_submissions( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "SignedMaxSubmissions", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Maximum weight of a signed solution."] + #[doc = ""] + #[doc = " If [`Config::MinerConfig`] is being implemented to submit signed solutions (outside of"] + #[doc = " this pallet), then [`MinerConfig::solution_weight`] is used to compare against"] + #[doc = " this value."] + pub fn signed_max_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_weights::weight_v2::Weight, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "SignedMaxWeight", + [ + 206u8, 61u8, 253u8, 247u8, 163u8, 40u8, 161u8, 52u8, 134u8, + 140u8, 206u8, 83u8, 44u8, 166u8, 226u8, 115u8, 181u8, 14u8, + 227u8, 130u8, 210u8, 32u8, 85u8, 29u8, 230u8, 97u8, 130u8, + 165u8, 147u8, 134u8, 106u8, 76u8, + ], + ) + } + #[doc = " The maximum amount of unchecked solutions to refund the call fee for."] + pub fn signed_max_refunds( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "SignedMaxRefunds", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Base reward for a signed solution"] + pub fn signed_reward_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "SignedRewardBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Base deposit for a signed solution."] + pub fn signed_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "SignedDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Per-byte deposit for a signed solution."] + pub fn signed_deposit_byte( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "SignedDepositByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Per-weight deposit for a signed solution."] + pub fn signed_deposit_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "SignedDepositWeight", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum number of electing voters to put in the snapshot. At the moment, snapshots"] + #[doc = " are only over a single block, but once multi-block elections are introduced they will"] + #[doc = " take place over multiple blocks."] + pub fn max_electing_voters( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "MaxElectingVoters", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum number of electable targets to put in the snapshot."] + pub fn max_electable_targets( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u16>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "MaxElectableTargets", + [ + 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, + 227u8, 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, + 184u8, 72u8, 169u8, 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, + 123u8, 128u8, 193u8, 29u8, 70u8, + ], + ) + } + #[doc = " The maximum number of winners that can be elected by this `ElectionProvider`"] + #[doc = " implementation."] + #[doc = ""] + #[doc = " Note: This must always be greater or equal to `T::DataProvider::desired_targets()`."] + pub fn max_winners( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "MaxWinners", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + pub fn miner_max_length( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "MinerMaxLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + pub fn miner_max_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_weights::weight_v2::Weight, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "MinerMaxWeight", + [ + 206u8, 61u8, 253u8, 247u8, 163u8, 40u8, 161u8, 52u8, 134u8, + 140u8, 206u8, 83u8, 44u8, 166u8, 226u8, 115u8, 181u8, 14u8, + 227u8, 130u8, 210u8, 32u8, 85u8, 29u8, 230u8, 97u8, 130u8, + 165u8, 147u8, 134u8, 106u8, 76u8, + ], + ) + } + pub fn miner_max_votes_per_voter( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ElectionProviderMultiPhase", + "MinerMaxVotesPerVoter", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + } + } + } + pub mod staking { + 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 Bond { + pub controller: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + pub payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BondExtra { + #[codec(compact)] + pub max_additional: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Unbond { + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct WithdrawUnbonded { + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Validate { + pub prefs: runtime_types::pallet_staking::ValidatorPrefs, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Nominate { + pub targets: ::std::vec::Vec< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Chill; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetPayee { + pub payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetController { + pub controller: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetValidatorCount { + #[codec(compact)] + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct IncreaseValidatorCount { + #[codec(compact)] + pub additional: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ScaleValidatorCount { + pub factor: runtime_types::sp_arithmetic::per_things::Percent, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceNoEras; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceNewEra; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetInvulnerables { + pub invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceUnstake { + pub stash: ::subxt::utils::AccountId32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceNewEraAlways; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelDeferredSlash { + pub era: ::core::primitive::u32, + pub slash_indices: ::std::vec::Vec<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PayoutStakers { + pub validator_stash: ::subxt::utils::AccountId32, + pub era: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Rebond { + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ReapStash { + pub stash: ::subxt::utils::AccountId32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Kick { + pub who: ::std::vec::Vec< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetStakingConfigs { + pub min_nominator_bond: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + pub min_validator_bond: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + pub max_nominator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + pub max_validator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + pub chill_threshold: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Percent, + >, + pub min_commission: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ChillOther { + pub controller: ::subxt::utils::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceApplyMinCommission { + pub validator_stash: ::subxt::utils::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetMinCommission { + pub new: runtime_types::sp_arithmetic::per_things::Perbill, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] + #[doc = "be the account that controls it."] + #[doc = ""] + #[doc = "`value` must be more than the `minimum_balance` specified by `T::Currency`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."] + #[doc = ""] + #[doc = "Emits `Bonded`."] + #[doc = "# "] + #[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."] + #[doc = "------------------"] + #[doc = "# "] + pub fn bond( + &self, + controller: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "bond", + Bond { + controller, + value, + payee, + }, + [ + 140u8, 13u8, 108u8, 181u8, 212u8, 177u8, 190u8, 212u8, 163u8, + 40u8, 120u8, 232u8, 126u8, 213u8, 6u8, 181u8, 99u8, 252u8, + 58u8, 54u8, 139u8, 64u8, 67u8, 76u8, 53u8, 226u8, 11u8, + 133u8, 235u8, 159u8, 103u8, 210u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn bond_extra( + &self, + max_additional: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "bond_extra", + BondExtra { max_additional }, + [ + 60u8, 45u8, 82u8, 223u8, 113u8, 95u8, 0u8, 71u8, 59u8, 108u8, + 228u8, 9u8, 95u8, 210u8, 113u8, 106u8, 252u8, 15u8, 19u8, + 128u8, 11u8, 187u8, 4u8, 151u8, 103u8, 143u8, 24u8, 33u8, + 149u8, 82u8, 35u8, 192u8, + ], + ) + } + #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"] + #[doc = "period ends. If this leaves an amount actively bonded less than"] + #[doc = "T::Currency::minimum_balance(), then it is increased to the full amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "Once the unlock period is done, you can call `withdraw_unbonded` to actually move"] + #[doc = "the funds out of management ready for transfer."] + #[doc = ""] + #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] + #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"] + #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."] + #[doc = ""] + #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] + #[doc = "they should call `chill` first in order to free up their bonded funds."] + #[doc = ""] + #[doc = "Emits `Unbonded`."] + #[doc = ""] + #[doc = "See also [`Call::withdraw_unbonded`]."] + pub fn unbond( + &self, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "unbond", + Unbond { value }, + [ + 85u8, 62u8, 34u8, 127u8, 60u8, 241u8, 134u8, 60u8, 125u8, + 91u8, 31u8, 193u8, 50u8, 230u8, 237u8, 42u8, 114u8, 230u8, + 240u8, 146u8, 14u8, 109u8, 185u8, 151u8, 148u8, 44u8, 147u8, + 182u8, 192u8, 253u8, 51u8, 87u8, + ], + ) + } + #[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 = "# "] + #[doc = "Complexity O(S) where S is the number of slashing spans to remove"] + #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] + #[doc = "# "] + pub fn withdraw_unbonded( + &self, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "withdraw_unbonded", + WithdrawUnbonded { num_slashing_spans }, + [ + 95u8, 223u8, 122u8, 217u8, 76u8, 208u8, 86u8, 129u8, 31u8, + 104u8, 70u8, 154u8, 23u8, 250u8, 165u8, 192u8, 149u8, 249u8, + 158u8, 159u8, 194u8, 224u8, 118u8, 134u8, 204u8, 157u8, 72u8, + 136u8, 19u8, 193u8, 183u8, 84u8, + ], + ) + } + #[doc = "Declare the desire to validate for the origin controller."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + pub fn validate( + &self, + prefs: runtime_types::pallet_staking::ValidatorPrefs, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "validate", + Validate { prefs }, + [ + 191u8, 116u8, 139u8, 35u8, 250u8, 211u8, 86u8, 240u8, 35u8, + 9u8, 19u8, 44u8, 148u8, 35u8, 91u8, 106u8, 200u8, 172u8, + 108u8, 145u8, 194u8, 146u8, 61u8, 145u8, 233u8, 168u8, 2u8, + 26u8, 145u8, 101u8, 114u8, 157u8, + ], + ) + } + #[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 = "# "] + #[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."] + #[doc = "# "] + pub fn nominate( + &self, + targets: ::std::vec::Vec< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "nominate", + Nominate { targets }, + [ + 249u8, 66u8, 140u8, 39u8, 26u8, 221u8, 135u8, 225u8, 98u8, + 255u8, 13u8, 54u8, 106u8, 215u8, 129u8, 156u8, 190u8, 83u8, + 178u8, 170u8, 116u8, 27u8, 8u8, 244u8, 56u8, 73u8, 164u8, + 223u8, 199u8, 115u8, 168u8, 83u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains one read."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "# "] + pub fn chill(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "chill", + Chill {}, + [ + 94u8, 20u8, 196u8, 31u8, 220u8, 125u8, 115u8, 167u8, 140u8, + 3u8, 20u8, 132u8, 81u8, 120u8, 215u8, 166u8, 230u8, 56u8, + 16u8, 222u8, 31u8, 153u8, 120u8, 62u8, 153u8, 67u8, 220u8, + 239u8, 11u8, 234u8, 127u8, 122u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "---------"] + #[doc = "- Weight: O(1)"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Ledger"] + #[doc = " - Write: Payee"] + #[doc = "# "] + pub fn set_payee( + &self, + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_payee", + SetPayee { payee }, + [ + 96u8, 8u8, 254u8, 164u8, 87u8, 46u8, 120u8, 11u8, 197u8, + 63u8, 20u8, 178u8, 167u8, 236u8, 149u8, 245u8, 14u8, 171u8, + 108u8, 195u8, 250u8, 133u8, 0u8, 75u8, 192u8, 159u8, 84u8, + 220u8, 242u8, 133u8, 60u8, 62u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "----------"] + #[doc = "Weight: O(1)"] + #[doc = "DB Weight:"] + #[doc = "- Read: Bonded, Ledger New Controller, Ledger Old Controller"] + #[doc = "- Write: Bonded, Ledger New Controller, Ledger Old Controller"] + #[doc = "# "] + pub fn set_controller( + &self, + controller: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_controller", + SetController { controller }, + [ + 154u8, 80u8, 184u8, 176u8, 74u8, 106u8, 72u8, 242u8, 64u8, + 81u8, 169u8, 157u8, 200u8, 97u8, 117u8, 192u8, 143u8, 166u8, + 38u8, 235u8, 75u8, 161u8, 177u8, 229u8, 229u8, 82u8, 95u8, + 39u8, 40u8, 116u8, 9u8, 204u8, + ], + ) + } + #[doc = "Sets the ideal number of validators."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# "] + #[doc = "Weight: O(1)"] + #[doc = "Write: Validator Count"] + #[doc = "# "] + pub fn set_validator_count( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_validator_count", + SetValidatorCount { new }, + [ + 55u8, 232u8, 95u8, 66u8, 228u8, 217u8, 11u8, 27u8, 3u8, + 202u8, 199u8, 242u8, 70u8, 160u8, 250u8, 187u8, 194u8, 91u8, + 15u8, 36u8, 215u8, 36u8, 160u8, 108u8, 251u8, 60u8, 240u8, + 202u8, 249u8, 235u8, 28u8, 94u8, + ], + ) + } + #[doc = "Increments the ideal number of validators upto maximum of"] + #[doc = "`ElectionProviderBase::MaxWinners`."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`Self::set_validator_count`]."] + #[doc = "# "] + pub fn increase_validator_count( + &self, + additional: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "increase_validator_count", + IncreaseValidatorCount { additional }, + [ + 239u8, 184u8, 155u8, 213u8, 25u8, 22u8, 193u8, 13u8, 102u8, + 192u8, 82u8, 153u8, 249u8, 192u8, 60u8, 158u8, 8u8, 78u8, + 175u8, 219u8, 46u8, 51u8, 222u8, 193u8, 193u8, 201u8, 78u8, + 90u8, 58u8, 86u8, 196u8, 17u8, + ], + ) + } + #[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 = "# "] + #[doc = "Same as [`Self::set_validator_count`]."] + #[doc = "# "] + pub fn scale_validator_count( + &self, + factor: runtime_types::sp_arithmetic::per_things::Percent, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "scale_validator_count", + ScaleValidatorCount { factor }, + [ + 198u8, 68u8, 227u8, 94u8, 110u8, 157u8, 209u8, 217u8, 112u8, + 37u8, 78u8, 142u8, 12u8, 193u8, 219u8, 167u8, 149u8, 112u8, + 49u8, 139u8, 74u8, 81u8, 172u8, 72u8, 253u8, 224u8, 56u8, + 194u8, 185u8, 90u8, 87u8, 125u8, + ], + ) + } + #[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 = "# "] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + #[doc = "- Write: ForceEra"] + #[doc = "# "] + pub fn force_no_eras(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_no_eras", + ForceNoEras {}, + [ + 16u8, 81u8, 207u8, 168u8, 23u8, 236u8, 11u8, 75u8, 141u8, + 107u8, 92u8, 2u8, 53u8, 111u8, 252u8, 116u8, 91u8, 120u8, + 75u8, 24u8, 125u8, 53u8, 9u8, 28u8, 242u8, 87u8, 245u8, 55u8, + 40u8, 103u8, 151u8, 178u8, + ], + ) + } + #[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 = "# "] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + #[doc = "- Write ForceEra"] + #[doc = "# "] + pub fn force_new_era(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_new_era", + ForceNewEra {}, + [ + 230u8, 242u8, 169u8, 196u8, 78u8, 145u8, 24u8, 191u8, 113u8, + 68u8, 5u8, 138u8, 48u8, 51u8, 109u8, 126u8, 73u8, 136u8, + 162u8, 158u8, 174u8, 201u8, 213u8, 230u8, 215u8, 44u8, 200u8, + 32u8, 75u8, 27u8, 23u8, 254u8, + ], + ) + } + #[doc = "Set the validators who cannot be slashed (if any)."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + pub fn set_invulnerables( + &self, + invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_invulnerables", + SetInvulnerables { invulnerables }, + [ + 2u8, 148u8, 221u8, 111u8, 153u8, 48u8, 222u8, 36u8, 228u8, + 84u8, 18u8, 35u8, 168u8, 239u8, 53u8, 245u8, 27u8, 76u8, + 18u8, 203u8, 206u8, 9u8, 8u8, 81u8, 35u8, 224u8, 22u8, 133u8, + 58u8, 99u8, 103u8, 39u8, + ], + ) + } + #[doc = "Force a current staker to become completely unstaked, immediately."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + pub fn force_unstake( + &self, + stash: ::subxt::utils::AccountId32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_unstake", + ForceUnstake { + stash, + num_slashing_spans, + }, + [ + 94u8, 247u8, 238u8, 47u8, 250u8, 6u8, 96u8, 175u8, 173u8, + 123u8, 161u8, 187u8, 162u8, 214u8, 176u8, 233u8, 33u8, 33u8, + 167u8, 239u8, 40u8, 223u8, 19u8, 131u8, 230u8, 39u8, 175u8, + 200u8, 36u8, 182u8, 76u8, 207u8, + ], + ) + } + #[doc = "Force there to be a new era at the end of sessions indefinitely."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "If this is called just before a new era is triggered, the election process may not"] + #[doc = "have enough blocks to get a result."] + pub fn force_new_era_always( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_new_era_always", + ForceNewEraAlways {}, + [ + 179u8, 118u8, 189u8, 54u8, 248u8, 141u8, 207u8, 142u8, 80u8, + 37u8, 241u8, 185u8, 138u8, 254u8, 117u8, 147u8, 225u8, 118u8, + 34u8, 177u8, 197u8, 158u8, 8u8, 82u8, 202u8, 108u8, 208u8, + 26u8, 64u8, 33u8, 74u8, 43u8, + ], + ) + } + #[doc = "Cancel enactment of a deferred slash."] + #[doc = ""] + #[doc = "Can be called by the `T::AdminOrigin`."] + #[doc = ""] + #[doc = "Parameters: era and indices of the slashes for that era to kill."] + pub fn cancel_deferred_slash( + &self, + era: ::core::primitive::u32, + slash_indices: ::std::vec::Vec<::core::primitive::u32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "cancel_deferred_slash", + CancelDeferredSlash { era, slash_indices }, + [ + 120u8, 57u8, 162u8, 105u8, 91u8, 250u8, 129u8, 240u8, 110u8, + 234u8, 170u8, 98u8, 164u8, 65u8, 106u8, 101u8, 19u8, 88u8, + 146u8, 210u8, 171u8, 44u8, 37u8, 50u8, 65u8, 178u8, 37u8, + 223u8, 239u8, 197u8, 116u8, 168u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Time complexity: at most O(MaxNominatorRewardedPerValidator)."] + #[doc = "- Contains a limited number of reads and writes."] + #[doc = "-----------"] + #[doc = "N is the Number of payouts for the validator (including the validator)"] + #[doc = "Weight:"] + #[doc = "- Reward Destination Staked: O(N)"] + #[doc = "- Reward Destination Controller (Creating): O(N)"] + #[doc = ""] + #[doc = " NOTE: weights are assuming that payouts are made to alive stash account (Staked)."] + #[doc = " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here."] + #[doc = "# "] + pub fn payout_stakers( + &self, + validator_stash: ::subxt::utils::AccountId32, + era: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "payout_stakers", + PayoutStakers { + validator_stash, + era, + }, + [ + 184u8, 194u8, 33u8, 118u8, 7u8, 203u8, 89u8, 119u8, 214u8, + 76u8, 178u8, 20u8, 82u8, 111u8, 57u8, 132u8, 212u8, 43u8, + 232u8, 91u8, 252u8, 49u8, 42u8, 115u8, 1u8, 181u8, 154u8, + 207u8, 144u8, 206u8, 205u8, 33u8, + ], + ) + } + #[doc = "Rebond a portion of the stash scheduled to be unlocked."] + #[doc = ""] + #[doc = "The dispatch origin must be signed by the controller."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Time complexity: O(L), where L is unlocking chunks"] + #[doc = "- Bounded by `MaxUnlockingChunks`."] + #[doc = "- Storage changes: Can't increase storage, only decrease it."] + #[doc = "# "] + pub fn rebond( + &self, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "rebond", + Rebond { value }, + [ + 25u8, 22u8, 191u8, 172u8, 133u8, 101u8, 139u8, 102u8, 134u8, + 16u8, 136u8, 56u8, 137u8, 162u8, 4u8, 253u8, 196u8, 30u8, + 234u8, 49u8, 102u8, 68u8, 145u8, 96u8, 148u8, 219u8, 162u8, + 17u8, 177u8, 184u8, 34u8, 113u8, + ], + ) + } + #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] + #[doc = "be considered `dust` in the staking system. The requirements are:"] + #[doc = ""] + #[doc = "1. the `total_balance` of the stash is below existential deposit."] + #[doc = "2. or, the `ledger.total` of the stash is below existential deposit."] + #[doc = ""] + #[doc = "The former can happen in cases like a slash; the latter when a fully unbonded account"] + #[doc = "is still receiving staking rewards in `RewardDestination::Staked`."] + #[doc = ""] + #[doc = "It can be called by anyone, as long as `stash` meets the above requirements."] + #[doc = ""] + #[doc = "Refunds the transaction fees upon successful execution."] + pub fn reap_stash( + &self, + stash: ::subxt::utils::AccountId32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "reap_stash", + ReapStash { + stash, + num_slashing_spans, + }, + [ + 34u8, 168u8, 120u8, 161u8, 95u8, 199u8, 106u8, 233u8, 61u8, + 240u8, 166u8, 31u8, 183u8, 165u8, 158u8, 179u8, 32u8, 130u8, + 27u8, 164u8, 112u8, 44u8, 14u8, 125u8, 227u8, 87u8, 70u8, + 203u8, 194u8, 24u8, 212u8, 177u8, + ], + ) + } + #[doc = "Remove the given nominations from the calling validator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "- `who`: A list of nominator stash accounts who are nominating this validator which"] + #[doc = " should no longer be nominating this validator."] + #[doc = ""] + #[doc = "Note: Making this call only makes sense if you first set the validator preferences to"] + #[doc = "block any further nominations."] + pub fn kick( + &self, + who: ::std::vec::Vec< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "kick", + Kick { who }, + [ + 94u8, 27u8, 18u8, 16u8, 126u8, 129u8, 47u8, 169u8, 114u8, + 84u8, 48u8, 95u8, 235u8, 237u8, 33u8, 118u8, 115u8, 243u8, + 166u8, 120u8, 121u8, 70u8, 227u8, 240u8, 205u8, 240u8, 211u8, + 202u8, 251u8, 232u8, 209u8, 12u8, + ], + ) + } + #[doc = "Update the various staking configurations ."] + #[doc = ""] + #[doc = "* `min_nominator_bond`: The minimum active bond needed to be a nominator."] + #[doc = "* `min_validator_bond`: The minimum active bond needed to be a validator."] + #[doc = "* `max_nominator_count`: The max number of users who can be a nominator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `max_validator_count`: The max number of users who can be a validator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which"] + #[doc = " should be filled in order for the `chill_other` transaction to work."] + #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."] + #[doc = " This is checked only upon calling `validate`. Existing validators are not affected."] + #[doc = ""] + #[doc = "RuntimeOrigin must be Root to call this function."] + #[doc = ""] + #[doc = "NOTE: Existing nominators and validators will not be affected by this update."] + #[doc = "to kick people under the new limits, `chill_other` should be called."] + pub fn set_staking_configs( + &self, + min_nominator_bond : runtime_types :: pallet_staking :: pallet :: pallet :: ConfigOp < :: core :: primitive :: u128 >, + min_validator_bond : runtime_types :: pallet_staking :: pallet :: pallet :: ConfigOp < :: core :: primitive :: u128 >, + max_nominator_count : runtime_types :: pallet_staking :: pallet :: pallet :: ConfigOp < :: core :: primitive :: u32 >, + max_validator_count : runtime_types :: pallet_staking :: pallet :: pallet :: ConfigOp < :: core :: primitive :: u32 >, + chill_threshold : runtime_types :: pallet_staking :: pallet :: pallet :: ConfigOp < runtime_types :: sp_arithmetic :: per_things :: Percent >, + min_commission : runtime_types :: pallet_staking :: pallet :: pallet :: ConfigOp < runtime_types :: sp_arithmetic :: per_things :: Perbill >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_staking_configs", + SetStakingConfigs { + min_nominator_bond, + min_validator_bond, + max_nominator_count, + max_validator_count, + chill_threshold, + min_commission, + }, + [ + 176u8, 168u8, 155u8, 176u8, 27u8, 79u8, 223u8, 92u8, 88u8, + 93u8, 223u8, 69u8, 179u8, 250u8, 138u8, 138u8, 87u8, 220u8, + 36u8, 3u8, 126u8, 213u8, 16u8, 68u8, 3u8, 16u8, 218u8, 151u8, + 98u8, 169u8, 217u8, 75u8, + ], + ) + } + #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_, but can be called by anyone."] + #[doc = ""] + #[doc = "If the caller is the same as the controller being targeted, then no further checks are"] + #[doc = "enforced, and this function behaves just like `chill`."] + #[doc = ""] + #[doc = "If the caller is different than the controller being targeted, the following conditions"] + #[doc = "must be met:"] + #[doc = ""] + #[doc = "* `controller` must belong to a nominator who has become non-decodable,"] + #[doc = ""] + #[doc = "Or:"] + #[doc = ""] + #[doc = "* A `ChillThreshold` must be set and checked which defines how close to the max"] + #[doc = " nominators or validators we must reach before users can start chilling one-another."] + #[doc = "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine"] + #[doc = " how close we are to the threshold."] + #[doc = "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines"] + #[doc = " if this is a person that should be chilled because they have not met the threshold"] + #[doc = " bond required."] + #[doc = ""] + #[doc = "This can be helpful if bond requirements are updated, and we need to remove old users"] + #[doc = "who do not satisfy these requirements."] + pub fn chill_other( + &self, + controller: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "chill_other", + ChillOther { controller }, + [ + 140u8, 98u8, 4u8, 203u8, 91u8, 131u8, 123u8, 119u8, 169u8, + 47u8, 188u8, 23u8, 205u8, 170u8, 82u8, 220u8, 166u8, 170u8, + 135u8, 176u8, 68u8, 228u8, 14u8, 67u8, 42u8, 52u8, 140u8, + 231u8, 62u8, 167u8, 80u8, 173u8, + ], + ) + } + #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] + #[doc = "validator who already has a commission greater than or equal to the minimum. Any account"] + #[doc = "can call this."] + pub fn force_apply_min_commission( + &self, + validator_stash: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_apply_min_commission", + ForceApplyMinCommission { validator_stash }, + [ + 136u8, 163u8, 85u8, 134u8, 240u8, 247u8, 183u8, 227u8, 226u8, + 202u8, 102u8, 186u8, 138u8, 119u8, 78u8, 123u8, 229u8, 135u8, + 129u8, 241u8, 119u8, 106u8, 41u8, 182u8, 121u8, 181u8, 242u8, + 175u8, 74u8, 207u8, 64u8, 106u8, + ], + ) + } + #[doc = "Sets the minimum amount of commission that each validators must maintain."] + #[doc = ""] + #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"] + #[doc = "by the `T::AdminOrigin`. Root can always call this."] + pub fn set_min_commission( + &self, + new: runtime_types::sp_arithmetic::per_things::Perbill, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_min_commission", + SetMinCommission { new }, + [ + 62u8, 139u8, 175u8, 245u8, 212u8, 113u8, 117u8, 130u8, 191u8, + 173u8, 78u8, 97u8, 19u8, 104u8, 185u8, 207u8, 201u8, 14u8, + 200u8, 208u8, 184u8, 195u8, 242u8, 175u8, 158u8, 156u8, 51u8, + 58u8, 118u8, 154u8, 68u8, 221u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_staking::pallet::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] + #[doc = "the remainder from the maximum amount of reward."] + pub struct EraPaid { + pub era_index: ::core::primitive::u32, + pub validator_payout: ::core::primitive::u128, + pub remainder: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for EraPaid { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "EraPaid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The nominator has been rewarded by this amount."] + pub struct Rewarded { + pub stash: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rewarded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Rewarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A staker (validator or nominator) has been slashed by the given amount."] + pub struct Slashed { + pub staker: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] + #[doc = "era as been reported."] + pub struct SlashReported { + pub validator: ::subxt::utils::AccountId32, + pub fraction: runtime_types::sp_arithmetic::per_things::Perbill, + pub slash_era: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for SlashReported { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "SlashReported"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An old slashing report from a prior era was discarded because it could"] + #[doc = "not be processed."] + pub struct OldSlashingReportDiscarded { + pub session_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for OldSlashingReportDiscarded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "OldSlashingReportDiscarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new set of stakers was elected."] + pub struct StakersElected; + impl ::subxt::events::StaticEvent for StakersElected { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "StakersElected"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has bonded this amount. \\[stash, amount\\]"] + #[doc = ""] + #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] + #[doc = "it will not be emitted for staking rewards when they are added to stake."] + pub struct Bonded { + pub stash: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Bonded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Bonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has unbonded this amount."] + pub struct Unbonded { + pub stash: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unbonded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Unbonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] + #[doc = "from the unlocking queue."] + pub struct Withdrawn { + pub stash: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdrawn { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Withdrawn"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A nominator has been kicked from a validator."] + pub struct Kicked { + pub nominator: ::subxt::utils::AccountId32, + pub stash: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Kicked { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Kicked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The election failed. No new era is planned."] + pub struct StakingElectionFailed; + impl ::subxt::events::StaticEvent for StakingElectionFailed { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "StakingElectionFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has stopped participating as either a validator or nominator."] + pub struct Chilled { + pub stash: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Chilled { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Chilled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The stakers' rewards are getting paid."] + pub struct PayoutStarted { + pub era_index: ::core::primitive::u32, + pub validator_stash: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for PayoutStarted { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "PayoutStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A validator has set their preferences."] + pub struct ValidatorPrefsSet { + pub stash: ::subxt::utils::AccountId32, + pub prefs: runtime_types::pallet_staking::ValidatorPrefs, + } + impl ::subxt::events::StaticEvent for ValidatorPrefsSet { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "ValidatorPrefsSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new force era mode was set."] + pub struct ForceEra { + pub mode: runtime_types::pallet_staking::Forcing, + } + impl ::subxt::events::StaticEvent for ForceEra { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "ForceEra"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The ideal number of active validators."] + pub fn validator_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ValidatorCount", + vec![], + [ + 245u8, 75u8, 214u8, 110u8, 66u8, 164u8, 86u8, 206u8, 69u8, + 89u8, 12u8, 111u8, 117u8, 16u8, 228u8, 184u8, 207u8, 6u8, + 0u8, 126u8, 221u8, 67u8, 125u8, 218u8, 188u8, 245u8, 156u8, + 188u8, 34u8, 85u8, 208u8, 197u8, + ], + ) + } + #[doc = " Minimum number of staking participants before emergency conditions are imposed."] + pub fn minimum_validator_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinimumValidatorCount", + vec![], + [ + 82u8, 95u8, 128u8, 55u8, 136u8, 134u8, 71u8, 117u8, 135u8, + 76u8, 44u8, 46u8, 174u8, 34u8, 170u8, 228u8, 175u8, 1u8, + 234u8, 162u8, 91u8, 252u8, 127u8, 68u8, 243u8, 241u8, 13u8, + 107u8, 214u8, 70u8, 87u8, 249u8, + ], + ) + } + #[doc = " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're"] + #[doc = " easy to initialize and the performance hit is minimal (we expect no more than four"] + #[doc = " invulnerables) and restricted to testnets."] + pub fn invulnerables( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::utils::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Invulnerables", + vec![], + [ + 77u8, 78u8, 63u8, 199u8, 150u8, 167u8, 135u8, 130u8, 192u8, + 51u8, 202u8, 119u8, 68u8, 49u8, 241u8, 68u8, 82u8, 90u8, + 226u8, 201u8, 96u8, 170u8, 21u8, 173u8, 236u8, 116u8, 148u8, + 8u8, 174u8, 92u8, 7u8, 11u8, + ], + ) + } + #[doc = " Map from all locked \"stash\" accounts to the controller account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn bonded( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Bonded", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 35u8, 197u8, 156u8, 60u8, 22u8, 59u8, 103u8, 83u8, 77u8, + 15u8, 118u8, 193u8, 155u8, 97u8, 229u8, 36u8, 119u8, 128u8, + 224u8, 162u8, 21u8, 46u8, 199u8, 221u8, 15u8, 74u8, 59u8, + 70u8, 77u8, 218u8, 73u8, 165u8, + ], + ) + } + #[doc = " Map from all locked \"stash\" accounts to the controller account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn bonded_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Bonded", + Vec::new(), + [ + 35u8, 197u8, 156u8, 60u8, 22u8, 59u8, 103u8, 83u8, 77u8, + 15u8, 118u8, 193u8, 155u8, 97u8, 229u8, 36u8, 119u8, 128u8, + 224u8, 162u8, 21u8, 46u8, 199u8, 221u8, 15u8, 74u8, 59u8, + 70u8, 77u8, 218u8, 73u8, 165u8, + ], + ) + } + #[doc = " The minimum active bond to become and maintain the role of a nominator."] + pub fn min_nominator_bond( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinNominatorBond", + vec![], + [ + 187u8, 66u8, 149u8, 226u8, 72u8, 219u8, 57u8, 246u8, 102u8, + 47u8, 71u8, 12u8, 219u8, 204u8, 127u8, 223u8, 58u8, 134u8, + 81u8, 165u8, 200u8, 142u8, 196u8, 158u8, 26u8, 38u8, 165u8, + 19u8, 91u8, 251u8, 119u8, 84u8, + ], + ) + } + #[doc = " The minimum active bond to become and maintain the role of a validator."] + pub fn min_validator_bond( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinValidatorBond", + vec![], + [ + 48u8, 105u8, 85u8, 178u8, 142u8, 208u8, 208u8, 19u8, 236u8, + 130u8, 129u8, 169u8, 35u8, 245u8, 66u8, 182u8, 92u8, 20u8, + 22u8, 109u8, 155u8, 174u8, 87u8, 118u8, 242u8, 216u8, 193u8, + 154u8, 4u8, 5u8, 66u8, 56u8, + ], + ) + } + #[doc = " The minimum active nominator stake of the last successful election."] + pub fn minimum_active_stake( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinimumActiveStake", + vec![], + [ + 172u8, 190u8, 228u8, 47u8, 47u8, 192u8, 182u8, 59u8, 9u8, + 18u8, 103u8, 46u8, 175u8, 54u8, 17u8, 79u8, 89u8, 107u8, + 255u8, 200u8, 182u8, 107u8, 89u8, 157u8, 55u8, 16u8, 77u8, + 46u8, 154u8, 169u8, 103u8, 151u8, + ], + ) + } + #[doc = " The minimum amount of commission that validators can set."] + #[doc = ""] + #[doc = " If set to `0`, no limit exists."] + pub fn min_commission( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinCommission", + vec![], + [ + 61u8, 101u8, 69u8, 27u8, 220u8, 179u8, 5u8, 71u8, 66u8, + 227u8, 84u8, 98u8, 18u8, 141u8, 183u8, 49u8, 98u8, 46u8, + 123u8, 114u8, 198u8, 85u8, 15u8, 175u8, 243u8, 239u8, 133u8, + 129u8, 146u8, 174u8, 254u8, 158u8, + ], + ) + } + #[doc = " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."] + pub fn ledger( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::StakingLedger, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Ledger", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 31u8, 205u8, 3u8, 165u8, 22u8, 22u8, 62u8, 92u8, 33u8, 189u8, + 124u8, 120u8, 177u8, 70u8, 27u8, 242u8, 188u8, 184u8, 204u8, + 188u8, 242u8, 140u8, 128u8, 230u8, 85u8, 99u8, 181u8, 173u8, + 67u8, 252u8, 37u8, 236u8, + ], + ) + } + #[doc = " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."] + pub fn ledger_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::StakingLedger, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Ledger", + Vec::new(), + [ + 31u8, 205u8, 3u8, 165u8, 22u8, 22u8, 62u8, 92u8, 33u8, 189u8, + 124u8, 120u8, 177u8, 70u8, 27u8, 242u8, 188u8, 184u8, 204u8, + 188u8, 242u8, 140u8, 128u8, 230u8, 85u8, 99u8, 181u8, 173u8, + 67u8, 252u8, 37u8, 236u8, + ], + ) + } + #[doc = " Where the reward payment should be made. Keyed by stash."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn payee( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Payee", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 195u8, 125u8, 82u8, 213u8, 216u8, 64u8, 76u8, 63u8, 187u8, + 163u8, 20u8, 230u8, 153u8, 13u8, 189u8, 232u8, 119u8, 118u8, + 107u8, 17u8, 102u8, 245u8, 36u8, 42u8, 232u8, 137u8, 177u8, + 165u8, 169u8, 246u8, 199u8, 57u8, + ], + ) + } + #[doc = " Where the reward payment should be made. Keyed by stash."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn payee_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Payee", + Vec::new(), + [ + 195u8, 125u8, 82u8, 213u8, 216u8, 64u8, 76u8, 63u8, 187u8, + 163u8, 20u8, 230u8, 153u8, 13u8, 189u8, 232u8, 119u8, 118u8, + 107u8, 17u8, 102u8, 245u8, 36u8, 42u8, 232u8, 137u8, 177u8, + 165u8, 169u8, 246u8, 199u8, 57u8, + ], + ) + } + #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn validators( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ValidatorPrefs, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Validators", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 80u8, 77u8, 66u8, 18u8, 197u8, 250u8, 41u8, 185u8, 43u8, + 24u8, 149u8, 164u8, 208u8, 60u8, 144u8, 29u8, 251u8, 195u8, + 236u8, 196u8, 108u8, 58u8, 80u8, 115u8, 246u8, 66u8, 226u8, + 241u8, 201u8, 172u8, 229u8, 152u8, + ], + ) + } + #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn validators_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ValidatorPrefs, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Validators", + Vec::new(), + [ + 80u8, 77u8, 66u8, 18u8, 197u8, 250u8, 41u8, 185u8, 43u8, + 24u8, 149u8, 164u8, 208u8, 60u8, 144u8, 29u8, 251u8, 195u8, + 236u8, 196u8, 108u8, 58u8, 80u8, 115u8, 246u8, 66u8, 226u8, + 241u8, 201u8, 172u8, 229u8, 152u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CounterForValidators", + vec![], + [ + 139u8, 25u8, 223u8, 6u8, 160u8, 239u8, 212u8, 85u8, 36u8, + 185u8, 69u8, 63u8, 21u8, 156u8, 144u8, 241u8, 112u8, 85u8, + 49u8, 78u8, 88u8, 11u8, 8u8, 48u8, 118u8, 34u8, 62u8, 159u8, + 239u8, 122u8, 90u8, 45u8, + ], + ) + } + #[doc = " The maximum validator count before we stop allowing new validators to join."] + #[doc = ""] + #[doc = " When this value is not set, no limits are enforced."] + pub fn max_validators_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MaxValidatorsCount", + vec![], + [ + 250u8, 62u8, 16u8, 68u8, 192u8, 216u8, 236u8, 211u8, 217u8, + 9u8, 213u8, 49u8, 41u8, 37u8, 58u8, 62u8, 131u8, 112u8, 64u8, + 26u8, 133u8, 7u8, 130u8, 1u8, 71u8, 158u8, 14u8, 55u8, 169u8, + 239u8, 223u8, 245u8, + ], + ) + } + #[doc = " The map from nominator stash key to their nomination preferences, namely the validators that"] + #[doc = " they wish to support."] + #[doc = ""] + #[doc = " Note that the keys of this storage map might become non-decodable in case the"] + #[doc = " [`Config::MaxNominations`] configuration is decreased. In this rare case, these nominators"] + #[doc = " are still existent in storage, their key is correct and retrievable (i.e. `contains_key`"] + #[doc = " indicates that they exist), but their value cannot be decoded. Therefore, the non-decodable"] + #[doc = " nominators will effectively not-exist, until they re-submit their preferences such that it"] + #[doc = " is within the bounds of the newly set `Config::MaxNominations`."] + #[doc = ""] + #[doc = " This implies that `::iter_keys().count()` and `::iter().count()` might return different"] + #[doc = " values for this map. Moreover, the main `::count()` is aligned with the former, namely the"] + #[doc = " number of keys that exist."] + #[doc = ""] + #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] + #[doc = " [`Call::chill_other`] dispatchable by anyone."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn nominators( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Nominations, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Nominators", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 1u8, 154u8, 55u8, 170u8, 215u8, 64u8, 56u8, 83u8, 254u8, + 19u8, 152u8, 85u8, 164u8, 171u8, 206u8, 129u8, 184u8, 45u8, + 221u8, 181u8, 229u8, 133u8, 200u8, 231u8, 16u8, 146u8, 247u8, + 21u8, 77u8, 122u8, 165u8, 134u8, + ], + ) + } + #[doc = " The map from nominator stash key to their nomination preferences, namely the validators that"] + #[doc = " they wish to support."] + #[doc = ""] + #[doc = " Note that the keys of this storage map might become non-decodable in case the"] + #[doc = " [`Config::MaxNominations`] configuration is decreased. In this rare case, these nominators"] + #[doc = " are still existent in storage, their key is correct and retrievable (i.e. `contains_key`"] + #[doc = " indicates that they exist), but their value cannot be decoded. Therefore, the non-decodable"] + #[doc = " nominators will effectively not-exist, until they re-submit their preferences such that it"] + #[doc = " is within the bounds of the newly set `Config::MaxNominations`."] + #[doc = ""] + #[doc = " This implies that `::iter_keys().count()` and `::iter().count()` might return different"] + #[doc = " values for this map. Moreover, the main `::count()` is aligned with the former, namely the"] + #[doc = " number of keys that exist."] + #[doc = ""] + #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] + #[doc = " [`Call::chill_other`] dispatchable by anyone."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn nominators_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Nominations, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Nominators", + Vec::new(), + [ + 1u8, 154u8, 55u8, 170u8, 215u8, 64u8, 56u8, 83u8, 254u8, + 19u8, 152u8, 85u8, 164u8, 171u8, 206u8, 129u8, 184u8, 45u8, + 221u8, 181u8, 229u8, 133u8, 200u8, 231u8, 16u8, 146u8, 247u8, + 21u8, 77u8, 122u8, 165u8, 134u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_nominators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CounterForNominators", + vec![], + [ + 31u8, 94u8, 130u8, 138u8, 75u8, 8u8, 38u8, 162u8, 181u8, 5u8, + 125u8, 116u8, 9u8, 51u8, 22u8, 234u8, 40u8, 117u8, 215u8, + 46u8, 82u8, 117u8, 225u8, 1u8, 9u8, 208u8, 83u8, 63u8, 39u8, + 187u8, 207u8, 191u8, + ], + ) + } + #[doc = " The maximum nominator count before we stop allowing new validators to join."] + #[doc = ""] + #[doc = " When this value is not set, no limits are enforced."] + pub fn max_nominators_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MaxNominatorsCount", + vec![], + [ + 180u8, 190u8, 180u8, 66u8, 235u8, 173u8, 76u8, 160u8, 197u8, + 92u8, 96u8, 165u8, 220u8, 188u8, 32u8, 119u8, 3u8, 73u8, + 86u8, 49u8, 104u8, 17u8, 186u8, 98u8, 221u8, 175u8, 109u8, + 254u8, 207u8, 245u8, 125u8, 179u8, + ], + ) + } + #[doc = " The current era index."] + #[doc = ""] + #[doc = " This is the latest planned era, depending on how the Session pallet queues the validator"] + #[doc = " set, it might be active or not."] + pub fn current_era( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CurrentEra", + vec![], + [ + 105u8, 150u8, 49u8, 122u8, 4u8, 78u8, 8u8, 121u8, 34u8, + 136u8, 157u8, 227u8, 59u8, 139u8, 7u8, 253u8, 7u8, 10u8, + 117u8, 71u8, 240u8, 74u8, 86u8, 36u8, 198u8, 37u8, 153u8, + 93u8, 196u8, 22u8, 192u8, 243u8, + ], + ) + } + #[doc = " The active era information, it holds index and start."] + #[doc = ""] + #[doc = " The active era is the era being currently rewarded. Validator set of this era must be"] + #[doc = " equal to [`SessionInterface::validators`]."] + pub fn active_era( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ActiveEraInfo, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ActiveEra", + vec![], + [ + 15u8, 112u8, 251u8, 183u8, 108u8, 61u8, 28u8, 71u8, 44u8, + 150u8, 162u8, 4u8, 143u8, 121u8, 11u8, 37u8, 83u8, 29u8, + 193u8, 21u8, 210u8, 116u8, 190u8, 236u8, 213u8, 235u8, 49u8, + 97u8, 189u8, 142u8, 251u8, 124u8, + ], + ) + } + #[doc = " The session index at which the era start for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Note: This tracks the starting session (i.e. session index when era start being active)"] + #[doc = " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`."] + pub fn eras_start_session_index( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStartSessionIndex", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 92u8, 157u8, 168u8, 144u8, 132u8, 3u8, 212u8, 80u8, 230u8, + 229u8, 251u8, 218u8, 97u8, 55u8, 79u8, 100u8, 163u8, 91u8, + 32u8, 246u8, 122u8, 78u8, 149u8, 214u8, 103u8, 249u8, 119u8, + 20u8, 101u8, 116u8, 110u8, 185u8, + ], + ) + } + #[doc = " The session index at which the era start for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Note: This tracks the starting session (i.e. session index when era start being active)"] + #[doc = " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`."] + pub fn eras_start_session_index_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStartSessionIndex", + Vec::new(), + [ + 92u8, 157u8, 168u8, 144u8, 132u8, 3u8, 212u8, 80u8, 230u8, + 229u8, 251u8, 218u8, 97u8, 55u8, 79u8, 100u8, 163u8, 91u8, + 32u8, 246u8, 122u8, 78u8, 149u8, 214u8, 103u8, 249u8, 119u8, + 20u8, 101u8, 116u8, 110u8, 185u8, + ], + ) + } + #[doc = " Exposure of validator at era."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStakers", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 192u8, 50u8, 152u8, 151u8, 92u8, 180u8, 206u8, 15u8, 139u8, + 210u8, 128u8, 65u8, 92u8, 253u8, 43u8, 35u8, 139u8, 171u8, + 73u8, 185u8, 32u8, 78u8, 20u8, 197u8, 154u8, 90u8, 233u8, + 231u8, 23u8, 22u8, 187u8, 156u8, + ], + ) + } + #[doc = " Exposure of validator at era."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStakers", + Vec::new(), + [ + 192u8, 50u8, 152u8, 151u8, 92u8, 180u8, 206u8, 15u8, 139u8, + 210u8, 128u8, 65u8, 92u8, 253u8, 43u8, 35u8, 139u8, 171u8, + 73u8, 185u8, 32u8, 78u8, 20u8, 197u8, 154u8, 90u8, 233u8, + 231u8, 23u8, 22u8, 187u8, 156u8, + ], + ) + } + #[doc = " Clipped Exposure of validator at era."] + #[doc = ""] + #[doc = " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the"] + #[doc = " `T::MaxNominatorRewardedPerValidator` biggest stakers."] + #[doc = " (Note: the field `total` and `own` of the exposure remains unchanged)."] + #[doc = " This is used to limit the i/o cost for the nominator payout."] + #[doc = ""] + #[doc = " This is keyed fist by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_clipped( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStakersClipped", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 43u8, 159u8, 113u8, 223u8, 122u8, 169u8, 98u8, 153u8, 26u8, + 55u8, 71u8, 119u8, 174u8, 48u8, 158u8, 45u8, 214u8, 26u8, + 136u8, 215u8, 46u8, 161u8, 185u8, 17u8, 174u8, 204u8, 206u8, + 246u8, 49u8, 87u8, 134u8, 169u8, + ], + ) + } + #[doc = " Clipped Exposure of validator at era."] + #[doc = ""] + #[doc = " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the"] + #[doc = " `T::MaxNominatorRewardedPerValidator` biggest stakers."] + #[doc = " (Note: the field `total` and `own` of the exposure remains unchanged)."] + #[doc = " This is used to limit the i/o cost for the nominator payout."] + #[doc = ""] + #[doc = " This is keyed fist by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_clipped_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStakersClipped", + Vec::new(), + [ + 43u8, 159u8, 113u8, 223u8, 122u8, 169u8, 98u8, 153u8, 26u8, + 55u8, 71u8, 119u8, 174u8, 48u8, 158u8, 45u8, 214u8, 26u8, + 136u8, 215u8, 46u8, 161u8, 185u8, 17u8, 174u8, 204u8, 206u8, + 246u8, 49u8, 87u8, 134u8, 169u8, + ], + ) + } + #[doc = " Similar to `ErasStakers`, this holds the preferences of validators."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + pub fn eras_validator_prefs( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ValidatorPrefs, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasValidatorPrefs", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 6u8, 196u8, 209u8, 138u8, 252u8, 18u8, 203u8, 86u8, 129u8, + 62u8, 4u8, 56u8, 234u8, 114u8, 141u8, 136u8, 127u8, 224u8, + 142u8, 89u8, 150u8, 33u8, 31u8, 50u8, 140u8, 108u8, 124u8, + 77u8, 188u8, 102u8, 230u8, 174u8, + ], + ) + } + #[doc = " Similar to `ErasStakers`, this holds the preferences of validators."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + pub fn eras_validator_prefs_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ValidatorPrefs, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasValidatorPrefs", + Vec::new(), + [ + 6u8, 196u8, 209u8, 138u8, 252u8, 18u8, 203u8, 86u8, 129u8, + 62u8, 4u8, 56u8, 234u8, 114u8, 141u8, 136u8, 127u8, 224u8, + 142u8, 89u8, 150u8, 33u8, 31u8, 50u8, 140u8, 108u8, 124u8, + 77u8, 188u8, 102u8, 230u8, 174u8, + ], + ) + } + #[doc = " The total validator era payout for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Eras that haven't finished yet or has been removed doesn't have reward."] + pub fn eras_validator_reward( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasValidatorReward", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 87u8, 80u8, 156u8, 123u8, 107u8, 77u8, 203u8, 37u8, 231u8, + 84u8, 124u8, 155u8, 227u8, 212u8, 212u8, 179u8, 84u8, 161u8, + 223u8, 255u8, 254u8, 107u8, 52u8, 89u8, 98u8, 169u8, 136u8, + 241u8, 104u8, 3u8, 244u8, 161u8, + ], + ) + } + #[doc = " The total validator era payout for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Eras that haven't finished yet or has been removed doesn't have reward."] + pub fn eras_validator_reward_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasValidatorReward", + Vec::new(), + [ + 87u8, 80u8, 156u8, 123u8, 107u8, 77u8, 203u8, 37u8, 231u8, + 84u8, 124u8, 155u8, 227u8, 212u8, 212u8, 179u8, 84u8, 161u8, + 223u8, 255u8, 254u8, 107u8, 52u8, 89u8, 98u8, 169u8, 136u8, + 241u8, 104u8, 3u8, 244u8, 161u8, + ], + ) + } + #[doc = " Rewards for the last `HISTORY_DEPTH` eras."] + #[doc = " If reward hasn't been set or has been removed then 0 reward is returned."] + pub fn eras_reward_points( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::EraRewardPoints< + ::subxt::utils::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasRewardPoints", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 194u8, 29u8, 20u8, 83u8, 200u8, 47u8, 158u8, 102u8, 88u8, + 65u8, 24u8, 255u8, 120u8, 178u8, 23u8, 232u8, 15u8, 64u8, + 206u8, 0u8, 170u8, 40u8, 18u8, 149u8, 45u8, 90u8, 179u8, + 127u8, 52u8, 59u8, 37u8, 192u8, + ], + ) + } + #[doc = " Rewards for the last `HISTORY_DEPTH` eras."] + #[doc = " If reward hasn't been set or has been removed then 0 reward is returned."] + pub fn eras_reward_points_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::EraRewardPoints< + ::subxt::utils::AccountId32, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasRewardPoints", + Vec::new(), + [ + 194u8, 29u8, 20u8, 83u8, 200u8, 47u8, 158u8, 102u8, 88u8, + 65u8, 24u8, 255u8, 120u8, 178u8, 23u8, 232u8, 15u8, 64u8, + 206u8, 0u8, 170u8, 40u8, 18u8, 149u8, 45u8, 90u8, 179u8, + 127u8, 52u8, 59u8, 37u8, 192u8, + ], + ) + } + #[doc = " The total amount staked for the last `HISTORY_DEPTH` eras."] + #[doc = " If total hasn't been set or has been removed then 0 stake is returned."] + pub fn eras_total_stake( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasTotalStake", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 224u8, 240u8, 168u8, 69u8, 148u8, 140u8, 249u8, 240u8, 4u8, + 46u8, 77u8, 11u8, 224u8, 65u8, 26u8, 239u8, 1u8, 110u8, 53u8, + 11u8, 247u8, 235u8, 142u8, 234u8, 22u8, 43u8, 24u8, 36u8, + 37u8, 43u8, 170u8, 40u8, + ], + ) + } + #[doc = " The total amount staked for the last `HISTORY_DEPTH` eras."] + #[doc = " If total hasn't been set or has been removed then 0 stake is returned."] + pub fn eras_total_stake_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasTotalStake", + Vec::new(), + [ + 224u8, 240u8, 168u8, 69u8, 148u8, 140u8, 249u8, 240u8, 4u8, + 46u8, 77u8, 11u8, 224u8, 65u8, 26u8, 239u8, 1u8, 110u8, 53u8, + 11u8, 247u8, 235u8, 142u8, 234u8, 22u8, 43u8, 24u8, 36u8, + 37u8, 43u8, 170u8, 40u8, + ], + ) + } + #[doc = " Mode of era forcing."] + pub fn force_era( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Forcing, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ForceEra", + vec![], + [ + 221u8, 41u8, 71u8, 21u8, 28u8, 193u8, 65u8, 97u8, 103u8, + 37u8, 145u8, 146u8, 183u8, 194u8, 57u8, 131u8, 214u8, 136u8, + 68u8, 156u8, 140u8, 194u8, 69u8, 151u8, 115u8, 177u8, 92u8, + 147u8, 29u8, 40u8, 41u8, 31u8, + ], + ) + } + #[doc = " The percentage of the slash that is distributed to reporters."] + #[doc = ""] + #[doc = " The rest of the slashed value is handled by the `Slash`."] + pub fn slash_reward_fraction( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SlashRewardFraction", + vec![], + [ + 167u8, 79u8, 143u8, 202u8, 199u8, 100u8, 129u8, 162u8, 23u8, + 165u8, 106u8, 170u8, 244u8, 86u8, 144u8, 242u8, 65u8, 207u8, + 115u8, 224u8, 231u8, 155u8, 55u8, 139u8, 101u8, 129u8, 242u8, + 196u8, 130u8, 50u8, 3u8, 117u8, + ], + ) + } + #[doc = " The amount of currency given to reporters of a slash event which was"] + #[doc = " canceled by extraordinary circumstances (e.g. governance)."] + pub fn canceled_slash_payout( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CanceledSlashPayout", + vec![], + [ + 126u8, 218u8, 66u8, 92u8, 82u8, 124u8, 145u8, 161u8, 40u8, + 176u8, 14u8, 211u8, 178u8, 216u8, 8u8, 156u8, 83u8, 14u8, + 91u8, 15u8, 200u8, 170u8, 3u8, 127u8, 141u8, 139u8, 151u8, + 98u8, 74u8, 96u8, 238u8, 29u8, + ], + ) + } + #[doc = " All unapplied slashes that are queued for later."] + pub fn unapplied_slashes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::pallet_staking::UnappliedSlash< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "UnappliedSlashes", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 130u8, 4u8, 163u8, 163u8, 28u8, 85u8, 34u8, 156u8, 47u8, + 125u8, 57u8, 0u8, 133u8, 176u8, 130u8, 2u8, 175u8, 180u8, + 167u8, 203u8, 230u8, 82u8, 198u8, 183u8, 55u8, 82u8, 221u8, + 248u8, 100u8, 173u8, 206u8, 151u8, + ], + ) + } + #[doc = " All unapplied slashes that are queued for later."] + pub fn unapplied_slashes_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::pallet_staking::UnappliedSlash< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "UnappliedSlashes", + Vec::new(), + [ + 130u8, 4u8, 163u8, 163u8, 28u8, 85u8, 34u8, 156u8, 47u8, + 125u8, 57u8, 0u8, 133u8, 176u8, 130u8, 2u8, 175u8, 180u8, + 167u8, 203u8, 230u8, 82u8, 198u8, 183u8, 55u8, 82u8, 221u8, + 248u8, 100u8, 173u8, 206u8, 151u8, + ], + ) + } + #[doc = " A mapping from still-bonded eras to the first session index of that era."] + #[doc = ""] + #[doc = " Must contains information for eras for the range:"] + #[doc = " `[active_era - bounding_duration; active_era]`"] + pub fn bonded_eras( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "BondedEras", + vec![], + [ + 243u8, 162u8, 236u8, 198u8, 122u8, 182u8, 37u8, 55u8, 171u8, + 156u8, 235u8, 223u8, 226u8, 129u8, 89u8, 206u8, 2u8, 155u8, + 222u8, 154u8, 116u8, 124u8, 4u8, 119u8, 155u8, 94u8, 248u8, + 30u8, 171u8, 51u8, 78u8, 106u8, + ], + ) + } + #[doc = " All slashing events on validators, mapped by era to the highest slash proportion"] + #[doc = " and slash value of the era."] + pub fn validator_slash_in_era( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ValidatorSlashInEra", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 237u8, 80u8, 3u8, 237u8, 9u8, 40u8, 212u8, 15u8, 251u8, + 196u8, 85u8, 29u8, 27u8, 151u8, 98u8, 122u8, 189u8, 147u8, + 205u8, 40u8, 202u8, 194u8, 158u8, 96u8, 138u8, 16u8, 116u8, + 71u8, 140u8, 163u8, 121u8, 197u8, + ], + ) + } + #[doc = " All slashing events on validators, mapped by era to the highest slash proportion"] + #[doc = " and slash value of the era."] + pub fn validator_slash_in_era_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::core::primitive::u128, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ValidatorSlashInEra", + Vec::new(), + [ + 237u8, 80u8, 3u8, 237u8, 9u8, 40u8, 212u8, 15u8, 251u8, + 196u8, 85u8, 29u8, 27u8, 151u8, 98u8, 122u8, 189u8, 147u8, + 205u8, 40u8, 202u8, 194u8, 158u8, 96u8, 138u8, 16u8, 116u8, + 71u8, 140u8, 163u8, 121u8, 197u8, + ], + ) + } + #[doc = " All slashing events on nominators, mapped by era to the highest slash value of the era."] + pub fn nominator_slash_in_era( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "NominatorSlashInEra", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 249u8, 85u8, 170u8, 41u8, 179u8, 194u8, 180u8, 12u8, 53u8, + 101u8, 80u8, 96u8, 166u8, 71u8, 239u8, 23u8, 153u8, 19u8, + 152u8, 38u8, 138u8, 136u8, 221u8, 200u8, 18u8, 165u8, 26u8, + 228u8, 195u8, 199u8, 62u8, 4u8, + ], + ) + } + #[doc = " All slashing events on nominators, mapped by era to the highest slash value of the era."] + pub fn nominator_slash_in_era_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "NominatorSlashInEra", + Vec::new(), + [ + 249u8, 85u8, 170u8, 41u8, 179u8, 194u8, 180u8, 12u8, 53u8, + 101u8, 80u8, 96u8, 166u8, 71u8, 239u8, 23u8, 153u8, 19u8, + 152u8, 38u8, 138u8, 136u8, 221u8, 200u8, 18u8, 165u8, 26u8, + 228u8, 195u8, 199u8, 62u8, 4u8, + ], + ) + } + #[doc = " Slashing spans for stash accounts."] + pub fn slashing_spans( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::slashing::SlashingSpans, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SlashingSpans", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 106u8, 115u8, 118u8, 52u8, 89u8, 77u8, 246u8, 5u8, 255u8, + 204u8, 44u8, 5u8, 66u8, 36u8, 227u8, 252u8, 86u8, 159u8, + 186u8, 152u8, 196u8, 21u8, 74u8, 201u8, 133u8, 93u8, 142u8, + 191u8, 20u8, 27u8, 218u8, 157u8, + ], + ) + } + #[doc = " Slashing spans for stash accounts."] + pub fn slashing_spans_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::slashing::SlashingSpans, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SlashingSpans", + Vec::new(), + [ + 106u8, 115u8, 118u8, 52u8, 89u8, 77u8, 246u8, 5u8, 255u8, + 204u8, 44u8, 5u8, 66u8, 36u8, 227u8, 252u8, 86u8, 159u8, + 186u8, 152u8, 196u8, 21u8, 74u8, 201u8, 133u8, 93u8, 142u8, + 191u8, 20u8, 27u8, 218u8, 157u8, + ], + ) + } + #[doc = " Records information about the maximum slash of a stash within a slashing span,"] + #[doc = " as well as how much reward has been paid out."] + pub fn span_slash( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::slashing::SpanRecord< + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SpanSlash", + vec![::subxt::storage::address::StorageMapKey::new( + &(_0.borrow(), _1.borrow()), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 160u8, 63u8, 115u8, 190u8, 233u8, 148u8, 75u8, 3u8, 11u8, + 59u8, 184u8, 220u8, 205u8, 64u8, 28u8, 190u8, 116u8, 210u8, + 225u8, 230u8, 224u8, 163u8, 103u8, 157u8, 100u8, 29u8, 86u8, + 167u8, 84u8, 217u8, 109u8, 200u8, + ], + ) + } + #[doc = " Records information about the maximum slash of a stash within a slashing span,"] + #[doc = " as well as how much reward has been paid out."] + pub fn span_slash_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::slashing::SpanRecord< + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SpanSlash", + Vec::new(), + [ + 160u8, 63u8, 115u8, 190u8, 233u8, 148u8, 75u8, 3u8, 11u8, + 59u8, 184u8, 220u8, 205u8, 64u8, 28u8, 190u8, 116u8, 210u8, + 225u8, 230u8, 224u8, 163u8, 103u8, 157u8, 100u8, 29u8, 86u8, + 167u8, 84u8, 217u8, 109u8, 200u8, + ], + ) + } + #[doc = " The last planned session scheduled by the session pallet."] + #[doc = ""] + #[doc = " This is basically in sync with the call to [`pallet_session::SessionManager::new_session`]."] + pub fn current_planned_session( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CurrentPlannedSession", + vec![], + [ + 38u8, 22u8, 56u8, 250u8, 17u8, 154u8, 99u8, 37u8, 155u8, + 253u8, 100u8, 117u8, 5u8, 239u8, 31u8, 190u8, 53u8, 241u8, + 11u8, 185u8, 163u8, 227u8, 10u8, 77u8, 210u8, 64u8, 156u8, + 218u8, 105u8, 16u8, 1u8, 57u8, + ], + ) + } + #[doc = " Indices of validators that have offended in the active era and whether they are currently"] + #[doc = " disabled."] + #[doc = ""] + #[doc = " This value should be a superset of disabled validators since not all offences lead to the"] + #[doc = " validator being disabled (if there was no slash). This is needed to track the percentage of"] + #[doc = " validators that have offended in the current era, ensuring a new era is forced if"] + #[doc = " `OffendingValidatorsThreshold` is reached. The vec is always kept sorted so that we can find"] + #[doc = " whether a given validator has previously offended using binary search. It gets cleared when"] + #[doc = " the era ends."] + pub fn offending_validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<( + ::core::primitive::u32, + ::core::primitive::bool, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "OffendingValidators", + vec![], + [ + 94u8, 254u8, 0u8, 50u8, 76u8, 232u8, 51u8, 153u8, 118u8, + 14u8, 70u8, 101u8, 112u8, 215u8, 173u8, 82u8, 182u8, 104u8, + 167u8, 103u8, 187u8, 168u8, 86u8, 16u8, 51u8, 235u8, 51u8, + 119u8, 38u8, 154u8, 42u8, 113u8, + ], + ) + } + #[doc = " The threshold for when users can start calling `chill_other` for other validators /"] + #[doc = " nominators. The threshold is compared to the actual number of validators / nominators"] + #[doc = " (`CountFor*`) in the system compared to the configured max (`Max*Count`)."] + pub fn chill_threshold( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Percent, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ChillThreshold", + vec![], + [ + 174u8, 165u8, 249u8, 105u8, 24u8, 151u8, 115u8, 166u8, 199u8, + 251u8, 28u8, 5u8, 50u8, 95u8, 144u8, 110u8, 220u8, 76u8, + 14u8, 23u8, 179u8, 41u8, 11u8, 248u8, 28u8, 154u8, 159u8, + 255u8, 156u8, 109u8, 98u8, 92u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Maximum number of nominations per nominator."] + pub fn max_nominations( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "MaxNominations", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Number of eras to keep in history."] + #[doc = ""] + #[doc = " Following information is kept for eras in `[current_era -"] + #[doc = " HistoryDepth, current_era]`: `ErasStakers`, `ErasStakersClipped`,"] + #[doc = " `ErasValidatorPrefs`, `ErasValidatorReward`, `ErasRewardPoints`,"] + #[doc = " `ErasTotalStake`, `ErasStartSessionIndex`,"] + #[doc = " `StakingLedger.claimed_rewards`."] + #[doc = ""] + #[doc = " Must be more than the number of eras delayed by session."] + #[doc = " I.e. active era must always be in history. I.e. `active_era >"] + #[doc = " current_era - history_depth` must be guaranteed."] + #[doc = ""] + #[doc = " If migrating an existing pallet from storage value to config value,"] + #[doc = " this should be set to same value or greater as in storage."] + #[doc = ""] + #[doc = " Note: `HistoryDepth` is used as the upper bound for the `BoundedVec`"] + #[doc = " item `StakingLedger.claimed_rewards`. Setting this value lower than"] + #[doc = " the existing value can lead to inconsistencies in the"] + #[doc = " `StakingLedger` and will need to be handled properly in a migration."] + #[doc = " The test `reducing_history_depth_abrupt` shows this effect."] + pub fn history_depth( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "HistoryDepth", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Number of sessions per era."] + pub fn sessions_per_era( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "SessionsPerEra", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Number of eras that staked funds must remain bonded for."] + pub fn bonding_duration( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "BondingDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Number of eras that slashes are deferred by, after computation."] + #[doc = ""] + #[doc = " This should be less than the bonding duration. Set to 0 if slashes"] + #[doc = " should be applied immediately, without opportunity for intervention."] + pub fn slash_defer_duration( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "SlashDeferDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum number of nominators rewarded for each validator."] + #[doc = ""] + #[doc = " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can"] + #[doc = " claim their reward. This used to limit the i/o cost for the nominator payout."] + pub fn max_nominator_rewarded_per_validator( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "MaxNominatorRewardedPerValidator", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum number of `unlocking` chunks a [`StakingLedger`] can"] + #[doc = " have. Effectively determines how many unique eras a staker may be"] + #[doc = " unbonding in."] + #[doc = ""] + #[doc = " Note: `MaxUnlockingChunks` is used as the upper bound for the"] + #[doc = " `BoundedVec` item `StakingLedger.unlocking`. Setting this value"] + #[doc = " lower than the existing value can lead to inconsistencies in the"] + #[doc = " `StakingLedger` and will need to be handled properly in a runtime"] + #[doc = " migration. The test `reducing_max_unlocking_chunks_abrupt` shows"] + #[doc = " this effect."] + pub fn max_unlocking_chunks( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "MaxUnlockingChunks", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + } + } + } + pub mod session { + use super::root_mod; + use super::runtime_types; + #[doc = "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 SetKeys { + pub keys: runtime_types::kitchensink_runtime::SessionKeys, + pub proof: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PurgeKeys; + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Sets the session key(s) of the function caller to `keys`."] + #[doc = "Allows an account to set its session key prior to becoming a validator."] + #[doc = "This doesn't take effect until the next session."] + #[doc = ""] + #[doc = "The dispatch origin of this function must be signed."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: `O(1)`. Actual cost depends on the number of length of"] + #[doc = " `T::Keys::key_ids()` which is fixed."] + #[doc = "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`"] + #[doc = "- DbWrites: `origin account`, `NextKeys`"] + #[doc = "- DbReads per key id: `KeyOwner`"] + #[doc = "- DbWrites per key id: `KeyOwner`"] + #[doc = "# "] + pub fn set_keys( + &self, + keys: runtime_types::kitchensink_runtime::SessionKeys, + proof: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Session", + "set_keys", + SetKeys { keys, proof }, + [ + 19u8, 210u8, 111u8, 216u8, 235u8, 1u8, 119u8, 211u8, 79u8, + 9u8, 91u8, 245u8, 109u8, 116u8, 95u8, 223u8, 233u8, 189u8, + 185u8, 243u8, 46u8, 178u8, 10u8, 4u8, 231u8, 159u8, 217u8, + 59u8, 45u8, 167u8, 207u8, 137u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length"] + #[doc = " of `T::Keys::key_ids()` which is fixed."] + #[doc = "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`"] + #[doc = "- DbWrites: `NextKeys`, `origin account`"] + #[doc = "- DbWrites per key id: `KeyOwner`"] + #[doc = "# "] + pub fn purge_keys(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Session", + "purge_keys", + PurgeKeys {}, + [ + 200u8, 255u8, 4u8, 213u8, 188u8, 92u8, 99u8, 116u8, 163u8, + 152u8, 29u8, 35u8, 133u8, 119u8, 246u8, 44u8, 91u8, 31u8, + 145u8, 23u8, 213u8, 64u8, 71u8, 242u8, 207u8, 239u8, 231u8, + 37u8, 61u8, 63u8, 190u8, 35u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_session::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New session has happened. Note that the argument is the session index, not the"] + #[doc = "block number as the type might suggest."] + pub struct NewSession { + pub session_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for NewSession { + const PALLET: &'static str = "Session"; + const EVENT: &'static str = "NewSession"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current set of validators."] + pub fn validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::utils::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "Validators", + vec![], + [ + 144u8, 235u8, 200u8, 43u8, 151u8, 57u8, 147u8, 172u8, 201u8, + 202u8, 242u8, 96u8, 57u8, 76u8, 124u8, 77u8, 42u8, 113u8, + 218u8, 220u8, 230u8, 32u8, 151u8, 152u8, 172u8, 106u8, 60u8, + 227u8, 122u8, 118u8, 137u8, 68u8, + ], + ) + } + #[doc = " Current index of the session."] + pub fn current_index( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "CurrentIndex", + vec![], + [ + 148u8, 179u8, 159u8, 15u8, 197u8, 95u8, 214u8, 30u8, 209u8, + 251u8, 183u8, 231u8, 91u8, 25u8, 181u8, 191u8, 143u8, 252u8, + 227u8, 80u8, 159u8, 66u8, 194u8, 67u8, 113u8, 74u8, 111u8, + 91u8, 218u8, 187u8, 130u8, 40u8, + ], + ) + } + #[doc = " True if the underlying economic identities or weighting behind the validators"] + #[doc = " has changed in the queued validator set."] + pub fn queued_changed( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "QueuedChanged", + vec![], + [ + 105u8, 140u8, 235u8, 218u8, 96u8, 100u8, 252u8, 10u8, 58u8, + 221u8, 244u8, 251u8, 67u8, 91u8, 80u8, 202u8, 152u8, 42u8, + 50u8, 113u8, 200u8, 247u8, 59u8, 213u8, 77u8, 195u8, 1u8, + 150u8, 220u8, 18u8, 245u8, 46u8, + ], + ) + } + #[doc = " The queued keys for the next session. When the next session begins, these keys"] + #[doc = " will be used to determine the validator's session keys."] + pub fn queued_keys( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::kitchensink_runtime::SessionKeys, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "QueuedKeys", + vec![], + [ + 57u8, 139u8, 66u8, 116u8, 133u8, 98u8, 66u8, 181u8, 96u8, + 190u8, 69u8, 124u8, 158u8, 124u8, 187u8, 164u8, 223u8, 89u8, + 209u8, 84u8, 106u8, 127u8, 85u8, 202u8, 130u8, 7u8, 250u8, + 163u8, 99u8, 209u8, 225u8, 25u8, + ], + ) + } + #[doc = " Indices of disabled validators."] + #[doc = ""] + #[doc = " The vec is always kept sorted so that we can find whether a given validator is"] + #[doc = " disabled using binary search. It gets cleared when `on_session_ending` returns"] + #[doc = " a new set of identities."] + pub fn disabled_validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "DisabledValidators", + vec![], + [ + 135u8, 22u8, 22u8, 97u8, 82u8, 217u8, 144u8, 141u8, 121u8, + 240u8, 189u8, 16u8, 176u8, 88u8, 177u8, 31u8, 20u8, 242u8, + 73u8, 104u8, 11u8, 110u8, 214u8, 34u8, 52u8, 217u8, 106u8, + 33u8, 174u8, 174u8, 198u8, 84u8, + ], + ) + } + #[doc = " The next session keys for a validator."] + pub fn next_keys( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::kitchensink_runtime::SessionKeys, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "NextKeys", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 246u8, 66u8, 207u8, 19u8, 247u8, 26u8, 110u8, 116u8, 209u8, + 77u8, 141u8, 64u8, 128u8, 214u8, 71u8, 104u8, 56u8, 117u8, + 10u8, 162u8, 166u8, 137u8, 33u8, 98u8, 110u8, 31u8, 161u8, + 116u8, 207u8, 46u8, 82u8, 64u8, + ], + ) + } + #[doc = " The next session keys for a validator."] + pub fn next_keys_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::kitchensink_runtime::SessionKeys, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "NextKeys", + Vec::new(), + [ + 246u8, 66u8, 207u8, 19u8, 247u8, 26u8, 110u8, 116u8, 209u8, + 77u8, 141u8, 64u8, 128u8, 214u8, 71u8, 104u8, 56u8, 117u8, + 10u8, 162u8, 166u8, 137u8, 33u8, 98u8, 110u8, 31u8, 161u8, + 116u8, 207u8, 46u8, 82u8, 64u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner( + &self, + _0: impl ::std::borrow::Borrow, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8]>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "KeyOwner", + vec![::subxt::storage::address::StorageMapKey::new( + &(_0.borrow(), _1.borrow()), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 4u8, 91u8, 25u8, 84u8, 250u8, 201u8, 174u8, 129u8, 201u8, + 58u8, 197u8, 199u8, 137u8, 240u8, 118u8, 33u8, 99u8, 2u8, + 195u8, 57u8, 53u8, 172u8, 0u8, 148u8, 203u8, 144u8, 149u8, + 64u8, 135u8, 254u8, 242u8, 215u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "KeyOwner", + Vec::new(), + [ + 4u8, 91u8, 25u8, 84u8, 250u8, 201u8, 174u8, 129u8, 201u8, + 58u8, 197u8, 199u8, 137u8, 240u8, 118u8, 33u8, 99u8, 2u8, + 195u8, 57u8, 53u8, 172u8, 0u8, 148u8, 203u8, 144u8, 149u8, + 64u8, 135u8, 254u8, 242u8, 215u8, + ], + ) + } + } + } + } + pub mod democracy { + 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 Propose { + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Second { + #[codec(compact)] + pub proposal: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote { + #[codec(compact)] + pub ref_index: ::core::primitive::u32, + pub vote: runtime_types::pallet_democracy::vote::AccountVote< + ::core::primitive::u128, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct EmergencyCancel { + pub ref_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ExternalPropose { + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ExternalProposeMajority { + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ExternalProposeDefault { + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct FastTrack { + pub proposal_hash: ::subxt::utils::H256, + pub voting_period: ::core::primitive::u32, + pub delay: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct VetoExternal { + pub proposal_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelReferendum { + #[codec(compact)] + pub ref_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Delegate { + pub to: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub conviction: runtime_types::pallet_democracy::conviction::Conviction, + pub balance: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Undelegate; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearPublicProposals; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Unlock { + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveVote { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveOtherVote { + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Blacklist { + pub proposal_hash: ::subxt::utils::H256, + pub maybe_ref_index: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelProposal { + #[codec(compact)] + pub prop_index: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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`."] + pub fn propose( + &self, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "propose", + Propose { proposal, value }, + [ + 123u8, 3u8, 204u8, 140u8, 194u8, 195u8, 214u8, 39u8, 167u8, + 126u8, 45u8, 4u8, 219u8, 17u8, 143u8, 185u8, 29u8, 224u8, + 230u8, 68u8, 253u8, 15u8, 170u8, 90u8, 232u8, 123u8, 46u8, + 255u8, 168u8, 39u8, 204u8, 63u8, + ], + ) + } + #[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."] + pub fn second( + &self, + proposal: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "second", + Second { proposal }, + [ + 59u8, 240u8, 183u8, 218u8, 61u8, 93u8, 184u8, 67u8, 10u8, + 4u8, 138u8, 196u8, 168u8, 49u8, 42u8, 69u8, 154u8, 42u8, + 90u8, 112u8, 179u8, 69u8, 51u8, 148u8, 159u8, 212u8, 221u8, + 226u8, 132u8, 228u8, 51u8, 83u8, + ], + ) + } + #[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."] + pub fn vote( + &self, + ref_index: ::core::primitive::u32, + vote: runtime_types::pallet_democracy::vote::AccountVote< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "vote", + Vote { ref_index, vote }, + [ + 138u8, 213u8, 229u8, 111u8, 1u8, 191u8, 73u8, 3u8, 145u8, + 28u8, 44u8, 88u8, 163u8, 188u8, 129u8, 188u8, 64u8, 15u8, + 64u8, 103u8, 250u8, 97u8, 234u8, 188u8, 29u8, 205u8, 51u8, + 6u8, 116u8, 58u8, 156u8, 201u8, + ], + ) + } + #[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)`."] + pub fn emergency_cancel( + &self, + ref_index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "emergency_cancel", + EmergencyCancel { ref_index }, + [ + 139u8, 213u8, 133u8, 75u8, 34u8, 206u8, 124u8, 245u8, 35u8, + 237u8, 132u8, 92u8, 49u8, 167u8, 117u8, 80u8, 188u8, 93u8, + 198u8, 237u8, 132u8, 77u8, 195u8, 65u8, 29u8, 37u8, 86u8, + 74u8, 214u8, 119u8, 71u8, 204u8, + ], + ) + } + #[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."] + pub fn external_propose( + &self, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "external_propose", + ExternalPropose { proposal }, + [ + 164u8, 193u8, 14u8, 122u8, 105u8, 232u8, 20u8, 194u8, 99u8, + 227u8, 36u8, 105u8, 218u8, 146u8, 16u8, 208u8, 56u8, 62u8, + 100u8, 65u8, 35u8, 33u8, 51u8, 208u8, 17u8, 43u8, 223u8, + 198u8, 202u8, 16u8, 56u8, 75u8, + ], + ) + } + #[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)`"] + pub fn external_propose_majority( + &self, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "external_propose_majority", + ExternalProposeMajority { proposal }, + [ + 129u8, 124u8, 147u8, 253u8, 69u8, 115u8, 230u8, 186u8, 155u8, + 4u8, 220u8, 103u8, 28u8, 132u8, 115u8, 153u8, 196u8, 88u8, + 9u8, 130u8, 129u8, 234u8, 75u8, 96u8, 202u8, 216u8, 145u8, + 189u8, 231u8, 101u8, 127u8, 11u8, + ], + ) + } + #[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)`"] + pub fn external_propose_default( + &self, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "external_propose_default", + ExternalProposeDefault { proposal }, + [ + 96u8, 15u8, 108u8, 208u8, 141u8, 247u8, 4u8, 73u8, 2u8, 30u8, + 231u8, 40u8, 184u8, 250u8, 42u8, 161u8, 248u8, 45u8, 217u8, + 50u8, 53u8, 13u8, 181u8, 214u8, 136u8, 51u8, 93u8, 95u8, + 165u8, 3u8, 83u8, 190u8, + ], + ) + } + #[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)`"] + pub fn fast_track( + &self, + proposal_hash: ::subxt::utils::H256, + voting_period: ::core::primitive::u32, + delay: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "fast_track", + FastTrack { + proposal_hash, + voting_period, + delay, + }, + [ + 125u8, 209u8, 107u8, 120u8, 93u8, 205u8, 129u8, 147u8, 254u8, + 126u8, 45u8, 126u8, 39u8, 0u8, 56u8, 14u8, 233u8, 49u8, + 245u8, 220u8, 156u8, 10u8, 252u8, 31u8, 102u8, 90u8, 163u8, + 236u8, 178u8, 85u8, 13u8, 24u8, + ], + ) + } + #[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`"] + pub fn veto_external( + &self, + proposal_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "veto_external", + VetoExternal { proposal_hash }, + [ + 209u8, 18u8, 18u8, 103u8, 186u8, 160u8, 214u8, 124u8, 150u8, + 207u8, 112u8, 90u8, 84u8, 197u8, 95u8, 157u8, 165u8, 65u8, + 109u8, 101u8, 75u8, 201u8, 41u8, 149u8, 75u8, 154u8, 37u8, + 178u8, 239u8, 121u8, 124u8, 23u8, + ], + ) + } + #[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)`."] + pub fn cancel_referendum( + &self, + ref_index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "cancel_referendum", + CancelReferendum { ref_index }, + [ + 51u8, 25u8, 25u8, 251u8, 236u8, 115u8, 130u8, 230u8, 72u8, + 186u8, 119u8, 71u8, 165u8, 137u8, 55u8, 167u8, 187u8, 128u8, + 55u8, 8u8, 212u8, 139u8, 245u8, 232u8, 103u8, 136u8, 229u8, + 113u8, 125u8, 36u8, 1u8, 149u8, + ], + ) + } + #[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."] + pub fn delegate( + &self, + to: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + conviction: runtime_types::pallet_democracy::conviction::Conviction, + balance: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "delegate", + Delegate { + to, + conviction, + balance, + }, + [ + 247u8, 226u8, 242u8, 221u8, 47u8, 161u8, 91u8, 223u8, 6u8, + 79u8, 238u8, 205u8, 41u8, 188u8, 140u8, 56u8, 181u8, 248u8, + 102u8, 10u8, 127u8, 166u8, 90u8, 187u8, 13u8, 124u8, 209u8, + 117u8, 16u8, 209u8, 74u8, 29u8, + ], + ) + } + #[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."] + pub fn undelegate(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "undelegate", + Undelegate {}, + [ + 165u8, 40u8, 183u8, 209u8, 57u8, 153u8, 111u8, 29u8, 114u8, + 109u8, 107u8, 235u8, 97u8, 61u8, 53u8, 155u8, 44u8, 245u8, + 28u8, 220u8, 56u8, 134u8, 43u8, 122u8, 248u8, 156u8, 191u8, + 154u8, 4u8, 121u8, 152u8, 153u8, + ], + ) + } + #[doc = "Clears all public proposals."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Root_."] + #[doc = ""] + #[doc = "Weight: `O(1)`."] + pub fn clear_public_proposals( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "clear_public_proposals", + ClearPublicProposals {}, + [ + 59u8, 126u8, 254u8, 223u8, 252u8, 225u8, 75u8, 185u8, 188u8, + 181u8, 42u8, 179u8, 211u8, 73u8, 12u8, 141u8, 243u8, 197u8, + 46u8, 130u8, 215u8, 196u8, 225u8, 88u8, 48u8, 199u8, 231u8, + 249u8, 195u8, 53u8, 184u8, 204u8, + ], + ) + } + #[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."] + pub fn unlock( + &self, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "unlock", + Unlock { target }, + [ + 227u8, 6u8, 154u8, 150u8, 253u8, 167u8, 142u8, 6u8, 147u8, + 24u8, 124u8, 51u8, 101u8, 185u8, 184u8, 170u8, 6u8, 223u8, + 29u8, 167u8, 73u8, 31u8, 179u8, 60u8, 156u8, 244u8, 192u8, + 233u8, 79u8, 99u8, 248u8, 126u8, + ], + ) + } + #[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."] + pub fn remove_vote( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "remove_vote", + RemoveVote { index }, + [ + 148u8, 120u8, 14u8, 172u8, 81u8, 152u8, 159u8, 178u8, 106u8, + 244u8, 36u8, 98u8, 120u8, 189u8, 213u8, 93u8, 119u8, 156u8, + 112u8, 34u8, 241u8, 72u8, 206u8, 113u8, 212u8, 161u8, 164u8, + 126u8, 122u8, 82u8, 160u8, 74u8, + ], + ) + } + #[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."] + pub fn remove_other_vote( + &self, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "remove_other_vote", + RemoveOtherVote { target, index }, + [ + 251u8, 245u8, 79u8, 229u8, 3u8, 107u8, 66u8, 202u8, 148u8, + 31u8, 6u8, 236u8, 156u8, 202u8, 197u8, 107u8, 100u8, 60u8, + 255u8, 213u8, 222u8, 209u8, 249u8, 61u8, 209u8, 215u8, 82u8, + 73u8, 25u8, 73u8, 161u8, 24u8, + ], + ) + } + #[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)."] + pub fn blacklist( + &self, + proposal_hash: ::subxt::utils::H256, + maybe_ref_index: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "blacklist", + Blacklist { + proposal_hash, + maybe_ref_index, + }, + [ + 48u8, 144u8, 81u8, 164u8, 54u8, 111u8, 197u8, 134u8, 6u8, + 98u8, 121u8, 179u8, 254u8, 191u8, 204u8, 212u8, 84u8, 255u8, + 86u8, 110u8, 225u8, 130u8, 26u8, 65u8, 133u8, 56u8, 231u8, + 15u8, 245u8, 137u8, 146u8, 242u8, + ], + ) + } + #[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()`"] + pub fn cancel_proposal( + &self, + prop_index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Democracy", + "cancel_proposal", + CancelProposal { prop_index }, + [ + 179u8, 3u8, 198u8, 244u8, 241u8, 124u8, 205u8, 58u8, 100u8, + 80u8, 177u8, 254u8, 98u8, 220u8, 189u8, 63u8, 229u8, 60u8, + 157u8, 83u8, 142u8, 6u8, 236u8, 183u8, 193u8, 235u8, 253u8, + 126u8, 153u8, 185u8, 74u8, 117u8, + ], + ) + } + } + } + #[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_democracy::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion has been proposed by a public account."] + pub struct Proposed { + pub proposal_index: ::core::primitive::u32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Proposed { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Proposed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A public proposal has been tabled for referendum vote."] + pub struct Tabled { + pub proposal_index: ::core::primitive::u32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Tabled { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Tabled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An external proposal has been tabled."] + pub struct ExternalTabled; + impl ::subxt::events::StaticEvent for ExternalTabled { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "ExternalTabled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has begun."] + pub struct Started { + pub ref_index: ::core::primitive::u32, + pub threshold: + runtime_types::pallet_democracy::vote_threshold::VoteThreshold, + } + impl ::subxt::events::StaticEvent for Started { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Started"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal has been approved by referendum."] + pub struct Passed { + pub ref_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Passed { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Passed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal has been rejected by referendum."] + pub struct NotPassed { + pub ref_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for NotPassed { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "NotPassed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been cancelled."] + pub struct Cancelled { + pub ref_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Cancelled { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Cancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has delegated their vote to another account."] + pub struct Delegated { + pub who: ::subxt::utils::AccountId32, + pub target: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Delegated { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Delegated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has cancelled a previous delegation operation."] + pub struct Undelegated { + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Undelegated { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Undelegated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An external proposal has been vetoed."] + pub struct Vetoed { + pub who: ::subxt::utils::AccountId32, + pub proposal_hash: ::subxt::utils::H256, + pub until: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Vetoed { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Vetoed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal_hash has been blacklisted permanently."] + pub struct Blacklisted { + pub proposal_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Blacklisted { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Blacklisted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has voted in a referendum"] + pub struct Voted { + pub voter: ::subxt::utils::AccountId32, + pub ref_index: ::core::primitive::u32, + pub vote: runtime_types::pallet_democracy::vote::AccountVote< + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for Voted { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Voted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has secconded a proposal"] + pub struct Seconded { + pub seconder: ::subxt::utils::AccountId32, + pub prop_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Seconded { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "Seconded"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal got canceled."] + pub struct ProposalCanceled { + pub prop_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ProposalCanceled { + const PALLET: &'static str = "Democracy"; + const EVENT: &'static str = "ProposalCanceled"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The number of (public) proposals that have been made so far."] + pub fn public_prop_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "PublicPropCount", + vec![], + [ + 91u8, 14u8, 171u8, 94u8, 37u8, 157u8, 46u8, 157u8, 254u8, + 13u8, 68u8, 144u8, 23u8, 146u8, 128u8, 159u8, 9u8, 174u8, + 74u8, 174u8, 218u8, 197u8, 23u8, 235u8, 152u8, 226u8, 216u8, + 4u8, 120u8, 121u8, 27u8, 138u8, + ], + ) + } + #[doc = " The public proposals. Unsorted. The second item is the proposal."] + pub fn public_props( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::subxt::utils::AccountId32, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "PublicProps", + vec![], + [ + 63u8, 172u8, 211u8, 85u8, 27u8, 14u8, 86u8, 49u8, 133u8, 5u8, + 132u8, 189u8, 138u8, 137u8, 219u8, 37u8, 209u8, 49u8, 172u8, + 86u8, 240u8, 235u8, 42u8, 201u8, 203u8, 12u8, 122u8, 225u8, + 0u8, 109u8, 205u8, 103u8, + ], + ) + } + #[doc = " Those who have locked a deposit."] + #[doc = ""] + #[doc = " TWOX-NOTE: Safe, as increasing integer keys are safe."] + pub fn deposit_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "DepositOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 9u8, 219u8, 11u8, 58u8, 17u8, 194u8, 248u8, 154u8, 135u8, + 119u8, 123u8, 235u8, 252u8, 176u8, 190u8, 162u8, 236u8, 45u8, + 237u8, 125u8, 98u8, 176u8, 184u8, 160u8, 8u8, 181u8, 213u8, + 65u8, 14u8, 84u8, 200u8, 64u8, + ], + ) + } + #[doc = " Those who have locked a deposit."] + #[doc = ""] + #[doc = " TWOX-NOTE: Safe, as increasing integer keys are safe."] + pub fn deposit_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + ::core::primitive::u128, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "DepositOf", + Vec::new(), + [ + 9u8, 219u8, 11u8, 58u8, 17u8, 194u8, 248u8, 154u8, 135u8, + 119u8, 123u8, 235u8, 252u8, 176u8, 190u8, 162u8, 236u8, 45u8, + 237u8, 125u8, 98u8, 176u8, 184u8, 160u8, 8u8, 181u8, 213u8, + 65u8, 14u8, 84u8, 200u8, 64u8, + ], + ) + } + #[doc = " The next free referendum index, aka the number of referenda started so far."] + pub fn referendum_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "ReferendumCount", + vec![], + [ + 153u8, 210u8, 106u8, 244u8, 156u8, 70u8, 124u8, 251u8, 123u8, + 75u8, 7u8, 189u8, 199u8, 145u8, 95u8, 119u8, 137u8, 11u8, + 240u8, 160u8, 151u8, 248u8, 229u8, 231u8, 89u8, 222u8, 18u8, + 237u8, 144u8, 78u8, 99u8, 58u8, + ], + ) + } + #[doc = " The lowest referendum index representing an unbaked referendum. Equal to"] + #[doc = " `ReferendumCount` if there isn't a unbaked referendum."] + pub fn lowest_unbaked( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "LowestUnbaked", + vec![], + [ + 4u8, 51u8, 108u8, 11u8, 48u8, 165u8, 19u8, 251u8, 182u8, + 76u8, 163u8, 73u8, 227u8, 2u8, 212u8, 74u8, 128u8, 27u8, + 165u8, 164u8, 111u8, 22u8, 209u8, 190u8, 103u8, 7u8, 116u8, + 16u8, 160u8, 144u8, 123u8, 64u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE as indexes are not under an attacker’s control."] + pub fn referendum_info_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_democracy::types::ReferendumInfo< + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "ReferendumInfoOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 167u8, 58u8, 230u8, 197u8, 185u8, 56u8, 181u8, 32u8, 81u8, + 150u8, 29u8, 138u8, 142u8, 38u8, 255u8, 216u8, 139u8, 93u8, + 56u8, 148u8, 196u8, 169u8, 168u8, 144u8, 193u8, 200u8, 187u8, + 5u8, 141u8, 201u8, 254u8, 248u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE as indexes are not under an attacker’s control."] + pub fn referendum_info_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_democracy::types::ReferendumInfo< + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "ReferendumInfoOf", + Vec::new(), + [ + 167u8, 58u8, 230u8, 197u8, 185u8, 56u8, 181u8, 32u8, 81u8, + 150u8, 29u8, 138u8, 142u8, 38u8, 255u8, 216u8, 139u8, 93u8, + 56u8, 148u8, 196u8, 169u8, 168u8, 144u8, 193u8, 200u8, 187u8, + 5u8, 141u8, 201u8, 254u8, 248u8, + ], + ) + } + #[doc = " All votes for a particular voter. We store the balance for the number of votes that we"] + #[doc = " have recorded. The second item is the total amount of delegations, that will be added."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway."] + pub fn voting_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_democracy::vote::Voting< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "VotingOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 125u8, 121u8, 167u8, 170u8, 18u8, 194u8, 183u8, 38u8, 176u8, + 48u8, 30u8, 88u8, 233u8, 196u8, 33u8, 119u8, 160u8, 201u8, + 29u8, 183u8, 88u8, 67u8, 219u8, 137u8, 6u8, 195u8, 11u8, + 63u8, 162u8, 181u8, 82u8, 243u8, + ], + ) + } + #[doc = " All votes for a particular voter. We store the balance for the number of votes that we"] + #[doc = " have recorded. The second item is the total amount of delegations, that will be added."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway."] + pub fn voting_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_democracy::vote::Voting< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "VotingOf", + Vec::new(), + [ + 125u8, 121u8, 167u8, 170u8, 18u8, 194u8, 183u8, 38u8, 176u8, + 48u8, 30u8, 88u8, 233u8, 196u8, 33u8, 119u8, 160u8, 201u8, + 29u8, 183u8, 88u8, 67u8, 219u8, 137u8, 6u8, 195u8, 11u8, + 63u8, 162u8, 181u8, 82u8, 243u8, + ], + ) + } + #[doc = " True if the last referendum tabled was submitted externally. False if it was a public"] + #[doc = " proposal."] + pub fn last_tabled_was_external( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "LastTabledWasExternal", + vec![], + [ + 3u8, 67u8, 106u8, 1u8, 89u8, 204u8, 4u8, 145u8, 121u8, 44u8, + 34u8, 76u8, 18u8, 206u8, 65u8, 214u8, 222u8, 82u8, 31u8, + 223u8, 144u8, 169u8, 17u8, 6u8, 138u8, 36u8, 113u8, 155u8, + 241u8, 106u8, 189u8, 218u8, + ], + ) + } + #[doc = " The referendum to be tabled whenever it would be valid to table an external proposal."] + #[doc = " This happens when a referendum needs to be tabled and one of two conditions are met:"] + #[doc = " - `LastTabledWasExternal` is `false`; or"] + #[doc = " - `PublicProps` is empty."] + pub fn next_external( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + runtime_types::pallet_democracy::vote_threshold::VoteThreshold, + )>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "NextExternal", + vec![], + [ + 213u8, 36u8, 235u8, 75u8, 153u8, 33u8, 140u8, 121u8, 191u8, + 197u8, 17u8, 57u8, 234u8, 67u8, 81u8, 55u8, 123u8, 179u8, + 207u8, 124u8, 238u8, 147u8, 243u8, 126u8, 200u8, 2u8, 16u8, + 143u8, 165u8, 143u8, 159u8, 93u8, + ], + ) + } + #[doc = " A record of who vetoed what. Maps proposal hash to a possible existent block number"] + #[doc = " (until when it may not be resubmitted) and who vetoed it."] + pub fn blacklist( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "Blacklist", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 8u8, 227u8, 185u8, 179u8, 192u8, 92u8, 171u8, 125u8, 237u8, + 224u8, 109u8, 207u8, 44u8, 181u8, 78u8, 17u8, 254u8, 183u8, + 199u8, 241u8, 49u8, 90u8, 101u8, 168u8, 46u8, 89u8, 253u8, + 155u8, 38u8, 183u8, 112u8, 35u8, + ], + ) + } + #[doc = " A record of who vetoed what. Maps proposal hash to a possible existent block number"] + #[doc = " (until when it may not be resubmitted) and who vetoed it."] + pub fn blacklist_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "Blacklist", + Vec::new(), + [ + 8u8, 227u8, 185u8, 179u8, 192u8, 92u8, 171u8, 125u8, 237u8, + 224u8, 109u8, 207u8, 44u8, 181u8, 78u8, 17u8, 254u8, 183u8, + 199u8, 241u8, 49u8, 90u8, 101u8, 168u8, 46u8, 89u8, 253u8, + 155u8, 38u8, 183u8, 112u8, 35u8, + ], + ) + } + #[doc = " Record of all proposals that have been subject to emergency cancellation."] + pub fn cancellations( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "Cancellations", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 154u8, 36u8, 172u8, 46u8, 65u8, 218u8, 30u8, 151u8, 173u8, + 186u8, 166u8, 79u8, 35u8, 226u8, 94u8, 200u8, 67u8, 44u8, + 47u8, 7u8, 17u8, 89u8, 169u8, 166u8, 236u8, 101u8, 68u8, + 54u8, 114u8, 141u8, 177u8, 135u8, + ], + ) + } + #[doc = " Record of all proposals that have been subject to emergency cancellation."] + pub fn cancellations_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Democracy", + "Cancellations", + Vec::new(), + [ + 154u8, 36u8, 172u8, 46u8, 65u8, 218u8, 30u8, 151u8, 173u8, + 186u8, 166u8, 79u8, 35u8, 226u8, 94u8, 200u8, 67u8, 44u8, + 47u8, 7u8, 17u8, 89u8, 169u8, 166u8, 236u8, 101u8, 68u8, + 54u8, 114u8, 141u8, 177u8, 135u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The period between a proposal being approved and enacted."] + #[doc = ""] + #[doc = " It should generally be a little more than the unstake period to ensure that"] + #[doc = " voting stakers have an opportunity to remove themselves from the system in the case"] + #[doc = " where they are on the losing side of a vote."] + pub fn enactment_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "EnactmentPeriod", + [ + 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 = " How often (in blocks) new public referenda are launched."] + pub fn launch_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "LaunchPeriod", + [ + 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 = " How often (in blocks) to check for new votes."] + pub fn voting_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "VotingPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The minimum period of vote locking."] + #[doc = ""] + #[doc = " It should be no shorter than enactment period to ensure that in the case of an approval,"] + #[doc = " those successful voters are locked into the consequences that their votes entail."] + pub fn vote_locking_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "VoteLockingPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The minimum amount to be used as a deposit for a public referendum proposal."] + pub fn minimum_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "MinimumDeposit", + [ + 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 = " Indicator for whether an emergency origin is even allowed to happen. Some chains may"] + #[doc = " want to set this permanently to `false`, others may want to condition it on things such"] + #[doc = " as an upgrade having happened recently."] + pub fn instant_allowed( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "InstantAllowed", + [ + 165u8, 28u8, 112u8, 190u8, 18u8, 129u8, 182u8, 206u8, 237u8, + 1u8, 68u8, 252u8, 125u8, 234u8, 185u8, 50u8, 149u8, 164u8, + 47u8, 126u8, 134u8, 100u8, 14u8, 86u8, 209u8, 39u8, 20u8, + 4u8, 233u8, 115u8, 102u8, 131u8, + ], + ) + } + #[doc = " Minimum voting period allowed for a fast-track referendum."] + pub fn fast_track_voting_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "FastTrackVotingPeriod", + [ + 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 = " Period in blocks where an external proposal may not be re-submitted after being vetoed."] + pub fn cooloff_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "CooloffPeriod", + [ + 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 votes for an account."] + #[doc = ""] + #[doc = " Also used to compute weight, an overly big value can"] + #[doc = " lead to extrinsic with very big weight: see `delegate` for instance."] + pub fn max_votes( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "MaxVotes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum number of public proposals that can exist at any time."] + pub fn max_proposals( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "MaxProposals", + [ + 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 deposits a public proposal may have at any time."] + pub fn max_deposits( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "MaxDeposits", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum number of items which can be blacklisted."] + pub fn max_blacklisted( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Democracy", + "MaxBlacklisted", + [ + 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 council { + 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 SetMembers { + pub new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub prime: ::core::option::Option<::subxt::utils::AccountId32>, + pub old_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Execute { + pub proposal: + ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Propose { + #[codec(compact)] + pub threshold: ::core::primitive::u32, + pub proposal: + ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote { + pub proposal: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub approve: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CloseOldWeight { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + #[codec(compact)] + pub proposal_weight_bound: runtime_types::sp_weights::OldWeight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DisapproveProposal { + pub proposal_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Close { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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 = "Requires root origin."] + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] + #[doc = " members"] + #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] + #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] + #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] + #[doc = "# "] + pub fn set_members( + &self, + new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + prime: ::core::option::Option<::subxt::utils::AccountId32>, + old_count: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Council", + "set_members", + SetMembers { + new_members, + prime, + old_count, + }, + [ + 196u8, 103u8, 123u8, 125u8, 226u8, 177u8, 126u8, 37u8, 160u8, + 114u8, 34u8, 136u8, 219u8, 84u8, 199u8, 94u8, 242u8, 20u8, + 126u8, 126u8, 166u8, 190u8, 198u8, 33u8, 162u8, 113u8, 237u8, + 222u8, 90u8, 1u8, 2u8, 234u8, + ], + ) + } + #[doc = "Dispatch a proposal from a member using the `Member` origin."] + #[doc = ""] + #[doc = "Origin must be a member of the collective."] + #[doc = ""] + #[doc = "# "] + #[doc = "## Weight"] + #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] + #[doc = " `proposal`"] + #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] + #[doc = "- 1 event"] + #[doc = "# "] + pub fn execute( + &self, + proposal: runtime_types::kitchensink_runtime::RuntimeCall, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Council", + "execute", + Execute { + proposal: ::std::boxed::Box::new(proposal), + length_bound, + }, + [ + 11u8, 230u8, 151u8, 156u8, 17u8, 226u8, 224u8, 243u8, 34u8, + 47u8, 174u8, 194u8, 108u8, 108u8, 225u8, 234u8, 208u8, 246u8, + 234u8, 1u8, 163u8, 25u8, 151u8, 208u8, 10u8, 87u8, 0u8, 47u8, + 171u8, 217u8, 193u8, 141u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[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`)"] + #[doc = "- DB:"] + #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] + #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] + #[doc = " - DB accesses influenced by `threshold`:"] + #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] + #[doc = " - OR proposal insertion (`threshold <= 2`)"] + #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] + #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] + #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] + #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] + #[doc = " - 1 event"] + #[doc = "# "] + pub fn propose( + &self, + threshold: ::core::primitive::u32, + proposal: runtime_types::kitchensink_runtime::RuntimeCall, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Council", + "propose", + Propose { + threshold, + proposal: ::std::boxed::Box::new(proposal), + length_bound, + }, + [ + 86u8, 118u8, 118u8, 134u8, 244u8, 21u8, 74u8, 68u8, 219u8, + 175u8, 153u8, 175u8, 75u8, 118u8, 200u8, 66u8, 152u8, 203u8, + 5u8, 224u8, 152u8, 129u8, 167u8, 208u8, 225u8, 247u8, 119u8, + 116u8, 33u8, 68u8, 75u8, 245u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] + #[doc = "- DB:"] + #[doc = " - 1 storage read `Members` (codec `O(M)`)"] + #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] + #[doc = "- 1 event"] + #[doc = "# "] + pub fn vote( + &self, + proposal: ::subxt::utils::H256, + index: ::core::primitive::u32, + approve: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Council", + "vote", + Vote { + proposal, + index, + approve, + }, + [ + 108u8, 46u8, 180u8, 148u8, 145u8, 24u8, 173u8, 56u8, 36u8, + 100u8, 216u8, 43u8, 178u8, 202u8, 26u8, 136u8, 93u8, 84u8, + 80u8, 134u8, 14u8, 42u8, 248u8, 205u8, 68u8, 92u8, 79u8, + 11u8, 113u8, 115u8, 157u8, 100u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] + #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] + #[doc = " `O(P2)`)"] + #[doc = " - any mutations done while executing `proposal` (`P1`)"] + #[doc = "- up to 3 events"] + #[doc = "# "] + pub fn close_old_weight( + &self, + proposal_hash: ::subxt::utils::H256, + index: ::core::primitive::u32, + proposal_weight_bound: runtime_types::sp_weights::OldWeight, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Council", + "close_old_weight", + CloseOldWeight { + proposal_hash, + index, + proposal_weight_bound, + length_bound, + }, + [ + 133u8, 219u8, 90u8, 40u8, 102u8, 95u8, 4u8, 199u8, 45u8, + 234u8, 109u8, 17u8, 162u8, 63u8, 102u8, 186u8, 95u8, 182u8, + 13u8, 123u8, 227u8, 20u8, 186u8, 207u8, 12u8, 47u8, 87u8, + 252u8, 244u8, 172u8, 60u8, 206u8, + ], + ) + } + #[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 = "# "] + #[doc = "Complexity: O(P) where P is the number of max proposals"] + #[doc = "DB Weight:"] + #[doc = "* Reads: Proposals"] + #[doc = "* Writes: Voting, Proposals, ProposalOf"] + #[doc = "# "] + pub fn disapprove_proposal( + &self, + proposal_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Council", + "disapprove_proposal", + DisapproveProposal { proposal_hash }, + [ + 25u8, 123u8, 1u8, 8u8, 74u8, 37u8, 3u8, 40u8, 97u8, 37u8, + 175u8, 224u8, 72u8, 155u8, 123u8, 109u8, 104u8, 43u8, 91u8, + 125u8, 199u8, 51u8, 17u8, 225u8, 133u8, 38u8, 120u8, 76u8, + 164u8, 5u8, 194u8, 201u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] + #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] + #[doc = " `O(P2)`)"] + #[doc = " - any mutations done while executing `proposal` (`P1`)"] + #[doc = "- up to 3 events"] + #[doc = "# "] + pub fn close( + &self, + proposal_hash: ::subxt::utils::H256, + index: ::core::primitive::u32, + proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Council", + "close", + Close { + proposal_hash, + index, + proposal_weight_bound, + length_bound, + }, + [ + 191u8, 138u8, 89u8, 247u8, 97u8, 51u8, 45u8, 193u8, 76u8, + 16u8, 80u8, 225u8, 197u8, 83u8, 204u8, 133u8, 169u8, 16u8, + 86u8, 32u8, 125u8, 16u8, 116u8, 185u8, 45u8, 20u8, 76u8, + 148u8, 206u8, 163u8, 154u8, 30u8, + ], + ) + } + } + } + #[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_collective::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion (given hash) has been proposed (by given account) with a threshold (given"] + #[doc = "`MemberCount`)."] + pub struct Proposed { + pub account: ::subxt::utils::AccountId32, + pub proposal_index: ::core::primitive::u32, + pub proposal_hash: ::subxt::utils::H256, + pub threshold: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Proposed { + const PALLET: &'static str = "Council"; + const EVENT: &'static str = "Proposed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion (given hash) has been voted on by given account, leaving"] + #[doc = "a tally (yes votes and no votes given respectively as `MemberCount`)."] + pub struct Voted { + pub account: ::subxt::utils::AccountId32, + pub proposal_hash: ::subxt::utils::H256, + pub voted: ::core::primitive::bool, + pub yes: ::core::primitive::u32, + pub no: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Voted { + const PALLET: &'static str = "Council"; + const EVENT: &'static str = "Voted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion was approved by the required threshold."] + pub struct Approved { + pub proposal_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Approved { + const PALLET: &'static str = "Council"; + const EVENT: &'static str = "Approved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion was not approved by the required threshold."] + pub struct Disapproved { + pub proposal_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Disapproved { + const PALLET: &'static str = "Council"; + const EVENT: &'static str = "Disapproved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion was executed; result will be `Ok` if it returned without error."] + pub struct Executed { + pub proposal_hash: ::subxt::utils::H256, + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Executed { + const PALLET: &'static str = "Council"; + const EVENT: &'static str = "Executed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A single member did some action; result will be `Ok` if it returned without error."] + pub struct MemberExecuted { + pub proposal_hash: ::subxt::utils::H256, + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for MemberExecuted { + const PALLET: &'static str = "Council"; + const EVENT: &'static str = "MemberExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal was closed because its threshold was reached or after its duration was up."] + pub struct Closed { + pub proposal_hash: ::subxt::utils::H256, + pub yes: ::core::primitive::u32, + pub no: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Closed { + const PALLET: &'static str = "Council"; + const EVENT: &'static str = "Closed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The hashes of the active proposals."] + pub fn proposals( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::H256, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Council", + "Proposals", + vec![], + [ + 10u8, 133u8, 82u8, 54u8, 193u8, 41u8, 253u8, 159u8, 56u8, + 96u8, 249u8, 148u8, 43u8, 57u8, 116u8, 43u8, 222u8, 243u8, + 237u8, 231u8, 238u8, 60u8, 26u8, 225u8, 19u8, 203u8, 213u8, + 220u8, 114u8, 217u8, 100u8, 27u8, + ], + ) + } + #[doc = " Actual proposal for a given hash, if it's current."] + pub fn proposal_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Council", + "ProposalOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 7u8, 48u8, 66u8, 129u8, 189u8, 239u8, 162u8, 148u8, 206u8, + 226u8, 56u8, 83u8, 105u8, 85u8, 12u8, 168u8, 84u8, 118u8, + 7u8, 7u8, 100u8, 5u8, 245u8, 209u8, 143u8, 242u8, 48u8, 78u8, + 157u8, 98u8, 42u8, 127u8, + ], + ) + } + #[doc = " Actual proposal for a given hash, if it's current."] + pub fn proposal_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Council", + "ProposalOf", + Vec::new(), + [ + 7u8, 48u8, 66u8, 129u8, 189u8, 239u8, 162u8, 148u8, 206u8, + 226u8, 56u8, 83u8, 105u8, 85u8, 12u8, 168u8, 84u8, 118u8, + 7u8, 7u8, 100u8, 5u8, 245u8, 209u8, 143u8, 242u8, 48u8, 78u8, + 157u8, 98u8, 42u8, 127u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_collective::Votes< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Council", + "Voting", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 89u8, 108u8, 65u8, 58u8, 60u8, 116u8, 54u8, 68u8, 179u8, + 73u8, 161u8, 168u8, 78u8, 213u8, 208u8, 54u8, 244u8, 58u8, + 70u8, 209u8, 170u8, 136u8, 215u8, 3u8, 2u8, 105u8, 229u8, + 217u8, 240u8, 230u8, 107u8, 221u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_collective::Votes< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Council", + "Voting", + Vec::new(), + [ + 89u8, 108u8, 65u8, 58u8, 60u8, 116u8, 54u8, 68u8, 179u8, + 73u8, 161u8, 168u8, 78u8, 213u8, 208u8, 54u8, 244u8, 58u8, + 70u8, 209u8, 170u8, 136u8, 215u8, 3u8, 2u8, 105u8, 229u8, + 217u8, 240u8, 230u8, 107u8, 221u8, + ], + ) + } + #[doc = " Proposals so far."] + pub fn proposal_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Council", + "ProposalCount", + vec![], + [ + 132u8, 145u8, 78u8, 218u8, 51u8, 189u8, 55u8, 172u8, 143u8, + 33u8, 140u8, 99u8, 124u8, 208u8, 57u8, 232u8, 154u8, 110u8, + 32u8, 142u8, 24u8, 149u8, 109u8, 105u8, 30u8, 83u8, 39u8, + 177u8, 127u8, 160u8, 34u8, 70u8, + ], + ) + } + #[doc = " The current members of the collective. This is stored sorted (just by value)."] + pub fn members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::utils::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Council", + "Members", + vec![], + [ + 162u8, 72u8, 174u8, 204u8, 140u8, 105u8, 205u8, 176u8, 197u8, + 117u8, 206u8, 134u8, 157u8, 110u8, 139u8, 54u8, 43u8, 233u8, + 25u8, 51u8, 36u8, 238u8, 94u8, 124u8, 221u8, 52u8, 237u8, + 71u8, 125u8, 56u8, 129u8, 222u8, + ], + ) + } + #[doc = " The prime member that helps determine the default vote behavior in case of absentations."] + pub fn prime( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Council", + "Prime", + vec![], + [ + 108u8, 118u8, 54u8, 193u8, 207u8, 227u8, 119u8, 97u8, 23u8, + 239u8, 157u8, 69u8, 56u8, 142u8, 106u8, 17u8, 215u8, 159u8, + 48u8, 42u8, 185u8, 209u8, 49u8, 159u8, 32u8, 168u8, 111u8, + 158u8, 159u8, 217u8, 244u8, 158u8, + ], + ) + } + } + } + } + pub mod technical_committee { + 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 SetMembers { + pub new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub prime: ::core::option::Option<::subxt::utils::AccountId32>, + pub old_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Execute { + pub proposal: + ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Propose { + #[codec(compact)] + pub threshold: ::core::primitive::u32, + pub proposal: + ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote { + pub proposal: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub approve: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CloseOldWeight { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + #[codec(compact)] + pub proposal_weight_bound: runtime_types::sp_weights::OldWeight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DisapproveProposal { + pub proposal_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Close { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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 = "Requires root origin."] + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] + #[doc = " members"] + #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] + #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] + #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] + #[doc = "# "] + pub fn set_members( + &self, + new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + prime: ::core::option::Option<::subxt::utils::AccountId32>, + old_count: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalCommittee", + "set_members", + SetMembers { + new_members, + prime, + old_count, + }, + [ + 196u8, 103u8, 123u8, 125u8, 226u8, 177u8, 126u8, 37u8, 160u8, + 114u8, 34u8, 136u8, 219u8, 84u8, 199u8, 94u8, 242u8, 20u8, + 126u8, 126u8, 166u8, 190u8, 198u8, 33u8, 162u8, 113u8, 237u8, + 222u8, 90u8, 1u8, 2u8, 234u8, + ], + ) + } + #[doc = "Dispatch a proposal from a member using the `Member` origin."] + #[doc = ""] + #[doc = "Origin must be a member of the collective."] + #[doc = ""] + #[doc = "# "] + #[doc = "## Weight"] + #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] + #[doc = " `proposal`"] + #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] + #[doc = "- 1 event"] + #[doc = "# "] + pub fn execute( + &self, + proposal: runtime_types::kitchensink_runtime::RuntimeCall, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalCommittee", + "execute", + Execute { + proposal: ::std::boxed::Box::new(proposal), + length_bound, + }, + [ + 11u8, 230u8, 151u8, 156u8, 17u8, 226u8, 224u8, 243u8, 34u8, + 47u8, 174u8, 194u8, 108u8, 108u8, 225u8, 234u8, 208u8, 246u8, + 234u8, 1u8, 163u8, 25u8, 151u8, 208u8, 10u8, 87u8, 0u8, 47u8, + 171u8, 217u8, 193u8, 141u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[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`)"] + #[doc = "- DB:"] + #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] + #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] + #[doc = " - DB accesses influenced by `threshold`:"] + #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] + #[doc = " - OR proposal insertion (`threshold <= 2`)"] + #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] + #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] + #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] + #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] + #[doc = " - 1 event"] + #[doc = "# "] + pub fn propose( + &self, + threshold: ::core::primitive::u32, + proposal: runtime_types::kitchensink_runtime::RuntimeCall, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalCommittee", + "propose", + Propose { + threshold, + proposal: ::std::boxed::Box::new(proposal), + length_bound, + }, + [ + 86u8, 118u8, 118u8, 134u8, 244u8, 21u8, 74u8, 68u8, 219u8, + 175u8, 153u8, 175u8, 75u8, 118u8, 200u8, 66u8, 152u8, 203u8, + 5u8, 224u8, 152u8, 129u8, 167u8, 208u8, 225u8, 247u8, 119u8, + 116u8, 33u8, 68u8, 75u8, 245u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] + #[doc = "- DB:"] + #[doc = " - 1 storage read `Members` (codec `O(M)`)"] + #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] + #[doc = "- 1 event"] + #[doc = "# "] + pub fn vote( + &self, + proposal: ::subxt::utils::H256, + index: ::core::primitive::u32, + approve: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalCommittee", + "vote", + Vote { + proposal, + index, + approve, + }, + [ + 108u8, 46u8, 180u8, 148u8, 145u8, 24u8, 173u8, 56u8, 36u8, + 100u8, 216u8, 43u8, 178u8, 202u8, 26u8, 136u8, 93u8, 84u8, + 80u8, 134u8, 14u8, 42u8, 248u8, 205u8, 68u8, 92u8, 79u8, + 11u8, 113u8, 115u8, 157u8, 100u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] + #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] + #[doc = " `O(P2)`)"] + #[doc = " - any mutations done while executing `proposal` (`P1`)"] + #[doc = "- up to 3 events"] + #[doc = "# "] + pub fn close_old_weight( + &self, + proposal_hash: ::subxt::utils::H256, + index: ::core::primitive::u32, + proposal_weight_bound: runtime_types::sp_weights::OldWeight, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalCommittee", + "close_old_weight", + CloseOldWeight { + proposal_hash, + index, + proposal_weight_bound, + length_bound, + }, + [ + 133u8, 219u8, 90u8, 40u8, 102u8, 95u8, 4u8, 199u8, 45u8, + 234u8, 109u8, 17u8, 162u8, 63u8, 102u8, 186u8, 95u8, 182u8, + 13u8, 123u8, 227u8, 20u8, 186u8, 207u8, 12u8, 47u8, 87u8, + 252u8, 244u8, 172u8, 60u8, 206u8, + ], + ) + } + #[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 = "# "] + #[doc = "Complexity: O(P) where P is the number of max proposals"] + #[doc = "DB Weight:"] + #[doc = "* Reads: Proposals"] + #[doc = "* Writes: Voting, Proposals, ProposalOf"] + #[doc = "# "] + pub fn disapprove_proposal( + &self, + proposal_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalCommittee", + "disapprove_proposal", + DisapproveProposal { proposal_hash }, + [ + 25u8, 123u8, 1u8, 8u8, 74u8, 37u8, 3u8, 40u8, 97u8, 37u8, + 175u8, 224u8, 72u8, 155u8, 123u8, 109u8, 104u8, 43u8, 91u8, + 125u8, 199u8, 51u8, 17u8, 225u8, 133u8, 38u8, 120u8, 76u8, + 164u8, 5u8, 194u8, 201u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] + #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] + #[doc = " `O(P2)`)"] + #[doc = " - any mutations done while executing `proposal` (`P1`)"] + #[doc = "- up to 3 events"] + #[doc = "# "] + pub fn close( + &self, + proposal_hash: ::subxt::utils::H256, + index: ::core::primitive::u32, + proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalCommittee", + "close", + Close { + proposal_hash, + index, + proposal_weight_bound, + length_bound, + }, + [ + 191u8, 138u8, 89u8, 247u8, 97u8, 51u8, 45u8, 193u8, 76u8, + 16u8, 80u8, 225u8, 197u8, 83u8, 204u8, 133u8, 169u8, 16u8, + 86u8, 32u8, 125u8, 16u8, 116u8, 185u8, 45u8, 20u8, 76u8, + 148u8, 206u8, 163u8, 154u8, 30u8, + ], + ) + } + } + } + #[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_collective::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion (given hash) has been proposed (by given account) with a threshold (given"] + #[doc = "`MemberCount`)."] + pub struct Proposed { + pub account: ::subxt::utils::AccountId32, + pub proposal_index: ::core::primitive::u32, + pub proposal_hash: ::subxt::utils::H256, + pub threshold: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Proposed { + const PALLET: &'static str = "TechnicalCommittee"; + const EVENT: &'static str = "Proposed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion (given hash) has been voted on by given account, leaving"] + #[doc = "a tally (yes votes and no votes given respectively as `MemberCount`)."] + pub struct Voted { + pub account: ::subxt::utils::AccountId32, + pub proposal_hash: ::subxt::utils::H256, + pub voted: ::core::primitive::bool, + pub yes: ::core::primitive::u32, + pub no: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Voted { + const PALLET: &'static str = "TechnicalCommittee"; + const EVENT: &'static str = "Voted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion was approved by the required threshold."] + pub struct Approved { + pub proposal_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Approved { + const PALLET: &'static str = "TechnicalCommittee"; + const EVENT: &'static str = "Approved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion was not approved by the required threshold."] + pub struct Disapproved { + pub proposal_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Disapproved { + const PALLET: &'static str = "TechnicalCommittee"; + const EVENT: &'static str = "Disapproved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion was executed; result will be `Ok` if it returned without error."] + pub struct Executed { + pub proposal_hash: ::subxt::utils::H256, + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Executed { + const PALLET: &'static str = "TechnicalCommittee"; + const EVENT: &'static str = "Executed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A single member did some action; result will be `Ok` if it returned without error."] + pub struct MemberExecuted { + pub proposal_hash: ::subxt::utils::H256, + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for MemberExecuted { + const PALLET: &'static str = "TechnicalCommittee"; + const EVENT: &'static str = "MemberExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal was closed because its threshold was reached or after its duration was up."] + pub struct Closed { + pub proposal_hash: ::subxt::utils::H256, + pub yes: ::core::primitive::u32, + pub no: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Closed { + const PALLET: &'static str = "TechnicalCommittee"; + const EVENT: &'static str = "Closed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The hashes of the active proposals."] + pub fn proposals( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::H256, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalCommittee", + "Proposals", + vec![], + [ + 10u8, 133u8, 82u8, 54u8, 193u8, 41u8, 253u8, 159u8, 56u8, + 96u8, 249u8, 148u8, 43u8, 57u8, 116u8, 43u8, 222u8, 243u8, + 237u8, 231u8, 238u8, 60u8, 26u8, 225u8, 19u8, 203u8, 213u8, + 220u8, 114u8, 217u8, 100u8, 27u8, + ], + ) + } + #[doc = " Actual proposal for a given hash, if it's current."] + pub fn proposal_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalCommittee", + "ProposalOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 7u8, 48u8, 66u8, 129u8, 189u8, 239u8, 162u8, 148u8, 206u8, + 226u8, 56u8, 83u8, 105u8, 85u8, 12u8, 168u8, 84u8, 118u8, + 7u8, 7u8, 100u8, 5u8, 245u8, 209u8, 143u8, 242u8, 48u8, 78u8, + 157u8, 98u8, 42u8, 127u8, + ], + ) + } + #[doc = " Actual proposal for a given hash, if it's current."] + pub fn proposal_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalCommittee", + "ProposalOf", + Vec::new(), + [ + 7u8, 48u8, 66u8, 129u8, 189u8, 239u8, 162u8, 148u8, 206u8, + 226u8, 56u8, 83u8, 105u8, 85u8, 12u8, 168u8, 84u8, 118u8, + 7u8, 7u8, 100u8, 5u8, 245u8, 209u8, 143u8, 242u8, 48u8, 78u8, + 157u8, 98u8, 42u8, 127u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_collective::Votes< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalCommittee", + "Voting", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 89u8, 108u8, 65u8, 58u8, 60u8, 116u8, 54u8, 68u8, 179u8, + 73u8, 161u8, 168u8, 78u8, 213u8, 208u8, 54u8, 244u8, 58u8, + 70u8, 209u8, 170u8, 136u8, 215u8, 3u8, 2u8, 105u8, 229u8, + 217u8, 240u8, 230u8, 107u8, 221u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_collective::Votes< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalCommittee", + "Voting", + Vec::new(), + [ + 89u8, 108u8, 65u8, 58u8, 60u8, 116u8, 54u8, 68u8, 179u8, + 73u8, 161u8, 168u8, 78u8, 213u8, 208u8, 54u8, 244u8, 58u8, + 70u8, 209u8, 170u8, 136u8, 215u8, 3u8, 2u8, 105u8, 229u8, + 217u8, 240u8, 230u8, 107u8, 221u8, + ], + ) + } + #[doc = " Proposals so far."] + pub fn proposal_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalCommittee", + "ProposalCount", + vec![], + [ + 132u8, 145u8, 78u8, 218u8, 51u8, 189u8, 55u8, 172u8, 143u8, + 33u8, 140u8, 99u8, 124u8, 208u8, 57u8, 232u8, 154u8, 110u8, + 32u8, 142u8, 24u8, 149u8, 109u8, 105u8, 30u8, 83u8, 39u8, + 177u8, 127u8, 160u8, 34u8, 70u8, + ], + ) + } + #[doc = " The current members of the collective. This is stored sorted (just by value)."] + pub fn members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::utils::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalCommittee", + "Members", + vec![], + [ + 162u8, 72u8, 174u8, 204u8, 140u8, 105u8, 205u8, 176u8, 197u8, + 117u8, 206u8, 134u8, 157u8, 110u8, 139u8, 54u8, 43u8, 233u8, + 25u8, 51u8, 36u8, 238u8, 94u8, 124u8, 221u8, 52u8, 237u8, + 71u8, 125u8, 56u8, 129u8, 222u8, + ], + ) + } + #[doc = " The prime member that helps determine the default vote behavior in case of absentations."] + pub fn prime( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalCommittee", + "Prime", + vec![], + [ + 108u8, 118u8, 54u8, 193u8, 207u8, 227u8, 119u8, 97u8, 23u8, + 239u8, 157u8, 69u8, 56u8, 142u8, 106u8, 17u8, 215u8, 159u8, + 48u8, 42u8, 185u8, 209u8, 49u8, 159u8, 32u8, 168u8, 111u8, + 158u8, 159u8, 217u8, 244u8, 158u8, + ], + ) + } + } + } + } + pub mod elections { + 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 Vote { + pub votes: ::std::vec::Vec<::subxt::utils::AccountId32>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveVoter; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SubmitCandidacy { + #[codec(compact)] + pub candidate_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RenounceCandidacy { + pub renouncing: runtime_types::pallet_elections_phragmen::Renouncing, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveMember { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub slash_bond: ::core::primitive::bool, + pub rerun_election: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CleanDefunctVoters { + pub num_voters: ::core::primitive::u32, + pub num_defunct: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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."] + #[doc = ""] + #[doc = "# "] + #[doc = "We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less."] + #[doc = "# "] + pub fn vote( + &self, + votes: ::std::vec::Vec<::subxt::utils::AccountId32>, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "vote", + Vote { votes, value }, + [ + 71u8, 90u8, 175u8, 225u8, 51u8, 202u8, 197u8, 252u8, 183u8, + 92u8, 239u8, 83u8, 112u8, 144u8, 128u8, 211u8, 109u8, 33u8, + 252u8, 6u8, 156u8, 15u8, 91u8, 88u8, 70u8, 19u8, 32u8, 29u8, + 224u8, 255u8, 26u8, 145u8, + ], + ) + } + #[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."] + pub fn remove_voter(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "remove_voter", + RemoveVoter {}, + [ + 254u8, 46u8, 140u8, 4u8, 218u8, 45u8, 150u8, 72u8, 67u8, + 131u8, 108u8, 201u8, 46u8, 157u8, 104u8, 161u8, 53u8, 155u8, + 130u8, 50u8, 88u8, 149u8, 255u8, 12u8, 17u8, 85u8, 95u8, + 69u8, 153u8, 130u8, 221u8, 1u8, + ], + ) + } + #[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 = "# "] + #[doc = "The number of current candidates must be provided as witness data."] + #[doc = "# "] + pub fn submit_candidacy( + &self, + candidate_count: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "submit_candidacy", + SubmitCandidacy { candidate_count }, + [ + 228u8, 63u8, 217u8, 99u8, 128u8, 104u8, 175u8, 10u8, 30u8, + 35u8, 47u8, 14u8, 254u8, 122u8, 146u8, 239u8, 61u8, 145u8, + 82u8, 7u8, 181u8, 98u8, 238u8, 208u8, 23u8, 84u8, 48u8, + 255u8, 177u8, 255u8, 84u8, 83u8, + ], + ) + } + #[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 = ""] + #[doc = "# "] + #[doc = "The type of renouncing must be provided as witness data."] + #[doc = "# "] + pub fn renounce_candidacy( + &self, + renouncing: runtime_types::pallet_elections_phragmen::Renouncing, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "renounce_candidacy", + RenounceCandidacy { renouncing }, + [ + 70u8, 72u8, 208u8, 36u8, 80u8, 245u8, 224u8, 75u8, 60u8, + 142u8, 19u8, 49u8, 142u8, 90u8, 14u8, 69u8, 15u8, 61u8, + 170u8, 235u8, 16u8, 252u8, 86u8, 200u8, 120u8, 127u8, 36u8, + 42u8, 143u8, 130u8, 217u8, 128u8, + ], + ) + } + #[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 = "# "] + #[doc = "If we have a replacement, we use a small weight. Else, since this is a root call and"] + #[doc = "will go into phragmen, we assume full block for now."] + #[doc = "# "] + pub fn remove_member( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + slash_bond: ::core::primitive::bool, + rerun_election: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "remove_member", + RemoveMember { + who, + slash_bond, + rerun_election, + }, + [ + 178u8, 90u8, 236u8, 184u8, 2u8, 67u8, 51u8, 162u8, 83u8, + 131u8, 242u8, 137u8, 17u8, 243u8, 209u8, 110u8, 26u8, 238u8, + 178u8, 136u8, 84u8, 74u8, 216u8, 173u8, 221u8, 82u8, 179u8, + 218u8, 162u8, 159u8, 185u8, 59u8, + ], + ) + } + #[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 = "# "] + #[doc = "The total number of voters and those that are defunct must be provided as witness data."] + #[doc = "# "] + pub fn clean_defunct_voters( + &self, + num_voters: ::core::primitive::u32, + num_defunct: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "clean_defunct_voters", + CleanDefunctVoters { + num_voters, + num_defunct, + }, + [ + 198u8, 162u8, 30u8, 249u8, 191u8, 38u8, 141u8, 123u8, 230u8, + 90u8, 213u8, 103u8, 168u8, 28u8, 5u8, 215u8, 213u8, 152u8, + 46u8, 189u8, 238u8, 209u8, 209u8, 142u8, 159u8, 222u8, 161u8, + 26u8, 161u8, 250u8, 9u8, 100u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_elections_phragmen::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new term with new_members. This indicates that enough candidates existed to run"] + #[doc = "the election, not that enough have has been elected. The inner value must be examined"] + #[doc = "for this purpose. A `NewTerm(\\[\\])` indicates that some candidates got their bond"] + #[doc = "slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to"] + #[doc = "begin with."] + pub struct NewTerm { + pub new_members: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + ::core::primitive::u128, + )>, + } + impl ::subxt::events::StaticEvent for NewTerm { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "NewTerm"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "No (or not enough) candidates existed for this round. This is different from"] + #[doc = "`NewTerm(\\[\\])`. See the description of `NewTerm`."] + pub struct EmptyTerm; + impl ::subxt::events::StaticEvent for EmptyTerm { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "EmptyTerm"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Internal error happened while trying to perform election."] + pub struct ElectionError; + impl ::subxt::events::StaticEvent for ElectionError { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "ElectionError"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member has been removed. This should always be followed by either `NewTerm` or"] + #[doc = "`EmptyTerm`."] + pub struct MemberKicked { + pub member: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for MemberKicked { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "MemberKicked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Someone has renounced their candidacy."] + pub struct Renounced { + pub candidate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Renounced { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "Renounced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A candidate was slashed by amount due to failing to obtain a seat as member or"] + #[doc = "runner-up."] + #[doc = ""] + #[doc = "Note that old members and runners-up are also candidates."] + pub struct CandidateSlashed { + pub candidate: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for CandidateSlashed { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "CandidateSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A seat holder was slashed by amount by being forcefully removed from the set."] + pub struct SeatHolderSlashed { + pub seat_holder: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SeatHolderSlashed { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "SeatHolderSlashed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current elected members."] + #[doc = ""] + #[doc = " Invariant: Always sorted based on account id."] + pub fn members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::pallet_elections_phragmen::SeatHolder< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "Members", + vec![], + [ + 2u8, 182u8, 43u8, 180u8, 87u8, 185u8, 26u8, 79u8, 196u8, + 55u8, 28u8, 26u8, 174u8, 133u8, 158u8, 221u8, 101u8, 161u8, + 83u8, 9u8, 221u8, 175u8, 221u8, 220u8, 81u8, 80u8, 1u8, + 236u8, 74u8, 121u8, 10u8, 82u8, + ], + ) + } + #[doc = " The current reserved runners-up."] + #[doc = ""] + #[doc = " Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the"] + #[doc = " last (i.e. _best_) runner-up will be replaced."] + pub fn runners_up( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::pallet_elections_phragmen::SeatHolder< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "RunnersUp", + vec![], + [ + 248u8, 81u8, 190u8, 53u8, 121u8, 49u8, 55u8, 69u8, 116u8, + 177u8, 46u8, 30u8, 131u8, 14u8, 32u8, 198u8, 10u8, 132u8, + 73u8, 117u8, 2u8, 146u8, 188u8, 146u8, 214u8, 227u8, 97u8, + 77u8, 7u8, 131u8, 208u8, 209u8, + ], + ) + } + #[doc = " The present candidate list. A current member or runner-up can never enter this vector"] + #[doc = " and is always implicitly assumed to be a candidate."] + #[doc = ""] + #[doc = " Second element is the deposit."] + #[doc = ""] + #[doc = " Invariant: Always sorted based on account id."] + pub fn candidates( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<( + ::subxt::utils::AccountId32, + ::core::primitive::u128, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "Candidates", + vec![], + [ + 224u8, 107u8, 141u8, 11u8, 54u8, 86u8, 117u8, 45u8, 195u8, + 252u8, 152u8, 21u8, 165u8, 23u8, 198u8, 117u8, 5u8, 216u8, + 183u8, 163u8, 243u8, 56u8, 11u8, 102u8, 85u8, 107u8, 219u8, + 250u8, 45u8, 80u8, 108u8, 127u8, + ], + ) + } + #[doc = " The total number of vote rounds that have happened, excluding the upcoming one."] + pub fn election_rounds( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "ElectionRounds", + vec![], + [ + 144u8, 146u8, 10u8, 32u8, 149u8, 147u8, 59u8, 205u8, 61u8, + 246u8, 28u8, 169u8, 130u8, 136u8, 143u8, 104u8, 253u8, 86u8, + 228u8, 68u8, 19u8, 184u8, 166u8, 214u8, 58u8, 103u8, 176u8, + 160u8, 240u8, 249u8, 117u8, 115u8, + ], + ) + } + #[doc = " Votes and locked stake of a particular voter."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE as `AccountId` is a crypto hash."] + pub fn voting( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_elections_phragmen::Voter< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "Voting", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 9u8, 135u8, 76u8, 194u8, 240u8, 182u8, 111u8, 207u8, 102u8, + 37u8, 126u8, 36u8, 84u8, 112u8, 26u8, 216u8, 175u8, 5u8, + 14u8, 189u8, 83u8, 185u8, 136u8, 39u8, 171u8, 221u8, 147u8, + 20u8, 168u8, 126u8, 111u8, 137u8, + ], + ) + } + #[doc = " Votes and locked stake of a particular voter."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE as `AccountId` is a crypto hash."] + pub fn voting_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_elections_phragmen::Voter< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "Voting", + Vec::new(), + [ + 9u8, 135u8, 76u8, 194u8, 240u8, 182u8, 111u8, 207u8, 102u8, + 37u8, 126u8, 36u8, 84u8, 112u8, 26u8, 216u8, 175u8, 5u8, + 14u8, 189u8, 83u8, 185u8, 136u8, 39u8, 171u8, 221u8, 147u8, + 20u8, 168u8, 126u8, 111u8, 137u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Identifier for the elections-phragmen pallet's lock"] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<[::core::primitive::u8; 8usize]>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "PalletId", + [ + 224u8, 197u8, 247u8, 125u8, 62u8, 180u8, 69u8, 91u8, 226u8, + 36u8, 82u8, 148u8, 70u8, 147u8, 209u8, 40u8, 210u8, 229u8, + 181u8, 191u8, 170u8, 205u8, 138u8, 97u8, 127u8, 59u8, 124u8, + 244u8, 252u8, 30u8, 213u8, 179u8, + ], + ) + } + #[doc = " How much should be locked up in order to submit one's candidacy."] + pub fn candidacy_bond( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "CandidacyBond", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Base deposit associated with voting."] + #[doc = ""] + #[doc = " This should be sensibly high to economically ensure the pallet cannot be attacked by"] + #[doc = " creating a gigantic number of votes."] + pub fn voting_bond_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "VotingBondBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of bond that need to be locked for each vote (32 bytes)."] + pub fn voting_bond_factor( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "VotingBondFactor", + [ + 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 = " Number of members to elect."] + pub fn desired_members( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "DesiredMembers", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Number of runners_up to keep."] + pub fn desired_runners_up( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "DesiredRunnersUp", + [ + 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 = " How long each seat is kept. This defines the next block number at which an election"] + #[doc = " round will happen. If set to zero, no elections are ever triggered and the module will"] + #[doc = " be in passive mode."] + pub fn term_duration( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "TermDuration", + [ + 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 candidates in a phragmen election."] + #[doc = ""] + #[doc = " Warning: The election happens onchain, and this value will determine"] + #[doc = " the size of the election. When this limit is reached no more"] + #[doc = " candidates are accepted in the election."] + pub fn max_candidates( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "MaxCandidates", + [ + 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 voters to allow in a phragmen election."] + #[doc = ""] + #[doc = " Warning: This impacts the size of the election which is run onchain."] + #[doc = " When the limit is reached the new voters are ignored."] + pub fn max_voters( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "MaxVoters", + [ + 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 technical_membership { + 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 AddMember { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveMember { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SwapMember { + pub remove: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub add: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ResetMembers { + pub members: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ChangeKey { + pub new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetPrime { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearPrime; + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Add a member `who` to the set."] + #[doc = ""] + #[doc = "May only be called from `T::AddOrigin`."] + pub fn add_member( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalMembership", + "add_member", + AddMember { who }, + [ + 168u8, 166u8, 6u8, 167u8, 12u8, 109u8, 99u8, 96u8, 240u8, + 57u8, 60u8, 174u8, 57u8, 52u8, 131u8, 16u8, 230u8, 172u8, + 23u8, 140u8, 48u8, 131u8, 73u8, 131u8, 133u8, 217u8, 137u8, + 50u8, 165u8, 149u8, 174u8, 188u8, + ], + ) + } + #[doc = "Remove a member `who` from the set."] + #[doc = ""] + #[doc = "May only be called from `T::RemoveOrigin`."] + pub fn remove_member( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalMembership", + "remove_member", + RemoveMember { who }, + [ + 33u8, 178u8, 96u8, 158u8, 126u8, 172u8, 0u8, 207u8, 143u8, + 144u8, 219u8, 28u8, 205u8, 197u8, 192u8, 195u8, 141u8, 26u8, + 39u8, 101u8, 140u8, 88u8, 212u8, 26u8, 221u8, 29u8, 187u8, + 160u8, 119u8, 101u8, 45u8, 162u8, + ], + ) + } + #[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."] + pub fn swap_member( + &self, + remove: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + add: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalMembership", + "swap_member", + SwapMember { remove, add }, + [ + 52u8, 10u8, 13u8, 175u8, 35u8, 141u8, 159u8, 135u8, 34u8, + 235u8, 117u8, 146u8, 134u8, 49u8, 76u8, 116u8, 93u8, 209u8, + 24u8, 242u8, 123u8, 82u8, 34u8, 192u8, 147u8, 237u8, 163u8, + 167u8, 18u8, 64u8, 196u8, 132u8, + ], + ) + } + #[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`."] + pub fn reset_members( + &self, + members: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalMembership", + "reset_members", + ResetMembers { members }, + [ + 9u8, 35u8, 28u8, 59u8, 158u8, 232u8, 89u8, 78u8, 101u8, 53u8, + 240u8, 98u8, 13u8, 104u8, 235u8, 161u8, 201u8, 150u8, 117u8, + 32u8, 75u8, 209u8, 166u8, 252u8, 57u8, 131u8, 96u8, 215u8, + 51u8, 81u8, 42u8, 123u8, + ], + ) + } + #[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."] + pub fn change_key( + &self, + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalMembership", + "change_key", + ChangeKey { new }, + [ + 202u8, 114u8, 208u8, 33u8, 254u8, 51u8, 31u8, 220u8, 229u8, + 251u8, 167u8, 149u8, 139u8, 131u8, 252u8, 100u8, 32u8, 20u8, + 72u8, 97u8, 5u8, 8u8, 25u8, 198u8, 95u8, 154u8, 73u8, 220u8, + 46u8, 85u8, 162u8, 40u8, + ], + ) + } + #[doc = "Set the prime member. Must be a current member."] + #[doc = ""] + #[doc = "May only be called from `T::PrimeOrigin`."] + pub fn set_prime( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalMembership", + "set_prime", + SetPrime { who }, + [ + 109u8, 16u8, 35u8, 72u8, 169u8, 141u8, 101u8, 209u8, 241u8, + 218u8, 170u8, 180u8, 37u8, 223u8, 249u8, 37u8, 168u8, 20u8, + 130u8, 30u8, 191u8, 157u8, 230u8, 156u8, 135u8, 73u8, 96u8, + 98u8, 193u8, 44u8, 38u8, 247u8, + ], + ) + } + #[doc = "Remove the prime member if it exists."] + #[doc = ""] + #[doc = "May only be called from `T::PrimeOrigin`."] + pub fn clear_prime(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TechnicalMembership", + "clear_prime", + ClearPrime {}, + [ + 186u8, 182u8, 225u8, 90u8, 71u8, 124u8, 69u8, 100u8, 234u8, + 25u8, 53u8, 23u8, 182u8, 32u8, 176u8, 81u8, 54u8, 140u8, + 235u8, 126u8, 247u8, 7u8, 155u8, 62u8, 35u8, 135u8, 48u8, + 61u8, 88u8, 160u8, 183u8, 72u8, + ], + ) + } + } + } + #[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_membership::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The given member was added; see the transaction for who."] + pub struct MemberAdded; + impl ::subxt::events::StaticEvent for MemberAdded { + const PALLET: &'static str = "TechnicalMembership"; + const EVENT: &'static str = "MemberAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The given member was removed; see the transaction for who."] + pub struct MemberRemoved; + impl ::subxt::events::StaticEvent for MemberRemoved { + const PALLET: &'static str = "TechnicalMembership"; + const EVENT: &'static str = "MemberRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Two members were swapped; see the transaction for who."] + pub struct MembersSwapped; + impl ::subxt::events::StaticEvent for MembersSwapped { + const PALLET: &'static str = "TechnicalMembership"; + const EVENT: &'static str = "MembersSwapped"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The membership was reset; see the transaction for who the new set is."] + pub struct MembersReset; + impl ::subxt::events::StaticEvent for MembersReset { + const PALLET: &'static str = "TechnicalMembership"; + const EVENT: &'static str = "MembersReset"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "One of the members' keys changed."] + pub struct KeyChanged; + impl ::subxt::events::StaticEvent for KeyChanged { + const PALLET: &'static str = "TechnicalMembership"; + const EVENT: &'static str = "KeyChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Phantom member, never used."] + pub struct Dummy; + impl ::subxt::events::StaticEvent for Dummy { + const PALLET: &'static str = "TechnicalMembership"; + const EVENT: &'static str = "Dummy"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current membership, stored as an ordered Vec."] + pub fn members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalMembership", + "Members", + vec![], + [ + 56u8, 56u8, 29u8, 90u8, 26u8, 115u8, 252u8, 185u8, 37u8, + 108u8, 16u8, 46u8, 136u8, 139u8, 30u8, 19u8, 235u8, 78u8, + 176u8, 129u8, 180u8, 57u8, 178u8, 239u8, 211u8, 6u8, 64u8, + 129u8, 195u8, 46u8, 178u8, 157u8, + ], + ) + } + #[doc = " The current prime member, if one exists."] + pub fn prime( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TechnicalMembership", + "Prime", + vec![], + [ + 108u8, 118u8, 54u8, 193u8, 207u8, 227u8, 119u8, 97u8, 23u8, + 239u8, 157u8, 69u8, 56u8, 142u8, 106u8, 17u8, 215u8, 159u8, + 48u8, 42u8, 185u8, 209u8, 49u8, 159u8, 32u8, 168u8, 111u8, + 158u8, 159u8, 217u8, 244u8, 158u8, + ], + ) + } + } + } + } + pub mod grandpa { + 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 ReportEquivocation { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_finality_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ReportEquivocationUnsigned { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_finality_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct NoteStalled { + pub delay: ::core::primitive::u32, + pub best_finalized_block_number: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + pub fn report_equivocation( + &self, + equivocation_proof : runtime_types :: sp_finality_grandpa :: EquivocationProof < :: subxt :: utils :: H256 , :: core :: primitive :: u32 >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Grandpa", + "report_equivocation", + ReportEquivocation { + equivocation_proof: ::std::boxed::Box::new( + equivocation_proof, + ), + key_owner_proof, + }, + [ + 156u8, 162u8, 189u8, 89u8, 60u8, 156u8, 129u8, 176u8, 62u8, + 35u8, 214u8, 7u8, 68u8, 245u8, 130u8, 117u8, 30u8, 3u8, 73u8, + 218u8, 142u8, 82u8, 13u8, 141u8, 124u8, 19u8, 53u8, 138u8, + 70u8, 4u8, 40u8, 32u8, + ], + ) + } + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + #[doc = ""] + #[doc = "This extrinsic must be called unsigned and it is expected that only"] + #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] + #[doc = "if the block author is defined it will be defined as the equivocation"] + #[doc = "reporter."] + pub fn report_equivocation_unsigned( + &self, + equivocation_proof : runtime_types :: sp_finality_grandpa :: EquivocationProof < :: subxt :: utils :: H256 , :: core :: primitive :: u32 >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Grandpa", + "report_equivocation_unsigned", + ReportEquivocationUnsigned { + equivocation_proof: ::std::boxed::Box::new( + equivocation_proof, + ), + key_owner_proof, + }, + [ + 166u8, 26u8, 217u8, 185u8, 215u8, 37u8, 174u8, 170u8, 137u8, + 160u8, 151u8, 43u8, 246u8, 86u8, 58u8, 18u8, 248u8, 73u8, + 99u8, 161u8, 158u8, 93u8, 212u8, 186u8, 224u8, 253u8, 234u8, + 18u8, 151u8, 111u8, 227u8, 249u8, + ], + ) + } + #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."] + #[doc = ""] + #[doc = "This will trigger a forced authority set change at the beginning of the next session, to"] + #[doc = "be enacted `delay` blocks after that. The `delay` should be high enough to safely assume"] + #[doc = "that the block signalling the forced change will not be re-orged e.g. 1000 blocks."] + #[doc = "The block production rate (which may be slowed down because of finality lagging) should"] + #[doc = "be taken into account when choosing the `delay`. The GRANDPA voters based on the new"] + #[doc = "authority will start voting on top of `best_finalized_block_number` for new finalized"] + #[doc = "blocks. `best_finalized_block_number` should be the highest of the latest finalized"] + #[doc = "block of all validators of the new authority set."] + #[doc = ""] + #[doc = "Only callable by root."] + pub fn note_stalled( + &self, + delay: ::core::primitive::u32, + best_finalized_block_number: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Grandpa", + "note_stalled", + NoteStalled { + delay, + best_finalized_block_number, + }, + [ + 197u8, 236u8, 137u8, 32u8, 46u8, 200u8, 144u8, 13u8, 89u8, + 181u8, 235u8, 73u8, 167u8, 131u8, 174u8, 93u8, 42u8, 136u8, + 238u8, 59u8, 129u8, 60u8, 83u8, 100u8, 5u8, 182u8, 99u8, + 250u8, 145u8, 180u8, 1u8, 199u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_grandpa::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New authority set has been applied."] + pub struct NewAuthorities { + pub authority_set: ::std::vec::Vec<( + runtime_types::sp_finality_grandpa::app::Public, + ::core::primitive::u64, + )>, + } + impl ::subxt::events::StaticEvent for NewAuthorities { + const PALLET: &'static str = "Grandpa"; + const EVENT: &'static str = "NewAuthorities"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Current authority set has been paused."] + pub struct Paused; + impl ::subxt::events::StaticEvent for Paused { + const PALLET: &'static str = "Grandpa"; + const EVENT: &'static str = "Paused"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Current authority set has been resumed."] + pub struct Resumed; + impl ::subxt::events::StaticEvent for Resumed { + const PALLET: &'static str = "Grandpa"; + const EVENT: &'static str = "Resumed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " State of the current authority set."] + pub fn state( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_grandpa::StoredState< + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Grandpa", + "State", + vec![], + [ + 211u8, 149u8, 114u8, 217u8, 206u8, 194u8, 115u8, 67u8, 12u8, + 218u8, 246u8, 213u8, 208u8, 29u8, 216u8, 104u8, 2u8, 39u8, + 123u8, 172u8, 252u8, 210u8, 52u8, 129u8, 147u8, 237u8, 244u8, + 68u8, 252u8, 169u8, 97u8, 148u8, + ], + ) + } + #[doc = " Pending change: (signaled at, scheduled change)."] + pub fn pending_change( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_grandpa::StoredPendingChange< + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Grandpa", + "PendingChange", + vec![], + [ + 178u8, 24u8, 140u8, 7u8, 8u8, 196u8, 18u8, 58u8, 3u8, 226u8, + 181u8, 47u8, 155u8, 160u8, 70u8, 12u8, 75u8, 189u8, 38u8, + 255u8, 104u8, 141u8, 64u8, 34u8, 134u8, 201u8, 102u8, 21u8, + 75u8, 81u8, 218u8, 60u8, + ], + ) + } + #[doc = " next block number where we can force a change."] + pub fn next_forced( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Grandpa", + "NextForced", + vec![], + [ + 99u8, 43u8, 245u8, 201u8, 60u8, 9u8, 122u8, 99u8, 188u8, + 29u8, 67u8, 6u8, 193u8, 133u8, 179u8, 67u8, 202u8, 208u8, + 62u8, 179u8, 19u8, 169u8, 196u8, 119u8, 107u8, 75u8, 100u8, + 3u8, 121u8, 18u8, 80u8, 156u8, + ], + ) + } + #[doc = " `true` if we are currently stalled."] + pub fn stalled( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Grandpa", + "Stalled", + vec![], + [ + 219u8, 8u8, 37u8, 78u8, 150u8, 55u8, 0u8, 57u8, 201u8, 170u8, + 186u8, 189u8, 56u8, 161u8, 44u8, 15u8, 53u8, 178u8, 224u8, + 208u8, 231u8, 109u8, 14u8, 209u8, 57u8, 205u8, 237u8, 153u8, + 231u8, 156u8, 24u8, 185u8, + ], + ) + } + #[doc = " The number of changes (both in terms of keys and underlying economic responsibilities)"] + #[doc = " in the \"set\" of Grandpa validators from genesis."] + pub fn current_set_id( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Grandpa", + "CurrentSetId", + vec![], + [ + 129u8, 7u8, 62u8, 101u8, 199u8, 60u8, 56u8, 33u8, 54u8, + 158u8, 20u8, 178u8, 244u8, 145u8, 189u8, 197u8, 157u8, 163u8, + 116u8, 36u8, 105u8, 52u8, 149u8, 244u8, 108u8, 94u8, 109u8, + 111u8, 244u8, 137u8, 7u8, 108u8, + ], + ) + } + #[doc = " A mapping from grandpa set ID to the index of the *most recent* session for which its"] + #[doc = " members were responsible."] + #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and GRANDPA set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] + #[doc = " TWOX-NOTE: `SetId` is not under user control."] + pub fn set_id_session( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u64>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Grandpa", + "SetIdSession", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 91u8, 175u8, 145u8, 127u8, 242u8, 81u8, 13u8, 231u8, 110u8, + 11u8, 166u8, 169u8, 103u8, 146u8, 123u8, 133u8, 157u8, 15u8, + 33u8, 234u8, 108u8, 13u8, 88u8, 115u8, 254u8, 9u8, 145u8, + 199u8, 102u8, 47u8, 53u8, 134u8, + ], + ) + } + #[doc = " A mapping from grandpa set ID to the index of the *most recent* session for which its"] + #[doc = " members were responsible."] + #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and GRANDPA set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] + #[doc = " TWOX-NOTE: `SetId` is not under user control."] + pub fn set_id_session_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Grandpa", + "SetIdSession", + Vec::new(), + [ + 91u8, 175u8, 145u8, 127u8, 242u8, 81u8, 13u8, 231u8, 110u8, + 11u8, 166u8, 169u8, 103u8, 146u8, 123u8, 133u8, 157u8, 15u8, + 33u8, 234u8, 108u8, 13u8, 88u8, 115u8, 254u8, 9u8, 145u8, + 199u8, 102u8, 47u8, 53u8, 134u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Max Authorities in use"] + pub fn max_authorities( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Grandpa", + "MaxAuthorities", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum number of entries to keep in the set id to session index mapping."] + #[doc = ""] + #[doc = " Since the `SetIdSession` map is only used for validating equivocations this"] + #[doc = " value should relate to the bonding duration of whatever staking system is"] + #[doc = " being used (if any). If equivocation handling is not enabled then this value"] + #[doc = " can be zero."] + pub fn max_set_id_session_entries( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Grandpa", + "MaxSetIdSessionEntries", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, + 190u8, 146u8, 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, + 65u8, 18u8, 191u8, 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, + 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, + ], + ) + } + } + } + } + pub mod treasury { + use super::root_mod; + use super::runtime_types; + #[doc = "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 ProposeSpend { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RejectProposal { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ApproveProposal { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Spend { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveApproval { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Put forward a suggestion for spending. A deposit proportional to the value"] + #[doc = "is reserved and slashed if the proposal is rejected. It is returned once the"] + #[doc = "proposal is awarded."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(1)"] + #[doc = "- DbReads: `ProposalCount`, `origin account`"] + #[doc = "- DbWrites: `ProposalCount`, `Proposals`, `origin account`"] + #[doc = "# "] + pub fn propose_spend( + &self, + value: ::core::primitive::u128, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "propose_spend", + ProposeSpend { value, beneficiary }, + [ + 124u8, 32u8, 83u8, 127u8, 240u8, 169u8, 3u8, 190u8, 235u8, + 163u8, 23u8, 29u8, 88u8, 242u8, 238u8, 187u8, 136u8, 75u8, + 193u8, 192u8, 239u8, 2u8, 54u8, 238u8, 147u8, 42u8, 91u8, + 14u8, 244u8, 175u8, 41u8, 14u8, + ], + ) + } + #[doc = "Reject a proposed spend. The original deposit will be slashed."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(1)"] + #[doc = "- DbReads: `Proposals`, `rejected proposer account`"] + #[doc = "- DbWrites: `Proposals`, `rejected proposer account`"] + #[doc = "# "] + pub fn reject_proposal( + &self, + proposal_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "reject_proposal", + RejectProposal { proposal_id }, + [ + 106u8, 223u8, 97u8, 22u8, 111u8, 208u8, 128u8, 26u8, 198u8, + 140u8, 118u8, 126u8, 187u8, 51u8, 193u8, 50u8, 193u8, 68u8, + 143u8, 144u8, 34u8, 132u8, 44u8, 244u8, 105u8, 186u8, 223u8, + 234u8, 17u8, 145u8, 209u8, 145u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Complexity: O(1)."] + #[doc = "- DbReads: `Proposals`, `Approvals`"] + #[doc = "- DbWrite: `Approvals`"] + #[doc = "# "] + pub fn approve_proposal( + &self, + proposal_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "approve_proposal", + ApproveProposal { proposal_id }, + [ + 164u8, 229u8, 172u8, 98u8, 129u8, 62u8, 84u8, 128u8, 47u8, + 108u8, 33u8, 120u8, 89u8, 79u8, 57u8, 121u8, 4u8, 197u8, + 170u8, 153u8, 156u8, 17u8, 59u8, 164u8, 123u8, 227u8, 175u8, + 195u8, 220u8, 160u8, 60u8, 186u8, + ], + ) + } + #[doc = "Propose and approve a spend of treasury funds."] + #[doc = ""] + #[doc = "- `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`."] + #[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."] + #[doc = "- `beneficiary`: The destination account for the transfer."] + #[doc = ""] + #[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"] + #[doc = "beneficiary."] + pub fn spend( + &self, + amount: ::core::primitive::u128, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "spend", + Spend { + amount, + beneficiary, + }, + [ + 208u8, 79u8, 96u8, 218u8, 205u8, 209u8, 165u8, 119u8, 92u8, + 208u8, 54u8, 168u8, 83u8, 190u8, 98u8, 97u8, 6u8, 2u8, 35u8, + 249u8, 18u8, 88u8, 193u8, 51u8, 130u8, 33u8, 28u8, 99u8, + 49u8, 194u8, 34u8, 77u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Complexity: O(A) where `A` is the number of approvals"] + #[doc = "- Db reads and writes: `Approvals`"] + #[doc = "# "] + #[doc = ""] + #[doc = "Errors:"] + #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] + #[doc = "i.e., the proposal has not been approved. This could also mean the proposal does not"] + #[doc = "exist altogether, thus there is no way it would have been approved in the first place."] + pub fn remove_approval( + &self, + proposal_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "remove_approval", + RemoveApproval { proposal_id }, + [ + 133u8, 126u8, 181u8, 47u8, 196u8, 243u8, 7u8, 46u8, 25u8, + 251u8, 154u8, 125u8, 217u8, 77u8, 54u8, 245u8, 240u8, 180u8, + 97u8, 34u8, 186u8, 53u8, 225u8, 144u8, 155u8, 107u8, 172u8, + 54u8, 250u8, 184u8, 178u8, 86u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_treasury::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New proposal."] + pub struct Proposed { + pub proposal_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Proposed { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Proposed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "We have ended a spend period and will now allocate funds."] + pub struct Spending { + pub budget_remaining: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Spending { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Spending"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some funds have been allocated."] + pub struct Awarded { + pub proposal_index: ::core::primitive::u32, + pub award: ::core::primitive::u128, + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Awarded { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Awarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal was rejected; funds were slashed."] + pub struct Rejected { + pub proposal_index: ::core::primitive::u32, + pub slashed: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rejected { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Rejected"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some of our funds have been burnt."] + pub struct Burnt { + pub burnt_funds: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Burnt { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Burnt"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Spending has finished; this is the amount that rolls over until next spend."] + pub struct Rollover { + pub rollover_balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rollover { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Rollover"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some funds have been deposited."] + pub struct Deposit { + pub value: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Deposit { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new spend proposal has been approved."] + pub struct SpendApproved { + pub proposal_index: ::core::primitive::u32, + pub amount: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for SpendApproved { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "SpendApproved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The inactive funds of the pallet have been updated."] + pub struct UpdatedInactive { + pub reactivated: ::core::primitive::u128, + pub deactivated: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for UpdatedInactive { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "UpdatedInactive"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Number of proposals that have been made."] + pub fn proposal_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "ProposalCount", + vec![], + [ + 132u8, 145u8, 78u8, 218u8, 51u8, 189u8, 55u8, 172u8, 143u8, + 33u8, 140u8, 99u8, 124u8, 208u8, 57u8, 232u8, 154u8, 110u8, + 32u8, 142u8, 24u8, 149u8, 109u8, 105u8, 30u8, 83u8, 39u8, + 177u8, 127u8, 160u8, 34u8, 70u8, + ], + ) + } + #[doc = " Proposals that have been made."] + pub fn proposals( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_treasury::Proposal< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "Proposals", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 62u8, 223u8, 55u8, 209u8, 151u8, 134u8, 122u8, 65u8, 207u8, + 38u8, 113u8, 213u8, 237u8, 48u8, 129u8, 32u8, 91u8, 228u8, + 108u8, 91u8, 37u8, 49u8, 94u8, 4u8, 75u8, 122u8, 25u8, 34u8, + 198u8, 224u8, 246u8, 160u8, + ], + ) + } + #[doc = " Proposals that have been made."] + pub fn proposals_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_treasury::Proposal< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "Proposals", + Vec::new(), + [ + 62u8, 223u8, 55u8, 209u8, 151u8, 134u8, 122u8, 65u8, 207u8, + 38u8, 113u8, 213u8, 237u8, 48u8, 129u8, 32u8, 91u8, 228u8, + 108u8, 91u8, 37u8, 49u8, 94u8, 4u8, 75u8, 122u8, 25u8, 34u8, + 198u8, 224u8, 246u8, 160u8, + ], + ) + } + #[doc = " The amount which has been reported as inactive to Currency."] + pub fn deactivated( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "Deactivated", + vec![], + [ + 159u8, 57u8, 5u8, 85u8, 136u8, 128u8, 70u8, 43u8, 67u8, 76u8, + 123u8, 206u8, 48u8, 253u8, 51u8, 40u8, 14u8, 35u8, 162u8, + 173u8, 127u8, 79u8, 38u8, 235u8, 9u8, 141u8, 201u8, 37u8, + 211u8, 176u8, 119u8, 106u8, + ], + ) + } + #[doc = " Proposal indices that have been approved but not yet awarded."] + pub fn approvals( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "Approvals", + vec![], + [ + 202u8, 106u8, 189u8, 40u8, 127u8, 172u8, 108u8, 50u8, 193u8, + 4u8, 248u8, 226u8, 176u8, 101u8, 212u8, 222u8, 64u8, 206u8, + 244u8, 175u8, 111u8, 106u8, 86u8, 96u8, 19u8, 109u8, 218u8, + 152u8, 30u8, 59u8, 96u8, 1u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Fraction of a proposal's value that should be bonded in order to place the proposal."] + #[doc = " An accepted proposal gets these back. A rejected proposal does not."] + pub fn proposal_bond( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Permill, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "ProposalBond", + [ + 225u8, 236u8, 95u8, 157u8, 90u8, 94u8, 106u8, 192u8, 254u8, + 19u8, 87u8, 80u8, 16u8, 62u8, 42u8, 204u8, 136u8, 106u8, + 225u8, 53u8, 212u8, 52u8, 177u8, 79u8, 4u8, 116u8, 201u8, + 104u8, 222u8, 75u8, 86u8, 227u8, + ], + ) + } + #[doc = " Minimum amount of funds that should be placed in a deposit for making a proposal."] + pub fn proposal_bond_minimum( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "ProposalBondMinimum", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Maximum amount of funds that should be placed in a deposit for making a proposal."] + pub fn proposal_bond_maximum( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + ::core::option::Option<::core::primitive::u128>, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "ProposalBondMaximum", + [ + 84u8, 154u8, 218u8, 83u8, 84u8, 189u8, 32u8, 20u8, 120u8, + 194u8, 88u8, 205u8, 109u8, 216u8, 114u8, 193u8, 120u8, 198u8, + 154u8, 237u8, 134u8, 204u8, 102u8, 247u8, 52u8, 103u8, 231u8, + 43u8, 243u8, 122u8, 60u8, 216u8, + ], + ) + } + #[doc = " Period between successive spends."] + pub fn spend_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "SpendPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Percentage of spare funds (if any) that are burnt per spend period."] + pub fn burn( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Permill, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "Burn", + [ + 225u8, 236u8, 95u8, 157u8, 90u8, 94u8, 106u8, 192u8, 254u8, + 19u8, 87u8, 80u8, 16u8, 62u8, 42u8, 204u8, 136u8, 106u8, + 225u8, 53u8, 212u8, 52u8, 177u8, 79u8, 4u8, 116u8, 201u8, + 104u8, 222u8, 75u8, 86u8, 227u8, + ], + ) + } + #[doc = " The treasury's pallet id, used for deriving its sovereign account ID."] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::PalletId, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "PalletId", + [ + 139u8, 109u8, 228u8, 151u8, 252u8, 32u8, 130u8, 69u8, 112u8, + 154u8, 174u8, 45u8, 83u8, 245u8, 51u8, 132u8, 173u8, 5u8, + 186u8, 24u8, 243u8, 9u8, 12u8, 214u8, 80u8, 74u8, 69u8, + 189u8, 30u8, 94u8, 22u8, 39u8, + ], + ) + } + #[doc = " The maximum number of approvals that can wait in the spending queue."] + #[doc = ""] + #[doc = " NOTE: This parameter is also used within the Bounties Pallet extension if enabled."] + pub fn max_approvals( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "MaxApprovals", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + } + } + } + pub mod contracts { + 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 CallOldWeight { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + #[codec(compact)] + pub gas_limit: runtime_types::sp_weights::OldWeight, + pub storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct InstantiateWithCodeOldWeight { + #[codec(compact)] + pub value: ::core::primitive::u128, + #[codec(compact)] + pub gas_limit: runtime_types::sp_weights::OldWeight, + pub storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + pub code: ::std::vec::Vec<::core::primitive::u8>, + pub data: ::std::vec::Vec<::core::primitive::u8>, + pub salt: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct InstantiateOldWeight { + #[codec(compact)] + pub value: ::core::primitive::u128, + #[codec(compact)] + pub gas_limit: runtime_types::sp_weights::OldWeight, + pub storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + pub code_hash: ::subxt::utils::H256, + pub data: ::std::vec::Vec<::core::primitive::u8>, + pub salt: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UploadCode { + pub code: ::std::vec::Vec<::core::primitive::u8>, + pub storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + pub determinism: runtime_types::pallet_contracts::wasm::Determinism, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveCode { + pub code_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetCode { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub code_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Call { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, + pub storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct InstantiateWithCode { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, + pub storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + pub code: ::std::vec::Vec<::core::primitive::u8>, + pub data: ::std::vec::Vec<::core::primitive::u8>, + pub salt: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Instantiate { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, + pub storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + pub code_hash: ::subxt::utils::H256, + pub data: ::std::vec::Vec<::core::primitive::u8>, + pub salt: ::std::vec::Vec<::core::primitive::u8>, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Deprecated version if [`Self::call`] for use in an in-storage `Call`."] + pub fn call_old_weight( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + 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>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "call_old_weight", + CallOldWeight { + dest, + value, + gas_limit, + storage_deposit_limit, + data, + }, + [ + 110u8, 227u8, 98u8, 194u8, 241u8, 14u8, 112u8, 34u8, 18u8, + 0u8, 102u8, 76u8, 145u8, 224u8, 186u8, 143u8, 89u8, 61u8, + 182u8, 157u8, 35u8, 128u8, 148u8, 255u8, 192u8, 223u8, 12u8, + 178u8, 69u8, 1u8, 168u8, 149u8, + ], + ) + } + #[doc = "Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`."] + pub fn instantiate_with_code_old_weight( + &self, + value: ::core::primitive::u128, + 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>, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "instantiate_with_code_old_weight", + InstantiateWithCodeOldWeight { + value, + gas_limit, + storage_deposit_limit, + code, + data, + salt, + }, + [ + 93u8, 124u8, 100u8, 101u8, 7u8, 110u8, 92u8, 199u8, 162u8, + 126u8, 35u8, 47u8, 190u8, 42u8, 237u8, 152u8, 169u8, 130u8, + 21u8, 33u8, 136u8, 220u8, 110u8, 106u8, 57u8, 211u8, 158u8, + 130u8, 112u8, 37u8, 41u8, 39u8, + ], + ) + } + #[doc = "Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`."] + pub fn instantiate_old_weight( + &self, + value: ::core::primitive::u128, + 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>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "instantiate_old_weight", + InstantiateOldWeight { + value, + gas_limit, + storage_deposit_limit, + code_hash, + data, + salt, + }, + [ + 243u8, 56u8, 93u8, 198u8, 169u8, 134u8, 6u8, 135u8, 19u8, + 1u8, 20u8, 138u8, 202u8, 59u8, 59u8, 99u8, 58u8, 22u8, 33u8, + 94u8, 253u8, 215u8, 203u8, 159u8, 58u8, 21u8, 24u8, 235u8, + 30u8, 215u8, 173u8, 23u8, + ], + ) + } + #[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`]."] + pub fn upload_code( + &self, + 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, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "upload_code", + UploadCode { + code, + storage_deposit_limit, + determinism, + }, + [ + 233u8, 137u8, 54u8, 111u8, 132u8, 124u8, 80u8, 213u8, 182u8, + 224u8, 144u8, 240u8, 6u8, 235u8, 148u8, 26u8, 65u8, 39u8, + 91u8, 151u8, 131u8, 10u8, 216u8, 101u8, 89u8, 115u8, 160u8, + 154u8, 44u8, 239u8, 142u8, 116u8, + ], + ) + } + #[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."] + pub fn remove_code( + &self, + code_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "remove_code", + RemoveCode { code_hash }, + [ + 43u8, 192u8, 198u8, 182u8, 108u8, 76u8, 21u8, 42u8, 169u8, + 41u8, 195u8, 73u8, 31u8, 179u8, 162u8, 56u8, 91u8, 5u8, 64u8, + 7u8, 252u8, 194u8, 255u8, 170u8, 67u8, 137u8, 143u8, 192u8, + 2u8, 149u8, 38u8, 180u8, + ], + ) + } + #[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."] + pub fn set_code( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + code_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "set_code", + SetCode { dest, code_hash }, + [ + 87u8, 240u8, 9u8, 107u8, 114u8, 69u8, 236u8, 184u8, 154u8, + 179u8, 251u8, 25u8, 177u8, 13u8, 199u8, 181u8, 166u8, 219u8, + 217u8, 11u8, 98u8, 167u8, 45u8, 214u8, 212u8, 208u8, 110u8, + 91u8, 8u8, 65u8, 232u8, 11u8, + ], + ) + } + #[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."] + pub fn call( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + 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>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "call", + Call { + dest, + value, + gas_limit, + storage_deposit_limit, + data, + }, + [ + 196u8, 11u8, 91u8, 234u8, 7u8, 74u8, 48u8, 20u8, 202u8, 48u8, + 234u8, 203u8, 148u8, 60u8, 217u8, 84u8, 219u8, 41u8, 230u8, + 150u8, 158u8, 153u8, 160u8, 81u8, 59u8, 2u8, 170u8, 20u8, + 252u8, 97u8, 6u8, 173u8, + ], + ) + } + #[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."] + pub fn instantiate_with_code( + &self, + 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>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "instantiate_with_code", + InstantiateWithCode { + value, + gas_limit, + storage_deposit_limit, + code, + data, + salt, + }, + [ + 94u8, 238u8, 175u8, 86u8, 230u8, 186u8, 94u8, 60u8, 201u8, + 35u8, 117u8, 236u8, 221u8, 10u8, 180u8, 191u8, 140u8, 79u8, + 203u8, 134u8, 240u8, 21u8, 31u8, 63u8, 9u8, 17u8, 134u8, + 30u8, 244u8, 95u8, 171u8, 164u8, + ], + ) + } + #[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."] + pub fn instantiate( + &self, + 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>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "instantiate", + Instantiate { + value, + gas_limit, + storage_deposit_limit, + code_hash, + data, + salt, + }, + [ + 251u8, 49u8, 158u8, 1u8, 138u8, 29u8, 106u8, 187u8, 68u8, + 135u8, 44u8, 196u8, 230u8, 237u8, 88u8, 244u8, 170u8, 168u8, + 11u8, 91u8, 185u8, 11u8, 45u8, 86u8, 113u8, 79u8, 92u8, + 248u8, 113u8, 47u8, 141u8, 10u8, + ], + ) + } + } + } + #[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_contracts::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contract deployed by address at the specified address."] + pub struct Instantiated { + pub deployer: ::subxt::utils::AccountId32, + pub contract: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Instantiated { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "Instantiated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contract has been removed."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "The only way for a contract to be removed and emitting this event is by calling"] + #[doc = "`seal_terminate`."] + pub struct Terminated { + pub contract: ::subxt::utils::AccountId32, + pub beneficiary: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Terminated { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "Terminated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Code with the specified hash has been stored."] + pub struct CodeStored { + pub code_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for CodeStored { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "CodeStored"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A custom event emitted by the contract."] + pub struct ContractEmitted { + pub contract: ::subxt::utils::AccountId32, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::events::StaticEvent for ContractEmitted { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "ContractEmitted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A code with the specified hash was removed."] + pub struct CodeRemoved { + pub code_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for CodeRemoved { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "CodeRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A contract's code was updated."] + pub struct ContractCodeUpdated { + pub contract: ::subxt::utils::AccountId32, + pub new_code_hash: ::subxt::utils::H256, + pub old_code_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for ContractCodeUpdated { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "ContractCodeUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A contract was called either by a plain account or another contract."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Please keep in mind that like all events this is only emitted for successful"] + #[doc = "calls. This is because on failure all storage changes including events are"] + #[doc = "rolled back."] + pub struct Called { + pub caller: ::subxt::utils::AccountId32, + pub contract: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Called { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "Called"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A contract delegate called a code hash."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Please keep in mind that like all events this is only emitted for successful"] + #[doc = "calls. This is because on failure all storage changes including events are"] + #[doc = "rolled back."] + pub struct DelegateCalled { + pub contract: ::subxt::utils::AccountId32, + pub code_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for DelegateCalled { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "DelegateCalled"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " A mapping from an original code hash to the original code, untouched by instrumentation."] + pub fn pristine_code( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "PristineCode", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 244u8, 169u8, 220u8, 235u8, 62u8, 153u8, 226u8, 187u8, 220u8, + 141u8, 149u8, 75u8, 224u8, 117u8, 181u8, 147u8, 140u8, 84u8, + 9u8, 109u8, 230u8, 25u8, 186u8, 26u8, 171u8, 147u8, 19u8, + 78u8, 62u8, 170u8, 27u8, 105u8, + ], + ) + } + #[doc = " A mapping from an original code hash to the original code, untouched by instrumentation."] + pub fn pristine_code_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "PristineCode", + Vec::new(), + [ + 244u8, 169u8, 220u8, 235u8, 62u8, 153u8, 226u8, 187u8, 220u8, + 141u8, 149u8, 75u8, 224u8, 117u8, 181u8, 147u8, 140u8, 84u8, + 9u8, 109u8, 230u8, 25u8, 186u8, 26u8, 171u8, 147u8, 19u8, + 78u8, 62u8, 170u8, 27u8, 105u8, + ], + ) + } + #[doc = " A mapping between an original code hash and instrumented wasm code, ready for execution."] + pub fn code_storage( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::wasm::PrefabWasmModule, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "CodeStorage", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 57u8, 55u8, 36u8, 82u8, 39u8, 194u8, 172u8, 147u8, 144u8, + 63u8, 101u8, 240u8, 179u8, 25u8, 177u8, 68u8, 253u8, 230u8, + 156u8, 228u8, 181u8, 194u8, 48u8, 99u8, 188u8, 117u8, 44u8, + 80u8, 121u8, 46u8, 149u8, 48u8, + ], + ) + } + #[doc = " A mapping between an original code hash and instrumented wasm code, ready for execution."] + pub fn code_storage_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::wasm::PrefabWasmModule, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "CodeStorage", + Vec::new(), + [ + 57u8, 55u8, 36u8, 82u8, 39u8, 194u8, 172u8, 147u8, 144u8, + 63u8, 101u8, 240u8, 179u8, 25u8, 177u8, 68u8, 253u8, 230u8, + 156u8, 228u8, 181u8, 194u8, 48u8, 99u8, 188u8, 117u8, 44u8, + 80u8, 121u8, 46u8, 149u8, 48u8, + ], + ) + } + #[doc = " A mapping between an original code hash and its owner information."] + pub fn owner_info_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::wasm::OwnerInfo, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "OwnerInfoOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 147u8, 6u8, 225u8, 62u8, 211u8, 236u8, 61u8, 116u8, 152u8, + 219u8, 220u8, 17u8, 82u8, 221u8, 156u8, 88u8, 63u8, 204u8, + 16u8, 11u8, 184u8, 236u8, 181u8, 189u8, 170u8, 160u8, 60u8, + 64u8, 71u8, 250u8, 202u8, 186u8, + ], + ) + } + #[doc = " A mapping between an original code hash and its owner information."] + pub fn owner_info_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::wasm::OwnerInfo, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "OwnerInfoOf", + Vec::new(), + [ + 147u8, 6u8, 225u8, 62u8, 211u8, 236u8, 61u8, 116u8, 152u8, + 219u8, 220u8, 17u8, 82u8, 221u8, 156u8, 88u8, 63u8, 204u8, + 16u8, 11u8, 184u8, 236u8, 181u8, 189u8, 170u8, 160u8, 60u8, + 64u8, 71u8, 250u8, 202u8, 186u8, + ], + ) + } + #[doc = " This is a **monotonic** counter incremented on contract instantiation."] + #[doc = ""] + #[doc = " This is used in order to generate unique trie ids for contracts."] + #[doc = " The trie id of a new contract is calculated from hash(account_id, nonce)."] + #[doc = " The nonce is required because otherwise the following sequence would lead to"] + #[doc = " a possible collision of storage:"] + #[doc = ""] + #[doc = " 1. Create a new contract."] + #[doc = " 2. Terminate the contract."] + #[doc = " 3. Immediately recreate the contract with the same account_id."] + #[doc = ""] + #[doc = " This is bad because the contents of a trie are deleted lazily and there might be"] + #[doc = " storage of the old instantiation still in it when the new contract is created. Please"] + #[doc = " note that we can't replace the counter by the block number because the sequence above"] + #[doc = " can happen in the same block. We also can't keep the account counter in memory only"] + #[doc = " because storage is the only way to communicate across different extrinsics in the"] + #[doc = " same block."] + #[doc = ""] + #[doc = " # Note"] + #[doc = ""] + #[doc = " Do not use it to determine the number of contracts. It won't be decremented if"] + #[doc = " a contract is destroyed."] + pub fn nonce( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "Nonce", + vec![], + [ + 122u8, 169u8, 95u8, 131u8, 85u8, 32u8, 154u8, 114u8, 143u8, + 56u8, 12u8, 182u8, 64u8, 150u8, 241u8, 249u8, 254u8, 251u8, + 160u8, 235u8, 192u8, 41u8, 101u8, 232u8, 186u8, 108u8, 187u8, + 149u8, 210u8, 91u8, 179u8, 98u8, + ], + ) + } + #[doc = " The code associated with a given account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn contract_info_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::storage::ContractInfo, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "ContractInfoOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 176u8, 73u8, 209u8, 119u8, 242u8, 147u8, 64u8, 203u8, 253u8, + 178u8, 8u8, 239u8, 64u8, 68u8, 106u8, 153u8, 28u8, 124u8, + 52u8, 226u8, 67u8, 54u8, 177u8, 206u8, 238u8, 179u8, 222u8, + 225u8, 242u8, 0u8, 171u8, 184u8, + ], + ) + } + #[doc = " The code associated with a given account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn contract_info_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::storage::ContractInfo, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "ContractInfoOf", + Vec::new(), + [ + 176u8, 73u8, 209u8, 119u8, 242u8, 147u8, 64u8, 203u8, 253u8, + 178u8, 8u8, 239u8, 64u8, 68u8, 106u8, 153u8, 28u8, 124u8, + 52u8, 226u8, 67u8, 54u8, 177u8, 206u8, 238u8, 179u8, 222u8, + 225u8, 242u8, 0u8, 171u8, 184u8, + ], + ) + } + #[doc = " Evicted contracts that await child trie deletion."] + #[doc = ""] + #[doc = " Child trie deletion is a heavy operation depending on the amount of storage items"] + #[doc = " stored in said trie. Therefore this operation is performed lazily in `on_initialize`."] + pub fn deletion_queue( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_contracts::storage::DeletedContract, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "DeletionQueue", + vec![], + [ + 119u8, 169u8, 146u8, 210u8, 21u8, 216u8, 51u8, 225u8, 107u8, + 61u8, 42u8, 155u8, 169u8, 127u8, 140u8, 106u8, 255u8, 137u8, + 163u8, 199u8, 91u8, 137u8, 73u8, 61u8, 9u8, 167u8, 16u8, + 157u8, 183u8, 212u8, 35u8, 88u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Cost schedule and limits."] + pub fn schedule( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::schedule::Schedule, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "Schedule", + [ + 102u8, 52u8, 108u8, 178u8, 197u8, 144u8, 39u8, 115u8, 254u8, + 23u8, 38u8, 120u8, 11u8, 166u8, 178u8, 210u8, 91u8, 139u8, + 214u8, 231u8, 110u8, 188u8, 37u8, 149u8, 195u8, 73u8, 166u8, + 90u8, 55u8, 73u8, 88u8, 111u8, + ], + ) + } + #[doc = " The maximum number of contracts that can be pending for deletion."] + #[doc = ""] + #[doc = " When a contract is deleted by calling `seal_terminate` it becomes inaccessible"] + #[doc = " immediately, but the deletion of the storage items it has accumulated is performed"] + #[doc = " later. The contract is put into the deletion queue. This defines how many"] + #[doc = " contracts can be queued up at the same time. If that limit is reached `seal_terminate`"] + #[doc = " will fail. The action must be retried in a later block in that case."] + #[doc = ""] + #[doc = " The reasons for limiting the queue depth are:"] + #[doc = ""] + #[doc = " 1. The queue is in storage in order to be persistent between blocks. We want to limit"] + #[doc = " \tthe amount of storage that can be consumed."] + #[doc = " 2. The queue is stored in a vector and needs to be decoded as a whole when reading"] + #[doc = "\t\tit at the end of each block. Longer queues take more weight to decode and hence"] + #[doc = "\t\tlimit the amount of items that can be deleted per block."] + pub fn deletion_queue_depth( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "DeletionQueueDepth", + [ + 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 amount of weight that can be consumed per block for lazy trie removal."] + #[doc = ""] + #[doc = " The amount of weight that is dedicated per block to work on the deletion queue. Larger"] + #[doc = " values allow more trie keys to be deleted in each block but reduce the amount of"] + #[doc = " weight that is left for transactions. See [`Self::DeletionQueueDepth`] for more"] + #[doc = " information about the deletion queue."] + pub fn deletion_weight_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_weights::weight_v2::Weight, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "DeletionWeightLimit", + [ + 206u8, 61u8, 253u8, 247u8, 163u8, 40u8, 161u8, 52u8, 134u8, + 140u8, 206u8, 83u8, 44u8, 166u8, 226u8, 115u8, 181u8, 14u8, + 227u8, 130u8, 210u8, 32u8, 85u8, 29u8, 230u8, 97u8, 130u8, + 165u8, 147u8, 134u8, 106u8, 76u8, + ], + ) + } + #[doc = " The amount of balance a caller has to pay for each byte of storage."] + #[doc = ""] + #[doc = " # Note"] + #[doc = ""] + #[doc = " Changing this value for an existing chain might need a storage migration."] + pub fn deposit_per_byte( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "DepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of balance a caller has to pay for each storage item."] + #[doc = ""] + #[doc = " # Note"] + #[doc = ""] + #[doc = " Changing this value for an existing chain might need a storage migration."] + pub fn deposit_per_item( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "DepositPerItem", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum length of a contract code in bytes. This limit applies to the instrumented"] + #[doc = " version of the code. Therefore `instantiate_with_code` can fail even when supplying"] + #[doc = " a wasm binary below this maximum size."] + #[doc = ""] + #[doc = " The value should be chosen carefully taking into the account the overall memory limit"] + #[doc = " your runtime has, as well as the [maximum allowed callstack"] + #[doc = " depth](#associatedtype.CallStack). Look into the `integrity_test()` for some insights."] + pub fn max_code_len( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "MaxCodeLen", + [ + 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 allowable length in bytes for storage keys."] + pub fn max_storage_key_len( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "MaxStorageKeyLen", + [ + 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 = " Make contract callable functions marked as `#[unstable]` available."] + #[doc = ""] + #[doc = " Contracts that use `#[unstable]` functions won't be able to be uploaded unless"] + #[doc = " this is set to `true`. This is only meant for testnets and dev nodes in order to"] + #[doc = " experiment with new features."] + #[doc = ""] + #[doc = " # Warning"] + #[doc = ""] + #[doc = " Do **not** set to `true` on productions chains."] + pub fn unsafe_unstable_interface( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "UnsafeUnstableInterface", + [ + 165u8, 28u8, 112u8, 190u8, 18u8, 129u8, 182u8, 206u8, 237u8, + 1u8, 68u8, 252u8, 125u8, 234u8, 185u8, 50u8, 149u8, 164u8, + 47u8, 126u8, 134u8, 100u8, 14u8, 86u8, 209u8, 39u8, 20u8, + 4u8, 233u8, 115u8, 102u8, 131u8, + ], + ) + } + #[doc = " The maximum length of the debug buffer in bytes."] + pub fn max_debug_buffer_len( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "MaxDebugBufferLen", + [ + 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 sudo { + 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 Sudo { + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SudoUncheckedWeight { + pub call: + ::std::boxed::Box, + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetKey { + pub new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SudoAs { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub call: + ::std::boxed::Box, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + 10,000."] + #[doc = "# "] + pub fn sudo( + &self, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Sudo", + "sudo", + Sudo { + call: ::std::boxed::Box::new(call), + }, + [ + 158u8, 33u8, 202u8, 54u8, 152u8, 39u8, 55u8, 155u8, 113u8, + 166u8, 63u8, 36u8, 39u8, 17u8, 27u8, 16u8, 95u8, 200u8, + 112u8, 208u8, 219u8, 190u8, 214u8, 2u8, 240u8, 32u8, 12u8, + 21u8, 108u8, 18u8, 106u8, 177u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "- The weight of this call is defined by the caller."] + #[doc = "# "] + pub fn sudo_unchecked_weight( + &self, + call: runtime_types::kitchensink_runtime::RuntimeCall, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Sudo", + "sudo_unchecked_weight", + SudoUncheckedWeight { + call: ::std::boxed::Box::new(call), + weight, + }, + [ + 60u8, 193u8, 102u8, 0u8, 100u8, 23u8, 221u8, 19u8, 124u8, + 101u8, 186u8, 135u8, 63u8, 42u8, 138u8, 30u8, 211u8, 117u8, + 21u8, 154u8, 0u8, 184u8, 108u8, 208u8, 50u8, 171u8, 77u8, + 40u8, 112u8, 27u8, 154u8, 221u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB change."] + #[doc = "# "] + pub fn set_key( + &self, + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Sudo", + "set_key", + SetKey { new }, + [ + 34u8, 116u8, 170u8, 18u8, 106u8, 17u8, 231u8, 159u8, 110u8, + 246u8, 2u8, 27u8, 161u8, 155u8, 163u8, 41u8, 138u8, 7u8, + 81u8, 98u8, 230u8, 182u8, 23u8, 222u8, 240u8, 117u8, 173u8, + 232u8, 192u8, 55u8, 92u8, 208u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + 10,000."] + #[doc = "# "] + pub fn sudo_as( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Sudo", + "sudo_as", + SudoAs { + who, + call: ::std::boxed::Box::new(call), + }, + [ + 97u8, 147u8, 103u8, 98u8, 213u8, 44u8, 115u8, 53u8, 152u8, + 235u8, 250u8, 10u8, 86u8, 123u8, 0u8, 178u8, 24u8, 11u8, + 240u8, 251u8, 99u8, 72u8, 98u8, 90u8, 99u8, 46u8, 51u8, + 152u8, 0u8, 1u8, 220u8, 127u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_sudo::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A sudo just took place. \\[result\\]"] + pub struct Sudid { + pub sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Sudid { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "Sudid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The \\[sudoer\\] just switched identity; the old key is supplied if one existed."] + pub struct KeyChanged { + pub old_sudoer: ::core::option::Option<::subxt::utils::AccountId32>, + } + impl ::subxt::events::StaticEvent for KeyChanged { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "KeyChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A sudo just took place. \\[result\\]"] + pub struct SudoAsDone { + pub sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for SudoAsDone { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "SudoAsDone"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The `AccountId` of the sudo key."] + pub fn key( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Sudo", + "Key", + vec![], + [ + 244u8, 73u8, 188u8, 136u8, 218u8, 163u8, 68u8, 179u8, 122u8, + 173u8, 34u8, 108u8, 137u8, 28u8, 182u8, 16u8, 196u8, 92u8, + 138u8, 34u8, 102u8, 80u8, 199u8, 88u8, 107u8, 207u8, 36u8, + 22u8, 168u8, 167u8, 20u8, 142u8, + ], + ) + } + } + } + } + pub mod im_online { + 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 Heartbeat { + pub heartbeat: + runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, + pub signature: + runtime_types::pallet_im_online::sr25519::app_sr25519::Signature, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "# "] + #[doc = "- Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is"] + #[doc = " length of `heartbeat.network_state.external_address`"] + #[doc = " - `O(K)`: decoding of length `K`"] + #[doc = " - `O(E)`: decoding/encoding of length `E`"] + #[doc = "- DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,"] + #[doc = " `ReceivedHeartbeats`"] + #[doc = "- DbWrites: `ReceivedHeartbeats`"] + #[doc = "# "] + pub fn heartbeat( + &self, + heartbeat: runtime_types::pallet_im_online::Heartbeat< + ::core::primitive::u32, + >, + signature : runtime_types :: pallet_im_online :: sr25519 :: app_sr25519 :: Signature, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ImOnline", + "heartbeat", + Heartbeat { + heartbeat, + signature, + }, + [ + 212u8, 23u8, 174u8, 246u8, 60u8, 220u8, 178u8, 137u8, 53u8, + 146u8, 165u8, 225u8, 179u8, 209u8, 233u8, 152u8, 129u8, + 210u8, 126u8, 32u8, 216u8, 22u8, 76u8, 196u8, 255u8, 128u8, + 246u8, 161u8, 30u8, 186u8, 249u8, 34u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_im_online::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new heartbeat was received from `AuthorityId`."] + pub struct HeartbeatReceived { + pub authority_id: + runtime_types::pallet_im_online::sr25519::app_sr25519::Public, + } + impl ::subxt::events::StaticEvent for HeartbeatReceived { + const PALLET: &'static str = "ImOnline"; + const EVENT: &'static str = "HeartbeatReceived"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "At the end of the session, no offence was committed."] + pub struct AllGood; + impl ::subxt::events::StaticEvent for AllGood { + const PALLET: &'static str = "ImOnline"; + const EVENT: &'static str = "AllGood"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "At the end of the session, at least one validator was found to be offline."] + pub struct SomeOffline { + pub offline: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + )>, + } + impl ::subxt::events::StaticEvent for SomeOffline { + const PALLET: &'static str = "ImOnline"; + const EVENT: &'static str = "SomeOffline"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The block number after which it's ok to send heartbeats in the current"] + #[doc = " session."] + #[doc = ""] + #[doc = " At the beginning of each session we set this to a value that should fall"] + #[doc = " roughly in the middle of the session duration. The idea is to first wait for"] + #[doc = " the validators to produce a block in the current session, so that the"] + #[doc = " heartbeat later on will not be necessary."] + #[doc = ""] + #[doc = " This value will only be used as a fallback if we fail to get a proper session"] + #[doc = " progress estimate from `NextSessionRotation`, as those estimates should be"] + #[doc = " more accurate then the value we calculate for `HeartbeatAfter`."] + pub fn heartbeat_after( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ImOnline", + "HeartbeatAfter", + vec![], + [ + 108u8, 100u8, 85u8, 198u8, 226u8, 122u8, 94u8, 225u8, 97u8, + 154u8, 135u8, 95u8, 106u8, 28u8, 185u8, 78u8, 192u8, 196u8, + 35u8, 191u8, 12u8, 19u8, 163u8, 46u8, 232u8, 235u8, 193u8, + 81u8, 126u8, 204u8, 25u8, 228u8, + ], + ) + } + #[doc = " The current set of keys that may issue a heartbeat."] + pub fn keys( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_im_online::sr25519::app_sr25519::Public, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ImOnline", + "Keys", + vec![], + [ + 6u8, 198u8, 221u8, 58u8, 14u8, 166u8, 245u8, 103u8, 191u8, + 20u8, 69u8, 233u8, 147u8, 245u8, 24u8, 64u8, 207u8, 180u8, + 39u8, 208u8, 252u8, 236u8, 247u8, 112u8, 187u8, 97u8, 70u8, + 11u8, 248u8, 148u8, 208u8, 106u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to"] + #[doc = " `WrapperOpaque`."] + pub fn received_heartbeats( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::traits::misc::WrapperOpaque< + runtime_types::pallet_im_online::BoundedOpaqueNetworkState, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ImOnline", + "ReceivedHeartbeats", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 233u8, 128u8, 140u8, 233u8, 55u8, 146u8, 172u8, 54u8, 54u8, + 57u8, 141u8, 106u8, 168u8, 59u8, 147u8, 253u8, 119u8, 48u8, + 50u8, 251u8, 242u8, 109u8, 251u8, 2u8, 136u8, 80u8, 146u8, + 121u8, 180u8, 219u8, 245u8, 37u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to"] + #[doc = " `WrapperOpaque`."] + pub fn received_heartbeats_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::traits::misc::WrapperOpaque< + runtime_types::pallet_im_online::BoundedOpaqueNetworkState, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ImOnline", + "ReceivedHeartbeats", + Vec::new(), + [ + 233u8, 128u8, 140u8, 233u8, 55u8, 146u8, 172u8, 54u8, 54u8, + 57u8, 141u8, 106u8, 168u8, 59u8, 147u8, 253u8, 119u8, 48u8, + 50u8, 251u8, 242u8, 109u8, 251u8, 2u8, 136u8, 80u8, 146u8, + 121u8, 180u8, 219u8, 245u8, 37u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `ValidatorId` to the"] + #[doc = " number of blocks authored by the given authority."] + pub fn authored_blocks( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ImOnline", + "AuthoredBlocks", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 50u8, 4u8, 242u8, 240u8, 247u8, 184u8, 114u8, 245u8, 233u8, + 170u8, 24u8, 197u8, 18u8, 245u8, 8u8, 28u8, 33u8, 115u8, + 166u8, 245u8, 221u8, 223u8, 56u8, 144u8, 33u8, 139u8, 10u8, + 227u8, 228u8, 223u8, 103u8, 151u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `ValidatorId` to the"] + #[doc = " number of blocks authored by the given authority."] + pub fn authored_blocks_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ImOnline", + "AuthoredBlocks", + Vec::new(), + [ + 50u8, 4u8, 242u8, 240u8, 247u8, 184u8, 114u8, 245u8, 233u8, + 170u8, 24u8, 197u8, 18u8, 245u8, 8u8, 28u8, 33u8, 115u8, + 166u8, 245u8, 221u8, 223u8, 56u8, 144u8, 33u8, 139u8, 10u8, + 227u8, 228u8, 223u8, 103u8, 151u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " A configuration for base priority of unsigned transactions."] + #[doc = ""] + #[doc = " This is exposed so that it can be tuned for particular runtime, when"] + #[doc = " multiple pallets send unsigned transactions."] + pub fn unsigned_priority( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ImOnline", + "UnsignedPriority", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, + 190u8, 146u8, 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, + 65u8, 18u8, 191u8, 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, + 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, + ], + ) + } + } + } + } + pub mod authority_discovery { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Keys of the current authority set."] + pub fn keys( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::sp_authority_discovery::app::Public, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AuthorityDiscovery", + "Keys", + vec![], + [ + 6u8, 198u8, 221u8, 58u8, 14u8, 166u8, 245u8, 103u8, 191u8, + 20u8, 69u8, 233u8, 147u8, 245u8, 24u8, 64u8, 207u8, 180u8, + 39u8, 208u8, 252u8, 236u8, 247u8, 112u8, 187u8, 97u8, 70u8, + 11u8, 248u8, 148u8, 208u8, 106u8, + ], + ) + } + #[doc = " Keys of the next authority set."] + pub fn next_keys( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::sp_authority_discovery::app::Public, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AuthorityDiscovery", + "NextKeys", + vec![], + [ + 213u8, 94u8, 49u8, 159u8, 135u8, 1u8, 13u8, 150u8, 28u8, + 15u8, 105u8, 130u8, 90u8, 15u8, 130u8, 138u8, 186u8, 118u8, + 10u8, 238u8, 173u8, 229u8, 8u8, 144u8, 206u8, 121u8, 90u8, + 203u8, 125u8, 106u8, 145u8, 144u8, + ], + ) + } + } + } + } + pub mod offences { + use super::root_mod; + use super::runtime_types; + #[doc = "Events type."] + pub type Event = runtime_types::pallet_offences::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "There is an offence reported of the given `kind` happened at the `session_index` and"] + #[doc = "(kind-specific) time slot. This event is not deposited for duplicate slashes."] + #[doc = "\\[kind, timeslot\\]."] + pub struct Offence { + pub kind: [::core::primitive::u8; 16usize], + pub timeslot: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::events::StaticEvent for Offence { + const PALLET: &'static str = "Offences"; + const EVENT: &'static str = "Offence"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The primary structure that holds all offence records keyed by report identifiers."] + pub fn reports( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_staking::offence::OffenceDetails< + ::subxt::utils::AccountId32, + ( + ::subxt::utils::AccountId32, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ), + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Offences", + "Reports", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 144u8, 30u8, 66u8, 199u8, 102u8, 236u8, 175u8, 201u8, 206u8, + 170u8, 55u8, 162u8, 137u8, 120u8, 220u8, 213u8, 57u8, 252u8, + 0u8, 88u8, 210u8, 68u8, 5u8, 25u8, 77u8, 114u8, 204u8, 23u8, + 190u8, 32u8, 211u8, 30u8, + ], + ) + } + #[doc = " The primary structure that holds all offence records keyed by report identifiers."] + pub fn reports_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_staking::offence::OffenceDetails< + ::subxt::utils::AccountId32, + ( + ::subxt::utils::AccountId32, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ), + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Offences", + "Reports", + Vec::new(), + [ + 144u8, 30u8, 66u8, 199u8, 102u8, 236u8, 175u8, 201u8, 206u8, + 170u8, 55u8, 162u8, 137u8, 120u8, 220u8, 213u8, 57u8, 252u8, + 0u8, 88u8, 210u8, 68u8, 5u8, 25u8, 77u8, 114u8, 204u8, 23u8, + 190u8, 32u8, 211u8, 30u8, + ], + ) + } + #[doc = " A vector of reports of the same kind that happened at the same time slot."] + pub fn concurrent_reports_index( + &self, + _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 16usize]>, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8]>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::utils::H256>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Offences", + "ConcurrentReportsIndex", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 106u8, 21u8, 104u8, 5u8, 4u8, 66u8, 28u8, 70u8, 161u8, 195u8, + 238u8, 28u8, 69u8, 241u8, 221u8, 113u8, 140u8, 103u8, 181u8, + 143u8, 60u8, 177u8, 13u8, 129u8, 224u8, 149u8, 77u8, 32u8, + 75u8, 74u8, 101u8, 65u8, + ], + ) + } + #[doc = " A vector of reports of the same kind that happened at the same time slot."] + pub fn concurrent_reports_index_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::utils::H256>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Offences", + "ConcurrentReportsIndex", + Vec::new(), + [ + 106u8, 21u8, 104u8, 5u8, 4u8, 66u8, 28u8, 70u8, 161u8, 195u8, + 238u8, 28u8, 69u8, 241u8, 221u8, 113u8, 140u8, 103u8, 181u8, + 143u8, 60u8, 177u8, 13u8, 129u8, 224u8, 149u8, 77u8, 32u8, + 75u8, 74u8, 101u8, 65u8, + ], + ) + } + #[doc = " Enumerates all reports of a kind along with the time they happened."] + #[doc = ""] + #[doc = " All reports are sorted by the time of offence."] + #[doc = ""] + #[doc = " Note that the actual type of this mapping is `Vec`, this is because values of"] + #[doc = " different types are not supported at the moment so we are doing the manual serialization."] + pub fn reports_by_kind_index( + &self, + _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 16usize]>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u8>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Offences", + "ReportsByKindIndex", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 162u8, 66u8, 131u8, 48u8, 250u8, 237u8, 179u8, 214u8, 36u8, + 137u8, 226u8, 136u8, 120u8, 61u8, 215u8, 43u8, 164u8, 50u8, + 91u8, 164u8, 20u8, 96u8, 189u8, 100u8, 242u8, 106u8, 21u8, + 136u8, 98u8, 215u8, 180u8, 145u8, + ], + ) + } + #[doc = " Enumerates all reports of a kind along with the time they happened."] + #[doc = ""] + #[doc = " All reports are sorted by the time of offence."] + #[doc = ""] + #[doc = " Note that the actual type of this mapping is `Vec`, this is because values of"] + #[doc = " different types are not supported at the moment so we are doing the manual serialization."] + pub fn reports_by_kind_index_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u8>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Offences", + "ReportsByKindIndex", + Vec::new(), + [ + 162u8, 66u8, 131u8, 48u8, 250u8, 237u8, 179u8, 214u8, 36u8, + 137u8, 226u8, 136u8, 120u8, 61u8, 215u8, 43u8, 164u8, 50u8, + 91u8, 164u8, 20u8, 96u8, 189u8, 100u8, 242u8, 106u8, 21u8, + 136u8, 98u8, 215u8, 180u8, 145u8, + ], + ) + } + } + } + } + pub mod historical { + use super::root_mod; + use super::runtime_types; + } + pub mod randomness_collective_flip { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Series of block headers from the last 81 blocks that acts as random seed material. This"] + #[doc = " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of"] + #[doc = " the oldest hash."] + pub fn random_material( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::H256, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RandomnessCollectiveFlip", + "RandomMaterial", + vec![], + [ + 152u8, 126u8, 73u8, 88u8, 54u8, 147u8, 6u8, 19u8, 214u8, + 40u8, 159u8, 30u8, 236u8, 61u8, 240u8, 65u8, 178u8, 94u8, + 146u8, 152u8, 135u8, 252u8, 160u8, 86u8, 123u8, 114u8, 251u8, + 140u8, 98u8, 143u8, 217u8, 242u8, + ], + ) + } + } + } + } + pub mod identity { + use super::root_mod; + use super::runtime_types; + #[doc = "Identity pallet declaration."] + 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 AddRegistrar { + pub account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetIdentity { + pub info: ::std::boxed::Box< + runtime_types::pallet_identity::types::IdentityInfo, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetSubs { + pub subs: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearIdentity; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RequestJudgement { + #[codec(compact)] + pub reg_index: ::core::primitive::u32, + #[codec(compact)] + pub max_fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelRequest { + pub reg_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetFee { + #[codec(compact)] + pub index: ::core::primitive::u32, + #[codec(compact)] + pub fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetAccountId { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetFields { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ProvideJudgement { + #[codec(compact)] + pub reg_index: ::core::primitive::u32, + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub judgement: runtime_types::pallet_identity::types::Judgement< + ::core::primitive::u128, + >, + pub identity: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct KillIdentity { + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AddSub { + pub sub: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub data: runtime_types::pallet_identity::types::Data, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RenameSub { + pub sub: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub data: runtime_types::pallet_identity::types::Data, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveSub { + pub sub: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct QuitSub; + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Add a registrar to the system."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `T::RegistrarOrigin`."] + #[doc = ""] + #[doc = "- `account`: the account of the registrar."] + #[doc = ""] + #[doc = "Emits `RegistrarAdded` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] + #[doc = "- One storage mutation (codec `O(R)`)."] + #[doc = "- One event."] + #[doc = "# "] + pub fn add_registrar( + &self, + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "add_registrar", + AddRegistrar { account }, + [ + 96u8, 200u8, 92u8, 23u8, 3u8, 144u8, 56u8, 53u8, 245u8, + 210u8, 33u8, 36u8, 183u8, 233u8, 41u8, 1u8, 127u8, 2u8, 25u8, + 5u8, 15u8, 133u8, 4u8, 107u8, 206u8, 155u8, 114u8, 39u8, + 14u8, 235u8, 115u8, 172u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(X + X' + R)`"] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] + #[doc = " - where `R` judgements-count (registrar-count-bounded)"] + #[doc = "- One balance reserve operation."] + #[doc = "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`)."] + #[doc = "- One event."] + #[doc = "# "] + pub fn set_identity( + &self, + info: runtime_types::pallet_identity::types::IdentityInfo, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_identity", + SetIdentity { + info: ::std::boxed::Box::new(info), + }, + [ + 130u8, 89u8, 118u8, 6u8, 134u8, 166u8, 35u8, 192u8, 73u8, + 6u8, 171u8, 20u8, 225u8, 255u8, 152u8, 142u8, 111u8, 8u8, + 206u8, 200u8, 64u8, 52u8, 110u8, 123u8, 42u8, 101u8, 191u8, + 242u8, 133u8, 139u8, 154u8, 205u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(P + S)`"] + #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = "- At most one balance operations."] + #[doc = "- DB:"] + #[doc = " - `P + S` storage mutations (codec complexity `O(1)`)"] + #[doc = " - One storage read (codec complexity `O(P)`)."] + #[doc = " - One storage write (codec complexity `O(S)`)."] + #[doc = " - One storage-exists (`IdentityOf::contains_key`)."] + #[doc = "# "] + pub fn set_subs( + &self, + subs: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_subs", + SetSubs { subs }, + [ + 177u8, 219u8, 84u8, 183u8, 5u8, 32u8, 192u8, 82u8, 174u8, + 68u8, 198u8, 224u8, 56u8, 85u8, 134u8, 171u8, 30u8, 132u8, + 140u8, 236u8, 117u8, 24u8, 150u8, 218u8, 146u8, 194u8, 144u8, + 92u8, 103u8, 206u8, 46u8, 90u8, + ], + ) + } + #[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 = "# "] + #[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)."] + #[doc = "- One balance-unreserve operation."] + #[doc = "- `2` storage reads and `S + 2` storage deletions."] + #[doc = "- One event."] + #[doc = "# "] + pub fn clear_identity( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "clear_identity", + ClearIdentity {}, + [ + 75u8, 44u8, 74u8, 122u8, 149u8, 202u8, 114u8, 230u8, 0u8, + 255u8, 140u8, 122u8, 14u8, 196u8, 205u8, 249u8, 220u8, 94u8, + 216u8, 34u8, 63u8, 14u8, 8u8, 205u8, 74u8, 23u8, 181u8, + 129u8, 252u8, 110u8, 231u8, 114u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`."] + #[doc = "- One event."] + #[doc = "# "] + pub fn request_judgement( + &self, + reg_index: ::core::primitive::u32, + max_fee: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "request_judgement", + RequestJudgement { reg_index, max_fee }, + [ + 186u8, 149u8, 61u8, 54u8, 159u8, 194u8, 77u8, 161u8, 220u8, + 157u8, 3u8, 216u8, 23u8, 105u8, 119u8, 76u8, 144u8, 198u8, + 157u8, 45u8, 235u8, 139u8, 87u8, 82u8, 81u8, 12u8, 25u8, + 134u8, 225u8, 92u8, 182u8, 101u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- One storage mutation `O(R + X)`."] + #[doc = "- One event"] + #[doc = "# "] + pub fn cancel_request( + &self, + reg_index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "cancel_request", + CancelRequest { reg_index }, + [ + 83u8, 180u8, 239u8, 126u8, 32u8, 51u8, 17u8, 20u8, 180u8, + 3u8, 59u8, 96u8, 24u8, 32u8, 136u8, 92u8, 58u8, 254u8, 68u8, + 70u8, 50u8, 11u8, 51u8, 91u8, 180u8, 79u8, 81u8, 84u8, 216u8, + 138u8, 6u8, 215u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 7.315 + R * 0.329 µs (min squares analysis)"] + #[doc = "# "] + pub fn set_fee( + &self, + index: ::core::primitive::u32, + fee: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_fee", + SetFee { index, fee }, + [ + 21u8, 157u8, 123u8, 182u8, 160u8, 190u8, 117u8, 37u8, 136u8, + 133u8, 104u8, 234u8, 31u8, 145u8, 115u8, 154u8, 125u8, 40u8, + 2u8, 87u8, 118u8, 56u8, 247u8, 73u8, 89u8, 0u8, 251u8, 3u8, + 58u8, 105u8, 239u8, 211u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 8.823 + R * 0.32 µs (min squares analysis)"] + #[doc = "# "] + pub fn set_account_id( + &self, + index: ::core::primitive::u32, + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_account_id", + SetAccountId { index, new }, + [ + 14u8, 154u8, 84u8, 48u8, 59u8, 133u8, 45u8, 204u8, 255u8, + 85u8, 157u8, 88u8, 56u8, 207u8, 113u8, 184u8, 233u8, 139u8, + 129u8, 118u8, 59u8, 9u8, 211u8, 184u8, 32u8, 141u8, 126u8, + 208u8, 179u8, 4u8, 2u8, 95u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 7.464 + R * 0.325 µs (min squares analysis)"] + #[doc = "# "] + pub fn set_fields( + &self, + index: ::core::primitive::u32, + fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_fields", + SetFields { index, fields }, + [ + 50u8, 196u8, 179u8, 71u8, 66u8, 65u8, 235u8, 7u8, 51u8, 14u8, + 81u8, 173u8, 201u8, 58u8, 6u8, 151u8, 174u8, 245u8, 102u8, + 184u8, 28u8, 84u8, 125u8, 93u8, 126u8, 134u8, 92u8, 203u8, + 200u8, 129u8, 240u8, 252u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-transfer operation."] + #[doc = "- Up to one account-lookup operation."] + #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`."] + #[doc = "- One event."] + #[doc = "# "] + pub fn provide_judgement( + &self, + 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, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "provide_judgement", + ProvideJudgement { + reg_index, + target, + judgement, + identity, + }, + [ + 83u8, 253u8, 77u8, 208u8, 198u8, 25u8, 202u8, 213u8, 223u8, + 184u8, 231u8, 185u8, 186u8, 216u8, 54u8, 62u8, 3u8, 7u8, + 107u8, 152u8, 126u8, 195u8, 175u8, 221u8, 134u8, 169u8, + 199u8, 124u8, 232u8, 157u8, 67u8, 75u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(R + S + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- `S + 2` storage mutations."] + #[doc = "- One event."] + #[doc = "# "] + pub fn kill_identity( + &self, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "kill_identity", + KillIdentity { target }, + [ + 65u8, 106u8, 116u8, 209u8, 219u8, 181u8, 185u8, 75u8, 146u8, + 194u8, 187u8, 170u8, 7u8, 34u8, 140u8, 87u8, 107u8, 112u8, + 229u8, 34u8, 65u8, 71u8, 58u8, 152u8, 74u8, 253u8, 137u8, + 69u8, 149u8, 214u8, 158u8, 19u8, + ], + ) + } + #[doc = "Add the given account to the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + pub fn add_sub( + &self, + sub: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + data: runtime_types::pallet_identity::types::Data, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "add_sub", + AddSub { sub, data }, + [ + 206u8, 112u8, 143u8, 96u8, 152u8, 12u8, 174u8, 226u8, 23u8, + 27u8, 154u8, 188u8, 195u8, 233u8, 185u8, 180u8, 246u8, 218u8, + 154u8, 129u8, 138u8, 52u8, 212u8, 109u8, 54u8, 211u8, 219u8, + 255u8, 39u8, 79u8, 154u8, 123u8, + ], + ) + } + #[doc = "Alter the associated name of the given sub-account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + pub fn rename_sub( + &self, + sub: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + data: runtime_types::pallet_identity::types::Data, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "rename_sub", + RenameSub { sub, data }, + [ + 110u8, 28u8, 134u8, 225u8, 44u8, 242u8, 20u8, 22u8, 197u8, + 49u8, 173u8, 178u8, 106u8, 181u8, 103u8, 90u8, 27u8, 73u8, + 102u8, 130u8, 2u8, 216u8, 172u8, 186u8, 124u8, 244u8, 128u8, + 6u8, 112u8, 128u8, 25u8, 245u8, + ], + ) + } + #[doc = "Remove the given account from the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + pub fn remove_sub( + &self, + sub: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "remove_sub", + RemoveSub { sub }, + [ + 92u8, 201u8, 70u8, 170u8, 248u8, 110u8, 179u8, 186u8, 213u8, + 197u8, 150u8, 156u8, 156u8, 50u8, 19u8, 158u8, 186u8, 61u8, + 106u8, 64u8, 84u8, 38u8, 73u8, 134u8, 132u8, 233u8, 50u8, + 152u8, 40u8, 18u8, 212u8, 121u8, + ], + ) + } + #[doc = "Remove the sender as a sub-account."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender (*not* the original depositor)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "super-identity."] + #[doc = ""] + #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"] + #[doc = "controller of an account is maliciously registered as a sub-account."] + pub fn quit_sub(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "quit_sub", + QuitSub {}, + [ + 62u8, 57u8, 73u8, 72u8, 119u8, 216u8, 250u8, 155u8, 57u8, + 169u8, 157u8, 44u8, 87u8, 51u8, 63u8, 231u8, 77u8, 7u8, 0u8, + 119u8, 244u8, 42u8, 179u8, 51u8, 254u8, 240u8, 55u8, 25u8, + 142u8, 38u8, 87u8, 44u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_identity::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A name was set or reset (which will remove all judgements)."] + pub struct IdentitySet { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for IdentitySet { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "IdentitySet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A name was cleared, and the given balance returned."] + pub struct IdentityCleared { + pub who: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for IdentityCleared { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "IdentityCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A name was removed and the given balance slashed."] + pub struct IdentityKilled { + pub who: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for IdentityKilled { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "IdentityKilled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A judgement was asked from a registrar."] + pub struct JudgementRequested { + pub who: ::subxt::utils::AccountId32, + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for JudgementRequested { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "JudgementRequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A judgement request was retracted."] + pub struct JudgementUnrequested { + pub who: ::subxt::utils::AccountId32, + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for JudgementUnrequested { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "JudgementUnrequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A judgement was given by a registrar."] + pub struct JudgementGiven { + pub target: ::subxt::utils::AccountId32, + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for JudgementGiven { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "JudgementGiven"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A registrar was added."] + pub struct RegistrarAdded { + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for RegistrarAdded { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "RegistrarAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A sub-identity was added to an identity and the deposit paid."] + pub struct SubIdentityAdded { + pub sub: ::subxt::utils::AccountId32, + pub main: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubIdentityAdded { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "SubIdentityAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A sub-identity was removed from an identity and the deposit freed."] + pub struct SubIdentityRemoved { + pub sub: ::subxt::utils::AccountId32, + pub main: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubIdentityRemoved { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "SubIdentityRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] + #[doc = "main identity account to the sub-identity account."] + pub struct SubIdentityRevoked { + pub sub: ::subxt::utils::AccountId32, + pub main: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubIdentityRevoked { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "SubIdentityRevoked"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Information that is pertinent to identify the entity behind an account."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn identity_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_identity::types::Registration< + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "IdentityOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 193u8, 195u8, 180u8, 188u8, 129u8, 250u8, 180u8, 219u8, 22u8, + 95u8, 175u8, 170u8, 143u8, 188u8, 80u8, 124u8, 234u8, 228u8, + 245u8, 39u8, 72u8, 153u8, 107u8, 199u8, 23u8, 75u8, 47u8, + 247u8, 104u8, 208u8, 171u8, 82u8, + ], + ) + } + #[doc = " Information that is pertinent to identify the entity behind an account."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn identity_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_identity::types::Registration< + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "IdentityOf", + Vec::new(), + [ + 193u8, 195u8, 180u8, 188u8, 129u8, 250u8, 180u8, 219u8, 22u8, + 95u8, 175u8, 170u8, 143u8, 188u8, 80u8, 124u8, 234u8, 228u8, + 245u8, 39u8, 72u8, 153u8, 107u8, 199u8, 23u8, 75u8, 47u8, + 247u8, 104u8, 208u8, 171u8, 82u8, + ], + ) + } + #[doc = " The super-identity of an alternative \"sub\" identity together with its name, within that"] + #[doc = " context. If the account is not some other account's sub-identity, then just `None`."] + pub fn super_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "SuperOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 170u8, 249u8, 112u8, 249u8, 75u8, 176u8, 21u8, 29u8, 152u8, + 149u8, 69u8, 113u8, 20u8, 92u8, 113u8, 130u8, 135u8, 62u8, + 18u8, 204u8, 166u8, 193u8, 133u8, 167u8, 248u8, 117u8, 80u8, + 137u8, 158u8, 111u8, 100u8, 137u8, + ], + ) + } + #[doc = " The super-identity of an alternative \"sub\" identity together with its name, within that"] + #[doc = " context. If the account is not some other account's sub-identity, then just `None`."] + pub fn super_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "SuperOf", + Vec::new(), + [ + 170u8, 249u8, 112u8, 249u8, 75u8, 176u8, 21u8, 29u8, 152u8, + 149u8, 69u8, 113u8, 20u8, 92u8, 113u8, 130u8, 135u8, 62u8, + 18u8, 204u8, 166u8, 193u8, 133u8, 167u8, 248u8, 117u8, 80u8, + 137u8, 158u8, 111u8, 100u8, 137u8, + ], + ) + } + #[doc = " Alternative \"sub\" identities of this account."] + #[doc = ""] + #[doc = " The first item is the deposit, the second is a vector of the accounts."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn subs_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "SubsOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 128u8, 15u8, 175u8, 155u8, 216u8, 225u8, 200u8, 169u8, 215u8, + 206u8, 110u8, 22u8, 204u8, 89u8, 212u8, 210u8, 159u8, 169u8, + 53u8, 7u8, 44u8, 164u8, 91u8, 151u8, 7u8, 227u8, 38u8, 230u8, + 175u8, 84u8, 6u8, 4u8, + ], + ) + } + #[doc = " Alternative \"sub\" identities of this account."] + #[doc = ""] + #[doc = " The first item is the deposit, the second is a vector of the accounts."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn subs_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "SubsOf", + Vec::new(), + [ + 128u8, 15u8, 175u8, 155u8, 216u8, 225u8, 200u8, 169u8, 215u8, + 206u8, 110u8, 22u8, 204u8, 89u8, 212u8, 210u8, 159u8, 169u8, + 53u8, 7u8, 44u8, 164u8, 91u8, 151u8, 7u8, 227u8, 38u8, 230u8, + 175u8, 84u8, 6u8, 4u8, + ], + ) + } + #[doc = " The set of registrars. Not expected to get very big as can only be added through a"] + #[doc = " special origin (likely a council motion)."] + #[doc = ""] + #[doc = " The index into this can be cast to `RegistrarIndex` to get a valid value."] + pub fn registrars( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::option::Option< + runtime_types::pallet_identity::types::RegistrarInfo< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "Registrars", + vec![], + [ + 157u8, 87u8, 39u8, 240u8, 154u8, 54u8, 241u8, 229u8, 76u8, + 9u8, 62u8, 252u8, 40u8, 143u8, 186u8, 182u8, 233u8, 187u8, + 251u8, 61u8, 236u8, 229u8, 19u8, 55u8, 42u8, 36u8, 82u8, + 173u8, 215u8, 155u8, 229u8, 111u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The amount held on deposit for a registered identity"] + pub fn basic_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "BasicDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount held on deposit per additional field for a registered identity."] + pub fn field_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "FieldDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount held on deposit for a registered subaccount. This should account for the fact"] + #[doc = " that one storage item's value will increase by the size of an account ID, and there will"] + #[doc = " be another trie item whose value is the size of an account ID plus 32 bytes."] + pub fn sub_account_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "SubAccountDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum number of sub-accounts allowed per identified account."] + pub fn max_sub_accounts( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "MaxSubAccounts", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O"] + #[doc = " required to access an identity, but can be pretty high."] + pub fn max_additional_fields( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "MaxAdditionalFields", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Maxmimum number of registrars allowed in the system. Needed to bound the complexity"] + #[doc = " of, e.g., updating judgements."] + pub fn max_registrars( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "MaxRegistrars", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + } + } + } + pub mod society { + 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 :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Bid { + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Unbid { + pub pos: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vouch { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub value: ::core::primitive::u128, + pub tip: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Unvouch { + pub pos: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote { + pub candidate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub approve: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DefenderVote { + pub approve: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Payout; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Found { + pub founder: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub max_members: ::core::primitive::u32, + pub rules: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Unfound; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct JudgeSuspendedMember { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub forgive: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct JudgeSuspendedCandidate { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub judgement: runtime_types::pallet_society::Judgement, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetMaxMembers { + pub max: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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 = "# "] + #[doc = "Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)"] + #[doc = "- Storage Reads:"] + #[doc = "\t- One storage read to check for suspended candidate. O(1)"] + #[doc = "\t- One storage read to check for suspended member. O(1)"] + #[doc = "\t- One storage read to retrieve all current bids. O(B)"] + #[doc = "\t- One storage read to retrieve all current candidates. O(C)"] + #[doc = "\t- One storage read to retrieve all members. O(M)"] + #[doc = "- Storage Writes:"] + #[doc = "\t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization"] + #[doc = " w/ read)"] + #[doc = "\t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)"] + #[doc = "- Notable Computation:"] + #[doc = "\t- O(B + C + log M) search to check user is not already a part of society."] + #[doc = "\t- O(log B) search to insert the new bid sorted."] + #[doc = "- External Pallet Operations:"] + #[doc = "\t- One balance reserve operation. O(X)"] + #[doc = "\t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT."] + #[doc = "- Events:"] + #[doc = "\t- One event for new bid."] + #[doc = "\t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT."] + #[doc = ""] + #[doc = "Total Complexity: O(M + B + C + logM + logB + X)"] + #[doc = "# "] + pub fn bid( + &self, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "bid", + Bid { value }, + [ + 101u8, 242u8, 48u8, 240u8, 74u8, 51u8, 49u8, 61u8, 6u8, 7u8, + 47u8, 200u8, 185u8, 217u8, 176u8, 139u8, 44u8, 167u8, 131u8, + 23u8, 219u8, 69u8, 216u8, 213u8, 177u8, 50u8, 8u8, 213u8, + 130u8, 90u8, 81u8, 4u8, + ], + ) + } + #[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 = "# "] + #[doc = "Key: B (len of bids), X (balance unreserve)"] + #[doc = "- One storage read and write to retrieve and update the bids. O(B)"] + #[doc = "- Either one unreserve balance action O(X) or one vouching storage removal. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(B + X)"] + #[doc = "# "] + pub fn unbid( + &self, + pos: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "unbid", + Unbid { pos }, + [ + 255u8, 165u8, 200u8, 241u8, 93u8, 213u8, 155u8, 12u8, 178u8, + 108u8, 222u8, 14u8, 26u8, 226u8, 107u8, 129u8, 162u8, 151u8, + 81u8, 83u8, 39u8, 106u8, 151u8, 149u8, 19u8, 85u8, 28u8, + 222u8, 227u8, 9u8, 189u8, 39u8, + ], + ) + } + #[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 = "# "] + #[doc = "Key: B (len of bids), C (len of candidates), M (len of members)"] + #[doc = "- Storage Reads:"] + #[doc = "\t- One storage read to retrieve all members. O(M)"] + #[doc = "\t- One storage read to check member is not already vouching. O(1)"] + #[doc = "\t- One storage read to check for suspended candidate. O(1)"] + #[doc = "\t- One storage read to check for suspended member. O(1)"] + #[doc = "\t- One storage read to retrieve all current bids. O(B)"] + #[doc = "\t- One storage read to retrieve all current candidates. O(C)"] + #[doc = "- Storage Writes:"] + #[doc = "\t- One storage write to insert vouching status to the member. O(1)"] + #[doc = "\t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization"] + #[doc = " w/ read)"] + #[doc = "\t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)"] + #[doc = "- Notable Computation:"] + #[doc = "\t- O(log M) search to check sender is a member."] + #[doc = "\t- O(B + C + log M) search to check user is not already a part of society."] + #[doc = "\t- O(log B) search to insert the new bid sorted."] + #[doc = "- External Pallet Operations:"] + #[doc = "\t- One balance reserve operation. O(X)"] + #[doc = "\t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT."] + #[doc = "- Events:"] + #[doc = "\t- One event for vouch."] + #[doc = "\t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT."] + #[doc = ""] + #[doc = "Total Complexity: O(M + B + C + logM + logB + X)"] + #[doc = "# "] + pub fn vouch( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + tip: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "vouch", + Vouch { who, value, tip }, + [ + 237u8, 190u8, 123u8, 221u8, 175u8, 83u8, 96u8, 83u8, 152u8, + 207u8, 134u8, 176u8, 124u8, 32u8, 23u8, 249u8, 153u8, 220u8, + 79u8, 164u8, 214u8, 231u8, 82u8, 204u8, 185u8, 245u8, 164u8, + 163u8, 59u8, 254u8, 184u8, 105u8, + ], + ) + } + #[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 = "# "] + #[doc = "Key: B (len of bids)"] + #[doc = "- One storage read O(1) to check the signer is a vouching member."] + #[doc = "- One storage mutate to retrieve and update the bids. O(B)"] + #[doc = "- One vouching storage removal. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(B)"] + #[doc = "# "] + pub fn unvouch( + &self, + pos: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "unvouch", + Unvouch { pos }, + [ + 242u8, 181u8, 109u8, 170u8, 197u8, 53u8, 8u8, 241u8, 47u8, + 28u8, 1u8, 209u8, 142u8, 106u8, 136u8, 163u8, 42u8, 169u8, + 7u8, 1u8, 202u8, 38u8, 199u8, 232u8, 13u8, 111u8, 92u8, 69u8, + 237u8, 90u8, 134u8, 84u8, + ], + ) + } + #[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 = "# "] + #[doc = "Key: C (len of candidates), M (len of members)"] + #[doc = "- One storage read O(M) and O(log M) search to check user is a member."] + #[doc = "- One account lookup."] + #[doc = "- One storage read O(C) and O(C) search to check that user is a candidate."] + #[doc = "- One storage write to add vote to votes. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM + C)"] + #[doc = "# "] + pub fn vote( + &self, + candidate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + approve: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "vote", + Vote { candidate, approve }, + [ + 92u8, 101u8, 248u8, 64u8, 78u8, 158u8, 63u8, 91u8, 0u8, 8u8, + 182u8, 117u8, 209u8, 190u8, 92u8, 35u8, 131u8, 121u8, 123u8, + 129u8, 36u8, 188u8, 65u8, 104u8, 229u8, 77u8, 159u8, 24u8, + 216u8, 77u8, 117u8, 29u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Key: M (len of members)"] + #[doc = "- One storage read O(M) and O(log M) search to check user is a member."] + #[doc = "- One storage write to add vote to votes. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM)"] + #[doc = "# "] + pub fn defender_vote( + &self, + approve: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "defender_vote", + DefenderVote { approve }, + [ + 248u8, 232u8, 243u8, 44u8, 252u8, 68u8, 118u8, 143u8, 57u8, + 34u8, 196u8, 4u8, 71u8, 14u8, 28u8, 164u8, 139u8, 184u8, + 20u8, 71u8, 86u8, 227u8, 172u8, 84u8, 213u8, 221u8, 155u8, + 198u8, 56u8, 93u8, 209u8, 211u8, + ], + ) + } + #[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 = "# "] + #[doc = "Key: M (len of members), P (number of payouts for a particular member)"] + #[doc = "- One storage read O(M) and O(log M) search to check signer is a member."] + #[doc = "- One storage read O(P) to get all payouts for a member."] + #[doc = "- One storage read O(1) to get the current block number."] + #[doc = "- One currency transfer call. O(X)"] + #[doc = "- One storage write or removal to update the member's payouts. O(P)"] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM + P + X)"] + #[doc = "# "] + pub fn payout(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "payout", + Payout {}, + [ + 255u8, 171u8, 227u8, 58u8, 244u8, 95u8, 239u8, 127u8, 129u8, + 211u8, 131u8, 191u8, 154u8, 234u8, 85u8, 69u8, 173u8, 135u8, + 179u8, 83u8, 17u8, 41u8, 34u8, 137u8, 174u8, 251u8, 127u8, + 62u8, 74u8, 255u8, 19u8, 234u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Two storage mutates to set `Head` and `Founder`. O(1)"] + #[doc = "- One storage write to add the first member to society. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = "# "] + pub fn found( + &self, + founder: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + max_members: ::core::primitive::u32, + rules: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "found", + Found { + founder, + max_members, + rules, + }, + [ + 68u8, 18u8, 181u8, 102u8, 113u8, 16u8, 129u8, 67u8, 101u8, + 164u8, 35u8, 3u8, 182u8, 214u8, 181u8, 73u8, 42u8, 163u8, + 224u8, 110u8, 132u8, 185u8, 233u8, 239u8, 247u8, 143u8, 67u8, + 112u8, 116u8, 201u8, 236u8, 6u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Two storage reads O(1)."] + #[doc = "- Four storage removals O(1)."] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = "# "] + pub fn unfound(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "unfound", + Unfound {}, + [ + 30u8, 120u8, 137u8, 175u8, 237u8, 121u8, 90u8, 9u8, 111u8, + 75u8, 51u8, 85u8, 86u8, 182u8, 6u8, 249u8, 62u8, 246u8, 21u8, + 150u8, 70u8, 148u8, 39u8, 14u8, 168u8, 250u8, 164u8, 235u8, + 23u8, 18u8, 164u8, 97u8, + ], + ) + } + #[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 = "# "] + #[doc = "Key: B (len of bids), M (len of members)"] + #[doc = "- One storage read to check `who` is a suspended member. O(1)"] + #[doc = "- Up to one storage write O(M) with O(log M) binary search to add a member back to"] + #[doc = " society."] + #[doc = "- Up to 3 storage removals O(1) to clean up a removed member."] + #[doc = "- Up to one storage write O(B) with O(B) search to remove vouched bid from bids."] + #[doc = "- Up to one additional event if unvouch takes place."] + #[doc = "- One storage removal. O(1)"] + #[doc = "- One event for the judgement."] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM + B)"] + #[doc = "# "] + pub fn judge_suspended_member( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + forgive: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "judge_suspended_member", + JudgeSuspendedMember { who, forgive }, + [ + 230u8, 85u8, 37u8, 61u8, 138u8, 230u8, 105u8, 230u8, 248u8, + 209u8, 167u8, 1u8, 176u8, 226u8, 83u8, 166u8, 141u8, 232u8, + 186u8, 86u8, 222u8, 227u8, 229u8, 84u8, 113u8, 58u8, 13u8, + 45u8, 246u8, 132u8, 60u8, 82u8, + ], + ) + } + #[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 = "# "] + #[doc = "Key: B (len of bids), M (len of members), X (balance action)"] + #[doc = "- One storage read to check `who` is a suspended candidate."] + #[doc = "- One storage removal of the suspended candidate."] + #[doc = "- Approve Logic"] + #[doc = "\t- One storage read to get the available pot to pay users with. O(1)"] + #[doc = "\t- One storage write to update the available pot. O(1)"] + #[doc = "\t- One storage read to get the current block number. O(1)"] + #[doc = "\t- One storage read to get all members. O(M)"] + #[doc = "\t- Up to one unreserve currency action."] + #[doc = "\t- Up to two new storage writes to payouts."] + #[doc = "\t- Up to one storage write with O(log M) binary search to add a member to society."] + #[doc = "- Reject Logic"] + #[doc = "\t- Up to one repatriate reserved currency action. O(X)"] + #[doc = "\t- Up to one storage write to ban the vouching member from vouching again."] + #[doc = "- Rebid Logic"] + #[doc = "\t- Storage mutate with O(log B) binary search to place the user back into bids."] + #[doc = "- Up to one additional event if unvouch takes place."] + #[doc = "- One storage removal."] + #[doc = "- One event for the judgement."] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM + B + X)"] + #[doc = "# "] + pub fn judge_suspended_candidate( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + judgement: runtime_types::pallet_society::Judgement, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Society", + "judge_suspended_candidate", + JudgeSuspendedCandidate { who, judgement }, + [ + 233u8, 241u8, 151u8, 219u8, 217u8, 131u8, 112u8, 172u8, + 227u8, 93u8, 244u8, 214u8, 14u8, 183u8, 133u8, 74u8, 174u8, + 141u8, 235u8, 189u8, 52u8, 146u8, 62u8, 254u8, 248u8, 60u8, + 129u8, 109u8, 164u8, 54u8, 37u8, 237u8, + ], + ) + } + #[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 = "# "] + #[doc = "- One storage write to update the max. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = "# "] + pub fn set_max_members( + &self, + max: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Society", + "set_max_members", + SetMaxMembers { max }, + [ + 4u8, 120u8, 194u8, 207u8, 5u8, 93u8, 40u8, 12u8, 1u8, 151u8, + 127u8, 162u8, 218u8, 228u8, 1u8, 249u8, 148u8, 139u8, 124u8, + 171u8, 94u8, 151u8, 40u8, 164u8, 171u8, 122u8, 65u8, 233u8, + 27u8, 82u8, 74u8, 67u8, + ], + ) + } + } + } + #[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_society::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The society is founded by the given identity."] + pub struct Founded { + pub founder: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Founded { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Founded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A membership bid just happened. The given account is the candidate's ID and their offer"] + #[doc = "is the second."] + pub struct Bid { + pub candidate_id: ::subxt::utils::AccountId32, + pub offer: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Bid { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Bid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A membership bid just happened by vouching. The given account is the candidate's ID and"] + #[doc = "their offer is the second. The vouching party is the third."] + pub struct Vouch { + pub candidate_id: ::subxt::utils::AccountId32, + pub offer: ::core::primitive::u128, + pub vouching: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Vouch { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Vouch"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A candidate was dropped (due to an excess of bids in the system)."] + pub struct AutoUnbid { + pub candidate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for AutoUnbid { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "AutoUnbid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A candidate was dropped (by their request)."] + pub struct Unbid { + pub candidate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Unbid { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Unbid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A candidate was dropped (by request of who vouched for them)."] + pub struct Unvouch { + pub candidate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Unvouch { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Unvouch"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A group of candidates have been inducted. The batch's primary is the first value, the"] + #[doc = "batch in full is the second."] + pub struct Inducted { + pub primary: ::subxt::utils::AccountId32, + pub candidates: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::events::StaticEvent for Inducted { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Inducted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A suspended member has been judged."] + pub struct SuspendedMemberJudgement { + pub who: ::subxt::utils::AccountId32, + pub judged: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for SuspendedMemberJudgement { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "SuspendedMemberJudgement"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A candidate has been suspended"] + pub struct CandidateSuspended { + pub candidate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for CandidateSuspended { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "CandidateSuspended"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member has been suspended"] + pub struct MemberSuspended { + pub member: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for MemberSuspended { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "MemberSuspended"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member has been challenged"] + pub struct Challenged { + pub member: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Challenged { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Challenged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A vote has been placed"] + pub struct Vote { + pub candidate: ::subxt::utils::AccountId32, + pub voter: ::subxt::utils::AccountId32, + pub vote: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for Vote { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Vote"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A vote has been placed for a defending member"] + pub struct DefenderVote { + pub voter: ::subxt::utils::AccountId32, + pub vote: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for DefenderVote { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "DefenderVote"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new \\[max\\] member count has been set"] + pub struct NewMaxMembers { + pub max: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for NewMaxMembers { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "NewMaxMembers"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Society is unfounded."] + pub struct Unfounded { + pub founder: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Unfounded { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Unfounded"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some funds were deposited into the society account."] + pub struct Deposit { + pub value: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Deposit { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "Deposit"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The first member."] + pub fn founder( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Founder", + vec![], + [ + 50u8, 222u8, 149u8, 14u8, 31u8, 163u8, 129u8, 123u8, 150u8, + 220u8, 16u8, 136u8, 150u8, 245u8, 171u8, 231u8, 75u8, 203u8, + 249u8, 123u8, 86u8, 43u8, 208u8, 65u8, 41u8, 111u8, 114u8, + 254u8, 131u8, 13u8, 26u8, 43u8, + ], + ) + } + #[doc = " A hash of the rules of this society concerning membership. Can only be set once and"] + #[doc = " only by the founder."] + pub fn rules( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::H256>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Rules", + vec![], + [ + 10u8, 206u8, 100u8, 24u8, 227u8, 138u8, 82u8, 125u8, 247u8, + 160u8, 124u8, 121u8, 148u8, 98u8, 252u8, 214u8, 215u8, 232u8, + 160u8, 204u8, 23u8, 95u8, 240u8, 16u8, 201u8, 245u8, 13u8, + 178u8, 99u8, 61u8, 247u8, 137u8, + ], + ) + } + #[doc = " The current set of candidates; bidders that are attempting to become members."] + pub fn candidates( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::pallet_society::Bid< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Candidates", + vec![], + [ + 88u8, 231u8, 247u8, 115u8, 122u8, 18u8, 106u8, 195u8, 238u8, + 219u8, 174u8, 23u8, 179u8, 228u8, 82u8, 26u8, 141u8, 190u8, + 206u8, 46u8, 177u8, 218u8, 123u8, 152u8, 208u8, 79u8, 57u8, + 68u8, 3u8, 208u8, 174u8, 193u8, + ], + ) + } + #[doc = " The set of suspended candidates."] + pub fn suspended_candidates( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + runtime_types::pallet_society::BidKind< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "SuspendedCandidates", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 35u8, 46u8, 78u8, 1u8, 132u8, 103u8, 152u8, 33u8, 86u8, + 137u8, 125u8, 122u8, 63u8, 175u8, 197u8, 39u8, 255u8, 0u8, + 49u8, 53u8, 154u8, 40u8, 196u8, 158u8, 133u8, 113u8, 159u8, + 168u8, 148u8, 154u8, 57u8, 70u8, + ], + ) + } + #[doc = " The set of suspended candidates."] + pub fn suspended_candidates_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + runtime_types::pallet_society::BidKind< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "SuspendedCandidates", + Vec::new(), + [ + 35u8, 46u8, 78u8, 1u8, 132u8, 103u8, 152u8, 33u8, 86u8, + 137u8, 125u8, 122u8, 63u8, 175u8, 197u8, 39u8, 255u8, 0u8, + 49u8, 53u8, 154u8, 40u8, 196u8, 158u8, 133u8, 113u8, 159u8, + 168u8, 148u8, 154u8, 57u8, 70u8, + ], + ) + } + #[doc = " Amount of our account balance that is specifically for the next round's bid(s)."] + pub fn pot( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Pot", + vec![], + [ + 242u8, 124u8, 22u8, 252u8, 4u8, 178u8, 161u8, 120u8, 8u8, + 185u8, 182u8, 177u8, 205u8, 205u8, 192u8, 248u8, 42u8, 8u8, + 216u8, 92u8, 194u8, 219u8, 74u8, 248u8, 135u8, 105u8, 210u8, + 207u8, 159u8, 24u8, 149u8, 190u8, + ], + ) + } + #[doc = " The most primary from the most recently approved members."] + pub fn head( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Head", + vec![], + [ + 162u8, 185u8, 82u8, 237u8, 221u8, 60u8, 77u8, 96u8, 89u8, + 41u8, 162u8, 7u8, 174u8, 251u8, 121u8, 247u8, 196u8, 118u8, + 57u8, 24u8, 142u8, 129u8, 142u8, 106u8, 166u8, 7u8, 86u8, + 54u8, 108u8, 110u8, 118u8, 75u8, + ], + ) + } + #[doc = " The current set of members, ordered."] + pub fn members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::utils::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Members", + vec![], + [ + 162u8, 72u8, 174u8, 204u8, 140u8, 105u8, 205u8, 176u8, 197u8, + 117u8, 206u8, 134u8, 157u8, 110u8, 139u8, 54u8, 43u8, 233u8, + 25u8, 51u8, 36u8, 238u8, 94u8, 124u8, 221u8, 52u8, 237u8, + 71u8, 125u8, 56u8, 129u8, 222u8, + ], + ) + } + #[doc = " The set of suspended members."] + pub fn suspended_members( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "SuspendedMembers", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 158u8, 26u8, 34u8, 152u8, 137u8, 151u8, 205u8, 19u8, 12u8, + 138u8, 107u8, 21u8, 14u8, 162u8, 103u8, 25u8, 181u8, 13u8, + 59u8, 3u8, 225u8, 23u8, 242u8, 184u8, 225u8, 122u8, 55u8, + 53u8, 79u8, 163u8, 65u8, 57u8, + ], + ) + } + #[doc = " The set of suspended members."] + pub fn suspended_members_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "SuspendedMembers", + Vec::new(), + [ + 158u8, 26u8, 34u8, 152u8, 137u8, 151u8, 205u8, 19u8, 12u8, + 138u8, 107u8, 21u8, 14u8, 162u8, 103u8, 25u8, 181u8, 13u8, + 59u8, 3u8, 225u8, 23u8, 242u8, 184u8, 225u8, 122u8, 55u8, + 53u8, 79u8, 163u8, 65u8, 57u8, + ], + ) + } + #[doc = " The current bids, stored ordered by the value of the bid."] + pub fn bids( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::pallet_society::Bid< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Bids", + vec![], + [ + 8u8, 152u8, 107u8, 47u8, 7u8, 45u8, 86u8, 149u8, 230u8, 81u8, + 253u8, 110u8, 255u8, 83u8, 16u8, 168u8, 169u8, 70u8, 196u8, + 167u8, 168u8, 98u8, 36u8, 122u8, 124u8, 77u8, 61u8, 245u8, + 248u8, 48u8, 224u8, 125u8, + ], + ) + } + #[doc = " Members currently vouching or banned from vouching again"] + pub fn vouching( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_society::VouchingStatus, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Vouching", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 189u8, 212u8, 60u8, 171u8, 135u8, 82u8, 34u8, 93u8, 206u8, + 206u8, 31u8, 99u8, 197u8, 0u8, 97u8, 228u8, 118u8, 200u8, + 123u8, 81u8, 242u8, 93u8, 31u8, 1u8, 9u8, 121u8, 215u8, + 223u8, 15u8, 56u8, 223u8, 96u8, + ], + ) + } + #[doc = " Members currently vouching or banned from vouching again"] + pub fn vouching_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_society::VouchingStatus, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Vouching", + Vec::new(), + [ + 189u8, 212u8, 60u8, 171u8, 135u8, 82u8, 34u8, 93u8, 206u8, + 206u8, 31u8, 99u8, 197u8, 0u8, 97u8, 228u8, 118u8, 200u8, + 123u8, 81u8, 242u8, 93u8, 31u8, 1u8, 9u8, 121u8, 215u8, + 223u8, 15u8, 56u8, 223u8, 96u8, + ], + ) + } + #[doc = " Pending payouts; ordered by block number, with the amount that should be paid out."] + pub fn payouts( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<( + ::core::primitive::u32, + ::core::primitive::u128, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Payouts", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 88u8, 208u8, 72u8, 186u8, 175u8, 77u8, 18u8, 108u8, 69u8, + 117u8, 227u8, 73u8, 126u8, 56u8, 32u8, 1u8, 198u8, 6u8, + 231u8, 172u8, 3u8, 155u8, 72u8, 152u8, 68u8, 222u8, 19u8, + 229u8, 69u8, 181u8, 196u8, 202u8, + ], + ) + } + #[doc = " Pending payouts; ordered by block number, with the amount that should be paid out."] + pub fn payouts_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<( + ::core::primitive::u32, + ::core::primitive::u128, + )>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Payouts", + Vec::new(), + [ + 88u8, 208u8, 72u8, 186u8, 175u8, 77u8, 18u8, 108u8, 69u8, + 117u8, 227u8, 73u8, 126u8, 56u8, 32u8, 1u8, 198u8, 6u8, + 231u8, 172u8, 3u8, 155u8, 72u8, 152u8, 68u8, 222u8, 19u8, + 229u8, 69u8, 181u8, 196u8, 202u8, + ], + ) + } + #[doc = " The ongoing number of losing votes cast by the member."] + pub fn strikes( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Strikes", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 120u8, 174u8, 185u8, 72u8, 167u8, 85u8, 204u8, 187u8, 139u8, + 103u8, 124u8, 14u8, 65u8, 243u8, 40u8, 114u8, 231u8, 200u8, + 174u8, 56u8, 159u8, 242u8, 102u8, 221u8, 26u8, 153u8, 154u8, + 238u8, 109u8, 255u8, 64u8, 135u8, + ], + ) + } + #[doc = " The ongoing number of losing votes cast by the member."] + pub fn strikes_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Strikes", + Vec::new(), + [ + 120u8, 174u8, 185u8, 72u8, 167u8, 85u8, 204u8, 187u8, 139u8, + 103u8, 124u8, 14u8, 65u8, 243u8, 40u8, 114u8, 231u8, 200u8, + 174u8, 56u8, 159u8, 242u8, 102u8, 221u8, 26u8, 153u8, 154u8, + 238u8, 109u8, 255u8, 64u8, 135u8, + ], + ) + } + #[doc = " Double map from Candidate -> Voter -> (Maybe) Vote."] + pub fn votes( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_society::Vote, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Votes", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 82u8, 0u8, 111u8, 217u8, 223u8, 52u8, 99u8, 140u8, 145u8, + 35u8, 207u8, 54u8, 69u8, 86u8, 133u8, 103u8, 122u8, 3u8, + 153u8, 68u8, 233u8, 71u8, 62u8, 132u8, 218u8, 2u8, 126u8, + 136u8, 245u8, 150u8, 102u8, 77u8, + ], + ) + } + #[doc = " Double map from Candidate -> Voter -> (Maybe) Vote."] + pub fn votes_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_society::Vote, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Votes", + Vec::new(), + [ + 82u8, 0u8, 111u8, 217u8, 223u8, 52u8, 99u8, 140u8, 145u8, + 35u8, 207u8, 54u8, 69u8, 86u8, 133u8, 103u8, 122u8, 3u8, + 153u8, 68u8, 233u8, 71u8, 62u8, 132u8, 218u8, 2u8, 126u8, + 136u8, 245u8, 150u8, 102u8, 77u8, + ], + ) + } + #[doc = " The defending member currently being challenged."] + pub fn defender( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "Defender", + vec![], + [ + 116u8, 251u8, 243u8, 93u8, 242u8, 69u8, 62u8, 163u8, 154u8, + 55u8, 243u8, 204u8, 205u8, 210u8, 205u8, 5u8, 202u8, 177u8, + 153u8, 199u8, 126u8, 142u8, 248u8, 65u8, 88u8, 226u8, 101u8, + 116u8, 74u8, 170u8, 93u8, 146u8, + ], + ) + } + #[doc = " Votes for the defender."] + pub fn defender_votes( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_society::Vote, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "DefenderVotes", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 90u8, 131u8, 201u8, 228u8, 138u8, 115u8, 75u8, 188u8, 29u8, + 229u8, 221u8, 218u8, 154u8, 78u8, 152u8, 166u8, 184u8, 93u8, + 156u8, 0u8, 110u8, 58u8, 135u8, 124u8, 179u8, 98u8, 5u8, + 218u8, 47u8, 145u8, 163u8, 245u8, + ], + ) + } + #[doc = " Votes for the defender."] + pub fn defender_votes_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_society::Vote, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "DefenderVotes", + Vec::new(), + [ + 90u8, 131u8, 201u8, 228u8, 138u8, 115u8, 75u8, 188u8, 29u8, + 229u8, 221u8, 218u8, 154u8, 78u8, 152u8, 166u8, 184u8, 93u8, + 156u8, 0u8, 110u8, 58u8, 135u8, 124u8, 179u8, 98u8, 5u8, + 218u8, 47u8, 145u8, 163u8, 245u8, + ], + ) + } + #[doc = " The max number of members for the society at one time."] + pub fn max_members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Society", + "MaxMembers", + vec![], + [ + 54u8, 113u8, 4u8, 248u8, 5u8, 42u8, 67u8, 237u8, 91u8, 159u8, + 63u8, 239u8, 3u8, 196u8, 202u8, 135u8, 182u8, 137u8, 204u8, + 58u8, 39u8, 11u8, 42u8, 79u8, 129u8, 85u8, 37u8, 154u8, + 178u8, 189u8, 123u8, 184u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The societies's pallet id"] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::PalletId, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Society", + "PalletId", + [ + 139u8, 109u8, 228u8, 151u8, 252u8, 32u8, 130u8, 69u8, 112u8, + 154u8, 174u8, 45u8, 83u8, 245u8, 51u8, 132u8, 173u8, 5u8, + 186u8, 24u8, 243u8, 9u8, 12u8, 214u8, 80u8, 74u8, 69u8, + 189u8, 30u8, 94u8, 22u8, 39u8, + ], + ) + } + #[doc = " The minimum amount of a deposit required for a bid to be made."] + pub fn candidate_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Society", + "CandidateDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of the unpaid reward that gets deducted in the case that either a skeptic"] + #[doc = " doesn't vote or someone votes in the wrong way."] + pub fn wrong_side_deduction( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Society", + "WrongSideDeduction", + [ + 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 number of times a member may vote the wrong way (or not at all, when they are a"] + #[doc = " skeptic) before they become suspended."] + pub fn max_strikes( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Society", + "MaxStrikes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The amount of incentive paid within each period. Doesn't include VoterTip."] + pub fn period_spend( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Society", + "PeriodSpend", + [ + 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 number of blocks between candidate/membership rotation periods."] + pub fn rotation_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Society", + "RotationPeriod", + [ + 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 duration of the payout lock."] + pub fn max_lock_duration( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Society", + "MaxLockDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The number of blocks between membership challenges."] + pub fn challenge_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Society", + "ChallengePeriod", + [ + 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 candidates that we accept per round."] + pub fn max_candidate_intake( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Society", + "MaxCandidateIntake", + [ + 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 recovery { + 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 AsRecovered { + pub account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetRecovered { + pub lost: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CreateRecovery { + pub friends: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub threshold: ::core::primitive::u16, + pub delay_period: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct InitiateRecovery { + pub account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct VouchRecovery { + pub lost: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClaimRecovery { + pub account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CloseRecovery { + pub rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveRecovery; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelRecovered { + pub account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + pub struct TransactionApi; + impl TransactionApi { + #[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."] + pub fn as_recovered( + &self, + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Recovery", + "as_recovered", + AsRecovered { + account, + call: ::std::boxed::Box::new(call), + }, + [ + 74u8, 203u8, 116u8, 157u8, 170u8, 20u8, 234u8, 196u8, 125u8, + 117u8, 83u8, 244u8, 211u8, 42u8, 1u8, 252u8, 193u8, 67u8, + 214u8, 70u8, 128u8, 9u8, 180u8, 214u8, 201u8, 185u8, 123u8, + 49u8, 66u8, 236u8, 235u8, 204u8, + ], + ) + } + #[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."] + pub fn set_recovered( + &self, + lost: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Recovery", + "set_recovered", + SetRecovered { lost, rescuer }, + [ + 149u8, 123u8, 98u8, 179u8, 7u8, 149u8, 38u8, 221u8, 25u8, + 244u8, 176u8, 243u8, 202u8, 6u8, 228u8, 39u8, 248u8, 32u8, + 146u8, 140u8, 235u8, 21u8, 181u8, 18u8, 105u8, 44u8, 15u8, + 221u8, 82u8, 233u8, 133u8, 51u8, + ], + ) + } + #[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."] + pub fn create_recovery( + &self, + friends: ::std::vec::Vec<::subxt::utils::AccountId32>, + threshold: ::core::primitive::u16, + delay_period: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Recovery", + "create_recovery", + CreateRecovery { + friends, + threshold, + delay_period, + }, + [ + 80u8, 233u8, 68u8, 224u8, 181u8, 127u8, 8u8, 35u8, 135u8, + 121u8, 73u8, 25u8, 255u8, 192u8, 177u8, 140u8, 67u8, 113u8, + 112u8, 35u8, 63u8, 96u8, 1u8, 138u8, 93u8, 27u8, 219u8, 52u8, + 74u8, 251u8, 65u8, 96u8, + ], + ) + } + #[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)."] + pub fn initiate_recovery( + &self, + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Recovery", + "initiate_recovery", + InitiateRecovery { account }, + [ + 140u8, 244u8, 135u8, 122u8, 61u8, 107u8, 212u8, 100u8, 212u8, + 11u8, 216u8, 47u8, 113u8, 155u8, 121u8, 232u8, 158u8, 26u8, + 229u8, 82u8, 231u8, 193u8, 225u8, 2u8, 112u8, 220u8, 40u8, + 104u8, 36u8, 17u8, 164u8, 124u8, + ], + ) + } + #[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."] + pub fn vouch_recovery( + &self, + lost: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Recovery", + "vouch_recovery", + VouchRecovery { lost, rescuer }, + [ + 188u8, 113u8, 2u8, 31u8, 149u8, 123u8, 248u8, 46u8, 211u8, + 88u8, 121u8, 207u8, 227u8, 92u8, 198u8, 199u8, 29u8, 216u8, + 84u8, 140u8, 169u8, 154u8, 240u8, 183u8, 140u8, 203u8, 223u8, + 82u8, 222u8, 187u8, 20u8, 21u8, + ], + ) + } + #[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."] + pub fn claim_recovery( + &self, + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Recovery", + "claim_recovery", + ClaimRecovery { account }, + [ + 60u8, 49u8, 116u8, 129u8, 138u8, 95u8, 243u8, 120u8, 231u8, + 20u8, 149u8, 37u8, 56u8, 209u8, 196u8, 177u8, 186u8, 175u8, + 58u8, 203u8, 226u8, 89u8, 80u8, 212u8, 12u8, 17u8, 119u8, + 163u8, 74u8, 164u8, 180u8, 187u8, + ], + ) + } + #[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."] + pub fn close_recovery( + &self, + rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Recovery", + "close_recovery", + CloseRecovery { rescuer }, + [ + 61u8, 242u8, 216u8, 157u8, 103u8, 149u8, 121u8, 151u8, 132u8, + 247u8, 95u8, 157u8, 178u8, 27u8, 100u8, 222u8, 72u8, 188u8, + 168u8, 64u8, 63u8, 135u8, 248u8, 133u8, 177u8, 15u8, 205u8, + 146u8, 98u8, 79u8, 135u8, 157u8, + ], + ) + } + #[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)."] + pub fn remove_recovery( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Recovery", + "remove_recovery", + RemoveRecovery {}, + [ + 14u8, 1u8, 44u8, 24u8, 242u8, 16u8, 67u8, 192u8, 79u8, 206u8, + 104u8, 233u8, 91u8, 202u8, 253u8, 100u8, 48u8, 78u8, 233u8, + 24u8, 124u8, 176u8, 211u8, 87u8, 63u8, 110u8, 2u8, 7u8, + 231u8, 53u8, 177u8, 196u8, + ], + ) + } + #[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."] + pub fn cancel_recovered( + &self, + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Recovery", + "cancel_recovered", + CancelRecovered { account }, + [ + 153u8, 253u8, 13u8, 12u8, 200u8, 69u8, 113u8, 49u8, 75u8, + 61u8, 10u8, 209u8, 18u8, 192u8, 233u8, 158u8, 241u8, 24u8, + 243u8, 0u8, 136u8, 55u8, 43u8, 179u8, 43u8, 113u8, 130u8, + 99u8, 146u8, 132u8, 193u8, 251u8, + ], + ) + } + } + } + #[doc = "Events type."] + pub type Event = runtime_types::pallet_recovery::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A recovery process has been set up for an account."] + pub struct RecoveryCreated { + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for RecoveryCreated { + const PALLET: &'static str = "Recovery"; + const EVENT: &'static str = "RecoveryCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A recovery process has been initiated for lost account by rescuer account."] + pub struct RecoveryInitiated { + pub lost_account: ::subxt::utils::AccountId32, + pub rescuer_account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for RecoveryInitiated { + const PALLET: &'static str = "Recovery"; + const EVENT: &'static str = "RecoveryInitiated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."] + pub struct RecoveryVouched { + pub lost_account: ::subxt::utils::AccountId32, + pub rescuer_account: ::subxt::utils::AccountId32, + pub sender: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for RecoveryVouched { + const PALLET: &'static str = "Recovery"; + const EVENT: &'static str = "RecoveryVouched"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A recovery process for lost account by rescuer account has been closed."] + pub struct RecoveryClosed { + pub lost_account: ::subxt::utils::AccountId32, + pub rescuer_account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for RecoveryClosed { + const PALLET: &'static str = "Recovery"; + const EVENT: &'static str = "RecoveryClosed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Lost account has been successfully recovered by rescuer account."] + pub struct AccountRecovered { + pub lost_account: ::subxt::utils::AccountId32, + pub rescuer_account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for AccountRecovered { + const PALLET: &'static str = "Recovery"; + const EVENT: &'static str = "AccountRecovered"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A recovery process has been removed for an account."] + pub struct RecoveryRemoved { + pub lost_account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for RecoveryRemoved { + const PALLET: &'static str = "Recovery"; + const EVENT: &'static str = "RecoveryRemoved"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of recoverable accounts and their recovery configuration."] + pub fn recoverable( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_recovery::RecoveryConfig< + ::core::primitive::u32, + ::core::primitive::u128, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Recovery", + "Recoverable", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 77u8, 165u8, 1u8, 120u8, 139u8, 195u8, 113u8, 101u8, 31u8, + 182u8, 235u8, 20u8, 225u8, 108u8, 173u8, 70u8, 96u8, 14u8, + 95u8, 36u8, 146u8, 171u8, 61u8, 209u8, 37u8, 154u8, 6u8, + 197u8, 212u8, 20u8, 167u8, 142u8, + ], + ) + } + #[doc = " The set of recoverable accounts and their recovery configuration."] + pub fn recoverable_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_recovery::RecoveryConfig< + ::core::primitive::u32, + ::core::primitive::u128, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Recovery", + "Recoverable", + Vec::new(), + [ + 77u8, 165u8, 1u8, 120u8, 139u8, 195u8, 113u8, 101u8, 31u8, + 182u8, 235u8, 20u8, 225u8, 108u8, 173u8, 70u8, 96u8, 14u8, + 95u8, 36u8, 146u8, 171u8, 61u8, 209u8, 37u8, 154u8, 6u8, + 197u8, 212u8, 20u8, 167u8, 142u8, + ], + ) + } + #[doc = " Active recovery attempts."] + #[doc = ""] + #[doc = " First account is the account to be recovered, and the second account"] + #[doc = " is the user trying to recover the account."] + pub fn active_recoveries( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_recovery::ActiveRecovery< + ::core::primitive::u32, + ::core::primitive::u128, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Recovery", + "ActiveRecoveries", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 105u8, 72u8, 0u8, 48u8, 187u8, 107u8, 42u8, 95u8, 221u8, + 206u8, 105u8, 207u8, 228u8, 150u8, 103u8, 62u8, 195u8, 177u8, + 233u8, 97u8, 12u8, 17u8, 76u8, 204u8, 236u8, 29u8, 225u8, + 60u8, 228u8, 44u8, 103u8, 39u8, + ], + ) + } + #[doc = " Active recovery attempts."] + #[doc = ""] + #[doc = " First account is the account to be recovered, and the second account"] + #[doc = " is the user trying to recover the account."] + pub fn active_recoveries_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_recovery::ActiveRecovery< + ::core::primitive::u32, + ::core::primitive::u128, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Recovery", + "ActiveRecoveries", + Vec::new(), + [ + 105u8, 72u8, 0u8, 48u8, 187u8, 107u8, 42u8, 95u8, 221u8, + 206u8, 105u8, 207u8, 228u8, 150u8, 103u8, 62u8, 195u8, 177u8, + 233u8, 97u8, 12u8, 17u8, 76u8, 204u8, 236u8, 29u8, 225u8, + 60u8, 228u8, 44u8, 103u8, 39u8, + ], + ) + } + #[doc = " The list of allowed proxy accounts."] + #[doc = ""] + #[doc = " Map from the user who can access it to the recovered account."] + pub fn proxy( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Recovery", + "Proxy", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 100u8, 137u8, 55u8, 32u8, 228u8, 27u8, 3u8, 84u8, 255u8, + 68u8, 45u8, 4u8, 215u8, 84u8, 189u8, 81u8, 175u8, 61u8, + 252u8, 254u8, 68u8, 179u8, 57u8, 134u8, 223u8, 49u8, 158u8, + 165u8, 108u8, 172u8, 70u8, 108u8, + ], + ) + } + #[doc = " The list of allowed proxy accounts."] + #[doc = ""] + #[doc = " Map from the user who can access it to the recovered account."] + pub fn proxy_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Recovery", + "Proxy", + Vec::new(), + [ + 100u8, 137u8, 55u8, 32u8, 228u8, 27u8, 3u8, 84u8, 255u8, + 68u8, 45u8, 4u8, 215u8, 84u8, 189u8, 81u8, 175u8, 61u8, + 252u8, 254u8, 68u8, 179u8, 57u8, 134u8, 223u8, 49u8, 158u8, + 165u8, 108u8, 172u8, 70u8, 108u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a recovery configuration."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `2 + sizeof(BlockNumber, Balance)` bytes."] + pub fn config_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Recovery", + "ConfigDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per additional user when creating a recovery"] + #[doc = " configuration."] + #[doc = ""] + #[doc = " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage"] + #[doc = " value."] + pub fn friend_deposit_factor( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Recovery", + "FriendDepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum amount of friends allowed in a recovery configuration."] + #[doc = ""] + #[doc = " NOTE: The threshold programmed in this Pallet uses u16, so it does"] + #[doc = " not really make sense to have a limit here greater than u16::MAX."] + #[doc = " But also, that is a lot more than you should probably set this value"] + #[doc = " to anyway..."] + pub fn max_friends( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Recovery", + "MaxFriends", + [ + 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 base amount of currency needed to reserve for starting a recovery."] + #[doc = ""] + #[doc = " This is primarily held for deterring malicious recovery attempts, and should"] + #[doc = " have a value large enough that a bad actor would choose not to place this"] + #[doc = " deposit. It also acts to fund additional storage item whose value size is"] + #[doc = " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable"] + #[doc = " threshold."] + pub fn recovery_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Recovery", + "RecoveryDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod vesting { + 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 Vest; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct VestOther { + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct VestedTransfer { + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceVestedTransfer { + pub source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MergeSchedules { + pub schedule1_index: ::core::primitive::u32, + pub schedule2_index: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 2 Reads, 2 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, [Sender Account]"] + #[doc = " - Writes: Vesting Storage, Balances Locks, [Sender Account]"] + #[doc = "# "] + pub fn vest(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "vest", + Vest {}, + [ + 123u8, 54u8, 10u8, 208u8, 154u8, 24u8, 39u8, 166u8, 64u8, + 27u8, 74u8, 29u8, 243u8, 97u8, 155u8, 5u8, 130u8, 155u8, + 65u8, 181u8, 196u8, 125u8, 45u8, 133u8, 25u8, 33u8, 3u8, + 34u8, 21u8, 167u8, 172u8, 54u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 3 Reads, 3 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account"] + #[doc = "# "] + pub fn vest_other( + &self, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "vest_other", + VestOther { target }, + [ + 243u8, 97u8, 222u8, 101u8, 143u8, 17u8, 184u8, 191u8, 208u8, + 162u8, 31u8, 121u8, 22u8, 88u8, 2u8, 36u8, 9u8, 22u8, 27u8, + 117u8, 236u8, 82u8, 83u8, 218u8, 166u8, 154u8, 49u8, 141u8, + 95u8, 127u8, 63u8, 13u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 3 Reads, 3 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] + #[doc = "# "] + pub fn vested_transfer( + &self, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "vested_transfer", + VestedTransfer { target, schedule }, + [ + 157u8, 78u8, 209u8, 131u8, 29u8, 102u8, 180u8, 61u8, 212u8, + 154u8, 28u8, 3u8, 150u8, 236u8, 22u8, 116u8, 8u8, 142u8, + 174u8, 35u8, 37u8, 167u8, 5u8, 200u8, 189u8, 227u8, 122u8, + 55u8, 188u8, 213u8, 59u8, 206u8, + ], + ) + } + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 4 Reads, 4 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account"] + #[doc = "# "] + pub fn force_vested_transfer( + &self, + 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, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "force_vested_transfer", + ForceVestedTransfer { + source, + target, + schedule, + }, + [ + 181u8, 47u8, 44u8, 166u8, 243u8, 122u8, 51u8, 81u8, 136u8, + 192u8, 248u8, 150u8, 149u8, 49u8, 208u8, 203u8, 156u8, 100u8, + 56u8, 133u8, 22u8, 53u8, 241u8, 237u8, 145u8, 210u8, 25u8, + 48u8, 61u8, 184u8, 112u8, 253u8, + ], + ) + } + #[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."] + pub fn merge_schedules( + &self, + schedule1_index: ::core::primitive::u32, + schedule2_index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "merge_schedules", + MergeSchedules { + schedule1_index, + schedule2_index, + }, + [ + 95u8, 255u8, 147u8, 12u8, 49u8, 25u8, 70u8, 112u8, 55u8, + 154u8, 183u8, 97u8, 56u8, 244u8, 148u8, 61u8, 107u8, 163u8, + 220u8, 31u8, 153u8, 25u8, 193u8, 251u8, 131u8, 26u8, 166u8, + 157u8, 75u8, 4u8, 110u8, 125u8, + ], + ) + } + } + } + #[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_vesting::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The amount vested has been updated. This could indicate a change in funds available."] + #[doc = "The balance given is the amount which is left unvested (and thus locked)."] + pub struct VestingUpdated { + pub account: ::subxt::utils::AccountId32, + pub unvested: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for VestingUpdated { + const PALLET: &'static str = "Vesting"; + const EVENT: &'static str = "VestingUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An \\[account\\] has become fully vested."] + pub struct VestingCompleted { + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for VestingCompleted { + const PALLET: &'static str = "Vesting"; + const EVENT: &'static str = "VestingCompleted"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Information regarding the vesting of a given account."] + pub fn vesting( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Vesting", + "Vesting", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 23u8, 209u8, 233u8, 126u8, 89u8, 156u8, 193u8, 204u8, 100u8, + 90u8, 14u8, 120u8, 36u8, 167u8, 148u8, 239u8, 179u8, 74u8, + 207u8, 83u8, 54u8, 77u8, 27u8, 135u8, 74u8, 31u8, 33u8, 11u8, + 168u8, 239u8, 212u8, 36u8, + ], + ) + } + #[doc = " Information regarding the vesting of a given account."] + pub fn vesting_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Vesting", + "Vesting", + Vec::new(), + [ + 23u8, 209u8, 233u8, 126u8, 89u8, 156u8, 193u8, 204u8, 100u8, + 90u8, 14u8, 120u8, 36u8, 167u8, 148u8, 239u8, 179u8, 74u8, + 207u8, 83u8, 54u8, 77u8, 27u8, 135u8, 74u8, 31u8, 33u8, 11u8, + 168u8, 239u8, 212u8, 36u8, + ], + ) + } + #[doc = " Storage version of the pallet."] + #[doc = ""] + #[doc = " New networks start with latest version, as determined by the genesis build."] + pub fn storage_version( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_vesting::Releases, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Vesting", + "StorageVersion", + vec![], + [ + 50u8, 143u8, 26u8, 88u8, 129u8, 31u8, 61u8, 118u8, 19u8, + 202u8, 119u8, 160u8, 34u8, 219u8, 60u8, 57u8, 189u8, 66u8, + 93u8, 239u8, 121u8, 114u8, 241u8, 116u8, 0u8, 122u8, 232u8, + 94u8, 189u8, 23u8, 45u8, 191u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount transferred to call `vested_transfer`."] + pub fn min_vested_transfer( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Vesting", + "MinVestedTransfer", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + pub fn max_vesting_schedules( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Vesting", + "MaxVestingSchedules", + [ + 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 scheduler { + 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 Schedule { + pub when: ::core::primitive::u32, + pub maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + pub priority: ::core::primitive::u8, + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Cancel { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ScheduleNamed { + pub id: [::core::primitive::u8; 32usize], + pub when: ::core::primitive::u32, + pub maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + pub priority: ::core::primitive::u8, + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelNamed { + pub id: [::core::primitive::u8; 32usize], + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ScheduleAfter { + pub after: ::core::primitive::u32, + pub maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + pub priority: ::core::primitive::u8, + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ScheduleNamedAfter { + pub id: [::core::primitive::u8; 32usize], + pub after: ::core::primitive::u32, + pub maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + pub priority: ::core::primitive::u8, + pub call: + ::std::boxed::Box, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Anonymously schedule a task."] + pub fn schedule( + &self, + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "schedule", + Schedule { + when, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 65u8, 37u8, 202u8, 193u8, 158u8, 251u8, 1u8, 252u8, 234u8, + 16u8, 232u8, 94u8, 223u8, 233u8, 122u8, 7u8, 165u8, 253u8, + 155u8, 239u8, 58u8, 191u8, 202u8, 49u8, 82u8, 154u8, 2u8, + 9u8, 88u8, 57u8, 211u8, 59u8, + ], + ) + } + #[doc = "Cancel an anonymously scheduled task."] + pub fn cancel( + &self, + when: ::core::primitive::u32, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "cancel", + Cancel { when, index }, + [ + 81u8, 251u8, 234u8, 17u8, 214u8, 75u8, 19u8, 59u8, 19u8, + 30u8, 89u8, 74u8, 6u8, 216u8, 238u8, 165u8, 7u8, 19u8, 153u8, + 253u8, 161u8, 103u8, 178u8, 227u8, 152u8, 180u8, 80u8, 156u8, + 82u8, 126u8, 132u8, 120u8, + ], + ) + } + #[doc = "Schedule a named task."] + pub fn schedule_named( + &self, + id: [::core::primitive::u8; 32usize], + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "schedule_named", + ScheduleNamed { + id, + when, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 104u8, 63u8, 169u8, 203u8, 191u8, 136u8, 253u8, 169u8, 52u8, + 194u8, 13u8, 25u8, 130u8, 217u8, 224u8, 165u8, 192u8, 152u8, + 10u8, 31u8, 183u8, 255u8, 231u8, 46u8, 125u8, 27u8, 77u8, + 0u8, 156u8, 233u8, 17u8, 6u8, + ], + ) + } + #[doc = "Cancel a named scheduled task."] + pub fn cancel_named( + &self, + id: [::core::primitive::u8; 32usize], + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "cancel_named", + CancelNamed { id }, + [ + 51u8, 3u8, 140u8, 50u8, 214u8, 211u8, 50u8, 4u8, 19u8, 43u8, + 230u8, 114u8, 18u8, 108u8, 138u8, 67u8, 99u8, 24u8, 255u8, + 11u8, 246u8, 37u8, 192u8, 207u8, 90u8, 157u8, 171u8, 93u8, + 233u8, 189u8, 64u8, 180u8, + ], + ) + } + #[doc = "Anonymously schedule a task after a delay."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`schedule`]."] + #[doc = "# "] + pub fn schedule_after( + &self, + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "schedule_after", + ScheduleAfter { + after, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 246u8, 245u8, 193u8, 81u8, 2u8, 23u8, 127u8, 110u8, 125u8, + 176u8, 226u8, 189u8, 241u8, 208u8, 167u8, 208u8, 135u8, + 186u8, 11u8, 24u8, 119u8, 50u8, 223u8, 22u8, 44u8, 136u8, + 236u8, 222u8, 118u8, 117u8, 20u8, 158u8, + ], + ) + } + #[doc = "Schedule a named task after a delay."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`schedule_named`](Self::schedule_named)."] + #[doc = "# "] + pub fn schedule_named_after( + &self, + id: [::core::primitive::u8; 32usize], + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "schedule_named_after", + ScheduleNamedAfter { + id, + after, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 226u8, 69u8, 74u8, 53u8, 191u8, 207u8, 203u8, 174u8, 2u8, + 120u8, 231u8, 250u8, 114u8, 74u8, 126u8, 63u8, 129u8, 119u8, + 248u8, 175u8, 126u8, 82u8, 134u8, 255u8, 249u8, 57u8, 59u8, + 164u8, 64u8, 145u8, 33u8, 73u8, + ], + ) + } + } + } + #[doc = "Events type."] + pub type Event = runtime_types::pallet_scheduler::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Scheduled some task."] + pub struct Scheduled { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Scheduled { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "Scheduled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Canceled some task."] + pub struct Canceled { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Canceled { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "Canceled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Dispatched some task."] + pub struct Dispatched { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Dispatched { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "Dispatched"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The call for the provided hash was not found so the task has been aborted."] + pub struct CallUnavailable { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + } + impl ::subxt::events::StaticEvent for CallUnavailable { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "CallUnavailable"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The given task was unable to be renewed since the agenda is full at that block."] + pub struct PeriodicFailed { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + } + impl ::subxt::events::StaticEvent for PeriodicFailed { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "PeriodicFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The given task can never be executed since it is overweight."] + pub struct PermanentlyOverweight { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + } + impl ::subxt::events::StaticEvent for PermanentlyOverweight { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "PermanentlyOverweight"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn incomplete_since( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "IncompleteSince", + vec![], + [ + 149u8, 66u8, 239u8, 67u8, 235u8, 219u8, 101u8, 182u8, 145u8, + 56u8, 252u8, 150u8, 253u8, 221u8, 125u8, 57u8, 38u8, 152u8, + 153u8, 31u8, 92u8, 238u8, 66u8, 246u8, 104u8, 163u8, 94u8, + 73u8, 222u8, 168u8, 193u8, 227u8, + ], + ) + } + #[doc = " Items to be executed, indexed by the block number that they should be executed on."] pub fn agenda (& self , _0 : impl :: std :: borrow :: Borrow < :: core :: primitive :: u32 > ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: option :: Option < runtime_types :: pallet_scheduler :: Scheduled < [:: core :: primitive :: u8 ; 32usize] , runtime_types :: frame_support :: traits :: preimages :: Bounded < runtime_types :: kitchensink_runtime :: RuntimeCall > , :: core :: primitive :: u32 , runtime_types :: kitchensink_runtime :: OriginCaller , :: subxt :: utils :: AccountId32 > > > > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "Agenda", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 19u8, 214u8, 72u8, 97u8, 75u8, 249u8, 252u8, 10u8, 144u8, + 74u8, 36u8, 2u8, 196u8, 58u8, 48u8, 240u8, 117u8, 231u8, + 111u8, 26u8, 254u8, 81u8, 151u8, 131u8, 242u8, 194u8, 55u8, + 158u8, 218u8, 90u8, 183u8, 109u8, + ], + ) + } + #[doc = " Items to be executed, indexed by the block number that they should be executed on."] pub fn agenda_root (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: option :: Option < runtime_types :: pallet_scheduler :: Scheduled < [:: core :: primitive :: u8 ; 32usize] , runtime_types :: frame_support :: traits :: preimages :: Bounded < runtime_types :: kitchensink_runtime :: RuntimeCall > , :: core :: primitive :: u32 , runtime_types :: kitchensink_runtime :: OriginCaller , :: subxt :: utils :: AccountId32 > > > > , () , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "Agenda", + Vec::new(), + [ + 19u8, 214u8, 72u8, 97u8, 75u8, 249u8, 252u8, 10u8, 144u8, + 74u8, 36u8, 2u8, 196u8, 58u8, 48u8, 240u8, 117u8, 231u8, + 111u8, 26u8, 254u8, 81u8, 151u8, 131u8, 242u8, 194u8, 55u8, + 158u8, 218u8, 90u8, 183u8, 109u8, + ], + ) + } + #[doc = " Lookup from a name to the block number and index of the task."] + #[doc = ""] + #[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"] + #[doc = " identities."] + pub fn lookup( + &self, + _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "Lookup", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 82u8, 20u8, 178u8, 101u8, 108u8, 198u8, 71u8, 99u8, 16u8, + 175u8, 15u8, 187u8, 229u8, 243u8, 140u8, 200u8, 99u8, 77u8, + 248u8, 178u8, 45u8, 121u8, 193u8, 67u8, 165u8, 43u8, 234u8, + 211u8, 158u8, 250u8, 103u8, 243u8, + ], + ) + } + #[doc = " Lookup from a name to the block number and index of the task."] + #[doc = ""] + #[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"] + #[doc = " identities."] + pub fn lookup_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "Lookup", + Vec::new(), + [ + 82u8, 20u8, 178u8, 101u8, 108u8, 198u8, 71u8, 99u8, 16u8, + 175u8, 15u8, 187u8, 229u8, 243u8, 140u8, 200u8, 99u8, 77u8, + 248u8, 178u8, 45u8, 121u8, 193u8, 67u8, 165u8, 43u8, 234u8, + 211u8, 158u8, 250u8, 103u8, 243u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum weight that may be scheduled per block for any dispatchables."] + pub fn maximum_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_weights::weight_v2::Weight, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Scheduler", + "MaximumWeight", + [ + 206u8, 61u8, 253u8, 247u8, 163u8, 40u8, 161u8, 52u8, 134u8, + 140u8, 206u8, 83u8, 44u8, 166u8, 226u8, 115u8, 181u8, 14u8, + 227u8, 130u8, 210u8, 32u8, 85u8, 29u8, 230u8, 97u8, 130u8, + 165u8, 147u8, 134u8, 106u8, 76u8, + ], + ) + } + #[doc = " The maximum number of scheduled calls in the queue for a single block."] + pub fn max_scheduled_per_block( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Scheduler", + "MaxScheduledPerBlock", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + } + } + } + pub mod preimage { + use super::root_mod; + use super::runtime_types; + #[doc = "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 NotePreimage { + pub bytes: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UnnotePreimage { + pub hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RequestPreimage { + pub hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UnrequestPreimage { + pub hash: ::subxt::utils::H256, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Register a preimage on-chain."] + #[doc = ""] + #[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"] + #[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."] + pub fn note_preimage( + &self, + bytes: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Preimage", + "note_preimage", + NotePreimage { bytes }, + [ + 77u8, 48u8, 104u8, 3u8, 254u8, 65u8, 106u8, 95u8, 204u8, + 89u8, 149u8, 29u8, 144u8, 188u8, 99u8, 23u8, 146u8, 142u8, + 35u8, 17u8, 125u8, 130u8, 31u8, 206u8, 106u8, 83u8, 163u8, + 192u8, 81u8, 23u8, 232u8, 230u8, + ], + ) + } + #[doc = "Clear an unrequested preimage from the runtime storage."] + #[doc = ""] + #[doc = "If `len` is provided, then it will be a much cheaper operation."] + #[doc = ""] + #[doc = "- `hash`: The hash of the preimage to be removed from the store."] + #[doc = "- `len`: The length of the preimage of `hash`."] + pub fn unnote_preimage( + &self, + hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Preimage", + "unnote_preimage", + UnnotePreimage { hash }, + [ + 211u8, 204u8, 205u8, 58u8, 33u8, 179u8, 68u8, 74u8, 149u8, + 138u8, 213u8, 45u8, 140u8, 27u8, 106u8, 81u8, 68u8, 212u8, + 147u8, 116u8, 27u8, 130u8, 84u8, 34u8, 231u8, 197u8, 135u8, + 8u8, 19u8, 242u8, 207u8, 17u8, + ], + ) + } + #[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."] + #[doc = ""] + #[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"] + #[doc = "a user may have paid, and take the control of the preimage out of their hands."] + pub fn request_preimage( + &self, + hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Preimage", + "request_preimage", + RequestPreimage { hash }, + [ + 195u8, 26u8, 146u8, 255u8, 79u8, 43u8, 73u8, 60u8, 115u8, + 78u8, 99u8, 197u8, 137u8, 95u8, 139u8, 141u8, 79u8, 213u8, + 170u8, 169u8, 127u8, 30u8, 236u8, 65u8, 38u8, 16u8, 118u8, + 228u8, 141u8, 83u8, 162u8, 233u8, + ], + ) + } + #[doc = "Clear a previously made request for a preimage."] + #[doc = ""] + #[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."] + pub fn unrequest_preimage( + &self, + hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Preimage", + "unrequest_preimage", + UnrequestPreimage { hash }, + [ + 143u8, 225u8, 239u8, 44u8, 237u8, 83u8, 18u8, 105u8, 101u8, + 68u8, 111u8, 116u8, 66u8, 212u8, 63u8, 190u8, 38u8, 32u8, + 105u8, 152u8, 69u8, 177u8, 193u8, 15u8, 60u8, 26u8, 95u8, + 130u8, 11u8, 113u8, 187u8, 108u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_preimage::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A preimage has been noted."] + pub struct Noted { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Noted { + const PALLET: &'static str = "Preimage"; + const EVENT: &'static str = "Noted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A preimage has been requested."] + pub struct Requested { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Requested { + const PALLET: &'static str = "Preimage"; + const EVENT: &'static str = "Requested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A preimage has ben cleared."] + pub struct Cleared { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Cleared { + const PALLET: &'static str = "Preimage"; + const EVENT: &'static str = "Cleared"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The request status of a given hash."] + pub fn status_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_preimage::RequestStatus< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Preimage", + "StatusFor", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 103u8, 208u8, 88u8, 167u8, 244u8, 198u8, 129u8, 134u8, 182u8, + 80u8, 71u8, 192u8, 73u8, 92u8, 190u8, 15u8, 20u8, 132u8, + 37u8, 108u8, 88u8, 233u8, 18u8, 145u8, 9u8, 235u8, 5u8, + 132u8, 42u8, 17u8, 227u8, 56u8, + ], + ) + } + #[doc = " The request status of a given hash."] + pub fn status_for_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_preimage::RequestStatus< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Preimage", + "StatusFor", + Vec::new(), + [ + 103u8, 208u8, 88u8, 167u8, 244u8, 198u8, 129u8, 134u8, 182u8, + 80u8, 71u8, 192u8, 73u8, 92u8, 190u8, 15u8, 20u8, 132u8, + 37u8, 108u8, 88u8, 233u8, 18u8, 145u8, 9u8, 235u8, 5u8, + 132u8, 42u8, 17u8, 227u8, 56u8, + ], + ) + } + pub fn preimage_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Preimage", + "PreimageFor", + vec![::subxt::storage::address::StorageMapKey::new( + &(_0.borrow(), _1.borrow()), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 96u8, 74u8, 30u8, 112u8, 120u8, 41u8, 52u8, 187u8, 252u8, + 68u8, 42u8, 5u8, 61u8, 228u8, 250u8, 192u8, 224u8, 61u8, + 53u8, 222u8, 95u8, 148u8, 6u8, 53u8, 43u8, 152u8, 88u8, 58u8, + 185u8, 234u8, 131u8, 124u8, + ], + ) + } + pub fn preimage_for_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Preimage", + "PreimageFor", + Vec::new(), + [ + 96u8, 74u8, 30u8, 112u8, 120u8, 41u8, 52u8, 187u8, 252u8, + 68u8, 42u8, 5u8, 61u8, 228u8, 250u8, 192u8, 224u8, 61u8, + 53u8, 222u8, 95u8, 148u8, 6u8, 53u8, 43u8, 152u8, 88u8, 58u8, + 185u8, 234u8, 131u8, 124u8, + ], + ) + } + } + } + } + pub mod proxy { + 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 Proxy { + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub force_proxy_type: + ::core::option::Option, + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AddProxy { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub proxy_type: runtime_types::kitchensink_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveProxy { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub proxy_type: runtime_types::kitchensink_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveProxies; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CreatePure { + pub proxy_type: runtime_types::kitchensink_runtime::ProxyType, + pub delay: ::core::primitive::u32, + pub index: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct KillPure { + pub spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub proxy_type: runtime_types::kitchensink_runtime::ProxyType, + pub index: ::core::primitive::u16, + #[codec(compact)] + pub height: ::core::primitive::u32, + #[codec(compact)] + pub ext_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Announce { + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveAnnouncement { + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RejectAnnouncement { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ProxyAnnounced { + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub force_proxy_type: + ::core::option::Option, + pub call: + ::std::boxed::Box, + } + pub struct TransactionApi; + impl TransactionApi { + #[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."] + pub fn proxy( + &self, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + force_proxy_type: ::core::option::Option< + runtime_types::kitchensink_runtime::ProxyType, + >, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "proxy", + Proxy { + real, + force_proxy_type, + call: ::std::boxed::Box::new(call), + }, + [ + 35u8, 191u8, 194u8, 99u8, 76u8, 27u8, 31u8, 235u8, 33u8, + 41u8, 155u8, 0u8, 171u8, 8u8, 183u8, 28u8, 149u8, 254u8, + 251u8, 194u8, 129u8, 73u8, 117u8, 147u8, 150u8, 154u8, 83u8, + 49u8, 117u8, 90u8, 59u8, 188u8, + ], + ) + } + #[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."] + pub fn add_proxy( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "add_proxy", + AddProxy { + delegate, + proxy_type, + delay, + }, + [ + 179u8, 225u8, 244u8, 52u8, 43u8, 253u8, 204u8, 37u8, 236u8, + 61u8, 140u8, 160u8, 140u8, 4u8, 198u8, 186u8, 91u8, 113u8, + 204u8, 15u8, 167u8, 9u8, 232u8, 208u8, 130u8, 202u8, 67u8, + 44u8, 30u8, 35u8, 113u8, 152u8, + ], + ) + } + #[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."] + pub fn remove_proxy( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "remove_proxy", + RemoveProxy { + delegate, + proxy_type, + delay, + }, + [ + 207u8, 163u8, 188u8, 238u8, 61u8, 133u8, 145u8, 118u8, 223u8, + 169u8, 11u8, 101u8, 38u8, 135u8, 194u8, 141u8, 84u8, 194u8, + 65u8, 159u8, 215u8, 210u8, 109u8, 7u8, 46u8, 31u8, 92u8, + 233u8, 50u8, 224u8, 57u8, 8u8, + ], + ) + } + #[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.**"] + pub fn remove_proxies( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "remove_proxies", + RemoveProxies {}, + [ + 15u8, 237u8, 27u8, 166u8, 254u8, 218u8, 92u8, 5u8, 213u8, + 239u8, 99u8, 59u8, 1u8, 26u8, 73u8, 252u8, 81u8, 94u8, 214u8, + 227u8, 169u8, 58u8, 40u8, 253u8, 187u8, 225u8, 192u8, 26u8, + 19u8, 23u8, 121u8, 129u8, + ], + ) + } + #[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."] + pub fn create_pure( + &self, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + index: ::core::primitive::u16, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "create_pure", + CreatePure { + proxy_type, + delay, + index, + }, + [ + 46u8, 194u8, 136u8, 133u8, 111u8, 12u8, 51u8, 219u8, 148u8, + 227u8, 22u8, 236u8, 91u8, 15u8, 73u8, 48u8, 222u8, 219u8, + 133u8, 157u8, 65u8, 136u8, 119u8, 76u8, 116u8, 13u8, 33u8, + 215u8, 138u8, 211u8, 195u8, 157u8, + ], + ) + } + #[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."] + pub fn kill_pure( + &self, + spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + index: ::core::primitive::u16, + height: ::core::primitive::u32, + ext_index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "kill_pure", + KillPure { + spawner, + proxy_type, + index, + height, + ext_index, + }, + [ + 76u8, 246u8, 203u8, 222u8, 54u8, 155u8, 53u8, 188u8, 243u8, + 178u8, 173u8, 59u8, 31u8, 188u8, 152u8, 209u8, 211u8, 139u8, + 65u8, 150u8, 18u8, 5u8, 75u8, 223u8, 112u8, 196u8, 45u8, + 157u8, 111u8, 92u8, 106u8, 255u8, + ], + ) + } + #[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."] + pub fn announce( + &self, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "announce", + Announce { real, call_hash }, + [ + 226u8, 252u8, 69u8, 50u8, 248u8, 212u8, 209u8, 225u8, 201u8, + 236u8, 51u8, 136u8, 56u8, 85u8, 36u8, 130u8, 233u8, 84u8, + 44u8, 192u8, 174u8, 119u8, 245u8, 62u8, 150u8, 78u8, 217u8, + 90u8, 167u8, 154u8, 228u8, 141u8, + ], + ) + } + #[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."] + pub fn remove_announcement( + &self, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "remove_announcement", + RemoveAnnouncement { real, call_hash }, + [ + 251u8, 236u8, 113u8, 182u8, 125u8, 244u8, 31u8, 144u8, 66u8, + 28u8, 65u8, 97u8, 67u8, 94u8, 225u8, 210u8, 46u8, 143u8, + 242u8, 124u8, 120u8, 93u8, 23u8, 165u8, 83u8, 177u8, 250u8, + 171u8, 58u8, 66u8, 70u8, 64u8, + ], + ) + } + #[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."] + pub fn reject_announcement( + &self, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "reject_announcement", + RejectAnnouncement { + delegate, + call_hash, + }, + [ + 122u8, 165u8, 114u8, 85u8, 209u8, 197u8, 11u8, 96u8, 211u8, + 93u8, 201u8, 42u8, 1u8, 131u8, 254u8, 177u8, 191u8, 212u8, + 229u8, 13u8, 28u8, 163u8, 133u8, 200u8, 113u8, 28u8, 132u8, + 45u8, 105u8, 177u8, 82u8, 206u8, + ], + ) + } + #[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."] + pub fn proxy_announced( + &self, + 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: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Proxy", + "proxy_announced", + ProxyAnnounced { + delegate, + real, + force_proxy_type, + call: ::std::boxed::Box::new(call), + }, + [ + 151u8, 115u8, 208u8, 117u8, 44u8, 177u8, 216u8, 185u8, 152u8, + 246u8, 150u8, 107u8, 146u8, 110u8, 145u8, 208u8, 56u8, 231u8, + 30u8, 251u8, 247u8, 209u8, 156u8, 167u8, 106u8, 173u8, 29u8, + 194u8, 212u8, 199u8, 19u8, 218u8, + ], + ) + } + } + } + #[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_proxy::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proxy was executed correctly, with the given."] + pub struct ProxyExecuted { + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for ProxyExecuted { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A pure account has been created by new proxy with given"] + #[doc = "disambiguation index and proxy type."] + pub struct PureCreated { + pub pure: ::subxt::utils::AccountId32, + pub who: ::subxt::utils::AccountId32, + pub proxy_type: runtime_types::kitchensink_runtime::ProxyType, + pub disambiguation_index: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for PureCreated { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "PureCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An announcement was placed to make a call in the future."] + pub struct Announced { + pub real: ::subxt::utils::AccountId32, + pub proxy: ::subxt::utils::AccountId32, + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Announced { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "Announced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proxy was added."] + pub struct ProxyAdded { + pub delegator: ::subxt::utils::AccountId32, + pub delegatee: ::subxt::utils::AccountId32, + pub proxy_type: runtime_types::kitchensink_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ProxyAdded { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proxy was removed."] + pub struct ProxyRemoved { + pub delegator: ::subxt::utils::AccountId32, + pub delegatee: ::subxt::utils::AccountId32, + pub proxy_type: runtime_types::kitchensink_runtime::ProxyType, + pub delay: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ProxyRemoved { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "ProxyRemoved"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] + #[doc = " which are being delegated to, together with the amount held on deposit."] + pub fn proxies( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::ProxyDefinition< + ::subxt::utils::AccountId32, + runtime_types::kitchensink_runtime::ProxyType, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Proxy", + "Proxies", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 35u8, 140u8, 42u8, 184u8, 125u8, 223u8, 255u8, 143u8, 55u8, + 148u8, 168u8, 246u8, 208u8, 160u8, 176u8, 177u8, 174u8, + 162u8, 90u8, 65u8, 156u8, 91u8, 110u8, 131u8, 24u8, 8u8, + 18u8, 89u8, 96u8, 108u8, 55u8, 47u8, + ], + ) + } + #[doc = " The set of account proxies. Maps the account which has delegated to the accounts"] + #[doc = " which are being delegated to, together with the amount held on deposit."] + pub fn proxies_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::ProxyDefinition< + ::subxt::utils::AccountId32, + runtime_types::kitchensink_runtime::ProxyType, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Proxy", + "Proxies", + Vec::new(), + [ + 35u8, 140u8, 42u8, 184u8, 125u8, 223u8, 255u8, 143u8, 55u8, + 148u8, 168u8, 246u8, 208u8, 160u8, 176u8, 177u8, 174u8, + 162u8, 90u8, 65u8, 156u8, 91u8, 110u8, 131u8, 24u8, 8u8, + 18u8, 89u8, 96u8, 108u8, 55u8, 47u8, + ], + ) + } + #[doc = " The announcements made by the proxy (key)."] + pub fn announcements( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::Announcement< + ::subxt::utils::AccountId32, + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Proxy", + "Announcements", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 233u8, 38u8, 249u8, 89u8, 103u8, 87u8, 64u8, 52u8, 140u8, + 228u8, 110u8, 37u8, 8u8, 92u8, 48u8, 7u8, 46u8, 99u8, 179u8, + 83u8, 232u8, 171u8, 160u8, 45u8, 37u8, 23u8, 151u8, 198u8, + 237u8, 103u8, 217u8, 53u8, + ], + ) + } + #[doc = " The announcements made by the proxy (key)."] + pub fn announcements_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_proxy::Announcement< + ::subxt::utils::AccountId32, + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + ::core::primitive::u128, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Proxy", + "Announcements", + Vec::new(), + [ + 233u8, 38u8, 249u8, 89u8, 103u8, 87u8, 64u8, 52u8, 140u8, + 228u8, 110u8, 37u8, 8u8, 92u8, 48u8, 7u8, 46u8, 99u8, 179u8, + 83u8, 232u8, 171u8, 160u8, 45u8, 37u8, 23u8, 151u8, 198u8, + 237u8, 103u8, 217u8, 53u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a proxy."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes."] + pub fn proxy_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Proxy", + "ProxyDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per proxy added."] + #[doc = ""] + #[doc = " This is held for adding 32 bytes plus an instance of `ProxyType` more into a"] + #[doc = " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take"] + #[doc = " into account `32 + proxy_type.encode().len()` bytes of data."] + pub fn proxy_deposit_factor( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Proxy", + "ProxyDepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum amount of proxies allowed for a single account."] + pub fn max_proxies( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Proxy", + "MaxProxies", + [ + 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 amount of time-delayed announcements that are allowed to be pending."] + pub fn max_pending( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Proxy", + "MaxPending", + [ + 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 base amount of currency needed to reserve for creating an announcement."] + #[doc = ""] + #[doc = " This is held when a new storage item holding a `Balance` is created (typically 16"] + #[doc = " bytes)."] + pub fn announcement_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Proxy", + "AnnouncementDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per announcement made."] + #[doc = ""] + #[doc = " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)"] + #[doc = " into a pre-existing storage value."] + pub fn announcement_deposit_factor( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Proxy", + "AnnouncementDepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod multisig { + 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 AsMultiThreshold1 { + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call: + ::std::boxed::Box, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ApproveAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call_hash: [::core::primitive::u8; 32usize], + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub call_hash: [::core::primitive::u8; 32usize], + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] + #[doc = "multi-signature, but do not participate in the approval process."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result."] + #[doc = ""] + #[doc = "# "] + #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] + #[doc = "-------------------------------"] + #[doc = "- DB Weight: None"] + #[doc = "- Plus Call Weight"] + #[doc = "# "] + pub fn as_multi_threshold_1( + &self, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Multisig", + "as_multi_threshold_1", + AsMultiThreshold1 { + other_signatories, + call: ::std::boxed::Box::new(call), + }, + [ + 225u8, 116u8, 99u8, 232u8, 184u8, 9u8, 5u8, 129u8, 233u8, + 11u8, 27u8, 225u8, 25u8, 47u8, 174u8, 3u8, 83u8, 108u8, 40u8, + 208u8, 63u8, 195u8, 29u8, 167u8, 209u8, 149u8, 8u8, 172u8, + 216u8, 72u8, 99u8, 223u8, + ], + ) + } + #[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 = "# "] + #[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`."] + #[doc = "-------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Multisig Storage, [Caller Account]"] + #[doc = " - Writes: Multisig Storage, [Caller Account]"] + #[doc = "- Plus Call Weight"] + #[doc = "# "] + pub fn as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call: runtime_types::kitchensink_runtime::RuntimeCall, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Multisig", + "as_multi", + AsMulti { + threshold, + other_signatories, + maybe_timepoint, + call: ::std::boxed::Box::new(call), + max_weight, + }, + [ + 191u8, 221u8, 239u8, 34u8, 200u8, 99u8, 81u8, 47u8, 59u8, + 12u8, 221u8, 203u8, 49u8, 91u8, 106u8, 222u8, 34u8, 135u8, + 88u8, 204u8, 139u8, 47u8, 248u8, 222u8, 141u8, 28u8, 58u8, + 80u8, 87u8, 117u8, 134u8, 24u8, + ], + ) + } + #[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 = "# "] + #[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`."] + #[doc = "----------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Multisig Storage, [Caller Account]"] + #[doc = " - Write: Multisig Storage, [Caller Account]"] + #[doc = "# "] + pub fn approve_as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call_hash: [::core::primitive::u8; 32usize], + max_weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Multisig", + "approve_as_multi", + ApproveAsMulti { + threshold, + other_signatories, + maybe_timepoint, + call_hash, + max_weight, + }, + [ + 133u8, 113u8, 121u8, 66u8, 218u8, 219u8, 48u8, 64u8, 211u8, + 114u8, 163u8, 193u8, 164u8, 21u8, 140u8, 218u8, 253u8, 237u8, + 240u8, 126u8, 200u8, 213u8, 184u8, 50u8, 187u8, 182u8, 30u8, + 52u8, 142u8, 72u8, 210u8, 101u8, + ], + ) + } + #[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 = "# "] + #[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."] + #[doc = "----------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account"] + #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account"] + #[doc = "# "] + pub fn cancel_as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + timepoint: runtime_types::pallet_multisig::Timepoint< + ::core::primitive::u32, + >, + call_hash: [::core::primitive::u8; 32usize], + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Multisig", + "cancel_as_multi", + CancelAsMulti { + threshold, + other_signatories, + timepoint, + call_hash, + }, + [ + 30u8, 25u8, 186u8, 142u8, 168u8, 81u8, 235u8, 164u8, 82u8, + 209u8, 66u8, 129u8, 209u8, 78u8, 172u8, 9u8, 163u8, 222u8, + 125u8, 57u8, 2u8, 43u8, 169u8, 174u8, 159u8, 167u8, 25u8, + 226u8, 254u8, 110u8, 80u8, 216u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_multisig::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new multisig operation has begun."] + pub struct NewMultisig { + pub approving: ::subxt::utils::AccountId32, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for NewMultisig { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "NewMultisig"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A multisig operation has been approved by someone."] + pub struct MultisigApproval { + pub approving: ::subxt::utils::AccountId32, + pub timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for MultisigApproval { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigApproval"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A multisig operation has been executed."] + pub struct MultisigExecuted { + pub approving: ::subxt::utils::AccountId32, + pub timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for MultisigExecuted { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A multisig operation has been cancelled."] + pub struct MultisigCancelled { + pub cancelling: ::subxt::utils::AccountId32, + pub timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for MultisigCancelled { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigCancelled"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of open multisig operations."] + pub fn multisigs( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Multisig" , "Multisigs" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Twox64Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [69u8 , 153u8 , 186u8 , 204u8 , 117u8 , 95u8 , 119u8 , 182u8 , 220u8 , 87u8 , 8u8 , 15u8 , 123u8 , 83u8 , 5u8 , 188u8 , 115u8 , 121u8 , 163u8 , 96u8 , 218u8 , 3u8 , 106u8 , 44u8 , 44u8 , 187u8 , 46u8 , 238u8 , 80u8 , 203u8 , 175u8 , 155u8 ,]) + } + #[doc = " The set of open multisig operations."] + pub fn multisigs_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Multisig", + "Multisigs", + Vec::new(), + [ + 69u8, 153u8, 186u8, 204u8, 117u8, 95u8, 119u8, 182u8, 220u8, + 87u8, 8u8, 15u8, 123u8, 83u8, 5u8, 188u8, 115u8, 121u8, + 163u8, 96u8, 218u8, 3u8, 106u8, 44u8, 44u8, 187u8, 46u8, + 238u8, 80u8, 203u8, 175u8, 155u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a multisig execution or to"] + #[doc = " store a dispatch call for later."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is"] + #[doc = " `32 + sizeof(AccountId)` bytes."] + pub fn deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Multisig", + "DepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per unit threshold when creating a multisig execution."] + #[doc = ""] + #[doc = " This is held for adding 32 bytes more into a pre-existing storage value."] + pub fn deposit_factor( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Multisig", + "DepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum amount of signatories allowed in the multisig."] + pub fn max_signatories( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Multisig", + "MaxSignatories", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + } + } + } + pub mod bounties { + 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 ProposeBounty { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub description: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ApproveBounty { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ProposeCurator { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + pub curator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UnassignCurator { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AcceptCurator { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AwardBounty { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + pub beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClaimBounty { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CloseBounty { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ExtendBountyExpiry { + #[codec(compact)] + pub bounty_id: ::core::primitive::u32, + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + pub struct TransactionApi; + impl TransactionApi { + #[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."] + pub fn propose_bounty( + &self, + value: ::core::primitive::u128, + description: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Bounties", + "propose_bounty", + ProposeBounty { value, description }, + [ + 99u8, 160u8, 94u8, 74u8, 105u8, 161u8, 123u8, 239u8, 241u8, + 117u8, 97u8, 99u8, 84u8, 101u8, 87u8, 3u8, 88u8, 175u8, 75u8, + 59u8, 114u8, 87u8, 18u8, 113u8, 126u8, 26u8, 42u8, 104u8, + 201u8, 128u8, 102u8, 219u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn approve_bounty( + &self, + bounty_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Bounties", + "approve_bounty", + ApproveBounty { bounty_id }, + [ + 82u8, 228u8, 232u8, 103u8, 198u8, 173u8, 190u8, 148u8, 159u8, + 86u8, 48u8, 4u8, 32u8, 169u8, 1u8, 129u8, 96u8, 145u8, 235u8, + 68u8, 48u8, 34u8, 5u8, 1u8, 76u8, 26u8, 100u8, 228u8, 92u8, + 198u8, 183u8, 173u8, + ], + ) + } + #[doc = "Assign a curator to a funded bounty."] + #[doc = ""] + #[doc = "May only be called from `T::SpendOrigin`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn propose_curator( + &self, + bounty_id: ::core::primitive::u32, + curator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + fee: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Bounties", + "propose_curator", + ProposeCurator { + bounty_id, + curator, + fee, + }, + [ + 85u8, 186u8, 206u8, 137u8, 98u8, 87u8, 202u8, 71u8, 89u8, + 241u8, 56u8, 212u8, 89u8, 215u8, 65u8, 97u8, 202u8, 139u8, + 78u8, 66u8, 92u8, 177u8, 163u8, 111u8, 212u8, 244u8, 41u8, + 153u8, 104u8, 129u8, 112u8, 237u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn unassign_curator( + &self, + bounty_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Bounties", + "unassign_curator", + UnassignCurator { bounty_id }, + [ + 218u8, 241u8, 247u8, 89u8, 95u8, 120u8, 93u8, 18u8, 85u8, + 114u8, 158u8, 254u8, 68u8, 77u8, 230u8, 186u8, 230u8, 201u8, + 63u8, 223u8, 28u8, 173u8, 244u8, 82u8, 113u8, 177u8, 99u8, + 27u8, 207u8, 247u8, 207u8, 213u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn accept_curator( + &self, + bounty_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Bounties", + "accept_curator", + AcceptCurator { bounty_id }, + [ + 106u8, 96u8, 22u8, 67u8, 52u8, 109u8, 180u8, 225u8, 122u8, + 253u8, 209u8, 214u8, 132u8, 131u8, 247u8, 131u8, 162u8, 51u8, + 144u8, 30u8, 12u8, 126u8, 50u8, 152u8, 229u8, 119u8, 54u8, + 116u8, 112u8, 235u8, 34u8, 166u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn award_bounty( + &self, + bounty_id: ::core::primitive::u32, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Bounties", + "award_bounty", + AwardBounty { + bounty_id, + beneficiary, + }, + [ + 7u8, 205u8, 73u8, 45u8, 57u8, 8u8, 24u8, 135u8, 89u8, 157u8, + 35u8, 176u8, 224u8, 106u8, 167u8, 232u8, 230u8, 153u8, 239u8, + 45u8, 210u8, 61u8, 17u8, 106u8, 220u8, 131u8, 105u8, 136u8, + 232u8, 194u8, 243u8, 48u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn claim_bounty( + &self, + bounty_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Bounties", + "claim_bounty", + ClaimBounty { bounty_id }, + [ + 102u8, 95u8, 8u8, 89u8, 4u8, 126u8, 189u8, 28u8, 241u8, 16u8, + 125u8, 218u8, 42u8, 92u8, 177u8, 91u8, 8u8, 235u8, 33u8, + 48u8, 64u8, 115u8, 177u8, 95u8, 242u8, 97u8, 181u8, 50u8, + 68u8, 37u8, 59u8, 85u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn close_bounty( + &self, + bounty_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Bounties", + "close_bounty", + CloseBounty { bounty_id }, + [ + 64u8, 113u8, 151u8, 228u8, 90u8, 55u8, 251u8, 63u8, 27u8, + 211u8, 119u8, 229u8, 137u8, 137u8, 183u8, 240u8, 241u8, + 146u8, 69u8, 169u8, 124u8, 220u8, 236u8, 111u8, 98u8, 188u8, + 100u8, 52u8, 127u8, 245u8, 244u8, 92u8, + ], + ) + } + #[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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn extend_bounty_expiry( + &self, + bounty_id: ::core::primitive::u32, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Bounties", + "extend_bounty_expiry", + ExtendBountyExpiry { bounty_id, remark }, + [ + 97u8, 69u8, 157u8, 39u8, 59u8, 72u8, 79u8, 88u8, 104u8, + 119u8, 91u8, 26u8, 73u8, 216u8, 174u8, 95u8, 254u8, 214u8, + 63u8, 138u8, 100u8, 112u8, 185u8, 81u8, 159u8, 247u8, 221u8, + 60u8, 87u8, 40u8, 80u8, 202u8, + ], + ) + } + } + } + #[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_bounties::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New bounty proposal."] + pub struct BountyProposed { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for BountyProposed { + const PALLET: &'static str = "Bounties"; + const EVENT: &'static str = "BountyProposed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bounty proposal was rejected; funds were slashed."] + pub struct BountyRejected { + pub index: ::core::primitive::u32, + pub bond: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for BountyRejected { + const PALLET: &'static str = "Bounties"; + const EVENT: &'static str = "BountyRejected"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bounty proposal is funded and became active."] + pub struct BountyBecameActive { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for BountyBecameActive { + const PALLET: &'static str = "Bounties"; + const EVENT: &'static str = "BountyBecameActive"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bounty is awarded to a beneficiary."] + pub struct BountyAwarded { + pub index: ::core::primitive::u32, + pub beneficiary: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for BountyAwarded { + const PALLET: &'static str = "Bounties"; + const EVENT: &'static str = "BountyAwarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bounty is claimed by beneficiary."] + pub struct BountyClaimed { + pub index: ::core::primitive::u32, + pub payout: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for BountyClaimed { + const PALLET: &'static str = "Bounties"; + const EVENT: &'static str = "BountyClaimed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bounty is cancelled."] + pub struct BountyCanceled { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for BountyCanceled { + const PALLET: &'static str = "Bounties"; + const EVENT: &'static str = "BountyCanceled"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bounty expiry is extended."] + pub struct BountyExtended { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for BountyExtended { + const PALLET: &'static str = "Bounties"; + const EVENT: &'static str = "BountyExtended"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Number of bounty proposals that have been made."] + pub fn bounty_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Bounties", + "BountyCount", + vec![], + [ + 5u8, 188u8, 134u8, 220u8, 64u8, 49u8, 188u8, 98u8, 185u8, + 186u8, 230u8, 65u8, 247u8, 199u8, 28u8, 178u8, 202u8, 193u8, + 41u8, 83u8, 115u8, 253u8, 182u8, 123u8, 92u8, 138u8, 12u8, + 31u8, 31u8, 213u8, 23u8, 118u8, + ], + ) + } + #[doc = " Bounties that have been made."] + pub fn bounties( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_bounties::Bounty< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Bounties", + "Bounties", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 111u8, 149u8, 33u8, 54u8, 172u8, 143u8, 41u8, 231u8, 184u8, + 255u8, 238u8, 206u8, 87u8, 142u8, 84u8, 10u8, 236u8, 141u8, + 190u8, 193u8, 72u8, 170u8, 19u8, 110u8, 135u8, 136u8, 220u8, + 11u8, 99u8, 126u8, 225u8, 208u8, + ], + ) + } + #[doc = " Bounties that have been made."] + pub fn bounties_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_bounties::Bounty< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u32, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Bounties", + "Bounties", + Vec::new(), + [ + 111u8, 149u8, 33u8, 54u8, 172u8, 143u8, 41u8, 231u8, 184u8, + 255u8, 238u8, 206u8, 87u8, 142u8, 84u8, 10u8, 236u8, 141u8, + 190u8, 193u8, 72u8, 170u8, 19u8, 110u8, 135u8, 136u8, 220u8, + 11u8, 99u8, 126u8, 225u8, 208u8, + ], + ) + } + #[doc = " The description of each bounty."] + pub fn bounty_descriptions( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Bounties", + "BountyDescriptions", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 252u8, 0u8, 9u8, 225u8, 13u8, 135u8, 7u8, 121u8, 154u8, + 155u8, 116u8, 83u8, 160u8, 37u8, 72u8, 11u8, 72u8, 0u8, + 248u8, 73u8, 158u8, 84u8, 125u8, 221u8, 176u8, 231u8, 100u8, + 239u8, 111u8, 22u8, 29u8, 13u8, + ], + ) + } + #[doc = " The description of each bounty."] + pub fn bounty_descriptions_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Bounties", + "BountyDescriptions", + Vec::new(), + [ + 252u8, 0u8, 9u8, 225u8, 13u8, 135u8, 7u8, 121u8, 154u8, + 155u8, 116u8, 83u8, 160u8, 37u8, 72u8, 11u8, 72u8, 0u8, + 248u8, 73u8, 158u8, 84u8, 125u8, 221u8, 176u8, 231u8, 100u8, + 239u8, 111u8, 22u8, 29u8, 13u8, + ], + ) + } + #[doc = " Bounty indices that have been approved but not yet funded."] + pub fn bounty_approvals( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Bounties", + "BountyApprovals", + vec![], + [ + 64u8, 93u8, 54u8, 94u8, 122u8, 9u8, 246u8, 86u8, 234u8, 30u8, + 125u8, 132u8, 49u8, 128u8, 1u8, 219u8, 241u8, 13u8, 217u8, + 186u8, 48u8, 21u8, 5u8, 227u8, 71u8, 157u8, 128u8, 226u8, + 214u8, 49u8, 249u8, 183u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The amount held on deposit for placing a bounty proposal."] + pub fn bounty_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Bounties", + "BountyDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The delay period for which a bounty beneficiary need to wait before claim the payout."] + pub fn bounty_deposit_payout_delay( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Bounties", + "BountyDepositPayoutDelay", + [ + 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 = " Bounty duration in blocks."] + pub fn bounty_update_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Bounties", + "BountyUpdatePeriod", + [ + 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 curator deposit is calculated as a percentage of the curator fee."] + #[doc = ""] + #[doc = " This deposit has optional upper and lower bounds with `CuratorDepositMax` and"] + #[doc = " `CuratorDepositMin`."] + pub fn curator_deposit_multiplier( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Permill, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Bounties", + "CuratorDepositMultiplier", + [ + 225u8, 236u8, 95u8, 157u8, 90u8, 94u8, 106u8, 192u8, 254u8, + 19u8, 87u8, 80u8, 16u8, 62u8, 42u8, 204u8, 136u8, 106u8, + 225u8, 53u8, 212u8, 52u8, 177u8, 79u8, 4u8, 116u8, 201u8, + 104u8, 222u8, 75u8, 86u8, 227u8, + ], + ) + } + #[doc = " Maximum amount of funds that should be placed in a deposit for making a proposal."] + pub fn curator_deposit_max( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + ::core::option::Option<::core::primitive::u128>, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Bounties", + "CuratorDepositMax", + [ + 84u8, 154u8, 218u8, 83u8, 84u8, 189u8, 32u8, 20u8, 120u8, + 194u8, 88u8, 205u8, 109u8, 216u8, 114u8, 193u8, 120u8, 198u8, + 154u8, 237u8, 134u8, 204u8, 102u8, 247u8, 52u8, 103u8, 231u8, + 43u8, 243u8, 122u8, 60u8, 216u8, + ], + ) + } + #[doc = " Minimum amount of funds that should be placed in a deposit for making a proposal."] + pub fn curator_deposit_min( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + ::core::option::Option<::core::primitive::u128>, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Bounties", + "CuratorDepositMin", + [ + 84u8, 154u8, 218u8, 83u8, 84u8, 189u8, 32u8, 20u8, 120u8, + 194u8, 88u8, 205u8, 109u8, 216u8, 114u8, 193u8, 120u8, 198u8, + 154u8, 237u8, 134u8, 204u8, 102u8, 247u8, 52u8, 103u8, 231u8, + 43u8, 243u8, 122u8, 60u8, 216u8, + ], + ) + } + #[doc = " Minimum value for a bounty."] + pub fn bounty_value_minimum( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Bounties", + "BountyValueMinimum", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount held on deposit per byte within the tip report reason or bounty description."] + pub fn data_deposit_per_byte( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Bounties", + "DataDepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Maximum acceptable reason length."] + #[doc = ""] + #[doc = " Benchmarks depend on this value, be sure to update weights file when changing this value"] + pub fn maximum_reason_length( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Bounties", + "MaximumReasonLength", + [ + 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 tips { + 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 ReportAwesome { + pub reason: ::std::vec::Vec<::core::primitive::u8>, + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RetractTip { + pub hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TipNew { + pub reason: ::std::vec::Vec<::core::primitive::u8>, + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub tip_value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Tip { + pub hash: ::subxt::utils::H256, + #[codec(compact)] + pub tip_value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CloseTip { + pub hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SlashTip { + pub hash: ::subxt::utils::H256, + } + pub struct TransactionApi; + impl TransactionApi { + #[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 = "# "] + #[doc = "- Complexity: `O(R)` where `R` length of `reason`."] + #[doc = " - encoding and hashing of 'reason'"] + #[doc = "- DbReads: `Reasons`, `Tips`"] + #[doc = "- DbWrites: `Reasons`, `Tips`"] + #[doc = "# "] + pub fn report_awesome( + &self, + reason: ::std::vec::Vec<::core::primitive::u8>, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Tips", + "report_awesome", + ReportAwesome { reason, who }, + [ + 234u8, 199u8, 253u8, 109u8, 105u8, 252u8, 249u8, 138u8, + 197u8, 187u8, 226u8, 67u8, 195u8, 51u8, 197u8, 85u8, 110u8, + 173u8, 85u8, 176u8, 27u8, 147u8, 221u8, 85u8, 177u8, 55u8, + 2u8, 218u8, 4u8, 115u8, 67u8, 121u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Complexity: `O(1)`"] + #[doc = " - Depends on the length of `T::Hash` which is fixed."] + #[doc = "- DbReads: `Tips`, `origin account`"] + #[doc = "- DbWrites: `Reasons`, `Tips`, `origin account`"] + #[doc = "# "] + pub fn retract_tip( + &self, + hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Tips", + "retract_tip", + RetractTip { hash }, + [ + 137u8, 42u8, 229u8, 188u8, 157u8, 195u8, 184u8, 176u8, 64u8, + 142u8, 67u8, 175u8, 185u8, 207u8, 214u8, 71u8, 165u8, 29u8, + 137u8, 227u8, 132u8, 195u8, 255u8, 66u8, 186u8, 57u8, 34u8, + 184u8, 187u8, 65u8, 129u8, 131u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Complexity: `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`"] + #[doc = "- DbReads: `Tippers`, `Reasons`"] + #[doc = "- DbWrites: `Reasons`, `Tips`"] + #[doc = "# "] + pub fn tip_new( + &self, + reason: ::std::vec::Vec<::core::primitive::u8>, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + tip_value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Tips", + "tip_new", + TipNew { + reason, + who, + tip_value, + }, + [ + 166u8, 19u8, 234u8, 170u8, 180u8, 74u8, 235u8, 156u8, 58u8, + 125u8, 199u8, 215u8, 15u8, 96u8, 240u8, 71u8, 205u8, 61u8, + 60u8, 204u8, 12u8, 35u8, 252u8, 233u8, 31u8, 86u8, 204u8, + 230u8, 40u8, 247u8, 47u8, 135u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] + #[doc = " `T`, insert tip and check closing, `T` is charged as upper bound given by"] + #[doc = " `ContainsLengthBound`. 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`."] + #[doc = "- DbReads: `Tippers`, `Tips`"] + #[doc = "- DbWrites: `Tips`"] + #[doc = "# "] + pub fn tip( + &self, + hash: ::subxt::utils::H256, + tip_value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Tips", + "tip", + Tip { hash, tip_value }, + [ + 133u8, 52u8, 131u8, 14u8, 71u8, 232u8, 254u8, 31u8, 33u8, + 206u8, 50u8, 76u8, 56u8, 167u8, 228u8, 202u8, 195u8, 0u8, + 164u8, 107u8, 170u8, 98u8, 192u8, 37u8, 209u8, 199u8, 130u8, + 15u8, 168u8, 63u8, 181u8, 134u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] + #[doc = " `T`. `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost"] + #[doc = " depends on the implementation of `T::Tippers`."] + #[doc = "- DbReads: `Tips`, `Tippers`, `tip finder`"] + #[doc = "- DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`"] + #[doc = "# "] + pub fn close_tip( + &self, + hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Tips", + "close_tip", + CloseTip { hash }, + [ + 32u8, 53u8, 0u8, 222u8, 45u8, 157u8, 107u8, 174u8, 203u8, + 50u8, 81u8, 230u8, 6u8, 111u8, 79u8, 55u8, 49u8, 151u8, + 107u8, 114u8, 81u8, 200u8, 144u8, 175u8, 29u8, 142u8, 115u8, + 184u8, 102u8, 116u8, 156u8, 173u8, + ], + ) + } + #[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 = "# "] + #[doc = " `T` is charged as upper bound given by `ContainsLengthBound`."] + #[doc = " The actual cost depends on the implementation of `T::Tippers`."] + #[doc = "# "] + pub fn slash_tip( + &self, + hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Tips", + "slash_tip", + SlashTip { hash }, + [ + 222u8, 209u8, 22u8, 47u8, 114u8, 230u8, 81u8, 200u8, 131u8, + 0u8, 209u8, 54u8, 17u8, 200u8, 175u8, 125u8, 100u8, 254u8, + 41u8, 178u8, 20u8, 27u8, 9u8, 184u8, 79u8, 93u8, 208u8, + 148u8, 27u8, 190u8, 176u8, 169u8, + ], + ) + } + } + } + #[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_tips::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new tip suggestion has been opened."] + pub struct NewTip { + pub tip_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for NewTip { + const PALLET: &'static str = "Tips"; + const EVENT: &'static str = "NewTip"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A tip suggestion has reached threshold and is closing."] + pub struct TipClosing { + pub tip_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for TipClosing { + const PALLET: &'static str = "Tips"; + const EVENT: &'static str = "TipClosing"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A tip suggestion has been closed."] + pub struct TipClosed { + pub tip_hash: ::subxt::utils::H256, + pub who: ::subxt::utils::AccountId32, + pub payout: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TipClosed { + const PALLET: &'static str = "Tips"; + const EVENT: &'static str = "TipClosed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A tip suggestion has been retracted."] + pub struct TipRetracted { + pub tip_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for TipRetracted { + const PALLET: &'static str = "Tips"; + const EVENT: &'static str = "TipRetracted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A tip suggestion has been slashed."] + pub struct TipSlashed { + pub tip_hash: ::subxt::utils::H256, + pub finder: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TipSlashed { + const PALLET: &'static str = "Tips"; + const EVENT: &'static str = "TipSlashed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value."] + #[doc = " This has the insecure enumerable hash function since the key itself is already"] + #[doc = " guaranteed to be a secure hash."] + pub fn tips( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_tips::OpenTip< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u32, + ::subxt::utils::H256, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Tips", + "Tips", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 241u8, 196u8, 105u8, 248u8, 29u8, 66u8, 86u8, 98u8, 6u8, + 159u8, 191u8, 0u8, 227u8, 232u8, 147u8, 248u8, 173u8, 20u8, + 225u8, 12u8, 232u8, 5u8, 93u8, 78u8, 18u8, 154u8, 130u8, + 38u8, 142u8, 36u8, 66u8, 0u8, + ], + ) + } + #[doc = " TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value."] + #[doc = " This has the insecure enumerable hash function since the key itself is already"] + #[doc = " guaranteed to be a secure hash."] + pub fn tips_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_tips::OpenTip< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u32, + ::subxt::utils::H256, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Tips", + "Tips", + Vec::new(), + [ + 241u8, 196u8, 105u8, 248u8, 29u8, 66u8, 86u8, 98u8, 6u8, + 159u8, 191u8, 0u8, 227u8, 232u8, 147u8, 248u8, 173u8, 20u8, + 225u8, 12u8, 232u8, 5u8, 93u8, 78u8, 18u8, 154u8, 130u8, + 38u8, 142u8, 36u8, 66u8, 0u8, + ], + ) + } + #[doc = " Simple preimage lookup from the reason's hash to the original data. Again, has an"] + #[doc = " insecure enumerable hash since the key is guaranteed to be the result of a secure hash."] + pub fn reasons( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u8>, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Tips", + "Reasons", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 202u8, 191u8, 36u8, 162u8, 156u8, 102u8, 115u8, 10u8, 203u8, + 35u8, 201u8, 70u8, 195u8, 151u8, 89u8, 82u8, 202u8, 35u8, + 210u8, 176u8, 82u8, 1u8, 77u8, 94u8, 31u8, 70u8, 252u8, + 194u8, 166u8, 91u8, 189u8, 134u8, + ], + ) + } + #[doc = " Simple preimage lookup from the reason's hash to the original data. Again, has an"] + #[doc = " insecure enumerable hash since the key is guaranteed to be the result of a secure hash."] + pub fn reasons_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u8>, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Tips", + "Reasons", + Vec::new(), + [ + 202u8, 191u8, 36u8, 162u8, 156u8, 102u8, 115u8, 10u8, 203u8, + 35u8, 201u8, 70u8, 195u8, 151u8, 89u8, 82u8, 202u8, 35u8, + 210u8, 176u8, 82u8, 1u8, 77u8, 94u8, 31u8, 70u8, 252u8, + 194u8, 166u8, 91u8, 189u8, 134u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Maximum acceptable reason length."] + #[doc = ""] + #[doc = " Benchmarks depend on this value, be sure to update weights file when changing this value"] + pub fn maximum_reason_length( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Tips", + "MaximumReasonLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The amount held on deposit per byte within the tip report reason or bounty description."] + pub fn data_deposit_per_byte( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Tips", + "DataDepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The period for which a tip remains open after is has achieved threshold tippers."] + pub fn tip_countdown( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Tips", + "TipCountdown", + [ + 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 percent of the final tip which goes to the original reporter of the tip."] + pub fn tip_finders_fee( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Percent, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Tips", + "TipFindersFee", + [ + 99u8, 121u8, 176u8, 172u8, 235u8, 159u8, 116u8, 114u8, 179u8, + 91u8, 129u8, 117u8, 204u8, 135u8, 53u8, 7u8, 151u8, 26u8, + 124u8, 151u8, 202u8, 171u8, 171u8, 207u8, 183u8, 177u8, 24u8, + 53u8, 109u8, 185u8, 71u8, 183u8, + ], + ) + } + #[doc = " The amount held on deposit for placing a tip report."] + pub fn tip_report_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Tips", + "TipReportDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod assets { + 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 Create { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub min_balance: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceCreate { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub is_sufficient: ::core::primitive::bool, + #[codec(compact)] + pub min_balance: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct StartDestroy { + #[codec(compact)] + pub id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DestroyAccounts { + #[codec(compact)] + pub id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DestroyApprovals { + #[codec(compact)] + pub id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct FinishDestroy { + #[codec(compact)] + pub id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Mint { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Burn { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Transfer { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransferKeepAlive { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceTransfer { + #[codec(compact)] + pub id: ::core::primitive::u32, + 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 amount: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Freeze { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Thaw { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct FreezeAsset { + #[codec(compact)] + pub id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ThawAsset { + #[codec(compact)] + pub id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransferOwnership { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetTeam { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetMetadata { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub name: ::std::vec::Vec<::core::primitive::u8>, + pub symbol: ::std::vec::Vec<::core::primitive::u8>, + pub decimals: ::core::primitive::u8, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearMetadata { + #[codec(compact)] + pub id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceSetMetadata { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub name: ::std::vec::Vec<::core::primitive::u8>, + pub symbol: ::std::vec::Vec<::core::primitive::u8>, + pub decimals: ::core::primitive::u8, + pub is_frozen: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceClearMetadata { + #[codec(compact)] + pub id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceAssetStatus { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub min_balance: ::core::primitive::u128, + pub is_sufficient: ::core::primitive::bool, + pub is_frozen: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ApproveTransfer { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelApproval { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceCancelApproval { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransferApproved { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub destination: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Touch { + #[codec(compact)] + pub id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Refund { + #[codec(compact)] + pub id: ::core::primitive::u32, + pub allow_burn: ::core::primitive::bool, + } + pub struct TransactionApi; + impl TransactionApi { + #[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)`"] + pub fn create( + &self, + id: ::core::primitive::u32, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + min_balance: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "create", + Create { + id, + admin, + min_balance, + }, + [ + 197u8, 86u8, 72u8, 4u8, 104u8, 55u8, 113u8, 73u8, 86u8, 21u8, + 128u8, 40u8, 25u8, 91u8, 18u8, 246u8, 157u8, 168u8, 160u8, + 65u8, 101u8, 193u8, 120u8, 217u8, 245u8, 26u8, 194u8, 186u8, + 126u8, 231u8, 118u8, 176u8, + ], + ) + } + #[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)`"] + pub fn force_create( + &self, + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + is_sufficient: ::core::primitive::bool, + min_balance: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "force_create", + ForceCreate { + id, + owner, + is_sufficient, + min_balance, + }, + [ + 152u8, 24u8, 39u8, 126u8, 101u8, 61u8, 147u8, 180u8, 121u8, + 52u8, 45u8, 205u8, 87u8, 32u8, 87u8, 7u8, 134u8, 168u8, 1u8, + 159u8, 191u8, 246u8, 90u8, 245u8, 80u8, 172u8, 185u8, 254u8, + 59u8, 37u8, 204u8, 162u8, + ], + ) + } + #[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`."] + pub fn start_destroy( + &self, + id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "start_destroy", + StartDestroy { id }, + [ + 83u8, 116u8, 245u8, 108u8, 180u8, 253u8, 0u8, 109u8, 9u8, + 206u8, 70u8, 95u8, 36u8, 80u8, 86u8, 186u8, 191u8, 161u8, + 227u8, 156u8, 162u8, 102u8, 82u8, 239u8, 124u8, 162u8, 128u8, + 121u8, 183u8, 120u8, 214u8, 136u8, + ], + ) + } + #[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."] + pub fn destroy_accounts( + &self, + id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "destroy_accounts", + DestroyAccounts { id }, + [ + 35u8, 134u8, 147u8, 165u8, 201u8, 250u8, 221u8, 158u8, 216u8, + 147u8, 218u8, 79u8, 235u8, 188u8, 10u8, 101u8, 22u8, 48u8, + 1u8, 192u8, 176u8, 84u8, 111u8, 244u8, 99u8, 92u8, 254u8, + 49u8, 156u8, 24u8, 209u8, 180u8, + ], + ) + } + #[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."] + pub fn destroy_approvals( + &self, + id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "destroy_approvals", + DestroyApprovals { id }, + [ + 138u8, 31u8, 250u8, 93u8, 156u8, 239u8, 19u8, 43u8, 244u8, + 208u8, 159u8, 223u8, 143u8, 253u8, 235u8, 130u8, 159u8, + 117u8, 15u8, 79u8, 1u8, 205u8, 153u8, 36u8, 38u8, 23u8, 38u8, + 0u8, 193u8, 104u8, 140u8, 225u8, + ], + ) + } + #[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."] + pub fn finish_destroy( + &self, + id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "finish_destroy", + FinishDestroy { id }, + [ + 215u8, 16u8, 107u8, 60u8, 181u8, 1u8, 238u8, 172u8, 36u8, + 54u8, 187u8, 26u8, 159u8, 224u8, 161u8, 8u8, 115u8, 183u8, + 132u8, 121u8, 42u8, 165u8, 7u8, 193u8, 208u8, 124u8, 45u8, + 158u8, 100u8, 57u8, 117u8, 209u8, + ], + ) + } + #[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`."] + pub fn mint( + &self, + id: ::core::primitive::u32, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "mint", + Mint { + id, + beneficiary, + amount, + }, + [ + 21u8, 30u8, 124u8, 32u8, 105u8, 231u8, 137u8, 139u8, 28u8, + 252u8, 232u8, 138u8, 197u8, 0u8, 109u8, 156u8, 102u8, 83u8, + 51u8, 128u8, 246u8, 186u8, 249u8, 144u8, 133u8, 127u8, 241u8, + 152u8, 201u8, 50u8, 41u8, 105u8, + ], + ) + } + #[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`."] + pub fn burn( + &self, + id: ::core::primitive::u32, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "burn", + Burn { id, who, amount }, + [ + 104u8, 94u8, 68u8, 117u8, 145u8, 209u8, 149u8, 156u8, 131u8, + 137u8, 137u8, 93u8, 114u8, 237u8, 75u8, 56u8, 77u8, 65u8, + 18u8, 71u8, 19u8, 187u8, 76u8, 145u8, 24u8, 128u8, 62u8, + 234u8, 200u8, 247u8, 196u8, 45u8, + ], + ) + } + #[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`."] + pub fn transfer( + &self, + id: ::core::primitive::u32, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "transfer", + Transfer { id, target, amount }, + [ + 132u8, 120u8, 134u8, 8u8, 238u8, 66u8, 45u8, 83u8, 151u8, + 8u8, 118u8, 62u8, 2u8, 163u8, 213u8, 255u8, 42u8, 211u8, + 125u8, 21u8, 150u8, 117u8, 177u8, 21u8, 105u8, 61u8, 3u8, + 2u8, 30u8, 70u8, 65u8, 145u8, + ], + ) + } + #[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`."] + pub fn transfer_keep_alive( + &self, + id: ::core::primitive::u32, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "transfer_keep_alive", + TransferKeepAlive { id, target, amount }, + [ + 9u8, 46u8, 251u8, 191u8, 91u8, 192u8, 119u8, 203u8, 147u8, + 84u8, 76u8, 27u8, 237u8, 174u8, 67u8, 249u8, 185u8, 199u8, + 240u8, 122u8, 160u8, 111u8, 245u8, 247u8, 241u8, 197u8, + 238u8, 253u8, 75u8, 216u8, 41u8, 148u8, + ], + ) + } + #[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`."] + pub fn force_transfer( + &self, + id: ::core::primitive::u32, + source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "force_transfer", + ForceTransfer { + id, + source, + dest, + amount, + }, + [ + 253u8, 100u8, 109u8, 66u8, 153u8, 140u8, 39u8, 85u8, 19u8, + 199u8, 68u8, 6u8, 124u8, 200u8, 250u8, 142u8, 104u8, 55u8, + 190u8, 25u8, 117u8, 180u8, 201u8, 245u8, 153u8, 192u8, 240u8, + 5u8, 176u8, 142u8, 106u8, 92u8, + ], + ) + } + #[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)`"] + pub fn freeze( + &self, + id: ::core::primitive::u32, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "freeze", + Freeze { id, who }, + [ + 191u8, 155u8, 214u8, 95u8, 125u8, 58u8, 207u8, 76u8, 99u8, + 15u8, 102u8, 189u8, 26u8, 232u8, 9u8, 73u8, 231u8, 114u8, + 199u8, 129u8, 110u8, 84u8, 22u8, 114u8, 108u8, 57u8, 83u8, + 246u8, 92u8, 0u8, 127u8, 53u8, + ], + ) + } + #[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)`"] + pub fn thaw( + &self, + id: ::core::primitive::u32, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "thaw", + Thaw { id, who }, + [ + 52u8, 37u8, 227u8, 9u8, 177u8, 120u8, 93u8, 129u8, 81u8, + 35u8, 107u8, 22u8, 80u8, 58u8, 3u8, 98u8, 211u8, 65u8, 49u8, + 107u8, 184u8, 102u8, 185u8, 84u8, 160u8, 73u8, 12u8, 242u8, + 203u8, 233u8, 79u8, 117u8, + ], + ) + } + #[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)`"] + pub fn freeze_asset( + &self, + id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "freeze_asset", + FreezeAsset { id }, + [ + 208u8, 101u8, 0u8, 73u8, 41u8, 192u8, 227u8, 44u8, 189u8, + 231u8, 40u8, 124u8, 189u8, 147u8, 136u8, 210u8, 76u8, 32u8, + 249u8, 183u8, 68u8, 58u8, 150u8, 136u8, 192u8, 47u8, 173u8, + 178u8, 225u8, 84u8, 110u8, 1u8, + ], + ) + } + #[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)`"] + pub fn thaw_asset( + &self, + id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "thaw_asset", + ThawAsset { id }, + [ + 18u8, 198u8, 141u8, 158u8, 182u8, 167u8, 160u8, 227u8, 20u8, + 74u8, 80u8, 164u8, 89u8, 46u8, 168u8, 139u8, 251u8, 83u8, + 155u8, 91u8, 91u8, 46u8, 205u8, 55u8, 171u8, 175u8, 167u8, + 188u8, 116u8, 155u8, 79u8, 117u8, + ], + ) + } + #[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)`"] + pub fn transfer_ownership( + &self, + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "transfer_ownership", + TransferOwnership { id, owner }, + [ + 170u8, 94u8, 202u8, 42u8, 41u8, 156u8, 250u8, 63u8, 113u8, + 110u8, 166u8, 129u8, 90u8, 233u8, 35u8, 87u8, 123u8, 172u8, + 65u8, 108u8, 170u8, 237u8, 252u8, 70u8, 186u8, 12u8, 58u8, + 6u8, 173u8, 87u8, 161u8, 211u8, + ], + ) + } + #[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)`"] + pub fn set_team( + &self, + 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, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "set_team", + SetTeam { + id, + issuer, + admin, + freezer, + }, + [ + 30u8, 60u8, 182u8, 252u8, 64u8, 97u8, 6u8, 80u8, 159u8, + 204u8, 14u8, 227u8, 54u8, 20u8, 172u8, 100u8, 77u8, 59u8, + 164u8, 247u8, 122u8, 39u8, 129u8, 106u8, 87u8, 82u8, 77u8, + 165u8, 215u8, 232u8, 159u8, 29u8, + ], + ) + } + #[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)`"] + pub fn set_metadata( + &self, + id: ::core::primitive::u32, + name: ::std::vec::Vec<::core::primitive::u8>, + symbol: ::std::vec::Vec<::core::primitive::u8>, + decimals: ::core::primitive::u8, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "set_metadata", + SetMetadata { + id, + name, + symbol, + decimals, + }, + [ + 15u8, 184u8, 50u8, 46u8, 164u8, 27u8, 105u8, 186u8, 35u8, + 115u8, 194u8, 247u8, 74u8, 252u8, 139u8, 242u8, 108u8, 221u8, + 122u8, 15u8, 139u8, 74u8, 123u8, 17u8, 192u8, 138u8, 182u8, + 163u8, 77u8, 7u8, 124u8, 18u8, + ], + ) + } + #[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)`"] + pub fn clear_metadata( + &self, + id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "clear_metadata", + ClearMetadata { id }, + [ + 192u8, 41u8, 71u8, 183u8, 13u8, 128u8, 244u8, 255u8, 175u8, + 36u8, 99u8, 175u8, 15u8, 129u8, 228u8, 76u8, 107u8, 214u8, + 166u8, 116u8, 244u8, 139u8, 60u8, 31u8, 123u8, 61u8, 203u8, + 59u8, 213u8, 146u8, 116u8, 126u8, + ], + ) + } + #[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."] + pub fn force_set_metadata( + &self, + 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, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "force_set_metadata", + ForceSetMetadata { + id, + name, + symbol, + decimals, + is_frozen, + }, + [ + 7u8, 30u8, 55u8, 233u8, 217u8, 113u8, 196u8, 21u8, 29u8, + 122u8, 168u8, 225u8, 63u8, 104u8, 57u8, 78u8, 76u8, 145u8, + 121u8, 118u8, 91u8, 149u8, 87u8, 26u8, 26u8, 125u8, 44u8, + 241u8, 143u8, 138u8, 144u8, 8u8, + ], + ) + } + #[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)`"] + pub fn force_clear_metadata( + &self, + id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "force_clear_metadata", + ForceClearMetadata { id }, + [ + 71u8, 191u8, 101u8, 72u8, 188u8, 223u8, 215u8, 187u8, 200u8, + 206u8, 3u8, 42u8, 4u8, 62u8, 117u8, 106u8, 26u8, 2u8, 68u8, + 202u8, 162u8, 142u8, 172u8, 123u8, 48u8, 196u8, 247u8, 89u8, + 147u8, 75u8, 84u8, 109u8, + ], + ) + } + #[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)`"] + pub fn force_asset_status( + &self, + 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, + >, + min_balance: ::core::primitive::u128, + is_sufficient: ::core::primitive::bool, + is_frozen: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "force_asset_status", + ForceAssetStatus { + id, + owner, + issuer, + admin, + freezer, + min_balance, + is_sufficient, + is_frozen, + }, + [ + 46u8, 229u8, 189u8, 83u8, 196u8, 180u8, 79u8, 77u8, 71u8, + 147u8, 77u8, 243u8, 99u8, 3u8, 205u8, 171u8, 129u8, 25u8, + 60u8, 10u8, 162u8, 50u8, 205u8, 231u8, 184u8, 75u8, 42u8, + 230u8, 48u8, 194u8, 236u8, 71u8, + ], + ) + } + #[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)`"] + pub fn approve_transfer( + &self, + id: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "approve_transfer", + ApproveTransfer { + id, + delegate, + amount, + }, + [ + 85u8, 79u8, 216u8, 233u8, 163u8, 169u8, 226u8, 111u8, 10u8, + 110u8, 33u8, 239u8, 248u8, 222u8, 84u8, 160u8, 80u8, 164u8, + 29u8, 88u8, 164u8, 252u8, 238u8, 212u8, 9u8, 230u8, 201u8, + 166u8, 192u8, 225u8, 94u8, 13u8, + ], + ) + } + #[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)`"] + pub fn cancel_approval( + &self, + id: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "cancel_approval", + CancelApproval { id, delegate }, + [ + 120u8, 10u8, 77u8, 128u8, 1u8, 232u8, 42u8, 2u8, 87u8, 7u8, + 217u8, 51u8, 172u8, 13u8, 136u8, 176u8, 153u8, 128u8, 196u8, + 3u8, 190u8, 139u8, 219u8, 24u8, 35u8, 51u8, 241u8, 87u8, + 67u8, 49u8, 181u8, 203u8, + ], + ) + } + #[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)`"] + pub fn force_cancel_approval( + &self, + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "force_cancel_approval", + ForceCancelApproval { + id, + owner, + delegate, + }, + [ + 192u8, 196u8, 91u8, 219u8, 20u8, 150u8, 220u8, 79u8, 81u8, + 151u8, 104u8, 109u8, 21u8, 87u8, 158u8, 169u8, 208u8, 4u8, + 241u8, 109u8, 230u8, 166u8, 237u8, 164u8, 90u8, 54u8, 14u8, + 51u8, 84u8, 239u8, 178u8, 202u8, + ], + ) + } + #[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)`"] + pub fn transfer_approved( + &self, + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + destination: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "transfer_approved", + TransferApproved { + id, + owner, + destination, + amount, + }, + [ + 151u8, 228u8, 207u8, 182u8, 179u8, 212u8, 208u8, 3u8, 207u8, + 181u8, 193u8, 164u8, 74u8, 160u8, 81u8, 191u8, 42u8, 227u8, + 56u8, 238u8, 50u8, 75u8, 8u8, 50u8, 131u8, 83u8, 152u8, 20u8, + 141u8, 39u8, 29u8, 205u8, + ], + ) + } + #[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."] + pub fn touch( + &self, + id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "touch", + Touch { id }, + [ + 114u8, 149u8, 179u8, 168u8, 115u8, 117u8, 32u8, 50u8, 39u8, + 77u8, 148u8, 238u8, 123u8, 96u8, 193u8, 174u8, 113u8, 141u8, + 34u8, 228u8, 228u8, 214u8, 71u8, 111u8, 55u8, 126u8, 103u8, + 181u8, 133u8, 77u8, 116u8, 105u8, + ], + ) + } + #[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."] + pub fn refund( + &self, + id: ::core::primitive::u32, + allow_burn: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Assets", + "refund", + Refund { id, allow_burn }, + [ + 20u8, 139u8, 248u8, 67u8, 123u8, 221u8, 7u8, 106u8, 239u8, + 156u8, 68u8, 59u8, 81u8, 184u8, 47u8, 188u8, 195u8, 227u8, + 75u8, 168u8, 126u8, 176u8, 91u8, 187u8, 30u8, 34u8, 24u8, + 223u8, 108u8, 101u8, 88u8, 83u8, + ], + ) + } + } + } + #[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_assets::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some asset class was created."] + pub struct Created { + pub asset_id: ::core::primitive::u32, + pub creator: ::subxt::utils::AccountId32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Created { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "Created"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some assets were issued."] + pub struct Issued { + pub asset_id: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Issued { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "Issued"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some assets were transferred."] + pub struct Transferred { + pub asset_id: ::core::primitive::u32, + pub from: ::subxt::utils::AccountId32, + pub to: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Transferred { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "Transferred"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some assets were destroyed."] + pub struct Burned { + pub asset_id: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + pub balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Burned { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "Burned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The management team changed."] + pub struct TeamChanged { + pub asset_id: ::core::primitive::u32, + pub issuer: ::subxt::utils::AccountId32, + pub admin: ::subxt::utils::AccountId32, + pub freezer: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for TeamChanged { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "TeamChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The owner changed."] + pub struct OwnerChanged { + pub asset_id: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for OwnerChanged { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "OwnerChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some account `who` was frozen."] + pub struct Frozen { + pub asset_id: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Frozen { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "Frozen"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some account `who` was thawed."] + pub struct Thawed { + pub asset_id: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Thawed { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "Thawed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some asset `asset_id` was frozen."] + pub struct AssetFrozen { + pub asset_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for AssetFrozen { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "AssetFrozen"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some asset `asset_id` was thawed."] + pub struct AssetThawed { + pub asset_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for AssetThawed { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "AssetThawed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Accounts were destroyed for given asset."] + pub struct AccountsDestroyed { + pub asset_id: ::core::primitive::u32, + pub accounts_destroyed: ::core::primitive::u32, + pub accounts_remaining: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for AccountsDestroyed { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "AccountsDestroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Approvals were destroyed for given asset."] + pub struct ApprovalsDestroyed { + pub asset_id: ::core::primitive::u32, + pub approvals_destroyed: ::core::primitive::u32, + pub approvals_remaining: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ApprovalsDestroyed { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "ApprovalsDestroyed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An asset class is in the process of being destroyed."] + pub struct DestructionStarted { + pub asset_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for DestructionStarted { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "DestructionStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An asset class was destroyed."] + pub struct Destroyed { + pub asset_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Destroyed { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "Destroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some asset class was force-created."] + pub struct ForceCreated { + pub asset_id: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ForceCreated { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "ForceCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New metadata has been set for an asset."] + pub struct MetadataSet { + pub asset_id: ::core::primitive::u32, + pub name: ::std::vec::Vec<::core::primitive::u8>, + pub symbol: ::std::vec::Vec<::core::primitive::u8>, + pub decimals: ::core::primitive::u8, + pub is_frozen: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for MetadataSet { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "MetadataSet"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Metadata has been cleared for an asset."] + pub struct MetadataCleared { + pub asset_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for MetadataCleared { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "MetadataCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "(Additional) funds have been approved for transfer to a destination account."] + pub struct ApprovedTransfer { + pub asset_id: ::core::primitive::u32, + pub source: ::subxt::utils::AccountId32, + pub delegate: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for ApprovedTransfer { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "ApprovedTransfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An approval for account `delegate` was cancelled by `owner`."] + pub struct ApprovalCancelled { + pub asset_id: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + pub delegate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ApprovalCancelled { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "ApprovalCancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"] + #[doc = "the approved `delegate`."] + pub struct TransferredApproved { + pub asset_id: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + pub delegate: ::subxt::utils::AccountId32, + pub destination: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TransferredApproved { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "TransferredApproved"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An asset has had its attributes changed by the `Force` origin."] + pub struct AssetStatusChanged { + pub asset_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for AssetStatusChanged { + const PALLET: &'static str = "Assets"; + const EVENT: &'static str = "AssetStatusChanged"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Details of an asset."] + pub fn asset( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_assets::types::AssetDetails< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Assets", + "Asset", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 251u8, 148u8, 82u8, 150u8, 66u8, 26u8, 46u8, 186u8, 60u8, + 59u8, 239u8, 190u8, 102u8, 156u8, 113u8, 175u8, 1u8, 117u8, + 147u8, 236u8, 114u8, 88u8, 49u8, 210u8, 165u8, 162u8, 201u8, + 230u8, 147u8, 141u8, 174u8, 221u8, + ], + ) + } + #[doc = " Details of an asset."] + pub fn asset_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_assets::types::AssetDetails< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Assets", + "Asset", + Vec::new(), + [ + 251u8, 148u8, 82u8, 150u8, 66u8, 26u8, 46u8, 186u8, 60u8, + 59u8, 239u8, 190u8, 102u8, 156u8, 113u8, 175u8, 1u8, 117u8, + 147u8, 236u8, 114u8, 88u8, 49u8, 210u8, 165u8, 162u8, 201u8, + 230u8, 147u8, 141u8, 174u8, 221u8, + ], + ) + } + #[doc = " The holdings of a specific account for a specific asset."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_assets::types::AssetAccount< + ::core::primitive::u128, + ::core::primitive::u128, + (), + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Assets" , "Account" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [109u8 , 245u8 , 93u8 , 133u8 , 206u8 , 68u8 , 94u8 , 233u8 , 29u8 , 113u8 , 245u8 , 201u8 , 241u8 , 2u8 , 200u8 , 179u8 , 37u8 , 199u8 , 128u8 , 243u8 , 49u8 , 50u8 , 122u8 , 139u8 , 135u8 , 48u8 , 201u8 , 109u8 , 195u8 , 38u8 , 205u8 , 32u8 ,]) + } + #[doc = " The holdings of a specific account for a specific asset."] + pub fn account_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_assets::types::AssetAccount< + ::core::primitive::u128, + ::core::primitive::u128, + (), + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Assets", + "Account", + Vec::new(), + [ + 109u8, 245u8, 93u8, 133u8, 206u8, 68u8, 94u8, 233u8, 29u8, + 113u8, 245u8, 201u8, 241u8, 2u8, 200u8, 179u8, 37u8, 199u8, + 128u8, 243u8, 49u8, 50u8, 122u8, 139u8, 135u8, 48u8, 201u8, + 109u8, 195u8, 38u8, 205u8, 32u8, + ], + ) + } + #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] + #[doc = " is the amount of `T::Currency` reserved for storing this."] + #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] + pub fn approvals( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _2: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_assets::types::Approval< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Assets" , "Approvals" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_2 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [210u8 , 147u8 , 203u8 , 49u8 , 232u8 , 215u8 , 116u8 , 154u8 , 43u8 , 154u8 , 69u8 , 159u8 , 241u8 , 28u8 , 238u8 , 101u8 , 108u8 , 162u8 , 242u8 , 121u8 , 138u8 , 164u8 , 217u8 , 243u8 , 72u8 , 173u8 , 75u8 , 109u8 , 194u8 , 9u8 , 196u8 , 163u8 ,]) + } + #[doc = " Approved balance transfers. First balance is the amount approved for transfer. Second"] + #[doc = " is the amount of `T::Currency` reserved for storing this."] + #[doc = " First key is the asset ID, second key is the owner and third key is the delegate."] + pub fn approvals_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_assets::types::Approval< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Assets", + "Approvals", + Vec::new(), + [ + 210u8, 147u8, 203u8, 49u8, 232u8, 215u8, 116u8, 154u8, 43u8, + 154u8, 69u8, 159u8, 241u8, 28u8, 238u8, 101u8, 108u8, 162u8, + 242u8, 121u8, 138u8, 164u8, 217u8, 243u8, 72u8, 173u8, 75u8, + 109u8, 194u8, 9u8, 196u8, 163u8, + ], + ) + } + #[doc = " Metadata of an asset."] + pub fn metadata( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_assets::types::AssetMetadata< + ::core::primitive::u128, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Assets", + "Metadata", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 80u8, 115u8, 155u8, 115u8, 136u8, 108u8, 82u8, 93u8, 65u8, + 130u8, 143u8, 228u8, 170u8, 234u8, 182u8, 170u8, 229u8, + 217u8, 168u8, 71u8, 81u8, 80u8, 16u8, 112u8, 209u8, 82u8, + 8u8, 165u8, 80u8, 137u8, 58u8, 170u8, + ], + ) + } + #[doc = " Metadata of an asset."] + pub fn metadata_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_assets::types::AssetMetadata< + ::core::primitive::u128, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Assets", + "Metadata", + Vec::new(), + [ + 80u8, 115u8, 155u8, 115u8, 136u8, 108u8, 82u8, 93u8, 65u8, + 130u8, 143u8, 228u8, 170u8, 234u8, 182u8, 170u8, 229u8, + 217u8, 168u8, 71u8, 81u8, 80u8, 16u8, 112u8, 209u8, 82u8, + 8u8, 165u8, 80u8, 137u8, 58u8, 170u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call."] + #[doc = ""] + #[doc = " Must be configured to result in a weight that makes each call fit in a block."] + pub fn remove_items_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Assets", + "RemoveItemsLimit", + [ + 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 basic amount of funds that must be reserved for an asset."] + pub fn asset_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Assets", + "AssetDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of funds that must be reserved for a non-provider asset account to be"] + #[doc = " maintained."] + pub fn asset_account_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Assets", + "AssetAccountDeposit", + [ + 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 basic amount of funds that must be reserved when adding metadata to your asset."] + pub fn metadata_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Assets", + "MetadataDepositBase", + [ + 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 additional funds that must be reserved for the number of bytes you store in your"] + #[doc = " metadata."] + pub fn metadata_deposit_per_byte( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Assets", + "MetadataDepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of funds that must be reserved when creating a new approval."] + pub fn approval_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Assets", + "ApprovalDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum length of a name or symbol stored on-chain."] + pub fn string_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Assets", + "StringLimit", + [ + 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 mmr { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Latest MMR Root hash."] + pub fn root_hash( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::H256>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Mmr", + "RootHash", + vec![], + [ + 182u8, 163u8, 37u8, 44u8, 2u8, 163u8, 57u8, 184u8, 97u8, + 55u8, 1u8, 116u8, 55u8, 169u8, 23u8, 221u8, 182u8, 5u8, + 174u8, 217u8, 111u8, 55u8, 180u8, 161u8, 69u8, 120u8, 212u8, + 73u8, 2u8, 1u8, 39u8, 224u8, + ], + ) + } + #[doc = " Current size of the MMR (number of leaves)."] + pub fn number_of_leaves( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Mmr", + "NumberOfLeaves", + vec![], + [ + 138u8, 124u8, 23u8, 186u8, 255u8, 231u8, 187u8, 122u8, 213u8, + 160u8, 29u8, 24u8, 88u8, 98u8, 171u8, 36u8, 195u8, 216u8, + 27u8, 190u8, 192u8, 152u8, 8u8, 13u8, 210u8, 232u8, 45u8, + 184u8, 240u8, 255u8, 156u8, 204u8, + ], + ) + } + #[doc = " Hashes of the nodes in the MMR."] + #[doc = ""] + #[doc = " Note this collection only contains MMR peaks, the inner nodes (and leaves)"] + #[doc = " are pruned and only stored in the Offchain DB."] + pub fn nodes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u64>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::H256>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Mmr", + "Nodes", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 188u8, 148u8, 126u8, 226u8, 142u8, 91u8, 61u8, 52u8, 213u8, + 36u8, 120u8, 232u8, 20u8, 11u8, 61u8, 1u8, 130u8, 155u8, + 81u8, 34u8, 153u8, 149u8, 210u8, 232u8, 113u8, 242u8, 249u8, + 8u8, 61u8, 51u8, 148u8, 98u8, + ], + ) + } + #[doc = " Hashes of the nodes in the MMR."] + #[doc = ""] + #[doc = " Note this collection only contains MMR peaks, the inner nodes (and leaves)"] + #[doc = " are pruned and only stored in the Offchain DB."] + pub fn nodes_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::H256>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Mmr", + "Nodes", + Vec::new(), + [ + 188u8, 148u8, 126u8, 226u8, 142u8, 91u8, 61u8, 52u8, 213u8, + 36u8, 120u8, 232u8, 20u8, 11u8, 61u8, 1u8, 130u8, 155u8, + 81u8, 34u8, 153u8, 149u8, 210u8, 232u8, 113u8, 242u8, 249u8, + 8u8, 61u8, 51u8, 148u8, 98u8, + ], + ) + } + } + } + } + pub mod lottery { + 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 BuyTicket { + pub call: + ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetCalls { + pub calls: + ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct StartLottery { + pub price: ::core::primitive::u128, + pub length: ::core::primitive::u32, + pub delay: ::core::primitive::u32, + pub repeat: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct StopRepeat; + pub struct TransactionApi; + impl TransactionApi { + #[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."] + pub fn buy_ticket( + &self, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Lottery", + "buy_ticket", + BuyTicket { + call: ::std::boxed::Box::new(call), + }, + [ + 58u8, 43u8, 142u8, 199u8, 19u8, 122u8, 57u8, 118u8, 21u8, + 22u8, 168u8, 133u8, 161u8, 83u8, 30u8, 152u8, 46u8, 160u8, + 119u8, 240u8, 126u8, 169u8, 188u8, 114u8, 233u8, 161u8, + 187u8, 131u8, 150u8, 212u8, 9u8, 195u8, + ], + ) + } + #[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."] + pub fn set_calls( + &self, + calls: ::std::vec::Vec< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Lottery", + "set_calls", + SetCalls { calls }, + [ + 21u8, 51u8, 23u8, 152u8, 104u8, 152u8, 150u8, 49u8, 234u8, + 17u8, 151u8, 103u8, 37u8, 62u8, 234u8, 171u8, 208u8, 9u8, + 19u8, 42u8, 93u8, 182u8, 102u8, 73u8, 54u8, 45u8, 68u8, + 248u8, 211u8, 16u8, 122u8, 51u8, + ], + ) + } + #[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."] + pub fn start_lottery( + &self, + price: ::core::primitive::u128, + length: ::core::primitive::u32, + delay: ::core::primitive::u32, + repeat: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Lottery", + "start_lottery", + StartLottery { + price, + length, + delay, + repeat, + }, + [ + 4u8, 194u8, 105u8, 75u8, 63u8, 167u8, 224u8, 4u8, 163u8, + 148u8, 96u8, 248u8, 21u8, 190u8, 168u8, 101u8, 207u8, 152u8, + 169u8, 203u8, 180u8, 103u8, 137u8, 151u8, 166u8, 187u8, + 232u8, 219u8, 22u8, 89u8, 206u8, 194u8, + ], + ) + } + #[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`."] + pub fn stop_repeat(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Lottery", + "stop_repeat", + StopRepeat {}, + [ + 28u8, 43u8, 248u8, 131u8, 209u8, 84u8, 75u8, 42u8, 22u8, + 180u8, 126u8, 235u8, 116u8, 241u8, 167u8, 161u8, 25u8, 0u8, + 22u8, 207u8, 167u8, 191u8, 89u8, 180u8, 54u8, 25u8, 14u8, + 35u8, 90u8, 244u8, 5u8, 241u8, + ], + ) + } + } + } + #[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_lottery::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A lottery has been started!"] + pub struct LotteryStarted; + impl ::subxt::events::StaticEvent for LotteryStarted { + const PALLET: &'static str = "Lottery"; + const EVENT: &'static str = "LotteryStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new set of calls have been set!"] + pub struct CallsUpdated; + impl ::subxt::events::StaticEvent for CallsUpdated { + const PALLET: &'static str = "Lottery"; + const EVENT: &'static str = "CallsUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A winner has been chosen!"] + pub struct Winner { + pub winner: ::subxt::utils::AccountId32, + pub lottery_balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Winner { + const PALLET: &'static str = "Lottery"; + const EVENT: &'static str = "Winner"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A ticket has been bought!"] + pub struct TicketBought { + pub who: ::subxt::utils::AccountId32, + pub call_index: (::core::primitive::u8, ::core::primitive::u8), + } + impl ::subxt::events::StaticEvent for TicketBought { + const PALLET: &'static str = "Lottery"; + const EVENT: &'static str = "TicketBought"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn lottery_index( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Lottery", + "LotteryIndex", + vec![], + [ + 79u8, 74u8, 246u8, 125u8, 89u8, 183u8, 60u8, 48u8, 34u8, + 211u8, 236u8, 222u8, 23u8, 158u8, 184u8, 140u8, 200u8, 80u8, + 232u8, 5u8, 240u8, 218u8, 70u8, 221u8, 219u8, 1u8, 3u8, + 203u8, 77u8, 3u8, 128u8, 89u8, + ], + ) + } + #[doc = " The configuration for the current lottery."] + pub fn lottery( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_lottery::LotteryConfig< + ::core::primitive::u32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Lottery", + "Lottery", + vec![], + [ + 46u8, 51u8, 122u8, 129u8, 145u8, 2u8, 183u8, 42u8, 184u8, + 167u8, 30u8, 73u8, 175u8, 49u8, 109u8, 166u8, 188u8, 151u8, + 171u8, 8u8, 186u8, 208u8, 227u8, 19u8, 252u8, 141u8, 56u8, + 89u8, 229u8, 139u8, 247u8, 117u8, + ], + ) + } + #[doc = " Users who have purchased a ticket. (Lottery Index, Tickets Purchased)"] + pub fn participants( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u8, + ::core::primitive::u8, + )>, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Lottery", + "Participants", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 129u8, 243u8, 95u8, 30u8, 228u8, 183u8, 238u8, 141u8, 77u8, + 8u8, 166u8, 197u8, 168u8, 93u8, 27u8, 40u8, 38u8, 22u8, + 188u8, 55u8, 58u8, 154u8, 122u8, 122u8, 76u8, 57u8, 183u8, + 210u8, 254u8, 185u8, 239u8, 242u8, + ], + ) + } + #[doc = " Users who have purchased a ticket. (Lottery Index, Tickets Purchased)"] + pub fn participants_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u8, + ::core::primitive::u8, + )>, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Lottery", + "Participants", + Vec::new(), + [ + 129u8, 243u8, 95u8, 30u8, 228u8, 183u8, 238u8, 141u8, 77u8, + 8u8, 166u8, 197u8, 168u8, 93u8, 27u8, 40u8, 38u8, 22u8, + 188u8, 55u8, 58u8, 154u8, 122u8, 122u8, 76u8, 57u8, 183u8, + 210u8, 254u8, 185u8, 239u8, 242u8, + ], + ) + } + #[doc = " Total number of tickets sold."] + pub fn tickets_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Lottery", + "TicketsCount", + vec![], + [ + 112u8, 164u8, 111u8, 40u8, 98u8, 247u8, 174u8, 117u8, 198u8, + 56u8, 109u8, 205u8, 38u8, 175u8, 118u8, 75u8, 136u8, 86u8, + 95u8, 200u8, 233u8, 199u8, 195u8, 198u8, 161u8, 64u8, 199u8, + 141u8, 125u8, 42u8, 187u8, 40u8, + ], + ) + } + #[doc = " Each ticket's owner."] + #[doc = ""] + #[doc = " May have residual storage from previous lotteries. Use `TicketsCount` to see which ones"] + #[doc = " are actually valid ticket mappings."] + pub fn tickets( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Lottery", + "Tickets", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 146u8, 73u8, 177u8, 170u8, 239u8, 27u8, 41u8, 142u8, 212u8, + 251u8, 124u8, 174u8, 237u8, 255u8, 133u8, 237u8, 34u8, 249u8, + 246u8, 3u8, 153u8, 156u8, 80u8, 244u8, 65u8, 26u8, 106u8, + 234u8, 150u8, 75u8, 93u8, 175u8, + ], + ) + } + #[doc = " Each ticket's owner."] + #[doc = ""] + #[doc = " May have residual storage from previous lotteries. Use `TicketsCount` to see which ones"] + #[doc = " are actually valid ticket mappings."] + pub fn tickets_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Lottery", + "Tickets", + Vec::new(), + [ + 146u8, 73u8, 177u8, 170u8, 239u8, 27u8, 41u8, 142u8, 212u8, + 251u8, 124u8, 174u8, 237u8, 255u8, 133u8, 237u8, 34u8, 249u8, + 246u8, 3u8, 153u8, 156u8, 80u8, 244u8, 65u8, 26u8, 106u8, + 234u8, 150u8, 75u8, 93u8, 175u8, + ], + ) + } + #[doc = " The calls stored in this pallet to be used in an active lottery if configured"] + #[doc = " by `Config::ValidateCall`."] + pub fn call_indices( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u8, + ::core::primitive::u8, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Lottery", + "CallIndices", + vec![], + [ + 244u8, 89u8, 150u8, 164u8, 63u8, 13u8, 41u8, 8u8, 140u8, + 211u8, 163u8, 176u8, 239u8, 120u8, 247u8, 160u8, 131u8, + 116u8, 13u8, 152u8, 154u8, 1u8, 128u8, 128u8, 182u8, 246u8, + 45u8, 106u8, 88u8, 6u8, 135u8, 158u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The Lottery's pallet id"] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::PalletId, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Lottery", + "PalletId", + [ + 139u8, 109u8, 228u8, 151u8, 252u8, 32u8, 130u8, 69u8, 112u8, + 154u8, 174u8, 45u8, 83u8, 245u8, 51u8, 132u8, 173u8, 5u8, + 186u8, 24u8, 243u8, 9u8, 12u8, 214u8, 80u8, 74u8, 69u8, + 189u8, 30u8, 94u8, 22u8, 39u8, + ], + ) + } + #[doc = " The max number of calls available in a single lottery."] + pub fn max_calls( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Lottery", + "MaxCalls", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Number of time we should try to generate a random number that has no modulo bias."] + #[doc = " The larger this number, the more potential computation is used for picking the winner,"] + #[doc = " but also the more likely that the chosen winner is done fairly."] + pub fn max_generate_random( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Lottery", + "MaxGenerateRandom", + [ + 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 nis { + 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 PlaceBid { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub duration: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RetractBid { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub duration: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct FundDeficit; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ThawPrivate { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub maybe_proportion: ::core::option::Option< + runtime_types::sp_arithmetic::per_things::Perquintill, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ThawCommunal { + #[codec(compact)] + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Communify { + #[codec(compact)] + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Privatize { + #[codec(compact)] + pub index: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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)."] + pub fn place_bid( + &self, + amount: ::core::primitive::u128, + duration: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nis", + "place_bid", + PlaceBid { amount, duration }, + [ + 197u8, 16u8, 24u8, 59u8, 72u8, 162u8, 72u8, 124u8, 149u8, + 28u8, 208u8, 47u8, 208u8, 0u8, 110u8, 122u8, 32u8, 225u8, + 29u8, 21u8, 144u8, 75u8, 138u8, 188u8, 213u8, 188u8, 34u8, + 231u8, 52u8, 191u8, 210u8, 158u8, + ], + ) + } + #[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."] + pub fn retract_bid( + &self, + amount: ::core::primitive::u128, + duration: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nis", + "retract_bid", + RetractBid { amount, duration }, + [ + 139u8, 141u8, 178u8, 24u8, 250u8, 206u8, 70u8, 51u8, 249u8, + 82u8, 172u8, 68u8, 157u8, 50u8, 110u8, 233u8, 163u8, 46u8, + 204u8, 54u8, 154u8, 20u8, 18u8, 205u8, 137u8, 95u8, 187u8, + 74u8, 250u8, 161u8, 220u8, 22u8, + ], + ) + } + #[doc = "Ensure we have sufficient funding for all potential payouts."] + #[doc = ""] + #[doc = "- `origin`: Must be accepted by `FundOrigin`."] + pub fn fund_deficit(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nis", + "fund_deficit", + FundDeficit {}, + [ + 70u8, 45u8, 215u8, 5u8, 225u8, 2u8, 127u8, 191u8, 36u8, + 210u8, 1u8, 35u8, 22u8, 17u8, 187u8, 237u8, 241u8, 245u8, + 168u8, 204u8, 112u8, 25u8, 55u8, 124u8, 12u8, 26u8, 149u8, + 7u8, 26u8, 248u8, 190u8, 125u8, + ], + ) + } + #[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."] + pub fn thaw_private( + &self, + index: ::core::primitive::u32, + maybe_proportion: ::core::option::Option< + runtime_types::sp_arithmetic::per_things::Perquintill, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nis", + "thaw_private", + ThawPrivate { + index, + maybe_proportion, + }, + [ + 18u8, 152u8, 64u8, 60u8, 106u8, 168u8, 52u8, 210u8, 254u8, + 246u8, 221u8, 41u8, 216u8, 11u8, 38u8, 22u8, 163u8, 199u8, + 94u8, 181u8, 171u8, 99u8, 113u8, 27u8, 73u8, 187u8, 255u8, + 106u8, 241u8, 83u8, 102u8, 253u8, + ], + ) + } + #[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."] + pub fn thaw_communal( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nis", + "thaw_communal", + ThawCommunal { index }, + [ + 125u8, 60u8, 128u8, 54u8, 205u8, 231u8, 236u8, 247u8, 232u8, + 152u8, 121u8, 17u8, 87u8, 97u8, 235u8, 115u8, 111u8, 156u8, + 181u8, 98u8, 240u8, 232u8, 54u8, 130u8, 58u8, 170u8, 118u8, + 16u8, 33u8, 65u8, 23u8, 36u8, + ], + ) + } + #[doc = "Make a private receipt communal and create fungible counterparts for its owner."] + pub fn communify( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nis", + "communify", + Communify { index }, + [ + 88u8, 164u8, 59u8, 88u8, 62u8, 109u8, 248u8, 93u8, 253u8, + 219u8, 115u8, 13u8, 135u8, 248u8, 134u8, 154u8, 160u8, 50u8, + 233u8, 34u8, 50u8, 186u8, 70u8, 81u8, 125u8, 222u8, 162u8, + 150u8, 113u8, 203u8, 91u8, 50u8, + ], + ) + } + #[doc = "Make a communal receipt private and burn fungible counterparts from its owner."] + pub fn privatize( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nis", + "privatize", + Privatize { index }, + [ + 145u8, 182u8, 44u8, 183u8, 91u8, 5u8, 217u8, 200u8, 111u8, + 211u8, 139u8, 10u8, 143u8, 255u8, 10u8, 57u8, 145u8, 64u8, + 18u8, 190u8, 199u8, 164u8, 177u8, 131u8, 7u8, 30u8, 13u8, + 181u8, 59u8, 174u8, 88u8, 36u8, + ], + ) + } + } + } + #[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_nis::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bid was successfully placed."] + pub struct BidPlaced { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub duration: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for BidPlaced { + const PALLET: &'static str = "Nis"; + const EVENT: &'static str = "BidPlaced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bid was successfully removed (before being accepted)."] + pub struct BidRetracted { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub duration: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for BidRetracted { + const PALLET: &'static str = "Nis"; + const EVENT: &'static str = "BidRetracted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bid was dropped from a queue because of another, more substantial, bid was present."] + pub struct BidDropped { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub duration: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for BidDropped { + const PALLET: &'static str = "Nis"; + const EVENT: &'static str = "BidDropped"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A bid was accepted. The balance may not be released until expiry."] + pub struct Issued { + pub index: ::core::primitive::u32, + pub expiry: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub proportion: runtime_types::sp_arithmetic::per_things::Perquintill, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Issued { + const PALLET: &'static str = "Nis"; + const EVENT: &'static str = "Issued"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An receipt has been (at least partially) thawed."] + pub struct Thawed { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub proportion: runtime_types::sp_arithmetic::per_things::Perquintill, + pub amount: ::core::primitive::u128, + pub dropped: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for Thawed { + const PALLET: &'static str = "Nis"; + const EVENT: &'static str = "Thawed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An automatic funding of the deficit was made."] + pub struct Funded { + pub deficit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Funded { + const PALLET: &'static str = "Nis"; + const EVENT: &'static str = "Funded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A receipt was transfered."] + pub struct Transferred { + pub from: ::subxt::utils::AccountId32, + pub to: ::subxt::utils::AccountId32, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Transferred { + const PALLET: &'static str = "Nis"; + const EVENT: &'static str = "Transferred"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The totals of items and balances within each queue. Saves a lot of storage reads in the"] + #[doc = " case of sparsely packed queues."] + #[doc = ""] + #[doc = " The vector is indexed by duration in `Period`s, offset by one, so information on the queue"] + #[doc = " whose duration is one `Period` would be storage `0`."] + pub fn queue_totals( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u128, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nis", + "QueueTotals", + vec![], + [ + 230u8, 24u8, 0u8, 151u8, 63u8, 26u8, 180u8, 81u8, 179u8, + 26u8, 176u8, 46u8, 2u8, 91u8, 250u8, 210u8, 212u8, 27u8, + 47u8, 228u8, 2u8, 51u8, 64u8, 7u8, 218u8, 130u8, 210u8, 7u8, + 92u8, 102u8, 184u8, 227u8, + ], + ) + } + #[doc = " The queues of bids. Indexed by duration (in `Period`s)."] + pub fn queues( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_nis::pallet::Bid< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nis", + "Queues", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 11u8, 50u8, 58u8, 232u8, 240u8, 243u8, 90u8, 103u8, 252u8, + 238u8, 15u8, 75u8, 189u8, 241u8, 231u8, 50u8, 194u8, 134u8, + 162u8, 220u8, 97u8, 217u8, 215u8, 135u8, 138u8, 189u8, 167u8, + 15u8, 162u8, 247u8, 6u8, 74u8, + ], + ) + } + #[doc = " The queues of bids. Indexed by duration (in `Period`s)."] + pub fn queues_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_nis::pallet::Bid< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nis", + "Queues", + Vec::new(), + [ + 11u8, 50u8, 58u8, 232u8, 240u8, 243u8, 90u8, 103u8, 252u8, + 238u8, 15u8, 75u8, 189u8, 241u8, 231u8, 50u8, 194u8, 134u8, + 162u8, 220u8, 97u8, 217u8, 215u8, 135u8, 138u8, 189u8, 167u8, + 15u8, 162u8, 247u8, 6u8, 74u8, + ], + ) + } + #[doc = " Summary information over the general state."] + pub fn summary( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nis::pallet::SummaryRecord< + ::core::primitive::u32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nis", + "Summary", + vec![], + [ + 34u8, 27u8, 67u8, 146u8, 199u8, 150u8, 63u8, 31u8, 117u8, + 228u8, 20u8, 73u8, 110u8, 73u8, 49u8, 128u8, 154u8, 222u8, + 20u8, 44u8, 240u8, 154u8, 199u8, 73u8, 87u8, 160u8, 165u8, + 14u8, 53u8, 173u8, 90u8, 197u8, + ], + ) + } + #[doc = " The currently outstanding receipts, indexed according to the order of creation."] + pub fn receipts( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nis::pallet::ReceiptRecord< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nis", + "Receipts", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 133u8, 81u8, 13u8, 58u8, 124u8, 55u8, 176u8, 92u8, 245u8, + 46u8, 131u8, 139u8, 226u8, 81u8, 201u8, 103u8, 79u8, 8u8, + 166u8, 161u8, 42u8, 226u8, 247u8, 125u8, 226u8, 219u8, 82u8, + 43u8, 165u8, 19u8, 56u8, 172u8, + ], + ) + } + #[doc = " The currently outstanding receipts, indexed according to the order of creation."] + pub fn receipts_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nis::pallet::ReceiptRecord< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nis", + "Receipts", + Vec::new(), + [ + 133u8, 81u8, 13u8, 58u8, 124u8, 55u8, 176u8, 92u8, 245u8, + 46u8, 131u8, 139u8, 226u8, 81u8, 201u8, 103u8, 79u8, 8u8, + 166u8, 161u8, 42u8, 226u8, 247u8, 125u8, 226u8, 219u8, 82u8, + 43u8, 165u8, 19u8, 56u8, 172u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The treasury's pallet id, used for deriving its sovereign account ID."] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::PalletId, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "PalletId", + [ + 139u8, 109u8, 228u8, 151u8, 252u8, 32u8, 130u8, 69u8, 112u8, + 154u8, 174u8, 45u8, 83u8, 245u8, 51u8, 132u8, 173u8, 5u8, + 186u8, 24u8, 243u8, 9u8, 12u8, 214u8, 80u8, 74u8, 69u8, + 189u8, 30u8, 94u8, 22u8, 39u8, + ], + ) + } + #[doc = " Number of duration queues in total. This sets the maximum duration supported, which is"] + #[doc = " this value multiplied by `Period`."] + pub fn queue_count( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "QueueCount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Maximum number of items that may be in each duration queue."] + #[doc = ""] + #[doc = " Must be larger than zero."] + pub fn max_queue_len( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "MaxQueueLen", + [ + 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 = " Portion of the queue which is free from ordering and just a FIFO."] + #[doc = ""] + #[doc = " Must be no greater than `MaxQueueLen`."] + pub fn fifo_queue_len( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "FifoQueueLen", + [ + 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 base period for the duration queues. This is the common multiple across all"] + #[doc = " supported freezing durations that can be bid upon."] + pub fn base_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "BasePeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The minimum amount of funds that may be placed in a bid. Note that this"] + #[doc = " does not actually limit the amount which may be represented in a receipt since bids may"] + #[doc = " be split up by the system."] + #[doc = ""] + #[doc = " It should be at least big enough to ensure that there is no possible storage spam attack"] + #[doc = " or queue-filling attack."] + pub fn min_bid( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "MinBid", + [ + 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 minimum amount of funds which may intentionally be left remaining under a single"] + #[doc = " receipt."] + pub fn min_receipt( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Perquintill, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "MinReceipt", + [ + 6u8, 4u8, 24u8, 100u8, 110u8, 86u8, 4u8, 252u8, 70u8, 43u8, + 169u8, 124u8, 204u8, 27u8, 252u8, 91u8, 99u8, 13u8, 149u8, + 202u8, 65u8, 211u8, 125u8, 108u8, 127u8, 4u8, 146u8, 163u8, + 41u8, 193u8, 25u8, 103u8, + ], + ) + } + #[doc = " The number of blocks between consecutive attempts to dequeue bids and create receipts."] + #[doc = ""] + #[doc = " A larger value results in fewer storage hits each block, but a slower period to get to"] + #[doc = " the target."] + pub fn intake_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "IntakePeriod", + [ + 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 amount of bids that can consolidated into receipts in a single intake. A"] + #[doc = " larger value here means less of the block available for transactions should there be a"] + #[doc = " glut of bids."] + pub fn max_intake_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_weights::weight_v2::Weight, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "MaxIntakeWeight", + [ + 206u8, 61u8, 253u8, 247u8, 163u8, 40u8, 161u8, 52u8, 134u8, + 140u8, 206u8, 83u8, 44u8, 166u8, 226u8, 115u8, 181u8, 14u8, + 227u8, 130u8, 210u8, 32u8, 85u8, 29u8, 230u8, 97u8, 130u8, + 165u8, 147u8, 134u8, 106u8, 76u8, + ], + ) + } + #[doc = " The maximum proportion which may be thawed and the period over which it is reset."] + pub fn thaw_throttle( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_arithmetic::per_things::Perquintill, + ::core::primitive::u32, + )>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "ThawThrottle", + [ + 186u8, 73u8, 125u8, 166u8, 127u8, 250u8, 1u8, 100u8, 253u8, + 174u8, 176u8, 185u8, 210u8, 229u8, 218u8, 53u8, 27u8, 72u8, + 79u8, 130u8, 87u8, 138u8, 50u8, 139u8, 205u8, 79u8, 190u8, + 58u8, 140u8, 68u8, 70u8, 16u8, + ], + ) + } + #[doc = " The name for the reserve ID."] + pub fn reserve_id( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<[::core::primitive::u8; 8usize]>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nis", + "ReserveId", + [ + 224u8, 197u8, 247u8, 125u8, 62u8, 180u8, 69u8, 91u8, 226u8, + 36u8, 82u8, 148u8, 70u8, 147u8, 209u8, 40u8, 210u8, 229u8, + 181u8, 191u8, 170u8, 205u8, 138u8, 97u8, 127u8, 59u8, 124u8, + 244u8, 252u8, 30u8, 213u8, 179u8, + ], + ) + } + } + } + } + pub mod uniques { + 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 Create { + pub collection: ::core::primitive::u32, + pub admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceCreate { + pub collection: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub free_holding: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Destroy { + pub collection: ::core::primitive::u32, + pub witness: runtime_types::pallet_uniques::types::DestroyWitness, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Mint { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Burn { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub check_owner: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Transfer { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Redeposit { + pub collection: ::core::primitive::u32, + pub items: ::std::vec::Vec<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Freeze { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Thaw { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct FreezeCollection { + pub collection: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ThawCollection { + pub collection: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransferOwnership { + pub collection: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetTeam { + pub collection: ::core::primitive::u32, + pub issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ApproveTransfer { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelApproval { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub maybe_check_delegate: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceItemStatus { + pub collection: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub free_holding: ::core::primitive::bool, + pub is_frozen: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetAttribute { + pub collection: ::core::primitive::u32, + pub maybe_item: ::core::option::Option<::core::primitive::u32>, + pub key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub value: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearAttribute { + pub collection: ::core::primitive::u32, + pub maybe_item: ::core::option::Option<::core::primitive::u32>, + pub key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetMetadata { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub is_frozen: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearMetadata { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetCollectionMetadata { + pub collection: ::core::primitive::u32, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub is_frozen: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearCollectionMetadata { + pub collection: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetAcceptOwnership { + pub maybe_collection: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetCollectionMaxSupply { + pub collection: ::core::primitive::u32, + pub max_supply: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetPrice { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub price: ::core::option::Option<::core::primitive::u128>, + pub whitelisted_buyer: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BuyItem { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub bid_price: ::core::primitive::u128, + } + pub struct TransactionApi; + impl TransactionApi { + #[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)`"] + pub fn create( + &self, + collection: ::core::primitive::u32, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "create", + Create { collection, admin }, + [ + 250u8, 79u8, 237u8, 220u8, 143u8, 6u8, 150u8, 213u8, 251u8, + 95u8, 81u8, 65u8, 94u8, 176u8, 218u8, 190u8, 103u8, 116u8, + 61u8, 188u8, 31u8, 180u8, 109u8, 209u8, 140u8, 102u8, 247u8, + 41u8, 12u8, 21u8, 143u8, 162u8, + ], + ) + } + #[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)`"] + pub fn force_create( + &self, + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + free_holding: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "force_create", + ForceCreate { + collection, + owner, + free_holding, + }, + [ + 128u8, 35u8, 126u8, 101u8, 171u8, 131u8, 36u8, 84u8, 196u8, + 235u8, 243u8, 21u8, 43u8, 160u8, 101u8, 203u8, 58u8, 103u8, + 236u8, 159u8, 217u8, 124u8, 94u8, 135u8, 37u8, 42u8, 159u8, + 204u8, 163u8, 106u8, 86u8, 97u8, + ], + ) + } + #[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`"] + pub fn destroy( + &self, + collection: ::core::primitive::u32, + witness: runtime_types::pallet_uniques::types::DestroyWitness, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "destroy", + Destroy { + collection, + witness, + }, + [ + 194u8, 219u8, 14u8, 11u8, 254u8, 25u8, 217u8, 157u8, 117u8, + 236u8, 144u8, 148u8, 151u8, 141u8, 40u8, 60u8, 243u8, 241u8, + 140u8, 184u8, 45u8, 153u8, 33u8, 177u8, 248u8, 79u8, 67u8, + 249u8, 47u8, 244u8, 198u8, 138u8, + ], + ) + } + #[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)`"] + pub fn mint( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "mint", + Mint { + collection, + item, + owner, + }, + [ + 55u8, 248u8, 214u8, 184u8, 144u8, 201u8, 35u8, 97u8, 81u8, + 129u8, 159u8, 219u8, 46u8, 107u8, 174u8, 115u8, 73u8, 198u8, + 140u8, 172u8, 254u8, 157u8, 182u8, 0u8, 71u8, 237u8, 226u8, + 202u8, 136u8, 65u8, 174u8, 246u8, + ], + ) + } + #[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()`."] + pub fn burn( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + check_owner: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "burn", + Burn { + collection, + item, + check_owner, + }, + [ + 215u8, 138u8, 65u8, 126u8, 201u8, 135u8, 73u8, 194u8, 2u8, + 196u8, 229u8, 103u8, 140u8, 74u8, 21u8, 144u8, 111u8, 99u8, + 200u8, 210u8, 191u8, 108u8, 220u8, 56u8, 64u8, 89u8, 216u8, + 181u8, 175u8, 57u8, 41u8, 173u8, + ], + ) + } + #[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)`"] + pub fn transfer( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "transfer", + Transfer { + collection, + item, + dest, + }, + [ + 223u8, 90u8, 63u8, 140u8, 84u8, 72u8, 67u8, 84u8, 225u8, + 84u8, 4u8, 197u8, 17u8, 53u8, 151u8, 209u8, 163u8, 114u8, + 253u8, 225u8, 44u8, 171u8, 240u8, 8u8, 112u8, 8u8, 20u8, + 25u8, 224u8, 131u8, 175u8, 40u8, + ], + ) + } + #[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())`"] + pub fn redeposit( + &self, + collection: ::core::primitive::u32, + items: ::std::vec::Vec<::core::primitive::u32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "redeposit", + Redeposit { collection, items }, + [ + 81u8, 142u8, 143u8, 126u8, 12u8, 71u8, 139u8, 28u8, 170u8, + 219u8, 195u8, 22u8, 146u8, 69u8, 202u8, 7u8, 202u8, 113u8, + 93u8, 187u8, 113u8, 16u8, 8u8, 76u8, 3u8, 124u8, 248u8, 38u8, + 17u8, 232u8, 120u8, 145u8, + ], + ) + } + #[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)`"] + pub fn freeze( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "freeze", + Freeze { collection, item }, + [ + 71u8, 169u8, 3u8, 86u8, 145u8, 29u8, 181u8, 125u8, 226u8, + 255u8, 19u8, 202u8, 166u8, 193u8, 183u8, 145u8, 184u8, 67u8, + 80u8, 51u8, 241u8, 132u8, 226u8, 206u8, 24u8, 249u8, 189u8, + 1u8, 2u8, 65u8, 53u8, 114u8, + ], + ) + } + #[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)`"] + pub fn thaw( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "thaw", + Thaw { collection, item }, + [ + 17u8, 158u8, 130u8, 248u8, 75u8, 216u8, 110u8, 113u8, 113u8, + 243u8, 157u8, 40u8, 140u8, 41u8, 128u8, 255u8, 188u8, 7u8, + 135u8, 27u8, 251u8, 123u8, 192u8, 220u8, 149u8, 111u8, 215u8, + 26u8, 92u8, 188u8, 219u8, 90u8, + ], + ) + } + #[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)`"] + pub fn freeze_collection( + &self, + collection: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "freeze_collection", + FreezeCollection { collection }, + [ + 17u8, 75u8, 230u8, 120u8, 48u8, 46u8, 9u8, 118u8, 130u8, + 136u8, 249u8, 123u8, 110u8, 105u8, 145u8, 232u8, 243u8, 80u8, + 149u8, 59u8, 233u8, 151u8, 24u8, 140u8, 40u8, 60u8, 250u8, + 54u8, 25u8, 168u8, 147u8, 194u8, + ], + ) + } + #[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)`"] + pub fn thaw_collection( + &self, + collection: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "thaw_collection", + ThawCollection { collection }, + [ + 134u8, 69u8, 120u8, 153u8, 244u8, 7u8, 197u8, 28u8, 169u8, + 128u8, 183u8, 72u8, 46u8, 41u8, 47u8, 173u8, 251u8, 33u8, + 195u8, 245u8, 74u8, 156u8, 165u8, 9u8, 164u8, 32u8, 144u8, + 158u8, 58u8, 202u8, 69u8, 213u8, + ], + ) + } + #[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)`"] + pub fn transfer_ownership( + &self, + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "transfer_ownership", + TransferOwnership { collection, owner }, + [ + 217u8, 228u8, 51u8, 96u8, 179u8, 215u8, 163u8, 137u8, 231u8, + 239u8, 181u8, 113u8, 48u8, 144u8, 91u8, 140u8, 50u8, 175u8, + 81u8, 251u8, 128u8, 208u8, 38u8, 246u8, 103u8, 219u8, 65u8, + 179u8, 153u8, 4u8, 154u8, 181u8, + ], + ) + } + #[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)`"] + pub fn set_team( + &self, + 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, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "set_team", + SetTeam { + collection, + issuer, + admin, + freezer, + }, + [ + 34u8, 168u8, 70u8, 30u8, 29u8, 186u8, 131u8, 181u8, 132u8, + 63u8, 163u8, 22u8, 244u8, 41u8, 205u8, 234u8, 17u8, 238u8, + 54u8, 64u8, 158u8, 136u8, 50u8, 40u8, 242u8, 117u8, 111u8, + 211u8, 168u8, 156u8, 156u8, 27u8, + ], + ) + } + #[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)`"] + pub fn approve_transfer( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "approve_transfer", + ApproveTransfer { + collection, + item, + delegate, + }, + [ + 101u8, 171u8, 204u8, 251u8, 223u8, 253u8, 213u8, 182u8, + 128u8, 86u8, 244u8, 4u8, 19u8, 173u8, 197u8, 93u8, 80u8, + 13u8, 234u8, 229u8, 47u8, 60u8, 100u8, 77u8, 112u8, 138u8, + 74u8, 178u8, 95u8, 244u8, 12u8, 52u8, + ], + ) + } + #[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)`"] + pub fn cancel_approval( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + maybe_check_delegate: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "cancel_approval", + CancelApproval { + collection, + item, + maybe_check_delegate, + }, + [ + 66u8, 69u8, 36u8, 135u8, 174u8, 24u8, 110u8, 166u8, 77u8, + 128u8, 3u8, 102u8, 186u8, 253u8, 130u8, 191u8, 2u8, 159u8, + 54u8, 217u8, 190u8, 45u8, 64u8, 54u8, 29u8, 196u8, 99u8, + 204u8, 74u8, 128u8, 143u8, 84u8, + ], + ) + } + #[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)`"] + pub fn force_item_status( + &self, + 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, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "force_item_status", + ForceItemStatus { + collection, + owner, + issuer, + admin, + freezer, + free_holding, + is_frozen, + }, + [ + 80u8, 205u8, 188u8, 92u8, 184u8, 129u8, 222u8, 36u8, 205u8, + 131u8, 248u8, 126u8, 56u8, 209u8, 7u8, 109u8, 105u8, 176u8, + 173u8, 65u8, 75u8, 130u8, 117u8, 50u8, 124u8, 27u8, 233u8, + 146u8, 5u8, 114u8, 226u8, 230u8, + ], + ) + } + #[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)`"] + pub fn set_attribute( + &self, + collection: ::core::primitive::u32, + maybe_item: ::core::option::Option<::core::primitive::u32>, + key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + value: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "set_attribute", + SetAttribute { + collection, + maybe_item, + key, + value, + }, + [ + 227u8, 229u8, 21u8, 73u8, 122u8, 15u8, 156u8, 240u8, 210u8, + 78u8, 83u8, 101u8, 42u8, 92u8, 160u8, 235u8, 225u8, 150u8, + 221u8, 160u8, 204u8, 221u8, 9u8, 175u8, 122u8, 145u8, 169u8, + 28u8, 71u8, 148u8, 188u8, 20u8, + ], + ) + } + #[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)`"] + pub fn clear_attribute( + &self, + collection: ::core::primitive::u32, + maybe_item: ::core::option::Option<::core::primitive::u32>, + key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "clear_attribute", + ClearAttribute { + collection, + maybe_item, + key, + }, + [ + 246u8, 34u8, 148u8, 125u8, 22u8, 119u8, 14u8, 109u8, 181u8, + 113u8, 246u8, 243u8, 83u8, 171u8, 77u8, 0u8, 162u8, 15u8, + 76u8, 250u8, 119u8, 186u8, 0u8, 176u8, 74u8, 207u8, 70u8, + 33u8, 218u8, 134u8, 239u8, 78u8, + ], + ) + } + #[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)`"] + pub fn set_metadata( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + is_frozen: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "set_metadata", + SetMetadata { + collection, + item, + data, + is_frozen, + }, + [ + 182u8, 1u8, 20u8, 121u8, 184u8, 169u8, 101u8, 195u8, 60u8, + 196u8, 77u8, 79u8, 207u8, 175u8, 109u8, 136u8, 214u8, 201u8, + 99u8, 32u8, 89u8, 8u8, 181u8, 182u8, 226u8, 166u8, 146u8, + 224u8, 48u8, 231u8, 146u8, 123u8, + ], + ) + } + #[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)`"] + pub fn clear_metadata( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "clear_metadata", + ClearMetadata { collection, item }, + [ + 113u8, 75u8, 211u8, 250u8, 129u8, 61u8, 231u8, 204u8, 141u8, + 151u8, 65u8, 108u8, 230u8, 68u8, 51u8, 165u8, 126u8, 211u8, + 51u8, 33u8, 9u8, 47u8, 50u8, 71u8, 123u8, 71u8, 43u8, 162u8, + 76u8, 1u8, 90u8, 222u8, + ], + ) + } + #[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)`"] + pub fn set_collection_metadata( + &self, + collection: ::core::primitive::u32, + data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + is_frozen: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "set_collection_metadata", + SetCollectionMetadata { + collection, + data, + is_frozen, + }, + [ + 98u8, 156u8, 235u8, 75u8, 88u8, 239u8, 86u8, 131u8, 2u8, + 226u8, 12u8, 122u8, 135u8, 145u8, 138u8, 220u8, 36u8, 120u8, + 21u8, 27u8, 222u8, 11u8, 99u8, 44u8, 250u8, 233u8, 219u8, + 65u8, 33u8, 152u8, 226u8, 51u8, + ], + ) + } + #[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)`"] + pub fn clear_collection_metadata( + &self, + collection: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "clear_collection_metadata", + ClearCollectionMetadata { collection }, + [ + 218u8, 108u8, 43u8, 96u8, 85u8, 130u8, 198u8, 167u8, 28u8, + 4u8, 151u8, 185u8, 162u8, 123u8, 120u8, 42u8, 72u8, 37u8, + 250u8, 135u8, 100u8, 37u8, 193u8, 232u8, 62u8, 91u8, 18u8, + 120u8, 241u8, 47u8, 73u8, 209u8, + ], + ) + } + #[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`."] + pub fn set_accept_ownership( + &self, + maybe_collection: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "set_accept_ownership", + SetAcceptOwnership { maybe_collection }, + [ + 171u8, 174u8, 217u8, 70u8, 115u8, 1u8, 231u8, 149u8, 223u8, + 227u8, 6u8, 226u8, 190u8, 144u8, 101u8, 21u8, 147u8, 243u8, + 123u8, 228u8, 42u8, 27u8, 126u8, 58u8, 31u8, 233u8, 54u8, + 157u8, 193u8, 212u8, 114u8, 232u8, + ], + ) + } + #[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."] + pub fn set_collection_max_supply( + &self, + collection: ::core::primitive::u32, + max_supply: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "set_collection_max_supply", + SetCollectionMaxSupply { + collection, + max_supply, + }, + [ + 116u8, 134u8, 93u8, 228u8, 6u8, 198u8, 26u8, 168u8, 154u8, + 137u8, 0u8, 151u8, 1u8, 187u8, 36u8, 154u8, 62u8, 193u8, + 250u8, 83u8, 41u8, 135u8, 187u8, 4u8, 132u8, 234u8, 207u8, + 127u8, 153u8, 157u8, 76u8, 80u8, + ], + ) + } + #[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`."] + pub fn set_price( + &self, + 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, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "set_price", + SetPrice { + collection, + item, + price, + whitelisted_buyer, + }, + [ + 159u8, 178u8, 134u8, 144u8, 165u8, 80u8, 141u8, 253u8, 194u8, + 11u8, 8u8, 215u8, 7u8, 82u8, 138u8, 62u8, 81u8, 178u8, 75u8, + 84u8, 97u8, 175u8, 161u8, 97u8, 125u8, 175u8, 70u8, 247u8, + 209u8, 132u8, 48u8, 196u8, + ], + ) + } + #[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."] + pub fn buy_item( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + bid_price: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Uniques", + "buy_item", + BuyItem { + collection, + item, + bid_price, + }, + [ + 79u8, 39u8, 106u8, 21u8, 227u8, 244u8, 7u8, 107u8, 125u8, + 114u8, 24u8, 254u8, 208u8, 67u8, 31u8, 123u8, 134u8, 29u8, + 94u8, 243u8, 164u8, 137u8, 191u8, 71u8, 17u8, 170u8, 226u8, + 172u8, 233u8, 198u8, 226u8, 33u8, + ], + ) + } + } + } + #[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_uniques::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A `collection` was created."] + pub struct Created { + pub collection: ::core::primitive::u32, + pub creator: ::subxt::utils::AccountId32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Created { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "Created"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A `collection` was force-created."] + pub struct ForceCreated { + pub collection: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ForceCreated { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "ForceCreated"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A `collection` was destroyed."] + pub struct Destroyed { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Destroyed { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "Destroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` was issued."] + pub struct Issued { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Issued { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "Issued"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` was transferred."] + pub struct Transferred { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub from: ::subxt::utils::AccountId32, + pub to: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Transferred { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "Transferred"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` was destroyed."] + pub struct Burned { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Burned { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "Burned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some `item` was frozen."] + pub struct Frozen { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Frozen { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "Frozen"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some `item` was thawed."] + pub struct Thawed { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Thawed { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "Thawed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some `collection` was frozen."] + pub struct CollectionFrozen { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for CollectionFrozen { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "CollectionFrozen"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some `collection` was thawed."] + pub struct CollectionThawed { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for CollectionThawed { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "CollectionThawed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The owner changed."] + pub struct OwnerChanged { + pub collection: ::core::primitive::u32, + pub new_owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for OwnerChanged { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "OwnerChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The management team changed."] + pub struct TeamChanged { + pub collection: ::core::primitive::u32, + pub issuer: ::subxt::utils::AccountId32, + pub admin: ::subxt::utils::AccountId32, + pub freezer: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for TeamChanged { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "TeamChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` of a `collection` has been approved by the `owner` for transfer by"] + #[doc = "a `delegate`."] + pub struct ApprovedTransfer { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + pub delegate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ApprovedTransfer { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "ApprovedTransfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An approval for a `delegate` account to transfer the `item` of an item"] + #[doc = "`collection` was cancelled by its `owner`."] + pub struct ApprovalCancelled { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + pub delegate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ApprovalCancelled { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "ApprovalCancelled"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A `collection` has had its attributes changed by the `Force` origin."] + pub struct ItemStatusChanged { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ItemStatusChanged { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "ItemStatusChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New metadata has been set for a `collection`."] + pub struct CollectionMetadataSet { + pub collection: ::core::primitive::u32, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub is_frozen: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for CollectionMetadataSet { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "CollectionMetadataSet"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Metadata has been cleared for a `collection`."] + pub struct CollectionMetadataCleared { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for CollectionMetadataCleared { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "CollectionMetadataCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New metadata has been set for an item."] + pub struct MetadataSet { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub is_frozen: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for MetadataSet { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "MetadataSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Metadata has been cleared for an item."] + pub struct MetadataCleared { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for MetadataCleared { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "MetadataCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Metadata has been cleared for an item."] + pub struct Redeposited { + pub collection: ::core::primitive::u32, + pub successful_items: ::std::vec::Vec<::core::primitive::u32>, + } + impl ::subxt::events::StaticEvent for Redeposited { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "Redeposited"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New attribute metadata has been set for a `collection` or `item`."] + pub struct AttributeSet { + pub collection: ::core::primitive::u32, + pub maybe_item: ::core::option::Option<::core::primitive::u32>, + pub key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub value: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + impl ::subxt::events::StaticEvent for AttributeSet { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "AttributeSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Attribute metadata has been cleared for a `collection` or `item`."] + pub struct AttributeCleared { + pub collection: ::core::primitive::u32, + pub maybe_item: ::core::option::Option<::core::primitive::u32>, + pub key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + impl ::subxt::events::StaticEvent for AttributeCleared { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "AttributeCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Ownership acceptance has changed for an account."] + pub struct OwnershipAcceptanceChanged { + pub who: ::subxt::utils::AccountId32, + pub maybe_collection: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::events::StaticEvent for OwnershipAcceptanceChanged { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "OwnershipAcceptanceChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Max supply has been set for a collection."] + pub struct CollectionMaxSupplySet { + pub collection: ::core::primitive::u32, + pub max_supply: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for CollectionMaxSupplySet { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "CollectionMaxSupplySet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The price was set for the instance."] + pub struct ItemPriceSet { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub price: ::core::primitive::u128, + pub whitelisted_buyer: + ::core::option::Option<::subxt::utils::AccountId32>, + } + impl ::subxt::events::StaticEvent for ItemPriceSet { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "ItemPriceSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The price for the instance was removed."] + pub struct ItemPriceRemoved { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ItemPriceRemoved { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "ItemPriceRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An item was bought."] + pub struct ItemBought { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub price: ::core::primitive::u128, + pub seller: ::subxt::utils::AccountId32, + pub buyer: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ItemBought { + const PALLET: &'static str = "Uniques"; + const EVENT: &'static str = "ItemBought"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Details of a collection."] + pub fn class( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_uniques::types::CollectionDetails< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "Class", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 32u8, 21u8, 193u8, 165u8, 1u8, 239u8, 178u8, 63u8, 20u8, + 180u8, 240u8, 180u8, 62u8, 46u8, 37u8, 198u8, 10u8, 245u8, + 49u8, 64u8, 27u8, 217u8, 0u8, 251u8, 116u8, 50u8, 166u8, + 201u8, 108u8, 73u8, 233u8, 218u8, + ], + ) + } + #[doc = " Details of a collection."] + pub fn class_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_uniques::types::CollectionDetails< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "Class", + Vec::new(), + [ + 32u8, 21u8, 193u8, 165u8, 1u8, 239u8, 178u8, 63u8, 20u8, + 180u8, 240u8, 180u8, 62u8, 46u8, 37u8, 198u8, 10u8, 245u8, + 49u8, 64u8, 27u8, 217u8, 0u8, 251u8, 116u8, 50u8, 166u8, + 201u8, 108u8, 73u8, 233u8, 218u8, + ], + ) + } + #[doc = " The collection, if any, of which an account is willing to take ownership."] + pub fn ownership_acceptance( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "OwnershipAcceptance", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 166u8, 46u8, 6u8, 129u8, 145u8, 240u8, 8u8, 115u8, 232u8, + 123u8, 153u8, 254u8, 202u8, 128u8, 141u8, 17u8, 207u8, 218u8, + 201u8, 239u8, 220u8, 233u8, 22u8, 123u8, 126u8, 151u8, 67u8, + 90u8, 51u8, 167u8, 189u8, 39u8, + ], + ) + } + #[doc = " The collection, if any, of which an account is willing to take ownership."] + pub fn ownership_acceptance_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "OwnershipAcceptance", + Vec::new(), + [ + 166u8, 46u8, 6u8, 129u8, 145u8, 240u8, 8u8, 115u8, 232u8, + 123u8, 153u8, 254u8, 202u8, 128u8, 141u8, 17u8, 207u8, 218u8, + 201u8, 239u8, 220u8, 233u8, 22u8, 123u8, 126u8, 151u8, 67u8, + 90u8, 51u8, 167u8, 189u8, 39u8, + ], + ) + } + #[doc = " The items held by any given account; set out this way so that items owned by a single"] + #[doc = " account can be enumerated."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + _2: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Uniques" , "Account" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_2 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [83u8 , 188u8 , 8u8 , 123u8 , 84u8 , 224u8 , 52u8 , 18u8 , 81u8 , 207u8 , 139u8 , 149u8 , 209u8 , 246u8 , 211u8 , 132u8 , 63u8 , 86u8 , 145u8 , 33u8 , 4u8 , 252u8 , 90u8 , 88u8 , 89u8 , 145u8 , 147u8 , 164u8 , 223u8 , 162u8 , 119u8 , 161u8 ,]) + } + #[doc = " The items held by any given account; set out this way so that items owned by a single"] + #[doc = " account can be enumerated."] + pub fn account_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "Account", + Vec::new(), + [ + 83u8, 188u8, 8u8, 123u8, 84u8, 224u8, 52u8, 18u8, 81u8, + 207u8, 139u8, 149u8, 209u8, 246u8, 211u8, 132u8, 63u8, 86u8, + 145u8, 33u8, 4u8, 252u8, 90u8, 88u8, 89u8, 145u8, 147u8, + 164u8, 223u8, 162u8, 119u8, 161u8, + ], + ) + } + #[doc = " The collections owned by any given account; set out this way so that collections owned by"] + #[doc = " a single account can be enumerated."] + pub fn class_account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Uniques" , "ClassAccount" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [150u8 , 252u8 , 105u8 , 208u8 , 130u8 , 203u8 , 171u8 , 17u8 , 240u8 , 159u8 , 148u8 , 32u8 , 191u8 , 48u8 , 240u8 , 199u8 , 128u8 , 68u8 , 24u8 , 41u8 , 77u8 , 159u8 , 32u8 , 109u8 , 37u8 , 65u8 , 127u8 , 147u8 , 65u8 , 91u8 , 111u8 , 175u8 ,]) + } + #[doc = " The collections owned by any given account; set out this way so that collections owned by"] + #[doc = " a single account can be enumerated."] + pub fn class_account_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "ClassAccount", + Vec::new(), + [ + 150u8, 252u8, 105u8, 208u8, 130u8, 203u8, 171u8, 17u8, 240u8, + 159u8, 148u8, 32u8, 191u8, 48u8, 240u8, 199u8, 128u8, 68u8, + 24u8, 41u8, 77u8, 159u8, 32u8, 109u8, 37u8, 65u8, 127u8, + 147u8, 65u8, 91u8, 111u8, 175u8, + ], + ) + } + #[doc = " The items in existence and their ownership details."] + pub fn asset( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_uniques::types::ItemDetails< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Uniques" , "Asset" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [91u8 , 5u8 , 41u8 , 213u8 , 166u8 , 235u8 , 22u8 , 162u8 , 111u8 , 84u8 , 106u8 , 54u8 , 15u8 , 132u8 , 79u8 , 56u8 , 143u8 , 39u8 , 101u8 , 224u8 , 232u8 , 98u8 , 165u8 , 137u8 , 182u8 , 175u8 , 150u8 , 169u8 , 120u8 , 198u8 , 189u8 , 55u8 ,]) + } + #[doc = " The items in existence and their ownership details."] + pub fn asset_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_uniques::types::ItemDetails< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "Asset", + Vec::new(), + [ + 91u8, 5u8, 41u8, 213u8, 166u8, 235u8, 22u8, 162u8, 111u8, + 84u8, 106u8, 54u8, 15u8, 132u8, 79u8, 56u8, 143u8, 39u8, + 101u8, 224u8, 232u8, 98u8, 165u8, 137u8, 182u8, 175u8, 150u8, + 169u8, 120u8, 198u8, 189u8, 55u8, + ], + ) + } + #[doc = " Metadata of a collection."] + pub fn class_metadata_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_uniques::types::CollectionMetadata< + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "ClassMetadataOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 30u8, 185u8, 220u8, 71u8, 235u8, 255u8, 56u8, 170u8, 95u8, + 244u8, 64u8, 125u8, 173u8, 211u8, 208u8, 153u8, 179u8, 237u8, + 82u8, 45u8, 113u8, 6u8, 239u8, 245u8, 151u8, 224u8, 74u8, + 69u8, 47u8, 127u8, 163u8, 102u8, + ], + ) + } + #[doc = " Metadata of a collection."] + pub fn class_metadata_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_uniques::types::CollectionMetadata< + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "ClassMetadataOf", + Vec::new(), + [ + 30u8, 185u8, 220u8, 71u8, 235u8, 255u8, 56u8, 170u8, 95u8, + 244u8, 64u8, 125u8, 173u8, 211u8, 208u8, 153u8, 179u8, 237u8, + 82u8, 45u8, 113u8, 6u8, 239u8, 245u8, 151u8, 224u8, 74u8, + 69u8, 47u8, 127u8, 163u8, 102u8, + ], + ) + } + #[doc = " Metadata of an item."] + pub fn instance_metadata_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_uniques::types::ItemMetadata< + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Uniques" , "InstanceMetadataOf" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [53u8 , 239u8 , 109u8 , 42u8 , 253u8 , 16u8 , 125u8 , 128u8 , 52u8 , 166u8 , 174u8 , 60u8 , 17u8 , 144u8 , 226u8 , 83u8 , 199u8 , 35u8 , 195u8 , 77u8 , 57u8 , 13u8 , 128u8 , 49u8 , 47u8 , 115u8 , 239u8 , 33u8 , 33u8 , 127u8 , 154u8 , 247u8 ,]) + } + #[doc = " Metadata of an item."] + pub fn instance_metadata_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_uniques::types::ItemMetadata< + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "InstanceMetadataOf", + Vec::new(), + [ + 53u8, 239u8, 109u8, 42u8, 253u8, 16u8, 125u8, 128u8, 52u8, + 166u8, 174u8, 60u8, 17u8, 144u8, 226u8, 83u8, 199u8, 35u8, + 195u8, 77u8, 57u8, 13u8, 128u8, 49u8, 47u8, 115u8, 239u8, + 33u8, 33u8, 127u8, 154u8, 247u8, + ], + ) + } + #[doc = " Attributes of a collection."] + pub fn attribute( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow< + ::core::option::Option<::core::primitive::u32>, + >, + _2: impl ::std::borrow::Borrow< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Uniques" , "Attribute" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_2 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [101u8 , 37u8 , 8u8 , 243u8 , 33u8 , 252u8 , 251u8 , 102u8 , 206u8 , 223u8 , 64u8 , 117u8 , 252u8 , 22u8 , 122u8 , 201u8 , 99u8 , 126u8 , 64u8 , 208u8 , 136u8 , 97u8 , 244u8 , 139u8 , 17u8 , 112u8 , 67u8 , 70u8 , 148u8 , 164u8 , 167u8 , 188u8 ,]) + } + #[doc = " Attributes of a collection."] + pub fn attribute_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::core::primitive::u128, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "Attribute", + Vec::new(), + [ + 101u8, 37u8, 8u8, 243u8, 33u8, 252u8, 251u8, 102u8, 206u8, + 223u8, 64u8, 117u8, 252u8, 22u8, 122u8, 201u8, 99u8, 126u8, + 64u8, 208u8, 136u8, 97u8, 244u8, 139u8, 17u8, 112u8, 67u8, + 70u8, 148u8, 164u8, 167u8, 188u8, + ], + ) + } + #[doc = " Price of an asset instance."] + pub fn item_price_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + ::core::option::Option<::subxt::utils::AccountId32>, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Uniques" , "ItemPriceOf" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [63u8 , 143u8 , 204u8 , 99u8 , 128u8 , 218u8 , 233u8 , 140u8 , 216u8 , 44u8 , 248u8 , 111u8 , 204u8 , 40u8 , 248u8 , 249u8 , 24u8 , 130u8 , 50u8 , 255u8 , 30u8 , 42u8 , 220u8 , 136u8 , 228u8 , 64u8 , 158u8 , 195u8 , 233u8 , 105u8 , 137u8 , 216u8 ,]) + } + #[doc = " Price of an asset instance."] + pub fn item_price_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + ::core::option::Option<::subxt::utils::AccountId32>, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "ItemPriceOf", + Vec::new(), + [ + 63u8, 143u8, 204u8, 99u8, 128u8, 218u8, 233u8, 140u8, 216u8, + 44u8, 248u8, 111u8, 204u8, 40u8, 248u8, 249u8, 24u8, 130u8, + 50u8, 255u8, 30u8, 42u8, 220u8, 136u8, 228u8, 64u8, 158u8, + 195u8, 233u8, 105u8, 137u8, 216u8, + ], + ) + } + #[doc = " Keeps track of the number of items a collection might have."] + pub fn collection_max_supply( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "CollectionMaxSupply", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 86u8, 134u8, 143u8, 101u8, 154u8, 17u8, 75u8, 144u8, 113u8, + 61u8, 172u8, 98u8, 72u8, 224u8, 127u8, 136u8, 27u8, 129u8, + 56u8, 236u8, 141u8, 59u8, 174u8, 48u8, 29u8, 214u8, 36u8, + 121u8, 25u8, 141u8, 122u8, 196u8, + ], + ) + } + #[doc = " Keeps track of the number of items a collection might have."] + pub fn collection_max_supply_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Uniques", + "CollectionMaxSupply", + Vec::new(), + [ + 86u8, 134u8, 143u8, 101u8, 154u8, 17u8, 75u8, 144u8, 113u8, + 61u8, 172u8, 98u8, 72u8, 224u8, 127u8, 136u8, 27u8, 129u8, + 56u8, 236u8, 141u8, 59u8, 174u8, 48u8, 29u8, 214u8, 36u8, + 121u8, 25u8, 141u8, 122u8, 196u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The basic amount of funds that must be reserved for collection."] + pub fn collection_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Uniques", + "CollectionDeposit", + [ + 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 basic amount of funds that must be reserved for an item."] + pub fn item_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Uniques", + "ItemDeposit", + [ + 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 basic amount of funds that must be reserved when adding metadata to your item."] + pub fn metadata_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Uniques", + "MetadataDepositBase", + [ + 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 basic amount of funds that must be reserved when adding an attribute to an item."] + pub fn attribute_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Uniques", + "AttributeDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The additional funds that must be reserved for the number of bytes store in metadata,"] + #[doc = " either \"normal\" metadata or attribute metadata."] + pub fn deposit_per_byte( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Uniques", + "DepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum length of data stored on-chain."] + pub fn string_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Uniques", + "StringLimit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum length of an attribute key."] + pub fn key_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Uniques", + "KeyLimit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum length of an attribute value."] + pub fn value_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Uniques", + "ValueLimit", + [ + 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 nfts { + 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 Create { + pub admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub config: runtime_types::pallet_nfts::types::CollectionConfig< + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceCreate { + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub config: runtime_types::pallet_nfts::types::CollectionConfig< + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Destroy { + pub collection: ::core::primitive::u32, + pub witness: runtime_types::pallet_nfts::types::DestroyWitness, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Mint { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub mint_to: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub witness_data: ::core::option::Option< + runtime_types::pallet_nfts::types::MintWitness< + ::core::primitive::u32, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceMint { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub mint_to: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub item_config: runtime_types::pallet_nfts::types::ItemConfig, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Burn { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub check_owner: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Transfer { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Redeposit { + pub collection: ::core::primitive::u32, + pub items: ::std::vec::Vec<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct LockItemTransfer { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UnlockItemTransfer { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct LockCollection { + pub collection: ::core::primitive::u32, + pub lock_settings: runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::CollectionSetting, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransferOwnership { + pub collection: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetTeam { + pub collection: ::core::primitive::u32, + pub issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceCollectionOwner { + pub collection: ::core::primitive::u32, + pub owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceCollectionConfig { + pub collection: ::core::primitive::u32, + pub config: runtime_types::pallet_nfts::types::CollectionConfig< + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ApproveTransfer { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub maybe_deadline: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelApproval { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearAllTransferApprovals { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct LockItemProperties { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub lock_metadata: ::core::primitive::bool, + pub lock_attributes: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetAttribute { pub collection : :: core :: primitive :: u32 , pub maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , pub namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , pub key : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , pub value : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceSetAttribute { pub set_as : :: core :: option :: Option < :: subxt :: utils :: AccountId32 > , pub collection : :: core :: primitive :: u32 , pub maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , pub namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , pub key : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , pub value : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearAttribute { pub collection : :: core :: primitive :: u32 , pub maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , pub namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , pub key : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ApproveItemAttributes { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelItemAttributesApproval { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub witness: + runtime_types::pallet_nfts::types::CancelAttributesApprovalWitness, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetMetadata { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearMetadata { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetCollectionMetadata { + pub collection: ::core::primitive::u32, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClearCollectionMetadata { + pub collection: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetAcceptOwnership { + pub maybe_collection: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetCollectionMaxSupply { + pub collection: ::core::primitive::u32, + pub max_supply: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UpdateMintSettings { + pub collection: ::core::primitive::u32, + pub mint_settings: runtime_types::pallet_nfts::types::MintSettings< + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetPrice { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub price: ::core::option::Option<::core::primitive::u128>, + pub whitelisted_buyer: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BuyItem { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub bid_price: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PayTips { + pub tips: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_nfts::types::ItemTip< + ::core::primitive::u32, + ::core::primitive::u32, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CreateSwap { + pub offered_collection: ::core::primitive::u32, + pub offered_item: ::core::primitive::u32, + pub desired_collection: ::core::primitive::u32, + pub maybe_desired_item: ::core::option::Option<::core::primitive::u32>, + pub maybe_price: ::core::option::Option< + runtime_types::pallet_nfts::types::PriceWithDirection< + ::core::primitive::u128, + >, + >, + pub duration: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelSwap { + pub offered_collection: ::core::primitive::u32, + pub offered_item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClaimSwap { + pub send_collection: ::core::primitive::u32, + pub send_item: ::core::primitive::u32, + pub receive_collection: ::core::primitive::u32, + pub receive_item: ::core::primitive::u32, + pub witness_price: ::core::option::Option< + runtime_types::pallet_nfts::types::PriceWithDirection< + ::core::primitive::u128, + >, + >, + } + pub struct TransactionApi; + impl TransactionApi { + #[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)`"] + pub fn create( + &self, + 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, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "create", + Create { admin, config }, + [ + 39u8, 4u8, 38u8, 44u8, 147u8, 41u8, 137u8, 135u8, 131u8, + 186u8, 47u8, 61u8, 129u8, 151u8, 187u8, 234u8, 92u8, 11u8, + 75u8, 150u8, 166u8, 187u8, 114u8, 41u8, 74u8, 33u8, 200u8, + 13u8, 104u8, 73u8, 35u8, 58u8, + ], + ) + } + #[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)`"] + pub fn force_create( + &self, + 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, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "force_create", + ForceCreate { owner, config }, + [ + 90u8, 0u8, 154u8, 141u8, 23u8, 101u8, 243u8, 20u8, 255u8, + 61u8, 114u8, 183u8, 127u8, 92u8, 131u8, 14u8, 179u8, 96u8, + 133u8, 180u8, 69u8, 67u8, 133u8, 205u8, 167u8, 207u8, 173u8, + 56u8, 185u8, 241u8, 129u8, 74u8, + ], + ) + } + #[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`"] + pub fn destroy( + &self, + collection: ::core::primitive::u32, + witness: runtime_types::pallet_nfts::types::DestroyWitness, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "destroy", + Destroy { + collection, + witness, + }, + [ + 194u8, 219u8, 14u8, 11u8, 254u8, 25u8, 217u8, 157u8, 117u8, + 236u8, 144u8, 148u8, 151u8, 141u8, 40u8, 60u8, 243u8, 241u8, + 140u8, 184u8, 45u8, 153u8, 33u8, 177u8, 248u8, 79u8, 67u8, + 249u8, 47u8, 244u8, 198u8, 138u8, + ], + ) + } + #[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)`"] + pub fn mint( + &self, + 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, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "mint", + Mint { + collection, + item, + mint_to, + witness_data, + }, + [ + 242u8, 13u8, 249u8, 201u8, 133u8, 131u8, 113u8, 75u8, 214u8, + 186u8, 242u8, 24u8, 48u8, 50u8, 241u8, 168u8, 60u8, 18u8, + 132u8, 151u8, 84u8, 243u8, 93u8, 128u8, 215u8, 66u8, 14u8, + 218u8, 138u8, 88u8, 185u8, 56u8, + ], + ) + } + #[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)`"] + pub fn force_mint( + &self, + 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, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "force_mint", + ForceMint { + collection, + item, + mint_to, + item_config, + }, + [ + 178u8, 21u8, 236u8, 7u8, 99u8, 52u8, 79u8, 176u8, 166u8, + 27u8, 167u8, 111u8, 15u8, 106u8, 139u8, 203u8, 173u8, 57u8, + 103u8, 167u8, 241u8, 196u8, 201u8, 16u8, 245u8, 68u8, 26u8, + 71u8, 152u8, 132u8, 107u8, 73u8, + ], + ) + } + #[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()`."] + pub fn burn( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + check_owner: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "burn", + Burn { + collection, + item, + check_owner, + }, + [ + 215u8, 138u8, 65u8, 126u8, 201u8, 135u8, 73u8, 194u8, 2u8, + 196u8, 229u8, 103u8, 140u8, 74u8, 21u8, 144u8, 111u8, 99u8, + 200u8, 210u8, 191u8, 108u8, 220u8, 56u8, 64u8, 89u8, 216u8, + 181u8, 175u8, 57u8, 41u8, 173u8, + ], + ) + } + #[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)`"] + pub fn transfer( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "transfer", + Transfer { + collection, + item, + dest, + }, + [ + 223u8, 90u8, 63u8, 140u8, 84u8, 72u8, 67u8, 84u8, 225u8, + 84u8, 4u8, 197u8, 17u8, 53u8, 151u8, 209u8, 163u8, 114u8, + 253u8, 225u8, 44u8, 171u8, 240u8, 8u8, 112u8, 8u8, 20u8, + 25u8, 224u8, 131u8, 175u8, 40u8, + ], + ) + } + #[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())`"] + pub fn redeposit( + &self, + collection: ::core::primitive::u32, + items: ::std::vec::Vec<::core::primitive::u32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "redeposit", + Redeposit { collection, items }, + [ + 81u8, 142u8, 143u8, 126u8, 12u8, 71u8, 139u8, 28u8, 170u8, + 219u8, 195u8, 22u8, 146u8, 69u8, 202u8, 7u8, 202u8, 113u8, + 93u8, 187u8, 113u8, 16u8, 8u8, 76u8, 3u8, 124u8, 248u8, 38u8, + 17u8, 232u8, 120u8, 145u8, + ], + ) + } + #[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)`"] + pub fn lock_item_transfer( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "lock_item_transfer", + LockItemTransfer { collection, item }, + [ + 234u8, 3u8, 222u8, 142u8, 68u8, 171u8, 104u8, 48u8, 216u8, + 153u8, 167u8, 77u8, 161u8, 153u8, 191u8, 245u8, 190u8, 228u8, + 255u8, 138u8, 215u8, 196u8, 189u8, 121u8, 251u8, 56u8, 158u8, + 157u8, 156u8, 189u8, 135u8, 16u8, + ], + ) + } + #[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)`"] + pub fn unlock_item_transfer( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "unlock_item_transfer", + UnlockItemTransfer { collection, item }, + [ + 33u8, 30u8, 131u8, 204u8, 136u8, 8u8, 180u8, 37u8, 180u8, + 93u8, 79u8, 20u8, 113u8, 73u8, 213u8, 68u8, 158u8, 72u8, + 10u8, 46u8, 204u8, 109u8, 132u8, 127u8, 42u8, 78u8, 196u8, + 228u8, 84u8, 61u8, 139u8, 85u8, + ], + ) + } + #[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)`"] + pub fn lock_collection( + &self, + collection: ::core::primitive::u32, + lock_settings: runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::CollectionSetting, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "lock_collection", + LockCollection { + collection, + lock_settings, + }, + [ + 116u8, 190u8, 188u8, 12u8, 163u8, 231u8, 39u8, 163u8, 83u8, + 109u8, 15u8, 248u8, 154u8, 19u8, 9u8, 27u8, 160u8, 66u8, + 105u8, 55u8, 164u8, 61u8, 8u8, 139u8, 210u8, 192u8, 116u8, + 44u8, 75u8, 4u8, 166u8, 215u8, + ], + ) + } + #[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)`"] + pub fn transfer_ownership( + &self, + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "transfer_ownership", + TransferOwnership { collection, owner }, + [ + 217u8, 228u8, 51u8, 96u8, 179u8, 215u8, 163u8, 137u8, 231u8, + 239u8, 181u8, 113u8, 48u8, 144u8, 91u8, 140u8, 50u8, 175u8, + 81u8, 251u8, 128u8, 208u8, 38u8, 246u8, 103u8, 219u8, 65u8, + 179u8, 153u8, 4u8, 154u8, 181u8, + ], + ) + } + #[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)`"] + pub fn set_team( + &self, + 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, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "set_team", + SetTeam { + collection, + issuer, + admin, + freezer, + }, + [ + 34u8, 168u8, 70u8, 30u8, 29u8, 186u8, 131u8, 181u8, 132u8, + 63u8, 163u8, 22u8, 244u8, 41u8, 205u8, 234u8, 17u8, 238u8, + 54u8, 64u8, 158u8, 136u8, 50u8, 40u8, 242u8, 117u8, 111u8, + 211u8, 168u8, 156u8, 156u8, 27u8, + ], + ) + } + #[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)`"] + pub fn force_collection_owner( + &self, + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "force_collection_owner", + ForceCollectionOwner { collection, owner }, + [ + 170u8, 152u8, 48u8, 227u8, 138u8, 164u8, 130u8, 169u8, 175u8, + 227u8, 210u8, 90u8, 78u8, 126u8, 18u8, 171u8, 115u8, 42u8, + 102u8, 13u8, 221u8, 210u8, 188u8, 170u8, 230u8, 105u8, 40u8, + 124u8, 168u8, 127u8, 17u8, 53u8, + ], + ) + } + #[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)`"] + pub fn force_collection_config( + &self, + collection: ::core::primitive::u32, + config: runtime_types::pallet_nfts::types::CollectionConfig< + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "force_collection_config", + ForceCollectionConfig { collection, config }, + [ + 6u8, 58u8, 170u8, 231u8, 3u8, 28u8, 161u8, 69u8, 157u8, + 145u8, 67u8, 247u8, 153u8, 129u8, 105u8, 169u8, 227u8, 12u8, + 166u8, 11u8, 219u8, 186u8, 145u8, 102u8, 192u8, 36u8, 44u8, + 230u8, 213u8, 63u8, 240u8, 227u8, + ], + ) + } + #[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)`"] + pub fn approve_transfer( + &self, + 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>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "approve_transfer", + ApproveTransfer { + collection, + item, + delegate, + maybe_deadline, + }, + [ + 203u8, 41u8, 60u8, 28u8, 226u8, 166u8, 64u8, 195u8, 219u8, + 2u8, 245u8, 4u8, 171u8, 221u8, 218u8, 209u8, 31u8, 160u8, + 142u8, 215u8, 93u8, 49u8, 174u8, 105u8, 117u8, 52u8, 166u8, + 177u8, 206u8, 189u8, 101u8, 113u8, + ], + ) + } + #[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)`"] + pub fn cancel_approval( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "cancel_approval", + CancelApproval { + collection, + item, + delegate, + }, + [ + 129u8, 99u8, 206u8, 28u8, 18u8, 72u8, 197u8, 126u8, 239u8, + 204u8, 219u8, 232u8, 160u8, 110u8, 206u8, 64u8, 162u8, 54u8, + 134u8, 7u8, 221u8, 61u8, 95u8, 23u8, 71u8, 10u8, 25u8, 244u8, + 14u8, 31u8, 179u8, 58u8, + ], + ) + } + #[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)`"] + pub fn clear_all_transfer_approvals( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "clear_all_transfer_approvals", + ClearAllTransferApprovals { collection, item }, + [ + 95u8, 218u8, 189u8, 248u8, 199u8, 163u8, 184u8, 65u8, 200u8, + 240u8, 134u8, 224u8, 12u8, 139u8, 222u8, 193u8, 78u8, 71u8, + 63u8, 57u8, 124u8, 249u8, 239u8, 188u8, 38u8, 15u8, 203u8, + 184u8, 243u8, 87u8, 17u8, 166u8, + ], + ) + } + #[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)`"] + pub fn lock_item_properties( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + lock_metadata: ::core::primitive::bool, + lock_attributes: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "lock_item_properties", + LockItemProperties { + collection, + item, + lock_metadata, + lock_attributes, + }, + [ + 243u8, 23u8, 227u8, 8u8, 254u8, 177u8, 170u8, 38u8, 48u8, + 179u8, 166u8, 53u8, 131u8, 186u8, 211u8, 107u8, 186u8, 116u8, + 204u8, 188u8, 15u8, 206u8, 79u8, 136u8, 179u8, 141u8, 146u8, + 22u8, 156u8, 90u8, 21u8, 213u8, + ], + ) + } + #[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)`"] + pub fn set_attribute( + &self, + 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::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + value: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "set_attribute", + SetAttribute { + collection, + maybe_item, + namespace, + key, + value, + }, + [ + 191u8, 30u8, 39u8, 37u8, 65u8, 243u8, 40u8, 67u8, 160u8, + 45u8, 63u8, 196u8, 221u8, 105u8, 159u8, 211u8, 198u8, 125u8, + 14u8, 233u8, 59u8, 208u8, 197u8, 137u8, 88u8, 101u8, 234u8, + 71u8, 102u8, 161u8, 219u8, 179u8, + ], + ) + } + #[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)`"] + pub fn force_set_attribute( + &self, + 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::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + value: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "force_set_attribute", + ForceSetAttribute { + set_as, + collection, + maybe_item, + namespace, + key, + value, + }, + [ + 8u8, 111u8, 29u8, 35u8, 198u8, 9u8, 1u8, 219u8, 122u8, 60u8, + 134u8, 199u8, 254u8, 1u8, 85u8, 126u8, 58u8, 137u8, 243u8, + 228u8, 252u8, 143u8, 95u8, 8u8, 251u8, 3u8, 86u8, 11u8, 40u8, + 87u8, 138u8, 230u8, + ], + ) + } + #[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)`"] + pub fn clear_attribute( + &self, + 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::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "clear_attribute", + ClearAttribute { + collection, + maybe_item, + namespace, + key, + }, + [ + 110u8, 144u8, 255u8, 153u8, 138u8, 39u8, 100u8, 38u8, 242u8, + 147u8, 177u8, 103u8, 167u8, 154u8, 46u8, 57u8, 16u8, 82u8, + 153u8, 228u8, 3u8, 161u8, 198u8, 61u8, 73u8, 28u8, 93u8, + 216u8, 120u8, 194u8, 183u8, 220u8, + ], + ) + } + #[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."] + pub fn approve_item_attributes( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "approve_item_attributes", + ApproveItemAttributes { + collection, + item, + delegate, + }, + [ + 194u8, 174u8, 249u8, 37u8, 88u8, 207u8, 198u8, 238u8, 83u8, + 11u8, 170u8, 0u8, 56u8, 5u8, 64u8, 138u8, 30u8, 184u8, 71u8, + 79u8, 178u8, 189u8, 125u8, 249u8, 141u8, 173u8, 164u8, 109u8, + 192u8, 0u8, 179u8, 67u8, + ], + ) + } + #[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."] + pub fn cancel_item_attributes_approval( + &self, + 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, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "cancel_item_attributes_approval", + CancelItemAttributesApproval { + collection, + item, + delegate, + witness, + }, + [ + 237u8, 139u8, 12u8, 197u8, 94u8, 100u8, 182u8, 14u8, 202u8, + 190u8, 87u8, 148u8, 61u8, 240u8, 8u8, 197u8, 28u8, 18u8, + 85u8, 86u8, 215u8, 201u8, 54u8, 187u8, 141u8, 68u8, 156u8, + 231u8, 15u8, 219u8, 234u8, 26u8, + ], + ) + } + #[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)`"] + pub fn set_metadata( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "set_metadata", + SetMetadata { + collection, + item, + data, + }, + [ + 45u8, 223u8, 215u8, 10u8, 235u8, 165u8, 61u8, 151u8, 170u8, + 176u8, 34u8, 182u8, 95u8, 218u8, 7u8, 115u8, 99u8, 241u8, + 221u8, 190u8, 211u8, 24u8, 44u8, 121u8, 79u8, 93u8, 37u8, + 154u8, 155u8, 205u8, 176u8, 158u8, + ], + ) + } + #[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)`"] + pub fn clear_metadata( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "clear_metadata", + ClearMetadata { collection, item }, + [ + 113u8, 75u8, 211u8, 250u8, 129u8, 61u8, 231u8, 204u8, 141u8, + 151u8, 65u8, 108u8, 230u8, 68u8, 51u8, 165u8, 126u8, 211u8, + 51u8, 33u8, 9u8, 47u8, 50u8, 71u8, 123u8, 71u8, 43u8, 162u8, + 76u8, 1u8, 90u8, 222u8, + ], + ) + } + #[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)`"] + pub fn set_collection_metadata( + &self, + collection: ::core::primitive::u32, + data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "set_collection_metadata", + SetCollectionMetadata { collection, data }, + [ + 32u8, 118u8, 96u8, 38u8, 27u8, 73u8, 98u8, 37u8, 105u8, 42u8, + 127u8, 130u8, 202u8, 159u8, 214u8, 72u8, 127u8, 178u8, 5u8, + 184u8, 217u8, 59u8, 205u8, 120u8, 161u8, 177u8, 186u8, 204u8, + 117u8, 111u8, 5u8, 10u8, + ], + ) + } + #[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)`"] + pub fn clear_collection_metadata( + &self, + collection: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "clear_collection_metadata", + ClearCollectionMetadata { collection }, + [ + 218u8, 108u8, 43u8, 96u8, 85u8, 130u8, 198u8, 167u8, 28u8, + 4u8, 151u8, 185u8, 162u8, 123u8, 120u8, 42u8, 72u8, 37u8, + 250u8, 135u8, 100u8, 37u8, 193u8, 232u8, 62u8, 91u8, 18u8, + 120u8, 241u8, 47u8, 73u8, 209u8, + ], + ) + } + #[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`."] + pub fn set_accept_ownership( + &self, + maybe_collection: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "set_accept_ownership", + SetAcceptOwnership { maybe_collection }, + [ + 171u8, 174u8, 217u8, 70u8, 115u8, 1u8, 231u8, 149u8, 223u8, + 227u8, 6u8, 226u8, 190u8, 144u8, 101u8, 21u8, 147u8, 243u8, + 123u8, 228u8, 42u8, 27u8, 126u8, 58u8, 31u8, 233u8, 54u8, + 157u8, 193u8, 212u8, 114u8, 232u8, + ], + ) + } + #[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."] + pub fn set_collection_max_supply( + &self, + collection: ::core::primitive::u32, + max_supply: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "set_collection_max_supply", + SetCollectionMaxSupply { + collection, + max_supply, + }, + [ + 116u8, 134u8, 93u8, 228u8, 6u8, 198u8, 26u8, 168u8, 154u8, + 137u8, 0u8, 151u8, 1u8, 187u8, 36u8, 154u8, 62u8, 193u8, + 250u8, 83u8, 41u8, 135u8, 187u8, 4u8, 132u8, 234u8, 207u8, + 127u8, 153u8, 157u8, 76u8, 80u8, + ], + ) + } + #[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."] + pub fn update_mint_settings( + &self, + collection: ::core::primitive::u32, + mint_settings: runtime_types::pallet_nfts::types::MintSettings< + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "update_mint_settings", + UpdateMintSettings { + collection, + mint_settings, + }, + [ + 194u8, 13u8, 39u8, 21u8, 179u8, 228u8, 251u8, 99u8, 247u8, + 10u8, 0u8, 247u8, 69u8, 226u8, 191u8, 143u8, 182u8, 128u8, + 112u8, 142u8, 138u8, 99u8, 197u8, 62u8, 246u8, 150u8, 184u8, + 172u8, 100u8, 238u8, 236u8, 236u8, + ], + ) + } + #[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`."] + pub fn set_price( + &self, + 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, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "set_price", + SetPrice { + collection, + item, + price, + whitelisted_buyer, + }, + [ + 159u8, 178u8, 134u8, 144u8, 165u8, 80u8, 141u8, 253u8, 194u8, + 11u8, 8u8, 215u8, 7u8, 82u8, 138u8, 62u8, 81u8, 178u8, 75u8, + 84u8, 97u8, 175u8, 161u8, 97u8, 125u8, 175u8, 70u8, 247u8, + 209u8, 132u8, 48u8, 196u8, + ], + ) + } + #[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."] + pub fn buy_item( + &self, + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + bid_price: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "buy_item", + BuyItem { + collection, + item, + bid_price, + }, + [ + 79u8, 39u8, 106u8, 21u8, 227u8, 244u8, 7u8, 107u8, 125u8, + 114u8, 24u8, 254u8, 208u8, 67u8, 31u8, 123u8, 134u8, 29u8, + 94u8, 243u8, 164u8, 137u8, 191u8, 71u8, 17u8, 170u8, 226u8, + 172u8, 233u8, 198u8, 226u8, 33u8, + ], + ) + } + #[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."] + pub fn pay_tips( + &self, + tips: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_nfts::types::ItemTip< + ::core::primitive::u32, + ::core::primitive::u32, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "pay_tips", + PayTips { tips }, + [ + 139u8, 37u8, 187u8, 31u8, 201u8, 46u8, 235u8, 234u8, 117u8, + 184u8, 146u8, 246u8, 127u8, 116u8, 180u8, 166u8, 69u8, 43u8, + 152u8, 109u8, 10u8, 43u8, 67u8, 92u8, 118u8, 242u8, 217u8, + 166u8, 35u8, 73u8, 148u8, 226u8, + ], + ) + } + #[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."] + pub fn create_swap( + &self, + 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, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "create_swap", + CreateSwap { + offered_collection, + offered_item, + desired_collection, + maybe_desired_item, + maybe_price, + duration, + }, + [ + 71u8, 97u8, 120u8, 17u8, 181u8, 119u8, 135u8, 247u8, 45u8, + 11u8, 240u8, 111u8, 120u8, 47u8, 66u8, 66u8, 104u8, 248u8, + 224u8, 129u8, 153u8, 148u8, 233u8, 20u8, 105u8, 169u8, 54u8, + 191u8, 22u8, 169u8, 148u8, 31u8, + ], + ) + } + #[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."] + pub fn cancel_swap( + &self, + offered_collection: ::core::primitive::u32, + offered_item: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "cancel_swap", + CancelSwap { + offered_collection, + offered_item, + }, + [ + 87u8, 2u8, 127u8, 158u8, 82u8, 37u8, 1u8, 140u8, 227u8, 31u8, + 131u8, 188u8, 250u8, 66u8, 147u8, 211u8, 65u8, 6u8, 251u8, + 60u8, 82u8, 45u8, 217u8, 114u8, 204u8, 161u8, 25u8, 166u8, + 135u8, 7u8, 119u8, 91u8, + ], + ) + } + #[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."] + pub fn claim_swap( + &self, + 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, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Nfts", + "claim_swap", + ClaimSwap { + send_collection, + send_item, + receive_collection, + receive_item, + witness_price, + }, + [ + 221u8, 120u8, 31u8, 254u8, 154u8, 243u8, 53u8, 56u8, 138u8, + 174u8, 83u8, 58u8, 78u8, 240u8, 177u8, 153u8, 1u8, 27u8, + 203u8, 147u8, 53u8, 24u8, 186u8, 196u8, 22u8, 161u8, 106u8, + 125u8, 166u8, 212u8, 116u8, 247u8, + ], + ) + } + } + } + #[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_nfts::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A `collection` was created."] + pub struct Created { + pub collection: ::core::primitive::u32, + pub creator: ::subxt::utils::AccountId32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Created { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "Created"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A `collection` was force-created."] + pub struct ForceCreated { + pub collection: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ForceCreated { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ForceCreated"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A `collection` was destroyed."] + pub struct Destroyed { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Destroyed { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "Destroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` was issued."] + pub struct Issued { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Issued { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "Issued"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` was transferred."] + pub struct Transferred { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub from: ::subxt::utils::AccountId32, + pub to: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Transferred { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "Transferred"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` was destroyed."] + pub struct Burned { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Burned { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "Burned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` became non-transferable."] + pub struct ItemTransferLocked { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ItemTransferLocked { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemTransferLocked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` became transferable."] + pub struct ItemTransferUnlocked { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ItemTransferUnlocked { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemTransferUnlocked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "`item` metadata or attributes were locked."] + pub struct ItemPropertiesLocked { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub lock_metadata: ::core::primitive::bool, + pub lock_attributes: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for ItemPropertiesLocked { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemPropertiesLocked"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some `collection` was locked."] + pub struct CollectionLocked { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for CollectionLocked { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "CollectionLocked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The owner changed."] + pub struct OwnerChanged { + pub collection: ::core::primitive::u32, + pub new_owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for OwnerChanged { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "OwnerChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The management team changed."] + pub struct TeamChanged { + pub collection: ::core::primitive::u32, + pub issuer: ::subxt::utils::AccountId32, + pub admin: ::subxt::utils::AccountId32, + pub freezer: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for TeamChanged { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "TeamChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` of a `collection` has been approved by the `owner` for transfer by"] + #[doc = "a `delegate`."] + pub struct TransferApproved { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + pub delegate: ::subxt::utils::AccountId32, + pub deadline: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::events::StaticEvent for TransferApproved { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "TransferApproved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An approval for a `delegate` account to transfer the `item` of an item"] + #[doc = "`collection` was cancelled by its `owner`."] + pub struct ApprovalCancelled { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + pub delegate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ApprovalCancelled { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ApprovalCancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "All approvals of an item got cancelled."] + pub struct AllApprovalsCancelled { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for AllApprovalsCancelled { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "AllApprovalsCancelled"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A `collection` has had its config changed by the `Force` origin."] + pub struct CollectionConfigChanged { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for CollectionConfigChanged { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "CollectionConfigChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New metadata has been set for a `collection`."] + pub struct CollectionMetadataSet { + pub collection: ::core::primitive::u32, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + impl ::subxt::events::StaticEvent for CollectionMetadataSet { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "CollectionMetadataSet"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Metadata has been cleared for a `collection`."] + pub struct CollectionMetadataCleared { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for CollectionMetadataCleared { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "CollectionMetadataCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New metadata has been set for an item."] + pub struct ItemMetadataSet { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + impl ::subxt::events::StaticEvent for ItemMetadataSet { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemMetadataSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Metadata has been cleared for an item."] + pub struct ItemMetadataCleared { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ItemMetadataCleared { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemMetadataCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The deposit for a set of `item`s within a `collection` has been updated."] + pub struct Redeposited { + pub collection: ::core::primitive::u32, + pub successful_items: ::std::vec::Vec<::core::primitive::u32>, + } + impl ::subxt::events::StaticEvent for Redeposited { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "Redeposited"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "New attribute metadata has been set for a `collection` or `item`."] + pub struct AttributeSet { pub collection : :: core :: primitive :: u32 , pub maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , pub key : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , pub value : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , pub namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , } + impl ::subxt::events::StaticEvent for AttributeSet { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "AttributeSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Attribute metadata has been cleared for a `collection` or `item`."] + pub struct AttributeCleared { pub collection : :: core :: primitive :: u32 , pub maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , pub key : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , pub namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , } + impl ::subxt::events::StaticEvent for AttributeCleared { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "AttributeCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new approval to modify item attributes was added."] + pub struct ItemAttributesApprovalAdded { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub delegate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ItemAttributesApprovalAdded { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemAttributesApprovalAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new approval to modify item attributes was removed."] + pub struct ItemAttributesApprovalRemoved { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub delegate: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ItemAttributesApprovalRemoved { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemAttributesApprovalRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Ownership acceptance has changed for an account."] + pub struct OwnershipAcceptanceChanged { + pub who: ::subxt::utils::AccountId32, + pub maybe_collection: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::events::StaticEvent for OwnershipAcceptanceChanged { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "OwnershipAcceptanceChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Max supply has been set for a collection."] + pub struct CollectionMaxSupplySet { + pub collection: ::core::primitive::u32, + pub max_supply: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for CollectionMaxSupplySet { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "CollectionMaxSupplySet"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Mint settings for a collection had changed."] + pub struct CollectionMintSettingsUpdated { + pub collection: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for CollectionMintSettingsUpdated { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "CollectionMintSettingsUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Event gets emitted when the `NextCollectionId` gets incremented."] + pub struct NextCollectionIdIncremented { + pub next_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for NextCollectionIdIncremented { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "NextCollectionIdIncremented"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The price was set for the item."] + pub struct ItemPriceSet { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub price: ::core::primitive::u128, + pub whitelisted_buyer: + ::core::option::Option<::subxt::utils::AccountId32>, + } + impl ::subxt::events::StaticEvent for ItemPriceSet { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemPriceSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The price for the item was removed."] + pub struct ItemPriceRemoved { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ItemPriceRemoved { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemPriceRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An item was bought."] + pub struct ItemBought { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub price: ::core::primitive::u128, + pub seller: ::subxt::utils::AccountId32, + pub buyer: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for ItemBought { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "ItemBought"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A tip was sent."] + pub struct TipSent { + pub collection: ::core::primitive::u32, + pub item: ::core::primitive::u32, + pub sender: ::subxt::utils::AccountId32, + pub receiver: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TipSent { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "TipSent"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An `item` swap intent was created."] + pub struct SwapCreated { + pub offered_collection: ::core::primitive::u32, + pub offered_item: ::core::primitive::u32, + pub desired_collection: ::core::primitive::u32, + pub desired_item: ::core::option::Option<::core::primitive::u32>, + pub price: ::core::option::Option< + runtime_types::pallet_nfts::types::PriceWithDirection< + ::core::primitive::u128, + >, + >, + pub deadline: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for SwapCreated { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "SwapCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The swap was cancelled."] + pub struct SwapCancelled { + pub offered_collection: ::core::primitive::u32, + pub offered_item: ::core::primitive::u32, + pub desired_collection: ::core::primitive::u32, + pub desired_item: ::core::option::Option<::core::primitive::u32>, + pub price: ::core::option::Option< + runtime_types::pallet_nfts::types::PriceWithDirection< + ::core::primitive::u128, + >, + >, + pub deadline: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for SwapCancelled { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "SwapCancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The swap has been claimed."] + pub struct SwapClaimed { + pub sent_collection: ::core::primitive::u32, + pub sent_item: ::core::primitive::u32, + pub sent_item_owner: ::subxt::utils::AccountId32, + pub received_collection: ::core::primitive::u32, + pub received_item: ::core::primitive::u32, + pub received_item_owner: ::subxt::utils::AccountId32, + pub price: ::core::option::Option< + runtime_types::pallet_nfts::types::PriceWithDirection< + ::core::primitive::u128, + >, + >, + pub deadline: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for SwapClaimed { + const PALLET: &'static str = "Nfts"; + const EVENT: &'static str = "SwapClaimed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Details of a collection."] + pub fn collection( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::CollectionDetails< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "Collection", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 145u8, 183u8, 254u8, 29u8, 238u8, 211u8, 62u8, 231u8, 207u8, + 208u8, 244u8, 89u8, 247u8, 204u8, 29u8, 15u8, 30u8, 28u8, + 182u8, 28u8, 190u8, 236u8, 133u8, 125u8, 89u8, 46u8, 31u8, + 212u8, 86u8, 211u8, 108u8, 195u8, + ], + ) + } + #[doc = " Details of a collection."] + pub fn collection_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::CollectionDetails< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "Collection", + Vec::new(), + [ + 145u8, 183u8, 254u8, 29u8, 238u8, 211u8, 62u8, 231u8, 207u8, + 208u8, 244u8, 89u8, 247u8, 204u8, 29u8, 15u8, 30u8, 28u8, + 182u8, 28u8, 190u8, 236u8, 133u8, 125u8, 89u8, 46u8, 31u8, + 212u8, 86u8, 211u8, 108u8, 195u8, + ], + ) + } + #[doc = " The collection, if any, of which an account is willing to take ownership."] + pub fn ownership_acceptance( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "OwnershipAcceptance", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 166u8, 46u8, 6u8, 129u8, 145u8, 240u8, 8u8, 115u8, 232u8, + 123u8, 153u8, 254u8, 202u8, 128u8, 141u8, 17u8, 207u8, 218u8, + 201u8, 239u8, 220u8, 233u8, 22u8, 123u8, 126u8, 151u8, 67u8, + 90u8, 51u8, 167u8, 189u8, 39u8, + ], + ) + } + #[doc = " The collection, if any, of which an account is willing to take ownership."] + pub fn ownership_acceptance_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "OwnershipAcceptance", + Vec::new(), + [ + 166u8, 46u8, 6u8, 129u8, 145u8, 240u8, 8u8, 115u8, 232u8, + 123u8, 153u8, 254u8, 202u8, 128u8, 141u8, 17u8, 207u8, 218u8, + 201u8, 239u8, 220u8, 233u8, 22u8, 123u8, 126u8, 151u8, 67u8, + 90u8, 51u8, 167u8, 189u8, 39u8, + ], + ) + } + #[doc = " The items held by any given account; set out this way so that items owned by a single"] + #[doc = " account can be enumerated."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + _2: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "Account" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_2 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [83u8 , 188u8 , 8u8 , 123u8 , 84u8 , 224u8 , 52u8 , 18u8 , 81u8 , 207u8 , 139u8 , 149u8 , 209u8 , 246u8 , 211u8 , 132u8 , 63u8 , 86u8 , 145u8 , 33u8 , 4u8 , 252u8 , 90u8 , 88u8 , 89u8 , 145u8 , 147u8 , 164u8 , 223u8 , 162u8 , 119u8 , 161u8 ,]) + } + #[doc = " The items held by any given account; set out this way so that items owned by a single"] + #[doc = " account can be enumerated."] + pub fn account_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "Account", + Vec::new(), + [ + 83u8, 188u8, 8u8, 123u8, 84u8, 224u8, 52u8, 18u8, 81u8, + 207u8, 139u8, 149u8, 209u8, 246u8, 211u8, 132u8, 63u8, 86u8, + 145u8, 33u8, 4u8, 252u8, 90u8, 88u8, 89u8, 145u8, 147u8, + 164u8, 223u8, 162u8, 119u8, 161u8, + ], + ) + } + #[doc = " The collections owned by any given account; set out this way so that collections owned by"] + #[doc = " a single account can be enumerated."] + pub fn collection_account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "CollectionAccount" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [173u8 , 183u8 , 58u8 , 232u8 , 121u8 , 133u8 , 40u8 , 226u8 , 60u8 , 146u8 , 31u8 , 110u8 , 186u8 , 235u8 , 206u8 , 160u8 , 36u8 , 221u8 , 27u8 , 222u8 , 91u8 , 107u8 , 93u8 , 19u8 , 5u8 , 24u8 , 51u8 , 220u8 , 79u8 , 26u8 , 216u8 , 26u8 ,]) + } + #[doc = " The collections owned by any given account; set out this way so that collections owned by"] + #[doc = " a single account can be enumerated."] + pub fn collection_account_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "CollectionAccount", + Vec::new(), + [ + 173u8, 183u8, 58u8, 232u8, 121u8, 133u8, 40u8, 226u8, 60u8, + 146u8, 31u8, 110u8, 186u8, 235u8, 206u8, 160u8, 36u8, 221u8, + 27u8, 222u8, 91u8, 107u8, 93u8, 19u8, 5u8, 24u8, 51u8, 220u8, + 79u8, 26u8, 216u8, 26u8, + ], + ) + } + #[doc = " The items in existence and their ownership details."] + #[doc = " Stores collection roles as per account."] + pub fn collection_role_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::CollectionRole, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "CollectionRoleOf" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [220u8 , 76u8 , 45u8 , 235u8 , 74u8 , 231u8 , 161u8 , 241u8 , 235u8 , 154u8 , 69u8 , 168u8 , 62u8 , 45u8 , 234u8 , 106u8 , 17u8 , 17u8 , 152u8 , 220u8 , 144u8 , 67u8 , 159u8 , 137u8 , 39u8 , 130u8 , 169u8 , 111u8 , 109u8 , 195u8 , 9u8 , 96u8 ,]) + } + #[doc = " The items in existence and their ownership details."] + #[doc = " Stores collection roles as per account."] + pub fn collection_role_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::CollectionRole, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "CollectionRoleOf", + Vec::new(), + [ + 220u8, 76u8, 45u8, 235u8, 74u8, 231u8, 161u8, 241u8, 235u8, + 154u8, 69u8, 168u8, 62u8, 45u8, 234u8, 106u8, 17u8, 17u8, + 152u8, 220u8, 144u8, 67u8, 159u8, 137u8, 39u8, 130u8, 169u8, + 111u8, 109u8, 195u8, 9u8, 96u8, + ], + ) + } + #[doc = " The items in existence and their ownership details."] pub fn item (& self , _0 : impl :: std :: borrow :: Borrow < :: core :: primitive :: u32 > , _1 : impl :: std :: borrow :: Borrow < :: core :: primitive :: u32 > ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_nfts :: types :: ItemDetails < :: subxt :: utils :: AccountId32 , runtime_types :: pallet_nfts :: types :: ItemDeposit < :: core :: primitive :: u128 , :: subxt :: utils :: AccountId32 > , runtime_types :: sp_core :: bounded :: bounded_btree_map :: BoundedBTreeMap < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > > > > , :: subxt :: storage :: address :: Yes , () , :: subxt :: storage :: address :: Yes >{ + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "Item" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [159u8 , 81u8 , 47u8 , 170u8 , 54u8 , 246u8 , 176u8 , 130u8 , 225u8 , 246u8 , 29u8 , 6u8 , 214u8 , 178u8 , 133u8 , 248u8 , 248u8 , 1u8 , 237u8 , 171u8 , 64u8 , 2u8 , 83u8 , 107u8 , 225u8 , 36u8 , 30u8 , 194u8 , 185u8 , 218u8 , 245u8 , 62u8 ,]) + } + #[doc = " The items in existence and their ownership details."] pub fn item_root (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_nfts :: types :: ItemDetails < :: subxt :: utils :: AccountId32 , runtime_types :: pallet_nfts :: types :: ItemDeposit < :: core :: primitive :: u128 , :: subxt :: utils :: AccountId32 > , runtime_types :: sp_core :: bounded :: bounded_btree_map :: BoundedBTreeMap < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > > > > , () , () , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "Item", + Vec::new(), + [ + 159u8, 81u8, 47u8, 170u8, 54u8, 246u8, 176u8, 130u8, 225u8, + 246u8, 29u8, 6u8, 214u8, 178u8, 133u8, 248u8, 248u8, 1u8, + 237u8, 171u8, 64u8, 2u8, 83u8, 107u8, 225u8, 36u8, 30u8, + 194u8, 185u8, 218u8, 245u8, 62u8, + ], + ) + } + #[doc = " Metadata of a collection."] + pub fn collection_metadata_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::CollectionMetadata< + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "CollectionMetadataOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 174u8, 253u8, 204u8, 147u8, 93u8, 148u8, 155u8, 23u8, 38u8, + 174u8, 76u8, 126u8, 200u8, 105u8, 78u8, 38u8, 173u8, 92u8, + 153u8, 190u8, 200u8, 130u8, 172u8, 131u8, 96u8, 181u8, 133u8, + 163u8, 219u8, 113u8, 233u8, 135u8, + ], + ) + } + #[doc = " Metadata of a collection."] + pub fn collection_metadata_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::CollectionMetadata< + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "CollectionMetadataOf", + Vec::new(), + [ + 174u8, 253u8, 204u8, 147u8, 93u8, 148u8, 155u8, 23u8, 38u8, + 174u8, 76u8, 126u8, 200u8, 105u8, 78u8, 38u8, 173u8, 92u8, + 153u8, 190u8, 200u8, 130u8, 172u8, 131u8, 96u8, 181u8, 133u8, + 163u8, 219u8, 113u8, 233u8, 135u8, + ], + ) + } + #[doc = " Metadata of an item."] + pub fn item_metadata_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::ItemMetadata< + runtime_types::pallet_nfts::types::ItemMetadataDeposit< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "ItemMetadataOf" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [73u8 , 89u8 , 88u8 , 237u8 , 245u8 , 109u8 , 23u8 , 98u8 , 221u8 , 5u8 , 107u8 , 61u8 , 161u8 , 23u8 , 73u8 , 171u8 , 55u8 , 141u8 , 210u8 , 35u8 , 37u8 , 54u8 , 72u8 , 206u8 , 172u8 , 41u8 , 250u8 , 142u8 , 52u8 , 133u8 , 131u8 , 111u8 ,]) + } + #[doc = " Metadata of an item."] + pub fn item_metadata_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::ItemMetadata< + runtime_types::pallet_nfts::types::ItemMetadataDeposit< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "ItemMetadataOf", + Vec::new(), + [ + 73u8, 89u8, 88u8, 237u8, 245u8, 109u8, 23u8, 98u8, 221u8, + 5u8, 107u8, 61u8, 161u8, 23u8, 73u8, 171u8, 55u8, 141u8, + 210u8, 35u8, 37u8, 54u8, 72u8, 206u8, 172u8, 41u8, 250u8, + 142u8, 52u8, 133u8, 131u8, 111u8, + ], + ) + } + #[doc = " Attributes of a collection."] + pub fn attribute( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow< + ::core::option::Option<::core::primitive::u32>, + >, + _2 : impl :: std :: borrow :: Borrow < runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > >, + _3: impl ::std::borrow::Borrow< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::pallet_nfts::types::AttributeDeposit< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "Attribute" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_2 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_3 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [140u8 , 179u8 , 237u8 , 237u8 , 226u8 , 18u8 , 187u8 , 225u8 , 239u8 , 191u8 , 94u8 , 239u8 , 157u8 , 110u8 , 226u8 , 85u8 , 61u8 , 199u8 , 159u8 , 141u8 , 250u8 , 254u8 , 187u8 , 83u8 , 57u8 , 232u8 , 133u8 , 119u8 , 118u8 , 41u8 , 201u8 , 25u8 ,]) + } + #[doc = " Attributes of a collection."] + pub fn attribute_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::pallet_nfts::types::AttributeDeposit< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "Attribute", + Vec::new(), + [ + 140u8, 179u8, 237u8, 237u8, 226u8, 18u8, 187u8, 225u8, 239u8, + 191u8, 94u8, 239u8, 157u8, 110u8, 226u8, 85u8, 61u8, 199u8, + 159u8, 141u8, 250u8, 254u8, 187u8, 83u8, 57u8, 232u8, 133u8, + 119u8, 118u8, 41u8, 201u8, 25u8, + ], + ) + } + #[doc = " A price of an item."] + pub fn item_price_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + ::core::option::Option<::subxt::utils::AccountId32>, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "ItemPriceOf" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [63u8 , 143u8 , 204u8 , 99u8 , 128u8 , 218u8 , 233u8 , 140u8 , 216u8 , 44u8 , 248u8 , 111u8 , 204u8 , 40u8 , 248u8 , 249u8 , 24u8 , 130u8 , 50u8 , 255u8 , 30u8 , 42u8 , 220u8 , 136u8 , 228u8 , 64u8 , 158u8 , 195u8 , 233u8 , 105u8 , 137u8 , 216u8 ,]) + } + #[doc = " A price of an item."] + pub fn item_price_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + ::core::option::Option<::subxt::utils::AccountId32>, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "ItemPriceOf", + Vec::new(), + [ + 63u8, 143u8, 204u8, 99u8, 128u8, 218u8, 233u8, 140u8, 216u8, + 44u8, 248u8, 111u8, 204u8, 40u8, 248u8, 249u8, 24u8, 130u8, + 50u8, 255u8, 30u8, 42u8, 220u8, 136u8, 228u8, 64u8, 158u8, + 195u8, 233u8, 105u8, 137u8, 216u8, + ], + ) + } + #[doc = " Item attribute approvals."] pub fn item_attributes_approvals_of (& self , _0 : impl :: std :: borrow :: Borrow < :: core :: primitive :: u32 > , _1 : impl :: std :: borrow :: Borrow < :: core :: primitive :: u32 > ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: sp_core :: bounded :: bounded_btree_set :: BoundedBTreeSet < :: subxt :: utils :: AccountId32 > > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "ItemAttributesApprovalsOf" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [11u8 , 53u8 , 249u8 , 252u8 , 0u8 , 48u8 , 6u8 , 72u8 , 254u8 , 133u8 , 66u8 , 97u8 , 165u8 , 132u8 , 215u8 , 65u8 , 111u8 , 64u8 , 99u8 , 228u8 , 48u8 , 188u8 , 240u8 , 246u8 , 69u8 , 9u8 , 165u8 , 33u8 , 155u8 , 249u8 , 164u8 , 237u8 ,]) + } + #[doc = " Item attribute approvals."] pub fn item_attributes_approvals_of_root (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: sp_core :: bounded :: bounded_btree_set :: BoundedBTreeSet < :: subxt :: utils :: AccountId32 > > , () , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "ItemAttributesApprovalsOf", + Vec::new(), + [ + 11u8, 53u8, 249u8, 252u8, 0u8, 48u8, 6u8, 72u8, 254u8, 133u8, + 66u8, 97u8, 165u8, 132u8, 215u8, 65u8, 111u8, 64u8, 99u8, + 228u8, 48u8, 188u8, 240u8, 246u8, 69u8, 9u8, 165u8, 33u8, + 155u8, 249u8, 164u8, 237u8, + ], + ) + } + #[doc = " Stores the `CollectionId` that is going to be used for the next collection."] + #[doc = " This gets incremented whenever a new collection is created."] + pub fn next_collection_id( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "NextCollectionId", + vec![], + [ + 247u8, 80u8, 254u8, 162u8, 36u8, 233u8, 151u8, 211u8, 1u8, + 156u8, 102u8, 9u8, 21u8, 175u8, 224u8, 254u8, 255u8, 73u8, + 26u8, 42u8, 112u8, 107u8, 159u8, 108u8, 25u8, 22u8, 84u8, + 113u8, 108u8, 18u8, 253u8, 66u8, + ], + ) + } + #[doc = " Handles all the pending swaps."] + pub fn pending_swap_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::PendingSwap< + ::core::primitive::u32, + ::core::primitive::u32, + runtime_types::pallet_nfts::types::PriceWithDirection< + ::core::primitive::u128, + >, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "PendingSwapOf" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [230u8 , 132u8 , 138u8 , 201u8 , 217u8 , 119u8 , 35u8 , 191u8 , 184u8 , 202u8 , 9u8 , 3u8 , 29u8 , 246u8 , 228u8 , 210u8 , 195u8 , 141u8 , 179u8 , 160u8 , 130u8 , 40u8 , 121u8 , 133u8 , 209u8 , 218u8 , 64u8 , 18u8 , 36u8 , 62u8 , 1u8 , 203u8 ,]) + } + #[doc = " Handles all the pending swaps."] + pub fn pending_swap_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::PendingSwap< + ::core::primitive::u32, + ::core::primitive::u32, + runtime_types::pallet_nfts::types::PriceWithDirection< + ::core::primitive::u128, + >, + ::core::primitive::u32, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "PendingSwapOf", + Vec::new(), + [ + 230u8, 132u8, 138u8, 201u8, 217u8, 119u8, 35u8, 191u8, 184u8, + 202u8, 9u8, 3u8, 29u8, 246u8, 228u8, 210u8, 195u8, 141u8, + 179u8, 160u8, 130u8, 40u8, 121u8, 133u8, 209u8, 218u8, 64u8, + 18u8, 36u8, 62u8, 1u8, 203u8, + ], + ) + } + #[doc = " Config of a collection."] + pub fn collection_config_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::CollectionConfig< + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "CollectionConfigOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 65u8, 20u8, 107u8, 140u8, 134u8, 116u8, 78u8, 79u8, 217u8, + 215u8, 30u8, 185u8, 18u8, 87u8, 127u8, 59u8, 152u8, 94u8, + 144u8, 138u8, 24u8, 9u8, 250u8, 225u8, 7u8, 176u8, 31u8, + 75u8, 171u8, 24u8, 132u8, 168u8, + ], + ) + } + #[doc = " Config of a collection."] + pub fn collection_config_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::CollectionConfig< + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "CollectionConfigOf", + Vec::new(), + [ + 65u8, 20u8, 107u8, 140u8, 134u8, 116u8, 78u8, 79u8, 217u8, + 215u8, 30u8, 185u8, 18u8, 87u8, 127u8, 59u8, 152u8, 94u8, + 144u8, 138u8, 24u8, 9u8, 250u8, 225u8, 7u8, 176u8, 31u8, + 75u8, 171u8, 24u8, 132u8, 168u8, + ], + ) + } + #[doc = " Config of an item."] + pub fn item_config_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::ItemConfig, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("Nfts" , "ItemConfigOf" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat)] , [13u8 , 64u8 , 28u8 , 168u8 , 121u8 , 178u8 , 11u8 , 143u8 , 107u8 , 185u8 , 148u8 , 54u8 , 212u8 , 83u8 , 251u8 , 165u8 , 19u8 , 222u8 , 130u8 , 90u8 , 111u8 , 144u8 , 146u8 , 255u8 , 68u8 , 66u8 , 225u8 , 62u8 , 89u8 , 33u8 , 200u8 , 120u8 ,]) + } + #[doc = " Config of an item."] + pub fn item_config_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::ItemConfig, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Nfts", + "ItemConfigOf", + Vec::new(), + [ + 13u8, 64u8, 28u8, 168u8, 121u8, 178u8, 11u8, 143u8, 107u8, + 185u8, 148u8, 54u8, 212u8, 83u8, 251u8, 165u8, 19u8, 222u8, + 130u8, 90u8, 111u8, 144u8, 146u8, 255u8, 68u8, 66u8, 225u8, + 62u8, 89u8, 33u8, 200u8, 120u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The basic amount of funds that must be reserved for collection."] + pub fn collection_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "CollectionDeposit", + [ + 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 basic amount of funds that must be reserved for an item."] + pub fn item_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "ItemDeposit", + [ + 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 basic amount of funds that must be reserved when adding metadata to your item."] + pub fn metadata_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "MetadataDepositBase", + [ + 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 basic amount of funds that must be reserved when adding an attribute to an item."] + pub fn attribute_deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "AttributeDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The additional funds that must be reserved for the number of bytes store in metadata,"] + #[doc = " either \"normal\" metadata or attribute metadata."] + pub fn deposit_per_byte( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "DepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum length of data stored on-chain."] + pub fn string_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "StringLimit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum length of an attribute key."] + pub fn key_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "KeyLimit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum length of an attribute value."] + pub fn value_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "ValueLimit", + [ + 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 approvals an item could have."] + pub fn approvals_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "ApprovalsLimit", + [ + 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 attributes approvals an item could have."] + pub fn item_attributes_approvals_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "ItemAttributesApprovalsLimit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The max number of tips a user could send."] + pub fn max_tips( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "MaxTips", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The max duration in blocks for deadlines."] + pub fn max_deadline_duration( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "MaxDeadlineDuration", + [ + 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 = " Disables some of pallet's features."] + pub fn features( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::PalletFeature, + >, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Nfts", + "Features", + [ + 6u8, 4u8, 24u8, 100u8, 110u8, 86u8, 4u8, 252u8, 70u8, 43u8, + 169u8, 124u8, 204u8, 27u8, 252u8, 91u8, 99u8, 13u8, 149u8, + 202u8, 65u8, 211u8, 125u8, 108u8, 127u8, 4u8, 146u8, 163u8, + 41u8, 193u8, 25u8, 103u8, + ], + ) + } + } + } + } + pub mod transaction_storage { + 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 Store { + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Renew { + pub block: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CheckProof { + pub proof: + runtime_types::sp_transaction_storage_proof::TransactionStorageProof, + } + pub struct TransactionApi; + impl TransactionApi { + #[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 = "- n*log(n) of data size, as all data is pushed to an in-memory trie."] + #[doc = "Additionally contains a DB write."] + #[doc = "# "] + pub fn store( + &self, + data: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TransactionStorage", + "store", + Store { data }, + [ + 43u8, 208u8, 69u8, 186u8, 52u8, 197u8, 110u8, 180u8, 94u8, + 179u8, 108u8, 83u8, 54u8, 128u8, 76u8, 158u8, 198u8, 25u8, + 251u8, 31u8, 79u8, 228u8, 104u8, 120u8, 79u8, 187u8, 167u8, + 112u8, 133u8, 201u8, 208u8, 28u8, + ], + ) + } + #[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 = "# "] + #[doc = "- Constant."] + #[doc = "# "] + pub fn renew( + &self, + block: ::core::primitive::u32, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TransactionStorage", + "renew", + Renew { block, index }, + [ + 72u8, 33u8, 43u8, 220u8, 210u8, 211u8, 107u8, 206u8, 156u8, + 0u8, 45u8, 233u8, 72u8, 154u8, 47u8, 176u8, 73u8, 116u8, + 93u8, 121u8, 197u8, 15u8, 166u8, 53u8, 101u8, 202u8, 21u8, + 208u8, 62u8, 115u8, 100u8, 66u8, + ], + ) + } + #[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 = "# "] + #[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."] + #[doc = "Here we assume a maximum of 100 probed transactions."] + #[doc = "# "] + pub fn check_proof( + &self, + proof : runtime_types :: sp_transaction_storage_proof :: TransactionStorageProof, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "TransactionStorage", + "check_proof", + CheckProof { proof }, + [ + 102u8, 90u8, 179u8, 228u8, 197u8, 192u8, 53u8, 148u8, 7u8, + 97u8, 25u8, 243u8, 247u8, 161u8, 108u8, 197u8, 137u8, 219u8, + 154u8, 198u8, 4u8, 7u8, 47u8, 150u8, 156u8, 234u8, 20u8, + 51u8, 180u8, 134u8, 10u8, 19u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_transaction_storage::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Stored data under specified index."] + pub struct Stored { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Stored { + const PALLET: &'static str = "TransactionStorage"; + const EVENT: &'static str = "Stored"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Renewed data under specified index."] + pub struct Renewed { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Renewed { + const PALLET: &'static str = "TransactionStorage"; + const EVENT: &'static str = "Renewed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Storage proof was successfully checked."] + pub struct ProofChecked; + impl ::subxt::events::StaticEvent for ProofChecked { + const PALLET: &'static str = "TransactionStorage"; + const EVENT: &'static str = "ProofChecked"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Collection of transaction metadata by block number."] + pub fn transactions( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_transaction_storage::TransactionInfo, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionStorage", + "Transactions", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 135u8, 204u8, 74u8, 229u8, 33u8, 97u8, 220u8, 224u8, 215u8, + 234u8, 152u8, 113u8, 14u8, 232u8, 161u8, 97u8, 235u8, 241u8, + 216u8, 115u8, 252u8, 15u8, 116u8, 110u8, 239u8, 105u8, 246u8, + 15u8, 154u8, 213u8, 163u8, 87u8, + ], + ) + } + #[doc = " Collection of transaction metadata by block number."] + pub fn transactions_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_transaction_storage::TransactionInfo, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionStorage", + "Transactions", + Vec::new(), + [ + 135u8, 204u8, 74u8, 229u8, 33u8, 97u8, 220u8, 224u8, 215u8, + 234u8, 152u8, 113u8, 14u8, 232u8, 161u8, 97u8, 235u8, 241u8, + 216u8, 115u8, 252u8, 15u8, 116u8, 110u8, 239u8, 105u8, 246u8, + 15u8, 154u8, 213u8, 163u8, 87u8, + ], + ) + } + #[doc = " Count indexed chunks for each block."] + pub fn chunk_count( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionStorage", + "ChunkCount", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 28u8, 45u8, 130u8, 130u8, 223u8, 108u8, 11u8, 246u8, 112u8, + 28u8, 132u8, 216u8, 71u8, 251u8, 141u8, 186u8, 179u8, 73u8, + 225u8, 87u8, 38u8, 182u8, 117u8, 213u8, 79u8, 107u8, 92u8, + 43u8, 167u8, 155u8, 213u8, 135u8, + ], + ) + } + #[doc = " Count indexed chunks for each block."] + pub fn chunk_count_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionStorage", + "ChunkCount", + Vec::new(), + [ + 28u8, 45u8, 130u8, 130u8, 223u8, 108u8, 11u8, 246u8, 112u8, + 28u8, 132u8, 216u8, 71u8, 251u8, 141u8, 186u8, 179u8, 73u8, + 225u8, 87u8, 38u8, 182u8, 117u8, 213u8, 79u8, 107u8, 92u8, + 43u8, 167u8, 155u8, 213u8, 135u8, + ], + ) + } + #[doc = " Storage fee per byte."] + pub fn byte_fee( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionStorage", + "ByteFee", + vec![], + [ + 175u8, 21u8, 92u8, 118u8, 196u8, 19u8, 87u8, 215u8, 167u8, + 205u8, 139u8, 138u8, 17u8, 164u8, 85u8, 191u8, 90u8, 206u8, + 35u8, 255u8, 50u8, 63u8, 0u8, 20u8, 222u8, 219u8, 77u8, + 220u8, 57u8, 143u8, 24u8, 185u8, + ], + ) + } + #[doc = " Storage fee per transaction."] + pub fn entry_fee( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionStorage", + "EntryFee", + vec![], + [ + 66u8, 20u8, 76u8, 16u8, 189u8, 156u8, 164u8, 45u8, 163u8, + 66u8, 121u8, 196u8, 103u8, 131u8, 30u8, 188u8, 166u8, 46u8, + 142u8, 113u8, 38u8, 138u8, 109u8, 33u8, 59u8, 61u8, 239u8, + 4u8, 135u8, 76u8, 105u8, 137u8, + ], + ) + } + #[doc = " Storage period for data in blocks. Should match `sp_storage_proof::DEFAULT_STORAGE_PERIOD`"] + #[doc = " for block authoring."] + pub fn storage_period( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionStorage", + "StoragePeriod", + vec![], + [ + 10u8, 53u8, 101u8, 7u8, 28u8, 0u8, 14u8, 145u8, 138u8, 50u8, + 14u8, 182u8, 105u8, 25u8, 57u8, 166u8, 116u8, 232u8, 84u8, + 255u8, 71u8, 88u8, 85u8, 28u8, 21u8, 223u8, 119u8, 122u8, + 204u8, 44u8, 171u8, 118u8, + ], + ) + } + pub fn block_transactions( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_transaction_storage::TransactionInfo, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionStorage", + "BlockTransactions", + vec![], + [ + 238u8, 72u8, 1u8, 41u8, 254u8, 6u8, 252u8, 199u8, 151u8, + 11u8, 246u8, 236u8, 68u8, 18u8, 147u8, 235u8, 60u8, 178u8, + 21u8, 120u8, 216u8, 53u8, 83u8, 29u8, 132u8, 91u8, 14u8, + 120u8, 238u8, 88u8, 160u8, 208u8, + ], + ) + } + #[doc = " Was the proof checked in this block?"] + pub fn proof_checked( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionStorage", + "ProofChecked", + vec![], + [ + 120u8, 50u8, 236u8, 167u8, 184u8, 166u8, 35u8, 208u8, 129u8, + 112u8, 151u8, 218u8, 123u8, 60u8, 71u8, 12u8, 210u8, 162u8, + 52u8, 7u8, 192u8, 197u8, 117u8, 101u8, 102u8, 179u8, 62u8, + 240u8, 146u8, 249u8, 190u8, 18u8, + ], + ) + } + } + } + } + pub mod voter_list { + 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 Rebag { + pub dislocated: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PutInFrontOf { + pub lighter: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Declare that some `dislocated` account has, through rewards or penalties, sufficiently"] + #[doc = "changed its score that it should properly fall into a different bag than its current"] + #[doc = "one."] + #[doc = ""] + #[doc = "Anyone can call this function about any potentially dislocated account."] + #[doc = ""] + #[doc = "Will always update the stored score of `dislocated` to the correct score, based on"] + #[doc = "`ScoreProvider`."] + #[doc = ""] + #[doc = "If `dislocated` does not exists, it returns an error."] + pub fn rebag( + &self, + dislocated: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "VoterList", + "rebag", + Rebag { dislocated }, + [ + 0u8, 168u8, 218u8, 188u8, 236u8, 124u8, 250u8, 201u8, 237u8, + 20u8, 97u8, 150u8, 117u8, 232u8, 116u8, 237u8, 55u8, 151u8, + 71u8, 119u8, 42u8, 48u8, 10u8, 66u8, 167u8, 208u8, 184u8, + 228u8, 146u8, 181u8, 84u8, 70u8, + ], + ) + } + #[doc = "Move the caller's Id directly in front of `lighter`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and can only be called by the Id of"] + #[doc = "the account going in front of `lighter`."] + #[doc = ""] + #[doc = "Only works if"] + #[doc = "- both nodes are within the same bag,"] + #[doc = "- and `origin` has a greater `Score` than `lighter`."] + pub fn put_in_front_of( + &self, + lighter: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "VoterList", + "put_in_front_of", + PutInFrontOf { lighter }, + [ + 104u8, 36u8, 96u8, 80u8, 236u8, 75u8, 203u8, 232u8, 136u8, + 167u8, 205u8, 143u8, 200u8, 53u8, 124u8, 148u8, 76u8, 246u8, + 71u8, 246u8, 205u8, 82u8, 32u8, 186u8, 33u8, 5u8, 183u8, + 127u8, 153u8, 232u8, 80u8, 164u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_bags_list::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Moved an account from one bag to another."] + pub struct Rebagged { + pub who: ::subxt::utils::AccountId32, + pub from: ::core::primitive::u64, + pub to: ::core::primitive::u64, + } + impl ::subxt::events::StaticEvent for Rebagged { + const PALLET: &'static str = "VoterList"; + const EVENT: &'static str = "Rebagged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Updated the score of some account to the given amount."] + pub struct ScoreUpdated { + pub who: ::subxt::utils::AccountId32, + pub new_score: ::core::primitive::u64, + } + impl ::subxt::events::StaticEvent for ScoreUpdated { + const PALLET: &'static str = "VoterList"; + const EVENT: &'static str = "ScoreUpdated"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " A single node, within some bag."] + #[doc = ""] + #[doc = " Nodes store links forward and back within their respective bags."] + pub fn list_nodes( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_bags_list::list::Node, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "VoterList", + "ListNodes", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 176u8, 186u8, 93u8, 51u8, 100u8, 184u8, 240u8, 29u8, 70u8, + 3u8, 117u8, 47u8, 23u8, 66u8, 231u8, 234u8, 53u8, 8u8, 234u8, + 175u8, 181u8, 8u8, 161u8, 154u8, 48u8, 178u8, 147u8, 227u8, + 122u8, 115u8, 57u8, 97u8, + ], + ) + } + #[doc = " A single node, within some bag."] + #[doc = ""] + #[doc = " Nodes store links forward and back within their respective bags."] + pub fn list_nodes_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_bags_list::list::Node, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "VoterList", + "ListNodes", + Vec::new(), + [ + 176u8, 186u8, 93u8, 51u8, 100u8, 184u8, 240u8, 29u8, 70u8, + 3u8, 117u8, 47u8, 23u8, 66u8, 231u8, 234u8, 53u8, 8u8, 234u8, + 175u8, 181u8, 8u8, 161u8, 154u8, 48u8, 178u8, 147u8, 227u8, + 122u8, 115u8, 57u8, 97u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_list_nodes( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "VoterList", + "CounterForListNodes", + vec![], + [ + 156u8, 168u8, 97u8, 33u8, 84u8, 117u8, 220u8, 89u8, 62u8, + 182u8, 24u8, 88u8, 231u8, 244u8, 41u8, 19u8, 210u8, 131u8, + 87u8, 0u8, 241u8, 230u8, 160u8, 142u8, 128u8, 153u8, 83u8, + 36u8, 88u8, 247u8, 70u8, 130u8, + ], + ) + } + #[doc = " A bag stored in storage."] + #[doc = ""] + #[doc = " Stores a `Bag` struct, which stores head and tail pointers to itself."] + pub fn list_bags( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u64>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_bags_list::list::Bag, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "VoterList", + "ListBags", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 38u8, 86u8, 63u8, 92u8, 85u8, 59u8, 225u8, 244u8, 14u8, + 155u8, 76u8, 249u8, 153u8, 140u8, 179u8, 7u8, 96u8, 170u8, + 236u8, 179u8, 4u8, 18u8, 232u8, 146u8, 216u8, 51u8, 135u8, + 116u8, 196u8, 117u8, 143u8, 153u8, + ], + ) + } + #[doc = " A bag stored in storage."] + #[doc = ""] + #[doc = " Stores a `Bag` struct, which stores head and tail pointers to itself."] + pub fn list_bags_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_bags_list::list::Bag, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "VoterList", + "ListBags", + Vec::new(), + [ + 38u8, 86u8, 63u8, 92u8, 85u8, 59u8, 225u8, 244u8, 14u8, + 155u8, 76u8, 249u8, 153u8, 140u8, 179u8, 7u8, 96u8, 170u8, + 236u8, 179u8, 4u8, 18u8, 232u8, 146u8, 216u8, 51u8, 135u8, + 116u8, 196u8, 117u8, 143u8, 153u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The list of thresholds separating the various bags."] + #[doc = ""] + #[doc = " Ids are separated into unsorted bags according to their score. This specifies the"] + #[doc = " thresholds separating the bags. An id's bag is the largest bag for which the id's score"] + #[doc = " is less than or equal to its upper threshold."] + #[doc = ""] + #[doc = " When ids are iterated, higher bags are iterated completely before lower bags. This means"] + #[doc = " that iteration is _semi-sorted_: ids of higher score tend to come before ids of lower"] + #[doc = " score, but peer ids within a particular bag are sorted in insertion order."] + #[doc = ""] + #[doc = " # Expressing the constant"] + #[doc = ""] + #[doc = " This constant must be sorted in strictly increasing order. Duplicate items are not"] + #[doc = " permitted."] + #[doc = ""] + #[doc = " There is an implied upper limit of `Score::MAX`; that value does not need to be"] + #[doc = " specified within the bag. For any two threshold lists, if one ends with"] + #[doc = " `Score::MAX`, the other one does not, and they are otherwise equal, the two"] + #[doc = " lists will behave identically."] + #[doc = ""] + #[doc = " # Calculation"] + #[doc = ""] + #[doc = " It is recommended to generate the set of thresholds in a geometric series, such that"] + #[doc = " there exists some constant ratio such that `threshold[k + 1] == (threshold[k] *"] + #[doc = " constant_ratio).max(threshold[k] + 1)` for all `k`."] + #[doc = ""] + #[doc = " The helpers in the `/utils/frame/generate-bags` module can simplify this calculation."] + #[doc = ""] + #[doc = " # Examples"] + #[doc = ""] + #[doc = " - If `BagThresholds::get().is_empty()`, then all ids are put into the same bag, and"] + #[doc = " iteration is strictly in insertion order."] + #[doc = " - If `BagThresholds::get().len() == 64`, and the thresholds are determined according to"] + #[doc = " the procedure given above, then the constant ratio is equal to 2."] + #[doc = " - If `BagThresholds::get().len() == 200`, and the thresholds are determined according to"] + #[doc = " the procedure given above, then the constant ratio is approximately equal to 1.248."] + #[doc = " - If the threshold list begins `[1, 2, 3, ...]`, then an id with score 0 or 1 will fall"] + #[doc = " into bag 0, an id with score 2 will fall into bag 1, etc."] + #[doc = ""] + #[doc = " # Migration"] + #[doc = ""] + #[doc = " In the event that this list ever changes, a copy of the old bags list must be retained."] + #[doc = " With that `List::migrate` can be called, which will perform the appropriate migration."] + pub fn bag_thresholds( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u64>, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "VoterList", + "BagThresholds", + [ + 103u8, 102u8, 255u8, 165u8, 124u8, 54u8, 5u8, 172u8, 112u8, + 234u8, 25u8, 175u8, 178u8, 19u8, 251u8, 73u8, 91u8, 192u8, + 227u8, 81u8, 249u8, 45u8, 126u8, 116u8, 7u8, 37u8, 9u8, + 200u8, 167u8, 182u8, 12u8, 131u8, + ], + ) + } + } + } + } + pub mod state_trie_migration { + 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 ControlAutoMigration { + pub maybe_config: ::core::option::Option< + runtime_types::pallet_state_trie_migration::pallet::MigrationLimits, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ContinueMigrate { + pub limits: + runtime_types::pallet_state_trie_migration::pallet::MigrationLimits, + pub real_size_upper: ::core::primitive::u32, + pub witness_task: + runtime_types::pallet_state_trie_migration::pallet::MigrationTask, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MigrateCustomTop { + pub keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + pub witness_size: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MigrateCustomChild { + pub root: ::std::vec::Vec<::core::primitive::u8>, + pub child_keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + pub total_size: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetSignedMaxLimits { + pub limits: + runtime_types::pallet_state_trie_migration::pallet::MigrationLimits, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceSetProgress { + pub progress_top: + runtime_types::pallet_state_trie_migration::pallet::Progress, + pub progress_child: + runtime_types::pallet_state_trie_migration::pallet::Progress, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Control the automatic migration."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be [`Config::ControlOrigin`]."] + pub fn control_auto_migration( + &self, + maybe_config : :: core :: option :: Option < runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "StateTrieMigration", + "control_auto_migration", + ControlAutoMigration { maybe_config }, + [ + 162u8, 96u8, 125u8, 236u8, 212u8, 188u8, 150u8, 69u8, 75u8, + 40u8, 116u8, 249u8, 80u8, 248u8, 180u8, 38u8, 167u8, 228u8, + 116u8, 130u8, 201u8, 59u8, 27u8, 3u8, 24u8, 209u8, 40u8, 0u8, + 238u8, 100u8, 173u8, 128u8, + ], + ) + } + #[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."] + pub fn continue_migrate( + &self, + 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, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "StateTrieMigration", + "continue_migrate", + ContinueMigrate { + limits, + real_size_upper, + witness_task, + }, + [ + 13u8, 29u8, 35u8, 220u8, 79u8, 73u8, 159u8, 203u8, 121u8, + 137u8, 71u8, 108u8, 143u8, 95u8, 183u8, 127u8, 247u8, 1u8, + 63u8, 10u8, 69u8, 1u8, 196u8, 237u8, 175u8, 147u8, 252u8, + 168u8, 152u8, 217u8, 135u8, 109u8, + ], + ) + } + #[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."] + pub fn migrate_custom_top( + &self, + keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + witness_size: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "StateTrieMigration", + "migrate_custom_top", + MigrateCustomTop { keys, witness_size }, + [ + 186u8, 249u8, 25u8, 216u8, 251u8, 100u8, 32u8, 31u8, 174u8, + 158u8, 202u8, 41u8, 18u8, 130u8, 187u8, 105u8, 83u8, 125u8, + 131u8, 212u8, 98u8, 120u8, 152u8, 207u8, 208u8, 1u8, 183u8, + 181u8, 169u8, 129u8, 163u8, 161u8, + ], + ) + } + #[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."] + pub fn migrate_custom_child( + &self, + root: ::std::vec::Vec<::core::primitive::u8>, + child_keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + total_size: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "StateTrieMigration", + "migrate_custom_child", + MigrateCustomChild { + root, + child_keys, + total_size, + }, + [ + 79u8, 93u8, 66u8, 136u8, 84u8, 153u8, 42u8, 104u8, 242u8, + 99u8, 225u8, 125u8, 233u8, 196u8, 151u8, 160u8, 164u8, 228u8, + 36u8, 186u8, 12u8, 247u8, 118u8, 12u8, 96u8, 218u8, 38u8, + 120u8, 33u8, 147u8, 2u8, 214u8, + ], + ) + } + #[doc = "Set the maximum limit of the signed migration."] + pub fn set_signed_max_limits( + &self, + limits : runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "StateTrieMigration", + "set_signed_max_limits", + SetSignedMaxLimits { limits }, + [ + 95u8, 185u8, 123u8, 100u8, 144u8, 68u8, 67u8, 101u8, 101u8, + 137u8, 229u8, 154u8, 172u8, 128u8, 4u8, 164u8, 230u8, 63u8, + 196u8, 243u8, 118u8, 187u8, 220u8, 168u8, 73u8, 51u8, 254u8, + 233u8, 214u8, 238u8, 16u8, 227u8, + ], + ) + } + #[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."] + pub fn force_set_progress( + &self, + progress_top : runtime_types :: pallet_state_trie_migration :: pallet :: Progress, + progress_child : runtime_types :: pallet_state_trie_migration :: pallet :: Progress, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "StateTrieMigration", + "force_set_progress", + ForceSetProgress { + progress_top, + progress_child, + }, + [ + 29u8, 180u8, 184u8, 136u8, 24u8, 192u8, 64u8, 95u8, 243u8, + 171u8, 184u8, 20u8, 62u8, 5u8, 1u8, 25u8, 12u8, 105u8, 137u8, + 81u8, 161u8, 39u8, 215u8, 180u8, 225u8, 24u8, 122u8, 124u8, + 122u8, 183u8, 141u8, 224u8, + ], + ) + } + } + } + #[doc = "Inner events of this pallet."] + pub type Event = runtime_types::pallet_state_trie_migration::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Given number of `(top, child)` keys were migrated respectively, with the given"] + #[doc = "`compute`."] + pub struct Migrated { + pub top: ::core::primitive::u32, + pub child: ::core::primitive::u32, + pub compute: + runtime_types::pallet_state_trie_migration::pallet::MigrationCompute, + } + impl ::subxt::events::StaticEvent for Migrated { + const PALLET: &'static str = "StateTrieMigration"; + const EVENT: &'static str = "Migrated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some account got slashed by the given amount."] + pub struct Slashed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "StateTrieMigration"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The auto migration task finished."] + pub struct AutoMigrationFinished; + impl ::subxt::events::StaticEvent for AutoMigrationFinished { + const PALLET: &'static str = "StateTrieMigration"; + const EVENT: &'static str = "AutoMigrationFinished"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Migration got halted due to an error or miss-configuration."] + pub struct Halted { + pub error: runtime_types::pallet_state_trie_migration::pallet::Error, + } + impl ::subxt::events::StaticEvent for Halted { + const PALLET: &'static str = "StateTrieMigration"; + const EVENT: &'static str = "Halted"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Migration progress."] + #[doc = ""] + #[doc = " This stores the snapshot of the last migrated keys. It can be set into motion and move"] + #[doc = " forward by any of the means provided by this pallet."] + pub fn migration_process( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_state_trie_migration::pallet::MigrationTask, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "StateTrieMigration", + "MigrationProcess", + vec![], + [ + 151u8, 248u8, 89u8, 241u8, 228u8, 249u8, 59u8, 199u8, 21u8, + 95u8, 182u8, 95u8, 205u8, 226u8, 119u8, 123u8, 241u8, 60u8, + 242u8, 52u8, 113u8, 101u8, 170u8, 140u8, 66u8, 66u8, 248u8, + 130u8, 130u8, 140u8, 206u8, 202u8, + ], + ) + } + #[doc = " The limits that are imposed on automatic migrations."] + #[doc = ""] + #[doc = " If set to None, then no automatic migration happens."] pub fn auto_limits (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < :: core :: option :: Option < runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits > > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , () >{ + ::subxt::storage::address::StaticStorageAddress::new( + "StateTrieMigration", + "AutoLimits", + vec![], + [ + 214u8, 100u8, 160u8, 204u8, 4u8, 205u8, 205u8, 100u8, 60u8, + 127u8, 84u8, 243u8, 50u8, 164u8, 153u8, 1u8, 250u8, 123u8, + 134u8, 109u8, 115u8, 173u8, 102u8, 104u8, 18u8, 134u8, 43u8, + 3u8, 7u8, 26u8, 157u8, 39u8, + ], + ) + } + #[doc = " The maximum limits that the signed migration could use."] + #[doc = ""] + #[doc = " If not set, no signed submission is allowed."] pub fn signed_migration_max_limits (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits > , :: subxt :: storage :: address :: Yes , () , () >{ + ::subxt::storage::address::StaticStorageAddress::new( + "StateTrieMigration", + "SignedMigrationMaxLimits", + vec![], + [ + 142u8, 87u8, 222u8, 135u8, 24u8, 133u8, 45u8, 18u8, 104u8, + 31u8, 147u8, 121u8, 17u8, 155u8, 64u8, 166u8, 209u8, 145u8, + 231u8, 65u8, 172u8, 104u8, 165u8, 19u8, 181u8, 240u8, 169u8, + 6u8, 249u8, 140u8, 63u8, 252u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Maximal number of bytes that a key can have."] + #[doc = ""] + #[doc = " FRAME itself does not limit the key length."] + #[doc = " The concrete value must therefore depend on your storage usage."] + #[doc = " A [`frame_support::storage::StorageNMap`] for example can have an arbitrary number of"] + #[doc = " keys which are then hashed and concatenated, resulting in arbitrarily long keys."] + #[doc = ""] + #[doc = " Use the *state migration RPC* to retrieve the length of the longest key in your"] + #[doc = " storage: "] + #[doc = ""] + #[doc = " The migration will halt with a `Halted` event if this value is too small."] + #[doc = " Since there is no real penalty from over-estimating, it is advised to use a large"] + #[doc = " value. The default is 512 byte."] + #[doc = ""] + #[doc = " Some key lengths for reference:"] + #[doc = " - [`frame_support::storage::StorageValue`]: 32 byte"] + #[doc = " - [`frame_support::storage::StorageMap`]: 64 byte"] + #[doc = " - [`frame_support::storage::StorageDoubleMap`]: 96 byte"] + #[doc = ""] + #[doc = " For more info see"] + #[doc = " "] + pub fn max_key_len( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "StateTrieMigration", + "MaxKeyLen", + [ + 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 child_bounties { + 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 AddChildBounty { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub value: ::core::primitive::u128, + pub description: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ProposeCurator { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + pub curator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AcceptCurator { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UnassignCurator { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AwardChildBounty { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + pub beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClaimChildBounty { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CloseChildBounty { + #[codec(compact)] + pub parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + pub child_bounty_id: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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."] + pub fn add_child_bounty( + &self, + parent_bounty_id: ::core::primitive::u32, + value: ::core::primitive::u128, + description: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ChildBounties", + "add_child_bounty", + AddChildBounty { + parent_bounty_id, + value, + description, + }, + [ + 210u8, 156u8, 242u8, 121u8, 28u8, 214u8, 212u8, 203u8, 46u8, + 45u8, 110u8, 25u8, 33u8, 138u8, 136u8, 71u8, 23u8, 102u8, + 203u8, 122u8, 77u8, 162u8, 112u8, 133u8, 43u8, 73u8, 201u8, + 176u8, 102u8, 68u8, 188u8, 8u8, + ], + ) + } + #[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."] + pub fn propose_curator( + &self, + parent_bounty_id: ::core::primitive::u32, + child_bounty_id: ::core::primitive::u32, + curator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + fee: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ChildBounties", + "propose_curator", + ProposeCurator { + parent_bounty_id, + child_bounty_id, + curator, + fee, + }, + [ + 147u8, 32u8, 161u8, 72u8, 92u8, 246u8, 250u8, 138u8, 98u8, + 84u8, 229u8, 228u8, 217u8, 128u8, 168u8, 20u8, 73u8, 113u8, + 55u8, 207u8, 117u8, 52u8, 9u8, 139u8, 223u8, 149u8, 48u8, + 1u8, 8u8, 82u8, 133u8, 112u8, + ], + ) + } + #[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."] + pub fn accept_curator( + &self, + parent_bounty_id: ::core::primitive::u32, + child_bounty_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ChildBounties", + "accept_curator", + AcceptCurator { + parent_bounty_id, + child_bounty_id, + }, + [ + 112u8, 175u8, 238u8, 54u8, 132u8, 20u8, 206u8, 59u8, 220u8, + 228u8, 207u8, 222u8, 132u8, 240u8, 188u8, 0u8, 210u8, 225u8, + 234u8, 142u8, 232u8, 53u8, 64u8, 89u8, 220u8, 29u8, 28u8, + 123u8, 125u8, 207u8, 10u8, 52u8, + ], + ) + } + #[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."] + pub fn unassign_curator( + &self, + parent_bounty_id: ::core::primitive::u32, + child_bounty_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ChildBounties", + "unassign_curator", + UnassignCurator { + parent_bounty_id, + child_bounty_id, + }, + [ + 228u8, 189u8, 46u8, 75u8, 121u8, 161u8, 150u8, 87u8, 207u8, + 86u8, 192u8, 50u8, 52u8, 61u8, 49u8, 88u8, 178u8, 182u8, + 89u8, 72u8, 203u8, 45u8, 41u8, 26u8, 149u8, 114u8, 154u8, + 169u8, 118u8, 128u8, 13u8, 211u8, + ], + ) + } + #[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."] + pub fn award_child_bounty( + &self, + parent_bounty_id: ::core::primitive::u32, + child_bounty_id: ::core::primitive::u32, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ChildBounties", + "award_child_bounty", + AwardChildBounty { + parent_bounty_id, + child_bounty_id, + beneficiary, + }, + [ + 214u8, 25u8, 53u8, 19u8, 146u8, 11u8, 223u8, 173u8, 22u8, + 235u8, 27u8, 57u8, 90u8, 171u8, 161u8, 45u8, 102u8, 37u8, + 171u8, 110u8, 215u8, 151u8, 46u8, 136u8, 93u8, 7u8, 254u8, + 112u8, 47u8, 42u8, 144u8, 140u8, + ], + ) + } + #[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."] + pub fn claim_child_bounty( + &self, + parent_bounty_id: ::core::primitive::u32, + child_bounty_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ChildBounties", + "claim_child_bounty", + ClaimChildBounty { + parent_bounty_id, + child_bounty_id, + }, + [ + 134u8, 243u8, 151u8, 228u8, 38u8, 174u8, 96u8, 140u8, 104u8, + 124u8, 166u8, 206u8, 126u8, 211u8, 17u8, 100u8, 172u8, 5u8, + 234u8, 171u8, 125u8, 2u8, 191u8, 163u8, 72u8, 29u8, 163u8, + 107u8, 65u8, 92u8, 41u8, 45u8, + ], + ) + } + #[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."] + pub fn close_child_bounty( + &self, + parent_bounty_id: ::core::primitive::u32, + child_bounty_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ChildBounties", + "close_child_bounty", + CloseChildBounty { + parent_bounty_id, + child_bounty_id, + }, + [ + 40u8, 0u8, 235u8, 75u8, 36u8, 196u8, 29u8, 26u8, 30u8, 172u8, + 240u8, 44u8, 129u8, 243u8, 55u8, 211u8, 96u8, 159u8, 72u8, + 96u8, 142u8, 68u8, 41u8, 238u8, 157u8, 167u8, 90u8, 141u8, + 213u8, 249u8, 222u8, 22u8, + ], + ) + } + } + } + #[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_child_bounties::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A child-bounty is added."] + pub struct Added { + pub index: ::core::primitive::u32, + pub child_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Added { + const PALLET: &'static str = "ChildBounties"; + const EVENT: &'static str = "Added"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A child-bounty is awarded to a beneficiary."] + pub struct Awarded { + pub index: ::core::primitive::u32, + pub child_index: ::core::primitive::u32, + pub beneficiary: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Awarded { + const PALLET: &'static str = "ChildBounties"; + const EVENT: &'static str = "Awarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A child-bounty is claimed by beneficiary."] + pub struct Claimed { + pub index: ::core::primitive::u32, + pub child_index: ::core::primitive::u32, + pub payout: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Claimed { + const PALLET: &'static str = "ChildBounties"; + const EVENT: &'static str = "Claimed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A child-bounty is cancelled."] + pub struct Canceled { + pub index: ::core::primitive::u32, + pub child_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Canceled { + const PALLET: &'static str = "ChildBounties"; + const EVENT: &'static str = "Canceled"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Number of total child bounties."] + pub fn child_bounty_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ChildBounties", + "ChildBountyCount", + vec![], + [ + 46u8, 10u8, 183u8, 160u8, 98u8, 215u8, 39u8, 253u8, 81u8, + 94u8, 114u8, 147u8, 115u8, 162u8, 33u8, 117u8, 160u8, 214u8, + 167u8, 7u8, 109u8, 143u8, 158u8, 1u8, 200u8, 205u8, 17u8, + 93u8, 89u8, 26u8, 30u8, 95u8, + ], + ) + } + #[doc = " Number of child bounties per parent bounty."] + #[doc = " Map of parent bounty index to number of child bounties."] + pub fn parent_child_bounties( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ChildBounties", + "ParentChildBounties", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 127u8, 161u8, 181u8, 79u8, 235u8, 196u8, 252u8, 162u8, 39u8, + 15u8, 251u8, 49u8, 125u8, 80u8, 101u8, 24u8, 234u8, 88u8, + 212u8, 126u8, 63u8, 63u8, 19u8, 75u8, 137u8, 125u8, 38u8, + 250u8, 77u8, 49u8, 76u8, 188u8, + ], + ) + } + #[doc = " Number of child bounties per parent bounty."] + #[doc = " Map of parent bounty index to number of child bounties."] + pub fn parent_child_bounties_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ChildBounties", + "ParentChildBounties", + Vec::new(), + [ + 127u8, 161u8, 181u8, 79u8, 235u8, 196u8, 252u8, 162u8, 39u8, + 15u8, 251u8, 49u8, 125u8, 80u8, 101u8, 24u8, 234u8, 88u8, + 212u8, 126u8, 63u8, 63u8, 19u8, 75u8, 137u8, 125u8, 38u8, + 250u8, 77u8, 49u8, 76u8, 188u8, + ], + ) + } + #[doc = " Child bounties that have been added."] + pub fn child_bounties( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_child_bounties::ChildBounty< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ChildBounties", + "ChildBounties", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 66u8, 132u8, 251u8, 223u8, 216u8, 52u8, 162u8, 150u8, 229u8, + 239u8, 219u8, 182u8, 211u8, 228u8, 181u8, 46u8, 243u8, 151u8, + 111u8, 235u8, 105u8, 40u8, 39u8, 10u8, 245u8, 113u8, 78u8, + 116u8, 219u8, 186u8, 165u8, 91u8, + ], + ) + } + #[doc = " Child bounties that have been added."] + pub fn child_bounties_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_child_bounties::ChildBounty< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u32, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ChildBounties", + "ChildBounties", + Vec::new(), + [ + 66u8, 132u8, 251u8, 223u8, 216u8, 52u8, 162u8, 150u8, 229u8, + 239u8, 219u8, 182u8, 211u8, 228u8, 181u8, 46u8, 243u8, 151u8, + 111u8, 235u8, 105u8, 40u8, 39u8, 10u8, 245u8, 113u8, 78u8, + 116u8, 219u8, 186u8, 165u8, 91u8, + ], + ) + } + #[doc = " The description of each child-bounty."] + pub fn child_bounty_descriptions( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ChildBounties", + "ChildBountyDescriptions", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 193u8, 200u8, 40u8, 30u8, 14u8, 71u8, 90u8, 42u8, 58u8, + 253u8, 225u8, 158u8, 172u8, 10u8, 45u8, 238u8, 36u8, 144u8, + 184u8, 153u8, 11u8, 157u8, 125u8, 220u8, 175u8, 31u8, 28u8, + 93u8, 207u8, 212u8, 141u8, 74u8, + ], + ) + } + #[doc = " The description of each child-bounty."] + pub fn child_bounty_descriptions_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ChildBounties", + "ChildBountyDescriptions", + Vec::new(), + [ + 193u8, 200u8, 40u8, 30u8, 14u8, 71u8, 90u8, 42u8, 58u8, + 253u8, 225u8, 158u8, 172u8, 10u8, 45u8, 238u8, 36u8, 144u8, + 184u8, 153u8, 11u8, 157u8, 125u8, 220u8, 175u8, 31u8, 28u8, + 93u8, 207u8, 212u8, 141u8, 74u8, + ], + ) + } + #[doc = " The cumulative child-bounty curator fee for each parent bounty."] + pub fn children_curator_fees( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ChildBounties", + "ChildrenCuratorFees", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 174u8, 128u8, 86u8, 179u8, 133u8, 76u8, 98u8, 169u8, 234u8, + 166u8, 249u8, 214u8, 172u8, 171u8, 8u8, 161u8, 105u8, 69u8, + 148u8, 151u8, 35u8, 174u8, 118u8, 139u8, 101u8, 56u8, 85u8, + 211u8, 121u8, 168u8, 0u8, 216u8, + ], + ) + } + #[doc = " The cumulative child-bounty curator fee for each parent bounty."] + pub fn children_curator_fees_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ChildBounties", + "ChildrenCuratorFees", + Vec::new(), + [ + 174u8, 128u8, 86u8, 179u8, 133u8, 76u8, 98u8, 169u8, 234u8, + 166u8, 249u8, 214u8, 172u8, 171u8, 8u8, 161u8, 105u8, 69u8, + 148u8, 151u8, 35u8, 174u8, 118u8, 139u8, 101u8, 56u8, 85u8, + 211u8, 121u8, 168u8, 0u8, 216u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Maximum number of child bounties that can be added to a parent bounty."] + pub fn max_active_child_bounty_count( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ChildBounties", + "MaxActiveChildBountyCount", + [ + 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 = " Minimum value for a child-bounty."] + pub fn child_bounty_value_minimum( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ChildBounties", + "ChildBountyValueMinimum", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod referenda { + 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 Submit { + pub proposal_origin: + ::std::boxed::Box, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + pub enactment_moment: + runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PlaceDecisionDeposit { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RefundDecisionDeposit { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Cancel { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Kill { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct NudgeReferendum { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OneFewerDeciding { + pub track: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RefundSubmissionDeposit { + pub index: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Propose a referendum on a privileged action."] + #[doc = ""] + #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"] + #[doc = " available."] + #[doc = "- `proposal_origin`: The origin from which the proposal should be executed."] + #[doc = "- `proposal`: The proposal."] + #[doc = "- `enactment_moment`: The moment that the proposal should be enacted."] + #[doc = ""] + #[doc = "Emits `Submitted`."] + pub fn submit( + &self, + proposal_origin: runtime_types::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 >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Referenda", + "submit", + Submit { + proposal_origin: ::std::boxed::Box::new(proposal_origin), + proposal, + enactment_moment, + }, + [ + 91u8, 158u8, 209u8, 182u8, 19u8, 184u8, 252u8, 30u8, 200u8, + 62u8, 92u8, 254u8, 200u8, 245u8, 134u8, 143u8, 135u8, 67u8, + 95u8, 107u8, 115u8, 109u8, 12u8, 48u8, 111u8, 239u8, 84u8, + 255u8, 23u8, 26u8, 140u8, 187u8, + ], + ) + } + #[doc = "Post the Decision Deposit for a referendum."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"] + #[doc = " referendum's track's Decision Deposit."] + #[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"] + #[doc = " posted."] + #[doc = ""] + #[doc = "Emits `DecisionDepositPlaced`."] + pub fn place_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Referenda", + "place_decision_deposit", + PlaceDecisionDeposit { index }, + [ + 118u8, 227u8, 8u8, 55u8, 41u8, 171u8, 244u8, 40u8, 164u8, + 232u8, 119u8, 129u8, 139u8, 123u8, 77u8, 70u8, 219u8, 236u8, + 145u8, 159u8, 84u8, 111u8, 36u8, 4u8, 206u8, 5u8, 139u8, + 231u8, 11u8, 231u8, 6u8, 30u8, + ], + ) + } + #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `DecisionDepositRefunded`."] + pub fn refund_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Referenda", + "refund_decision_deposit", + RefundDecisionDeposit { index }, + [ + 120u8, 116u8, 89u8, 51u8, 255u8, 76u8, 150u8, 74u8, 54u8, + 93u8, 19u8, 64u8, 13u8, 177u8, 144u8, 93u8, 132u8, 150u8, + 244u8, 48u8, 202u8, 223u8, 201u8, 130u8, 112u8, 167u8, 29u8, + 207u8, 112u8, 181u8, 43u8, 93u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum."] + #[doc = ""] + #[doc = "- `origin`: must be the `CancelOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Cancelled`."] + pub fn cancel( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Referenda", + "cancel", + Cancel { index }, + [ + 247u8, 55u8, 146u8, 211u8, 168u8, 140u8, 248u8, 217u8, 218u8, + 235u8, 25u8, 39u8, 47u8, 132u8, 134u8, 18u8, 239u8, 70u8, + 223u8, 50u8, 245u8, 101u8, 97u8, 39u8, 226u8, 4u8, 196u8, + 16u8, 66u8, 177u8, 178u8, 252u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum and slash the deposits."] + #[doc = ""] + #[doc = "- `origin`: must be the `KillOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Killed` and `DepositSlashed`."] + pub fn kill( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Referenda", + "kill", + Kill { index }, + [ + 98u8, 109u8, 143u8, 42u8, 24u8, 80u8, 39u8, 243u8, 249u8, + 141u8, 104u8, 195u8, 29u8, 93u8, 149u8, 37u8, 27u8, 130u8, + 84u8, 178u8, 246u8, 26u8, 113u8, 224u8, 157u8, 94u8, 16u8, + 14u8, 158u8, 80u8, 148u8, 198u8, + ], + ) + } + #[doc = "Advance a referendum onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `index`: the referendum to be advanced."] + pub fn nudge_referendum( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Referenda", + "nudge_referendum", + NudgeReferendum { index }, + [ + 60u8, 221u8, 153u8, 136u8, 107u8, 209u8, 59u8, 178u8, 208u8, + 170u8, 10u8, 225u8, 213u8, 170u8, 228u8, 64u8, 204u8, 166u8, + 7u8, 230u8, 243u8, 15u8, 206u8, 114u8, 8u8, 128u8, 46u8, + 150u8, 114u8, 241u8, 112u8, 97u8, + ], + ) + } + #[doc = "Advance a track onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `track`: the track to be advanced."] + #[doc = ""] + #[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"] + #[doc = "`DecidingCount` is not yet updated. This means that we should either:"] + #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"] + #[doc = "- decrement `DecidingCount`."] + pub fn one_fewer_deciding( + &self, + track: ::core::primitive::u16, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Referenda", + "one_fewer_deciding", + OneFewerDeciding { track }, + [ + 239u8, 43u8, 70u8, 73u8, 77u8, 28u8, 75u8, 62u8, 29u8, 67u8, + 110u8, 120u8, 234u8, 236u8, 126u8, 99u8, 46u8, 183u8, 169u8, + 16u8, 143u8, 233u8, 137u8, 247u8, 138u8, 96u8, 32u8, 223u8, + 149u8, 52u8, 214u8, 195u8, + ], + ) + } + #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `SubmissionDepositRefunded`."] + pub fn refund_submission_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Referenda", + "refund_submission_deposit", + RefundSubmissionDeposit { index }, + [ + 101u8, 147u8, 237u8, 27u8, 220u8, 116u8, 73u8, 131u8, 191u8, + 92u8, 134u8, 31u8, 175u8, 172u8, 129u8, 225u8, 91u8, 33u8, + 23u8, 132u8, 89u8, 19u8, 81u8, 238u8, 133u8, 243u8, 56u8, + 70u8, 143u8, 43u8, 176u8, 83u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_referenda::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been submitted."] + pub struct Submitted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + } + impl ::subxt::events::StaticEvent for Submitted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Submitted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The decision deposit has been placed."] + pub struct DecisionDepositPlaced { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositPlaced { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DecisionDepositPlaced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The decision deposit has been refunded."] + pub struct DecisionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositRefunded { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DecisionDepositRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A deposit has been slashaed."] + pub struct DepositSlashed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DepositSlashed { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DepositSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has moved into the deciding phase."] + pub struct DecisionStarted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + pub tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for DecisionStarted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DecisionStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ConfirmStarted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmStarted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "ConfirmStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ConfirmAborted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmAborted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "ConfirmAborted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has ended its confirmation phase and is ready for approval."] + pub struct Confirmed { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for Confirmed { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Confirmed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been approved and its proposal has been scheduled."] + pub struct Approved { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Approved { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Approved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal has been rejected by referendum."] + pub struct Rejected { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for Rejected { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Rejected"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been timed out without being decided."] + pub struct TimedOut { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for TimedOut { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "TimedOut"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been cancelled."] + pub struct Cancelled { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for Cancelled { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Cancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been killed."] + pub struct Killed { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for Killed { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Killed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The submission deposit has been refunded."] + pub struct SubmissionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubmissionDepositRefunded { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "SubmissionDepositRefunded"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The next free referendum index, aka the number of referenda started so far."] + pub fn referendum_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Referenda", + "ReferendumCount", + vec![], + [ + 153u8, 210u8, 106u8, 244u8, 156u8, 70u8, 124u8, 251u8, 123u8, + 75u8, 7u8, 189u8, 199u8, 145u8, 95u8, 119u8, 137u8, 11u8, + 240u8, 160u8, 151u8, 248u8, 229u8, 231u8, 89u8, 222u8, 18u8, + 237u8, 144u8, 78u8, 99u8, 58u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::kitchensink_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Referenda", + "ReferendumInfoFor", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 25u8, 217u8, 0u8, 39u8, 178u8, 83u8, 21u8, 62u8, 224u8, + 149u8, 196u8, 86u8, 187u8, 173u8, 75u8, 17u8, 234u8, 126u8, + 202u8, 44u8, 196u8, 253u8, 214u8, 158u8, 119u8, 128u8, 69u8, + 239u8, 178u8, 51u8, 117u8, 16u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::kitchensink_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Referenda", + "ReferendumInfoFor", + Vec::new(), + [ + 25u8, 217u8, 0u8, 39u8, 178u8, 83u8, 21u8, 62u8, 224u8, + 149u8, 196u8, 86u8, 187u8, 173u8, 75u8, 17u8, 234u8, 126u8, + 202u8, 44u8, 196u8, 253u8, 214u8, 158u8, 119u8, 128u8, 69u8, + 239u8, 178u8, 51u8, 117u8, 16u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u128, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Referenda", + "TrackQueue", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 254u8, 82u8, 183u8, 246u8, 168u8, 87u8, 175u8, 224u8, 192u8, + 117u8, 129u8, 244u8, 18u8, 18u8, 249u8, 30u8, 51u8, 133u8, + 244u8, 117u8, 194u8, 174u8, 99u8, 51u8, 155u8, 76u8, 206u8, + 202u8, 109u8, 39u8, 253u8, 240u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u128, + )>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Referenda", + "TrackQueue", + Vec::new(), + [ + 254u8, 82u8, 183u8, 246u8, 168u8, 87u8, 175u8, 224u8, 192u8, + 117u8, 129u8, 244u8, 18u8, 18u8, 249u8, 30u8, 51u8, 133u8, + 244u8, 117u8, 194u8, 174u8, 99u8, 51u8, 155u8, 76u8, 206u8, + 202u8, 109u8, 39u8, 253u8, 240u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Referenda", + "DecidingCount", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 101u8, 153u8, 200u8, 225u8, 229u8, 227u8, 232u8, 26u8, 98u8, + 60u8, 60u8, 94u8, 204u8, 195u8, 193u8, 69u8, 50u8, 72u8, + 31u8, 250u8, 224u8, 179u8, 139u8, 207u8, 19u8, 156u8, 67u8, + 234u8, 177u8, 223u8, 63u8, 150u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Referenda", + "DecidingCount", + Vec::new(), + [ + 101u8, 153u8, 200u8, 225u8, 229u8, 227u8, 232u8, 26u8, 98u8, + 60u8, 60u8, 94u8, 204u8, 195u8, 193u8, 69u8, 50u8, 72u8, + 31u8, 250u8, 224u8, 179u8, 139u8, 207u8, 19u8, 156u8, 67u8, + 234u8, 177u8, 223u8, 63u8, 150u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount to be used as a deposit for a public referendum proposal."] + pub fn submission_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Referenda", + "SubmissionDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Maximum size of the referendum queue for a single track."] + pub fn max_queued( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Referenda", + "MaxQueued", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The number of blocks after submission that a referendum must begin being decided by."] + #[doc = " Once this passes, then anyone may cancel the referendum."] + pub fn undeciding_timeout( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Referenda", + "UndecidingTimeout", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"] + #[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"] + #[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."] + pub fn alarm_interval( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Referenda", + "AlarmInterval", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Information concerning the different referendum tracks."] + pub fn tracks( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<( + ::core::primitive::u16, + runtime_types::pallet_referenda::types::TrackInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + )>, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Referenda", + "Tracks", + [ + 71u8, 253u8, 246u8, 54u8, 168u8, 190u8, 182u8, 15u8, 207u8, + 26u8, 50u8, 138u8, 212u8, 124u8, 13u8, 203u8, 27u8, 35u8, + 224u8, 1u8, 176u8, 192u8, 197u8, 220u8, 147u8, 94u8, 196u8, + 150u8, 125u8, 23u8, 48u8, 255u8, + ], + ) + } + } + } + } + pub mod remark { + 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 Store { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Index and store data off chain."] + pub fn store( + &self, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Remark", + "store", + Store { remark }, + [ + 55u8, 111u8, 88u8, 127u8, 252u8, 241u8, 51u8, 152u8, 154u8, + 138u8, 228u8, 171u8, 59u8, 29u8, 135u8, 236u8, 227u8, 108u8, + 169u8, 205u8, 25u8, 96u8, 118u8, 73u8, 105u8, 132u8, 150u8, + 148u8, 94u8, 230u8, 66u8, 73u8, + ], + ) + } + } + } + #[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_remark::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Stored data off chain."] + pub struct Stored { + pub sender: ::subxt::utils::AccountId32, + pub content_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Stored { + const PALLET: &'static str = "Remark"; + const EVENT: &'static str = "Stored"; + } + } + } + pub mod root_testing { + 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 FillBlock { + pub ratio: runtime_types::sp_arithmetic::per_things::Perbill, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "A dispatch that will fill the block weight up to the given ratio."] + pub fn fill_block( + &self, + ratio: runtime_types::sp_arithmetic::per_things::Perbill, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RootTesting", + "fill_block", + FillBlock { ratio }, + [ + 48u8, 18u8, 205u8, 90u8, 222u8, 4u8, 20u8, 251u8, 173u8, + 76u8, 167u8, 4u8, 83u8, 203u8, 160u8, 89u8, 132u8, 218u8, + 191u8, 145u8, 130u8, 245u8, 177u8, 201u8, 169u8, 129u8, + 173u8, 105u8, 88u8, 45u8, 136u8, 191u8, + ], + ) + } + } + } + } + pub mod conviction_voting { + 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 Vote { + #[codec(compact)] + pub poll_index: ::core::primitive::u32, + pub vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Delegate { + pub class: ::core::primitive::u16, + pub to: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub conviction: + runtime_types::pallet_conviction_voting::conviction::Conviction, + pub balance: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Undelegate { + pub class: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Unlock { + pub class: ::core::primitive::u16, + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveVote { + pub class: ::core::option::Option<::core::primitive::u16>, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveOtherVote { + pub target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub class: ::core::primitive::u16, + pub index: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"] + #[doc = "otherwise it is a vote to keep the status quo."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `poll_index`: The index of the poll to vote for."] + #[doc = "- `vote`: The vote configuration."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."] + pub fn vote( + &self, + poll_index: ::core::primitive::u32, + vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ConvictionVoting", + "vote", + Vote { poll_index, vote }, + [ + 255u8, 8u8, 191u8, 166u8, 7u8, 48u8, 227u8, 0u8, 34u8, 109u8, + 3u8, 172u8, 168u8, 37u8, 220u8, 229u8, 88u8, 61u8, 117u8, + 212u8, 131u8, 124u8, 74u8, 60u8, 83u8, 62u8, 193u8, 66u8, + 162u8, 121u8, 76u8, 180u8, + ], + ) + } + #[doc = "Delegate the voting power (with some given conviction) of the sending account for a"] + #[doc = "particular class of polls."] + #[doc = ""] + #[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"] + #[doc = "time appropriate for the conviction's lock period."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"] + #[doc = " - be delegating already; or"] + #[doc = " - have no voting activity (if there is, then it will need to be removed/consolidated"] + #[doc = " through `reap_vote` or `unvote`)."] + #[doc = ""] + #[doc = "- `to`: The account whose voting the `target` account's voting power will follow."] + #[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"] + #[doc = " to this function are required."] + #[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"] + #[doc = " account is undelegated, the funds will be locked for the corresponding period."] + #[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"] + #[doc = " be more than the account's current balance."] + #[doc = ""] + #[doc = "Emits `Delegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + pub fn delegate( + &self, + class: ::core::primitive::u16, + to: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + conviction : runtime_types :: pallet_conviction_voting :: conviction :: Conviction, + balance: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ConvictionVoting", + "delegate", + Delegate { + class, + to, + conviction, + balance, + }, + [ + 171u8, 252u8, 251u8, 36u8, 176u8, 75u8, 66u8, 106u8, 199u8, + 126u8, 94u8, 221u8, 146u8, 1u8, 172u8, 60u8, 160u8, 245u8, + 47u8, 98u8, 183u8, 66u8, 96u8, 19u8, 129u8, 163u8, 118u8, + 216u8, 54u8, 109u8, 190u8, 103u8, + ], + ) + } + #[doc = "Undelegate the voting power of the sending account for a particular class of polls."] + #[doc = ""] + #[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"] + #[doc = "of the conviction with which the delegation was issued has passed."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"] + #[doc = "currently delegating."] + #[doc = ""] + #[doc = "- `class`: The class of polls to remove the delegation from."] + #[doc = ""] + #[doc = "Emits `Undelegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + pub fn undelegate( + &self, + class: ::core::primitive::u16, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ConvictionVoting", + "undelegate", + Undelegate { class }, + [ + 0u8, 244u8, 151u8, 108u8, 96u8, 240u8, 126u8, 247u8, 29u8, + 33u8, 25u8, 34u8, 253u8, 207u8, 107u8, 227u8, 139u8, 64u8, + 184u8, 112u8, 246u8, 81u8, 201u8, 41u8, 32u8, 201u8, 194u8, + 201u8, 4u8, 170u8, 40u8, 83u8, + ], + ) + } + #[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"] + #[doc = "class."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `class`: The class of polls to unlock."] + #[doc = "- `target`: The account to remove the lock on."] + #[doc = ""] + #[doc = "Weight: `O(R)` with R number of vote of target."] + pub fn unlock( + &self, + class: ::core::primitive::u16, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ConvictionVoting", + "unlock", + Unlock { class, target }, + [ + 165u8, 17u8, 167u8, 109u8, 53u8, 26u8, 241u8, 236u8, 105u8, + 144u8, 12u8, 61u8, 100u8, 52u8, 54u8, 88u8, 203u8, 255u8, + 63u8, 215u8, 137u8, 156u8, 112u8, 243u8, 79u8, 136u8, 147u8, + 185u8, 102u8, 0u8, 57u8, 223u8, + ], + ) + } + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If:"] + #[doc = "- the poll was cancelled, or"] + #[doc = "- the poll is ongoing, or"] + #[doc = "- the poll has ended such that"] + #[doc = " - the vote of the account was in opposition to the result; or"] + #[doc = " - there was no conviction to the account's vote; or"] + #[doc = " - the account made a split vote"] + #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"] + #[doc = "funds being available."] + #[doc = ""] + #[doc = "If, however, the poll has ended and:"] + #[doc = "- it finished corresponding to the vote of the account, and"] + #[doc = "- the account made a standard vote with conviction, and"] + #[doc = "- the lock period of the conviction is not over"] + #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"] + #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"] + #[doc = "of both the amount locked and the time is it locked for)."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"] + #[doc = "registered for poll `index`."] + #[doc = ""] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"] + #[doc = " which have finished or are cancelled, this must be `Some`."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + pub fn remove_vote( + &self, + class: ::core::option::Option<::core::primitive::u16>, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ConvictionVoting", + "remove_vote", + RemoveVote { class, index }, + [ + 151u8, 255u8, 135u8, 195u8, 137u8, 27u8, 116u8, 193u8, 245u8, + 78u8, 38u8, 130u8, 233u8, 28u8, 235u8, 50u8, 144u8, 191u8, + 39u8, 68u8, 17u8, 214u8, 25u8, 2u8, 120u8, 14u8, 219u8, + 205u8, 59u8, 192u8, 125u8, 142u8, + ], + ) + } + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] + #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"] + #[doc = "either because the poll was cancelled, because the voter lost the poll or"] + #[doc = "because the conviction period is over."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"] + #[doc = " `index`."] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: The class of the poll."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + pub fn remove_other_vote( + &self, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + class: ::core::primitive::u16, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "ConvictionVoting", + "remove_other_vote", + RemoveOtherVote { + target, + class, + index, + }, + [ + 9u8, 219u8, 232u8, 254u8, 85u8, 1u8, 189u8, 186u8, 87u8, + 95u8, 27u8, 248u8, 14u8, 165u8, 86u8, 167u8, 230u8, 18u8, + 225u8, 151u8, 105u8, 169u8, 84u8, 254u8, 201u8, 122u8, 157u8, + 189u8, 40u8, 29u8, 107u8, 21u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_conviction_voting::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has delegated their vote to another account. \\[who, target\\]"] + pub struct Delegated( + pub ::subxt::utils::AccountId32, + pub ::subxt::utils::AccountId32, + ); + impl ::subxt::events::StaticEvent for Delegated { + const PALLET: &'static str = "ConvictionVoting"; + const EVENT: &'static str = "Delegated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An \\[account\\] has cancelled a previous delegation operation."] + pub struct Undelegated(pub ::subxt::utils::AccountId32); + impl ::subxt::events::StaticEvent for Undelegated { + const PALLET: &'static str = "ConvictionVoting"; + const EVENT: &'static str = "Undelegated"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"] + #[doc = " number of votes that we have recorded."] + pub fn voting_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_conviction_voting::vote::Voting< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u32, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ConvictionVoting", + "VotingFor", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 45u8, 18u8, 71u8, 145u8, 31u8, 220u8, 221u8, 51u8, 69u8, + 73u8, 153u8, 139u8, 46u8, 231u8, 122u8, 15u8, 98u8, 186u8, + 57u8, 121u8, 24u8, 241u8, 161u8, 150u8, 252u8, 133u8, 65u8, + 232u8, 21u8, 28u8, 25u8, 75u8, + ], + ) + } + #[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"] + #[doc = " number of votes that we have recorded."] + pub fn voting_for_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_conviction_voting::vote::Voting< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u32, + ::core::primitive::u32, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ConvictionVoting", + "VotingFor", + Vec::new(), + [ + 45u8, 18u8, 71u8, 145u8, 31u8, 220u8, 221u8, 51u8, 69u8, + 73u8, 153u8, 139u8, 46u8, 231u8, 122u8, 15u8, 98u8, 186u8, + 57u8, 121u8, 24u8, 241u8, 161u8, 150u8, 252u8, 133u8, 65u8, + 232u8, 21u8, 28u8, 25u8, 75u8, + ], + ) + } + #[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"] + #[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"] + #[doc = " this list."] + pub fn class_locks_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u16, + ::core::primitive::u128, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ConvictionVoting", + "ClassLocksFor", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 65u8, 181u8, 225u8, 49u8, 35u8, 141u8, 185u8, 155u8, 124u8, + 178u8, 118u8, 51u8, 220u8, 232u8, 95u8, 24u8, 181u8, 135u8, + 42u8, 207u8, 103u8, 166u8, 244u8, 249u8, 106u8, 96u8, 177u8, + 56u8, 243u8, 117u8, 228u8, 145u8, + ], + ) + } + #[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"] + #[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"] + #[doc = " this list."] + pub fn class_locks_for_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u16, + ::core::primitive::u128, + )>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "ConvictionVoting", + "ClassLocksFor", + Vec::new(), + [ + 65u8, 181u8, 225u8, 49u8, 35u8, 141u8, 185u8, 155u8, 124u8, + 178u8, 118u8, 51u8, 220u8, 232u8, 95u8, 24u8, 181u8, 135u8, + 42u8, 207u8, 103u8, 166u8, 244u8, 249u8, 106u8, 96u8, 177u8, + 56u8, 243u8, 117u8, 228u8, 145u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum number of concurrent votes an account may have."] + #[doc = ""] + #[doc = " Also used to compute weight, an overly large value can lead to extrinsics with large"] + #[doc = " weight estimation: see `delegate` for instance."] + pub fn max_votes( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ConvictionVoting", + "MaxVotes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The minimum period of vote locking."] + #[doc = ""] + #[doc = " It should be no shorter than enactment period to ensure that in the case of an approval,"] + #[doc = " those successful voters are locked into the consequences that their votes entail."] + pub fn vote_locking_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "ConvictionVoting", + "VoteLockingPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + } + } + } + pub mod whitelist { + 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 WhitelistCall { + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveWhitelistedCall { + pub call_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DispatchWhitelistedCall { + pub call_hash: ::subxt::utils::H256, + pub call_encoded_len: ::core::primitive::u32, + pub call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DispatchWhitelistedCallWithPreimage { + pub call: + ::std::boxed::Box, + } + pub struct TransactionApi; + impl TransactionApi { + pub fn whitelist_call( + &self, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Whitelist", + "whitelist_call", + WhitelistCall { call_hash }, + [ + 21u8, 246u8, 244u8, 176u8, 163u8, 80u8, 45u8, 191u8, 3u8, + 180u8, 150u8, 66u8, 168u8, 3u8, 196u8, 129u8, 177u8, 104u8, + 48u8, 5u8, 201u8, 208u8, 226u8, 76u8, 148u8, 116u8, 206u8, + 119u8, 145u8, 78u8, 86u8, 41u8, + ], + ) + } + pub fn remove_whitelisted_call( + &self, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Whitelist", + "remove_whitelisted_call", + RemoveWhitelistedCall { call_hash }, + [ + 142u8, 227u8, 198u8, 110u8, 90u8, 127u8, 218u8, 117u8, 181u8, + 209u8, 210u8, 86u8, 133u8, 95u8, 244u8, 64u8, 50u8, 240u8, + 220u8, 50u8, 212u8, 106u8, 4u8, 189u8, 2u8, 72u8, 96u8, 52u8, + 187u8, 140u8, 144u8, 76u8, + ], + ) + } + pub fn dispatch_whitelisted_call( + &self, + call_hash: ::subxt::utils::H256, + call_encoded_len: ::core::primitive::u32, + call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Whitelist", + "dispatch_whitelisted_call", + DispatchWhitelistedCall { + call_hash, + call_encoded_len, + call_weight_witness, + }, + [ + 243u8, 130u8, 216u8, 251u8, 131u8, 220u8, 75u8, 210u8, 203u8, + 137u8, 174u8, 95u8, 134u8, 252u8, 76u8, 33u8, 230u8, 185u8, + 125u8, 15u8, 200u8, 85u8, 46u8, 43u8, 34u8, 205u8, 245u8, + 85u8, 46u8, 78u8, 245u8, 135u8, + ], + ) + } + pub fn dispatch_whitelisted_call_with_preimage( + &self, + call: runtime_types::kitchensink_runtime::RuntimeCall, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Whitelist", + "dispatch_whitelisted_call_with_preimage", + DispatchWhitelistedCallWithPreimage { + call: ::std::boxed::Box::new(call), + }, + [ + 53u8, 243u8, 154u8, 73u8, 65u8, 246u8, 13u8, 203u8, 160u8, + 243u8, 238u8, 79u8, 185u8, 70u8, 103u8, 134u8, 237u8, 253u8, + 90u8, 164u8, 81u8, 238u8, 180u8, 46u8, 183u8, 76u8, 216u8, + 30u8, 18u8, 244u8, 56u8, 196u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_whitelist::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CallWhitelisted { + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for CallWhitelisted { + const PALLET: &'static str = "Whitelist"; + const EVENT: &'static str = "CallWhitelisted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct WhitelistedCallRemoved { + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for WhitelistedCallRemoved { + const PALLET: &'static str = "Whitelist"; + const EVENT: &'static str = "WhitelistedCallRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct WhitelistedCallDispatched { + pub call_hash: ::subxt::utils::H256, + pub result: ::core::result::Result< + runtime_types::frame_support::dispatch::PostDispatchInfo, + runtime_types::sp_runtime::DispatchErrorWithPostInfo< + runtime_types::frame_support::dispatch::PostDispatchInfo, + >, + >, + } + impl ::subxt::events::StaticEvent for WhitelistedCallDispatched { + const PALLET: &'static str = "Whitelist"; + const EVENT: &'static str = "WhitelistedCallDispatched"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn whitelisted_call( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Whitelist", + "WhitelistedCall", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 251u8, 179u8, 58u8, 232u8, 231u8, 121u8, 89u8, 218u8, 90u8, + 70u8, 96u8, 132u8, 54u8, 41u8, 18u8, 129u8, 197u8, 122u8, + 221u8, 206u8, 41u8, 100u8, 200u8, 141u8, 71u8, 98u8, 3u8, + 3u8, 112u8, 167u8, 196u8, 77u8, + ], + ) + } + pub fn whitelisted_call_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Whitelist", + "WhitelistedCall", + Vec::new(), + [ + 251u8, 179u8, 58u8, 232u8, 231u8, 121u8, 89u8, 218u8, 90u8, + 70u8, 96u8, 132u8, 54u8, 41u8, 18u8, 129u8, 197u8, 122u8, + 221u8, 206u8, 41u8, 100u8, 200u8, 141u8, 71u8, 98u8, 3u8, + 3u8, 112u8, 167u8, 196u8, 77u8, + ], + ) + } + } + } + } + pub mod alliance_motion { + 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 SetMembers { + pub new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub prime: ::core::option::Option<::subxt::utils::AccountId32>, + pub old_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Execute { + pub proposal: + ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Propose { + #[codec(compact)] + pub threshold: ::core::primitive::u32, + pub proposal: + ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote { + pub proposal: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub approve: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CloseOldWeight { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + #[codec(compact)] + pub proposal_weight_bound: runtime_types::sp_weights::OldWeight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DisapproveProposal { + pub proposal_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Close { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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 = "Requires root origin."] + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] + #[doc = " members"] + #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] + #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] + #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] + #[doc = "# "] + pub fn set_members( + &self, + new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + prime: ::core::option::Option<::subxt::utils::AccountId32>, + old_count: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "AllianceMotion", + "set_members", + SetMembers { + new_members, + prime, + old_count, + }, + [ + 196u8, 103u8, 123u8, 125u8, 226u8, 177u8, 126u8, 37u8, 160u8, + 114u8, 34u8, 136u8, 219u8, 84u8, 199u8, 94u8, 242u8, 20u8, + 126u8, 126u8, 166u8, 190u8, 198u8, 33u8, 162u8, 113u8, 237u8, + 222u8, 90u8, 1u8, 2u8, 234u8, + ], + ) + } + #[doc = "Dispatch a proposal from a member using the `Member` origin."] + #[doc = ""] + #[doc = "Origin must be a member of the collective."] + #[doc = ""] + #[doc = "# "] + #[doc = "## Weight"] + #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] + #[doc = " `proposal`"] + #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] + #[doc = "- 1 event"] + #[doc = "# "] + pub fn execute( + &self, + proposal: runtime_types::kitchensink_runtime::RuntimeCall, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "AllianceMotion", + "execute", + Execute { + proposal: ::std::boxed::Box::new(proposal), + length_bound, + }, + [ + 11u8, 230u8, 151u8, 156u8, 17u8, 226u8, 224u8, 243u8, 34u8, + 47u8, 174u8, 194u8, 108u8, 108u8, 225u8, 234u8, 208u8, 246u8, + 234u8, 1u8, 163u8, 25u8, 151u8, 208u8, 10u8, 87u8, 0u8, 47u8, + 171u8, 217u8, 193u8, 141u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[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`)"] + #[doc = "- DB:"] + #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] + #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] + #[doc = " - DB accesses influenced by `threshold`:"] + #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] + #[doc = " - OR proposal insertion (`threshold <= 2`)"] + #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] + #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] + #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] + #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] + #[doc = " - 1 event"] + #[doc = "# "] + pub fn propose( + &self, + threshold: ::core::primitive::u32, + proposal: runtime_types::kitchensink_runtime::RuntimeCall, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "AllianceMotion", + "propose", + Propose { + threshold, + proposal: ::std::boxed::Box::new(proposal), + length_bound, + }, + [ + 86u8, 118u8, 118u8, 134u8, 244u8, 21u8, 74u8, 68u8, 219u8, + 175u8, 153u8, 175u8, 75u8, 118u8, 200u8, 66u8, 152u8, 203u8, + 5u8, 224u8, 152u8, 129u8, 167u8, 208u8, 225u8, 247u8, 119u8, + 116u8, 33u8, 68u8, 75u8, 245u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] + #[doc = "- DB:"] + #[doc = " - 1 storage read `Members` (codec `O(M)`)"] + #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] + #[doc = "- 1 event"] + #[doc = "# "] + pub fn vote( + &self, + proposal: ::subxt::utils::H256, + index: ::core::primitive::u32, + approve: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "AllianceMotion", + "vote", + Vote { + proposal, + index, + approve, + }, + [ + 108u8, 46u8, 180u8, 148u8, 145u8, 24u8, 173u8, 56u8, 36u8, + 100u8, 216u8, 43u8, 178u8, 202u8, 26u8, 136u8, 93u8, 84u8, + 80u8, 134u8, 14u8, 42u8, 248u8, 205u8, 68u8, 92u8, 79u8, + 11u8, 113u8, 115u8, 157u8, 100u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] + #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] + #[doc = " `O(P2)`)"] + #[doc = " - any mutations done while executing `proposal` (`P1`)"] + #[doc = "- up to 3 events"] + #[doc = "# "] + pub fn close_old_weight( + &self, + proposal_hash: ::subxt::utils::H256, + index: ::core::primitive::u32, + proposal_weight_bound: runtime_types::sp_weights::OldWeight, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "AllianceMotion", + "close_old_weight", + CloseOldWeight { + proposal_hash, + index, + proposal_weight_bound, + length_bound, + }, + [ + 133u8, 219u8, 90u8, 40u8, 102u8, 95u8, 4u8, 199u8, 45u8, + 234u8, 109u8, 17u8, 162u8, 63u8, 102u8, 186u8, 95u8, 182u8, + 13u8, 123u8, 227u8, 20u8, 186u8, 207u8, 12u8, 47u8, 87u8, + 252u8, 244u8, 172u8, 60u8, 206u8, + ], + ) + } + #[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 = "# "] + #[doc = "Complexity: O(P) where P is the number of max proposals"] + #[doc = "DB Weight:"] + #[doc = "* Reads: Proposals"] + #[doc = "* Writes: Voting, Proposals, ProposalOf"] + #[doc = "# "] + pub fn disapprove_proposal( + &self, + proposal_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "AllianceMotion", + "disapprove_proposal", + DisapproveProposal { proposal_hash }, + [ + 25u8, 123u8, 1u8, 8u8, 74u8, 37u8, 3u8, 40u8, 97u8, 37u8, + 175u8, 224u8, 72u8, 155u8, 123u8, 109u8, 104u8, 43u8, 91u8, + 125u8, 199u8, 51u8, 17u8, 225u8, 133u8, 38u8, 120u8, 76u8, + 164u8, 5u8, 194u8, 201u8, + ], + ) + } + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] + #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] + #[doc = " `O(P2)`)"] + #[doc = " - any mutations done while executing `proposal` (`P1`)"] + #[doc = "- up to 3 events"] + #[doc = "# "] + pub fn close( + &self, + proposal_hash: ::subxt::utils::H256, + index: ::core::primitive::u32, + proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "AllianceMotion", + "close", + Close { + proposal_hash, + index, + proposal_weight_bound, + length_bound, + }, + [ + 191u8, 138u8, 89u8, 247u8, 97u8, 51u8, 45u8, 193u8, 76u8, + 16u8, 80u8, 225u8, 197u8, 83u8, 204u8, 133u8, 169u8, 16u8, + 86u8, 32u8, 125u8, 16u8, 116u8, 185u8, 45u8, 20u8, 76u8, + 148u8, 206u8, 163u8, 154u8, 30u8, + ], + ) + } + } + } + #[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_collective::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion (given hash) has been proposed (by given account) with a threshold (given"] + #[doc = "`MemberCount`)."] + pub struct Proposed { + pub account: ::subxt::utils::AccountId32, + pub proposal_index: ::core::primitive::u32, + pub proposal_hash: ::subxt::utils::H256, + pub threshold: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Proposed { + const PALLET: &'static str = "AllianceMotion"; + const EVENT: &'static str = "Proposed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion (given hash) has been voted on by given account, leaving"] + #[doc = "a tally (yes votes and no votes given respectively as `MemberCount`)."] + pub struct Voted { + pub account: ::subxt::utils::AccountId32, + pub proposal_hash: ::subxt::utils::H256, + pub voted: ::core::primitive::bool, + pub yes: ::core::primitive::u32, + pub no: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Voted { + const PALLET: &'static str = "AllianceMotion"; + const EVENT: &'static str = "Voted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion was approved by the required threshold."] + pub struct Approved { + pub proposal_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Approved { + const PALLET: &'static str = "AllianceMotion"; + const EVENT: &'static str = "Approved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion was not approved by the required threshold."] + pub struct Disapproved { + pub proposal_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Disapproved { + const PALLET: &'static str = "AllianceMotion"; + const EVENT: &'static str = "Disapproved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A motion was executed; result will be `Ok` if it returned without error."] + pub struct Executed { + pub proposal_hash: ::subxt::utils::H256, + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Executed { + const PALLET: &'static str = "AllianceMotion"; + const EVENT: &'static str = "Executed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A single member did some action; result will be `Ok` if it returned without error."] + pub struct MemberExecuted { + pub proposal_hash: ::subxt::utils::H256, + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for MemberExecuted { + const PALLET: &'static str = "AllianceMotion"; + const EVENT: &'static str = "MemberExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal was closed because its threshold was reached or after its duration was up."] + pub struct Closed { + pub proposal_hash: ::subxt::utils::H256, + pub yes: ::core::primitive::u32, + pub no: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Closed { + const PALLET: &'static str = "AllianceMotion"; + const EVENT: &'static str = "Closed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The hashes of the active proposals."] + pub fn proposals( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::H256, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AllianceMotion", + "Proposals", + vec![], + [ + 10u8, 133u8, 82u8, 54u8, 193u8, 41u8, 253u8, 159u8, 56u8, + 96u8, 249u8, 148u8, 43u8, 57u8, 116u8, 43u8, 222u8, 243u8, + 237u8, 231u8, 238u8, 60u8, 26u8, 225u8, 19u8, 203u8, 213u8, + 220u8, 114u8, 217u8, 100u8, 27u8, + ], + ) + } + #[doc = " Actual proposal for a given hash, if it's current."] + pub fn proposal_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AllianceMotion", + "ProposalOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 7u8, 48u8, 66u8, 129u8, 189u8, 239u8, 162u8, 148u8, 206u8, + 226u8, 56u8, 83u8, 105u8, 85u8, 12u8, 168u8, 84u8, 118u8, + 7u8, 7u8, 100u8, 5u8, 245u8, 209u8, 143u8, 242u8, 48u8, 78u8, + 157u8, 98u8, 42u8, 127u8, + ], + ) + } + #[doc = " Actual proposal for a given hash, if it's current."] + pub fn proposal_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AllianceMotion", + "ProposalOf", + Vec::new(), + [ + 7u8, 48u8, 66u8, 129u8, 189u8, 239u8, 162u8, 148u8, 206u8, + 226u8, 56u8, 83u8, 105u8, 85u8, 12u8, 168u8, 84u8, 118u8, + 7u8, 7u8, 100u8, 5u8, 245u8, 209u8, 143u8, 242u8, 48u8, 78u8, + 157u8, 98u8, 42u8, 127u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_collective::Votes< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AllianceMotion", + "Voting", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 89u8, 108u8, 65u8, 58u8, 60u8, 116u8, 54u8, 68u8, 179u8, + 73u8, 161u8, 168u8, 78u8, 213u8, 208u8, 54u8, 244u8, 58u8, + 70u8, 209u8, 170u8, 136u8, 215u8, 3u8, 2u8, 105u8, 229u8, + 217u8, 240u8, 230u8, 107u8, 221u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_collective::Votes< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AllianceMotion", + "Voting", + Vec::new(), + [ + 89u8, 108u8, 65u8, 58u8, 60u8, 116u8, 54u8, 68u8, 179u8, + 73u8, 161u8, 168u8, 78u8, 213u8, 208u8, 54u8, 244u8, 58u8, + 70u8, 209u8, 170u8, 136u8, 215u8, 3u8, 2u8, 105u8, 229u8, + 217u8, 240u8, 230u8, 107u8, 221u8, + ], + ) + } + #[doc = " Proposals so far."] + pub fn proposal_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AllianceMotion", + "ProposalCount", + vec![], + [ + 132u8, 145u8, 78u8, 218u8, 51u8, 189u8, 55u8, 172u8, 143u8, + 33u8, 140u8, 99u8, 124u8, 208u8, 57u8, 232u8, 154u8, 110u8, + 32u8, 142u8, 24u8, 149u8, 109u8, 105u8, 30u8, 83u8, 39u8, + 177u8, 127u8, 160u8, 34u8, 70u8, + ], + ) + } + #[doc = " The current members of the collective. This is stored sorted (just by value)."] + pub fn members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::utils::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AllianceMotion", + "Members", + vec![], + [ + 162u8, 72u8, 174u8, 204u8, 140u8, 105u8, 205u8, 176u8, 197u8, + 117u8, 206u8, 134u8, 157u8, 110u8, 139u8, 54u8, 43u8, 233u8, + 25u8, 51u8, 36u8, 238u8, 94u8, 124u8, 221u8, 52u8, 237u8, + 71u8, 125u8, 56u8, 129u8, 222u8, + ], + ) + } + #[doc = " The prime member that helps determine the default vote behavior in case of absentations."] + pub fn prime( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "AllianceMotion", + "Prime", + vec![], + [ + 108u8, 118u8, 54u8, 193u8, 207u8, 227u8, 119u8, 97u8, 23u8, + 239u8, 157u8, 69u8, 56u8, 142u8, 106u8, 17u8, 215u8, 159u8, + 48u8, 42u8, 185u8, 209u8, 49u8, 159u8, 32u8, 168u8, 111u8, + 158u8, 159u8, 217u8, 244u8, 158u8, + ], + ) + } + } + } + } + pub mod alliance { + 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 Propose { + #[codec(compact)] + pub threshold: ::core::primitive::u32, + pub proposal: + ::std::boxed::Box, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote { + pub proposal: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub approve: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CloseOldWeight { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + #[codec(compact)] + pub proposal_weight_bound: runtime_types::sp_weights::OldWeight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct InitMembers { + pub fellows: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub allies: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Disband { + pub witness: runtime_types::pallet_alliance::types::DisbandWitness, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetRule { + pub rule: runtime_types::pallet_alliance::types::Cid, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Announce { + pub announcement: runtime_types::pallet_alliance::types::Cid, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveAnnouncement { + pub announcement: runtime_types::pallet_alliance::types::Cid, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct JoinAlliance; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct NominateAlly { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ElevateAlly { + pub ally: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct GiveRetirementNotice; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Retire; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct KickMember { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AddUnscrupulousItems { + pub items: ::std::vec::Vec< + runtime_types::pallet_alliance::UnscrupulousItem< + ::subxt::utils::AccountId32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveUnscrupulousItems { + pub items: ::std::vec::Vec< + runtime_types::pallet_alliance::UnscrupulousItem< + ::subxt::utils::AccountId32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Close { + pub proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + pub index: ::core::primitive::u32, + pub proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + #[codec(compact)] + pub length_bound: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AbdicateFellowStatus; + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Add a new proposal to be voted on."] + #[doc = ""] + #[doc = "Must be called by a Fellow."] + pub fn propose( + &self, + threshold: ::core::primitive::u32, + proposal: runtime_types::kitchensink_runtime::RuntimeCall, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "propose", + Propose { + threshold, + proposal: ::std::boxed::Box::new(proposal), + length_bound, + }, + [ + 86u8, 118u8, 118u8, 134u8, 244u8, 21u8, 74u8, 68u8, 219u8, + 175u8, 153u8, 175u8, 75u8, 118u8, 200u8, 66u8, 152u8, 203u8, + 5u8, 224u8, 152u8, 129u8, 167u8, 208u8, 225u8, 247u8, 119u8, + 116u8, 33u8, 68u8, 75u8, 245u8, + ], + ) + } + #[doc = "Add an aye or nay vote for the sender to the given proposal."] + #[doc = ""] + #[doc = "Must be called by a Fellow."] + pub fn vote( + &self, + proposal: ::subxt::utils::H256, + index: ::core::primitive::u32, + approve: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "vote", + Vote { + proposal, + index, + approve, + }, + [ + 108u8, 46u8, 180u8, 148u8, 145u8, 24u8, 173u8, 56u8, 36u8, + 100u8, 216u8, 43u8, 178u8, 202u8, 26u8, 136u8, 93u8, 84u8, + 80u8, 134u8, 14u8, 42u8, 248u8, 205u8, 68u8, 92u8, 79u8, + 11u8, 113u8, 115u8, 157u8, 100u8, + ], + ) + } + #[doc = "Close a vote that is either approved, disapproved, or whose voting period has ended."] + #[doc = ""] + #[doc = "Must be called by a Fellow."] + pub fn close_old_weight( + &self, + proposal_hash: ::subxt::utils::H256, + index: ::core::primitive::u32, + proposal_weight_bound: runtime_types::sp_weights::OldWeight, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "close_old_weight", + CloseOldWeight { + proposal_hash, + index, + proposal_weight_bound, + length_bound, + }, + [ + 133u8, 219u8, 90u8, 40u8, 102u8, 95u8, 4u8, 199u8, 45u8, + 234u8, 109u8, 17u8, 162u8, 63u8, 102u8, 186u8, 95u8, 182u8, + 13u8, 123u8, 227u8, 20u8, 186u8, 207u8, 12u8, 47u8, 87u8, + 252u8, 244u8, 172u8, 60u8, 206u8, + ], + ) + } + #[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."] + pub fn init_members( + &self, + fellows: ::std::vec::Vec<::subxt::utils::AccountId32>, + allies: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "init_members", + InitMembers { fellows, allies }, + [ + 182u8, 105u8, 49u8, 160u8, 26u8, 175u8, 215u8, 71u8, 58u8, + 176u8, 86u8, 29u8, 68u8, 186u8, 241u8, 47u8, 251u8, 136u8, + 123u8, 151u8, 246u8, 42u8, 232u8, 154u8, 210u8, 14u8, 165u8, + 104u8, 163u8, 140u8, 196u8, 164u8, + ], + ) + } + #[doc = "Disband the Alliance, remove all active members and unreserve deposits."] + #[doc = ""] + #[doc = "Witness data must be set."] + pub fn disband( + &self, + witness: runtime_types::pallet_alliance::types::DisbandWitness, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "disband", + Disband { witness }, + [ + 140u8, 243u8, 193u8, 235u8, 169u8, 181u8, 78u8, 54u8, 75u8, + 109u8, 70u8, 148u8, 49u8, 154u8, 225u8, 76u8, 65u8, 92u8, + 149u8, 53u8, 62u8, 106u8, 228u8, 172u8, 10u8, 189u8, 108u8, + 144u8, 195u8, 6u8, 250u8, 202u8, + ], + ) + } + #[doc = "Set a new IPFS CID to the alliance rule."] + pub fn set_rule( + &self, + rule: runtime_types::pallet_alliance::types::Cid, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "set_rule", + SetRule { rule }, + [ + 31u8, 78u8, 248u8, 0u8, 135u8, 28u8, 162u8, 57u8, 155u8, + 173u8, 159u8, 212u8, 213u8, 135u8, 191u8, 88u8, 161u8, 119u8, + 122u8, 52u8, 190u8, 214u8, 31u8, 10u8, 210u8, 231u8, 245u8, + 248u8, 49u8, 60u8, 236u8, 67u8, + ], + ) + } + #[doc = "Make an announcement of a new IPFS CID about alliance issues."] + pub fn announce( + &self, + announcement: runtime_types::pallet_alliance::types::Cid, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "announce", + Announce { announcement }, + [ + 197u8, 120u8, 117u8, 49u8, 53u8, 91u8, 207u8, 16u8, 31u8, + 250u8, 85u8, 0u8, 111u8, 24u8, 222u8, 255u8, 121u8, 191u8, + 98u8, 85u8, 45u8, 237u8, 106u8, 60u8, 142u8, 69u8, 125u8, + 1u8, 128u8, 190u8, 99u8, 14u8, + ], + ) + } + #[doc = "Remove an announcement."] + pub fn remove_announcement( + &self, + announcement: runtime_types::pallet_alliance::types::Cid, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "remove_announcement", + RemoveAnnouncement { announcement }, + [ + 7u8, 152u8, 0u8, 165u8, 149u8, 198u8, 155u8, 138u8, 187u8, + 125u8, 30u8, 240u8, 229u8, 216u8, 215u8, 40u8, 150u8, 232u8, + 76u8, 242u8, 98u8, 11u8, 145u8, 165u8, 253u8, 6u8, 208u8, + 136u8, 122u8, 122u8, 176u8, 107u8, + ], + ) + } + #[doc = "Submit oneself for candidacy. A fixed deposit is reserved."] + pub fn join_alliance( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "join_alliance", + JoinAlliance {}, + [ + 54u8, 110u8, 66u8, 7u8, 137u8, 10u8, 43u8, 147u8, 162u8, + 126u8, 85u8, 199u8, 167u8, 112u8, 27u8, 210u8, 42u8, 224u8, + 29u8, 118u8, 67u8, 77u8, 31u8, 133u8, 66u8, 24u8, 114u8, + 185u8, 109u8, 159u8, 183u8, 157u8, + ], + ) + } + #[doc = "A Fellow can nominate someone to join the alliance as an Ally. There is no deposit"] + #[doc = "required from the nominator or nominee."] + pub fn nominate_ally( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "nominate_ally", + NominateAlly { who }, + [ + 60u8, 213u8, 72u8, 150u8, 238u8, 14u8, 199u8, 171u8, 147u8, + 94u8, 169u8, 243u8, 40u8, 238u8, 132u8, 118u8, 66u8, 122u8, + 193u8, 195u8, 237u8, 59u8, 82u8, 248u8, 8u8, 151u8, 188u8, + 226u8, 167u8, 18u8, 228u8, 105u8, + ], + ) + } + #[doc = "Elevate an Ally to Fellow."] + pub fn elevate_ally( + &self, + ally: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "elevate_ally", + ElevateAlly { ally }, + [ + 235u8, 131u8, 98u8, 158u8, 30u8, 159u8, 195u8, 25u8, 41u8, + 162u8, 10u8, 148u8, 73u8, 210u8, 10u8, 190u8, 226u8, 109u8, + 193u8, 218u8, 12u8, 242u8, 172u8, 215u8, 56u8, 131u8, 31u8, + 210u8, 215u8, 198u8, 81u8, 74u8, + ], + ) + } + #[doc = "As a member, give a retirement notice and start a retirement period required to pass in"] + #[doc = "order to retire."] + pub fn give_retirement_notice( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "give_retirement_notice", + GiveRetirementNotice {}, + [ + 179u8, 19u8, 191u8, 72u8, 65u8, 196u8, 142u8, 253u8, 35u8, + 215u8, 175u8, 47u8, 14u8, 238u8, 153u8, 157u8, 20u8, 44u8, + 174u8, 91u8, 133u8, 42u8, 48u8, 44u8, 116u8, 53u8, 27u8, + 247u8, 198u8, 87u8, 50u8, 195u8, + ], + ) + } + #[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."] + pub fn retire(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "retire", + Retire {}, + [ + 6u8, 231u8, 211u8, 120u8, 5u8, 242u8, 96u8, 98u8, 132u8, + 36u8, 217u8, 219u8, 22u8, 76u8, 196u8, 151u8, 140u8, 92u8, + 186u8, 138u8, 76u8, 219u8, 73u8, 242u8, 155u8, 169u8, 9u8, + 184u8, 76u8, 23u8, 71u8, 116u8, + ], + ) + } + #[doc = "Kick a member from the Alliance and slash its deposit."] + pub fn kick_member( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "kick_member", + KickMember { who }, + [ + 49u8, 234u8, 214u8, 238u8, 122u8, 243u8, 103u8, 51u8, 232u8, + 73u8, 207u8, 236u8, 126u8, 122u8, 60u8, 177u8, 130u8, 109u8, + 68u8, 44u8, 89u8, 46u8, 236u8, 226u8, 181u8, 200u8, 98u8, + 183u8, 245u8, 227u8, 27u8, 118u8, + ], + ) + } + #[doc = "Add accounts or websites to the list of unscrupulous items."] + pub fn add_unscrupulous_items( + &self, + items: ::std::vec::Vec< + runtime_types::pallet_alliance::UnscrupulousItem< + ::subxt::utils::AccountId32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "add_unscrupulous_items", + AddUnscrupulousItems { items }, + [ + 222u8, 68u8, 94u8, 39u8, 39u8, 0u8, 161u8, 99u8, 42u8, 25u8, + 34u8, 150u8, 225u8, 133u8, 240u8, 91u8, 127u8, 68u8, 188u8, + 121u8, 126u8, 130u8, 1u8, 147u8, 73u8, 114u8, 34u8, 88u8, + 39u8, 97u8, 158u8, 197u8, + ], + ) + } + #[doc = "Deem some items no longer unscrupulous."] + pub fn remove_unscrupulous_items( + &self, + items: ::std::vec::Vec< + runtime_types::pallet_alliance::UnscrupulousItem< + ::subxt::utils::AccountId32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "remove_unscrupulous_items", + RemoveUnscrupulousItems { items }, + [ + 231u8, 184u8, 191u8, 126u8, 10u8, 183u8, 103u8, 127u8, 145u8, + 98u8, 57u8, 176u8, 124u8, 161u8, 129u8, 66u8, 100u8, 100u8, + 154u8, 155u8, 206u8, 42u8, 180u8, 62u8, 240u8, 33u8, 53u8, + 251u8, 46u8, 203u8, 42u8, 234u8, + ], + ) + } + #[doc = "Close a vote that is either approved, disapproved, or whose voting period has ended."] + #[doc = ""] + #[doc = "Must be called by a Fellow."] + pub fn close( + &self, + proposal_hash: ::subxt::utils::H256, + index: ::core::primitive::u32, + proposal_weight_bound: runtime_types::sp_weights::weight_v2::Weight, + length_bound: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "close", + Close { + proposal_hash, + index, + proposal_weight_bound, + length_bound, + }, + [ + 191u8, 138u8, 89u8, 247u8, 97u8, 51u8, 45u8, 193u8, 76u8, + 16u8, 80u8, 225u8, 197u8, 83u8, 204u8, 133u8, 169u8, 16u8, + 86u8, 32u8, 125u8, 16u8, 116u8, 185u8, 45u8, 20u8, 76u8, + 148u8, 206u8, 163u8, 154u8, 30u8, + ], + ) + } + #[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."] + pub fn abdicate_fellow_status( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Alliance", + "abdicate_fellow_status", + AbdicateFellowStatus {}, + [ + 32u8, 251u8, 224u8, 133u8, 152u8, 60u8, 139u8, 40u8, 253u8, + 116u8, 170u8, 79u8, 149u8, 89u8, 27u8, 203u8, 160u8, 75u8, + 81u8, 144u8, 9u8, 98u8, 139u8, 215u8, 253u8, 193u8, 211u8, + 93u8, 208u8, 143u8, 41u8, 175u8, + ], + ) + } + } + } + #[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_alliance::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new rule has been set."] + pub struct NewRuleSet { + pub rule: runtime_types::pallet_alliance::types::Cid, + } + impl ::subxt::events::StaticEvent for NewRuleSet { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "NewRuleSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A new announcement has been proposed."] + pub struct Announced { + pub announcement: runtime_types::pallet_alliance::types::Cid, + } + impl ::subxt::events::StaticEvent for Announced { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "Announced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An on-chain announcement has been removed."] + pub struct AnnouncementRemoved { + pub announcement: runtime_types::pallet_alliance::types::Cid, + } + impl ::subxt::events::StaticEvent for AnnouncementRemoved { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "AnnouncementRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Some accounts have been initialized as members (fellows/allies)."] + pub struct MembersInitialized { + pub fellows: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub allies: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::events::StaticEvent for MembersInitialized { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "MembersInitialized"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An account has been added as an Ally and reserved its deposit."] + pub struct NewAllyJoined { + pub ally: ::subxt::utils::AccountId32, + pub nominator: ::core::option::Option<::subxt::utils::AccountId32>, + pub reserved: ::core::option::Option<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for NewAllyJoined { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "NewAllyJoined"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An ally has been elevated to Fellow."] + pub struct AllyElevated { + pub ally: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for AllyElevated { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "AllyElevated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member gave retirement notice and their retirement period started."] + pub struct MemberRetirementPeriodStarted { + pub member: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for MemberRetirementPeriodStarted { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "MemberRetirementPeriodStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member has retired with its deposit unreserved."] + pub struct MemberRetired { + pub member: ::subxt::utils::AccountId32, + pub unreserved: ::core::option::Option<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for MemberRetired { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "MemberRetired"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member has been kicked out with its deposit slashed."] + pub struct MemberKicked { + pub member: ::subxt::utils::AccountId32, + pub slashed: ::core::option::Option<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for MemberKicked { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "MemberKicked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Accounts or websites have been added into the list of unscrupulous items."] + pub struct UnscrupulousItemAdded { + pub items: ::std::vec::Vec< + runtime_types::pallet_alliance::UnscrupulousItem< + ::subxt::utils::AccountId32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + } + impl ::subxt::events::StaticEvent for UnscrupulousItemAdded { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "UnscrupulousItemAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Accounts or websites have been removed from the list of unscrupulous items."] + pub struct UnscrupulousItemRemoved { + pub items: ::std::vec::Vec< + runtime_types::pallet_alliance::UnscrupulousItem< + ::subxt::utils::AccountId32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + } + impl ::subxt::events::StaticEvent for UnscrupulousItemRemoved { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "UnscrupulousItemRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Alliance disbanded. Includes number deleted members and unreserved deposits."] + pub struct AllianceDisbanded { + pub fellow_members: ::core::primitive::u32, + pub ally_members: ::core::primitive::u32, + pub unreserved: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for AllianceDisbanded { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "AllianceDisbanded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A Fellow abdicated their voting rights. They are now an Ally."] + pub struct FellowAbdicated { + pub fellow: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for FellowAbdicated { + const PALLET: &'static str = "Alliance"; + const EVENT: &'static str = "FellowAbdicated"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The IPFS CID of the alliance rule."] + #[doc = " Fellows can propose a new rule with a super-majority."] + pub fn rule( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_alliance::types::Cid, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "Rule", + vec![], + [ + 132u8, 179u8, 91u8, 202u8, 26u8, 39u8, 178u8, 5u8, 221u8, + 59u8, 148u8, 116u8, 113u8, 55u8, 88u8, 104u8, 208u8, 165u8, + 100u8, 78u8, 123u8, 208u8, 191u8, 217u8, 36u8, 33u8, 103u8, + 11u8, 5u8, 161u8, 207u8, 170u8, + ], + ) + } + #[doc = " The current IPFS CIDs of any announcements."] + pub fn announcements( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_alliance::types::Cid, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "Announcements", + vec![], + [ + 217u8, 117u8, 75u8, 244u8, 196u8, 60u8, 185u8, 248u8, 13u8, + 121u8, 132u8, 36u8, 112u8, 233u8, 210u8, 170u8, 4u8, 247u8, + 109u8, 226u8, 211u8, 37u8, 117u8, 15u8, 214u8, 7u8, 100u8, + 0u8, 15u8, 0u8, 179u8, 96u8, + ], + ) + } + #[doc = " Maps members to their candidacy deposit."] + pub fn deposit_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "DepositOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 144u8, 38u8, 94u8, 133u8, 11u8, 36u8, 151u8, 247u8, 63u8, + 168u8, 80u8, 116u8, 39u8, 78u8, 240u8, 0u8, 11u8, 182u8, + 118u8, 208u8, 224u8, 184u8, 116u8, 51u8, 166u8, 133u8, 227u8, + 246u8, 92u8, 146u8, 175u8, 65u8, + ], + ) + } + #[doc = " Maps members to their candidacy deposit."] + pub fn deposit_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "DepositOf", + Vec::new(), + [ + 144u8, 38u8, 94u8, 133u8, 11u8, 36u8, 151u8, 247u8, 63u8, + 168u8, 80u8, 116u8, 39u8, 78u8, 240u8, 0u8, 11u8, 182u8, + 118u8, 208u8, 224u8, 184u8, 116u8, 51u8, 166u8, 133u8, 227u8, + 246u8, 92u8, 146u8, 175u8, 65u8, + ], + ) + } + #[doc = " Maps member type to members of each type."] + pub fn members( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "Members", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 238u8, 61u8, 156u8, 136u8, 196u8, 188u8, 124u8, 182u8, 195u8, + 205u8, 210u8, 204u8, 73u8, 227u8, 32u8, 127u8, 124u8, 181u8, + 105u8, 59u8, 164u8, 180u8, 186u8, 222u8, 20u8, 129u8, 133u8, + 95u8, 87u8, 246u8, 155u8, 144u8, + ], + ) + } + #[doc = " Maps member type to members of each type."] + pub fn members_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "Members", + Vec::new(), + [ + 238u8, 61u8, 156u8, 136u8, 196u8, 188u8, 124u8, 182u8, 195u8, + 205u8, 210u8, 204u8, 73u8, 227u8, 32u8, 127u8, 124u8, 181u8, + 105u8, 59u8, 164u8, 180u8, 186u8, 222u8, 20u8, 129u8, 133u8, + 95u8, 87u8, 246u8, 155u8, 144u8, + ], + ) + } + #[doc = " A set of members who gave a retirement notice. They can retire after the end of retirement"] + #[doc = " period stored as a future block number."] + pub fn retiring_members( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "RetiringMembers", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 195u8, 185u8, 238u8, 11u8, 200u8, 34u8, 221u8, 178u8, 171u8, + 139u8, 211u8, 27u8, 109u8, 173u8, 203u8, 218u8, 147u8, 40u8, + 29u8, 226u8, 65u8, 77u8, 199u8, 81u8, 153u8, 145u8, 97u8, + 229u8, 54u8, 242u8, 12u8, 187u8, + ], + ) + } + #[doc = " A set of members who gave a retirement notice. They can retire after the end of retirement"] + #[doc = " period stored as a future block number."] + pub fn retiring_members_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "RetiringMembers", + Vec::new(), + [ + 195u8, 185u8, 238u8, 11u8, 200u8, 34u8, 221u8, 178u8, 171u8, + 139u8, 211u8, 27u8, 109u8, 173u8, 203u8, 218u8, 147u8, 40u8, + 29u8, 226u8, 65u8, 77u8, 199u8, 81u8, 153u8, 145u8, 97u8, + 229u8, 54u8, 242u8, 12u8, 187u8, + ], + ) + } + #[doc = " The current list of accounts deemed unscrupulous. These accounts non grata cannot submit"] + #[doc = " candidacy."] + pub fn unscrupulous_accounts( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "UnscrupulousAccounts", + vec![], + [ + 5u8, 149u8, 47u8, 164u8, 130u8, 46u8, 136u8, 88u8, 153u8, + 77u8, 176u8, 127u8, 165u8, 163u8, 40u8, 117u8, 137u8, 67u8, + 72u8, 4u8, 151u8, 209u8, 172u8, 20u8, 64u8, 162u8, 48u8, + 199u8, 224u8, 85u8, 157u8, 44u8, + ], + ) + } + #[doc = " The current list of websites deemed unscrupulous."] + pub fn unscrupulous_websites( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Alliance", + "UnscrupulousWebsites", + vec![], + [ + 231u8, 15u8, 27u8, 215u8, 117u8, 150u8, 199u8, 19u8, 209u8, + 43u8, 144u8, 212u8, 160u8, 32u8, 195u8, 26u8, 128u8, 3u8, + 151u8, 53u8, 230u8, 102u8, 44u8, 42u8, 205u8, 68u8, 175u8, + 206u8, 239u8, 236u8, 68u8, 160u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum number of the unscrupulous items supported by the pallet."] + pub fn max_unscrupulous_items( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Alliance", + "MaxUnscrupulousItems", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum length of a website URL."] + pub fn max_website_url_length( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Alliance", + "MaxWebsiteUrlLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The deposit required for submitting candidacy."] + pub fn ally_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Alliance", + "AllyDeposit", + [ + 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 announcements."] + pub fn max_announcements_count( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Alliance", + "MaxAnnouncementsCount", + [ + 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 members per member role."] + pub fn max_members_count( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Alliance", + "MaxMembersCount", + [ + 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 nomination_pools { + 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 Join { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub pool_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BondExtra { + pub extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ClaimPayout; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Unbond { + pub member_account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub unbonding_points: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PoolWithdrawUnbonded { + pub pool_id: ::core::primitive::u32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct WithdrawUnbonded { + pub member_account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Create { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub root: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub nominator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub state_toggler: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CreateWithPoolId { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub root: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub nominator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub state_toggler: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub pool_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Nominate { + pub pool_id: ::core::primitive::u32, + pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetState { + pub pool_id: ::core::primitive::u32, + pub state: runtime_types::pallet_nomination_pools::PoolState, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetMetadata { + pub pool_id: ::core::primitive::u32, + pub metadata: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetConfigs { + pub min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + pub min_create_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + pub max_pools: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + pub max_members: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + pub max_members_per_pool: + runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UpdateRoles { + pub pool_id: ::core::primitive::u32, + pub new_root: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + pub new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + pub new_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Chill { + pub pool_id: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the"] + #[doc = "pools account and immediately increases the pools bond."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "* An account can only be a member of a single pool."] + #[doc = "* An account cannot join the same pool multiple times."] + #[doc = "* This call will *not* dust the member account, so the member must have at least"] + #[doc = " `existential deposit + amount` in their account."] + #[doc = "* Only a pool with [`PoolState::Open`] can be joined"] + pub fn join( + &self, + amount: ::core::primitive::u128, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "join", + Join { amount, pool_id }, + [ + 205u8, 66u8, 42u8, 72u8, 146u8, 148u8, 119u8, 162u8, 101u8, + 183u8, 46u8, 176u8, 221u8, 204u8, 197u8, 20u8, 75u8, 226u8, + 29u8, 118u8, 208u8, 60u8, 192u8, 247u8, 222u8, 100u8, 69u8, + 80u8, 172u8, 13u8, 69u8, 250u8, + ], + ) + } + #[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."] + pub fn bond_extra( + &self, + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "bond_extra", + BondExtra { extra }, + [ + 50u8, 72u8, 181u8, 216u8, 249u8, 27u8, 250u8, 177u8, 253u8, + 22u8, 240u8, 100u8, 184u8, 202u8, 197u8, 34u8, 21u8, 188u8, + 248u8, 191u8, 11u8, 10u8, 236u8, 161u8, 168u8, 37u8, 38u8, + 238u8, 61u8, 183u8, 86u8, 55u8, + ], + ) + } + #[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\"."] + pub fn claim_payout(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "claim_payout", + ClaimPayout {}, + [ + 128u8, 58u8, 138u8, 55u8, 64u8, 16u8, 129u8, 25u8, 211u8, + 229u8, 193u8, 115u8, 47u8, 45u8, 155u8, 221u8, 218u8, 1u8, + 222u8, 5u8, 236u8, 32u8, 88u8, 0u8, 198u8, 72u8, 196u8, + 181u8, 104u8, 16u8, 212u8, 29u8, + ], + ) + } + #[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 state-toggler. This is"] + #[doc = " refereed to 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."] + pub fn unbond( + &self, + member_account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + unbonding_points: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "unbond", + Unbond { + member_account, + unbonding_points, + }, + [ + 139u8, 71u8, 78u8, 184u8, 141u8, 89u8, 179u8, 123u8, 153u8, + 30u8, 116u8, 186u8, 148u8, 49u8, 48u8, 98u8, 33u8, 21u8, + 29u8, 106u8, 180u8, 212u8, 37u8, 251u8, 237u8, 21u8, 255u8, + 13u8, 236u8, 73u8, 250u8, 57u8, + ], + ) + } + #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."] + #[doc = ""] + #[doc = "This is useful if their are too many unlocking chunks to call `unbond`, and some"] + #[doc = "can be cleared by withdrawing. In the case there are too many unlocking chunks, the user"] + #[doc = "would probably see an error like `NoMoreChunks` emitted from the staking system when"] + #[doc = "they attempt to unbond."] + pub fn pool_withdraw_unbonded( + &self, + pool_id: ::core::primitive::u32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "pool_withdraw_unbonded", + PoolWithdrawUnbonded { + pool_id, + num_slashing_spans, + }, + [ + 152u8, 245u8, 131u8, 247u8, 106u8, 214u8, 154u8, 8u8, 7u8, + 210u8, 149u8, 218u8, 118u8, 46u8, 242u8, 182u8, 191u8, 119u8, + 28u8, 199u8, 36u8, 49u8, 219u8, 123u8, 58u8, 203u8, 211u8, + 226u8, 217u8, 36u8, 56u8, 0u8, + ], + ) + } + #[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 state-toggler."] + #[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."] + pub fn withdraw_unbonded( + &self, + member_account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "withdraw_unbonded", + WithdrawUnbonded { + member_account, + num_slashing_spans, + }, + [ + 192u8, 183u8, 121u8, 87u8, 176u8, 70u8, 91u8, 226u8, 156u8, + 79u8, 87u8, 34u8, 227u8, 84u8, 22u8, 235u8, 3u8, 181u8, + 166u8, 194u8, 147u8, 72u8, 27u8, 221u8, 57u8, 14u8, 44u8, + 70u8, 253u8, 236u8, 44u8, 84u8, + ], + ) + } + #[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 = "* `state_toggler` - The account to set as the [`PoolRoles::state_toggler`]."] + #[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."] + pub fn create( + &self, + amount: ::core::primitive::u128, + root: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + nominator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + state_toggler: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "create", + Create { + amount, + root, + nominator, + state_toggler, + }, + [ + 73u8, 99u8, 205u8, 59u8, 21u8, 182u8, 163u8, 158u8, 99u8, + 182u8, 182u8, 63u8, 212u8, 84u8, 48u8, 244u8, 95u8, 153u8, + 86u8, 104u8, 92u8, 93u8, 191u8, 79u8, 163u8, 123u8, 20u8, + 121u8, 241u8, 194u8, 79u8, 112u8, + ], + ) + } + #[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."] + pub fn create_with_pool_id( + &self, + amount: ::core::primitive::u128, + root: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + nominator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + state_toggler: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "create_with_pool_id", + CreateWithPoolId { + amount, + root, + nominator, + state_toggler, + pool_id, + }, + [ + 113u8, 67u8, 242u8, 175u8, 174u8, 4u8, 116u8, 44u8, 157u8, + 35u8, 13u8, 23u8, 55u8, 80u8, 255u8, 103u8, 196u8, 247u8, + 105u8, 152u8, 108u8, 145u8, 180u8, 169u8, 252u8, 159u8, + 175u8, 241u8, 122u8, 136u8, 252u8, 95u8, + ], + ) + } + #[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."] + pub fn nominate( + &self, + pool_id: ::core::primitive::u32, + validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "nominate", + Nominate { + pool_id, + validators, + }, + [ + 10u8, 235u8, 64u8, 157u8, 36u8, 249u8, 186u8, 27u8, 79u8, + 172u8, 25u8, 3u8, 203u8, 19u8, 192u8, 182u8, 36u8, 103u8, + 13u8, 20u8, 89u8, 140u8, 159u8, 4u8, 132u8, 242u8, 192u8, + 146u8, 55u8, 251u8, 216u8, 255u8, + ], + ) + } + #[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 state toggler, 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`."] + pub fn set_state( + &self, + pool_id: ::core::primitive::u32, + state: runtime_types::pallet_nomination_pools::PoolState, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "set_state", + SetState { pool_id, state }, + [ + 104u8, 40u8, 213u8, 88u8, 159u8, 115u8, 35u8, 249u8, 78u8, + 180u8, 99u8, 1u8, 225u8, 218u8, 192u8, 151u8, 25u8, 194u8, + 192u8, 187u8, 39u8, 170u8, 212u8, 125u8, 75u8, 250u8, 248u8, + 175u8, 159u8, 161u8, 151u8, 162u8, + ], + ) + } + #[doc = "Set a new metadata for the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the state toggler, or the root role"] + #[doc = "of the pool."] + pub fn set_metadata( + &self, + pool_id: ::core::primitive::u32, + metadata: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "set_metadata", + SetMetadata { pool_id, metadata }, + [ + 156u8, 81u8, 170u8, 161u8, 34u8, 100u8, 183u8, 174u8, 5u8, + 81u8, 31u8, 76u8, 12u8, 42u8, 77u8, 1u8, 6u8, 26u8, 168u8, + 7u8, 8u8, 115u8, 158u8, 151u8, 30u8, 211u8, 52u8, 177u8, + 234u8, 87u8, 125u8, 127u8, + ], + ) + } + #[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`]."] + pub fn set_configs( + &self, + 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 >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "set_configs", + SetConfigs { + min_join_bond, + min_create_bond, + max_pools, + max_members, + max_members_per_pool, + }, + [ + 143u8, 196u8, 211u8, 30u8, 71u8, 15u8, 150u8, 243u8, 7u8, + 178u8, 179u8, 168u8, 40u8, 116u8, 220u8, 140u8, 18u8, 206u8, + 6u8, 189u8, 190u8, 37u8, 68u8, 41u8, 45u8, 233u8, 247u8, + 172u8, 185u8, 34u8, 243u8, 187u8, + ], + ) + } + #[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."] + pub fn update_roles( + &self, + 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_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "update_roles", + UpdateRoles { + pool_id, + new_root, + new_nominator, + new_state_toggler, + }, + [ + 247u8, 95u8, 234u8, 56u8, 181u8, 229u8, 158u8, 97u8, 69u8, + 165u8, 38u8, 17u8, 27u8, 209u8, 204u8, 250u8, 91u8, 193u8, + 35u8, 93u8, 215u8, 131u8, 148u8, 73u8, 67u8, 188u8, 92u8, + 32u8, 34u8, 37u8, 113u8, 93u8, + ], + ) + } + #[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."] + pub fn chill( + &self, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "chill", + Chill { pool_id }, + [ + 41u8, 114u8, 128u8, 121u8, 244u8, 15u8, 15u8, 52u8, 129u8, + 88u8, 239u8, 167u8, 216u8, 38u8, 123u8, 240u8, 172u8, 229u8, + 132u8, 64u8, 175u8, 87u8, 217u8, 27u8, 11u8, 124u8, 1u8, + 140u8, 40u8, 191u8, 187u8, 36u8, + ], + ) + } + } + } + #[doc = "Events of this pallet."] + pub type Event = runtime_types::pallet_nomination_pools::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A pool has been created."] + pub struct Created { + pub depositor: ::subxt::utils::AccountId32, + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Created { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Created"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member has became bonded in a pool."] + pub struct Bonded { + pub member: ::subxt::utils::AccountId32, + pub pool_id: ::core::primitive::u32, + pub bonded: ::core::primitive::u128, + pub joined: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for Bonded { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Bonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A payout has been made to a member."] + pub struct PaidOut { + pub member: ::subxt::utils::AccountId32, + pub pool_id: ::core::primitive::u32, + pub payout: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for PaidOut { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PaidOut"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member has unbonded from their pool."] + #[doc = ""] + #[doc = "- `balance` is the corresponding balance of the number of points that has been"] + #[doc = " requested to be unbonded (the argument of the `unbond` transaction) from the bonded"] + #[doc = " pool."] + #[doc = "- `points` is the number of points that are issued as a result of `balance` being"] + #[doc = "dissolved into the corresponding unbonding pool."] + #[doc = "- `era` is the era in which the balance will be unbonded."] + #[doc = "In the absence of slashing, these values will match. In the presence of slashing, the"] + #[doc = "number of points that are issued in the unbonding pool will be less than the amount"] + #[doc = "requested to be unbonded."] + pub struct Unbonded { + pub member: ::subxt::utils::AccountId32, + pub pool_id: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + pub points: ::core::primitive::u128, + pub era: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Unbonded { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Unbonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member has withdrawn from their pool."] + #[doc = ""] + #[doc = "The given number of `points` have been dissolved in return of `balance`."] + #[doc = ""] + #[doc = "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance"] + #[doc = "will be 1."] + pub struct Withdrawn { + pub member: ::subxt::utils::AccountId32, + pub pool_id: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + pub points: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdrawn { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Withdrawn"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A pool has been destroyed."] + pub struct Destroyed { + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Destroyed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Destroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The state of a pool has changed"] + pub struct StateChanged { + pub pool_id: ::core::primitive::u32, + pub new_state: runtime_types::pallet_nomination_pools::PoolState, + } + impl ::subxt::events::StaticEvent for StateChanged { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "StateChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member has been removed from a pool."] + #[doc = ""] + #[doc = "The removal can be voluntary (withdrawn all unbonded funds) or involuntary (kicked)."] + pub struct MemberRemoved { + pub pool_id: ::core::primitive::u32, + pub member: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for MemberRemoved { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "MemberRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] + #[doc = "can never change."] + pub struct RolesUpdated { + pub root: ::core::option::Option<::subxt::utils::AccountId32>, + pub state_toggler: ::core::option::Option<::subxt::utils::AccountId32>, + pub nominator: ::core::option::Option<::subxt::utils::AccountId32>, + } + impl ::subxt::events::StaticEvent for RolesUpdated { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "RolesUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] + pub struct PoolSlashed { + pub pool_id: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for PoolSlashed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PoolSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] + pub struct UnbondingPoolSlashed { + pub pool_id: ::core::primitive::u32, + pub era: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for UnbondingPoolSlashed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "UnbondingPoolSlashed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Minimum amount to bond to join a pool."] + pub fn min_join_bond( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MinJoinBond", + vec![], + [ + 125u8, 239u8, 45u8, 225u8, 74u8, 129u8, 247u8, 184u8, 205u8, + 58u8, 45u8, 186u8, 126u8, 170u8, 112u8, 120u8, 23u8, 190u8, + 247u8, 97u8, 131u8, 126u8, 215u8, 44u8, 147u8, 122u8, 132u8, + 212u8, 217u8, 84u8, 240u8, 91u8, + ], + ) + } + #[doc = " Minimum bond required to create a pool."] + #[doc = ""] + #[doc = " This is the amount that the depositor must put as their initial stake in the pool, as an"] + #[doc = " indication of \"skin in the game\"."] + #[doc = ""] + #[doc = " This is the value that will always exist in the staking ledger of the pool bonded account"] + #[doc = " while all other accounts leave."] + pub fn min_create_bond( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MinCreateBond", + vec![], + [ + 31u8, 208u8, 240u8, 158u8, 23u8, 218u8, 212u8, 138u8, 92u8, + 210u8, 207u8, 170u8, 32u8, 60u8, 5u8, 21u8, 84u8, 162u8, 1u8, + 111u8, 181u8, 243u8, 24u8, 148u8, 193u8, 253u8, 248u8, 190u8, + 16u8, 222u8, 219u8, 67u8, + ], + ) + } + #[doc = " Maximum number of nomination pools that can exist. If `None`, then an unbounded number of"] + #[doc = " pools can exist."] + pub fn max_pools( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MaxPools", + vec![], + [ + 216u8, 111u8, 68u8, 103u8, 33u8, 50u8, 109u8, 3u8, 176u8, + 195u8, 23u8, 73u8, 112u8, 138u8, 9u8, 194u8, 233u8, 73u8, + 68u8, 215u8, 162u8, 255u8, 217u8, 173u8, 141u8, 27u8, 72u8, + 199u8, 7u8, 240u8, 25u8, 34u8, + ], + ) + } + #[doc = " Maximum number of members that can exist in the system. If `None`, then the count"] + #[doc = " members are not bound on a system wide basis."] + pub fn max_pool_members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MaxPoolMembers", + vec![], + [ + 82u8, 217u8, 26u8, 234u8, 223u8, 241u8, 66u8, 182u8, 43u8, + 233u8, 59u8, 242u8, 202u8, 254u8, 69u8, 50u8, 254u8, 196u8, + 166u8, 89u8, 120u8, 87u8, 76u8, 148u8, 31u8, 197u8, 49u8, + 88u8, 206u8, 41u8, 242u8, 62u8, + ], + ) + } + #[doc = " Maximum number of members that may belong to pool. If `None`, then the count of"] + #[doc = " members is not bound on a per pool basis."] + pub fn max_pool_members_per_pool( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MaxPoolMembersPerPool", + vec![], + [ + 93u8, 241u8, 16u8, 169u8, 138u8, 199u8, 128u8, 149u8, 65u8, + 30u8, 55u8, 11u8, 41u8, 252u8, 83u8, 250u8, 9u8, 33u8, 152u8, + 239u8, 195u8, 147u8, 16u8, 248u8, 180u8, 153u8, 88u8, 231u8, + 248u8, 169u8, 186u8, 48u8, + ], + ) + } + #[doc = " Active members."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn pool_members( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::PoolMember, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "PoolMembers", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 252u8, 236u8, 201u8, 127u8, 219u8, 1u8, 19u8, 144u8, 5u8, + 108u8, 70u8, 30u8, 177u8, 232u8, 253u8, 237u8, 211u8, 91u8, + 63u8, 62u8, 155u8, 151u8, 153u8, 165u8, 206u8, 53u8, 111u8, + 31u8, 60u8, 120u8, 100u8, 249u8, + ], + ) + } + #[doc = " Active members."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn pool_members_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::PoolMember, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "PoolMembers", + Vec::new(), + [ + 252u8, 236u8, 201u8, 127u8, 219u8, 1u8, 19u8, 144u8, 5u8, + 108u8, 70u8, 30u8, 177u8, 232u8, 253u8, 237u8, 211u8, 91u8, + 63u8, 62u8, 155u8, 151u8, 153u8, 165u8, 206u8, 53u8, 111u8, + 31u8, 60u8, 120u8, 100u8, 249u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_pool_members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForPoolMembers", + vec![], + [ + 114u8, 126u8, 27u8, 138u8, 119u8, 44u8, 45u8, 129u8, 84u8, + 107u8, 171u8, 206u8, 117u8, 141u8, 20u8, 75u8, 229u8, 237u8, + 31u8, 229u8, 124u8, 190u8, 27u8, 124u8, 63u8, 59u8, 167u8, + 42u8, 62u8, 212u8, 160u8, 2u8, + ], + ) + } + #[doc = " Storage for bonded pools."] + pub fn bonded_pools( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::BondedPoolInner, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "BondedPools", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 34u8, 51u8, 86u8, 95u8, 237u8, 118u8, 40u8, 212u8, 128u8, + 227u8, 113u8, 6u8, 116u8, 28u8, 96u8, 223u8, 63u8, 249u8, + 33u8, 152u8, 61u8, 7u8, 205u8, 220u8, 221u8, 174u8, 207u8, + 39u8, 53u8, 176u8, 13u8, 74u8, + ], + ) + } + #[doc = " Storage for bonded pools."] + pub fn bonded_pools_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::BondedPoolInner, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "BondedPools", + Vec::new(), + [ + 34u8, 51u8, 86u8, 95u8, 237u8, 118u8, 40u8, 212u8, 128u8, + 227u8, 113u8, 6u8, 116u8, 28u8, 96u8, 223u8, 63u8, 249u8, + 33u8, 152u8, 61u8, 7u8, 205u8, 220u8, 221u8, 174u8, 207u8, + 39u8, 53u8, 176u8, 13u8, 74u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_bonded_pools( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForBondedPools", + vec![], + [ + 134u8, 94u8, 199u8, 73u8, 174u8, 253u8, 66u8, 242u8, 233u8, + 244u8, 140u8, 170u8, 242u8, 40u8, 41u8, 185u8, 183u8, 151u8, + 58u8, 111u8, 221u8, 225u8, 81u8, 71u8, 169u8, 219u8, 223u8, + 135u8, 8u8, 171u8, 180u8, 236u8, + ], + ) + } + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout"] + #[doc = " is claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + pub fn reward_pools( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::RewardPool, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "RewardPools", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 139u8, 123u8, 46u8, 107u8, 9u8, 83u8, 141u8, 12u8, 188u8, + 225u8, 170u8, 215u8, 154u8, 21u8, 100u8, 95u8, 237u8, 245u8, + 46u8, 216u8, 199u8, 184u8, 187u8, 155u8, 8u8, 16u8, 34u8, + 177u8, 153u8, 65u8, 109u8, 198u8, + ], + ) + } + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout"] + #[doc = " is claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + pub fn reward_pools_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::RewardPool, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "RewardPools", + Vec::new(), + [ + 139u8, 123u8, 46u8, 107u8, 9u8, 83u8, 141u8, 12u8, 188u8, + 225u8, 170u8, 215u8, 154u8, 21u8, 100u8, 95u8, 237u8, 245u8, + 46u8, 216u8, 199u8, 184u8, 187u8, 155u8, 8u8, 16u8, 34u8, + 177u8, 153u8, 65u8, 109u8, 198u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_reward_pools( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForRewardPools", + vec![], + [ + 209u8, 139u8, 212u8, 116u8, 210u8, 178u8, 213u8, 38u8, 75u8, + 23u8, 188u8, 57u8, 253u8, 213u8, 95u8, 118u8, 182u8, 250u8, + 45u8, 205u8, 17u8, 175u8, 17u8, 201u8, 234u8, 14u8, 98u8, + 49u8, 143u8, 135u8, 201u8, 81u8, + ], + ) + } + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] + #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + pub fn sub_pools_storage( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::SubPools, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "SubPoolsStorage", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 231u8, 13u8, 111u8, 248u8, 1u8, 208u8, 179u8, 134u8, 224u8, + 196u8, 94u8, 201u8, 229u8, 29u8, 155u8, 211u8, 163u8, 150u8, + 157u8, 34u8, 68u8, 238u8, 55u8, 4u8, 222u8, 96u8, 186u8, + 29u8, 205u8, 237u8, 80u8, 42u8, + ], + ) + } + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] + #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + pub fn sub_pools_storage_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::SubPools, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "SubPoolsStorage", + Vec::new(), + [ + 231u8, 13u8, 111u8, 248u8, 1u8, 208u8, 179u8, 134u8, 224u8, + 196u8, 94u8, 201u8, 229u8, 29u8, 155u8, 211u8, 163u8, 150u8, + 157u8, 34u8, 68u8, 238u8, 55u8, 4u8, 222u8, 96u8, 186u8, + 29u8, 205u8, 237u8, 80u8, 42u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_sub_pools_storage( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForSubPoolsStorage", + vec![], + [ + 212u8, 145u8, 212u8, 226u8, 234u8, 31u8, 26u8, 240u8, 107u8, + 91u8, 171u8, 120u8, 41u8, 195u8, 16u8, 86u8, 55u8, 127u8, + 103u8, 93u8, 128u8, 48u8, 69u8, 104u8, 168u8, 236u8, 81u8, + 54u8, 2u8, 184u8, 215u8, 51u8, + ], + ) + } + #[doc = " Metadata for the pool."] + pub fn metadata( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "Metadata", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 108u8, 250u8, 163u8, 54u8, 192u8, 143u8, 239u8, 62u8, 97u8, + 163u8, 161u8, 215u8, 171u8, 225u8, 49u8, 18u8, 37u8, 200u8, + 143u8, 254u8, 136u8, 26u8, 54u8, 187u8, 39u8, 3u8, 216u8, + 24u8, 188u8, 25u8, 243u8, 251u8, + ], + ) + } + #[doc = " Metadata for the pool."] + pub fn metadata_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "Metadata", + Vec::new(), + [ + 108u8, 250u8, 163u8, 54u8, 192u8, 143u8, 239u8, 62u8, 97u8, + 163u8, 161u8, 215u8, 171u8, 225u8, 49u8, 18u8, 37u8, 200u8, + 143u8, 254u8, 136u8, 26u8, 54u8, 187u8, 39u8, 3u8, 216u8, + 24u8, 188u8, 25u8, 243u8, 251u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_metadata( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForMetadata", + vec![], + [ + 190u8, 232u8, 77u8, 134u8, 245u8, 89u8, 160u8, 187u8, 163u8, + 68u8, 188u8, 204u8, 31u8, 145u8, 219u8, 165u8, 213u8, 1u8, + 167u8, 90u8, 175u8, 218u8, 147u8, 144u8, 158u8, 226u8, 23u8, + 233u8, 55u8, 168u8, 161u8, 237u8, + ], + ) + } + #[doc = " Ever increasing number of all pools created so far."] + pub fn last_pool_id( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "LastPoolId", + vec![], + [ + 50u8, 254u8, 218u8, 41u8, 213u8, 184u8, 170u8, 166u8, 31u8, + 29u8, 196u8, 57u8, 215u8, 20u8, 40u8, 40u8, 19u8, 22u8, 9u8, + 184u8, 11u8, 21u8, 21u8, 125u8, 97u8, 38u8, 219u8, 209u8, + 2u8, 238u8, 247u8, 51u8, + ], + ) + } + #[doc = " A reverse lookup from the pool's account id to its id."] + #[doc = ""] + #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] + #[doc = " accounts are deterministically derived from it."] + pub fn reverse_pool_id_lookup( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "ReversePoolIdLookup", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 178u8, 161u8, 51u8, 220u8, 128u8, 1u8, 135u8, 83u8, 236u8, + 159u8, 36u8, 237u8, 120u8, 128u8, 6u8, 191u8, 41u8, 159u8, + 94u8, 178u8, 174u8, 235u8, 221u8, 173u8, 44u8, 81u8, 211u8, + 255u8, 231u8, 81u8, 16u8, 87u8, + ], + ) + } + #[doc = " A reverse lookup from the pool's account id to its id."] + #[doc = ""] + #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] + #[doc = " accounts are deterministically derived from it."] + pub fn reverse_pool_id_lookup_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "ReversePoolIdLookup", + Vec::new(), + [ + 178u8, 161u8, 51u8, 220u8, 128u8, 1u8, 135u8, 83u8, 236u8, + 159u8, 36u8, 237u8, 120u8, 128u8, 6u8, 191u8, 41u8, 159u8, + 94u8, 178u8, 174u8, 235u8, 221u8, 173u8, 44u8, 81u8, 211u8, + 255u8, 231u8, 81u8, 16u8, 87u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_reverse_pool_id_lookup( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForReversePoolIdLookup", + vec![], + [ + 148u8, 83u8, 81u8, 33u8, 188u8, 72u8, 148u8, 208u8, 245u8, + 178u8, 52u8, 245u8, 229u8, 140u8, 100u8, 152u8, 8u8, 217u8, + 161u8, 80u8, 226u8, 42u8, 15u8, 252u8, 90u8, 197u8, 120u8, + 114u8, 144u8, 90u8, 199u8, 123u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The nomination pool's pallet id."] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::PalletId, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "NominationPools", + "PalletId", + [ + 139u8, 109u8, 228u8, 151u8, 252u8, 32u8, 130u8, 69u8, 112u8, + 154u8, 174u8, 45u8, 83u8, 245u8, 51u8, 132u8, 173u8, 5u8, + 186u8, 24u8, 243u8, 9u8, 12u8, 214u8, 80u8, 74u8, 69u8, + 189u8, 30u8, 94u8, 22u8, 39u8, + ], + ) + } + #[doc = " The maximum pool points-to-balance ratio that an `open` pool can have."] + #[doc = ""] + #[doc = " This is important in the event slashing takes place and the pool's points-to-balance"] + #[doc = " ratio becomes disproportional."] + #[doc = ""] + #[doc = " Moreover, this relates to the `RewardCounter` type as well, as the arithmetic operations"] + #[doc = " are a function of number of points, and by setting this value to e.g. 10, you ensure"] + #[doc = " that the total number of points in the system are at most 10 times the total_issuance of"] + #[doc = " the chain, in the absolute worse case."] + #[doc = ""] + #[doc = " For a value of 10, the threshold would be a pool points-to-balance ratio of 10:1."] + #[doc = " Such a scenario would also be the equivalent of the pool being 90% slashed."] + pub fn max_points_to_balance( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u8>, + > { + ::subxt::constants::StaticConstantAddress::new( + "NominationPools", + "MaxPointsToBalance", + [ + 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, + 110u8, 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, + 185u8, 66u8, 226u8, 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, + 114u8, 237u8, 228u8, 183u8, 165u8, + ], + ) + } + } + } + } + pub mod ranked_polls { + 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 Submit { + pub proposal_origin: + ::std::boxed::Box, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + pub enactment_moment: + runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PlaceDecisionDeposit { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RefundDecisionDeposit { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Cancel { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Kill { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct NudgeReferendum { + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OneFewerDeciding { + pub track: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RefundSubmissionDeposit { + pub index: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Propose a referendum on a privileged action."] + #[doc = ""] + #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"] + #[doc = " available."] + #[doc = "- `proposal_origin`: The origin from which the proposal should be executed."] + #[doc = "- `proposal`: The proposal."] + #[doc = "- `enactment_moment`: The moment that the proposal should be enacted."] + #[doc = ""] + #[doc = "Emits `Submitted`."] + pub fn submit( + &self, + proposal_origin: runtime_types::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 >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedPolls", + "submit", + Submit { + proposal_origin: ::std::boxed::Box::new(proposal_origin), + proposal, + enactment_moment, + }, + [ + 91u8, 158u8, 209u8, 182u8, 19u8, 184u8, 252u8, 30u8, 200u8, + 62u8, 92u8, 254u8, 200u8, 245u8, 134u8, 143u8, 135u8, 67u8, + 95u8, 107u8, 115u8, 109u8, 12u8, 48u8, 111u8, 239u8, 84u8, + 255u8, 23u8, 26u8, 140u8, 187u8, + ], + ) + } + #[doc = "Post the Decision Deposit for a referendum."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"] + #[doc = " referendum's track's Decision Deposit."] + #[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"] + #[doc = " posted."] + #[doc = ""] + #[doc = "Emits `DecisionDepositPlaced`."] + pub fn place_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedPolls", + "place_decision_deposit", + PlaceDecisionDeposit { index }, + [ + 118u8, 227u8, 8u8, 55u8, 41u8, 171u8, 244u8, 40u8, 164u8, + 232u8, 119u8, 129u8, 139u8, 123u8, 77u8, 70u8, 219u8, 236u8, + 145u8, 159u8, 84u8, 111u8, 36u8, 4u8, 206u8, 5u8, 139u8, + 231u8, 11u8, 231u8, 6u8, 30u8, + ], + ) + } + #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `DecisionDepositRefunded`."] + pub fn refund_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedPolls", + "refund_decision_deposit", + RefundDecisionDeposit { index }, + [ + 120u8, 116u8, 89u8, 51u8, 255u8, 76u8, 150u8, 74u8, 54u8, + 93u8, 19u8, 64u8, 13u8, 177u8, 144u8, 93u8, 132u8, 150u8, + 244u8, 48u8, 202u8, 223u8, 201u8, 130u8, 112u8, 167u8, 29u8, + 207u8, 112u8, 181u8, 43u8, 93u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum."] + #[doc = ""] + #[doc = "- `origin`: must be the `CancelOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Cancelled`."] + pub fn cancel( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedPolls", + "cancel", + Cancel { index }, + [ + 247u8, 55u8, 146u8, 211u8, 168u8, 140u8, 248u8, 217u8, 218u8, + 235u8, 25u8, 39u8, 47u8, 132u8, 134u8, 18u8, 239u8, 70u8, + 223u8, 50u8, 245u8, 101u8, 97u8, 39u8, 226u8, 4u8, 196u8, + 16u8, 66u8, 177u8, 178u8, 252u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum and slash the deposits."] + #[doc = ""] + #[doc = "- `origin`: must be the `KillOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Killed` and `DepositSlashed`."] + pub fn kill( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedPolls", + "kill", + Kill { index }, + [ + 98u8, 109u8, 143u8, 42u8, 24u8, 80u8, 39u8, 243u8, 249u8, + 141u8, 104u8, 195u8, 29u8, 93u8, 149u8, 37u8, 27u8, 130u8, + 84u8, 178u8, 246u8, 26u8, 113u8, 224u8, 157u8, 94u8, 16u8, + 14u8, 158u8, 80u8, 148u8, 198u8, + ], + ) + } + #[doc = "Advance a referendum onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `index`: the referendum to be advanced."] + pub fn nudge_referendum( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedPolls", + "nudge_referendum", + NudgeReferendum { index }, + [ + 60u8, 221u8, 153u8, 136u8, 107u8, 209u8, 59u8, 178u8, 208u8, + 170u8, 10u8, 225u8, 213u8, 170u8, 228u8, 64u8, 204u8, 166u8, + 7u8, 230u8, 243u8, 15u8, 206u8, 114u8, 8u8, 128u8, 46u8, + 150u8, 114u8, 241u8, 112u8, 97u8, + ], + ) + } + #[doc = "Advance a track onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `track`: the track to be advanced."] + #[doc = ""] + #[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"] + #[doc = "`DecidingCount` is not yet updated. This means that we should either:"] + #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"] + #[doc = "- decrement `DecidingCount`."] + pub fn one_fewer_deciding( + &self, + track: ::core::primitive::u16, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedPolls", + "one_fewer_deciding", + OneFewerDeciding { track }, + [ + 239u8, 43u8, 70u8, 73u8, 77u8, 28u8, 75u8, 62u8, 29u8, 67u8, + 110u8, 120u8, 234u8, 236u8, 126u8, 99u8, 46u8, 183u8, 169u8, + 16u8, 143u8, 233u8, 137u8, 247u8, 138u8, 96u8, 32u8, 223u8, + 149u8, 52u8, 214u8, 195u8, + ], + ) + } + #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `SubmissionDepositRefunded`."] + pub fn refund_submission_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload + { + ::subxt::tx::StaticTxPayload::new( + "RankedPolls", + "refund_submission_deposit", + RefundSubmissionDeposit { index }, + [ + 101u8, 147u8, 237u8, 27u8, 220u8, 116u8, 73u8, 131u8, 191u8, + 92u8, 134u8, 31u8, 175u8, 172u8, 129u8, 225u8, 91u8, 33u8, + 23u8, 132u8, 89u8, 19u8, 81u8, 238u8, 133u8, 243u8, 56u8, + 70u8, 143u8, 43u8, 176u8, 83u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_referenda::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been submitted."] + pub struct Submitted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + } + impl ::subxt::events::StaticEvent for Submitted { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "Submitted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The decision deposit has been placed."] + pub struct DecisionDepositPlaced { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositPlaced { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "DecisionDepositPlaced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The decision deposit has been refunded."] + pub struct DecisionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositRefunded { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "DecisionDepositRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A deposit has been slashaed."] + pub struct DepositSlashed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DepositSlashed { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "DepositSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has moved into the deciding phase."] + pub struct DecisionStarted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for DecisionStarted { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "DecisionStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ConfirmStarted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmStarted { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "ConfirmStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ConfirmAborted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmAborted { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "ConfirmAborted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has ended its confirmation phase and is ready for approval."] + pub struct Confirmed { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Confirmed { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "Confirmed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been approved and its proposal has been scheduled."] + pub struct Approved { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Approved { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "Approved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A proposal has been rejected by referendum."] + pub struct Rejected { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Rejected { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "Rejected"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been timed out without being decided."] + pub struct TimedOut { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for TimedOut { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "TimedOut"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been cancelled."] + pub struct Cancelled { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Cancelled { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "Cancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A referendum has been killed."] + pub struct Killed { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Killed { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "Killed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The submission deposit has been refunded."] + pub struct SubmissionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubmissionDepositRefunded { + const PALLET: &'static str = "RankedPolls"; + const EVENT: &'static str = "SubmissionDepositRefunded"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The next free referendum index, aka the number of referenda started so far."] + pub fn referendum_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedPolls", + "ReferendumCount", + vec![], + [ + 153u8, 210u8, 106u8, 244u8, 156u8, 70u8, 124u8, 251u8, 123u8, + 75u8, 7u8, 189u8, 199u8, 145u8, 95u8, 119u8, 137u8, 11u8, + 240u8, 160u8, 151u8, 248u8, 229u8, 231u8, 89u8, 222u8, 18u8, + 237u8, 144u8, 78u8, 99u8, 58u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::kitchensink_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_ranked_collective::Tally, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedPolls", + "ReferendumInfoFor", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 128u8, 64u8, 140u8, 106u8, 75u8, 20u8, 189u8, 69u8, 252u8, + 236u8, 182u8, 172u8, 253u8, 97u8, 170u8, 219u8, 220u8, 136u8, + 0u8, 231u8, 212u8, 97u8, 82u8, 41u8, 156u8, 142u8, 33u8, + 208u8, 70u8, 185u8, 182u8, 244u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::kitchensink_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_ranked_collective::Tally, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedPolls", + "ReferendumInfoFor", + Vec::new(), + [ + 128u8, 64u8, 140u8, 106u8, 75u8, 20u8, 189u8, 69u8, 252u8, + 236u8, 182u8, 172u8, 253u8, 97u8, 170u8, 219u8, 220u8, 136u8, + 0u8, 231u8, 212u8, 97u8, 82u8, 41u8, 156u8, 142u8, 33u8, + 208u8, 70u8, 185u8, 182u8, 244u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedPolls", + "TrackQueue", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 250u8, 6u8, 4u8, 145u8, 233u8, 136u8, 58u8, 26u8, 252u8, + 117u8, 90u8, 85u8, 189u8, 21u8, 196u8, 201u8, 108u8, 23u8, + 161u8, 157u8, 149u8, 70u8, 77u8, 137u8, 159u8, 246u8, 244u8, + 45u8, 134u8, 36u8, 231u8, 254u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedPolls", + "TrackQueue", + Vec::new(), + [ + 250u8, 6u8, 4u8, 145u8, 233u8, 136u8, 58u8, 26u8, 252u8, + 117u8, 90u8, 85u8, 189u8, 21u8, 196u8, 201u8, 108u8, 23u8, + 161u8, 157u8, 149u8, 70u8, 77u8, 137u8, 159u8, 246u8, 244u8, + 45u8, 134u8, 36u8, 231u8, 254u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedPolls", + "DecidingCount", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 101u8, 153u8, 200u8, 225u8, 229u8, 227u8, 232u8, 26u8, 98u8, + 60u8, 60u8, 94u8, 204u8, 195u8, 193u8, 69u8, 50u8, 72u8, + 31u8, 250u8, 224u8, 179u8, 139u8, 207u8, 19u8, 156u8, 67u8, + 234u8, 177u8, 223u8, 63u8, 150u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedPolls", + "DecidingCount", + Vec::new(), + [ + 101u8, 153u8, 200u8, 225u8, 229u8, 227u8, 232u8, 26u8, 98u8, + 60u8, 60u8, 94u8, 204u8, 195u8, 193u8, 69u8, 50u8, 72u8, + 31u8, 250u8, 224u8, 179u8, 139u8, 207u8, 19u8, 156u8, 67u8, + 234u8, 177u8, 223u8, 63u8, 150u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount to be used as a deposit for a public referendum proposal."] + pub fn submission_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "RankedPolls", + "SubmissionDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Maximum size of the referendum queue for a single track."] + pub fn max_queued( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "RankedPolls", + "MaxQueued", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The number of blocks after submission that a referendum must begin being decided by."] + #[doc = " Once this passes, then anyone may cancel the referendum."] + pub fn undeciding_timeout( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "RankedPolls", + "UndecidingTimeout", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"] + #[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"] + #[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."] + pub fn alarm_interval( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "RankedPolls", + "AlarmInterval", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " Information concerning the different referendum tracks."] + pub fn tracks( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<( + ::core::primitive::u16, + runtime_types::pallet_referenda::types::TrackInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + )>, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "RankedPolls", + "Tracks", + [ + 71u8, 253u8, 246u8, 54u8, 168u8, 190u8, 182u8, 15u8, 207u8, + 26u8, 50u8, 138u8, 212u8, 124u8, 13u8, 203u8, 27u8, 35u8, + 224u8, 1u8, 176u8, 192u8, 197u8, 220u8, 147u8, 94u8, 196u8, + 150u8, 125u8, 23u8, 48u8, 255u8, + ], + ) + } + } + } + } + pub mod ranked_collective { + 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 AddMember { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PromoteMember { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DemoteMember { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RemoveMember { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub min_rank: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote { + pub poll: ::core::primitive::u32, + pub aye: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CleanupPoll { + pub poll_index: ::core::primitive::u32, + pub max: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Introduce a new member."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of non-member which will become a member."] + #[doc = "- `rank`: The rank to give the new member."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn add_member( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedCollective", + "add_member", + AddMember { who }, + [ + 168u8, 166u8, 6u8, 167u8, 12u8, 109u8, 99u8, 96u8, 240u8, + 57u8, 60u8, 174u8, 57u8, 52u8, 131u8, 16u8, 230u8, 172u8, + 23u8, 140u8, 48u8, 131u8, 73u8, 131u8, 133u8, 217u8, 137u8, + 50u8, 165u8, 149u8, 174u8, 188u8, + ], + ) + } + #[doc = "Increment the rank of an existing member by one."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of existing member."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn promote_member( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedCollective", + "promote_member", + PromoteMember { who }, + [ + 253u8, 173u8, 241u8, 51u8, 86u8, 53u8, 201u8, 217u8, 19u8, + 193u8, 223u8, 249u8, 125u8, 125u8, 97u8, 12u8, 36u8, 68u8, + 93u8, 152u8, 83u8, 14u8, 106u8, 38u8, 163u8, 216u8, 63u8, + 79u8, 254u8, 6u8, 79u8, 80u8, + ], + ) + } + #[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"] + #[doc = "then they are removed entirely."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of existing member of rank greater than zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."] + pub fn demote_member( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedCollective", + "demote_member", + DemoteMember { who }, + [ + 199u8, 199u8, 22u8, 115u8, 223u8, 23u8, 187u8, 33u8, 89u8, + 244u8, 148u8, 87u8, 75u8, 187u8, 108u8, 176u8, 69u8, 250u8, + 72u8, 90u8, 161u8, 218u8, 14u8, 156u8, 82u8, 159u8, 200u8, + 141u8, 217u8, 221u8, 65u8, 174u8, + ], + ) + } + #[doc = "Remove the member entirely."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of existing member of rank greater than zero."] + #[doc = "- `min_rank`: The rank of the member or greater."] + #[doc = ""] + #[doc = "Weight: `O(min_rank)`."] + pub fn remove_member( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + min_rank: ::core::primitive::u16, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedCollective", + "remove_member", + RemoveMember { who, min_rank }, + [ + 244u8, 61u8, 35u8, 202u8, 97u8, 223u8, 51u8, 2u8, 76u8, + 170u8, 141u8, 197u8, 90u8, 159u8, 112u8, 185u8, 180u8, 45u8, + 51u8, 206u8, 121u8, 227u8, 206u8, 134u8, 72u8, 243u8, 4u8, + 83u8, 167u8, 63u8, 65u8, 44u8, + ], + ) + } + #[doc = "Add an aye or nay vote for the sender to the given proposal."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed` by a member account."] + #[doc = "- `poll`: Index of a poll which is ongoing."] + #[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."] + #[doc = ""] + #[doc = "Transaction fees are be waived if the member is voting on any particular proposal"] + #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] + #[doc = "fee."] + #[doc = ""] + #[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."] + pub fn vote( + &self, + poll: ::core::primitive::u32, + aye: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedCollective", + "vote", + Vote { poll, aye }, + [ + 76u8, 243u8, 228u8, 228u8, 168u8, 70u8, 128u8, 140u8, 206u8, + 48u8, 220u8, 178u8, 134u8, 107u8, 76u8, 106u8, 137u8, 0u8, + 200u8, 156u8, 21u8, 160u8, 123u8, 213u8, 251u8, 105u8, 94u8, + 249u8, 63u8, 164u8, 196u8, 243u8, + ], + ) + } + #[doc = "Remove votes from the given poll. It must have ended."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed` by any account."] + #[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"] + #[doc = " exist."] + #[doc = "- `max`: Maximum number of vote items from remove in this call."] + #[doc = ""] + #[doc = "Transaction fees are waived if the operation is successful."] + #[doc = ""] + #[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."] + pub fn cleanup_poll( + &self, + poll_index: ::core::primitive::u32, + max: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "RankedCollective", + "cleanup_poll", + CleanupPoll { poll_index, max }, + [ + 163u8, 143u8, 138u8, 57u8, 50u8, 73u8, 137u8, 95u8, 35u8, + 87u8, 114u8, 216u8, 49u8, 151u8, 196u8, 247u8, 46u8, 255u8, + 155u8, 63u8, 178u8, 240u8, 54u8, 124u8, 9u8, 168u8, 11u8, + 228u8, 205u8, 162u8, 233u8, 183u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_ranked_collective::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A member `who` has been added."] + pub struct MemberAdded { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for MemberAdded { + const PALLET: &'static str = "RankedCollective"; + const EVENT: &'static str = "MemberAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The member `who`se rank has been changed to the given `rank`."] + pub struct RankChanged { + pub who: ::subxt::utils::AccountId32, + pub rank: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for RankChanged { + const PALLET: &'static str = "RankedCollective"; + const EVENT: &'static str = "RankChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The member `who` of given `rank` has been removed from the collective."] + pub struct MemberRemoved { + pub who: ::subxt::utils::AccountId32, + pub rank: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for MemberRemoved { + const PALLET: &'static str = "RankedCollective"; + const EVENT: &'static str = "MemberRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"] + #[doc = "`tally`."] + pub struct Voted { + pub who: ::subxt::utils::AccountId32, + pub poll: ::core::primitive::u32, + pub vote: runtime_types::pallet_ranked_collective::VoteRecord, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Voted { + const PALLET: &'static str = "RankedCollective"; + const EVENT: &'static str = "Voted"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The number of members in the collective who have at least the rank according to the index"] + #[doc = " of the vec."] + pub fn member_count( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "MemberCount", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 122u8, 103u8, 33u8, 235u8, 19u8, 181u8, 16u8, 140u8, 233u8, + 252u8, 27u8, 219u8, 12u8, 127u8, 16u8, 137u8, 240u8, 120u8, + 208u8, 247u8, 81u8, 138u8, 52u8, 32u8, 120u8, 206u8, 141u8, + 101u8, 215u8, 66u8, 147u8, 170u8, + ], + ) + } + #[doc = " The number of members in the collective who have at least the rank according to the index"] + #[doc = " of the vec."] + pub fn member_count_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "MemberCount", + Vec::new(), + [ + 122u8, 103u8, 33u8, 235u8, 19u8, 181u8, 16u8, 140u8, 233u8, + 252u8, 27u8, 219u8, 12u8, 127u8, 16u8, 137u8, 240u8, 120u8, + 208u8, 247u8, 81u8, 138u8, 52u8, 32u8, 120u8, 206u8, 141u8, + 101u8, 215u8, 66u8, 147u8, 170u8, + ], + ) + } + #[doc = " The current members of the collective."] + pub fn members( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_ranked_collective::MemberRecord, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "Members", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 98u8, 137u8, 208u8, 103u8, 187u8, 115u8, 182u8, 10u8, 226u8, + 35u8, 218u8, 247u8, 229u8, 205u8, 104u8, 89u8, 150u8, 229u8, + 247u8, 45u8, 241u8, 51u8, 134u8, 210u8, 232u8, 159u8, 179u8, + 232u8, 249u8, 153u8, 186u8, 245u8, + ], + ) + } + #[doc = " The current members of the collective."] + pub fn members_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_ranked_collective::MemberRecord, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "Members", + Vec::new(), + [ + 98u8, 137u8, 208u8, 103u8, 187u8, 115u8, 182u8, 10u8, 226u8, + 35u8, 218u8, 247u8, 229u8, 205u8, 104u8, 89u8, 150u8, 229u8, + 247u8, 45u8, 241u8, 51u8, 134u8, 210u8, 232u8, 159u8, 179u8, + 232u8, 249u8, 153u8, 186u8, 245u8, + ], + ) + } + #[doc = " The index of each ranks's member into the group of members who have at least that rank."] + pub fn id_to_index( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "IdToIndex", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 186u8, 92u8, 44u8, 141u8, 26u8, 112u8, 63u8, 128u8, 66u8, + 62u8, 160u8, 33u8, 121u8, 155u8, 190u8, 153u8, 38u8, 255u8, + 197u8, 21u8, 141u8, 192u8, 157u8, 229u8, 149u8, 104u8, 11u8, + 119u8, 161u8, 182u8, 248u8, 105u8, + ], + ) + } + #[doc = " The index of each ranks's member into the group of members who have at least that rank."] + pub fn id_to_index_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "IdToIndex", + Vec::new(), + [ + 186u8, 92u8, 44u8, 141u8, 26u8, 112u8, 63u8, 128u8, 66u8, + 62u8, 160u8, 33u8, 121u8, 155u8, 190u8, 153u8, 38u8, 255u8, + 197u8, 21u8, 141u8, 192u8, 157u8, 229u8, 149u8, 104u8, 11u8, + 119u8, 161u8, 182u8, 248u8, 105u8, + ], + ) + } + #[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"] + #[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."] + pub fn index_to_id( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "IndexToId", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 216u8, 113u8, 138u8, 39u8, 227u8, 44u8, 222u8, 36u8, 175u8, + 134u8, 181u8, 1u8, 242u8, 50u8, 75u8, 177u8, 213u8, 252u8, + 224u8, 241u8, 195u8, 74u8, 163u8, 223u8, 100u8, 61u8, 96u8, + 1u8, 205u8, 147u8, 63u8, 64u8, + ], + ) + } + #[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"] + #[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."] + pub fn index_to_id_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::utils::AccountId32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "IndexToId", + Vec::new(), + [ + 216u8, 113u8, 138u8, 39u8, 227u8, 44u8, 222u8, 36u8, 175u8, + 134u8, 181u8, 1u8, 242u8, 50u8, 75u8, 177u8, 213u8, 252u8, + 224u8, 241u8, 195u8, 74u8, 163u8, 223u8, 100u8, 61u8, 96u8, + 1u8, 205u8, 147u8, 63u8, 64u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_ranked_collective::VoteRecord, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + :: subxt :: storage :: address :: StaticStorageAddress :: new ("RankedCollective" , "Voting" , vec ! [:: subxt :: storage :: address :: StorageMapKey :: new (_0 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Blake2_128Concat) , :: subxt :: storage :: address :: StorageMapKey :: new (_1 . borrow () , :: subxt :: storage :: address :: StorageHasher :: Twox64Concat)] , [113u8 , 198u8 , 3u8 , 155u8 , 220u8 , 110u8 , 5u8 , 50u8 , 91u8 , 232u8 , 18u8 , 224u8 , 39u8 , 238u8 , 17u8 , 28u8 , 21u8 , 44u8 , 36u8 , 12u8 , 109u8 , 10u8 , 191u8 , 81u8 , 78u8 , 76u8 , 155u8 , 66u8 , 99u8 , 180u8 , 63u8 , 99u8 ,]) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_ranked_collective::VoteRecord, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "Voting", + Vec::new(), + [ + 113u8, 198u8, 3u8, 155u8, 220u8, 110u8, 5u8, 50u8, 91u8, + 232u8, 18u8, 224u8, 39u8, 238u8, 17u8, 28u8, 21u8, 44u8, + 36u8, 12u8, 109u8, 10u8, 191u8, 81u8, 78u8, 76u8, 155u8, + 66u8, 99u8, 180u8, 63u8, 99u8, + ], + ) + } + pub fn voting_cleanup( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "VotingCleanup", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 49u8, 202u8, 198u8, 106u8, 238u8, 117u8, 209u8, 225u8, 166u8, + 130u8, 38u8, 236u8, 172u8, 59u8, 21u8, 168u8, 189u8, 41u8, + 190u8, 54u8, 74u8, 255u8, 230u8, 255u8, 160u8, 237u8, 70u8, + 208u8, 44u8, 182u8, 96u8, 157u8, + ], + ) + } + pub fn voting_cleanup_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RankedCollective", + "VotingCleanup", + Vec::new(), + [ + 49u8, 202u8, 198u8, 106u8, 238u8, 117u8, 209u8, 225u8, 166u8, + 130u8, 38u8, 236u8, 172u8, 59u8, 21u8, 168u8, 189u8, 41u8, + 190u8, 54u8, 74u8, 255u8, 230u8, 255u8, 160u8, 237u8, 70u8, + 208u8, 44u8, 182u8, 96u8, 157u8, + ], + ) + } + } + } + } + pub mod fast_unstake { + 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 RegisterFastUnstake; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Deregister; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Control { + pub eras_to_check: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[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."] + pub fn register_fast_unstake( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "FastUnstake", + "register_fast_unstake", + RegisterFastUnstake {}, + [ + 254u8, 85u8, 128u8, 135u8, 172u8, 170u8, 34u8, 145u8, 79u8, + 117u8, 234u8, 90u8, 16u8, 174u8, 159u8, 197u8, 27u8, 239u8, + 180u8, 85u8, 116u8, 23u8, 254u8, 30u8, 197u8, 110u8, 48u8, + 184u8, 177u8, 129u8, 42u8, 122u8, + ], + ) + } + #[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`."] + pub fn deregister(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "FastUnstake", + "deregister", + Deregister {}, + [ + 198u8, 180u8, 253u8, 148u8, 124u8, 145u8, 175u8, 121u8, 42u8, + 181u8, 41u8, 155u8, 229u8, 181u8, 66u8, 140u8, 103u8, 86u8, + 242u8, 155u8, 192u8, 34u8, 157u8, 107u8, 211u8, 162u8, 1u8, + 144u8, 35u8, 252u8, 88u8, 21u8, + ], + ) + } + #[doc = "Control the operation of this pallet."] + #[doc = ""] + #[doc = "Dispatch origin must be signed by the [`Config::ControlOrigin`]."] + pub fn control( + &self, + eras_to_check: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "FastUnstake", + "control", + Control { eras_to_check }, + [ + 92u8, 241u8, 123u8, 251u8, 82u8, 36u8, 209u8, 87u8, 238u8, + 56u8, 32u8, 54u8, 190u8, 89u8, 167u8, 2u8, 36u8, 249u8, + 131u8, 54u8, 217u8, 217u8, 231u8, 167u8, 232u8, 35u8, 108u8, + 193u8, 70u8, 224u8, 47u8, 142u8, + ], + ) + } + } + } + #[doc = "The events of this pallet."] + pub type Event = runtime_types::pallet_fast_unstake::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A staker was unstaked."] + pub struct Unstaked { + pub stash: ::subxt::utils::AccountId32, + pub result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Unstaked { + const PALLET: &'static str = "FastUnstake"; + const EVENT: &'static str = "Unstaked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A staker was slashed for requesting fast-unstake whilst being exposed."] + pub struct Slashed { + pub stash: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "FastUnstake"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "An internal error happened. Operations will be paused now."] + pub struct InternalError; + impl ::subxt::events::StaticEvent for InternalError { + const PALLET: &'static str = "FastUnstake"; + const EVENT: &'static str = "InternalError"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A batch was partially checked for the given eras, but the process did not finish."] + pub struct BatchChecked { + pub eras: ::std::vec::Vec<::core::primitive::u32>, + } + impl ::subxt::events::StaticEvent for BatchChecked { + const PALLET: &'static str = "FastUnstake"; + const EVENT: &'static str = "BatchChecked"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "A batch of a given size was terminated."] + #[doc = ""] + #[doc = "This is always follows by a number of `Unstaked` or `Slashed` events, marking the end"] + #[doc = "of the batch. A new batch will be created upon next block."] + pub struct BatchFinished { + pub size: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for BatchFinished { + const PALLET: &'static str = "FastUnstake"; + const EVENT: &'static str = "BatchFinished"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current \"head of the queue\" being unstaked."] + pub fn head( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_fast_unstake::types::UnstakeRequest, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "FastUnstake", + "Head", + vec![], + [ + 206u8, 19u8, 169u8, 239u8, 214u8, 136u8, 16u8, 102u8, 82u8, + 110u8, 128u8, 205u8, 102u8, 96u8, 148u8, 190u8, 67u8, 75u8, + 2u8, 213u8, 134u8, 143u8, 40u8, 57u8, 54u8, 66u8, 170u8, + 42u8, 135u8, 212u8, 108u8, 177u8, + ], + ) + } + #[doc = " The map of all accounts wishing to be unstaked."] + #[doc = ""] + #[doc = " Keeps track of `AccountId` wishing to unstake and it's corresponding deposit."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn queue( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "FastUnstake", + "Queue", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 250u8, 208u8, 88u8, 68u8, 8u8, 87u8, 27u8, 59u8, 120u8, + 242u8, 79u8, 54u8, 108u8, 15u8, 62u8, 143u8, 126u8, 66u8, + 159u8, 159u8, 55u8, 212u8, 190u8, 26u8, 171u8, 90u8, 156u8, + 205u8, 173u8, 189u8, 230u8, 71u8, + ], + ) + } + #[doc = " The map of all accounts wishing to be unstaked."] + #[doc = ""] + #[doc = " Keeps track of `AccountId` wishing to unstake and it's corresponding deposit."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn queue_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "FastUnstake", + "Queue", + Vec::new(), + [ + 250u8, 208u8, 88u8, 68u8, 8u8, 87u8, 27u8, 59u8, 120u8, + 242u8, 79u8, 54u8, 108u8, 15u8, 62u8, 143u8, 126u8, 66u8, + 159u8, 159u8, 55u8, 212u8, 190u8, 26u8, 171u8, 90u8, 156u8, + 205u8, 173u8, 189u8, 230u8, 71u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_queue( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "FastUnstake", + "CounterForQueue", + vec![], + [ + 241u8, 174u8, 224u8, 214u8, 204u8, 37u8, 117u8, 62u8, 114u8, + 63u8, 123u8, 121u8, 201u8, 128u8, 26u8, 60u8, 170u8, 24u8, + 112u8, 5u8, 248u8, 7u8, 143u8, 17u8, 150u8, 91u8, 23u8, 90u8, + 237u8, 4u8, 138u8, 210u8, + ], + ) + } + #[doc = " Number of eras to check per block."] + #[doc = ""] + #[doc = " If set to 0, this pallet does absolutely nothing."] + #[doc = ""] + #[doc = " Based on the amount of weight available at `on_idle`, up to this many eras of a single"] + #[doc = " nominator might be checked."] + pub fn eras_to_check_per_block( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "FastUnstake", + "ErasToCheckPerBlock", + vec![], + [ + 85u8, 55u8, 18u8, 11u8, 75u8, 176u8, 36u8, 253u8, 183u8, + 250u8, 203u8, 178u8, 201u8, 79u8, 101u8, 89u8, 51u8, 142u8, + 254u8, 23u8, 49u8, 140u8, 195u8, 116u8, 66u8, 124u8, 165u8, + 161u8, 151u8, 174u8, 37u8, 51u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Deposit to take for unstaking, to make sure we're able to slash the it in order to cover"] + #[doc = " the costs of resources on unsuccessful unstake."] + pub fn deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "FastUnstake", + "Deposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, + 200u8, 214u8, 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, + 101u8, 54u8, 210u8, 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, + 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod message_queue { + 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 ReapPage { + pub message_origin: + runtime_types::pallet_message_queue::mock_helpers::MessageOrigin, + pub page_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ExecuteOverweight { + pub message_origin: + runtime_types::pallet_message_queue::mock_helpers::MessageOrigin, + pub page: ::core::primitive::u32, + pub index: ::core::primitive::u32, + pub weight_limit: runtime_types::sp_weights::weight_v2::Weight, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Remove a page which has no more messages remaining to be processed or is stale."] + pub fn reap_page( + &self, + message_origin : runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin, + page_index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "MessageQueue", + "reap_page", + ReapPage { + message_origin, + page_index, + }, + [ + 5u8, 51u8, 124u8, 179u8, 60u8, 176u8, 165u8, 46u8, 182u8, + 66u8, 119u8, 34u8, 69u8, 23u8, 129u8, 78u8, 44u8, 218u8, + 241u8, 83u8, 48u8, 97u8, 172u8, 46u8, 68u8, 182u8, 37u8, + 162u8, 98u8, 95u8, 10u8, 254u8, + ], + ) + } + #[doc = "Execute an overweight message."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed`."] + #[doc = "- `message_origin`: The origin from which the message to be executed arrived."] + #[doc = "- `page`: The page in the queue in which the message to be executed is sitting."] + #[doc = "- `index`: The index into the queue of the message to be executed."] + #[doc = "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution"] + #[doc = " of the message."] + #[doc = ""] + #[doc = "Benchmark complexity considerations: O(index + weight_limit)."] + pub fn execute_overweight( + &self, + message_origin : runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin, + page: ::core::primitive::u32, + index: ::core::primitive::u32, + weight_limit: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "MessageQueue", + "execute_overweight", + ExecuteOverweight { + message_origin, + page, + index, + weight_limit, + }, + [ + 190u8, 229u8, 183u8, 199u8, 95u8, 209u8, 59u8, 104u8, 156u8, + 242u8, 142u8, 147u8, 184u8, 253u8, 150u8, 19u8, 156u8, 175u8, + 198u8, 72u8, 136u8, 149u8, 53u8, 75u8, 106u8, 182u8, 116u8, + 234u8, 63u8, 10u8, 153u8, 212u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_message_queue::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Message discarded due to an inability to decode the item. Usually caused by state"] + #[doc = "corruption."] + pub struct Discarded { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Discarded { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "Discarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] + pub struct ProcessingFailed { + pub hash: ::subxt::utils::H256, + pub origin: + runtime_types::pallet_message_queue::mock_helpers::MessageOrigin, + pub error: + runtime_types::frame_support::traits::messages::ProcessMessageError, + } + impl ::subxt::events::StaticEvent for ProcessingFailed { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "ProcessingFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Message is processed."] + pub struct Processed { + pub hash: ::subxt::utils::H256, + pub origin: + runtime_types::pallet_message_queue::mock_helpers::MessageOrigin, + pub weight_used: runtime_types::sp_weights::weight_v2::Weight, + pub success: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for Processed { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "Processed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Message placed in overweight queue."] + pub struct OverweightEnqueued { + pub hash: ::subxt::utils::H256, + pub origin: + runtime_types::pallet_message_queue::mock_helpers::MessageOrigin, + pub page_index: ::core::primitive::u32, + pub message_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for OverweightEnqueued { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "OverweightEnqueued"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "This page was reaped."] + pub struct PageReaped { + pub origin: + runtime_types::pallet_message_queue::mock_helpers::MessageOrigin, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for PageReaped { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "PageReaped"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The index of the first and last (non-empty) pages."] pub fn book_state_for (& self , _0 : impl :: std :: borrow :: Borrow < runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin > ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_message_queue :: BookState < runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin > > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "MessageQueue", + "BookStateFor", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 115u8, 200u8, 55u8, 195u8, 65u8, 240u8, 86u8, 187u8, 229u8, + 140u8, 7u8, 98u8, 151u8, 231u8, 75u8, 154u8, 131u8, 223u8, + 74u8, 111u8, 160u8, 48u8, 235u8, 223u8, 215u8, 193u8, 153u8, + 73u8, 135u8, 197u8, 223u8, 10u8, + ], + ) + } + #[doc = " The index of the first and last (non-empty) pages."] pub fn book_state_for_root (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: pallet_message_queue :: BookState < runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin > > , () , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "MessageQueue", + "BookStateFor", + Vec::new(), + [ + 115u8, 200u8, 55u8, 195u8, 65u8, 240u8, 86u8, 187u8, 229u8, + 140u8, 7u8, 98u8, 151u8, 231u8, 75u8, 154u8, 131u8, 223u8, + 74u8, 111u8, 160u8, 48u8, 235u8, 223u8, 215u8, 193u8, 153u8, + 73u8, 135u8, 197u8, 223u8, 10u8, + ], + ) + } + #[doc = " The origin at which we should begin servicing."] + pub fn service_head( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_message_queue::mock_helpers::MessageOrigin, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "MessageQueue", + "ServiceHead", + vec![], + [ + 20u8, 45u8, 85u8, 181u8, 153u8, 58u8, 1u8, 235u8, 167u8, + 192u8, 66u8, 81u8, 199u8, 37u8, 194u8, 250u8, 27u8, 28u8, + 18u8, 100u8, 244u8, 181u8, 45u8, 11u8, 35u8, 89u8, 208u8, + 63u8, 245u8, 72u8, 29u8, 137u8, + ], + ) + } + #[doc = " The map of page indices to pages."] + pub fn pages( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::pallet_message_queue::mock_helpers::MessageOrigin, + >, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_message_queue::Page<::core::primitive::u32>, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "MessageQueue", + "Pages", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 25u8, 173u8, 204u8, 57u8, 137u8, 77u8, 88u8, 162u8, 83u8, + 32u8, 67u8, 15u8, 74u8, 153u8, 151u8, 94u8, 135u8, 219u8, + 9u8, 46u8, 156u8, 13u8, 143u8, 177u8, 216u8, 96u8, 83u8, + 116u8, 237u8, 79u8, 76u8, 92u8, + ], + ) + } + #[doc = " The map of page indices to pages."] + pub fn pages_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_message_queue::Page<::core::primitive::u32>, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "MessageQueue", + "Pages", + Vec::new(), + [ + 25u8, 173u8, 204u8, 57u8, 137u8, 77u8, 88u8, 162u8, 83u8, + 32u8, 67u8, 15u8, 74u8, 153u8, 151u8, 94u8, 135u8, 219u8, + 9u8, 46u8, 156u8, 13u8, 143u8, 177u8, 216u8, 96u8, 83u8, + 116u8, 237u8, 79u8, 76u8, 92u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The size of the page; this implies the maximum message size which can be sent."] + #[doc = ""] + #[doc = " A good value depends on the expected message sizes, their weights, the weight that is"] + #[doc = " available for processing them and the maximal needed message size. The maximal message"] + #[doc = " size is slightly lower than this as defined by [`MaxMessageLenOf`]."] + pub fn heap_size( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "MessageQueue", + "HeapSize", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The maximum number of stale pages (i.e. of overweight messages) allowed before culling"] + #[doc = " can happen. Once there are more stale pages than this, then historical pages may be"] + #[doc = " dropped, even if they contain unprocessed overweight messages."] + pub fn max_stale( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "MessageQueue", + "MaxStale", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, + 157u8, 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, + 98u8, 68u8, 9u8, 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, + 90u8, 203u8, 100u8, 41u8, 145u8, + ], + ) + } + #[doc = " The amount of weight (if any) which should be provided to the message queue for"] + #[doc = " servicing enqueued items."] + #[doc = ""] + #[doc = " This may be legitimately `None` in the case that you will call"] + #[doc = " `ServiceQueues::service_queues` manually."] + pub fn service_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + ::core::option::Option< + runtime_types::sp_weights::weight_v2::Weight, + >, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "MessageQueue", + "ServiceWeight", + [ + 199u8, 205u8, 164u8, 188u8, 101u8, 240u8, 98u8, 54u8, 0u8, + 78u8, 218u8, 77u8, 164u8, 196u8, 0u8, 194u8, 181u8, 251u8, + 195u8, 24u8, 98u8, 147u8, 169u8, 53u8, 22u8, 202u8, 66u8, + 236u8, 163u8, 36u8, 162u8, 46u8, + ], + ) + } + } + } + } + pub mod pov { + 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 EmitEvent; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Noop; + pub struct TransactionApi; + impl TransactionApi { + pub fn emit_event(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Pov", + "emit_event", + EmitEvent {}, + [ + 14u8, 138u8, 169u8, 158u8, 130u8, 71u8, 252u8, 8u8, 217u8, + 46u8, 10u8, 251u8, 35u8, 65u8, 52u8, 108u8, 75u8, 165u8, + 250u8, 44u8, 23u8, 29u8, 78u8, 254u8, 233u8, 69u8, 14u8, + 230u8, 245u8, 51u8, 56u8, 170u8, + ], + ) + } + pub fn noop(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Pov", + "noop", + Noop {}, + [ + 43u8, 170u8, 96u8, 3u8, 54u8, 244u8, 186u8, 139u8, 31u8, + 132u8, 17u8, 29u8, 229u8, 218u8, 193u8, 49u8, 37u8, 105u8, + 29u8, 202u8, 71u8, 117u8, 24u8, 33u8, 216u8, 76u8, 131u8, + 252u8, 93u8, 231u8, 222u8, 137u8, + ], + ) + } + } + } + #[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::frame_benchmarking_pallet_pov::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TestEvent; + impl ::subxt::events::StaticEvent for TestEvent { + const PALLET: &'static str = "Pov"; + const EVENT: &'static str = "TestEvent"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn value( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "Value", + vec![], + [ + 9u8, 211u8, 85u8, 208u8, 134u8, 247u8, 45u8, 29u8, 206u8, + 49u8, 103u8, 68u8, 215u8, 78u8, 216u8, 26u8, 203u8, 154u8, + 216u8, 106u8, 42u8, 195u8, 219u8, 145u8, 192u8, 28u8, 211u8, + 109u8, 129u8, 241u8, 229u8, 43u8, + ], + ) + } + pub fn value2( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "Value2", + vec![], + [ + 48u8, 80u8, 236u8, 198u8, 2u8, 183u8, 200u8, 162u8, 54u8, + 196u8, 217u8, 190u8, 27u8, 68u8, 19u8, 38u8, 28u8, 209u8, + 152u8, 100u8, 177u8, 59u8, 18u8, 223u8, 80u8, 245u8, 195u8, + 170u8, 231u8, 66u8, 101u8, 186u8, + ], + ) + } + #[doc = " A value without a MEL bound."] + pub fn unbounded_value( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u8>, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "UnboundedValue", + vec![], + [ + 0u8, 89u8, 151u8, 63u8, 80u8, 181u8, 206u8, 202u8, 117u8, + 3u8, 126u8, 199u8, 132u8, 43u8, 116u8, 156u8, 20u8, 180u8, + 223u8, 87u8, 125u8, 162u8, 90u8, 8u8, 39u8, 157u8, 124u8, + 211u8, 38u8, 230u8, 32u8, 207u8, + ], + ) + } + #[doc = " A value with a MEL bound of 32 byte."] + pub fn bounded_value( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "BoundedValue", + vec![], + [ + 247u8, 231u8, 116u8, 175u8, 89u8, 223u8, 189u8, 248u8, 218u8, + 51u8, 112u8, 213u8, 72u8, 161u8, 114u8, 69u8, 32u8, 245u8, + 200u8, 245u8, 130u8, 121u8, 246u8, 182u8, 1u8, 173u8, 59u8, + 168u8, 206u8, 69u8, 252u8, 139u8, + ], + ) + } + #[doc = " 4MiB value."] + pub fn large_value( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "LargeValue", + vec![], + [ + 155u8, 64u8, 255u8, 30u8, 93u8, 13u8, 120u8, 254u8, 23u8, + 144u8, 235u8, 57u8, 196u8, 166u8, 236u8, 191u8, 158u8, 11u8, + 37u8, 104u8, 228u8, 15u8, 174u8, 246u8, 23u8, 138u8, 116u8, + 0u8, 155u8, 17u8, 211u8, 206u8, + ], + ) + } + pub fn large_value2( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "LargeValue2", + vec![], + [ + 5u8, 177u8, 104u8, 108u8, 190u8, 191u8, 230u8, 107u8, 95u8, + 181u8, 245u8, 248u8, 7u8, 59u8, 136u8, 34u8, 185u8, 39u8, + 76u8, 84u8, 115u8, 60u8, 168u8, 247u8, 53u8, 81u8, 70u8, + 141u8, 136u8, 7u8, 222u8, 217u8, + ], + ) + } + #[doc = " A map with a maximum of 1M entries."] + pub fn map1_m( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "Map1M", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_256, + )], + [ + 127u8, 84u8, 81u8, 165u8, 88u8, 21u8, 81u8, 221u8, 121u8, + 208u8, 147u8, 137u8, 74u8, 205u8, 16u8, 95u8, 233u8, 238u8, + 73u8, 89u8, 112u8, 94u8, 110u8, 7u8, 161u8, 4u8, 128u8, 82u8, + 139u8, 124u8, 114u8, 99u8, + ], + ) + } + #[doc = " A map with a maximum of 1M entries."] + pub fn map1_m_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "Map1M", + Vec::new(), + [ + 127u8, 84u8, 81u8, 165u8, 88u8, 21u8, 81u8, 221u8, 121u8, + 208u8, 147u8, 137u8, 74u8, 205u8, 16u8, 95u8, 233u8, 238u8, + 73u8, 89u8, 112u8, 94u8, 110u8, 7u8, 161u8, 4u8, 128u8, 82u8, + 139u8, 124u8, 114u8, 99u8, + ], + ) + } + #[doc = " A map with a maximum of 16M entries."] + pub fn map16_m( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "Map16M", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_256, + )], + [ + 44u8, 183u8, 133u8, 18u8, 15u8, 127u8, 115u8, 20u8, 120u8, + 138u8, 93u8, 23u8, 102u8, 48u8, 228u8, 8u8, 129u8, 111u8, + 44u8, 128u8, 50u8, 21u8, 242u8, 206u8, 191u8, 150u8, 41u8, + 31u8, 37u8, 214u8, 45u8, 178u8, + ], + ) + } + #[doc = " A map with a maximum of 16M entries."] + pub fn map16_m_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "Map16M", + Vec::new(), + [ + 44u8, 183u8, 133u8, 18u8, 15u8, 127u8, 115u8, 20u8, 120u8, + 138u8, 93u8, 23u8, 102u8, 48u8, 228u8, 8u8, 129u8, 111u8, + 44u8, 128u8, 50u8, 21u8, 242u8, 206u8, 191u8, 150u8, 41u8, + 31u8, 37u8, 214u8, 45u8, 178u8, + ], + ) + } + pub fn double_map1_m( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "DoubleMap1M", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_256, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_256, + ), + ], + [ + 41u8, 211u8, 39u8, 148u8, 201u8, 100u8, 60u8, 156u8, 199u8, + 19u8, 157u8, 134u8, 100u8, 159u8, 224u8, 4u8, 55u8, 195u8, + 83u8, 151u8, 225u8, 89u8, 94u8, 227u8, 160u8, 84u8, 137u8, + 126u8, 173u8, 187u8, 9u8, 191u8, + ], + ) + } + pub fn double_map1_m_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "DoubleMap1M", + Vec::new(), + [ + 41u8, 211u8, 39u8, 148u8, 201u8, 100u8, 60u8, 156u8, 199u8, + 19u8, 157u8, 134u8, 100u8, 159u8, 224u8, 4u8, 55u8, 195u8, + 83u8, 151u8, 225u8, 89u8, 94u8, 227u8, 160u8, 84u8, 137u8, + 126u8, 173u8, 187u8, 9u8, 191u8, + ], + ) + } + pub fn unbounded_map( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u32>, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "UnboundedMap", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_256, + )], + [ + 151u8, 19u8, 220u8, 245u8, 243u8, 150u8, 100u8, 20u8, 160u8, + 176u8, 238u8, 89u8, 105u8, 140u8, 247u8, 81u8, 165u8, 123u8, + 190u8, 251u8, 128u8, 29u8, 36u8, 196u8, 17u8, 181u8, 66u8, + 185u8, 68u8, 2u8, 52u8, 108u8, + ], + ) + } + pub fn unbounded_map_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u32>, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "UnboundedMap", + Vec::new(), + [ + 151u8, 19u8, 220u8, 245u8, 243u8, 150u8, 100u8, 20u8, 160u8, + 176u8, 238u8, 89u8, 105u8, 140u8, 247u8, 81u8, 165u8, 123u8, + 190u8, 251u8, 128u8, 29u8, 36u8, 196u8, 17u8, 181u8, 66u8, + 185u8, 68u8, 2u8, 52u8, 108u8, + ], + ) + } + pub fn unbounded_map2( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u32>, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "UnboundedMap2", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_256, + )], + [ + 103u8, 138u8, 223u8, 26u8, 234u8, 2u8, 180u8, 212u8, 107u8, + 220u8, 245u8, 154u8, 204u8, 229u8, 235u8, 174u8, 194u8, + 223u8, 245u8, 45u8, 223u8, 3u8, 212u8, 169u8, 56u8, 162u8, + 202u8, 135u8, 219u8, 7u8, 151u8, 132u8, + ], + ) + } + pub fn unbounded_map2_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::core::primitive::u32>, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Pov", + "UnboundedMap2", + Vec::new(), + [ + 103u8, 138u8, 223u8, 26u8, 234u8, 2u8, 180u8, 212u8, 107u8, + 220u8, 245u8, 154u8, 204u8, 229u8, 235u8, 174u8, 194u8, + 223u8, 245u8, 45u8, 223u8, 3u8, 212u8, 169u8, 56u8, 162u8, + 202u8, 135u8, 219u8, 7u8, 151u8, 132u8, + ], + ) + } + } + } + } + pub mod runtime_types { + use super::runtime_types; + 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, + } + #[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)] + TestEvent, + } + } + } + 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 DispatchClass { + #[codec(index = 0)] + Normal, + #[codec(index = 1)] + Operational, + #[codec(index = 2)] + Mandatory, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DispatchInfo { + pub weight: runtime_types::sp_weights::weight_v2::Weight, + pub class: runtime_types::frame_support::dispatch::DispatchClass, + pub pays_fee: runtime_types::frame_support::dispatch::Pays, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Pays { + #[codec(index = 0)] + Yes, + #[codec(index = 1)] + No, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PerDispatchClass<_0> { + pub normal: _0, + pub operational: _0, + pub mandatory: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PostDispatchInfo { + pub actual_weight: ::core::option::Option< + runtime_types::sp_weights::weight_v2::Weight, + >, + pub pays_fee: runtime_types::frame_support::dispatch::Pays, + } + #[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 messages { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ProcessMessageError { + #[codec(index = 0)] + BadFormat, + #[codec(index = 1)] + Corrupt, + #[codec(index = 2)] + Unsupported, + #[codec(index = 3)] + Overweight(runtime_types::sp_weights::weight_v2::Weight), + } + } + pub mod misc { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct WrapperOpaque<_0>( + #[codec(compact)] pub ::core::primitive::u32, + pub _0, + ); + } + pub mod preimages { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Bounded<_0> { + #[codec(index = 0)] + Legacy { + hash: ::subxt::utils::H256, + }, + #[codec(index = 1)] + Inline( + runtime_types::sp_core::bounded::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, + } + } + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PalletId(pub [::core::primitive::u8; 8usize]); + } + pub mod frame_system { + use super::runtime_types; + pub mod extensions { + use super::runtime_types; + pub mod check_genesis { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 limits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BlockLength { + pub max: runtime_types::frame_support::dispatch::PerDispatchClass< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BlockWeights { + pub base_block: runtime_types::sp_weights::weight_v2::Weight, + pub max_block: runtime_types::sp_weights::weight_v2::Weight, + pub per_class: + runtime_types::frame_support::dispatch::PerDispatchClass< + runtime_types::frame_system::limits::WeightsPerClass, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct WeightsPerClass { + pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight, + pub max_extrinsic: ::core::option::Option< + runtime_types::sp_weights::weight_v2::Weight, + >, + pub max_total: ::core::option::Option< + runtime_types::sp_weights::weight_v2::Weight, + >, + pub reserved: ::core::option::Option< + runtime_types::sp_weights::weight_v2::Weight, + >, + } + } + 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 = "# "] + #[doc = "- `O(1)`"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`"] + #[doc = "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is"] + #[doc = " expensive)."] + #[doc = "- 1 storage write (codec `O(C)`)."] + #[doc = "- 1 digest item."] + #[doc = "- 1 event."] + #[doc = "The weight of this function is dependent on the runtime, but generally this is very"] + #[doc = "expensive. We will treat this as a full block."] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(C)` where `C` length of `code`"] + #[doc = "- 1 storage write (codec `O(C)`)."] + #[doc = "- 1 digest item."] + #[doc = "- 1 event."] + #[doc = "The weight of this function is dependent on the runtime. We will treat this as a full"] + #[doc = "block. # "] + set_code_without_checks { + code: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 4)] + #[doc = "Set some items of storage."] + set_storage { + items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + }, + #[codec(index = 5)] + #[doc = "Kill some items from storage."] + kill_storage { + keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + }, + #[codec(index = 6)] + #[doc = "Kill all storage items with a key that starts with the given prefix."] + #[doc = ""] + #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] + #[doc = "the prefix we are removing to accurately calculate the weight of this function."] + kill_prefix { + prefix: ::std::vec::Vec<::core::primitive::u8>, + subkeys: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "Make some on-chain remark and emit event."] + remark_with_event { + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Error for the System pallet"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The name of specification does not match between the current runtime"] + #[doc = "and the new runtime."] + InvalidSpecName, + #[codec(index = 1)] + #[doc = "The specification version is not allowed to decrease between the current runtime"] + #[doc = "and the new runtime."] + SpecVersionNeedsToIncrease, + #[codec(index = 2)] + #[doc = "Failed to extract the runtime version from the new runtime."] + #[doc = ""] + #[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."] + FailedToExtractRuntimeVersion, + #[codec(index = 3)] + #[doc = "Suicide called when the account has non-default composite data."] + NonDefaultComposite, + #[codec(index = 4)] + #[doc = "There is a non-zero reference count preventing the account from being purged."] + NonZeroRefCount, + #[codec(index = 5)] + #[doc = "The origin filter prevent the call to be dispatched."] + CallFiltered, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Event for the System pallet."] + pub enum Event { + #[codec(index = 0)] + #[doc = "An extrinsic completed successfully."] + ExtrinsicSuccess { + dispatch_info: + runtime_types::frame_support::dispatch::DispatchInfo, + }, + #[codec(index = 1)] + #[doc = "An extrinsic failed."] + ExtrinsicFailed { + dispatch_error: runtime_types::sp_runtime::DispatchError, + dispatch_info: + runtime_types::frame_support::dispatch::DispatchInfo, + }, + #[codec(index = 2)] + #[doc = "`:code` was updated."] + CodeUpdated, + #[codec(index = 3)] + #[doc = "A new account was created."] + NewAccount { + account: ::subxt::utils::AccountId32, + }, + #[codec(index = 4)] + #[doc = "An account was reaped."] + KilledAccount { + account: ::subxt::utils::AccountId32, + }, + #[codec(index = 5)] + #[doc = "On on-chain remark happened."] + Remarked { + sender: ::subxt::utils::AccountId32, + hash: ::subxt::utils::H256, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AccountInfo<_0, _1> { + pub nonce: _0, + pub consumers: _0, + pub providers: _0, + pub sufficients: _0, + pub data: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct EventRecord<_0, _1> { + pub phase: runtime_types::frame_system::Phase, + pub event: _0, + pub topics: ::std::vec::Vec<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct LastRuntimeUpgradeInfo { + #[codec(compact)] + pub spec_version: ::core::primitive::u32, + pub spec_name: ::std::string::String, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Phase { + #[codec(index = 0)] + ApplyExtrinsic(::core::primitive::u32), + #[codec(index = 1)] + Finalization, + #[codec(index = 2)] + Initialization, + } + } + 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 = 51)] + 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)] + Preimage(runtime_types::pallet_preimage::pallet::Call), + #[codec(index = 32)] + Proxy(runtime_types::pallet_proxy::pallet::Call), + #[codec(index = 33)] + Multisig(runtime_types::pallet_multisig::pallet::Call), + #[codec(index = 34)] + Bounties(runtime_types::pallet_bounties::pallet::Call), + #[codec(index = 35)] + Tips(runtime_types::pallet_tips::pallet::Call), + #[codec(index = 36)] + Assets(runtime_types::pallet_assets::pallet::Call), + #[codec(index = 38)] + Lottery(runtime_types::pallet_lottery::pallet::Call), + #[codec(index = 39)] + Nis(runtime_types::pallet_nis::pallet::Call), + #[codec(index = 40)] + Uniques(runtime_types::pallet_uniques::pallet::Call), + #[codec(index = 41)] + Nfts(runtime_types::pallet_nfts::pallet::Call), + #[codec(index = 42)] + TransactionStorage( + runtime_types::pallet_transaction_storage::pallet::Call, + ), + #[codec(index = 43)] + VoterList(runtime_types::pallet_bags_list::pallet::Call), + #[codec(index = 44)] + StateTrieMigration( + runtime_types::pallet_state_trie_migration::pallet::Call, + ), + #[codec(index = 45)] + ChildBounties(runtime_types::pallet_child_bounties::pallet::Call), + #[codec(index = 46)] + Referenda(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 47)] + Remark(runtime_types::pallet_remark::pallet::Call), + #[codec(index = 48)] + RootTesting(runtime_types::pallet_root_testing::pallet::Call), + #[codec(index = 49)] + ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call), + #[codec(index = 50)] + Whitelist(runtime_types::pallet_whitelist::pallet::Call), + #[codec(index = 51)] + AllianceMotion(runtime_types::pallet_collective::pallet::Call), + #[codec(index = 52)] + Alliance(runtime_types::pallet_alliance::pallet::Call), + #[codec(index = 53)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Call), + #[codec(index = 54)] + RankedPolls(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 55)] + RankedCollective(runtime_types::pallet_ranked_collective::pallet::Call), + #[codec(index = 56)] + FastUnstake(runtime_types::pallet_fast_unstake::pallet::Call), + #[codec(index = 57)] + MessageQueue(runtime_types::pallet_message_queue::pallet::Call), + #[codec(index = 58)] + Pov(runtime_types::frame_benchmarking_pallet_pov::pallet::Call), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum RuntimeEvent { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Event), + #[codec(index = 1)] + Utility(runtime_types::pallet_utility::pallet::Event), + #[codec(index = 5)] + Indices(runtime_types::pallet_indices::pallet::Event), + #[codec(index = 6)] + Balances(runtime_types::pallet_balances::pallet::Event), + #[codec(index = 7)] + TransactionPayment( + runtime_types::pallet_transaction_payment::pallet::Event, + ), + #[codec(index = 8)] + AssetTxPayment(runtime_types::pallet_asset_tx_payment::pallet::Event), + #[codec(index = 9)] + ElectionProviderMultiPhase( + runtime_types::pallet_election_provider_multi_phase::pallet::Event, + ), + #[codec(index = 10)] + Staking(runtime_types::pallet_staking::pallet::pallet::Event), + #[codec(index = 11)] + Session(runtime_types::pallet_session::pallet::Event), + #[codec(index = 12)] + Democracy(runtime_types::pallet_democracy::pallet::Event), + #[codec(index = 13)] + Council(runtime_types::pallet_collective::pallet::Event), + #[codec(index = 14)] + TechnicalCommittee(runtime_types::pallet_collective::pallet::Event), + #[codec(index = 15)] + Elections(runtime_types::pallet_elections_phragmen::pallet::Event), + #[codec(index = 16)] + TechnicalMembership(runtime_types::pallet_membership::pallet::Event), + #[codec(index = 17)] + Grandpa(runtime_types::pallet_grandpa::pallet::Event), + #[codec(index = 18)] + Treasury(runtime_types::pallet_treasury::pallet::Event), + #[codec(index = 19)] + Contracts(runtime_types::pallet_contracts::pallet::Event), + #[codec(index = 20)] + Sudo(runtime_types::pallet_sudo::pallet::Event), + #[codec(index = 21)] + ImOnline(runtime_types::pallet_im_online::pallet::Event), + #[codec(index = 23)] + Offences(runtime_types::pallet_offences::pallet::Event), + #[codec(index = 26)] + Identity(runtime_types::pallet_identity::pallet::Event), + #[codec(index = 27)] + Society(runtime_types::pallet_society::pallet::Event), + #[codec(index = 28)] + Recovery(runtime_types::pallet_recovery::pallet::Event), + #[codec(index = 29)] + Vesting(runtime_types::pallet_vesting::pallet::Event), + #[codec(index = 30)] + Scheduler(runtime_types::pallet_scheduler::pallet::Event), + #[codec(index = 31)] + Preimage(runtime_types::pallet_preimage::pallet::Event), + #[codec(index = 32)] + Proxy(runtime_types::pallet_proxy::pallet::Event), + #[codec(index = 33)] + Multisig(runtime_types::pallet_multisig::pallet::Event), + #[codec(index = 34)] + Bounties(runtime_types::pallet_bounties::pallet::Event), + #[codec(index = 35)] + Tips(runtime_types::pallet_tips::pallet::Event), + #[codec(index = 36)] + Assets(runtime_types::pallet_assets::pallet::Event), + #[codec(index = 38)] + Lottery(runtime_types::pallet_lottery::pallet::Event), + #[codec(index = 39)] + Nis(runtime_types::pallet_nis::pallet::Event), + #[codec(index = 40)] + Uniques(runtime_types::pallet_uniques::pallet::Event), + #[codec(index = 41)] + Nfts(runtime_types::pallet_nfts::pallet::Event), + #[codec(index = 42)] + TransactionStorage( + runtime_types::pallet_transaction_storage::pallet::Event, + ), + #[codec(index = 43)] + VoterList(runtime_types::pallet_bags_list::pallet::Event), + #[codec(index = 44)] + StateTrieMigration( + runtime_types::pallet_state_trie_migration::pallet::Event, + ), + #[codec(index = 45)] + ChildBounties(runtime_types::pallet_child_bounties::pallet::Event), + #[codec(index = 46)] + Referenda(runtime_types::pallet_referenda::pallet::Event), + #[codec(index = 47)] + Remark(runtime_types::pallet_remark::pallet::Event), + #[codec(index = 49)] + ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Event), + #[codec(index = 50)] + Whitelist(runtime_types::pallet_whitelist::pallet::Event), + #[codec(index = 51)] + AllianceMotion(runtime_types::pallet_collective::pallet::Event), + #[codec(index = 52)] + Alliance(runtime_types::pallet_alliance::pallet::Event), + #[codec(index = 53)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Event), + #[codec(index = 54)] + RankedPolls(runtime_types::pallet_referenda::pallet::Event), + #[codec(index = 55)] + RankedCollective(runtime_types::pallet_ranked_collective::pallet::Event), + #[codec(index = 56)] + FastUnstake(runtime_types::pallet_fast_unstake::pallet::Event), + #[codec(index = 57)] + MessageQueue(runtime_types::pallet_message_queue::pallet::Event), + #[codec(index = 58)] + Pov(runtime_types::frame_benchmarking_pallet_pov::pallet::Event), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SessionKeys { + pub grandpa: runtime_types::sp_finality_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::sp_core::bounded::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::sp_core::bounded::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, + } + #[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 = "The Alliance has not been initialized yet, therefore accounts cannot join it."] + AllianceNotYetInitialized, + #[codec(index = 1)] + #[doc = "The Alliance has been initialized, therefore cannot be initialized again."] + AllianceAlreadyInitialized, + #[codec(index = 2)] + #[doc = "Account is already a member."] + AlreadyMember, + #[codec(index = 3)] + #[doc = "Account is not a member."] + NotMember, + #[codec(index = 4)] + #[doc = "Account is not an ally."] + NotAlly, + #[codec(index = 5)] + #[doc = "Account does not have voting rights."] + NoVotingRights, + #[codec(index = 6)] + #[doc = "Account is already an elevated (fellow) member."] + AlreadyElevated, + #[codec(index = 7)] + #[doc = "Item is already listed as unscrupulous."] + AlreadyUnscrupulous, + #[codec(index = 8)] + #[doc = "Account has been deemed unscrupulous by the Alliance and is not welcome to join or be"] + #[doc = "nominated."] + AccountNonGrata, + #[codec(index = 9)] + #[doc = "Item has not been deemed unscrupulous."] + NotListedAsUnscrupulous, + #[codec(index = 10)] + #[doc = "The number of unscrupulous items exceeds `MaxUnscrupulousItems`."] + TooManyUnscrupulousItems, + #[codec(index = 11)] + #[doc = "Length of website URL exceeds `MaxWebsiteUrlLength`."] + TooLongWebsiteUrl, + #[codec(index = 12)] + #[doc = "Balance is insufficient for the required deposit."] + InsufficientFunds, + #[codec(index = 13)] + #[doc = "The account's identity does not have display field and website field."] + WithoutIdentityDisplayAndWebsite, + #[codec(index = 14)] + #[doc = "The account's identity has no good judgement."] + WithoutGoodIdentityJudgement, + #[codec(index = 15)] + #[doc = "The proposal hash is not found."] + MissingProposalHash, + #[codec(index = 16)] + #[doc = "The announcement is not found."] + MissingAnnouncement, + #[codec(index = 17)] + #[doc = "Number of members exceeds `MaxMembersCount`."] + TooManyMembers, + #[codec(index = 18)] + #[doc = "Number of announcements exceeds `MaxAnnouncementsCount`."] + TooManyAnnouncements, + #[codec(index = 19)] + #[doc = "Invalid witness data given."] + BadWitness, + #[codec(index = 20)] + #[doc = "Account already gave retirement notice"] + AlreadyRetiring, + #[codec(index = 21)] + #[doc = "Account did not give a retirement notice required to retire."] + RetirementNoticeNotGiven, + #[codec(index = 22)] + #[doc = "Retirement period has not passed."] + RetirementPeriodNotPassed, + #[codec(index = 23)] + #[doc = "Fellows must be provided to initialize the Alliance."] + FellowsMissing, + } + #[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 = "A new rule has been set."] + NewRuleSet { + rule: runtime_types::pallet_alliance::types::Cid, + }, + #[codec(index = 1)] + #[doc = "A new announcement has been proposed."] + Announced { + announcement: runtime_types::pallet_alliance::types::Cid, + }, + #[codec(index = 2)] + #[doc = "An on-chain announcement has been removed."] + AnnouncementRemoved { + announcement: runtime_types::pallet_alliance::types::Cid, + }, + #[codec(index = 3)] + #[doc = "Some accounts have been initialized as members (fellows/allies)."] + MembersInitialized { + fellows: ::std::vec::Vec<::subxt::utils::AccountId32>, + allies: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 4)] + #[doc = "An account has been added as an Ally and reserved its deposit."] + NewAllyJoined { + ally: ::subxt::utils::AccountId32, + nominator: ::core::option::Option<::subxt::utils::AccountId32>, + reserved: ::core::option::Option<::core::primitive::u128>, + }, + #[codec(index = 5)] + #[doc = "An ally has been elevated to Fellow."] + AllyElevated { ally: ::subxt::utils::AccountId32 }, + #[codec(index = 6)] + #[doc = "A member gave retirement notice and their retirement period started."] + MemberRetirementPeriodStarted { member: ::subxt::utils::AccountId32 }, + #[codec(index = 7)] + #[doc = "A member has retired with its deposit unreserved."] + MemberRetired { + member: ::subxt::utils::AccountId32, + unreserved: ::core::option::Option<::core::primitive::u128>, + }, + #[codec(index = 8)] + #[doc = "A member has been kicked out with its deposit slashed."] + MemberKicked { + member: ::subxt::utils::AccountId32, + slashed: ::core::option::Option<::core::primitive::u128>, + }, + #[codec(index = 9)] + #[doc = "Accounts or websites have been added into the list of unscrupulous items."] + UnscrupulousItemAdded { + items: ::std::vec::Vec< + runtime_types::pallet_alliance::UnscrupulousItem< + ::subxt::utils::AccountId32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + }, + #[codec(index = 10)] + #[doc = "Accounts or websites have been removed from the list of unscrupulous items."] + UnscrupulousItemRemoved { + items: ::std::vec::Vec< + runtime_types::pallet_alliance::UnscrupulousItem< + ::subxt::utils::AccountId32, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + }, + #[codec(index = 11)] + #[doc = "Alliance disbanded. Includes number deleted members and unreserved deposits."] + AllianceDisbanded { + fellow_members: ::core::primitive::u32, + ally_members: ::core::primitive::u32, + unreserved: ::core::primitive::u32, + }, + #[codec(index = 12)] + #[doc = "A Fellow abdicated their voting rights. They are now an Ally."] + FellowAbdicated { fellow: ::subxt::utils::AccountId32 }, + } + } + 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::sp_core::bounded::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 MemberRole { + #[codec(index = 0)] + Fellow, + #[codec(index = 1)] + Ally, + #[codec(index = 2)] + Retiring, + } + #[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; + pub mod pallet { + use super::runtime_types; + #[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 = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who` in an asset `asset_id`."] + AssetTxFeePaid { + who: ::subxt::utils::AccountId32, + actual_fee: ::core::primitive::u128, + tip: ::core::primitive::u128, + asset_id: ::core::option::Option<::core::primitive::u32>, + }, + } + } + #[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, + }, + } + #[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 = "Account balance must be greater than or equal to the transfer amount."] + BalanceLow, + #[codec(index = 1)] + #[doc = "The account to alter does not exist."] + NoAccount, + #[codec(index = 2)] + #[doc = "The signing account has no permission to do the operation."] + NoPermission, + #[codec(index = 3)] + #[doc = "The given asset ID is unknown."] + Unknown, + #[codec(index = 4)] + #[doc = "The origin account is frozen."] + Frozen, + #[codec(index = 5)] + #[doc = "The asset ID is already taken."] + InUse, + #[codec(index = 6)] + #[doc = "Invalid witness data given."] + BadWitness, + #[codec(index = 7)] + #[doc = "Minimum balance should be non-zero."] + MinBalanceZero, + #[codec(index = 8)] + #[doc = "Unable to increment the consumer reference counters on the account. Either no provider"] + #[doc = "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the"] + #[doc = "maximum number of consumers has been reached."] + NoProvider, + #[codec(index = 9)] + #[doc = "Invalid metadata given."] + BadMetadata, + #[codec(index = 10)] + #[doc = "No approval exists that would allow the transfer."] + Unapproved, + #[codec(index = 11)] + #[doc = "The source account would not survive the transfer and it needs to stay alive."] + WouldDie, + #[codec(index = 12)] + #[doc = "The asset-account already exists."] + AlreadyExists, + #[codec(index = 13)] + #[doc = "The asset-account doesn't have an associated deposit."] + NoDeposit, + #[codec(index = 14)] + #[doc = "The operation would result in funds being burned."] + WouldBurn, + #[codec(index = 15)] + #[doc = "The asset is a live asset and is actively being used. Usually emit for operations such"] + #[doc = "as `start_destroy` which require the asset to be in a destroying state."] + LiveAsset, + #[codec(index = 16)] + #[doc = "The asset is not live, and likely being destroyed."] + AssetNotLive, + #[codec(index = 17)] + #[doc = "The asset status is not the expected status."] + IncorrectStatus, + #[codec(index = 18)] + #[doc = "The asset should be frozen before the given operation."] + NotFrozen, + } + #[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 = "Some asset class was created."] + Created { + asset_id: ::core::primitive::u32, + creator: ::subxt::utils::AccountId32, + owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 1)] + #[doc = "Some assets were issued."] + Issued { + asset_id: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Some assets were transferred."] + Transferred { + asset_id: ::core::primitive::u32, + from: ::subxt::utils::AccountId32, + to: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Some assets were destroyed."] + Burned { + asset_id: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + balance: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "The management team changed."] + TeamChanged { + asset_id: ::core::primitive::u32, + issuer: ::subxt::utils::AccountId32, + admin: ::subxt::utils::AccountId32, + freezer: ::subxt::utils::AccountId32, + }, + #[codec(index = 5)] + #[doc = "The owner changed."] + OwnerChanged { + asset_id: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 6)] + #[doc = "Some account `who` was frozen."] + Frozen { + asset_id: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + }, + #[codec(index = 7)] + #[doc = "Some account `who` was thawed."] + Thawed { + asset_id: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + }, + #[codec(index = 8)] + #[doc = "Some asset `asset_id` was frozen."] + AssetFrozen { asset_id: ::core::primitive::u32 }, + #[codec(index = 9)] + #[doc = "Some asset `asset_id` was thawed."] + AssetThawed { asset_id: ::core::primitive::u32 }, + #[codec(index = 10)] + #[doc = "Accounts were destroyed for given asset."] + AccountsDestroyed { + asset_id: ::core::primitive::u32, + accounts_destroyed: ::core::primitive::u32, + accounts_remaining: ::core::primitive::u32, + }, + #[codec(index = 11)] + #[doc = "Approvals were destroyed for given asset."] + ApprovalsDestroyed { + asset_id: ::core::primitive::u32, + approvals_destroyed: ::core::primitive::u32, + approvals_remaining: ::core::primitive::u32, + }, + #[codec(index = 12)] + #[doc = "An asset class is in the process of being destroyed."] + DestructionStarted { asset_id: ::core::primitive::u32 }, + #[codec(index = 13)] + #[doc = "An asset class was destroyed."] + Destroyed { asset_id: ::core::primitive::u32 }, + #[codec(index = 14)] + #[doc = "Some asset class was force-created."] + ForceCreated { + asset_id: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 15)] + #[doc = "New metadata has been set for an asset."] + MetadataSet { + asset_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 = 16)] + #[doc = "Metadata has been cleared for an asset."] + MetadataCleared { asset_id: ::core::primitive::u32 }, + #[codec(index = 17)] + #[doc = "(Additional) funds have been approved for transfer to a destination account."] + ApprovedTransfer { + asset_id: ::core::primitive::u32, + source: ::subxt::utils::AccountId32, + delegate: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 18)] + #[doc = "An approval for account `delegate` was cancelled by `owner`."] + ApprovalCancelled { + asset_id: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + delegate: ::subxt::utils::AccountId32, + }, + #[codec(index = 19)] + #[doc = "An `amount` was transferred in its entirety from `owner` to `destination` by"] + #[doc = "the approved `delegate`."] + TransferredApproved { + asset_id: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + delegate: ::subxt::utils::AccountId32, + destination: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 20)] + #[doc = "An asset has had its attributes changed by the `Force` origin."] + AssetStatusChanged { asset_id: ::core::primitive::u32 }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Approval<_0, _1> { + pub amount: _0, + pub deposit: _0, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AssetAccount<_0, _1, _2> { + pub balance: _0, + pub is_frozen: ::core::primitive::bool, + pub reason: runtime_types::pallet_assets::types::ExistenceReason<_0>, + pub extra: _2, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AssetDetails<_0, _1, _2> { + pub owner: _1, + pub issuer: _1, + pub admin: _1, + pub freezer: _1, + pub supply: _0, + pub deposit: _0, + pub min_balance: _0, + pub is_sufficient: ::core::primitive::bool, + pub accounts: ::core::primitive::u32, + pub sufficients: ::core::primitive::u32, + pub approvals: ::core::primitive::u32, + pub status: runtime_types::pallet_assets::types::AssetStatus, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AssetMetadata<_0, _1> { + pub deposit: _0, + pub name: _1, + pub symbol: _1, + pub decimals: ::core::primitive::u8, + pub is_frozen: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum AssetStatus { + #[codec(index = 0)] + Live, + #[codec(index = 1)] + Frozen, + #[codec(index = 2)] + Destroying, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ExistenceReason<_0> { + #[codec(index = 0)] + Consumer, + #[codec(index = 1)] + Sufficient, + #[codec(index = 2)] + DepositHeld(_0), + #[codec(index = 3)] + DepositRefunded, + } + } + } + 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 , } , } + #[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 = "An equivocation proof provided as part of an equivocation report is invalid."] + InvalidEquivocationProof, + #[codec(index = 1)] + #[doc = "A key ownership proof provided as part of an equivocation report is invalid."] + InvalidKeyOwnershipProof, + #[codec(index = 2)] + #[doc = "A given equivocation report is valid but already previously reported."] + DuplicateOffenceReport, + #[codec(index = 3)] + #[doc = "Submitted configuration is invalid."] + InvalidConfiguration, + } + } + } + pub mod pallet_bags_list { + use super::runtime_types; + pub mod list { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Bag { + pub head: ::core::option::Option<::subxt::utils::AccountId32>, + pub tail: ::core::option::Option<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ListError { + #[codec(index = 0)] + Duplicate, + #[codec(index = 1)] + NotHeavier, + #[codec(index = 2)] + NotInSameBag, + #[codec(index = 3)] + NodeNotFound, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Node { + pub id: ::subxt::utils::AccountId32, + pub prev: ::core::option::Option<::subxt::utils::AccountId32>, + pub next: ::core::option::Option<::subxt::utils::AccountId32>, + pub bag_upper: ::core::primitive::u64, + pub score: ::core::primitive::u64, + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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, + >, + }, + } + #[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 = "A error in the list interface implementation."] + List(runtime_types::pallet_bags_list::list::ListError), + } + #[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 = "Moved an account from one bag to another."] + Rebagged { + who: ::subxt::utils::AccountId32, + from: ::core::primitive::u64, + to: ::core::primitive::u64, + }, + #[codec(index = 1)] + #[doc = "Updated the score of some account to the given amount."] + ScoreUpdated { + who: ::subxt::utils::AccountId32, + new_score: ::core::primitive::u64, + }, + } + } + } + pub mod pallet_balances { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "# "] + #[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."] + #[doc = "---------------------------------"] + #[doc = "- Origin account is already in memory, so no DB operations for them."] + #[doc = "# "] + 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 = "# "] + #[doc = "- Same as transfer, but additional read and write because the source account is not"] + #[doc = " assumed to be in the overlay."] + #[doc = "# "] + 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). # "] + #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] + #[doc = " #"] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "# "] + extend_bounty_expiry { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + } + #[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 = "Proposer's balance is too low."] + InsufficientProposersBalance, + #[codec(index = 1)] + #[doc = "No proposal or bounty at that index."] + InvalidIndex, + #[codec(index = 2)] + #[doc = "The reason given is just too big."] + ReasonTooBig, + #[codec(index = 3)] + #[doc = "The bounty status is unexpected."] + UnexpectedStatus, + #[codec(index = 4)] + #[doc = "Require bounty curator."] + RequireCurator, + #[codec(index = 5)] + #[doc = "Invalid bounty value."] + InvalidValue, + #[codec(index = 6)] + #[doc = "Invalid bounty fee."] + InvalidFee, + #[codec(index = 7)] + #[doc = "A bounty payout is pending."] + #[doc = "To cancel the bounty, you must unassign and slash the curator."] + PendingPayout, + #[codec(index = 8)] + #[doc = "The bounties cannot be claimed/closed because it's still in the countdown period."] + Premature, + #[codec(index = 9)] + #[doc = "The bounty cannot be closed because it has active child bounties."] + HasActiveChildBounty, + #[codec(index = 10)] + #[doc = "Too many approvals are already queued."] + TooManyQueued, + } + #[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 = "New bounty proposal."] + BountyProposed { index: ::core::primitive::u32 }, + #[codec(index = 1)] + #[doc = "A bounty proposal was rejected; funds were slashed."] + BountyRejected { + index: ::core::primitive::u32, + bond: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "A bounty proposal is funded and became active."] + BountyBecameActive { index: ::core::primitive::u32 }, + #[codec(index = 3)] + #[doc = "A bounty is awarded to a beneficiary."] + BountyAwarded { + index: ::core::primitive::u32, + beneficiary: ::subxt::utils::AccountId32, + }, + #[codec(index = 4)] + #[doc = "A bounty is claimed by beneficiary."] + BountyClaimed { + index: ::core::primitive::u32, + payout: ::core::primitive::u128, + beneficiary: ::subxt::utils::AccountId32, + }, + #[codec(index = 5)] + #[doc = "A bounty is cancelled."] + BountyCanceled { index: ::core::primitive::u32 }, + #[codec(index = 6)] + #[doc = "A bounty expiry is extended."] + BountyExtended { index: ::core::primitive::u32 }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Bounty<_0, _1, _2> { + pub proposer: _0, + pub value: _1, + pub fee: _1, + pub curator_deposit: _1, + pub bond: _1, + pub status: runtime_types::pallet_bounties::BountyStatus<_0, _2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum BountyStatus<_0, _1> { + #[codec(index = 0)] + Proposed, + #[codec(index = 1)] + Approved, + #[codec(index = 2)] + Funded, + #[codec(index = 3)] + CuratorProposed { curator: _0 }, + #[codec(index = 4)] + Active { curator: _0, update_due: _1 }, + #[codec(index = 5)] + PendingPayout { + curator: _0, + beneficiary: _0, + unlock_at: _1, + }, + } + } + 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, + }, + } + #[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 = "The parent bounty is not in active state."] + ParentBountyNotActive, + #[codec(index = 1)] + #[doc = "The bounty balance is not enough to add new child-bounty."] + InsufficientBountyBalance, + #[codec(index = 2)] + #[doc = "Number of child bounties exceeds limit `MaxActiveChildBountyCount`."] + TooManyChildBounties, + } + #[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 = "A child-bounty is added."] + Added { + index: ::core::primitive::u32, + child_index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "A child-bounty is awarded to a beneficiary."] + Awarded { + index: ::core::primitive::u32, + child_index: ::core::primitive::u32, + beneficiary: ::subxt::utils::AccountId32, + }, + #[codec(index = 2)] + #[doc = "A child-bounty is claimed by beneficiary."] + Claimed { + index: ::core::primitive::u32, + child_index: ::core::primitive::u32, + payout: ::core::primitive::u128, + beneficiary: ::subxt::utils::AccountId32, + }, + #[codec(index = 3)] + #[doc = "A child-bounty is cancelled."] + Canceled { + index: ::core::primitive::u32, + child_index: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ChildBounty<_0, _1, _2> { + pub parent_bounty: _2, + pub value: _1, + pub fee: _1, + pub curator_deposit: _1, + pub status: + runtime_types::pallet_child_bounties::ChildBountyStatus<_0, _2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ChildBountyStatus<_0, _1> { + #[codec(index = 0)] + Added, + #[codec(index = 1)] + CuratorProposed { curator: _0 }, + #[codec(index = 2)] + Active { curator: _0 }, + #[codec(index = 3)] + PendingPayout { + curator: _0, + beneficiary: _0, + unlock_at: _1, + }, + } + } + 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 = "Requires root origin."] + #[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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] + #[doc = " members"] + #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] + #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] + #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] + #[doc = "# "] + 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 = "# "] + #[doc = "## Weight"] + #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] + #[doc = " `proposal`"] + #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] + #[doc = "- 1 event"] + #[doc = "# "] + 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 = "# "] + #[doc = "## Weight"] + #[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`)"] + #[doc = "- DB:"] + #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] + #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] + #[doc = " - DB accesses influenced by `threshold`:"] + #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] + #[doc = " - OR proposal insertion (`threshold <= 2`)"] + #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] + #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] + #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] + #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] + #[doc = " - 1 event"] + #[doc = "# "] + 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 = "# "] + #[doc = "## Weight"] + #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] + #[doc = "- DB:"] + #[doc = " - 1 storage read `Members` (codec `O(M)`)"] + #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] + #[doc = "- 1 event"] + #[doc = "# "] + 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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] + #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] + #[doc = " `O(P2)`)"] + #[doc = " - any mutations done while executing `proposal` (`P1`)"] + #[doc = "- up to 3 events"] + #[doc = "# "] + 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 = "# "] + #[doc = "Complexity: O(P) where P is the number of max proposals"] + #[doc = "DB Weight:"] + #[doc = "* Reads: Proposals"] + #[doc = "* Writes: Voting, Proposals, ProposalOf"] + #[doc = "# "] + 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 = "# "] + #[doc = "## Weight"] + #[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)"] + #[doc = "- DB:"] + #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] + #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] + #[doc = " `O(P2)`)"] + #[doc = " - any mutations done while executing `proposal` (`P1`)"] + #[doc = "- up to 3 events"] + #[doc = "# "] + 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, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Account is not a member"] + NotMember, + #[codec(index = 1)] + #[doc = "Duplicate proposals not allowed"] + DuplicateProposal, + #[codec(index = 2)] + #[doc = "Proposal must exist"] + ProposalMissing, + #[codec(index = 3)] + #[doc = "Mismatched index"] + WrongIndex, + #[codec(index = 4)] + #[doc = "Duplicate vote ignored"] + DuplicateVote, + #[codec(index = 5)] + #[doc = "Members are already initialized!"] + AlreadyInitialized, + #[codec(index = 6)] + #[doc = "The close call was made too early, before the end of the voting."] + TooEarly, + #[codec(index = 7)] + #[doc = "There can only be a maximum of `MaxProposals` active proposals."] + TooManyProposals, + #[codec(index = 8)] + #[doc = "The given weight bound for the proposal was too low."] + WrongProposalWeight, + #[codec(index = 9)] + #[doc = "The given length bound for the proposal was too low."] + WrongProposalLength, + } + #[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 = "A motion (given hash) has been proposed (by given account) with a threshold (given"] + #[doc = "`MemberCount`)."] + Proposed { + account: ::subxt::utils::AccountId32, + proposal_index: ::core::primitive::u32, + proposal_hash: ::subxt::utils::H256, + threshold: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "A motion (given hash) has been voted on by given account, leaving"] + #[doc = "a tally (yes votes and no votes given respectively as `MemberCount`)."] + Voted { + account: ::subxt::utils::AccountId32, + proposal_hash: ::subxt::utils::H256, + voted: ::core::primitive::bool, + yes: ::core::primitive::u32, + no: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "A motion was approved by the required threshold."] + Approved { proposal_hash: ::subxt::utils::H256 }, + #[codec(index = 3)] + #[doc = "A motion was not approved by the required threshold."] + Disapproved { proposal_hash: ::subxt::utils::H256 }, + #[codec(index = 4)] + #[doc = "A motion was executed; result will be `Ok` if it returned without error."] + Executed { + proposal_hash: ::subxt::utils::H256, + result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + #[codec(index = 5)] + #[doc = "A single member did some action; result will be `Ok` if it returned without error."] + MemberExecuted { + proposal_hash: ::subxt::utils::H256, + result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + #[codec(index = 6)] + #[doc = "A proposal was closed because its threshold was reached or after its duration was up."] + Closed { + proposal_hash: ::subxt::utils::H256, + yes: ::core::primitive::u32, + no: ::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, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Votes<_0, _1> { + pub index: _1, + pub threshold: _1, + pub ayes: ::std::vec::Vec<_0>, + pub nays: ::std::vec::Vec<_0>, + pub end: _1, + } + } + 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>, + }, + } + #[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 = "A new schedule must have a greater version than the current one."] + InvalidScheduleVersion, + #[codec(index = 1)] + #[doc = "Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`."] + InvalidCallFlags, + #[codec(index = 2)] + #[doc = "The executed contract exhausted its gas limit."] + OutOfGas, + #[codec(index = 3)] + #[doc = "The output buffer supplied to a contract API call was too small."] + OutputBufferTooSmall, + #[codec(index = 4)] + #[doc = "Performing the requested transfer failed. Probably because there isn't enough"] + #[doc = "free balance in the sender's account."] + TransferFailed, + #[codec(index = 5)] + #[doc = "Performing a call was denied because the calling depth reached the limit"] + #[doc = "of what is specified in the schedule."] + MaxCallDepthReached, + #[codec(index = 6)] + #[doc = "No contract was found at the specified address."] + ContractNotFound, + #[codec(index = 7)] + #[doc = "The code supplied to `instantiate_with_code` exceeds the limit specified in the"] + #[doc = "current schedule."] + CodeTooLarge, + #[codec(index = 8)] + #[doc = "No code could be found at the supplied code hash."] + CodeNotFound, + #[codec(index = 9)] + #[doc = "A buffer outside of sandbox memory was passed to a contract API function."] + OutOfBounds, + #[codec(index = 10)] + #[doc = "Input passed to a contract API function failed to decode as expected type."] + DecodingFailed, + #[codec(index = 11)] + #[doc = "Contract trapped during execution."] + ContractTrapped, + #[codec(index = 12)] + #[doc = "The size defined in `T::MaxValueSize` was exceeded."] + ValueTooLarge, + #[codec(index = 13)] + #[doc = "Termination of a contract is not allowed while the contract is already"] + #[doc = "on the call stack. Can be triggered by `seal_terminate`."] + TerminatedWhileReentrant, + #[codec(index = 14)] + #[doc = "`seal_call` forwarded this contracts input. It therefore is no longer available."] + InputForwarded, + #[codec(index = 15)] + #[doc = "The subject passed to `seal_random` exceeds the limit."] + RandomSubjectTooLong, + #[codec(index = 16)] + #[doc = "The amount of topics passed to `seal_deposit_events` exceeds the limit."] + TooManyTopics, + #[codec(index = 17)] + #[doc = "The chain does not provide a chain extension. Calling the chain extension results"] + #[doc = "in this error. Note that this usually shouldn't happen as deploying such contracts"] + #[doc = "is rejected."] + NoChainExtension, + #[codec(index = 18)] + #[doc = "Removal of a contract failed because the deletion queue is full."] + #[doc = ""] + #[doc = "This can happen when calling `seal_terminate`."] + #[doc = "The queue is filled by deleting contracts and emptied by a fixed amount each block."] + #[doc = "Trying again during another block is the only way to resolve this issue."] + DeletionQueueFull, + #[codec(index = 19)] + #[doc = "A contract with the same AccountId already exists."] + DuplicateContract, + #[codec(index = 20)] + #[doc = "A contract self destructed in its constructor."] + #[doc = ""] + #[doc = "This can be triggered by a call to `seal_terminate`."] + TerminatedInConstructor, + #[codec(index = 21)] + #[doc = "The debug message specified to `seal_debug_message` does contain invalid UTF-8."] + DebugMessageInvalidUTF8, + #[codec(index = 22)] + #[doc = "A call tried to invoke a contract that is flagged as non-reentrant."] + ReentranceDenied, + #[codec(index = 23)] + #[doc = "Origin doesn't have enough balance to pay the required storage deposits."] + StorageDepositNotEnoughFunds, + #[codec(index = 24)] + #[doc = "More storage was created than allowed by the storage deposit limit."] + StorageDepositLimitExhausted, + #[codec(index = 25)] + #[doc = "Code removal was denied because the code is still in use by at least one contract."] + CodeInUse, + #[codec(index = 26)] + #[doc = "The contract ran to completion but decided to revert its storage changes."] + #[doc = "Please note that this error is only returned from extrinsics. When called directly"] + #[doc = "or via RPC an `Ok` will be returned. In this case the caller needs to inspect the flags"] + #[doc = "to determine whether a reversion has taken place."] + ContractReverted, + #[codec(index = 27)] + #[doc = "The contract's code was found to be invalid during validation or instrumentation."] + #[doc = ""] + #[doc = "The most likely cause of this is that an API was used which is not supported by the"] + #[doc = "node. This hapens if an older node is used with a new version of ink!. Try updating"] + #[doc = "your node to the newest available version."] + #[doc = ""] + #[doc = "A more detailed error can be found on the node console if debug messages are enabled"] + #[doc = "by supplying `-lruntime::contracts=debug`."] + CodeRejected, + #[codec(index = 28)] + #[doc = "An indetermistic code was used in a context where this is not permitted."] + Indeterministic, + } + #[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 = "Contract deployed by address at the specified address."] + Instantiated { + deployer: ::subxt::utils::AccountId32, + contract: ::subxt::utils::AccountId32, + }, + #[codec(index = 1)] + #[doc = "Contract has been removed."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "The only way for a contract to be removed and emitting this event is by calling"] + #[doc = "`seal_terminate`."] + Terminated { + contract: ::subxt::utils::AccountId32, + beneficiary: ::subxt::utils::AccountId32, + }, + #[codec(index = 2)] + #[doc = "Code with the specified hash has been stored."] + CodeStored { code_hash: ::subxt::utils::H256 }, + #[codec(index = 3)] + #[doc = "A custom event emitted by the contract."] + ContractEmitted { + contract: ::subxt::utils::AccountId32, + data: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 4)] + #[doc = "A code with the specified hash was removed."] + CodeRemoved { code_hash: ::subxt::utils::H256 }, + #[codec(index = 5)] + #[doc = "A contract's code was updated."] + ContractCodeUpdated { + contract: ::subxt::utils::AccountId32, + new_code_hash: ::subxt::utils::H256, + old_code_hash: ::subxt::utils::H256, + }, + #[codec(index = 6)] + #[doc = "A contract was called either by a plain account or another contract."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Please keep in mind that like all events this is only emitted for successful"] + #[doc = "calls. This is because on failure all storage changes including events are"] + #[doc = "rolled back."] + Called { + caller: ::subxt::utils::AccountId32, + contract: ::subxt::utils::AccountId32, + }, + #[codec(index = 7)] + #[doc = "A contract delegate called a code hash."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Please keep in mind that like all events this is only emitted for successful"] + #[doc = "calls. This is because on failure all storage changes including events are"] + #[doc = "rolled back."] + DelegateCalled { + contract: ::subxt::utils::AccountId32, + code_hash: ::subxt::utils::H256, + }, + } + } + pub mod schedule { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct HostFnWeights { + pub caller: runtime_types::sp_weights::weight_v2::Weight, + pub is_contract: runtime_types::sp_weights::weight_v2::Weight, + pub code_hash: runtime_types::sp_weights::weight_v2::Weight, + pub own_code_hash: runtime_types::sp_weights::weight_v2::Weight, + pub caller_is_origin: runtime_types::sp_weights::weight_v2::Weight, + pub address: runtime_types::sp_weights::weight_v2::Weight, + pub gas_left: runtime_types::sp_weights::weight_v2::Weight, + pub balance: runtime_types::sp_weights::weight_v2::Weight, + pub value_transferred: runtime_types::sp_weights::weight_v2::Weight, + pub minimum_balance: runtime_types::sp_weights::weight_v2::Weight, + pub block_number: runtime_types::sp_weights::weight_v2::Weight, + pub now: runtime_types::sp_weights::weight_v2::Weight, + pub weight_to_fee: runtime_types::sp_weights::weight_v2::Weight, + pub gas: runtime_types::sp_weights::weight_v2::Weight, + pub input: runtime_types::sp_weights::weight_v2::Weight, + pub input_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub r#return: runtime_types::sp_weights::weight_v2::Weight, + pub return_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub terminate: runtime_types::sp_weights::weight_v2::Weight, + pub random: runtime_types::sp_weights::weight_v2::Weight, + pub deposit_event: runtime_types::sp_weights::weight_v2::Weight, + pub deposit_event_per_topic: + runtime_types::sp_weights::weight_v2::Weight, + pub deposit_event_per_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub debug_message: runtime_types::sp_weights::weight_v2::Weight, + pub set_storage: runtime_types::sp_weights::weight_v2::Weight, + pub set_storage_per_new_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub set_storage_per_old_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub set_code_hash: runtime_types::sp_weights::weight_v2::Weight, + pub clear_storage: runtime_types::sp_weights::weight_v2::Weight, + pub clear_storage_per_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub contains_storage: runtime_types::sp_weights::weight_v2::Weight, + pub contains_storage_per_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub get_storage: runtime_types::sp_weights::weight_v2::Weight, + pub get_storage_per_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub take_storage: runtime_types::sp_weights::weight_v2::Weight, + pub take_storage_per_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub transfer: runtime_types::sp_weights::weight_v2::Weight, + pub call: runtime_types::sp_weights::weight_v2::Weight, + pub delegate_call: runtime_types::sp_weights::weight_v2::Weight, + pub call_transfer_surcharge: + runtime_types::sp_weights::weight_v2::Weight, + pub call_per_cloned_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub instantiate: runtime_types::sp_weights::weight_v2::Weight, + pub instantiate_transfer_surcharge: + runtime_types::sp_weights::weight_v2::Weight, + pub instantiate_per_input_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub instantiate_per_salt_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub hash_sha2_256: runtime_types::sp_weights::weight_v2::Weight, + pub hash_sha2_256_per_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub hash_keccak_256: runtime_types::sp_weights::weight_v2::Weight, + pub hash_keccak_256_per_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub hash_blake2_256: runtime_types::sp_weights::weight_v2::Weight, + pub hash_blake2_256_per_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub hash_blake2_128: runtime_types::sp_weights::weight_v2::Weight, + pub hash_blake2_128_per_byte: + runtime_types::sp_weights::weight_v2::Weight, + pub ecdsa_recover: runtime_types::sp_weights::weight_v2::Weight, + pub ecdsa_to_eth_address: + runtime_types::sp_weights::weight_v2::Weight, + pub reentrance_count: runtime_types::sp_weights::weight_v2::Weight, + pub account_reentrance_count: + runtime_types::sp_weights::weight_v2::Weight, + pub instantiation_nonce: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct InstructionWeights { + pub version: ::core::primitive::u32, + pub fallback: ::core::primitive::u32, + pub i64const: ::core::primitive::u32, + pub i64load: ::core::primitive::u32, + pub i64store: ::core::primitive::u32, + pub select: ::core::primitive::u32, + pub r#if: ::core::primitive::u32, + pub br: ::core::primitive::u32, + pub br_if: ::core::primitive::u32, + pub br_table: ::core::primitive::u32, + pub br_table_per_entry: ::core::primitive::u32, + pub call: ::core::primitive::u32, + pub call_indirect: ::core::primitive::u32, + pub call_indirect_per_param: ::core::primitive::u32, + pub call_per_local: ::core::primitive::u32, + pub local_get: ::core::primitive::u32, + pub local_set: ::core::primitive::u32, + pub local_tee: ::core::primitive::u32, + pub global_get: ::core::primitive::u32, + pub global_set: ::core::primitive::u32, + pub memory_current: ::core::primitive::u32, + pub memory_grow: ::core::primitive::u32, + pub i64clz: ::core::primitive::u32, + pub i64ctz: ::core::primitive::u32, + pub i64popcnt: ::core::primitive::u32, + pub i64eqz: ::core::primitive::u32, + pub i64extendsi32: ::core::primitive::u32, + pub i64extendui32: ::core::primitive::u32, + pub i32wrapi64: ::core::primitive::u32, + pub i64eq: ::core::primitive::u32, + pub i64ne: ::core::primitive::u32, + pub i64lts: ::core::primitive::u32, + pub i64ltu: ::core::primitive::u32, + pub i64gts: ::core::primitive::u32, + pub i64gtu: ::core::primitive::u32, + pub i64les: ::core::primitive::u32, + pub i64leu: ::core::primitive::u32, + pub i64ges: ::core::primitive::u32, + pub i64geu: ::core::primitive::u32, + pub i64add: ::core::primitive::u32, + pub i64sub: ::core::primitive::u32, + pub i64mul: ::core::primitive::u32, + pub i64divs: ::core::primitive::u32, + pub i64divu: ::core::primitive::u32, + pub i64rems: ::core::primitive::u32, + pub i64remu: ::core::primitive::u32, + pub i64and: ::core::primitive::u32, + pub i64or: ::core::primitive::u32, + pub i64xor: ::core::primitive::u32, + pub i64shl: ::core::primitive::u32, + pub i64shrs: ::core::primitive::u32, + pub i64shru: ::core::primitive::u32, + pub i64rotl: ::core::primitive::u32, + pub i64rotr: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Limits { + pub event_topics: ::core::primitive::u32, + pub globals: ::core::primitive::u32, + pub locals: ::core::primitive::u32, + pub parameters: ::core::primitive::u32, + pub memory_pages: ::core::primitive::u32, + pub table_size: ::core::primitive::u32, + pub br_table_size: ::core::primitive::u32, + pub subject_len: ::core::primitive::u32, + pub payload_len: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Schedule { + pub limits: runtime_types::pallet_contracts::schedule::Limits, + pub instruction_weights: + runtime_types::pallet_contracts::schedule::InstructionWeights, + pub host_fn_weights: + runtime_types::pallet_contracts::schedule::HostFnWeights, + } + } + pub mod storage { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ContractInfo { + pub trie_id: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub code_hash: ::subxt::utils::H256, + pub storage_bytes: ::core::primitive::u32, + pub storage_items: ::core::primitive::u32, + pub storage_byte_deposit: ::core::primitive::u128, + pub storage_item_deposit: ::core::primitive::u128, + pub storage_base_deposit: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DeletedContract { + pub trie_id: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::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, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OwnerInfo { + pub owner: ::subxt::utils::AccountId32, + #[codec(compact)] + pub deposit: ::core::primitive::u128, + #[codec(compact)] + pub refcount: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PrefabWasmModule { + #[codec(compact)] + pub instruction_weights_version: ::core::primitive::u32, + #[codec(compact)] + pub initial: ::core::primitive::u32, + #[codec(compact)] + pub maximum: ::core::primitive::u32, + pub code: + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + pub determinism: runtime_types::pallet_contracts::wasm::Determinism, + } + } + } + pub mod pallet_contracts_primitives { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Code<_0> { + #[codec(index = 0)] + Upload(::std::vec::Vec<::core::primitive::u8>), + #[codec(index = 1)] + Existing(_0), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CodeUploadReturnValue<_0, _1> { + pub code_hash: _0, + pub deposit: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ContractAccessError { + #[codec(index = 0)] + DoesntExist, + #[codec(index = 1)] + KeyDecodingFailed, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ContractResult<_0, _1> { + pub gas_consumed: runtime_types::sp_weights::weight_v2::Weight, + pub gas_required: runtime_types::sp_weights::weight_v2::Weight, + pub storage_deposit: + runtime_types::pallet_contracts_primitives::StorageDeposit<_1>, + pub debug_message: ::std::vec::Vec<::core::primitive::u8>, + pub result: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ExecReturnValue { + pub flags: runtime_types::pallet_contracts_primitives::ReturnFlags, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct InstantiateReturnValue<_0> { + pub result: runtime_types::pallet_contracts_primitives::ExecReturnValue, + pub account_id: _0, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ReturnFlags { + pub bits: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum StorageDeposit<_0> { + #[codec(index = 0)] + Refund(_0), + #[codec(index = 1)] + Charge(_0), + } + } + 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 , } , } + #[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 = "Poll is not ongoing."] + NotOngoing, + #[codec(index = 1)] + #[doc = "The given account did not vote on the poll."] + NotVoter, + #[codec(index = 2)] + #[doc = "The actor has no permission to conduct the action."] + NoPermission, + #[codec(index = 3)] + #[doc = "The actor has no permission to conduct the action right now but will do in the future."] + NoPermissionYet, + #[codec(index = 4)] + #[doc = "The account is already delegating."] + AlreadyDelegating, + #[codec(index = 5)] + #[doc = "The account currently has votes attached to it and the operation cannot succeed until"] + #[doc = "these are removed, either through `unvote` or `reap_vote`."] + AlreadyVoting, + #[codec(index = 6)] + #[doc = "Too high a balance was provided that the account cannot afford."] + InsufficientFunds, + #[codec(index = 7)] + #[doc = "The account is not currently delegating."] + NotDelegating, + #[codec(index = 8)] + #[doc = "Delegation to oneself makes no sense."] + Nonsense, + #[codec(index = 9)] + #[doc = "Maximum number of votes reached."] + MaxVotesReached, + #[codec(index = 10)] + #[doc = "The class must be supplied since it is not easily determinable from the state."] + ClassNeeded, + #[codec(index = 11)] + #[doc = "The class ID supplied is invalid."] + BadClass, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 has delegated their vote to another account. \\[who, target\\]"] + Delegated(::subxt::utils::AccountId32, ::subxt::utils::AccountId32), + #[codec(index = 1)] + #[doc = "An \\[account\\] has cancelled a previous delegation operation."] + Undelegated(::subxt::utils::AccountId32), + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Delegations<_0> { + pub votes: _0, + pub capital: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Tally<_0> { + pub ayes: _0, + pub nays: _0, + pub support: _0, + } + } + pub mod vote { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Casting<_0, _1, _2> { + pub votes: + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + _1, + runtime_types::pallet_conviction_voting::vote::AccountVote< + _0, + >, + )>, + pub delegations: + runtime_types::pallet_conviction_voting::types::Delegations<_0>, + pub prior: + runtime_types::pallet_conviction_voting::vote::PriorLock<_1, _0>, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Delegating<_0, _1, _2> { + pub balance: _0, + pub target: _1, + pub conviction: + runtime_types::pallet_conviction_voting::conviction::Conviction, + pub delegations: + runtime_types::pallet_conviction_voting::types::Delegations<_0>, + pub prior: + runtime_types::pallet_conviction_voting::vote::PriorLock<_2, _0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PriorLock<_0, _1>(pub _0, pub _1); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote(pub ::core::primitive::u8); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Voting<_0, _1, _2, _3> { + #[codec(index = 0)] + Casting( + runtime_types::pallet_conviction_voting::vote::Casting< + _0, + _2, + _2, + >, + ), + #[codec(index = 1)] + Delegating( + runtime_types::pallet_conviction_voting::vote::Delegating< + _0, + _1, + _2, + >, + ), + __Ignore(::core::marker::PhantomData<_3>), + } + } + } + pub mod pallet_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, + }, + } + #[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 = "Value too low"] + ValueLow, + #[codec(index = 1)] + #[doc = "Proposal does not exist"] + ProposalMissing, + #[codec(index = 2)] + #[doc = "Cannot cancel the same proposal twice"] + AlreadyCanceled, + #[codec(index = 3)] + #[doc = "Proposal already made"] + DuplicateProposal, + #[codec(index = 4)] + #[doc = "Proposal still blacklisted"] + ProposalBlacklisted, + #[codec(index = 5)] + #[doc = "Next external proposal not simple majority"] + NotSimpleMajority, + #[codec(index = 6)] + #[doc = "Invalid hash"] + InvalidHash, + #[codec(index = 7)] + #[doc = "No external proposal"] + NoProposal, + #[codec(index = 8)] + #[doc = "Identity may not veto a proposal twice"] + AlreadyVetoed, + #[codec(index = 9)] + #[doc = "Vote given for invalid referendum"] + ReferendumInvalid, + #[codec(index = 10)] + #[doc = "No proposals waiting"] + NoneWaiting, + #[codec(index = 11)] + #[doc = "The given account did not vote on the referendum."] + NotVoter, + #[codec(index = 12)] + #[doc = "The actor has no permission to conduct the action."] + NoPermission, + #[codec(index = 13)] + #[doc = "The account is already delegating."] + AlreadyDelegating, + #[codec(index = 14)] + #[doc = "Too high a balance was provided that the account cannot afford."] + InsufficientFunds, + #[codec(index = 15)] + #[doc = "The account is not currently delegating."] + NotDelegating, + #[codec(index = 16)] + #[doc = "The account currently has votes attached to it and the operation cannot succeed until"] + #[doc = "these are removed, either through `unvote` or `reap_vote`."] + VotesExist, + #[codec(index = 17)] + #[doc = "The instant referendum origin is currently disallowed."] + InstantNotAllowed, + #[codec(index = 18)] + #[doc = "Delegation to oneself makes no sense."] + Nonsense, + #[codec(index = 19)] + #[doc = "Invalid upper bound."] + WrongUpperBound, + #[codec(index = 20)] + #[doc = "Maximum number of votes reached."] + MaxVotesReached, + #[codec(index = 21)] + #[doc = "Maximum number of items reached."] + TooMany, + #[codec(index = 22)] + #[doc = "Voting period too low"] + VotingPeriodLow, + } + #[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 = "A motion has been proposed by a public account."] Proposed { proposal_index : :: core :: primitive :: u32 , deposit : :: core :: primitive :: u128 , } , # [codec (index = 1)] # [doc = "A public proposal has been tabled for referendum vote."] Tabled { proposal_index : :: core :: primitive :: u32 , deposit : :: core :: primitive :: u128 , } , # [codec (index = 2)] # [doc = "An external proposal has been tabled."] ExternalTabled , # [codec (index = 3)] # [doc = "A referendum has begun."] Started { ref_index : :: core :: primitive :: u32 , threshold : runtime_types :: pallet_democracy :: vote_threshold :: VoteThreshold , } , # [codec (index = 4)] # [doc = "A proposal has been approved by referendum."] Passed { ref_index : :: core :: primitive :: u32 , } , # [codec (index = 5)] # [doc = "A proposal has been rejected by referendum."] NotPassed { ref_index : :: core :: primitive :: u32 , } , # [codec (index = 6)] # [doc = "A referendum has been cancelled."] Cancelled { ref_index : :: core :: primitive :: u32 , } , # [codec (index = 7)] # [doc = "An account has delegated their vote to another account."] Delegated { who : :: subxt :: utils :: AccountId32 , target : :: subxt :: utils :: AccountId32 , } , # [codec (index = 8)] # [doc = "An account has cancelled a previous delegation operation."] Undelegated { account : :: subxt :: utils :: AccountId32 , } , # [codec (index = 9)] # [doc = "An external proposal has been vetoed."] Vetoed { who : :: subxt :: utils :: AccountId32 , proposal_hash : :: subxt :: utils :: H256 , until : :: core :: primitive :: u32 , } , # [codec (index = 10)] # [doc = "A proposal_hash has been blacklisted permanently."] Blacklisted { proposal_hash : :: subxt :: utils :: H256 , } , # [codec (index = 11)] # [doc = "An account has voted in a referendum"] Voted { voter : :: subxt :: utils :: AccountId32 , ref_index : :: core :: primitive :: u32 , vote : runtime_types :: pallet_democracy :: vote :: AccountVote < :: core :: primitive :: u128 > , } , # [codec (index = 12)] # [doc = "An account has secconded a proposal"] Seconded { seconder : :: subxt :: utils :: AccountId32 , prop_index : :: core :: primitive :: u32 , } , # [codec (index = 13)] # [doc = "A proposal got canceled."] ProposalCanceled { prop_index : :: core :: primitive :: u32 , } , } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Delegations<_0> { + pub votes: _0, + pub capital: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ReferendumInfo<_0, _1, _2> { + #[codec(index = 0)] + Ongoing( + runtime_types::pallet_democracy::types::ReferendumStatus< + _0, + _1, + _2, + >, + ), + #[codec(index = 1)] + Finished { + approved: ::core::primitive::bool, + end: _0, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ReferendumStatus<_0, _1, _2> { + pub end: _0, + pub proposal: _1, + pub threshold: + runtime_types::pallet_democracy::vote_threshold::VoteThreshold, + pub delay: _0, + pub tally: runtime_types::pallet_democracy::types::Tally<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Tally<_0> { + pub ayes: _0, + pub nays: _0, + pub turnout: _0, + } + } + 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 :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PriorLock<_0, _1>(pub _0, pub _1); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote(pub ::core::primitive::u8); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Voting<_0, _1, _2> { + #[codec(index = 0)] + Direct { + votes: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + (_2, runtime_types::pallet_democracy::vote::AccountVote<_0>), + >, + delegations: + runtime_types::pallet_democracy::types::Delegations<_0>, + prior: runtime_types::pallet_democracy::vote::PriorLock<_2, _0>, + }, + #[codec(index = 1)] + Delegating { + balance: _0, + target: _1, + conviction: + runtime_types::pallet_democracy::conviction::Conviction, + delegations: + runtime_types::pallet_democracy::types::Delegations<_0>, + prior: runtime_types::pallet_democracy::vote::PriorLock<_2, _0>, + }, + } + } + pub mod vote_threshold { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum VoteThreshold { + #[codec(index = 0)] + SuperMajorityApprove, + #[codec(index = 1)] + SuperMajorityAgainst, + #[codec(index = 2)] + SimpleMajority, + } + } + } + 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, + )] + #[doc = "Error of the pallet that can be returned in response to dispatches."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Submission was too early."] + PreDispatchEarlySubmission, + #[codec(index = 1)] + #[doc = "Wrong number of winners presented."] + PreDispatchWrongWinnerCount, + #[codec(index = 2)] + #[doc = "Submission was too weak, score-wise."] + PreDispatchWeakSubmission, + #[codec(index = 3)] + #[doc = "The queue was full, and the solution was not better than any of the existing ones."] + SignedQueueFull, + #[codec(index = 4)] + #[doc = "The origin failed to pay the deposit."] + SignedCannotPayDeposit, + #[codec(index = 5)] + #[doc = "Witness data to dispatchable is invalid."] + SignedInvalidWitness, + #[codec(index = 6)] + #[doc = "The signed submission consumes too much weight"] + SignedTooMuchWeight, + #[codec(index = 7)] + #[doc = "OCW submitted solution for wrong round"] + OcwCallWrongEra, + #[codec(index = 8)] + #[doc = "Snapshot metadata should exist but didn't."] + MissingSnapshotMetadata, + #[codec(index = 9)] + #[doc = "`Self::insert_submission` returned an invalid index."] + InvalidSubmissionIndex, + #[codec(index = 10)] + #[doc = "The call is not allowed at this point."] + CallNotAllowed, + #[codec(index = 11)] + #[doc = "The fallback failed"] + FallbackFailed, + #[codec(index = 12)] + #[doc = "Some bound not met"] + BoundNotMet, + #[codec(index = 13)] + #[doc = "Submitted solution has too many winners"] + TooManyWinners, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "A solution was stored with the given compute."] # [doc = ""] # [doc = "The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,"] # [doc = "the stored solution was submited in the signed phase by a miner with the `AccountId`."] # [doc = "Otherwise, the solution was stored either during the unsigned phase or by"] # [doc = "`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make"] # [doc = "room for this one."] SolutionStored { compute : runtime_types :: pallet_election_provider_multi_phase :: ElectionCompute , origin : :: core :: option :: Option < :: subxt :: utils :: AccountId32 > , prev_ejected : :: core :: primitive :: bool , } , # [codec (index = 1)] # [doc = "The election has been finalized, with the given computation and score."] ElectionFinalized { compute : runtime_types :: pallet_election_provider_multi_phase :: ElectionCompute , score : runtime_types :: sp_npos_elections :: ElectionScore , } , # [codec (index = 2)] # [doc = "An election failed."] # [doc = ""] # [doc = "Not much can be said about which computes failed in the process."] ElectionFailed , # [codec (index = 3)] # [doc = "An account has been rewarded for their signed submission being finalized."] Rewarded { account : :: subxt :: utils :: AccountId32 , value : :: core :: primitive :: u128 , } , # [codec (index = 4)] # [doc = "An account has been slashed for submitting an invalid signed submission."] Slashed { account : :: subxt :: utils :: AccountId32 , value : :: core :: primitive :: u128 , } , # [codec (index = 5)] # [doc = "There was a phase transition in a given round."] PhaseTransitioned { from : runtime_types :: pallet_election_provider_multi_phase :: Phase < :: core :: primitive :: u32 > , to : runtime_types :: pallet_election_provider_multi_phase :: Phase < :: core :: primitive :: u32 > , round : :: core :: primitive :: u32 , } , } + } + pub mod signed { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SignedSubmission<_0, _1, _2> { + pub who: _0, + pub deposit: _1, + pub raw_solution: + runtime_types::pallet_election_provider_multi_phase::RawSolution< + _2, + >, + pub call_fee: _1, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ElectionCompute { + #[codec(index = 0)] + OnChain, + #[codec(index = 1)] + Signed, + #[codec(index = 2)] + Unsigned, + #[codec(index = 3)] + Fallback, + #[codec(index = 4)] + Emergency, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Phase<_0> { + #[codec(index = 0)] + Off, + #[codec(index = 1)] + Signed, + #[codec(index = 2)] + Unsigned((::core::primitive::bool, _0)), + #[codec(index = 3)] + Emergency, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 ReadySolution { + pub supports: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::subxt::utils::AccountId32, + runtime_types::sp_npos_elections::Support< + ::subxt::utils::AccountId32, + >, + )>, + pub score: runtime_types::sp_npos_elections::ElectionScore, + pub compute: + runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RoundSnapshot { + pub voters: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + ::core::primitive::u64, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + )>, + pub targets: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + #[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."] + #[doc = ""] + #[doc = "# "] + #[doc = "We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less."] + #[doc = "# "] + 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 = "# "] + #[doc = "The number of current candidates must be provided as witness data."] + #[doc = "# "] + 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 = ""] + #[doc = "# "] + #[doc = "The type of renouncing must be provided as witness data."] + #[doc = "# "] + 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 = "# "] + #[doc = "If we have a replacement, we use a small weight. Else, since this is a root call and"] + #[doc = "will go into phragmen, we assume full block for now."] + #[doc = "# "] + 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 = "# "] + #[doc = "The total number of voters and those that are defunct must be provided as witness data."] + #[doc = "# "] + clean_defunct_voters { + num_voters: ::core::primitive::u32, + num_defunct: ::core::primitive::u32, + }, + } + #[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 = "Cannot vote when no candidates or members exist."] + UnableToVote, + #[codec(index = 1)] + #[doc = "Must vote for at least one candidate."] + NoVotes, + #[codec(index = 2)] + #[doc = "Cannot vote more than candidates."] + TooManyVotes, + #[codec(index = 3)] + #[doc = "Cannot vote more than maximum allowed."] + MaximumVotesExceeded, + #[codec(index = 4)] + #[doc = "Cannot vote with stake less than minimum balance."] + LowBalance, + #[codec(index = 5)] + #[doc = "Voter can not pay voting bond."] + UnableToPayBond, + #[codec(index = 6)] + #[doc = "Must be a voter."] + MustBeVoter, + #[codec(index = 7)] + #[doc = "Duplicated candidate submission."] + DuplicatedCandidate, + #[codec(index = 8)] + #[doc = "Too many candidates have been created."] + TooManyCandidates, + #[codec(index = 9)] + #[doc = "Member cannot re-submit candidacy."] + MemberSubmit, + #[codec(index = 10)] + #[doc = "Runner cannot re-submit candidacy."] + RunnerUpSubmit, + #[codec(index = 11)] + #[doc = "Candidate does not have enough funds."] + InsufficientCandidateFunds, + #[codec(index = 12)] + #[doc = "Not a member."] + NotMember, + #[codec(index = 13)] + #[doc = "The provided count of number of candidates is incorrect."] + InvalidWitnessData, + #[codec(index = 14)] + #[doc = "The provided count of number of votes is incorrect."] + InvalidVoteCount, + #[codec(index = 15)] + #[doc = "The renouncing origin presented a wrong `Renouncing` parameter."] + InvalidRenouncing, + #[codec(index = 16)] + #[doc = "Prediction regarding replacement after member removal is wrong."] + InvalidReplacement, + } + #[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 = "A new term with new_members. This indicates that enough candidates existed to run"] + #[doc = "the election, not that enough have has been elected. The inner value must be examined"] + #[doc = "for this purpose. A `NewTerm(\\[\\])` indicates that some candidates got their bond"] + #[doc = "slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to"] + #[doc = "begin with."] + NewTerm { + new_members: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + ::core::primitive::u128, + )>, + }, + #[codec(index = 1)] + #[doc = "No (or not enough) candidates existed for this round. This is different from"] + #[doc = "`NewTerm(\\[\\])`. See the description of `NewTerm`."] + EmptyTerm, + #[codec(index = 2)] + #[doc = "Internal error happened while trying to perform election."] + ElectionError, + #[codec(index = 3)] + #[doc = "A member has been removed. This should always be followed by either `NewTerm` or"] + #[doc = "`EmptyTerm`."] + MemberKicked { member: ::subxt::utils::AccountId32 }, + #[codec(index = 4)] + #[doc = "Someone has renounced their candidacy."] + Renounced { + candidate: ::subxt::utils::AccountId32, + }, + #[codec(index = 5)] + #[doc = "A candidate was slashed by amount due to failing to obtain a seat as member or"] + #[doc = "runner-up."] + #[doc = ""] + #[doc = "Note that old members and runners-up are also candidates."] + CandidateSlashed { + candidate: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 6)] + #[doc = "A seat holder was slashed by amount by being forcefully removed from the set."] + SeatHolderSlashed { + seat_holder: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + } + } + #[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), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SeatHolder<_0, _1> { + pub who: _0, + pub stake: _1, + pub deposit: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Voter<_0, _1> { + pub votes: ::std::vec::Vec<_0>, + pub stake: _1, + pub deposit: _1, + } + } + 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, + }, + } + #[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 = "The provided Controller account was not found."] + #[doc = ""] + #[doc = "This means that the given account is not bonded."] + NotController, + #[codec(index = 1)] + #[doc = "The bonded account has already been queued."] + AlreadyQueued, + #[codec(index = 2)] + #[doc = "The bonded account has active unlocking chunks."] + NotFullyBonded, + #[codec(index = 3)] + #[doc = "The provided un-staker is not in the `Queue`."] + NotQueued, + #[codec(index = 4)] + #[doc = "The provided un-staker is already in Head, and cannot deregister."] + AlreadyHead, + #[codec(index = 5)] + #[doc = "The call is not allowed at this point because the pallet is not active."] + CallNotAllowed, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "The events of this pallet."] + pub enum Event { + #[codec(index = 0)] + #[doc = "A staker was unstaked."] + Unstaked { + stash: ::subxt::utils::AccountId32, + result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + #[codec(index = 1)] + #[doc = "A staker was slashed for requesting fast-unstake whilst being exposed."] + Slashed { + stash: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "An internal error happened. Operations will be paused now."] + InternalError, + #[codec(index = 3)] + #[doc = "A batch was partially checked for the given eras, but the process did not finish."] + BatchChecked { + eras: ::std::vec::Vec<::core::primitive::u32>, + }, + #[codec(index = 4)] + #[doc = "A batch of a given size was terminated."] + #[doc = ""] + #[doc = "This is always follows by a number of `Unstaked` or `Slashed` events, marking the end"] + #[doc = "of the batch. A new batch will be created upon next block."] + BatchFinished { size: ::core::primitive::u32 }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UnstakeRequest { + pub stashes: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + (::subxt::utils::AccountId32, ::core::primitive::u128), + >, + pub checked: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u32, + >, + } + } + } + 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_finality_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_finality_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + }, + #[codec(index = 2)] + #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."] + #[doc = ""] + #[doc = "This will trigger a forced authority set change at the beginning of the next session, to"] + #[doc = "be enacted `delay` blocks after that. The `delay` should be high enough to safely assume"] + #[doc = "that the block signalling the forced change will not be re-orged e.g. 1000 blocks."] + #[doc = "The block production rate (which may be slowed down because of finality lagging) should"] + #[doc = "be taken into account when choosing the `delay`. The GRANDPA voters based on the new"] + #[doc = "authority will start voting on top of `best_finalized_block_number` for new finalized"] + #[doc = "blocks. `best_finalized_block_number` should be the highest of the latest finalized"] + #[doc = "block of all validators of the new authority set."] + #[doc = ""] + #[doc = "Only callable by root."] + note_stalled { + delay: ::core::primitive::u32, + best_finalized_block_number: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "Attempt to signal GRANDPA pause when the authority set isn't live"] + #[doc = "(either paused or already pending pause)."] + PauseFailed, + #[codec(index = 1)] + #[doc = "Attempt to signal GRANDPA resume when the authority set isn't paused"] + #[doc = "(either live or already pending resume)."] + ResumeFailed, + #[codec(index = 2)] + #[doc = "Attempt to signal GRANDPA change with one already pending."] + ChangePending, + #[codec(index = 3)] + #[doc = "Cannot signal forced change so soon after last."] + TooSoon, + #[codec(index = 4)] + #[doc = "A key ownership proof provided as part of an equivocation report is invalid."] + InvalidKeyOwnershipProof, + #[codec(index = 5)] + #[doc = "An equivocation proof provided as part of an equivocation report is invalid."] + InvalidEquivocationProof, + #[codec(index = 6)] + #[doc = "A given equivocation report is valid but already previously reported."] + DuplicateOffenceReport, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "New authority set has been applied."] + NewAuthorities { + authority_set: ::std::vec::Vec<( + runtime_types::sp_finality_grandpa::app::Public, + ::core::primitive::u64, + )>, + }, + #[codec(index = 1)] + #[doc = "Current authority set has been paused."] + Paused, + #[codec(index = 2)] + #[doc = "Current authority set has been resumed."] + Resumed, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct StoredPendingChange<_0> { + pub scheduled_at: _0, + pub delay: _0, + pub next_authorities: + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec<( + runtime_types::sp_finality_grandpa::app::Public, + ::core::primitive::u64, + )>, + pub forced: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum StoredState<_0> { + #[codec(index = 0)] + Live, + #[codec(index = 1)] + PendingPause { scheduled_at: _0, delay: _0 }, + #[codec(index = 2)] + Paused, + #[codec(index = 3)] + PendingResume { scheduled_at: _0, delay: _0 }, + } + } + pub mod pallet_identity { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "# "] + #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] + #[doc = "- One storage mutation (codec `O(R)`)."] + #[doc = "- One event."] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(X + X' + R)`"] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] + #[doc = " - where `R` judgements-count (registrar-count-bounded)"] + #[doc = "- One balance reserve operation."] + #[doc = "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`)."] + #[doc = "- One event."] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(P + S)`"] + #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = "- At most one balance operations."] + #[doc = "- DB:"] + #[doc = " - `P + S` storage mutations (codec complexity `O(1)`)"] + #[doc = " - One storage read (codec complexity `O(P)`)."] + #[doc = " - One storage write (codec complexity `O(S)`)."] + #[doc = " - One storage-exists (`IdentityOf::contains_key`)."] + #[doc = "# "] + 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 = "# "] + #[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)."] + #[doc = "- One balance-unreserve operation."] + #[doc = "- `2` storage reads and `S + 2` storage deletions."] + #[doc = "- One event."] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`."] + #[doc = "- One event."] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- One storage mutation `O(R + X)`."] + #[doc = "- One event"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 7.315 + R * 0.329 µs (min squares analysis)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 8.823 + R * 0.32 µs (min squares analysis)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 7.464 + R * 0.325 µs (min squares analysis)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-transfer operation."] + #[doc = "- Up to one account-lookup operation."] + #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`."] + #[doc = "- One event."] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(R + S + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- `S + 2` storage mutations."] + #[doc = "- One event."] + #[doc = "# "] + 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, + } + #[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 = "Too many subs-accounts."] + TooManySubAccounts, + #[codec(index = 1)] + #[doc = "Account isn't found."] + NotFound, + #[codec(index = 2)] + #[doc = "Account isn't named."] + NotNamed, + #[codec(index = 3)] + #[doc = "Empty index."] + EmptyIndex, + #[codec(index = 4)] + #[doc = "Fee is changed."] + FeeChanged, + #[codec(index = 5)] + #[doc = "No identity found."] + NoIdentity, + #[codec(index = 6)] + #[doc = "Sticky judgement."] + StickyJudgement, + #[codec(index = 7)] + #[doc = "Judgement given."] + JudgementGiven, + #[codec(index = 8)] + #[doc = "Invalid judgement."] + InvalidJudgement, + #[codec(index = 9)] + #[doc = "The index is invalid."] + InvalidIndex, + #[codec(index = 10)] + #[doc = "The target is invalid."] + InvalidTarget, + #[codec(index = 11)] + #[doc = "Too many additional fields."] + TooManyFields, + #[codec(index = 12)] + #[doc = "Maximum amount of registrars reached. Cannot add any more."] + TooManyRegistrars, + #[codec(index = 13)] + #[doc = "Account ID is already named."] + AlreadyClaimed, + #[codec(index = 14)] + #[doc = "Sender is not a sub-account."] + NotSub, + #[codec(index = 15)] + #[doc = "Sub-account isn't owned by sender."] + NotOwned, + #[codec(index = 16)] + #[doc = "The provided judgement was for a different identity."] + JudgementForDifferentIdentity, + #[codec(index = 17)] + #[doc = "Error that occurs when there is an issue paying for judgement."] + JudgementPaymentFailed, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "A name was set or reset (which will remove all judgements)."] + IdentitySet { who: ::subxt::utils::AccountId32 }, + #[codec(index = 1)] + #[doc = "A name was cleared, and the given balance returned."] + IdentityCleared { + who: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "A name was removed and the given balance slashed."] + IdentityKilled { + who: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A judgement was asked from a registrar."] + JudgementRequested { + who: ::subxt::utils::AccountId32, + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "A judgement request was retracted."] + JudgementUnrequested { + who: ::subxt::utils::AccountId32, + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "A judgement was given by a registrar."] + JudgementGiven { + target: ::subxt::utils::AccountId32, + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "A registrar was added."] + RegistrarAdded { + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "A sub-identity was added to an identity and the deposit paid."] + SubIdentityAdded { + sub: ::subxt::utils::AccountId32, + main: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "A sub-identity was removed from an identity and the deposit freed."] + SubIdentityRemoved { + sub: ::subxt::utils::AccountId32, + main: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] + #[doc = "main identity account to the sub-identity account."] + SubIdentityRevoked { + sub: ::subxt::utils::AccountId32, + main: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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::sp_core::bounded::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, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RegistrarInfo<_0, _1> { + pub account: _1, + pub fee: _0, + pub fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Registration<_0> { + pub judgements: + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u32, + runtime_types::pallet_identity::types::Judgement<_0>, + )>, + pub deposit: _0, + pub info: runtime_types::pallet_identity::types::IdentityInfo, + } + } + } + pub mod pallet_im_online { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "# "] # [doc = "- Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is"] # [doc = " length of `heartbeat.network_state.external_address`"] # [doc = " - `O(K)`: decoding of length `K`"] # [doc = " - `O(E)`: decoding/encoding of length `E`"] # [doc = "- DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,"] # [doc = " `ReceivedHeartbeats`"] # [doc = "- DbWrites: `ReceivedHeartbeats`"] # [doc = "# "] heartbeat { heartbeat : runtime_types :: pallet_im_online :: Heartbeat < :: core :: primitive :: u32 > , signature : runtime_types :: pallet_im_online :: sr25519 :: app_sr25519 :: Signature , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "Non existent public key."] + InvalidKey, + #[codec(index = 1)] + #[doc = "Duplicated heartbeat."] + DuplicatedHeartbeat, + } + #[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 = "A new heartbeat was received from `AuthorityId`."] + HeartbeatReceived { + authority_id: + runtime_types::pallet_im_online::sr25519::app_sr25519::Public, + }, + #[codec(index = 1)] + #[doc = "At the end of the session, no offence was committed."] + AllGood, + #[codec(index = 2)] + #[doc = "At the end of the session, at least one validator was found to be offline."] + SomeOffline { + offline: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + )>, + }, + } + } + pub mod sr25519 { + use super::runtime_types; + pub mod app_sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 BoundedOpaqueNetworkState { + pub peer_id: + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + pub external_addresses: + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + >, + } + #[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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- One reserve operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight: 1 Read/Write (Accounts)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- One transfer operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Indices Accounts, System Account (recipient)"] + #[doc = " - Writes: Indices Accounts, System Account (recipient)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- One reserve operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight: 1 Read/Write (Accounts)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- Up to one reserve operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Indices Accounts, System Account (original owner)"] + #[doc = " - Writes: Indices Accounts, System Account (original owner)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- One storage mutation (codec `O(1)`)."] + #[doc = "- Up to one slash operation."] + #[doc = "- One event."] + #[doc = "-------------------"] + #[doc = "- DB Weight: 1 Read/Write (Accounts)"] + #[doc = "# "] + freeze { index: ::core::primitive::u32 }, + } + #[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 = "The index was not already assigned."] + NotAssigned, + #[codec(index = 1)] + #[doc = "The index is assigned to another account."] + NotOwner, + #[codec(index = 2)] + #[doc = "The index was not available."] + InUse, + #[codec(index = 3)] + #[doc = "The source and destination accounts are identical."] + NotTransfer, + #[codec(index = 4)] + #[doc = "The index is permanent and may not be freed/changed."] + Permanent, + } + #[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 = "A account index was assigned."] + IndexAssigned { + who: ::subxt::utils::AccountId32, + index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "A account index has been freed up (unassigned)."] + IndexFreed { index: ::core::primitive::u32 }, + #[codec(index = 2)] + #[doc = "A account index has been frozen to its current account ID."] + IndexFrozen { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + }, + } + } + } + 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, + } + #[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 = "A lottery has not been configured."] + NotConfigured, + #[codec(index = 1)] + #[doc = "A lottery is already in progress."] + InProgress, + #[codec(index = 2)] + #[doc = "A lottery has already ended."] + AlreadyEnded, + #[codec(index = 3)] + #[doc = "The call is not valid for an open lottery."] + InvalidCall, + #[codec(index = 4)] + #[doc = "You are already participating in the lottery with this call."] + AlreadyParticipating, + #[codec(index = 5)] + #[doc = "Too many calls for a single lottery."] + TooManyCalls, + #[codec(index = 6)] + #[doc = "Failed to encode calls"] + EncodingFailed, + } + #[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 = "A lottery has been started!"] + LotteryStarted, + #[codec(index = 1)] + #[doc = "A new set of calls have been set!"] + CallsUpdated, + #[codec(index = 2)] + #[doc = "A winner has been chosen!"] + Winner { + winner: ::subxt::utils::AccountId32, + lottery_balance: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A ticket has been bought!"] + TicketBought { + who: ::subxt::utils::AccountId32, + call_index: (::core::primitive::u8, ::core::primitive::u8), + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct LotteryConfig<_0, _1> { + pub price: _1, + pub start: _0, + pub length: _0, + pub delay: _0, + pub repeat: ::core::primitive::bool, + } + } + 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, + } + #[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 = "Already a member."] + AlreadyMember, + #[codec(index = 1)] + #[doc = "Not a member."] + NotMember, + #[codec(index = 2)] + #[doc = "Too many members."] + TooManyMembers, + } + #[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 = "The given member was added; see the transaction for who."] + MemberAdded, + #[codec(index = 1)] + #[doc = "The given member was removed; see the transaction for who."] + MemberRemoved, + #[codec(index = 2)] + #[doc = "Two members were swapped; see the transaction for who."] + MembersSwapped, + #[codec(index = 3)] + #[doc = "The membership was reset; see the transaction for who the new set is."] + MembersReset, + #[codec(index = 4)] + #[doc = "One of the members' keys changed."] + KeyChanged, + #[codec(index = 5)] + #[doc = "Phantom member, never used."] + Dummy, + } + } + } + pub mod pallet_message_queue { + use super::runtime_types; + pub mod mock_helpers { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum MessageOrigin { + #[codec(index = 0)] + Here, + #[codec(index = 1)] + There, + #[codec(index = 2)] + Everywhere(::core::primitive::u32), + } + } + 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 : runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin , page_index : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "Execute an overweight message."] # [doc = ""] # [doc = "- `origin`: Must be `Signed`."] # [doc = "- `message_origin`: The origin from which the message to be executed arrived."] # [doc = "- `page`: The page in the queue in which the message to be executed is sitting."] # [doc = "- `index`: The index into the queue of the message to be executed."] # [doc = "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution"] # [doc = " of the message."] # [doc = ""] # [doc = "Benchmark complexity considerations: O(index + weight_limit)."] execute_overweight { message_origin : runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin , page : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , weight_limit : runtime_types :: sp_weights :: weight_v2 :: Weight , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "Page is not reapable because it has items remaining to be processed and is not old"] + #[doc = "enough."] + NotReapable, + #[codec(index = 1)] + #[doc = "Page to be reaped does not exist."] + NoPage, + #[codec(index = 2)] + #[doc = "The referenced message could not be found."] + NoMessage, + #[codec(index = 3)] + #[doc = "The message was already processed and cannot be processed again."] + AlreadyProcessed, + #[codec(index = 4)] + #[doc = "The message is queued for future execution."] + Queued, + #[codec(index = 5)] + #[doc = "There is temporarily not enough weight to continue servicing messages."] + InsufficientWeight, + } + #[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 = "Message discarded due to an inability to decode the item. Usually caused by state"] # [doc = "corruption."] Discarded { hash : :: subxt :: utils :: H256 , } , # [codec (index = 1)] # [doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] ProcessingFailed { hash : :: subxt :: utils :: H256 , origin : runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin , error : runtime_types :: frame_support :: traits :: messages :: ProcessMessageError , } , # [codec (index = 2)] # [doc = "Message is processed."] Processed { hash : :: subxt :: utils :: H256 , origin : runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin , weight_used : runtime_types :: sp_weights :: weight_v2 :: Weight , success : :: core :: primitive :: bool , } , # [codec (index = 3)] # [doc = "Message placed in overweight queue."] OverweightEnqueued { hash : :: subxt :: utils :: H256 , origin : runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin , page_index : :: core :: primitive :: u32 , message_index : :: core :: primitive :: u32 , } , # [codec (index = 4)] # [doc = "This page was reaped."] PageReaped { origin : runtime_types :: pallet_message_queue :: mock_helpers :: MessageOrigin , index : :: core :: primitive :: u32 , } , } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BookState<_0> { + pub begin: ::core::primitive::u32, + pub end: ::core::primitive::u32, + pub count: ::core::primitive::u32, + pub ready_neighbours: ::core::option::Option< + runtime_types::pallet_message_queue::Neighbours<_0>, + >, + pub message_count: ::core::primitive::u64, + pub size: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Neighbours<_0> { + pub prev: _0, + pub next: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Page<_0> { + pub remaining: _0, + pub remaining_size: _0, + pub first_index: _0, + pub first: _0, + pub last: _0, + pub heap: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + } + 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 = "# "] + #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] + #[doc = "-------------------------------"] + #[doc = "- DB Weight: None"] + #[doc = "- Plus Call Weight"] + #[doc = "# "] + 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 = "# "] + #[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`."] + #[doc = "-------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Multisig Storage, [Caller Account]"] + #[doc = " - Writes: Multisig Storage, [Caller Account]"] + #[doc = "- Plus Call Weight"] + #[doc = "# "] + 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 = "# "] + #[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`."] + #[doc = "----------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Multisig Storage, [Caller Account]"] + #[doc = " - Write: Multisig Storage, [Caller Account]"] + #[doc = "# "] + 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 = "# "] + #[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."] + #[doc = "----------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account"] + #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account"] + #[doc = "# "] + 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, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Threshold must be 2 or greater."] + MinimumThreshold, + #[codec(index = 1)] + #[doc = "Call is already approved by this signatory."] + AlreadyApproved, + #[codec(index = 2)] + #[doc = "Call doesn't need any (more) approvals."] + NoApprovalsNeeded, + #[codec(index = 3)] + #[doc = "There are too few signatories in the list."] + TooFewSignatories, + #[codec(index = 4)] + #[doc = "There are too many signatories in the list."] + TooManySignatories, + #[codec(index = 5)] + #[doc = "The signatories were provided out of order; they should be ordered."] + SignatoriesOutOfOrder, + #[codec(index = 6)] + #[doc = "The sender was contained in the other signatories; it shouldn't be."] + SenderInSignatories, + #[codec(index = 7)] + #[doc = "Multisig operation not found when attempting to cancel."] + NotFound, + #[codec(index = 8)] + #[doc = "Only the account that originally created the multisig is able to cancel it."] + NotOwner, + #[codec(index = 9)] + #[doc = "No timepoint was given, yet the multisig operation is already underway."] + NoTimepoint, + #[codec(index = 10)] + #[doc = "A different timepoint was given to the multisig operation that is underway."] + WrongTimepoint, + #[codec(index = 11)] + #[doc = "A timepoint was given, yet no multisig operation is underway."] + UnexpectedTimepoint, + #[codec(index = 12)] + #[doc = "The maximum weight information provided was too low."] + MaxWeightTooLow, + #[codec(index = 13)] + #[doc = "The data to be stored is already stored."] + AlreadyStored, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "A new multisig operation has begun."] + NewMultisig { + approving: ::subxt::utils::AccountId32, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 1)] + #[doc = "A multisig operation has been approved by someone."] + MultisigApproval { + approving: ::subxt::utils::AccountId32, + timepoint: runtime_types::pallet_multisig::Timepoint< + ::core::primitive::u32, + >, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + #[doc = "A multisig operation has been executed."] + MultisigExecuted { + approving: ::subxt::utils::AccountId32, + timepoint: runtime_types::pallet_multisig::Timepoint< + ::core::primitive::u32, + >, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + #[codec(index = 3)] + #[doc = "A multisig operation has been cancelled."] + MultisigCancelled { + cancelling: ::subxt::utils::AccountId32, + timepoint: runtime_types::pallet_multisig::Timepoint< + ::core::primitive::u32, + >, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Multisig<_0, _1, _2> { + pub when: runtime_types::pallet_multisig::Timepoint<_0>, + pub deposit: _1, + pub depositor: _2, + pub approvals: + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<_2>, + } + #[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 :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : runtime_types :: sp_core :: bounded :: 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 :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : runtime_types :: sp_core :: bounded :: 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 :: sp_core :: bounded :: 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 :: sp_core :: bounded :: 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 :: sp_core :: bounded :: 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 :: sp_core :: bounded :: 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 > > , } , } + #[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 = "The signing account has no permission to do the operation."] + NoPermission, + #[codec(index = 1)] + #[doc = "The given item ID is unknown."] + UnknownCollection, + #[codec(index = 2)] + #[doc = "The item ID has already been used for an item."] + AlreadyExists, + #[codec(index = 3)] + #[doc = "The approval had a deadline that expired, so the approval isn't valid anymore."] + ApprovalExpired, + #[codec(index = 4)] + #[doc = "The owner turned out to be different to what was expected."] + WrongOwner, + #[codec(index = 5)] + #[doc = "The witness data given does not match the current state of the chain."] + BadWitness, + #[codec(index = 6)] + #[doc = "Collection ID is already taken."] + CollectionIdInUse, + #[codec(index = 7)] + #[doc = "Items within that collection are non-transferable."] + ItemsNonTransferable, + #[codec(index = 8)] + #[doc = "The provided account is not a delegate."] + NotDelegate, + #[codec(index = 9)] + #[doc = "The delegate turned out to be different to what was expected."] + WrongDelegate, + #[codec(index = 10)] + #[doc = "No approval exists that would allow the transfer."] + Unapproved, + #[codec(index = 11)] + #[doc = "The named owner has not signed ownership acceptance of the collection."] + Unaccepted, + #[codec(index = 12)] + #[doc = "The item is locked (non-transferable)."] + ItemLocked, + #[codec(index = 13)] + #[doc = "Item's attributes are locked."] + LockedItemAttributes, + #[codec(index = 14)] + #[doc = "Collection's attributes are locked."] + LockedCollectionAttributes, + #[codec(index = 15)] + #[doc = "Item's metadata is locked."] + LockedItemMetadata, + #[codec(index = 16)] + #[doc = "Collection's metadata is locked."] + LockedCollectionMetadata, + #[codec(index = 17)] + #[doc = "All items have been minted."] + MaxSupplyReached, + #[codec(index = 18)] + #[doc = "The max supply is locked and can't be changed."] + MaxSupplyLocked, + #[codec(index = 19)] + #[doc = "The provided max supply is less than the number of items a collection already has."] + MaxSupplyTooSmall, + #[codec(index = 20)] + #[doc = "The given item ID is unknown."] + UnknownItem, + #[codec(index = 21)] + #[doc = "Swap doesn't exist."] + UnknownSwap, + #[codec(index = 22)] + #[doc = "The given item has no metadata set."] + MetadataNotFound, + #[codec(index = 23)] + #[doc = "The provided attribute can't be found."] + AttributeNotFound, + #[codec(index = 24)] + #[doc = "Item is not for sale."] + NotForSale, + #[codec(index = 25)] + #[doc = "The provided bid is too low."] + BidTooLow, + #[codec(index = 26)] + #[doc = "The item has reached its approval limit."] + ReachedApprovalLimit, + #[codec(index = 27)] + #[doc = "The deadline has already expired."] + DeadlineExpired, + #[codec(index = 28)] + #[doc = "The duration provided should be less than or equal to `MaxDeadlineDuration`."] + WrongDuration, + #[codec(index = 29)] + #[doc = "The method is disabled by system settings."] + MethodDisabled, + #[codec(index = 30)] + #[doc = "The provided setting can't be set."] + WrongSetting, + #[codec(index = 31)] + #[doc = "Item's config already exists and should be equal to the provided one."] + InconsistentItemConfig, + #[codec(index = 32)] + #[doc = "Config for a collection or an item can't be found."] + NoConfig, + #[codec(index = 33)] + #[doc = "Some roles were not cleared."] + RolesNotCleared, + #[codec(index = 34)] + #[doc = "Mint has not started yet."] + MintNotStarted, + #[codec(index = 35)] + #[doc = "Mint has already ended."] + MintEnded, + #[codec(index = 36)] + #[doc = "The provided Item was already used for claiming."] + AlreadyClaimed, + #[codec(index = 37)] + #[doc = "The provided data is incorrect."] + IncorrectData, + } + #[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 = "A `collection` was created."] Created { collection : :: core :: primitive :: u32 , creator : :: subxt :: utils :: AccountId32 , owner : :: subxt :: utils :: AccountId32 , } , # [codec (index = 1)] # [doc = "A `collection` was force-created."] ForceCreated { collection : :: core :: primitive :: u32 , owner : :: subxt :: utils :: AccountId32 , } , # [codec (index = 2)] # [doc = "A `collection` was destroyed."] Destroyed { collection : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "An `item` was issued."] Issued { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , owner : :: subxt :: utils :: AccountId32 , } , # [codec (index = 4)] # [doc = "An `item` was transferred."] Transferred { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , from : :: subxt :: utils :: AccountId32 , to : :: subxt :: utils :: AccountId32 , } , # [codec (index = 5)] # [doc = "An `item` was destroyed."] Burned { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , owner : :: subxt :: utils :: AccountId32 , } , # [codec (index = 6)] # [doc = "An `item` became non-transferable."] ItemTransferLocked { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 7)] # [doc = "An `item` became transferable."] ItemTransferUnlocked { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 8)] # [doc = "`item` metadata or attributes were locked."] ItemPropertiesLocked { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , lock_metadata : :: core :: primitive :: bool , lock_attributes : :: core :: primitive :: bool , } , # [codec (index = 9)] # [doc = "Some `collection` was locked."] CollectionLocked { collection : :: core :: primitive :: u32 , } , # [codec (index = 10)] # [doc = "The owner changed."] OwnerChanged { collection : :: core :: primitive :: u32 , new_owner : :: subxt :: utils :: AccountId32 , } , # [codec (index = 11)] # [doc = "The management team changed."] TeamChanged { collection : :: core :: primitive :: u32 , issuer : :: subxt :: utils :: AccountId32 , admin : :: subxt :: utils :: AccountId32 , freezer : :: subxt :: utils :: AccountId32 , } , # [codec (index = 12)] # [doc = "An `item` of a `collection` has been approved by the `owner` for transfer by"] # [doc = "a `delegate`."] TransferApproved { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , owner : :: subxt :: utils :: AccountId32 , delegate : :: subxt :: utils :: AccountId32 , deadline : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 13)] # [doc = "An approval for a `delegate` account to transfer the `item` of an item"] # [doc = "`collection` was cancelled by its `owner`."] ApprovalCancelled { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , owner : :: subxt :: utils :: AccountId32 , delegate : :: subxt :: utils :: AccountId32 , } , # [codec (index = 14)] # [doc = "All approvals of an item got cancelled."] AllApprovalsCancelled { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , owner : :: subxt :: utils :: AccountId32 , } , # [codec (index = 15)] # [doc = "A `collection` has had its config changed by the `Force` origin."] CollectionConfigChanged { collection : :: core :: primitive :: u32 , } , # [codec (index = 16)] # [doc = "New metadata has been set for a `collection`."] CollectionMetadataSet { collection : :: core :: primitive :: u32 , data : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 17)] # [doc = "Metadata has been cleared for a `collection`."] CollectionMetadataCleared { collection : :: core :: primitive :: u32 , } , # [codec (index = 18)] # [doc = "New metadata has been set for an item."] ItemMetadataSet { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , data : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 19)] # [doc = "Metadata has been cleared for an item."] ItemMetadataCleared { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 20)] # [doc = "The deposit for a set of `item`s within a `collection` has been updated."] Redeposited { collection : :: core :: primitive :: u32 , successful_items : :: std :: vec :: Vec < :: core :: primitive :: u32 > , } , # [codec (index = 21)] # [doc = "New attribute metadata has been set for a `collection` or `item`."] AttributeSet { collection : :: core :: primitive :: u32 , maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , key : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , } , # [codec (index = 22)] # [doc = "Attribute metadata has been cleared for a `collection` or `item`."] AttributeCleared { collection : :: core :: primitive :: u32 , maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , key : runtime_types :: sp_core :: bounded :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , } , # [codec (index = 23)] # [doc = "A new approval to modify item attributes was added."] ItemAttributesApprovalAdded { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: AccountId32 , } , # [codec (index = 24)] # [doc = "A new approval to modify item attributes was removed."] ItemAttributesApprovalRemoved { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: AccountId32 , } , # [codec (index = 25)] # [doc = "Ownership acceptance has changed for an account."] OwnershipAcceptanceChanged { who : :: subxt :: utils :: AccountId32 , maybe_collection : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 26)] # [doc = "Max supply has been set for a collection."] CollectionMaxSupplySet { collection : :: core :: primitive :: u32 , max_supply : :: core :: primitive :: u32 , } , # [codec (index = 27)] # [doc = "Mint settings for a collection had changed."] CollectionMintSettingsUpdated { collection : :: core :: primitive :: u32 , } , # [codec (index = 28)] # [doc = "Event gets emitted when the `NextCollectionId` gets incremented."] NextCollectionIdIncremented { next_id : :: core :: primitive :: u32 , } , # [codec (index = 29)] # [doc = "The price was set for the item."] ItemPriceSet { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , price : :: core :: primitive :: u128 , whitelisted_buyer : :: core :: option :: Option < :: subxt :: utils :: AccountId32 > , } , # [codec (index = 30)] # [doc = "The price for the item was removed."] ItemPriceRemoved { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 31)] # [doc = "An item was bought."] ItemBought { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , price : :: core :: primitive :: u128 , seller : :: subxt :: utils :: AccountId32 , buyer : :: subxt :: utils :: AccountId32 , } , # [codec (index = 32)] # [doc = "A tip was sent."] TipSent { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , sender : :: subxt :: utils :: AccountId32 , receiver : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [codec (index = 33)] # [doc = "An `item` swap intent was created."] SwapCreated { offered_collection : :: core :: primitive :: u32 , offered_item : :: core :: primitive :: u32 , desired_collection : :: core :: primitive :: u32 , desired_item : :: core :: option :: Option < :: core :: primitive :: u32 > , price : :: core :: option :: Option < runtime_types :: pallet_nfts :: types :: PriceWithDirection < :: core :: primitive :: u128 > > , deadline : :: core :: primitive :: u32 , } , # [codec (index = 34)] # [doc = "The swap was cancelled."] SwapCancelled { offered_collection : :: core :: primitive :: u32 , offered_item : :: core :: primitive :: u32 , desired_collection : :: core :: primitive :: u32 , desired_item : :: core :: option :: Option < :: core :: primitive :: u32 > , price : :: core :: option :: Option < runtime_types :: pallet_nfts :: types :: PriceWithDirection < :: core :: primitive :: u128 > > , deadline : :: core :: primitive :: u32 , } , # [codec (index = 35)] # [doc = "The swap has been claimed."] SwapClaimed { sent_collection : :: core :: primitive :: u32 , sent_item : :: core :: primitive :: u32 , sent_item_owner : :: subxt :: utils :: AccountId32 , received_collection : :: core :: primitive :: u32 , received_item : :: core :: primitive :: u32 , received_item_owner : :: subxt :: utils :: AccountId32 , price : :: core :: option :: Option < runtime_types :: pallet_nfts :: types :: PriceWithDirection < :: core :: primitive :: u128 > > , deadline : :: core :: primitive :: u32 , } , } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AttributeDeposit<_0, _1> { + pub account: ::core::option::Option<_1>, + pub amount: _0, + } + #[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 struct CollectionDetails<_0, _1> { + pub owner: _0, + pub owner_deposit: _1, + pub items: ::core::primitive::u32, + pub item_metadatas: ::core::primitive::u32, + pub attributes: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CollectionMetadata<_0> { + pub deposit: _0, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum CollectionRole { + #[codec(index = 1)] + Issuer, + #[codec(index = 2)] + Freezer, + #[codec(index = 4)] + Admin, + } + #[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 struct ItemDeposit<_0, _1> { + pub account: _1, + pub amount: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ItemDetails<_0, _1, _2> { + pub owner: _0, + pub approvals: _2, + pub deposit: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ItemMetadata<_0> { + pub deposit: _0, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ItemMetadataDeposit<_0, _1> { + pub account: ::core::option::Option<_1>, + pub amount: _0, + } + #[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 enum PalletFeature { + #[codec(index = 1)] + Trading, + #[codec(index = 2)] + Attributes, + #[codec(index = 4)] + Approvals, + #[codec(index = 8)] + Swaps, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PendingSwap<_0, _1, _2, _3> { + pub desired_collection: _0, + pub desired_item: ::core::option::Option<_0>, + pub price: ::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, + )] + pub struct Bid<_0, _1> { + pub amount: _0, + pub who: _1, + } + #[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, + }, + } + #[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 = "The duration of the bid is less than one."] + DurationTooSmall, + #[codec(index = 1)] + #[doc = "The duration is the bid is greater than the number of queues."] + DurationTooBig, + #[codec(index = 2)] + #[doc = "The amount of the bid is less than the minimum allowed."] + AmountTooSmall, + #[codec(index = 3)] + #[doc = "The queue for the bid's duration is full and the amount bid is too low to get in"] + #[doc = "through replacing an existing bid."] + BidTooLow, + #[codec(index = 4)] + #[doc = "Receipt index is unknown."] + UnknownReceipt, + #[codec(index = 5)] + #[doc = "Not the owner of the receipt."] + NotOwner, + #[codec(index = 6)] + #[doc = "Bond not yet at expiry date."] + NotExpired, + #[codec(index = 7)] + #[doc = "The given bid for retraction is not found."] + UnknownBid, + #[codec(index = 8)] + #[doc = "The portion supplied is beyond the value of the receipt."] + PortionTooBig, + #[codec(index = 9)] + #[doc = "Not enough funds are held to pay out."] + Unfunded, + #[codec(index = 10)] + #[doc = "There are enough funds for what is required."] + AlreadyFunded, + #[codec(index = 11)] + #[doc = "The thaw throttle has been reached for this period."] + Throttled, + #[codec(index = 12)] + #[doc = "The operation would result in a receipt worth an insignficant value."] + MakesDust, + #[codec(index = 13)] + #[doc = "The receipt is already communal."] + AlreadyCommunal, + #[codec(index = 14)] + #[doc = "The receipt is already private."] + AlreadyPrivate, + } + #[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 = "A bid was successfully placed."] + BidPlaced { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + duration: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "A bid was successfully removed (before being accepted)."] + BidRetracted { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + duration: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "A bid was dropped from a queue because of another, more substantial, bid was present."] + BidDropped { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + duration: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "A bid was accepted. The balance may not be released until expiry."] + Issued { + index: ::core::primitive::u32, + expiry: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + proportion: runtime_types::sp_arithmetic::per_things::Perquintill, + amount: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "An receipt has been (at least partially) thawed."] + Thawed { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + proportion: runtime_types::sp_arithmetic::per_things::Perquintill, + amount: ::core::primitive::u128, + dropped: ::core::primitive::bool, + }, + #[codec(index = 5)] + #[doc = "An automatic funding of the deficit was made."] + Funded { deficit: ::core::primitive::u128 }, + #[codec(index = 6)] + #[doc = "A receipt was transfered."] + Transferred { + from: ::subxt::utils::AccountId32, + to: ::subxt::utils::AccountId32, + index: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ReceiptRecord<_0, _1, _2> { + pub proportion: runtime_types::sp_arithmetic::per_things::Perquintill, + pub owner: ::core::option::Option<(_0, _2)>, + pub expiry: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SummaryRecord<_0, _1> { + pub proportion_owed: + runtime_types::sp_arithmetic::per_things::Perquintill, + pub index: _0, + pub thawed: runtime_types::sp_arithmetic::per_things::Perquintill, + pub last_period: _0, + pub receipts_on_hold: _1, + } + } + } + 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."] + 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\"."] + 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 state-toggler. This is"] + #[doc = " refereed to 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 state-toggler."] + #[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 = "* `state_toggler` - The account to set as the [`PoolRoles::state_toggler`]."] + #[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, + >, + state_toggler: ::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, + >, + state_toggler: ::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 state toggler, 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 state toggler, 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_state_toggler: + 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 }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum DefensiveError { + #[codec(index = 0)] + NotEnoughSpaceInUnbondPool, + #[codec(index = 1)] + PoolNotFound, + #[codec(index = 2)] + RewardPoolNotFound, + #[codec(index = 3)] + SubPoolsNotFound, + #[codec(index = 4)] + BondedStashKilledPrematurely, + } + #[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 = "A (bonded) pool id does not exist."] + PoolNotFound, + #[codec(index = 1)] + #[doc = "An account is not a member."] + PoolMemberNotFound, + #[codec(index = 2)] + #[doc = "A reward pool does not exist. In all cases this is a system logic error."] + RewardPoolNotFound, + #[codec(index = 3)] + #[doc = "A sub pool does not exist."] + SubPoolsNotFound, + #[codec(index = 4)] + #[doc = "An account is already delegating in another pool. An account may only belong to one"] + #[doc = "pool at a time."] + AccountBelongsToOtherPool, + #[codec(index = 5)] + #[doc = "The member is fully unbonded (and thus cannot access the bonded and reward pool"] + #[doc = "anymore to, for example, collect rewards)."] + FullyUnbonding, + #[codec(index = 6)] + #[doc = "The member cannot unbond further chunks due to reaching the limit."] + MaxUnbondingLimit, + #[codec(index = 7)] + #[doc = "None of the funds can be withdrawn yet because the bonding duration has not passed."] + CannotWithdrawAny, + #[codec(index = 8)] + #[doc = "The amount does not meet the minimum bond to either join or create a pool."] + #[doc = ""] + #[doc = "The depositor can never unbond to a value less than"] + #[doc = "`Pallet::depositor_min_bond`. The caller does not have nominating"] + #[doc = "permissions for the pool. Members can never unbond to a value below `MinJoinBond`."] + MinimumBondNotMet, + #[codec(index = 9)] + #[doc = "The transaction could not be executed due to overflow risk for the pool."] + OverflowRisk, + #[codec(index = 10)] + #[doc = "A pool must be in [`PoolState::Destroying`] in order for the depositor to unbond or for"] + #[doc = "other members to be permissionlessly unbonded."] + NotDestroying, + #[codec(index = 11)] + #[doc = "The caller does not have nominating permissions for the pool."] + NotNominator, + #[codec(index = 12)] + #[doc = "Either a) the caller cannot make a valid kick or b) the pool is not destroying."] + NotKickerOrDestroying, + #[codec(index = 13)] + #[doc = "The pool is not open to join"] + NotOpen, + #[codec(index = 14)] + #[doc = "The system is maxed out on pools."] + MaxPools, + #[codec(index = 15)] + #[doc = "Too many members in the pool or system."] + MaxPoolMembers, + #[codec(index = 16)] + #[doc = "The pools state cannot be changed."] + CanNotChangeState, + #[codec(index = 17)] + #[doc = "The caller does not have adequate permissions."] + DoesNotHavePermission, + #[codec(index = 18)] + #[doc = "Metadata exceeds [`Config::MaxMetadataLen`]"] + MetadataExceedsMaxLen, + #[codec(index = 19)] + #[doc = "Some error occurred that should never happen. This should be reported to the"] + #[doc = "maintainers."] + Defensive( + runtime_types::pallet_nomination_pools::pallet::DefensiveError, + ), + #[codec(index = 20)] + #[doc = "Partial unbonding now allowed permissionlessly."] + PartialUnbondNotAllowedPermissionlessly, + #[codec(index = 21)] + #[doc = "Pool id currently in use."] + PoolIdInUse, + #[codec(index = 22)] + #[doc = "Pool id provided is not correct/usable."] + InvalidPoolId, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Events of this pallet."] + pub enum Event { + #[codec(index = 0)] + #[doc = "A pool has been created."] + Created { + depositor: ::subxt::utils::AccountId32, + pool_id: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "A member has became bonded in a pool."] + Bonded { + member: ::subxt::utils::AccountId32, + pool_id: ::core::primitive::u32, + bonded: ::core::primitive::u128, + joined: ::core::primitive::bool, + }, + #[codec(index = 2)] + #[doc = "A payout has been made to a member."] + PaidOut { + member: ::subxt::utils::AccountId32, + pool_id: ::core::primitive::u32, + payout: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A member has unbonded from their pool."] + #[doc = ""] + #[doc = "- `balance` is the corresponding balance of the number of points that has been"] + #[doc = " requested to be unbonded (the argument of the `unbond` transaction) from the bonded"] + #[doc = " pool."] + #[doc = "- `points` is the number of points that are issued as a result of `balance` being"] + #[doc = "dissolved into the corresponding unbonding pool."] + #[doc = "- `era` is the era in which the balance will be unbonded."] + #[doc = "In the absence of slashing, these values will match. In the presence of slashing, the"] + #[doc = "number of points that are issued in the unbonding pool will be less than the amount"] + #[doc = "requested to be unbonded."] + Unbonded { + member: ::subxt::utils::AccountId32, + pool_id: ::core::primitive::u32, + balance: ::core::primitive::u128, + points: ::core::primitive::u128, + era: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "A member has withdrawn from their pool."] + #[doc = ""] + #[doc = "The given number of `points` have been dissolved in return of `balance`."] + #[doc = ""] + #[doc = "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance"] + #[doc = "will be 1."] + Withdrawn { + member: ::subxt::utils::AccountId32, + pool_id: ::core::primitive::u32, + balance: ::core::primitive::u128, + points: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "A pool has been destroyed."] + Destroyed { pool_id: ::core::primitive::u32 }, + #[codec(index = 6)] + #[doc = "The state of a pool has changed"] + StateChanged { + pool_id: ::core::primitive::u32, + new_state: runtime_types::pallet_nomination_pools::PoolState, + }, + #[codec(index = 7)] + #[doc = "A member has been removed from a pool."] + #[doc = ""] + #[doc = "The removal can be voluntary (withdrawn all unbonded funds) or involuntary (kicked)."] + MemberRemoved { + pool_id: ::core::primitive::u32, + member: ::subxt::utils::AccountId32, + }, + #[codec(index = 8)] + #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] + #[doc = "can never change."] + RolesUpdated { + root: ::core::option::Option<::subxt::utils::AccountId32>, + state_toggler: + ::core::option::Option<::subxt::utils::AccountId32>, + nominator: ::core::option::Option<::subxt::utils::AccountId32>, + }, + #[codec(index = 9)] + #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] + PoolSlashed { + pool_id: ::core::primitive::u32, + balance: ::core::primitive::u128, + }, + #[codec(index = 10)] + #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] + UnbondingPoolSlashed { + pool_id: ::core::primitive::u32, + era: ::core::primitive::u32, + balance: ::core::primitive::u128, + }, + } + } + #[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 struct BondedPoolInner { + pub points: ::core::primitive::u128, + pub state: runtime_types::pallet_nomination_pools::PoolState, + pub member_counter: ::core::primitive::u32, + pub roles: runtime_types::pallet_nomination_pools::PoolRoles< + ::subxt::utils::AccountId32, + >, + } + #[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 struct PoolMember { + pub pool_id: ::core::primitive::u32, + pub points: ::core::primitive::u128, + pub last_recorded_reward_counter: + runtime_types::sp_arithmetic::fixed_point::FixedU128, + pub unbonding_eras: + runtime_types::sp_core::bounded::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + ::core::primitive::u128, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PoolRoles<_0> { + pub depositor: _0, + pub root: ::core::option::Option<_0>, + pub nominator: ::core::option::Option<_0>, + pub state_toggler: ::core::option::Option<_0>, + } + #[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, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RewardPool { + pub last_recorded_reward_counter: + runtime_types::sp_arithmetic::fixed_point::FixedU128, + pub last_recorded_total_payouts: ::core::primitive::u128, + pub total_rewards_claimed: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SubPools { + pub no_era: runtime_types::pallet_nomination_pools::UnbondPool, + pub with_era: + runtime_types::sp_core::bounded::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_nomination_pools::UnbondPool, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UnbondPool { + pub points: ::core::primitive::u128, + pub balance: ::core::primitive::u128, + } + } + pub mod pallet_offences { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Events type."] + pub enum Event { + #[codec(index = 0)] + #[doc = "There is an offence reported of the given `kind` happened at the `session_index` and"] + #[doc = "(kind-specific) time slot. This event is not deposited for duplicate slashes."] + #[doc = "\\[kind, timeslot\\]."] + Offence { + kind: [::core::primitive::u8; 16usize], + timeslot: ::std::vec::Vec<::core::primitive::u8>, + }, + } + } + } + pub mod pallet_preimage { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 }, + } + #[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 = "Preimage is too large to store on-chain."] + TooBig, + #[codec(index = 1)] + #[doc = "Preimage has already been noted on-chain."] + AlreadyNoted, + #[codec(index = 2)] + #[doc = "The user is not authorized to perform this action."] + NotAuthorized, + #[codec(index = 3)] + #[doc = "The preimage cannot be removed since it has not yet been noted."] + NotNoted, + #[codec(index = 4)] + #[doc = "A preimage may not be removed when there are outstanding requests."] + Requested, + #[codec(index = 5)] + #[doc = "The preimage request cannot be removed since no outstanding requests exist."] + NotRequested, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "A preimage has been noted."] + Noted { hash: ::subxt::utils::H256 }, + #[codec(index = 1)] + #[doc = "A preimage has been requested."] + Requested { hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + #[doc = "A preimage has ben cleared."] + Cleared { hash: ::subxt::utils::H256 }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum RequestStatus<_0, _1> { + #[codec(index = 0)] + Unrequested { + deposit: (_0, _1), + len: ::core::primitive::u32, + }, + #[codec(index = 1)] + Requested { + deposit: ::core::option::Option<(_0, _1)>, + count: ::core::primitive::u32, + len: ::core::option::Option<::core::primitive::u32>, + }, + } + } + pub mod pallet_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, + >, + }, + } + #[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 = "There are too many proxies registered or too many announcements pending."] + TooMany, + #[codec(index = 1)] + #[doc = "Proxy registration not found."] + NotFound, + #[codec(index = 2)] + #[doc = "Sender is not a proxy of the account to be proxied."] + NotProxy, + #[codec(index = 3)] + #[doc = "A call which is incompatible with the proxy type's filter was attempted."] + Unproxyable, + #[codec(index = 4)] + #[doc = "Account is already a proxy."] + Duplicate, + #[codec(index = 5)] + #[doc = "Call may not be made by proxy because it may escalate its privileges."] + NoPermission, + #[codec(index = 6)] + #[doc = "Announcement, if made at all, was made too recently."] + Unannounced, + #[codec(index = 7)] + #[doc = "Cannot add self as proxy."] + NoSelfProxy, + } + #[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 = "A proxy was executed correctly, with the given."] + ProxyExecuted { + result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + #[codec(index = 1)] + #[doc = "A pure account has been created by new proxy with given"] + #[doc = "disambiguation index and proxy type."] + PureCreated { + pure: ::subxt::utils::AccountId32, + who: ::subxt::utils::AccountId32, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + disambiguation_index: ::core::primitive::u16, + }, + #[codec(index = 2)] + #[doc = "An announcement was placed to make a call in the future."] + Announced { + real: ::subxt::utils::AccountId32, + proxy: ::subxt::utils::AccountId32, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 3)] + #[doc = "A proxy was added."] + ProxyAdded { + delegator: ::subxt::utils::AccountId32, + delegatee: ::subxt::utils::AccountId32, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "A proxy was removed."] + ProxyRemoved { + delegator: ::subxt::utils::AccountId32, + delegatee: ::subxt::utils::AccountId32, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Announcement<_0, _1, _2> { + pub real: _0, + pub call_hash: _1, + pub height: _2, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ProxyDefinition<_0, _1, _2> { + pub delegate: _0, + pub proxy_type: _1, + pub delay: _2, + } + } + 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, + }, + } + #[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 = "Account is already a member."] + AlreadyMember, + #[codec(index = 1)] + #[doc = "Account is not a member."] + NotMember, + #[codec(index = 2)] + #[doc = "The given poll index is unknown or has closed."] + NotPolling, + #[codec(index = 3)] + #[doc = "The given poll is still ongoing."] + Ongoing, + #[codec(index = 4)] + #[doc = "There are no further records to be removed."] + NoneRemaining, + #[codec(index = 5)] + #[doc = "Unexpected error in state."] + Corruption, + #[codec(index = 6)] + #[doc = "The member's rank is too low to vote."] + RankTooLow, + #[codec(index = 7)] + #[doc = "The information provided is incorrect."] + InvalidWitness, + #[codec(index = 8)] + #[doc = "The origin is not sufficiently privileged to do the operation."] + NoPermission, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "A member `who` has been added."] + MemberAdded { who: ::subxt::utils::AccountId32 }, + #[codec(index = 1)] + #[doc = "The member `who`se rank has been changed to the given `rank`."] + RankChanged { + who: ::subxt::utils::AccountId32, + rank: ::core::primitive::u16, + }, + #[codec(index = 2)] + #[doc = "The member `who` of given `rank` has been removed from the collective."] + MemberRemoved { + who: ::subxt::utils::AccountId32, + rank: ::core::primitive::u16, + }, + #[codec(index = 3)] + #[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"] + #[doc = "`tally`."] + Voted { + who: ::subxt::utils::AccountId32, + poll: ::core::primitive::u32, + vote: runtime_types::pallet_ranked_collective::VoteRecord, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MemberRecord { + pub rank: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Tally { + pub bare_ayes: ::core::primitive::u32, + pub ayes: ::core::primitive::u32, + pub nays: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum VoteRecord { + #[codec(index = 0)] + Aye(::core::primitive::u32), + #[codec(index = 1)] + Nay(::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, + >, + }, + } + #[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 = "User is not allowed to make a call on behalf of this account"] + NotAllowed, + #[codec(index = 1)] + #[doc = "Threshold must be greater than zero"] + ZeroThreshold, + #[codec(index = 2)] + #[doc = "Friends list must be greater than zero and threshold"] + NotEnoughFriends, + #[codec(index = 3)] + #[doc = "Friends list must be less than max friends"] + MaxFriends, + #[codec(index = 4)] + #[doc = "Friends list must be sorted and free of duplicates"] + NotSorted, + #[codec(index = 5)] + #[doc = "This account is not set up for recovery"] + NotRecoverable, + #[codec(index = 6)] + #[doc = "This account is already set up for recovery"] + AlreadyRecoverable, + #[codec(index = 7)] + #[doc = "A recovery process has already started for this account"] + AlreadyStarted, + #[codec(index = 8)] + #[doc = "A recovery process has not started for this rescuer"] + NotStarted, + #[codec(index = 9)] + #[doc = "This account is not a friend who can vouch"] + NotFriend, + #[codec(index = 10)] + #[doc = "The friend must wait until the delay period to vouch for this recovery"] + DelayPeriod, + #[codec(index = 11)] + #[doc = "This user has already vouched for this recovery"] + AlreadyVouched, + #[codec(index = 12)] + #[doc = "The threshold for recovering this account has not been met"] + Threshold, + #[codec(index = 13)] + #[doc = "There are still active recovery attempts that need to be closed"] + StillActive, + #[codec(index = 14)] + #[doc = "This account is already set up for recovery"] + AlreadyProxy, + #[codec(index = 15)] + #[doc = "Some internal state is broken."] + BadState, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Events type."] + pub enum Event { + #[codec(index = 0)] + #[doc = "A recovery process has been set up for an account."] + RecoveryCreated { + account: ::subxt::utils::AccountId32, + }, + #[codec(index = 1)] + #[doc = "A recovery process has been initiated for lost account by rescuer account."] + RecoveryInitiated { + lost_account: ::subxt::utils::AccountId32, + rescuer_account: ::subxt::utils::AccountId32, + }, + #[codec(index = 2)] + #[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."] + RecoveryVouched { + lost_account: ::subxt::utils::AccountId32, + rescuer_account: ::subxt::utils::AccountId32, + sender: ::subxt::utils::AccountId32, + }, + #[codec(index = 3)] + #[doc = "A recovery process for lost account by rescuer account has been closed."] + RecoveryClosed { + lost_account: ::subxt::utils::AccountId32, + rescuer_account: ::subxt::utils::AccountId32, + }, + #[codec(index = 4)] + #[doc = "Lost account has been successfully recovered by rescuer account."] + AccountRecovered { + lost_account: ::subxt::utils::AccountId32, + rescuer_account: ::subxt::utils::AccountId32, + }, + #[codec(index = 5)] + #[doc = "A recovery process has been removed for an account."] + RecoveryRemoved { + lost_account: ::subxt::utils::AccountId32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ActiveRecovery<_0, _1, _2> { + pub created: _0, + pub deposit: _1, + pub friends: _2, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RecoveryConfig<_0, _1, _2> { + pub delay_period: _0, + pub deposit: _1, + pub friends: _2, + pub threshold: ::core::primitive::u16, + } + } + 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 }, + } + #[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 = "Referendum is not ongoing."] + NotOngoing, + #[codec(index = 1)] + #[doc = "Referendum's decision deposit is already paid."] + HasDeposit, + #[codec(index = 2)] + #[doc = "The track identifier given was invalid."] + BadTrack, + #[codec(index = 3)] + #[doc = "There are already a full complement of referenda in progress for this track."] + Full, + #[codec(index = 4)] + #[doc = "The queue of the track is empty."] + QueueEmpty, + #[codec(index = 5)] + #[doc = "The referendum index provided is invalid in this context."] + BadReferendum, + #[codec(index = 6)] + #[doc = "There was nothing to do in the advancement."] + NothingToDo, + #[codec(index = 7)] + #[doc = "No track exists for the proposal origin."] + NoTrack, + #[codec(index = 8)] + #[doc = "Any deposit cannot be refunded until after the decision is over."] + Unfinished, + #[codec(index = 9)] + #[doc = "The deposit refunder is not the depositor."] + NoPermission, + #[codec(index = 10)] + #[doc = "The deposit cannot be refunded since none was made."] + NoDeposit, + #[codec(index = 11)] + #[doc = "The referendum status is invalid for this operation."] + BadStatus, + } + #[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 = "A referendum has been submitted."] + Submitted { + index: ::core::primitive::u32, + track: ::core::primitive::u16, + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "The decision deposit has been placed."] + DecisionDepositPlaced { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "The decision deposit has been refunded."] + DecisionDepositRefunded { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A deposit has been slashaed."] + DepositSlashed { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "A referendum has moved into the deciding phase."] + DecisionStarted { + index: ::core::primitive::u32, + track: ::core::primitive::u16, + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 5)] + ConfirmStarted { index: ::core::primitive::u32 }, + #[codec(index = 6)] + ConfirmAborted { index: ::core::primitive::u32 }, + #[codec(index = 7)] + #[doc = "A referendum has ended its confirmation phase and is ready for approval."] + Confirmed { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 8)] + #[doc = "A referendum has been approved and its proposal has been scheduled."] + Approved { index: ::core::primitive::u32 }, + #[codec(index = 9)] + #[doc = "A proposal has been rejected by referendum."] + Rejected { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 10)] + #[doc = "A referendum has been timed out without being decided."] + TimedOut { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 11)] + #[doc = "A referendum has been cancelled."] + Cancelled { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 12)] + #[doc = "A referendum has been killed."] + Killed { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 13)] + #[doc = "The submission deposit has been refunded."] + SubmissionDepositRefunded { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Curve { + #[codec(index = 0)] + LinearDecreasing { + length: runtime_types::sp_arithmetic::per_things::Perbill, + floor: runtime_types::sp_arithmetic::per_things::Perbill, + ceil: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 1)] + SteppedDecreasing { + begin: runtime_types::sp_arithmetic::per_things::Perbill, + end: runtime_types::sp_arithmetic::per_things::Perbill, + step: runtime_types::sp_arithmetic::per_things::Perbill, + period: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 2)] + Reciprocal { + factor: runtime_types::sp_arithmetic::fixed_point::FixedI64, + x_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64, + y_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DecidingStatus<_0> { + pub since: _0, + pub confirming: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Deposit<_0, _1> { + pub who: _0, + pub amount: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ReferendumInfo<_0, _1, _2, _3, _4, _5, _6, _7> { + #[codec(index = 0)] + Ongoing( + runtime_types::pallet_referenda::types::ReferendumStatus< + _0, + _1, + _2, + _3, + _4, + _5, + _6, + _7, + >, + ), + #[codec(index = 1)] + Approved( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 2)] + Rejected( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 3)] + Cancelled( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 4)] + TimedOut( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 5)] + Killed(_2), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ReferendumStatus<_0, _1, _2, _3, _4, _5, _6, _7> { + pub track: _0, + pub origin: _1, + pub proposal: _3, + pub enactment: + runtime_types::frame_support::traits::schedule::DispatchTime<_2>, + pub submitted: _2, + pub submission_deposit: + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + pub decision_deposit: ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + pub deciding: ::core::option::Option< + runtime_types::pallet_referenda::types::DecidingStatus<_2>, + >, + pub tally: _5, + pub in_queue: ::core::primitive::bool, + pub alarm: ::core::option::Option<(_2, _7)>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TrackInfo<_0, _1> { + pub name: ::std::string::String, + pub max_deciding: _1, + pub decision_deposit: _0, + pub prepare_period: _1, + pub decision_period: _1, + pub confirm_period: _1, + pub min_enactment_period: _1, + pub min_approval: runtime_types::pallet_referenda::types::Curve, + pub min_support: runtime_types::pallet_referenda::types::Curve, + } + } + } + pub mod pallet_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>, + }, + } + #[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 = "Attempting to store empty data."] + Empty, + #[codec(index = 1)] + #[doc = "Attempted to call `store` outside of block execution."] + BadContext, + } + #[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 = "Stored data off chain."] + Stored { + sender: ::subxt::utils::AccountId32, + content_hash: ::subxt::utils::H256, + }, + } + } + } + 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."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`schedule`]."] + #[doc = "# "] + 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."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`schedule_named`](Self::schedule_named)."] + #[doc = "# "] + 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, + >, + }, + } + #[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 = "Failed to schedule a call"] + FailedToSchedule, + #[codec(index = 1)] + #[doc = "Cannot find the scheduled call."] + NotFound, + #[codec(index = 2)] + #[doc = "Given target block number is in the past."] + TargetBlockNumberInPast, + #[codec(index = 3)] + #[doc = "Reschedule failed because it does not change scheduled time."] + RescheduleNoChange, + #[codec(index = 4)] + #[doc = "Attempt to use a non-named function on a named task."] + Named, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Events type."] + pub enum Event { + #[codec(index = 0)] + #[doc = "Scheduled some task."] + Scheduled { + when: ::core::primitive::u32, + index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Canceled some task."] + Canceled { + when: ::core::primitive::u32, + index: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Dispatched some task."] + Dispatched { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + #[codec(index = 3)] + #[doc = "The call for the provided hash was not found so the task has been aborted."] + CallUnavailable { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + }, + #[codec(index = 4)] + #[doc = "The given task was unable to be renewed since the agenda is full at that block."] + PeriodicFailed { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + }, + #[codec(index = 5)] + #[doc = "The given task can never be executed since it is overweight."] + PermanentlyOverweight { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Scheduled<_0, _1, _2, _3, _4> { + pub maybe_id: ::core::option::Option<_0>, + pub priority: ::core::primitive::u8, + pub call: _1, + pub maybe_periodic: ::core::option::Option<(_2, _2)>, + pub origin: _3, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_4>, + } + } + pub mod pallet_session { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "# "] + #[doc = "- Complexity: `O(1)`. Actual cost depends on the number of length of"] + #[doc = " `T::Keys::key_ids()` which is fixed."] + #[doc = "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`"] + #[doc = "- DbWrites: `origin account`, `NextKeys`"] + #[doc = "- DbReads per key id: `KeyOwner`"] + #[doc = "- DbWrites per key id: `KeyOwner`"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length"] + #[doc = " of `T::Keys::key_ids()` which is fixed."] + #[doc = "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`"] + #[doc = "- DbWrites: `NextKeys`, `origin account`"] + #[doc = "- DbWrites per key id: `KeyOwner`"] + #[doc = "# "] + purge_keys, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Error for the session pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Invalid ownership proof."] + InvalidProof, + #[codec(index = 1)] + #[doc = "No associated validator ID for account."] + NoAssociatedValidatorId, + #[codec(index = 2)] + #[doc = "Registered duplicate key."] + DuplicatedKey, + #[codec(index = 3)] + #[doc = "No keys are associated with this account."] + NoKeys, + #[codec(index = 4)] + #[doc = "Key setting account is not live, so it's impossible to associate keys."] + NoAccount, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "New session has happened. Note that the argument is the session index, not the"] + #[doc = "block number as the type might suggest."] + NewSession { + session_index: ::core::primitive::u32, + }, + } + } + } + pub mod pallet_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 = "# "] + #[doc = "Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)"] + #[doc = "- Storage Reads:"] + #[doc = "\t- One storage read to check for suspended candidate. O(1)"] + #[doc = "\t- One storage read to check for suspended member. O(1)"] + #[doc = "\t- One storage read to retrieve all current bids. O(B)"] + #[doc = "\t- One storage read to retrieve all current candidates. O(C)"] + #[doc = "\t- One storage read to retrieve all members. O(M)"] + #[doc = "- Storage Writes:"] + #[doc = "\t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization"] + #[doc = " w/ read)"] + #[doc = "\t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)"] + #[doc = "- Notable Computation:"] + #[doc = "\t- O(B + C + log M) search to check user is not already a part of society."] + #[doc = "\t- O(log B) search to insert the new bid sorted."] + #[doc = "- External Pallet Operations:"] + #[doc = "\t- One balance reserve operation. O(X)"] + #[doc = "\t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT."] + #[doc = "- Events:"] + #[doc = "\t- One event for new bid."] + #[doc = "\t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT."] + #[doc = ""] + #[doc = "Total Complexity: O(M + B + C + logM + logB + X)"] + #[doc = "# "] + 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 = "# "] + #[doc = "Key: B (len of bids), X (balance unreserve)"] + #[doc = "- One storage read and write to retrieve and update the bids. O(B)"] + #[doc = "- Either one unreserve balance action O(X) or one vouching storage removal. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(B + X)"] + #[doc = "# "] + 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 = "# "] + #[doc = "Key: B (len of bids), C (len of candidates), M (len of members)"] + #[doc = "- Storage Reads:"] + #[doc = "\t- One storage read to retrieve all members. O(M)"] + #[doc = "\t- One storage read to check member is not already vouching. O(1)"] + #[doc = "\t- One storage read to check for suspended candidate. O(1)"] + #[doc = "\t- One storage read to check for suspended member. O(1)"] + #[doc = "\t- One storage read to retrieve all current bids. O(B)"] + #[doc = "\t- One storage read to retrieve all current candidates. O(C)"] + #[doc = "- Storage Writes:"] + #[doc = "\t- One storage write to insert vouching status to the member. O(1)"] + #[doc = "\t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization"] + #[doc = " w/ read)"] + #[doc = "\t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)"] + #[doc = "- Notable Computation:"] + #[doc = "\t- O(log M) search to check sender is a member."] + #[doc = "\t- O(B + C + log M) search to check user is not already a part of society."] + #[doc = "\t- O(log B) search to insert the new bid sorted."] + #[doc = "- External Pallet Operations:"] + #[doc = "\t- One balance reserve operation. O(X)"] + #[doc = "\t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT."] + #[doc = "- Events:"] + #[doc = "\t- One event for vouch."] + #[doc = "\t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT."] + #[doc = ""] + #[doc = "Total Complexity: O(M + B + C + logM + logB + X)"] + #[doc = "# "] + 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 = "# "] + #[doc = "Key: B (len of bids)"] + #[doc = "- One storage read O(1) to check the signer is a vouching member."] + #[doc = "- One storage mutate to retrieve and update the bids. O(B)"] + #[doc = "- One vouching storage removal. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(B)"] + #[doc = "# "] + 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 = "# "] + #[doc = "Key: C (len of candidates), M (len of members)"] + #[doc = "- One storage read O(M) and O(log M) search to check user is a member."] + #[doc = "- One account lookup."] + #[doc = "- One storage read O(C) and O(C) search to check that user is a candidate."] + #[doc = "- One storage write to add vote to votes. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM + C)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Key: M (len of members)"] + #[doc = "- One storage read O(M) and O(log M) search to check user is a member."] + #[doc = "- One storage write to add vote to votes. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM)"] + #[doc = "# "] + 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 = "# "] + #[doc = "Key: M (len of members), P (number of payouts for a particular member)"] + #[doc = "- One storage read O(M) and O(log M) search to check signer is a member."] + #[doc = "- One storage read O(P) to get all payouts for a member."] + #[doc = "- One storage read O(1) to get the current block number."] + #[doc = "- One currency transfer call. O(X)"] + #[doc = "- One storage write or removal to update the member's payouts. O(P)"] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM + P + X)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Two storage mutates to set `Head` and `Founder`. O(1)"] + #[doc = "- One storage write to add the first member to society. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Two storage reads O(1)."] + #[doc = "- Four storage removals O(1)."] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = "# "] + 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 = "# "] + #[doc = "Key: B (len of bids), M (len of members)"] + #[doc = "- One storage read to check `who` is a suspended member. O(1)"] + #[doc = "- Up to one storage write O(M) with O(log M) binary search to add a member back to"] + #[doc = " society."] + #[doc = "- Up to 3 storage removals O(1) to clean up a removed member."] + #[doc = "- Up to one storage write O(B) with O(B) search to remove vouched bid from bids."] + #[doc = "- Up to one additional event if unvouch takes place."] + #[doc = "- One storage removal. O(1)"] + #[doc = "- One event for the judgement."] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM + B)"] + #[doc = "# "] + 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 = "# "] + #[doc = "Key: B (len of bids), M (len of members), X (balance action)"] + #[doc = "- One storage read to check `who` is a suspended candidate."] + #[doc = "- One storage removal of the suspended candidate."] + #[doc = "- Approve Logic"] + #[doc = "\t- One storage read to get the available pot to pay users with. O(1)"] + #[doc = "\t- One storage write to update the available pot. O(1)"] + #[doc = "\t- One storage read to get the current block number. O(1)"] + #[doc = "\t- One storage read to get all members. O(M)"] + #[doc = "\t- Up to one unreserve currency action."] + #[doc = "\t- Up to two new storage writes to payouts."] + #[doc = "\t- Up to one storage write with O(log M) binary search to add a member to society."] + #[doc = "- Reject Logic"] + #[doc = "\t- Up to one repatriate reserved currency action. O(X)"] + #[doc = "\t- Up to one storage write to ban the vouching member from vouching again."] + #[doc = "- Rebid Logic"] + #[doc = "\t- Storage mutate with O(log B) binary search to place the user back into bids."] + #[doc = "- Up to one additional event if unvouch takes place."] + #[doc = "- One storage removal."] + #[doc = "- One event for the judgement."] + #[doc = ""] + #[doc = "Total Complexity: O(M + logM + B + X)"] + #[doc = "# "] + 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 = "# "] + #[doc = "- One storage write to update the max. O(1)"] + #[doc = "- One event."] + #[doc = ""] + #[doc = "Total Complexity: O(1)"] + #[doc = "# "] + set_max_members { max: ::core::primitive::u32 }, + } + #[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 = "An incorrect position was provided."] + BadPosition, + #[codec(index = 1)] + #[doc = "User is not a member."] + NotMember, + #[codec(index = 2)] + #[doc = "User is already a member."] + AlreadyMember, + #[codec(index = 3)] + #[doc = "User is suspended."] + Suspended, + #[codec(index = 4)] + #[doc = "User is not suspended."] + NotSuspended, + #[codec(index = 5)] + #[doc = "Nothing to payout."] + NoPayout, + #[codec(index = 6)] + #[doc = "Society already founded."] + AlreadyFounded, + #[codec(index = 7)] + #[doc = "Not enough in pot to accept candidate."] + InsufficientPot, + #[codec(index = 8)] + #[doc = "Member is already vouching or banned from vouching again."] + AlreadyVouching, + #[codec(index = 9)] + #[doc = "Member is not vouching."] + NotVouching, + #[codec(index = 10)] + #[doc = "Cannot remove the head of the chain."] + Head, + #[codec(index = 11)] + #[doc = "Cannot remove the founder."] + Founder, + #[codec(index = 12)] + #[doc = "User has already made a bid."] + AlreadyBid, + #[codec(index = 13)] + #[doc = "User is already a candidate."] + AlreadyCandidate, + #[codec(index = 14)] + #[doc = "User is not a candidate."] + NotCandidate, + #[codec(index = 15)] + #[doc = "Too many members in the society."] + MaxMembers, + #[codec(index = 16)] + #[doc = "The caller is not the founder."] + NotFounder, + #[codec(index = 17)] + #[doc = "The caller is not the head."] + NotHead, + } + #[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 = "The society is founded by the given identity."] + Founded { + founder: ::subxt::utils::AccountId32, + }, + #[codec(index = 1)] + #[doc = "A membership bid just happened. The given account is the candidate's ID and their offer"] + #[doc = "is the second."] + Bid { + candidate_id: ::subxt::utils::AccountId32, + offer: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "A membership bid just happened by vouching. The given account is the candidate's ID and"] + #[doc = "their offer is the second. The vouching party is the third."] + Vouch { + candidate_id: ::subxt::utils::AccountId32, + offer: ::core::primitive::u128, + vouching: ::subxt::utils::AccountId32, + }, + #[codec(index = 3)] + #[doc = "A candidate was dropped (due to an excess of bids in the system)."] + AutoUnbid { + candidate: ::subxt::utils::AccountId32, + }, + #[codec(index = 4)] + #[doc = "A candidate was dropped (by their request)."] + Unbid { + candidate: ::subxt::utils::AccountId32, + }, + #[codec(index = 5)] + #[doc = "A candidate was dropped (by request of who vouched for them)."] + Unvouch { + candidate: ::subxt::utils::AccountId32, + }, + #[codec(index = 6)] + #[doc = "A group of candidates have been inducted. The batch's primary is the first value, the"] + #[doc = "batch in full is the second."] + Inducted { + primary: ::subxt::utils::AccountId32, + candidates: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 7)] + #[doc = "A suspended member has been judged."] + SuspendedMemberJudgement { + who: ::subxt::utils::AccountId32, + judged: ::core::primitive::bool, + }, + #[codec(index = 8)] + #[doc = "A candidate has been suspended"] + CandidateSuspended { + candidate: ::subxt::utils::AccountId32, + }, + #[codec(index = 9)] + #[doc = "A member has been suspended"] + MemberSuspended { member: ::subxt::utils::AccountId32 }, + #[codec(index = 10)] + #[doc = "A member has been challenged"] + Challenged { member: ::subxt::utils::AccountId32 }, + #[codec(index = 11)] + #[doc = "A vote has been placed"] + Vote { + candidate: ::subxt::utils::AccountId32, + voter: ::subxt::utils::AccountId32, + vote: ::core::primitive::bool, + }, + #[codec(index = 12)] + #[doc = "A vote has been placed for a defending member"] + DefenderVote { + voter: ::subxt::utils::AccountId32, + vote: ::core::primitive::bool, + }, + #[codec(index = 13)] + #[doc = "A new \\[max\\] member count has been set"] + NewMaxMembers { max: ::core::primitive::u32 }, + #[codec(index = 14)] + #[doc = "Society is unfounded."] + Unfounded { + founder: ::subxt::utils::AccountId32, + }, + #[codec(index = 15)] + #[doc = "Some funds were deposited into the society account."] + Deposit { value: ::core::primitive::u128 }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Bid<_0, _1> { + pub who: _0, + pub kind: runtime_types::pallet_society::BidKind<_0, _1>, + pub value: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum BidKind<_0, _1> { + #[codec(index = 0)] + Deposit(_1), + #[codec(index = 1)] + Vouch(_0, _1), + } + #[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, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Vote { + #[codec(index = 0)] + Skeptic, + #[codec(index = 1)] + Reject, + #[codec(index = 2)] + Approve, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum VouchingStatus { + #[codec(index = 0)] + Vouching, + #[codec(index = 1)] + Banned, + } + } + 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 = "# "] + #[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."] + #[doc = "------------------"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- O(1)."] + #[doc = "# "] + 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 = "# "] + #[doc = "Complexity O(S) where S is the number of slashing spans to remove"] + #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] + #[doc = "# "] + 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 = "# "] + #[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."] + #[doc = "# "] + 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 = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains one read."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "# "] + 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 = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "---------"] + #[doc = "- Weight: O(1)"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Ledger"] + #[doc = " - Write: Payee"] + #[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 = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "----------"] + #[doc = "Weight: O(1)"] + #[doc = "DB Weight:"] + #[doc = "- Read: Bonded, Ledger New Controller, Ledger Old Controller"] + #[doc = "- Write: Bonded, Ledger New Controller, Ledger Old Controller"] + #[doc = "# "] + 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 = "# "] + #[doc = "Weight: O(1)"] + #[doc = "Write: Validator Count"] + #[doc = "# "] + 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 = "# "] + #[doc = "Same as [`Self::set_validator_count`]."] + #[doc = "# "] + 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 = "# "] + #[doc = "Same as [`Self::set_validator_count`]."] + #[doc = "# "] + 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 = "# "] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + #[doc = "- Write: ForceEra"] + #[doc = "# "] + 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 = "# "] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + #[doc = "- Write ForceEra"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Time complexity: at most O(MaxNominatorRewardedPerValidator)."] + #[doc = "- Contains a limited number of reads and writes."] + #[doc = "-----------"] + #[doc = "N is the Number of payouts for the validator (including the validator)"] + #[doc = "Weight:"] + #[doc = "- Reward Destination Staked: O(N)"] + #[doc = "- Reward Destination Controller (Creating): O(N)"] + #[doc = ""] + #[doc = " NOTE: weights are assuming that payouts are made to alive stash account (Staked)."] + #[doc = " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here."] + #[doc = "# "] + 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 = "# "] + #[doc = "- Time complexity: O(L), where L is unlocking chunks"] + #[doc = "- Bounded by `MaxUnlockingChunks`."] + #[doc = "- Storage changes: Can't increase storage, only decrease it."] + #[doc = "# "] + 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, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Not a controller account."] + NotController, + #[codec(index = 1)] + #[doc = "Not a stash account."] + NotStash, + #[codec(index = 2)] + #[doc = "Stash is already bonded."] + AlreadyBonded, + #[codec(index = 3)] + #[doc = "Controller is already paired."] + AlreadyPaired, + #[codec(index = 4)] + #[doc = "Targets cannot be empty."] + EmptyTargets, + #[codec(index = 5)] + #[doc = "Duplicate index."] + DuplicateIndex, + #[codec(index = 6)] + #[doc = "Slash record index out of bounds."] + InvalidSlashIndex, + #[codec(index = 7)] + #[doc = "Cannot have a validator or nominator role, with value less than the minimum defined by"] + #[doc = "governance (see `MinValidatorBond` and `MinNominatorBond`). If unbonding is the"] + #[doc = "intention, `chill` first to remove one's role as validator/nominator."] + InsufficientBond, + #[codec(index = 8)] + #[doc = "Can not schedule more unlock chunks."] + NoMoreChunks, + #[codec(index = 9)] + #[doc = "Can not rebond without unlocking chunks."] + NoUnlockChunk, + #[codec(index = 10)] + #[doc = "Attempting to target a stash that still has funds."] + FundedTarget, + #[codec(index = 11)] + #[doc = "Invalid era to reward."] + InvalidEraToReward, + #[codec(index = 12)] + #[doc = "Invalid number of nominations."] + InvalidNumberOfNominations, + #[codec(index = 13)] + #[doc = "Items are not sorted and unique."] + NotSortedAndUnique, + #[codec(index = 14)] + #[doc = "Rewards for this era have already been claimed for this validator."] + AlreadyClaimed, + #[codec(index = 15)] + #[doc = "Incorrect previous history depth input provided."] + IncorrectHistoryDepth, + #[codec(index = 16)] + #[doc = "Incorrect number of slashing spans provided."] + IncorrectSlashingSpans, + #[codec(index = 17)] + #[doc = "Internal state has become somehow corrupted and the operation cannot continue."] + BadState, + #[codec(index = 18)] + #[doc = "Too many nomination targets supplied."] + TooManyTargets, + #[codec(index = 19)] + #[doc = "A nomination target was supplied that was blocked or otherwise not a validator."] + BadTarget, + #[codec(index = 20)] + #[doc = "The user has enough bond and thus cannot be chilled forcefully by an external person."] + CannotChillOther, + #[codec(index = 21)] + #[doc = "There are too many nominators in the system. Governance needs to adjust the staking"] + #[doc = "settings to keep things safe for the runtime."] + TooManyNominators, + #[codec(index = 22)] + #[doc = "There are too many validator candidates in the system. Governance needs to adjust the"] + #[doc = "staking settings to keep things safe for the runtime."] + TooManyValidators, + #[codec(index = 23)] + #[doc = "Commission is too low. Must be at least `MinCommission`."] + CommissionTooLow, + #[codec(index = 24)] + #[doc = "Some bound is not met."] + BoundNotMet, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "The era payout has been set; the first balance is the validator-payout; the second is"] + #[doc = "the remainder from the maximum amount of reward."] + EraPaid { + era_index: ::core::primitive::u32, + validator_payout: ::core::primitive::u128, + remainder: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "The nominator has been rewarded by this amount."] + Rewarded { + stash: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "A staker (validator or nominator) has been slashed by the given amount."] + Slashed { + staker: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] + #[doc = "era as been reported."] + SlashReported { + validator: ::subxt::utils::AccountId32, + fraction: runtime_types::sp_arithmetic::per_things::Perbill, + slash_era: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "An old slashing report from a prior era was discarded because it could"] + #[doc = "not be processed."] + OldSlashingReportDiscarded { + session_index: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "A new set of stakers was elected."] + StakersElected, + #[codec(index = 6)] + #[doc = "An account has bonded this amount. \\[stash, amount\\]"] + #[doc = ""] + #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] + #[doc = "it will not be emitted for staking rewards when they are added to stake."] + Bonded { + stash: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 7)] + #[doc = "An account has unbonded this amount."] + Unbonded { + stash: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] + #[doc = "from the unlocking queue."] + Withdrawn { + stash: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "A nominator has been kicked from a validator."] + Kicked { + nominator: ::subxt::utils::AccountId32, + stash: ::subxt::utils::AccountId32, + }, + #[codec(index = 10)] + #[doc = "The election failed. No new era is planned."] + StakingElectionFailed, + #[codec(index = 11)] + #[doc = "An account has stopped participating as either a validator or nominator."] + Chilled { stash: ::subxt::utils::AccountId32 }, + #[codec(index = 12)] + #[doc = "The stakers' rewards are getting paid."] + PayoutStarted { + era_index: ::core::primitive::u32, + validator_stash: ::subxt::utils::AccountId32, + }, + #[codec(index = 13)] + #[doc = "A validator has set their preferences."] + ValidatorPrefsSet { + stash: ::subxt::utils::AccountId32, + prefs: runtime_types::pallet_staking::ValidatorPrefs, + }, + #[codec(index = 14)] + #[doc = "A new force era mode was set."] + ForceEra { + mode: runtime_types::pallet_staking::Forcing, + }, + } + } + } + pub mod slashing { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SlashingSpans { + pub span_index: ::core::primitive::u32, + pub last_start: ::core::primitive::u32, + pub last_nonzero_slash: ::core::primitive::u32, + pub prior: ::std::vec::Vec<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SpanRecord<_0> { + pub slashed: _0, + pub paid_out: _0, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ActiveEraInfo { + pub index: ::core::primitive::u32, + pub start: ::core::option::Option<::core::primitive::u64>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct EraRewardPoints<_0> { + pub total: ::core::primitive::u32, + pub individual: ::subxt::utils::KeyedVec<_0, ::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Exposure<_0, _1> { + #[codec(compact)] + pub total: _1, + #[codec(compact)] + pub own: _1, + pub others: ::std::vec::Vec< + runtime_types::pallet_staking::IndividualExposure<_0, _1>, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Forcing { + #[codec(index = 0)] + NotForcing, + #[codec(index = 1)] + ForceNew, + #[codec(index = 2)] + ForceNone, + #[codec(index = 3)] + ForceAlways, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct IndividualExposure<_0, _1> { + pub who: _0, + #[codec(compact)] + pub value: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Nominations { + pub targets: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + pub submitted_in: ::core::primitive::u32, + pub suppressed: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 StakingLedger { + pub stash: ::subxt::utils::AccountId32, + #[codec(compact)] + pub total: ::core::primitive::u128, + #[codec(compact)] + pub active: ::core::primitive::u128, + pub unlocking: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>, + >, + pub claimed_rewards: + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UnappliedSlash<_0, _1> { + pub validator: _0, + pub own: _1, + pub others: ::std::vec::Vec<(_0, _1)>, + pub reporters: ::std::vec::Vec<_0>, + pub payout: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UnlockChunk<_0> { + #[codec(compact)] + pub value: _0, + #[codec(compact)] + pub era: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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, + )] + #[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 = "Max signed limits not respected."] + MaxSignedLimits, + #[codec(index = 1)] + #[doc = "A key was longer than the configured maximum."] + #[doc = ""] + #[doc = "This means that the migration halted at the current [`Progress`] and"] + #[doc = "can be resumed with a larger [`crate::Config::MaxKeyLen`] value."] + #[doc = "Retrying with the same [`crate::Config::MaxKeyLen`] value will not work."] + #[doc = "The value should only be increased to avoid a storage migration for the currently"] + #[doc = "stored [`crate::Progress::LastKey`]."] + KeyTooLong, + #[codec(index = 2)] + #[doc = "submitter does not have enough funds."] + NotEnoughFunds, + #[codec(index = 3)] + #[doc = "Bad witness data provided."] + BadWitness, + #[codec(index = 4)] + #[doc = "Signed migration is not allowed because the maximum limit is not set yet."] + SignedMigrationNotAllowed, + #[codec(index = 5)] + #[doc = "Bad child root provided."] + BadChildRoot, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Inner events of this pallet."] + pub enum Event { + # [codec (index = 0)] # [doc = "Given number of `(top, child)` keys were migrated respectively, with the given"] # [doc = "`compute`."] Migrated { top : :: core :: primitive :: u32 , child : :: core :: primitive :: u32 , compute : runtime_types :: pallet_state_trie_migration :: pallet :: MigrationCompute , } , # [codec (index = 1)] # [doc = "Some account got slashed by the given amount."] Slashed { who : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [codec (index = 2)] # [doc = "The auto migration task finished."] AutoMigrationFinished , # [codec (index = 3)] # [doc = "Migration got halted due to an error or miss-configuration."] Halted { error : runtime_types :: pallet_state_trie_migration :: pallet :: Error , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum MigrationCompute { + #[codec(index = 0)] + Signed, + #[codec(index = 1)] + Auto, + } + #[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::sp_core::bounded::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 = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + 10,000."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "- The weight of this call is defined by the caller."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB change."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + 10,000."] + #[doc = "# "] + sudo_as { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Error for the Sudo pallet"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Sender must be the Sudo account"] + RequireSudo, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "A sudo just took place. \\[result\\]"] + Sudid { + sudo_result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + #[codec(index = 1)] + #[doc = "The \\[sudoer\\] just switched identity; the old key is supplied if one existed."] + KeyChanged { + old_sudoer: ::core::option::Option<::subxt::utils::AccountId32>, + }, + #[codec(index = 2)] + #[doc = "A sudo just took place. \\[result\\]"] + SudoAsDone { + sudo_result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + } + } + } + pub mod pallet_timestamp { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "# "] + #[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)`."] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: `O(R)` where `R` length of `reason`."] + #[doc = " - encoding and hashing of 'reason'"] + #[doc = "- DbReads: `Reasons`, `Tips`"] + #[doc = "- DbWrites: `Reasons`, `Tips`"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: `O(1)`"] + #[doc = " - Depends on the length of `T::Hash` which is fixed."] + #[doc = "- DbReads: `Tips`, `origin account`"] + #[doc = "- DbWrites: `Reasons`, `Tips`, `origin account`"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: `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`"] + #[doc = "- DbReads: `Tippers`, `Reasons`"] + #[doc = "- DbWrites: `Reasons`, `Tips`"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] + #[doc = " `T`, insert tip and check closing, `T` is charged as upper bound given by"] + #[doc = " `ContainsLengthBound`. 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`."] + #[doc = "- DbReads: `Tippers`, `Tips`"] + #[doc = "- DbWrites: `Tips`"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] + #[doc = " `T`. `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost"] + #[doc = " depends on the implementation of `T::Tippers`."] + #[doc = "- DbReads: `Tips`, `Tippers`, `tip finder`"] + #[doc = "- DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`"] + #[doc = "# "] + 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 = "# "] + #[doc = " `T` is charged as upper bound given by `ContainsLengthBound`."] + #[doc = " The actual cost depends on the implementation of `T::Tippers`."] + #[doc = "# "] + slash_tip { hash: ::subxt::utils::H256 }, + } + #[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 = "The reason given is just too big."] + ReasonTooBig, + #[codec(index = 1)] + #[doc = "The tip was already found/started."] + AlreadyKnown, + #[codec(index = 2)] + #[doc = "The tip hash is unknown."] + UnknownTip, + #[codec(index = 3)] + #[doc = "The account attempting to retract the tip is not the finder of the tip."] + NotFinder, + #[codec(index = 4)] + #[doc = "The tip cannot be claimed/closed because there are not enough tippers yet."] + StillOpen, + #[codec(index = 5)] + #[doc = "The tip cannot be claimed/closed because it's still in the countdown period."] + Premature, + } + #[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 = "A new tip suggestion has been opened."] + NewTip { tip_hash: ::subxt::utils::H256 }, + #[codec(index = 1)] + #[doc = "A tip suggestion has reached threshold and is closing."] + TipClosing { tip_hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + #[doc = "A tip suggestion has been closed."] + TipClosed { + tip_hash: ::subxt::utils::H256, + who: ::subxt::utils::AccountId32, + payout: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A tip suggestion has been retracted."] + TipRetracted { tip_hash: ::subxt::utils::H256 }, + #[codec(index = 4)] + #[doc = "A tip suggestion has been slashed."] + TipSlashed { + tip_hash: ::subxt::utils::H256, + finder: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OpenTip<_0, _1, _2, _3> { + pub reason: _3, + pub who: _0, + pub finder: _0, + pub deposit: _1, + pub closes: ::core::option::Option<_2>, + pub tips: ::std::vec::Vec<(_0, _1)>, + pub finders_fee: ::core::primitive::bool, + } + } + pub mod pallet_transaction_payment { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who`."] + TransactionFeePaid { + who: ::subxt::utils::AccountId32, + actual_fee: ::core::primitive::u128, + tip: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct FeeDetails<_0> { + pub inclusion_fee: ::core::option::Option< + runtime_types::pallet_transaction_payment::types::InclusionFee< + _0, + >, + >, + pub tip: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct InclusionFee<_0> { + pub base_fee: _0, + pub len_fee: _0, + pub adjusted_weight_fee: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RuntimeDispatchInfo<_0, _1> { + pub weight: _1, + pub class: runtime_types::frame_support::dispatch::DispatchClass, + pub partial_fee: _0, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Releases { + #[codec(index = 0)] + V1Ancient, + #[codec(index = 1)] + V2, + } + } + 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 = "- n*log(n) of data size, as all data is pushed to an in-memory trie."] # [doc = "Additionally contains a DB write."] # [doc = "# "] 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 = "# "] # [doc = "- Constant."] # [doc = "# "] 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 = "# "] # [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."] # [doc = "Here we assume a maximum of 100 probed transactions."] # [doc = "# "] check_proof { proof : runtime_types :: sp_transaction_storage_proof :: TransactionStorageProof , } , } + #[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 = "Insufficient account balance."] + InsufficientFunds, + #[codec(index = 1)] + #[doc = "Invalid configuration."] + NotConfigured, + #[codec(index = 2)] + #[doc = "Renewed extrinsic is not found."] + RenewedNotFound, + #[codec(index = 3)] + #[doc = "Attempting to store empty transaction"] + EmptyTransaction, + #[codec(index = 4)] + #[doc = "Proof was not expected in this block."] + UnexpectedProof, + #[codec(index = 5)] + #[doc = "Proof failed verification."] + InvalidProof, + #[codec(index = 6)] + #[doc = "Missing storage proof."] + MissingProof, + #[codec(index = 7)] + #[doc = "Unable to verify proof becasue state data is missing."] + MissingStateData, + #[codec(index = 8)] + #[doc = "Double proof check in the block."] + DoubleCheck, + #[codec(index = 9)] + #[doc = "Storage proof was not checked in the block."] + ProofNotChecked, + #[codec(index = 10)] + #[doc = "Transaction is too large."] + TransactionTooLarge, + #[codec(index = 11)] + #[doc = "Too many transactions in the block."] + TooManyTransactions, + #[codec(index = 12)] + #[doc = "Attempted to call `store` outside of block execution."] + BadContext, + } + #[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 = "Stored data under specified index."] + Stored { index: ::core::primitive::u32 }, + #[codec(index = 1)] + #[doc = "Renewed data under specified index."] + Renewed { index: ::core::primitive::u32 }, + #[codec(index = 2)] + #[doc = "Storage proof was successfully checked."] + ProofChecked, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransactionInfo { + pub chunk_root: ::subxt::utils::H256, + pub content_hash: ::subxt::utils::H256, + pub size: ::core::primitive::u32, + pub block_chunks: ::core::primitive::u32, + } + } + 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 = "# "] + #[doc = "- Complexity: O(1)"] + #[doc = "- DbReads: `ProposalCount`, `origin account`"] + #[doc = "- DbWrites: `ProposalCount`, `Proposals`, `origin account`"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: O(1)"] + #[doc = "- DbReads: `Proposals`, `rejected proposer account`"] + #[doc = "- DbWrites: `Proposals`, `rejected proposer account`"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: O(1)."] + #[doc = "- DbReads: `Proposals`, `Approvals`"] + #[doc = "- DbWrite: `Approvals`"] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: O(A) where `A` is the number of approvals"] + #[doc = "- Db reads and writes: `Approvals`"] + #[doc = "# "] + #[doc = ""] + #[doc = "Errors:"] + #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] + #[doc = "i.e., the proposal has not been approved. This could also mean the proposal does not"] + #[doc = "exist altogether, thus there is no way it would have been approved in the first place."] + remove_approval { + #[codec(compact)] + proposal_id: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Error for the treasury pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Proposer's balance is too low."] + InsufficientProposersBalance, + #[codec(index = 1)] + #[doc = "No proposal or bounty at that index."] + InvalidIndex, + #[codec(index = 2)] + #[doc = "Too many approvals in the queue."] + TooManyApprovals, + #[codec(index = 3)] + #[doc = "The spend origin is valid but the amount it is allowed to spend is lower than the"] + #[doc = "amount to be spent."] + InsufficientPermission, + #[codec(index = 4)] + #[doc = "Proposal has not been approved."] + ProposalNotApproved, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 = "New proposal."] + Proposed { + proposal_index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "We have ended a spend period and will now allocate funds."] + Spending { + budget_remaining: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Some funds have been allocated."] + Awarded { + proposal_index: ::core::primitive::u32, + award: ::core::primitive::u128, + account: ::subxt::utils::AccountId32, + }, + #[codec(index = 3)] + #[doc = "A proposal was rejected; funds were slashed."] + Rejected { + proposal_index: ::core::primitive::u32, + slashed: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Some of our funds have been burnt."] + Burnt { + burnt_funds: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Spending has finished; this is the amount that rolls over until next spend."] + Rollover { + rollover_balance: ::core::primitive::u128, + }, + #[codec(index = 6)] + #[doc = "Some funds have been deposited."] + Deposit { value: ::core::primitive::u128 }, + #[codec(index = 7)] + #[doc = "A new spend proposal has been approved."] + SpendApproved { + proposal_index: ::core::primitive::u32, + amount: ::core::primitive::u128, + beneficiary: ::subxt::utils::AccountId32, + }, + #[codec(index = 8)] + #[doc = "The inactive funds of the pallet have been updated."] + UpdatedInactive { + reactivated: ::core::primitive::u128, + deactivated: ::core::primitive::u128, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Proposal<_0, _1> { + pub proposer: _0, + pub value: _1, + pub beneficiary: _0, + pub bond: _1, + } + } + 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::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + value: runtime_types::sp_core::bounded::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::sp_core::bounded::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::sp_core::bounded::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::sp_core::bounded::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, + }, + } + #[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 = "The signing account has no permission to do the operation."] + NoPermission, + #[codec(index = 1)] + #[doc = "The given item ID is unknown."] + UnknownCollection, + #[codec(index = 2)] + #[doc = "The item ID has already been used for an item."] + AlreadyExists, + #[codec(index = 3)] + #[doc = "The owner turned out to be different to what was expected."] + WrongOwner, + #[codec(index = 4)] + #[doc = "Invalid witness data given."] + BadWitness, + #[codec(index = 5)] + #[doc = "The item ID is already taken."] + InUse, + #[codec(index = 6)] + #[doc = "The item or collection is frozen."] + Frozen, + #[codec(index = 7)] + #[doc = "The delegate turned out to be different to what was expected."] + WrongDelegate, + #[codec(index = 8)] + #[doc = "There is no delegate approved."] + NoDelegate, + #[codec(index = 9)] + #[doc = "No approval exists that would allow the transfer."] + Unapproved, + #[codec(index = 10)] + #[doc = "The named owner has not signed ownership of the collection is acceptable."] + Unaccepted, + #[codec(index = 11)] + #[doc = "The item is locked."] + Locked, + #[codec(index = 12)] + #[doc = "All items have been minted."] + MaxSupplyReached, + #[codec(index = 13)] + #[doc = "The max supply has already been set."] + MaxSupplyAlreadySet, + #[codec(index = 14)] + #[doc = "The provided max supply is less to the amount of items a collection already has."] + MaxSupplyTooSmall, + #[codec(index = 15)] + #[doc = "The given item ID is unknown."] + UnknownItem, + #[codec(index = 16)] + #[doc = "Item is not for sale."] + NotForSale, + #[codec(index = 17)] + #[doc = "The provided bid is too low."] + BidTooLow, + } + #[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 = "A `collection` was created."] + Created { + collection: ::core::primitive::u32, + creator: ::subxt::utils::AccountId32, + owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 1)] + #[doc = "A `collection` was force-created."] + ForceCreated { + collection: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 2)] + #[doc = "A `collection` was destroyed."] + Destroyed { collection: ::core::primitive::u32 }, + #[codec(index = 3)] + #[doc = "An `item` was issued."] + Issued { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 4)] + #[doc = "An `item` was transferred."] + Transferred { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + from: ::subxt::utils::AccountId32, + to: ::subxt::utils::AccountId32, + }, + #[codec(index = 5)] + #[doc = "An `item` was destroyed."] + Burned { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 6)] + #[doc = "Some `item` was frozen."] + Frozen { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "Some `item` was thawed."] + Thawed { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "Some `collection` was frozen."] + CollectionFrozen { collection: ::core::primitive::u32 }, + #[codec(index = 9)] + #[doc = "Some `collection` was thawed."] + CollectionThawed { collection: ::core::primitive::u32 }, + #[codec(index = 10)] + #[doc = "The owner changed."] + OwnerChanged { + collection: ::core::primitive::u32, + new_owner: ::subxt::utils::AccountId32, + }, + #[codec(index = 11)] + #[doc = "The management team changed."] + TeamChanged { + collection: ::core::primitive::u32, + issuer: ::subxt::utils::AccountId32, + admin: ::subxt::utils::AccountId32, + freezer: ::subxt::utils::AccountId32, + }, + #[codec(index = 12)] + #[doc = "An `item` of a `collection` has been approved by the `owner` for transfer by"] + #[doc = "a `delegate`."] + ApprovedTransfer { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + delegate: ::subxt::utils::AccountId32, + }, + #[codec(index = 13)] + #[doc = "An approval for a `delegate` account to transfer the `item` of an item"] + #[doc = "`collection` was cancelled by its `owner`."] + ApprovalCancelled { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + owner: ::subxt::utils::AccountId32, + delegate: ::subxt::utils::AccountId32, + }, + #[codec(index = 14)] + #[doc = "A `collection` has had its attributes changed by the `Force` origin."] + ItemStatusChanged { collection: ::core::primitive::u32 }, + #[codec(index = 15)] + #[doc = "New metadata has been set for a `collection`."] + CollectionMetadataSet { + collection: ::core::primitive::u32, + data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 16)] + #[doc = "Metadata has been cleared for a `collection`."] + CollectionMetadataCleared { collection: ::core::primitive::u32 }, + #[codec(index = 17)] + #[doc = "New metadata has been set for an item."] + MetadataSet { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 18)] + #[doc = "Metadata has been cleared for an item."] + MetadataCleared { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 19)] + #[doc = "Metadata has been cleared for an item."] + Redeposited { + collection: ::core::primitive::u32, + successful_items: ::std::vec::Vec<::core::primitive::u32>, + }, + #[codec(index = 20)] + #[doc = "New attribute metadata has been set for a `collection` or `item`."] + AttributeSet { + collection: ::core::primitive::u32, + maybe_item: ::core::option::Option<::core::primitive::u32>, + key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + value: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + }, + #[codec(index = 21)] + #[doc = "Attribute metadata has been cleared for a `collection` or `item`."] + AttributeCleared { + collection: ::core::primitive::u32, + maybe_item: ::core::option::Option<::core::primitive::u32>, + key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + }, + #[codec(index = 22)] + #[doc = "Ownership acceptance has changed for an account."] + OwnershipAcceptanceChanged { + who: ::subxt::utils::AccountId32, + maybe_collection: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 23)] + #[doc = "Max supply has been set for a collection."] + CollectionMaxSupplySet { + collection: ::core::primitive::u32, + max_supply: ::core::primitive::u32, + }, + #[codec(index = 24)] + #[doc = "The price was set for the instance."] + ItemPriceSet { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + price: ::core::primitive::u128, + whitelisted_buyer: + ::core::option::Option<::subxt::utils::AccountId32>, + }, + #[codec(index = 25)] + #[doc = "The price for the instance was removed."] + ItemPriceRemoved { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 26)] + #[doc = "An item was bought."] + ItemBought { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + price: ::core::primitive::u128, + seller: ::subxt::utils::AccountId32, + buyer: ::subxt::utils::AccountId32, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CollectionDetails<_0, _1> { + pub owner: _0, + pub issuer: _0, + pub admin: _0, + pub freezer: _0, + pub total_deposit: _1, + pub free_holding: ::core::primitive::bool, + pub items: ::core::primitive::u32, + pub item_metadatas: ::core::primitive::u32, + pub attributes: ::core::primitive::u32, + pub is_frozen: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CollectionMetadata<_0> { + pub deposit: _0, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub is_frozen: ::core::primitive::bool, + } + #[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 ItemDetails<_0, _1> { + pub owner: _0, + pub approved: ::core::option::Option<_0>, + pub is_frozen: ::core::primitive::bool, + pub deposit: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ItemMetadata<_0> { + pub deposit: _0, + pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub is_frozen: ::core::primitive::bool, + } + } + } + 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 = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + #[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 = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + 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 = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as()."] + #[doc = "# "] + 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 = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + 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, + }, + } + #[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 = "Too many calls batched."] + TooManyCalls, + } + #[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 = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] + #[doc = "well as the error."] + BatchInterrupted { + index: ::core::primitive::u32, + error: runtime_types::sp_runtime::DispatchError, + }, + #[codec(index = 1)] + #[doc = "Batch of dispatches completed fully with no error."] + BatchCompleted, + #[codec(index = 2)] + #[doc = "Batch of dispatches completed but has errors."] + BatchCompletedWithErrors, + #[codec(index = 3)] + #[doc = "A single item within a Batch of dispatches has completed with no error."] + ItemCompleted, + #[codec(index = 4)] + #[doc = "A single item within a Batch of dispatches has completed with error."] + ItemFailed { + error: runtime_types::sp_runtime::DispatchError, + }, + #[codec(index = 5)] + #[doc = "A call was dispatched."] + DispatchedAs { + result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + } + } + } + pub mod pallet_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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 2 Reads, 2 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, [Sender Account]"] + #[doc = " - Writes: Vesting Storage, Balances Locks, [Sender Account]"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 3 Reads, 3 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 3 Reads, 3 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] + #[doc = "# "] + 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 = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 4 Reads, 4 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account"] + #[doc = "# "] + 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, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Error for the vesting pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "The account given is not vesting."] + NotVesting, + #[codec(index = 1)] + #[doc = "The account already has `MaxVestingSchedules` count of schedules and thus"] + #[doc = "cannot add another one. Consider merging existing schedules in order to add another."] + AtMaxVestingSchedules, + #[codec(index = 2)] + #[doc = "Amount being transferred is too low to create a vesting schedule."] + AmountLow, + #[codec(index = 3)] + #[doc = "An index was out of bounds of the vesting schedules."] + ScheduleIndexOutOfBounds, + #[codec(index = 4)] + #[doc = "Failed to create a new schedule because some parameter was invalid."] + InvalidScheduleParams, + } + #[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 = "The amount vested has been updated. This could indicate a change in funds available."] + #[doc = "The balance given is the amount which is left unvested (and thus locked)."] + VestingUpdated { + account: ::subxt::utils::AccountId32, + unvested: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "An \\[account\\] has become fully vested."] + VestingCompleted { + account: ::subxt::utils::AccountId32, + }, + } + } + 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, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Releases { + #[codec(index = 0)] + V0, + #[codec(index = 1)] + V1, + } + } + 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, + >, + }, + } + #[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 = "The preimage of the call hash could not be loaded."] + UnavailablePreImage, + #[codec(index = 1)] + #[doc = "The call could not be decoded."] + UndecodableCall, + #[codec(index = 2)] + #[doc = "The weight of the decoded call was higher than the witness."] + InvalidCallWeightWitness, + #[codec(index = 3)] + #[doc = "The call was not whitelisted."] + CallIsNotWhitelisted, + #[codec(index = 4)] + #[doc = "The call was already whitelisted; No-Op."] + CallAlreadyWhitelisted, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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)] + CallWhitelisted { call_hash: ::subxt::utils::H256 }, + #[codec(index = 1)] + WhitelistedCallRemoved { call_hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + WhitelistedCallDispatched { + call_hash: ::subxt::utils::H256, + result: ::core::result::Result< + runtime_types::frame_support::dispatch::PostDispatchInfo, + runtime_types::sp_runtime::DispatchErrorWithPostInfo< + runtime_types::frame_support::dispatch::PostDispatchInfo, + >, + >, + }, + } + } + } + pub mod sp_arithmetic { + use super::runtime_types; + pub mod fixed_point { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct FixedI64(pub ::core::primitive::i64); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct FixedU128(pub ::core::primitive::u128); + } + pub mod per_things { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 Permill(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Perquintill(pub ::core::primitive::u64); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ArithmeticError { + #[codec(index = 0)] + Underflow, + #[codec(index = 1)] + Overflow, + #[codec(index = 2)] + DivisionByZero, + } + } + pub mod sp_authority_discovery { + use super::runtime_types; + pub mod app { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 PreDigest { + # [codec (index = 1)] Primary (runtime_types :: sp_consensus_babe :: digests :: PrimaryPreDigest ,) , # [codec (index = 2)] SecondaryPlain (runtime_types :: sp_consensus_babe :: digests :: SecondaryPlainPreDigest ,) , # [codec (index = 3)] SecondaryVRF (runtime_types :: sp_consensus_babe :: digests :: SecondaryVRFPreDigest ,) , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PrimaryPreDigest { + pub authority_index: ::core::primitive::u32, + pub slot: runtime_types::sp_consensus_slots::Slot, + pub vrf_output: [::core::primitive::u8; 32usize], + pub vrf_proof: [::core::primitive::u8; 64usize], + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SecondaryPlainPreDigest { + pub authority_index: ::core::primitive::u32, + pub slot: runtime_types::sp_consensus_slots::Slot, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SecondaryVRFPreDigest { + pub authority_index: ::core::primitive::u32, + pub slot: runtime_types::sp_consensus_slots::Slot, + pub vrf_output: [::core::primitive::u8; 32usize], + pub vrf_proof: [::core::primitive::u8; 64usize], + } + } + #[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, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BabeConfiguration { + pub slot_duration: ::core::primitive::u64, + pub epoch_length: ::core::primitive::u64, + pub c: (::core::primitive::u64, ::core::primitive::u64), + pub authorities: ::std::vec::Vec<( + runtime_types::sp_consensus_babe::app::Public, + ::core::primitive::u64, + )>, + pub randomness: [::core::primitive::u8; 32usize], + pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BabeEpochConfiguration { + pub c: (::core::primitive::u64, ::core::primitive::u64), + pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Epoch { + pub epoch_index: ::core::primitive::u64, + pub start_slot: runtime_types::sp_consensus_slots::Slot, + pub duration: ::core::primitive::u64, + pub authorities: ::std::vec::Vec<( + runtime_types::sp_consensus_babe::app::Public, + ::core::primitive::u64, + )>, + pub randomness: [::core::primitive::u8; 32usize], + pub config: runtime_types::sp_consensus_babe::BabeEpochConfiguration, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OpaqueKeyOwnershipProof( + pub ::std::vec::Vec<::core::primitive::u8>, + ); + } + 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 bounded { + use super::runtime_types; + pub mod bounded_btree_map { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BoundedBTreeMap<_0, _1>( + pub ::subxt::utils::KeyedVec<_0, _1>, + ); + } + pub mod bounded_btree_set { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BoundedBTreeSet<_0>(pub ::std::vec::Vec<_0>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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 crypto { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]); + } + 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 OpaqueMetadata(pub ::std::vec::Vec<::core::primitive::u8>); + #[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_finality_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_finality_grandpa::app::Public, + runtime_types::finality_grandpa::Prevote<_0, _1>, + runtime_types::sp_finality_grandpa::app::Signature, + >, + ), + #[codec(index = 1)] + Precommit( + runtime_types::finality_grandpa::Equivocation< + runtime_types::sp_finality_grandpa::app::Public, + runtime_types::finality_grandpa::Precommit<_0, _1>, + runtime_types::sp_finality_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_finality_grandpa::Equivocation<_0, _1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OpaqueKeyOwnershipProof( + pub ::std::vec::Vec<::core::primitive::u8>, + ); + } + pub mod sp_inherents { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CheckInherentsResult { + pub okay: ::core::primitive::bool, + pub fatal_error: ::core::primitive::bool, + pub errors: runtime_types::sp_inherents::InherentData, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct InherentData { + pub data: ::subxt::utils::KeyedVec< + [::core::primitive::u8; 8usize], + ::std::vec::Vec<::core::primitive::u8>, + >, + } + } + pub mod sp_mmr_primitives { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct EncodableOpaqueLeaf(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Error { + #[codec(index = 0)] + InvalidNumericOp, + #[codec(index = 1)] + Push, + #[codec(index = 2)] + GetRoot, + #[codec(index = 3)] + Commit, + #[codec(index = 4)] + GenerateProof, + #[codec(index = 5)] + Verify, + #[codec(index = 6)] + LeafNotFound, + #[codec(index = 7)] + PalletNotIncluded, + #[codec(index = 8)] + InvalidLeafIndex, + #[codec(index = 9)] + InvalidBestKnownBlock, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Proof<_0> { + pub leaf_indices: ::std::vec::Vec<::core::primitive::u64>, + pub leaf_count: ::core::primitive::u64, + pub items: ::std::vec::Vec<_0>, + } + } + 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 block { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Block<_0, _1> { + pub header: _0, + pub extrinsics: ::std::vec::Vec<_1>, + } + } + 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; + } + pub mod transaction_validity { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum InvalidTransaction { + #[codec(index = 0)] + Call, + #[codec(index = 1)] + Payment, + #[codec(index = 2)] + Future, + #[codec(index = 3)] + Stale, + #[codec(index = 4)] + BadProof, + #[codec(index = 5)] + AncientBirthBlock, + #[codec(index = 6)] + ExhaustsResources, + #[codec(index = 7)] + Custom(::core::primitive::u8), + #[codec(index = 8)] + BadMandatory, + #[codec(index = 9)] + MandatoryValidation, + #[codec(index = 10)] + BadSigner, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum TransactionSource { + #[codec(index = 0)] + InBlock, + #[codec(index = 1)] + Local, + #[codec(index = 2)] + External, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum TransactionValidityError { + # [codec (index = 0)] Invalid (runtime_types :: sp_runtime :: transaction_validity :: InvalidTransaction ,) , # [codec (index = 1)] Unknown (runtime_types :: sp_runtime :: transaction_validity :: UnknownTransaction ,) , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum UnknownTransaction { + #[codec(index = 0)] + CannotLookup, + #[codec(index = 1)] + NoUnsignedValidator, + #[codec(index = 2)] + Custom(::core::primitive::u8), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ValidTransaction { + pub priority: ::core::primitive::u64, + pub requires: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + pub provides: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + pub longevity: ::core::primitive::u64, + pub propagate: ::core::primitive::bool, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum DispatchError { + #[codec(index = 0)] + Other, + #[codec(index = 1)] + CannotLookup, + #[codec(index = 2)] + BadOrigin, + #[codec(index = 3)] + Module(runtime_types::sp_runtime::ModuleError), + #[codec(index = 4)] + ConsumerRemaining, + #[codec(index = 5)] + NoProviders, + #[codec(index = 6)] + TooManyConsumers, + #[codec(index = 7)] + Token(runtime_types::sp_runtime::TokenError), + #[codec(index = 8)] + Arithmetic(runtime_types::sp_arithmetic::ArithmeticError), + #[codec(index = 9)] + Transactional(runtime_types::sp_runtime::TransactionalError), + #[codec(index = 10)] + Exhausted, + #[codec(index = 11)] + Corruption, + #[codec(index = 12)] + Unavailable, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DispatchErrorWithPostInfo<_0> { + pub post_info: _0, + pub error: runtime_types::sp_runtime::DispatchError, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ModuleError { + pub index: ::core::primitive::u8, + pub error: [::core::primitive::u8; 4usize], + } + #[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), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum TokenError { + #[codec(index = 0)] + NoFunds, + #[codec(index = 1)] + WouldDie, + #[codec(index = 2)] + BelowMinimum, + #[codec(index = 3)] + CannotCreate, + #[codec(index = 4)] + UnknownAsset, + #[codec(index = 5)] + Frozen, + #[codec(index = 6)] + Unsupported, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum TransactionalError { + #[codec(index = 0)] + LimitReached, + #[codec(index = 1)] + NoLayer, + } + } + pub mod sp_session { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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_staking { + use super::runtime_types; + pub mod offence { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OffenceDetails<_0, _1> { + pub offender: _1, + pub reporters: ::std::vec::Vec<_0>, + } + } + } + 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_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RuntimeVersion { + pub spec_name: ::std::string::String, + pub impl_name: ::std::string::String, + pub authoring_version: ::core::primitive::u32, + pub spec_version: ::core::primitive::u32, + pub impl_version: ::core::primitive::u32, + pub apis: ::std::vec::Vec<( + [::core::primitive::u8; 8usize], + ::core::primitive::u32, + )>, + pub transaction_version: ::core::primitive::u32, + pub state_version: ::core::primitive::u8, + } + } + pub mod sp_weights { + use super::runtime_types; + pub mod weight_v2 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + 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); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct RuntimeDbWeight { + pub read: ::core::primitive::u64, + pub write: ::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 system(&self) -> system::constants::ConstantsApi { + system::constants::ConstantsApi + } + pub fn utility(&self) -> utility::constants::ConstantsApi { + utility::constants::ConstantsApi + } + pub fn babe(&self) -> babe::constants::ConstantsApi { + babe::constants::ConstantsApi + } + pub fn timestamp(&self) -> timestamp::constants::ConstantsApi { + timestamp::constants::ConstantsApi + } + pub fn indices(&self) -> indices::constants::ConstantsApi { + indices::constants::ConstantsApi + } + pub fn balances(&self) -> balances::constants::ConstantsApi { + balances::constants::ConstantsApi + } + pub fn transaction_payment( + &self, + ) -> transaction_payment::constants::ConstantsApi { + transaction_payment::constants::ConstantsApi + } + pub fn election_provider_multi_phase( + &self, + ) -> election_provider_multi_phase::constants::ConstantsApi { + election_provider_multi_phase::constants::ConstantsApi + } + pub fn staking(&self) -> staking::constants::ConstantsApi { + staking::constants::ConstantsApi + } + pub fn democracy(&self) -> democracy::constants::ConstantsApi { + democracy::constants::ConstantsApi + } + pub fn elections(&self) -> elections::constants::ConstantsApi { + elections::constants::ConstantsApi + } + pub fn grandpa(&self) -> grandpa::constants::ConstantsApi { + grandpa::constants::ConstantsApi + } + pub fn treasury(&self) -> treasury::constants::ConstantsApi { + treasury::constants::ConstantsApi + } + pub fn contracts(&self) -> contracts::constants::ConstantsApi { + contracts::constants::ConstantsApi + } + pub fn im_online(&self) -> im_online::constants::ConstantsApi { + im_online::constants::ConstantsApi + } + pub fn identity(&self) -> identity::constants::ConstantsApi { + identity::constants::ConstantsApi + } + pub fn society(&self) -> society::constants::ConstantsApi { + society::constants::ConstantsApi + } + pub fn recovery(&self) -> recovery::constants::ConstantsApi { + recovery::constants::ConstantsApi + } + pub fn vesting(&self) -> vesting::constants::ConstantsApi { + vesting::constants::ConstantsApi + } + pub fn scheduler(&self) -> scheduler::constants::ConstantsApi { + scheduler::constants::ConstantsApi + } + pub fn proxy(&self) -> proxy::constants::ConstantsApi { + proxy::constants::ConstantsApi + } + pub fn multisig(&self) -> multisig::constants::ConstantsApi { + multisig::constants::ConstantsApi + } + pub fn bounties(&self) -> bounties::constants::ConstantsApi { + bounties::constants::ConstantsApi + } + pub fn tips(&self) -> tips::constants::ConstantsApi { + tips::constants::ConstantsApi + } + pub fn assets(&self) -> assets::constants::ConstantsApi { + assets::constants::ConstantsApi + } + pub fn lottery(&self) -> lottery::constants::ConstantsApi { + lottery::constants::ConstantsApi + } + pub fn nis(&self) -> nis::constants::ConstantsApi { + nis::constants::ConstantsApi + } + pub fn uniques(&self) -> uniques::constants::ConstantsApi { + uniques::constants::ConstantsApi + } + pub fn nfts(&self) -> nfts::constants::ConstantsApi { + nfts::constants::ConstantsApi + } + pub fn voter_list(&self) -> voter_list::constants::ConstantsApi { + voter_list::constants::ConstantsApi + } + pub fn state_trie_migration( + &self, + ) -> state_trie_migration::constants::ConstantsApi { + state_trie_migration::constants::ConstantsApi + } + pub fn child_bounties(&self) -> child_bounties::constants::ConstantsApi { + child_bounties::constants::ConstantsApi + } + pub fn referenda(&self) -> referenda::constants::ConstantsApi { + referenda::constants::ConstantsApi + } + pub fn conviction_voting(&self) -> conviction_voting::constants::ConstantsApi { + conviction_voting::constants::ConstantsApi + } + pub fn alliance(&self) -> alliance::constants::ConstantsApi { + alliance::constants::ConstantsApi + } + pub fn nomination_pools(&self) -> nomination_pools::constants::ConstantsApi { + nomination_pools::constants::ConstantsApi + } + pub fn ranked_polls(&self) -> ranked_polls::constants::ConstantsApi { + ranked_polls::constants::ConstantsApi + } + pub fn fast_unstake(&self) -> fast_unstake::constants::ConstantsApi { + fast_unstake::constants::ConstantsApi + } + pub fn message_queue(&self) -> message_queue::constants::ConstantsApi { + message_queue::constants::ConstantsApi + } + } + pub struct StorageApi; + impl StorageApi { + pub fn system(&self) -> system::storage::StorageApi { + system::storage::StorageApi + } + pub fn babe(&self) -> babe::storage::StorageApi { + babe::storage::StorageApi + } + pub fn timestamp(&self) -> timestamp::storage::StorageApi { + timestamp::storage::StorageApi + } + pub fn authorship(&self) -> authorship::storage::StorageApi { + authorship::storage::StorageApi + } + pub fn indices(&self) -> indices::storage::StorageApi { + indices::storage::StorageApi + } + pub fn balances(&self) -> balances::storage::StorageApi { + balances::storage::StorageApi + } + pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi { + transaction_payment::storage::StorageApi + } + pub fn election_provider_multi_phase( + &self, + ) -> election_provider_multi_phase::storage::StorageApi { + election_provider_multi_phase::storage::StorageApi + } + pub fn staking(&self) -> staking::storage::StorageApi { + staking::storage::StorageApi + } + pub fn session(&self) -> session::storage::StorageApi { + session::storage::StorageApi + } + pub fn democracy(&self) -> democracy::storage::StorageApi { + democracy::storage::StorageApi + } + pub fn council(&self) -> council::storage::StorageApi { + council::storage::StorageApi + } + pub fn technical_committee(&self) -> technical_committee::storage::StorageApi { + technical_committee::storage::StorageApi + } + pub fn elections(&self) -> elections::storage::StorageApi { + elections::storage::StorageApi + } + pub fn technical_membership(&self) -> technical_membership::storage::StorageApi { + technical_membership::storage::StorageApi + } + pub fn grandpa(&self) -> grandpa::storage::StorageApi { + grandpa::storage::StorageApi + } + pub fn treasury(&self) -> treasury::storage::StorageApi { + treasury::storage::StorageApi + } + pub fn contracts(&self) -> contracts::storage::StorageApi { + contracts::storage::StorageApi + } + pub fn sudo(&self) -> sudo::storage::StorageApi { + sudo::storage::StorageApi + } + pub fn im_online(&self) -> im_online::storage::StorageApi { + im_online::storage::StorageApi + } + pub fn authority_discovery(&self) -> authority_discovery::storage::StorageApi { + authority_discovery::storage::StorageApi + } + pub fn offences(&self) -> offences::storage::StorageApi { + offences::storage::StorageApi + } + pub fn randomness_collective_flip( + &self, + ) -> randomness_collective_flip::storage::StorageApi { + randomness_collective_flip::storage::StorageApi + } + pub fn identity(&self) -> identity::storage::StorageApi { + identity::storage::StorageApi + } + pub fn society(&self) -> society::storage::StorageApi { + society::storage::StorageApi + } + pub fn recovery(&self) -> recovery::storage::StorageApi { + recovery::storage::StorageApi + } + pub fn vesting(&self) -> vesting::storage::StorageApi { + vesting::storage::StorageApi + } + pub fn scheduler(&self) -> scheduler::storage::StorageApi { + scheduler::storage::StorageApi + } + pub fn preimage(&self) -> preimage::storage::StorageApi { + preimage::storage::StorageApi + } + pub fn proxy(&self) -> proxy::storage::StorageApi { + proxy::storage::StorageApi + } + pub fn multisig(&self) -> multisig::storage::StorageApi { + multisig::storage::StorageApi + } + pub fn bounties(&self) -> bounties::storage::StorageApi { + bounties::storage::StorageApi + } + pub fn tips(&self) -> tips::storage::StorageApi { + tips::storage::StorageApi + } + pub fn assets(&self) -> assets::storage::StorageApi { + assets::storage::StorageApi + } + pub fn mmr(&self) -> mmr::storage::StorageApi { + mmr::storage::StorageApi + } + pub fn lottery(&self) -> lottery::storage::StorageApi { + lottery::storage::StorageApi + } + pub fn nis(&self) -> nis::storage::StorageApi { + nis::storage::StorageApi + } + pub fn uniques(&self) -> uniques::storage::StorageApi { + uniques::storage::StorageApi + } + pub fn nfts(&self) -> nfts::storage::StorageApi { + nfts::storage::StorageApi + } + pub fn transaction_storage(&self) -> transaction_storage::storage::StorageApi { + transaction_storage::storage::StorageApi + } + pub fn voter_list(&self) -> voter_list::storage::StorageApi { + voter_list::storage::StorageApi + } + pub fn state_trie_migration(&self) -> state_trie_migration::storage::StorageApi { + state_trie_migration::storage::StorageApi + } + pub fn child_bounties(&self) -> child_bounties::storage::StorageApi { + child_bounties::storage::StorageApi + } + pub fn referenda(&self) -> referenda::storage::StorageApi { + referenda::storage::StorageApi + } + pub fn conviction_voting(&self) -> conviction_voting::storage::StorageApi { + conviction_voting::storage::StorageApi + } + pub fn whitelist(&self) -> whitelist::storage::StorageApi { + whitelist::storage::StorageApi + } + pub fn alliance_motion(&self) -> alliance_motion::storage::StorageApi { + alliance_motion::storage::StorageApi + } + pub fn alliance(&self) -> alliance::storage::StorageApi { + alliance::storage::StorageApi + } + pub fn nomination_pools(&self) -> nomination_pools::storage::StorageApi { + nomination_pools::storage::StorageApi + } + pub fn ranked_polls(&self) -> ranked_polls::storage::StorageApi { + ranked_polls::storage::StorageApi + } + pub fn ranked_collective(&self) -> ranked_collective::storage::StorageApi { + ranked_collective::storage::StorageApi + } + pub fn fast_unstake(&self) -> fast_unstake::storage::StorageApi { + fast_unstake::storage::StorageApi + } + pub fn message_queue(&self) -> message_queue::storage::StorageApi { + message_queue::storage::StorageApi + } + pub fn pov(&self) -> pov::storage::StorageApi { + pov::storage::StorageApi + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn system(&self) -> system::calls::TransactionApi { + system::calls::TransactionApi + } + pub fn utility(&self) -> utility::calls::TransactionApi { + utility::calls::TransactionApi + } + pub fn babe(&self) -> babe::calls::TransactionApi { + babe::calls::TransactionApi + } + pub fn timestamp(&self) -> timestamp::calls::TransactionApi { + timestamp::calls::TransactionApi + } + pub fn indices(&self) -> indices::calls::TransactionApi { + indices::calls::TransactionApi + } + pub fn balances(&self) -> balances::calls::TransactionApi { + balances::calls::TransactionApi + } + pub fn election_provider_multi_phase( + &self, + ) -> election_provider_multi_phase::calls::TransactionApi { + election_provider_multi_phase::calls::TransactionApi + } + pub fn staking(&self) -> staking::calls::TransactionApi { + staking::calls::TransactionApi + } + pub fn session(&self) -> session::calls::TransactionApi { + session::calls::TransactionApi + } + pub fn democracy(&self) -> democracy::calls::TransactionApi { + democracy::calls::TransactionApi + } + pub fn council(&self) -> council::calls::TransactionApi { + council::calls::TransactionApi + } + pub fn technical_committee(&self) -> technical_committee::calls::TransactionApi { + technical_committee::calls::TransactionApi + } + pub fn elections(&self) -> elections::calls::TransactionApi { + elections::calls::TransactionApi + } + pub fn technical_membership( + &self, + ) -> technical_membership::calls::TransactionApi { + technical_membership::calls::TransactionApi + } + pub fn grandpa(&self) -> grandpa::calls::TransactionApi { + grandpa::calls::TransactionApi + } + pub fn treasury(&self) -> treasury::calls::TransactionApi { + treasury::calls::TransactionApi + } + pub fn contracts(&self) -> contracts::calls::TransactionApi { + contracts::calls::TransactionApi + } + pub fn sudo(&self) -> sudo::calls::TransactionApi { + sudo::calls::TransactionApi + } + pub fn im_online(&self) -> im_online::calls::TransactionApi { + im_online::calls::TransactionApi + } + pub fn identity(&self) -> identity::calls::TransactionApi { + identity::calls::TransactionApi + } + pub fn society(&self) -> society::calls::TransactionApi { + society::calls::TransactionApi + } + pub fn recovery(&self) -> recovery::calls::TransactionApi { + recovery::calls::TransactionApi + } + pub fn vesting(&self) -> vesting::calls::TransactionApi { + vesting::calls::TransactionApi + } + pub fn scheduler(&self) -> scheduler::calls::TransactionApi { + scheduler::calls::TransactionApi + } + pub fn preimage(&self) -> preimage::calls::TransactionApi { + preimage::calls::TransactionApi + } + pub fn proxy(&self) -> proxy::calls::TransactionApi { + proxy::calls::TransactionApi + } + pub fn multisig(&self) -> multisig::calls::TransactionApi { + multisig::calls::TransactionApi + } + pub fn bounties(&self) -> bounties::calls::TransactionApi { + bounties::calls::TransactionApi + } + pub fn tips(&self) -> tips::calls::TransactionApi { + tips::calls::TransactionApi + } + pub fn assets(&self) -> assets::calls::TransactionApi { + assets::calls::TransactionApi + } + pub fn lottery(&self) -> lottery::calls::TransactionApi { + lottery::calls::TransactionApi + } + pub fn nis(&self) -> nis::calls::TransactionApi { + nis::calls::TransactionApi + } + pub fn uniques(&self) -> uniques::calls::TransactionApi { + uniques::calls::TransactionApi + } + pub fn nfts(&self) -> nfts::calls::TransactionApi { + nfts::calls::TransactionApi + } + pub fn transaction_storage(&self) -> transaction_storage::calls::TransactionApi { + transaction_storage::calls::TransactionApi + } + pub fn voter_list(&self) -> voter_list::calls::TransactionApi { + voter_list::calls::TransactionApi + } + pub fn state_trie_migration( + &self, + ) -> state_trie_migration::calls::TransactionApi { + state_trie_migration::calls::TransactionApi + } + pub fn child_bounties(&self) -> child_bounties::calls::TransactionApi { + child_bounties::calls::TransactionApi + } + pub fn referenda(&self) -> referenda::calls::TransactionApi { + referenda::calls::TransactionApi + } + pub fn remark(&self) -> remark::calls::TransactionApi { + remark::calls::TransactionApi + } + pub fn root_testing(&self) -> root_testing::calls::TransactionApi { + root_testing::calls::TransactionApi + } + pub fn conviction_voting(&self) -> conviction_voting::calls::TransactionApi { + conviction_voting::calls::TransactionApi + } + pub fn whitelist(&self) -> whitelist::calls::TransactionApi { + whitelist::calls::TransactionApi + } + pub fn alliance_motion(&self) -> alliance_motion::calls::TransactionApi { + alliance_motion::calls::TransactionApi + } + pub fn alliance(&self) -> alliance::calls::TransactionApi { + alliance::calls::TransactionApi + } + pub fn nomination_pools(&self) -> nomination_pools::calls::TransactionApi { + nomination_pools::calls::TransactionApi + } + pub fn ranked_polls(&self) -> ranked_polls::calls::TransactionApi { + ranked_polls::calls::TransactionApi + } + pub fn ranked_collective(&self) -> ranked_collective::calls::TransactionApi { + ranked_collective::calls::TransactionApi + } + pub fn fast_unstake(&self) -> fast_unstake::calls::TransactionApi { + fast_unstake::calls::TransactionApi + } + pub fn message_queue(&self) -> message_queue::calls::TransactionApi { + message_queue::calls::TransactionApi + } + pub fn pov(&self) -> pov::calls::TransactionApi { + pov::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 + != [ + 120u8, 75u8, 113u8, 254u8, 107u8, 133u8, 213u8, 42u8, 124u8, 22u8, 61u8, + 128u8, 4u8, 45u8, 51u8, 62u8, 131u8, 185u8, 247u8, 123u8, 23u8, 95u8, + 53u8, 149u8, 113u8, 11u8, 201u8, 144u8, 109u8, 109u8, 165u8, 189u8, + ] + { + Err(::subxt::error::MetadataError::IncompatibleMetadata) + } else { + Ok(()) + } + } + #[doc = r" Runtime API."] + pub mod runtime_api { + use super::root_mod; + use super::runtime_types; + #[doc = " The `Core` runtime api that every Substrate runtime needs to implement."] + pub mod Core { + #[doc = " Returns the version of the runtime."] + pub fn version() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "Core_version", + result, + [0; 32], + ) + } + #[doc = " Execute the given block."] + pub fn execute_block( + block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 , runtime_types :: sp_runtime :: traits :: BlakeTwo256 > , runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , runtime_types :: kitchensink_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_asset_tx_payment :: ChargeAssetTxPayment ,) > >, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + block.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "Core_execute_block", + result, + [0; 32], + ) + } + #[doc = " Initialize a block with the given header."] + pub fn initialize_block( + header: runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + header.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "Core_initialize_block", + result, + [0; 32], + ) + } + } + #[doc = " The `Metadata` api trait that returns metadata for the runtime."] + pub mod Metadata { + #[doc = " Returns the metadata of a runtime."] + pub fn metadata() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "Metadata_metadata", + result, + [0; 32], + ) + } + #[doc = " Returns the metadata at a given version."] + pub fn metadata_at_version( + version: ::core::primitive::u32, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + version.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "Metadata_metadata_at_version", + result, + [0; 32], + ) + } + #[doc = " Returns the supported versions of metadata."] + #[doc = ""] + #[doc = " This can be used to call `metadata_at_version`."] + pub fn metadata_versions() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "Metadata_metadata_versions", + result, + [0; 32], + ) + } + } + #[doc = " The `BlockBuilder` api trait that provides the required functionality for building a block."] + pub mod BlockBuilder { + #[doc = " Apply the given extrinsic."] + #[doc = ""] + #[doc = " Returns an inclusion outcome which specifies if this extrinsic is included in"] + #[doc = " this block or not."] + pub fn apply_extrinsic( + extrinsic : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , runtime_types :: kitchensink_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_asset_tx_payment :: ChargeAssetTxPayment ,) >, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + extrinsic.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BlockBuilder_apply_extrinsic", + result, + [0; 32], + ) + } + #[doc = " Finish the current block."] + pub fn finalize_block() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BlockBuilder_finalize_block", + result, + [0; 32], + ) + } + #[doc = " Generate inherent extrinsics. The inherent data will vary from chain to chain."] + pub fn inherent_extrinsics( + inherent: runtime_types::sp_inherents::InherentData, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + inherent.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BlockBuilder_inherent_extrinsics", + result, + [0; 32], + ) + } + #[doc = " Check that the inherents are valid. The inherent data will vary from chain to chain."] + pub fn check_inherents( + block : runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 , runtime_types :: sp_runtime :: traits :: BlakeTwo256 > , runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , runtime_types :: kitchensink_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_asset_tx_payment :: ChargeAssetTxPayment ,) > >, + data: runtime_types::sp_inherents::InherentData, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + block.encode_to(&mut result); + data.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BlockBuilder_check_inherents", + result, + [0; 32], + ) + } + } + #[doc = " The `TaggedTransactionQueue` api trait for interfering with the transaction queue."] + pub mod TaggedTransactionQueue { + #[doc = " Validate the transaction."] + #[doc = ""] + #[doc = " This method is invoked by the transaction pool to learn details about given transaction."] + #[doc = " The implementation should make sure to verify the correctness of the transaction"] + #[doc = " against current state. The given `block_hash` corresponds to the hash of the block"] + #[doc = " that is used as current state."] + #[doc = ""] + #[doc = " Note that this call may be performed by the pool multiple times and transactions"] + #[doc = " might be verified in any possible order."] + pub fn validate_transaction( + source : runtime_types :: sp_runtime :: transaction_validity :: TransactionSource, + tx : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , runtime_types :: kitchensink_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_asset_tx_payment :: ChargeAssetTxPayment ,) >, + block_hash: ::subxt::utils::H256, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + source.encode_to(&mut result); + tx.encode_to(&mut result); + block_hash.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "TaggedTransactionQueue_validate_transaction", + result, + [0; 32], + ) + } + } + #[doc = " The offchain worker api."] + pub mod OffchainWorkerApi { + #[doc = " Starts the off-chain task for given block header."] + pub fn offchain_worker( + header: runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + header.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "OffchainWorkerApi_offchain_worker", + result, + [0; 32], + ) + } + } + #[doc = " APIs for integrating the GRANDPA finality gadget into runtimes."] + #[doc = " This should be implemented on the runtime side."] + #[doc = ""] + #[doc = " This is primarily used for negotiating authority-set changes for the"] + #[doc = " gadget. GRANDPA uses a signaling model of changing authority sets:"] + #[doc = " changes should be signaled with a delay of N blocks, and then automatically"] + #[doc = " applied in the runtime after those N blocks have passed."] + #[doc = ""] + #[doc = " The consensus protocol will coordinate the handoff externally."] + pub mod GrandpaApi { + #[doc = " Get the current GRANDPA authorities and weights. This should not change except"] + #[doc = " for when changes are scheduled and the corresponding delay has passed."] + #[doc = ""] + #[doc = " When called at block B, it will return the set of authorities that should be"] + #[doc = " used to finalize descendants of this block (B+1, B+2, ...). The block B itself"] + #[doc = " is finalized by the authorities from block B-1."] + pub fn grandpa_authorities() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "GrandpaApi_grandpa_authorities", + result, + [0; 32], + ) + } + #[doc = " Submits an unsigned extrinsic to report an equivocation. The caller"] + #[doc = " must provide the equivocation proof and a key ownership proof"] + #[doc = " (should be obtained using `generate_key_ownership_proof`). The"] + #[doc = " extrinsic will be unsigned and should only be accepted for local"] + #[doc = " authorship (not to be broadcast to the network). This method returns"] + #[doc = " `None` when creation of the extrinsic fails, e.g. if equivocation"] + #[doc = " reporting is disabled for the given runtime (i.e. this method is"] + #[doc = " hardcoded to return `None`). Only useful in an offchain context."] + pub fn submit_report_equivocation_unsigned_extrinsic( + equivocation_proof: runtime_types::sp_finality_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + key_owner_proof : runtime_types :: sp_finality_grandpa :: OpaqueKeyOwnershipProof, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + equivocation_proof.encode_to(&mut result); + key_owner_proof.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "GrandpaApi_submit_report_equivocation_unsigned_extrinsic", + result, + [0; 32], + ) + } + #[doc = " Generates a proof of key ownership for the given authority in the"] + #[doc = " given set. An example usage of this module is coupled with the"] + #[doc = " session historical module to prove that a given authority key is"] + #[doc = " tied to a given staking identity during a specific session. Proofs"] + #[doc = " of key ownership are necessary for submitting equivocation reports."] + #[doc = " NOTE: even though the API takes a `set_id` as parameter the current"] + #[doc = " implementations ignore this parameter and instead rely on this"] + #[doc = " method being called at the correct block height, i.e. any point at"] + #[doc = " which the given set id is live on-chain. Future implementations will"] + #[doc = " instead use indexed data through an offchain worker, not requiring"] + #[doc = " older states to be available."] + pub fn generate_key_ownership_proof( + set_id: ::core::primitive::u64, + authority_id: runtime_types::sp_finality_grandpa::app::Public, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + set_id.encode_to(&mut result); + authority_id.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "GrandpaApi_generate_key_ownership_proof", + result, + [0; 32], + ) + } + #[doc = " Get current GRANDPA authority set id."] + pub fn current_set_id() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "GrandpaApi_current_set_id", + result, + [0; 32], + ) + } + } + #[doc = " Runtime api for accessing information about nomination pools."] + pub mod NominationPoolsApi { + #[doc = " Returns the pending rewards for the member that the AccountId was given for."] + pub fn pending_rewards( + member: ::subxt::utils::AccountId32, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + member.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "NominationPoolsApi_pending_rewards", + result, + [0; 32], + ) + } + } + #[doc = " API necessary for block authorship with BABE."] + pub mod BabeApi { + #[doc = " Return the configuration for BABE."] + pub fn configuration() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BabeApi_configuration", + result, + [0; 32], + ) + } + #[doc = " Returns the slot that started the current epoch."] + pub fn current_epoch_start() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BabeApi_current_epoch_start", + result, + [0; 32], + ) + } + #[doc = " Returns information regarding the current epoch."] + pub fn current_epoch() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BabeApi_current_epoch", + result, + [0; 32], + ) + } + #[doc = " Returns information regarding the next epoch (which was already"] + #[doc = " previously announced)."] + pub fn next_epoch() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BabeApi_next_epoch", + result, + [0; 32], + ) + } + #[doc = " Generates a proof of key ownership for the given authority in the"] + #[doc = " current epoch. An example usage of this module is coupled with the"] + #[doc = " session historical module to prove that a given authority key is"] + #[doc = " tied to a given staking identity during a specific session. Proofs"] + #[doc = " of key ownership are necessary for submitting equivocation reports."] + #[doc = " NOTE: even though the API takes a `slot` as parameter the current"] + #[doc = " implementations ignores this parameter and instead relies on this"] + #[doc = " method being called at the correct block height, i.e. any point at"] + #[doc = " which the epoch for the given slot is live on-chain. Future"] + #[doc = " implementations will instead use indexed data through an offchain"] + #[doc = " worker, not requiring older states to be available."] + pub fn generate_key_ownership_proof( + slot: runtime_types::sp_consensus_slots::Slot, + authority_id: runtime_types::sp_consensus_babe::app::Public, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + slot.encode_to(&mut result); + authority_id.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BabeApi_generate_key_ownership_proof", + result, + [0; 32], + ) + } + #[doc = " Submits an unsigned extrinsic to report an equivocation. The caller"] + #[doc = " must provide the equivocation proof and a key ownership proof"] + #[doc = " (should be obtained using `generate_key_ownership_proof`). The"] + #[doc = " extrinsic will be unsigned and should only be accepted for local"] + #[doc = " authorship (not to be broadcast to the network). This method returns"] + #[doc = " `None` when creation of the extrinsic fails, e.g. if equivocation"] + #[doc = " reporting is disabled for the given runtime (i.e. this method is"] + #[doc = " hardcoded to return `None`). Only useful in an offchain context."] + pub fn submit_report_equivocation_unsigned_extrinsic( + equivocation_proof: runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + key_owner_proof : runtime_types :: sp_consensus_babe :: OpaqueKeyOwnershipProof, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + equivocation_proof.encode_to(&mut result); + key_owner_proof.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "BabeApi_submit_report_equivocation_unsigned_extrinsic", + result, + [0; 32], + ) + } + } + #[doc = " The authority discovery api."] + #[doc = ""] + #[doc = " This api is used by the `client/authority-discovery` module to retrieve identifiers"] + #[doc = " of the current and next authority set."] + pub mod AuthorityDiscoveryApi { + #[doc = " Retrieve authority identifiers of the current and next authority set."] + pub fn authorities() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "AuthorityDiscoveryApi_authorities", + result, + [0; 32], + ) + } + } + #[doc = " The API to query account nonce (aka transaction index)."] + pub mod AccountNonceApi { + #[doc = " Get current account nonce of given `AccountId`."] + pub fn account_nonce( + account: ::subxt::utils::AccountId32, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + account.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "AccountNonceApi_account_nonce", + result, + [0; 32], + ) + } + } + #[doc = " The API used to dry-run contract interactions."] + pub mod ContractsApi { + #[doc = " Perform a call from a specified account to a given contract."] + #[doc = ""] + #[doc = " See [`crate::Pallet::bare_call`]."] + pub fn call( + origin: ::subxt::utils::AccountId32, + dest: ::subxt::utils::AccountId32, + value: ::core::primitive::u128, + gas_limit: ::core::option::Option< + runtime_types::sp_weights::weight_v2::Weight, + >, + storage_deposit_limit: ::core::option::Option<::core::primitive::u128>, + input_data: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + origin.encode_to(&mut result); + dest.encode_to(&mut result); + value.encode_to(&mut result); + gas_limit.encode_to(&mut result); + storage_deposit_limit.encode_to(&mut result); + input_data.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "ContractsApi_call", + result, + [0; 32], + ) + } + #[doc = " Instantiate a new contract."] + #[doc = ""] + #[doc = " See `[crate::Pallet::bare_instantiate]`."] + pub fn instantiate( + origin: ::subxt::utils::AccountId32, + value: ::core::primitive::u128, + gas_limit: ::core::option::Option< + runtime_types::sp_weights::weight_v2::Weight, + >, + storage_deposit_limit: ::core::option::Option<::core::primitive::u128>, + code: runtime_types::pallet_contracts_primitives::Code< + ::subxt::utils::H256, + >, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + origin.encode_to(&mut result); + value.encode_to(&mut result); + gas_limit.encode_to(&mut result); + storage_deposit_limit.encode_to(&mut result); + code.encode_to(&mut result); + data.encode_to(&mut result); + salt.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "ContractsApi_instantiate", + result, + [0; 32], + ) + } + #[doc = " Upload new code without instantiating a contract from it."] + #[doc = ""] + #[doc = " See [`crate::Pallet::bare_upload_code`]."] + pub fn upload_code( + origin: ::subxt::utils::AccountId32, + code: ::std::vec::Vec<::core::primitive::u8>, + storage_deposit_limit: ::core::option::Option<::core::primitive::u128>, + determinism: runtime_types::pallet_contracts::wasm::Determinism, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + origin.encode_to(&mut result); + code.encode_to(&mut result); + storage_deposit_limit.encode_to(&mut result); + determinism.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "ContractsApi_upload_code", + result, + [0; 32], + ) + } + #[doc = " Query a given storage key in a given contract."] + #[doc = ""] + #[doc = " Returns `Ok(Some(Vec))` if the storage value exists under the given key in the"] + #[doc = " specified account and `Ok(None)` if it doesn't. If the account specified by the address"] + #[doc = " doesn't exist, or doesn't have a contract then `Err` is returned."] + pub fn get_storage( + address: ::subxt::utils::AccountId32, + key: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + address.encode_to(&mut result); + key.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "ContractsApi_get_storage", + result, + [0; 32], + ) + } + } + pub mod TransactionPaymentApi { + pub fn query_info( + uxt : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , runtime_types :: kitchensink_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_asset_tx_payment :: ChargeAssetTxPayment ,) >, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + uxt.encode_to(&mut result); + len.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "TransactionPaymentApi_query_info", + result, + [0; 32], + ) + } + pub fn query_fee_details( + uxt : runtime_types :: sp_runtime :: generic :: unchecked_extrinsic :: UncheckedExtrinsic < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , runtime_types :: kitchensink_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_asset_tx_payment :: ChargeAssetTxPayment ,) >, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + uxt.encode_to(&mut result); + len.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "TransactionPaymentApi_query_fee_details", + result, + [0; 32], + ) + } + pub fn query_weight_to_fee( + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + weight.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "TransactionPaymentApi_query_weight_to_fee", + result, + [0; 32], + ) + } + pub fn query_length_to_fee( + length: ::core::primitive::u32, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + length.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "TransactionPaymentApi_query_length_to_fee", + result, + [0; 32], + ) + } + } + pub mod TransactionPaymentCallApi { + #[doc = " Query information of a dispatch class, weight, and fee of a given encoded `Call`."] + pub fn query_call_info( + call: runtime_types::kitchensink_runtime::RuntimeCall, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + call.encode_to(&mut result); + len.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "TransactionPaymentCallApi_query_call_info", + result, + [0; 32], + ) + } + #[doc = " Query fee details of a given encoded `Call`."] + pub fn query_call_fee_details( + call: runtime_types::kitchensink_runtime::RuntimeCall, + len: ::core::primitive::u32, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + call.encode_to(&mut result); + len.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "TransactionPaymentCallApi_query_call_fee_details", + result, + [0; 32], + ) + } + #[doc = " Query the output of the current `WeightToFee` given some input."] + pub fn query_weight_to_fee( + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + weight.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "TransactionPaymentCallApi_query_weight_to_fee", + result, + [0; 32], + ) + } + #[doc = " Query the output of the current `LengthToFee` given some input."] + pub fn query_length_to_fee( + length: ::core::primitive::u32, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + length.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "TransactionPaymentCallApi_query_length_to_fee", + result, + [0; 32], + ) + } + } + #[doc = " API to interact with MMR pallet."] + pub mod MmrApi { + #[doc = " Return the on-chain MMR root hash."] + pub fn mmr_root() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "MmrApi_mmr_root", + result, + [0; 32], + ) + } + #[doc = " Return the number of MMR blocks in the chain."] + pub fn mmr_leaf_count() -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "MmrApi_mmr_leaf_count", + result, + [0; 32], + ) + } + #[doc = " Generate MMR proof for a series of block numbers. If `best_known_block_number = Some(n)`,"] + #[doc = " use historical MMR state at given block height `n`. Else, use current MMR state."] + pub fn generate_proof( + block_numbers: ::std::vec::Vec<::core::primitive::u32>, + best_known_block_number: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + block_numbers.encode_to(&mut result); + best_known_block_number.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "MmrApi_generate_proof", + result, + [0; 32], + ) + } + #[doc = " Verify MMR proof against on-chain MMR for a batch of leaves."] + #[doc = ""] + #[doc = " Note this function will use on-chain MMR root hash and check if the proof matches the hash."] + #[doc = " Note, the leaves should be sorted such that corresponding leaves and leaf indices have the"] + #[doc = " same position in both the `leaves` vector and the `leaf_indices` vector contained in the [Proof]"] + pub fn verify_proof( + leaves: ::std::vec::Vec< + runtime_types::sp_mmr_primitives::EncodableOpaqueLeaf, + >, + proof: runtime_types::sp_mmr_primitives::Proof<::subxt::utils::H256>, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + leaves.encode_to(&mut result); + proof.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "MmrApi_verify_proof", + result, + [0; 32], + ) + } + #[doc = " Verify MMR proof against given root hash for a batch of leaves."] + #[doc = ""] + #[doc = " Note this function does not require any on-chain storage - the"] + #[doc = " proof is verified against given MMR root hash."] + #[doc = ""] + #[doc = " Note, the leaves should be sorted such that corresponding leaves and leaf indices have the"] + #[doc = " same position in both the `leaves` vector and the `leaf_indices` vector contained in the [Proof]"] + pub fn verify_proof_stateless( + root: ::subxt::utils::H256, + leaves: ::std::vec::Vec< + runtime_types::sp_mmr_primitives::EncodableOpaqueLeaf, + >, + proof: runtime_types::sp_mmr_primitives::Proof<::subxt::utils::H256>, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + root.encode_to(&mut result); + leaves.encode_to(&mut result); + proof.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "MmrApi_verify_proof_stateless", + result, + [0; 32], + ) + } + } + #[doc = " Session keys runtime api."] + pub mod SessionKeys { + #[doc = " Generate a set of session keys with optionally using the given seed."] + #[doc = " The keys should be stored within the keystore exposed via runtime"] + #[doc = " externalities."] + #[doc = ""] + #[doc = " The seed needs to be a valid `utf8` string."] + #[doc = ""] + #[doc = " Returns the concatenated SCALE encoded public keys."] + pub fn generate_session_keys( + seed: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + seed.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "SessionKeys_generate_session_keys", + result, + [0; 32], + ) + } + #[doc = " Decode the given public session keys."] + #[doc = ""] + #[doc = " Returns the list of public raw public keys + key type."] + pub fn decode_session_keys( + encoded: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::runtime_api::RuntimeAPIPayload { + let mut result = Vec::new(); + encoded.encode_to(&mut result); + ::subxt::runtime_api::RuntimeAPIPayload::new( + "SessionKeys_decode_session_keys", + result, + [0; 32], + ) + } + } + } +} diff --git a/codegen/src/api/mod.rs b/codegen/src/api/mod.rs index 6e61b567e1..4312140b02 100644 --- a/codegen/src/api/mod.rs +++ b/codegen/src/api/mod.rs @@ -7,11 +7,14 @@ mod calls; mod constants; mod events; +mod runtime_api; mod storage; use scale_info::form::PortableForm; use subxt_metadata::get_metadata_per_pallet_hash; +use self::runtime_api::generate_runtime_api; + use super::DerivesRegistry; use crate::{ ir, @@ -139,7 +142,11 @@ pub fn generate_runtime_api_from_bytes( type_substitutes: TypeSubstitutes, crate_path: CratePath, ) -> TokenStream2 { - let metadata = frame_metadata::RuntimeMetadataPrefixed::decode(&mut &bytes[..]) + let decoded: Option = Decode::decode(&mut &*bytes) + .unwrap_or_else(|e| abort_call_site!("Failed to decode opaque metadata: {}", e)); + let decoded = decoded.unwrap(); + let bytes = &decoded.0; + let metadata: RuntimeMetadataPrefixed = Decode::decode(&mut &bytes[..]) .unwrap_or_else(|e| abort_call_site!("Failed to decode metadata: {}", e)); let generator = RuntimeGenerator::new(metadata); @@ -157,8 +164,6 @@ fn generate_runtime_call_api( ) -> TokenStream2 { let mut result = quote!(); - println!("inside runtime: {:?}", runtime); - for trait_ in runtime { for method in &trait_.methods { let trait_name = trait_.name.clone(); @@ -188,8 +193,6 @@ fn generate_runtime_call_api( } } - println!("Code gen would generate: {}", result); - result } @@ -247,6 +250,10 @@ impl RuntimeGenerator { }) .collect::>(); + // Generate the runtime API. + let runtime_api = + generate_runtime_api(&self.metadata, &type_gen, types_mod_ident, &crate_path); + // Pallet names and their length are used to create PALLETS array. // The array is used to identify the pallets composing the metadata for // validation of just those pallets. @@ -377,9 +384,9 @@ impl RuntimeGenerator { TransactionApi } - pub mod runtime_api { - #runtime_api_fns - } + // pub mod runtime_api { + // #runtime_api_fns + // } pub struct ConstantsApi; impl ConstantsApi { @@ -417,6 +424,9 @@ impl RuntimeGenerator { Ok(()) } } + + /// Runtime API. + #runtime_api } } } diff --git a/codegen/src/api/runtime_api.rs b/codegen/src/api/runtime_api.rs new file mode 100644 index 0000000000..2f4e6caa78 --- /dev/null +++ b/codegen/src/api/runtime_api.rs @@ -0,0 +1,106 @@ +// Copyright 2019-2022 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +use crate::{ + types::TypeGenerator, + CratePath, +}; +use frame_metadata::v15::{ + RuntimeMetadataV15, + TraitMetadata, +}; + +use proc_macro2::TokenStream as TokenStream2; +use quote::{ + format_ident, + quote, +}; +use scale_info::form::PortableForm; + +/// Generates the accessor functions for the given trait. +fn generate_trait_api( + trait_: &TraitMetadata, + type_gen: &TypeGenerator, + types_mod_ident: &syn::Ident, + crate_path: &CratePath, +) -> TokenStream2 { + let trait_name = &trait_.name; + let docs = &trait_.docs; + + const VEC_ACC: &'static str = "result"; + let vec_acc = format_ident!("{}", VEC_ACC); + + let methods: Vec<_> = trait_.methods.iter().map(|method| { + let method_name = format_ident!("{}", &method.name); + let func_name = format!("{}_{}", trait_name, method_name); + let docs = &method.docs; + + let inputs: Vec<_> = method.inputs.iter().map(|input| { + let name = format_ident!("{}", &input.name); + let ty = type_gen.resolve_type_path(input.ty.id()); + + let param = quote!(#name: #ty); + let encoded = quote!(#name.encode_to(&mut #vec_acc)); + (param, encoded) + }).collect(); + + let params = inputs.iter().map(|(param, _)| param); + let encoded = inputs.iter().map(|(_, encoded)| encoded); + + quote!( + #( #[doc = #docs ] )* + pub fn #method_name( #( #params, )* ) -> #crate_path::runtime_api::RuntimeAPIPayload { + let mut #vec_acc = Vec::new(); + #( #encoded; )* + + #crate_path::runtime_api::RuntimeAPIPayload::new( + #func_name, + #vec_acc, + [0; 32], + ) + } + ) + }).collect(); + + let trait_name = format_ident!("{}", &trait_.name); + + quote!( + #( #[doc = #docs ] )* + pub mod #trait_name { + use super::root_mod; + use super::#types_mod_ident; + + use #crate_path::ext::codec::Encode; + + #( #methods )* + } + ) +} + +/// Generate the runtime API. +pub fn generate_runtime_api( + metadata: &RuntimeMetadataV15, + type_gen: &TypeGenerator, + types_mod_ident: &syn::Ident, + crate_path: &CratePath, +) -> TokenStream2 { + let runtime = &metadata.runtime; + + if runtime.is_empty() { + return quote!() + } + + let runtime_mods = runtime + .iter() + .map(|rt| generate_trait_api(rt, type_gen, &types_mod_ident, crate_path)); + + quote! { + pub mod runtime_api { + use super::root_mod; + use super::#types_mod_ident; + + #( #runtime_mods )* + } + } +} diff --git a/codegen/src/utils/fetch_metadata.rs b/codegen/src/utils/fetch_metadata.rs index 9c63f495c0..75dec020aa 100644 --- a/codegen/src/utils/fetch_metadata.rs +++ b/codegen/src/utils/fetch_metadata.rs @@ -63,7 +63,16 @@ async fn fetch_metadata_ws(url: &Uri) -> Result { .max_notifs_per_subscription(4096) .build_with_tokio(sender, receiver); - Ok(client.request("state_getMetadata", rpc_params![]).await?) + use codec::Encode; + let bytes = 15u32.encode(); + let param = format!("0x{}", hex::encode(&bytes)); + + Ok(client + .request( + "state_call", + rpc_params!["Metadata_metadata_at_version", ¶m], + ) + .await?) } async fn fetch_metadata_http(url: &Uri) -> Result { @@ -71,7 +80,16 @@ async fn fetch_metadata_http(url: &Uri) -> Result { .request_timeout(Duration::from_secs(180)) .build(url.to_string())?; - Ok(client.request("state_getMetadata", rpc_params![]).await?) + use codec::Encode; + let bytes = 15u32.encode(); + let param = format!("0x{}", hex::encode(&bytes)); + + Ok(client + .request( + "state_call", + rpc_params!["Metadata_metadata_at_version", ¶m], + ) + .await?) } #[derive(Debug)] diff --git a/examples/examples/runtime_calls.rs b/examples/examples/runtime_calls.rs index 0a150b2433..557d88ac53 100644 --- a/examples/examples/runtime_calls.rs +++ b/examples/examples/runtime_calls.rs @@ -24,14 +24,22 @@ use subxt::{ OnlineClient, }; -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +use codec::Encode; + +#[subxt::subxt(runtime_metadata_url = "http://localhost:9933")] pub mod polkadot {} #[tokio::main] async fn main() -> Result<(), Box> { tracing_subscriber::fmt::init(); - polkadot::runtime_api::Metadata_metadata(); + let api_tx = polkadot::runtime_api::Core::version(); + println!("RuntimeApi payload: {:?}", api_tx); + + let api = OnlineClient::::new().await?; + let bytes = api.runtime_api().at(None).await?.call(api_tx).await?; + + println!("Result: {:?}", bytes); Ok(()) } diff --git a/subxt/src/client/online_client.rs b/subxt/src/client/online_client.rs index 7c7e6d2b98..b7aaf3701a 100644 --- a/subxt/src/client/online_client.rs +++ b/subxt/src/client/online_client.rs @@ -159,30 +159,16 @@ impl OnlineClient { async fn fetch_metadata(rpc: &Rpc) -> Result { use codec::Encode; - let param = 15u32.encode(); let bytes = rpc .state_call("Metadata_metadata_at_version", Some(¶m), None) .await?; - - // println!("GOT BYTES: {:?}", bytes); let decoded: Option = Decode::decode(&mut &*bytes)?; - - println!("Decoded opaque"); - let decoded = decoded.unwrap(); let bytes = &decoded.0; let meta: RuntimeMetadataPrefixed = Decode::decode(&mut &bytes[..])?; - // let metadata: Metadata = meta.try_into()?; - - // println!("Availb methods {:?}", decoded.0); - - // let cursor = &mut &*bytes; - // let _ = >::decode(cursor)?; - // let meta: frame_metadata::RuntimeMetadataPrefixed = Decode::decode(cursor)?; - println!("METADATA {:#?}", meta); let metadata: Metadata = meta.try_into()?; diff --git a/subxt/src/runtime_api/mod.rs b/subxt/src/runtime_api/mod.rs index 7b55a3905a..7cfca80f65 100644 --- a/subxt/src/runtime_api/mod.rs +++ b/subxt/src/runtime_api/mod.rs @@ -5,7 +5,9 @@ //! Types associated with executing runtime API calls. mod runtime_client; +mod runtime_payload; mod runtime_types; pub use runtime_client::RuntimeApiClient; +pub use runtime_payload::RuntimeAPIPayload; pub use runtime_types::RuntimeApi; diff --git a/subxt/src/runtime_api/runtime_payload.rs b/subxt/src/runtime_api/runtime_payload.rs new file mode 100644 index 0000000000..af3f8a7fed --- /dev/null +++ b/subxt/src/runtime_api/runtime_payload.rs @@ -0,0 +1,44 @@ +// Copyright 2019-2022 Parity Technologies (UK) Ltd. +// This file is dual-licensed as Apache-2.0 or GPL-3.0. +// see LICENSE for license details. + +/// Payload for a runtime API fn. +#[derive(Debug)] +pub struct RuntimeAPIPayload { + func_name: &'static str, + data: Vec, + validation_hash: Option<[u8; 32]>, +} + +impl RuntimeAPIPayload { + /// Create a new [`RuntimeAPIPayload`] from static data. + pub fn new( + func_name: &'static str, + data: Vec, + validation_hash: [u8; 32], + ) -> Self { + RuntimeAPIPayload { + func_name, + data, + validation_hash: Some(validation_hash), + } + } + + /// Do not validate this prior to submitting it. + pub fn unvalidated(self) -> Self { + Self { + validation_hash: None, + ..self + } + } + + /// Returns the function name. + pub fn func_name(&self) -> &'static str { + &self.func_name + } + + /// Returns the parameter data. + pub fn param_data(&self) -> &[u8] { + &self.data + } +} diff --git a/subxt/src/runtime_api/runtime_types.rs b/subxt/src/runtime_api/runtime_types.rs index a449c0e377..fd07d50342 100644 --- a/subxt/src/runtime_api/runtime_types.rs +++ b/subxt/src/runtime_api/runtime_types.rs @@ -13,6 +13,8 @@ use std::{ marker::PhantomData, }; +use super::RuntimeAPIPayload; + /// Execute runtime API calls. #[derive(Derivative)] #[derivative(Clone(bound = "Client: Clone"))] @@ -56,4 +58,26 @@ where Ok(data.0) } } + + /// Execute a runtime API call for the given payload. + pub fn call( + &self, + payload: RuntimeAPIPayload, + ) -> impl Future, Error>> { + let client = self.client.clone(); + let block_hash = self.block_hash; + // Ensure that the returned future doesn't have a lifetime tied to api.runtime_api(), + // which is a temporary thing we'll be throwing away quickly: + async move { + let payload = payload; + let function = payload.func_name(); + let call_parameters = Some(payload.param_data()); + + let data = client + .rpc() + .state_call(function, call_parameters, Some(block_hash)) + .await?; + Ok(data.0) + } + } }