From 79267d4fd52a40d9229b480cdb071c4f0073b878 Mon Sep 17 00:00:00 2001 From: freehere107 Date: Fri, 29 Nov 2024 11:01:02 +0800 Subject: [PATCH] Fix storage key is tuple --- source/base.go | 2 +- source/xcm/v2.json | 10 +- static/kusamaV14.json | 19517 --------------- static/renderV14.json | 17390 ------------- static/v13.json | 16222 ------------- static/westmint-1016005.json | 43101 +++++++++++++++++++++++++++++++++ types/v14.go | 8 +- 7 files changed, 43115 insertions(+), 53135 deletions(-) delete mode 100644 static/kusamaV14.json delete mode 100644 static/renderV14.json delete mode 100644 static/v13.json create mode 100644 static/westmint-1016005.json diff --git a/source/base.go b/source/base.go index cf60bea..32b3f2e 100644 --- a/source/base.go +++ b/source/base.go @@ -3,4 +3,4 @@ package source -var BaseType = `{"\u0026[u8]":"Bytes","(AccountId, Balance)":{"type":"struct","type_mapping":[["account","AccountId"],["balance","Balance"]]},"(BalanceOf\u003cT, I\u003e, BidKind\u003cAccountId, BalanceOf\u003cT, I\u003e\u003e)":{"type":"struct","type_mapping":[["balance","Balance"],["bidkind","BidKind"]]},"(BoundedVec\u003cProxyDefinition\u003cAccountId,ProxyType,BlockNumber\u003e,MaxProxies\u003e,BalanceOf)":"(Vec\u003cProxyDefinition\u003e,BalanceOf)","\u003cAuthorityId as RuntimeAppPublic\u003e::Signature":"Signature","\u003cT as Config\u003e::Call":"Call","AbridgedCandidateReceipt":{"type":"struct","type_mapping":[["parachainIndex","ParaId"],["relayParent","Hash"],["headData","HeadData"],["collator","CollatorId"],["signature","CollatorSignature"],["povBlockHash","Hash"],["commitments","CandidateCommitments"]]},"AbridgedHostConfiguration":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["maxUpwardQueueCount","u32"],["maxUpwardQueueSize","u32"],["maxUpwardMessageSize","u32"],["maxUpwardMessageNumPerCandidate","u32"],["hrmpMaxMessageNumPerCandidate","u32"],["validationUpgradeFrequency","BlockNumber"],["validationUpgradeDelay","BlockNumber"]]},"AbridgedHrmpChannel":{"type":"struct","type_mapping":[["maxCapacity","u32"],["maxTotalSize","u32"],["maxMessageSize","u32"],["msgCount","u32"],["totalSize","u32"],["mqcHead","Option\u003cHash\u003e"]]},"AbstractFungible":{"type":"struct","type_mapping":[["id","Vec\u003cu8\u003e"],["instance","Compact\u003cu128\u003e"]]},"AbstractNonFungible":{"type":"struct","type_mapping":[["class","Vec\u003cu8\u003e"],["instance","AssetInstance"]]},"AccountData":{"type":"struct","type_mapping":[["free","Balance"],["reserved","Balance"],["miscFrozen","Balance"],["feeFrozen","Balance"]]},"AccountId32":"[u8; 32]","AccountIndex":"U32","AccountInfo":{"type":"struct","type_mapping":[["nonce","Index"],["refcount","RefCount"],["data","AccountData"]]},"AccountInfoWithProviders":{"type":"struct","type_mapping":[["nonce","Index"],["consumers","RefCount"],["providers","RefCount"],["data","AccountData"]]},"AccountInfoWithTripleRefCount":{"type":"struct","type_mapping":[["nonce","Index"],["consumers","RefCount"],["providers","RefCount"],["sufficients","RefCount"],["data","AccountData"]]},"AccountStatus":{"type":"struct","type_mapping":[["validity","AccountValidity"],["freeBalance","Balance"],["lockedBalance","Balance"],["signature","Vec\u003cu8\u003e"],["vat","Permill"]]},"AccountValidity":{"type":"enum","value_list":["Invalid","Initiated","Pending","ValidLow","ValidHigh","Completed"]},"AccountVote":{"type":"enum","type_mapping":[["Standard","AccountVoteStandard"],["Split","AccountVoteSplit"]]},"AccountVoteSplit":{"type":"struct","type_mapping":[["aye","Balance"],["nay","Balance"]]},"AccountVoteStandard":{"type":"struct","type_mapping":[["vote","Vote"],["balance","Balance"]]},"ActiveEraInfo":{"type":"struct","type_mapping":[["index","EraIndex"],["start","MomentOf"]]},"ActiveGilt":{"type":"struct","type_mapping":[["proportion","Perquintill"],["amount","Balance"],["who","AccountId"],["expiry","BlockNumber"]]},"ActiveGiltsTotal":{"type":"struct","type_mapping":[["frozen","Balance"],["proportion","Perquintill"],["index","ActiveIndex"],["target","Perquintill"]]},"ActiveIndex":"u32","ActiveRecovery":{"type":"struct","type_mapping":[["created","BlockNumber"],["deposit","Balance"],["friends","Vec\u003cAccountId\u003e"]]},"AliveContractInfo":{"type":"struct","type_mapping":[["trieId","TrieId"],["storageSize","u32"],["codeHash","CodeHash"],["rentAllowance","Balance"],["rentPaid","Balance"],["deductBlock","BlockNumber"],["lastWrite","Option\u003cBlockNumber\u003e"]]},"AllowedSlots":{"type":"enum","value_list":["PrimarySlots","PrimaryAndSecondaryPlainSlots","PrimaryAndSecondaryVRFSlots"]},"Announcement":"ProxyAnnouncement","AnySignature":"H512","ApiId":"[u8; 8]","Approvals":"[bool; 4]","ArithmeticError":{"type":"enum","value_list":["Underflow","Overflow","DivisionByZero"]},"AssetApproval":{"type":"struct","type_mapping":[["amount","TAssetBalance"],["deposit","TAssetDepositBalance"]]},"AssetApprovalKey":{"type":"struct","type_mapping":[["owner","AccountId"],["delegate","AccountId"]]},"AssetBalance":{"type":"struct","type_mapping":[["balance","TAssetBalance"],["isFrozen","bool"],["isSufficient","bool"]]},"AssetDestroyWitness":{"type":"struct","type_mapping":[["accounts","Compact\u003cu32\u003e"],["sufficients","Compact\u003cu32\u003e"],["approvals","Compact\u003cu32\u003e"]]},"AssetDetails":{"type":"struct","type_mapping":[["owner","AccountId"],["issuer","AccountId"],["admin","AccountId"],["freezer","AccountId"],["supply","TAssetBalance"],["deposit","TAssetDepositBalance"],["minBalance","TAssetBalance"],["isSufficient","bool"],["accounts","u32"],["sufficients","u32"],["approvals","u32"],["isFrozen","bool"]]},"AssetId":"u32","AssetInstance":"AssetInstanceV1","AssetInstanceV0":{"type":"enum","type_mapping":[["Undefined","Null"],["Index8","u8"],["Index16","Compact\u003cu16\u003e"],["Index32","Compact\u003cu32\u003e"],["Index64","Compact\u003cu64\u003e"],["Index128","Compact\u003cu128\u003e"],["Array4","[u8; 4]"],["Array8","[u8; 8]"],["Array16","[u8; 16]"],["Array32","[u8; 32]"],["Blob","Vec\u003cu8\u003e"]]},"AssetInstanceV1":{"type":"enum","type_mapping":[["Undefined","Null"],["Index","Compact\u003cu128\u003e"],["Array4","[u8; 4]"],["Array8","[u8; 8]"],["Array16","[u8; 16]"],["Array32","[u8; 32]"],["Blob","Bytes"]]},"AssetInstanceV2":"AssetInstanceV1","AssetInstanceV3":{"type":"enum","type_mapping":[["Undefined","NULL"],["Index","Compact\u003cu128\u003e"],["Array4","[u8; 4]"],["Array8","[u8; 8]"],["Array16","[u8; 16]"],["Array32","[u8; 32]"]]},"AssetMetadata":{"type":"struct","type_mapping":[["deposit","TAssetDepositBalance"],["name","Vec\u003cu8\u003e"],["symbol","Vec\u003cu8\u003e"],["decimals","u8"],["isFrozen","bool"]]},"AssetOptions":{"type":"struct","type_mapping":[["initalIssuance","Compact\u003cBalance\u003e"],["permissions","PermissionLatest"]]},"AssignmentId":"AccountId","AssignmentKind":{"type":"enum","type_mapping":[["Parachain","Null"],["Parathread","(CollatorId, u32)"]]},"AttestedCandidate":{"type":"struct","type_mapping":[["candidate","AbridgedCandidateReceipt"],["validityVotes","Vec\u003cValidityAttestation\u003e"],["validatorIndices","BitVec"]]},"AuctionIndex":"u32","AuthIndex":"U32","AuthorityDiscoveryId":"AccountId","AuthorityId":"H256","AuthorityIndex":"u64","AuthorityList":"Vec\u003cNextAuthority\u003e","AuthoritySet":{"type":"struct","type_mapping":[["currentAuthorities","AuthorityList"],["setId","u64"],["pendingStandardChanges","ForkTreePendingChange"],["pendingForcedChanges","Vec\u003cPendingChange\u003e"],["authoritySetChanges","AuthoritySetChanges"]]},"AuthoritySetChange":"(U64, BlockNumber)","AuthoritySetChanges":"Vec\u003cAuthoritySetChange\u003e","AuthoritySignature":"Signature","AuthorityWeight":"u64","AvailabilityBitfield":"BitVec","AvailabilityBitfieldRecord":{"type":"struct","type_mapping":[["bitfield","AvailabilityBitfield"],["submittedTt","BlockNumber"]]},"BabeAuthorityWeight":"u64","BabeBlockWeight":"u32","BabeEpochConfiguration":{"type":"struct","type_mapping":[["c","(u64,u64)"],["allowedSlots","AllowedSlots"]]},"BabeEquivocationProof":{"type":"struct","type_mapping":[["offender","AuthorityId"],["slotNumber","SlotNumber"],["firstHeader","Header"],["secondHeader","Header"]]},"BabeWeight":"u64","BackedCandidate":{"type":"struct","type_mapping":[["candidate","CommittedCandidateReceipt"],["validityVotes","Vec\u003cValidityAttestation\u003e"],["validatorIndices","BitVec"]]},"BalanceLock":{"type":"struct","type_mapping":[["id","LockIdentifier"],["amount","Balance"],["until","u32"],["reasons","WithdrawReasons"]]},"BalanceLock\u003cBalance, BlockNumber\u003e":{"type":"struct","type_mapping":[["id","LockIdentifier"],["amount","Balance"],["reasons","Reasons"]]},"BalanceLock\u003cBalance\u003e":{"type":"struct","type_mapping":[["id","LockIdentifier"],["amount","Balance"],["reasons","Reasons"]]},"BalanceOf":"Balance","BalanceStatus":{"type":"enum","value_list":["Free","Reserved"]},"BalanceUpload":{"type":"struct","type_mapping":[["col1","AccountId"],["col2","u64"]]},"Balances":{"type":"struct","type_mapping":[["queryId","Compact\u003cu64\u003e"],["assets","Vec\u003cMultiAsset\u003e"]]},"BeefyCommitment":{"type":"struct","type_mapping":[["payload","BeefyPayload"],["blockNumber","BlockNumber"],["validatorSetId","ValidatorSetId"]]},"BeefyId":"[u8; 33]","BeefyKey":"[u8; 33]","BeefyNextAuthoritySet":{"type":"struct","type_mapping":[["id","u64"],["len","u32"],["root","H256"]]},"BeefyPayload":"MmrRootHash","BeefySignedCommitment":{"type":"struct","type_mapping":[["commitment","BeefyCommitment"],["signatures","Vec\u003cOption\u003cSignature\u003e\u003e"]]},"Bid":{"type":"struct","type_mapping":[["who","AccountId"],["kind","BidKind"],["value","Balance"]]},"BidKind":{"type":"enum","type_mapping":[["Deposit","Balance"],["Vouch","BidKindVouch"]]},"BidKindVouch":{"type":"struct","type_mapping":[["account","AccountId"],["amount","Balance"]]},"Bidder":{"type":"enum","type_mapping":[["New","NewBidder"],["Existing","ParaId"]]},"BlockAttestations":{"type":"struct","type_mapping":[["receipt","CandidateReceipt"],["valid","Vec\u003cAccountId\u003e"],["invalid","Vec\u003cAccountId\u003e"]]},"BlockLength":{"type":"struct","type_mapping":[["max","PerDispatchClassU32"]]},"BlockNumberFor":"BlockNumber","BlockNumberOf":"BlockNumber","BlockTrace":{"type":"struct","type_mapping":[["blockHash","Text"],["parentHash","Text"],["tracingTargets","Text"],["storageKeys","Text"],["spans","Vec\u003cBlockTraceSpan\u003e"],["events","Vec\u003cBlockTraceEvent\u003e"]]},"BlockTraceEvent":{"type":"struct","type_mapping":[["target","Text"],["data","BlockTraceEventData"],["parentId","Option\u003cu64\u003e"]]},"BlockTraceEventData":{"type":"struct","type_mapping":[["stringValues","HashMap\u003cText, Text\u003e"]]},"BlockTraceSpan":{"type":"struct","type_mapping":[["id","u64"],["parentId","Option\u003cu64\u003e"],["name","Text"],["target","Text"],["wasm","bool"]]},"BlockTransactions":{"type":"enum","type_mapping":[["Hashes","Vec\u003cH256\u003e"],["Full","Vec\u003cethereum::Transaction\u003e"]]},"BlockV0":{"type":"struct","type_mapping":[["header","EthHeader"],["transactions","Vec\u003cTransactionV0\u003e"],["ommers","Vec\u003cEthHeader\u003e"]]},"BlockV1":{"type":"struct","type_mapping":[["header","EthHeader"],["transactions","Vec\u003cTransactionV1\u003e"],["ommers","Vec\u003cEthHeader\u003e"]]},"BlockV2":{"type":"struct","type_mapping":[["header","EthHeader"],["transactions","Vec\u003cTransactionV2\u003e"],["ommers","Vec\u003cEthHeader\u003e"]]},"BlockWeights":{"type":"struct","type_mapping":[["baseBlock","Weight"],["maxBlock","Weight"],["perClass","PerDispatchClass"]]},"BodyId":{"type":"enum","type_mapping":[["Unit","Null"],["Named","Vec\u003cu8\u003e"],["Index","Compact\u003cu32\u003e"],["Executive","Null"],["Technical","Null"],["Legislative","Null"],["Judicial","Null"],["Defense","Null"],["Administration","Null"],["Treasury","Null"]]},"BodyPart":{"type":"enum","type_mapping":[["Voice","Null"],["Members","Compact\u003cu32\u003e"],["Fraction","[[\"nom\", \"Compact\u003cu32\u003e\"], [\"denom\", \"Compact\u003cu32\u003e\"]]"],["AtLeastProportion","[[\"nom\", \"Compact\u003cu32\u003e\"], [\"denom\", \"Compact\u003cu32\u003e\"]]"],["MoreThanProportion","[[\"nom\", \"Compact\u003cu32\u003e\"], [\"denom\", \"Compact\u003cu32\u003e\"]]"]]},"Bounty":{"type":"struct","type_mapping":[["proposer","AccountId"],["value","Balance"],["fee","Balance"],["curator_deposit","Balance"],["bond","Balance"],["status","BountyStatus"]]},"BountyIndex":"u32","BountyStatus":{"type":"enum","type_mapping":[["Proposed","Null"],["Approved","Null"],["Funded","Null"],["CuratorProposed","BountyStatusCuratorProposed"],["Active","BountyStatusActive"],["PendingPayout","BountyStatusPendingPayout"]]},"BountyStatusActive":{"type":"struct","type_mapping":[["curator","AccountId"],["update_due","BlockNumber"]]},"BountyStatusCuratorProposed":{"type":"struct","type_mapping":[["curator","AccountId"]]},"BountyStatusPendingPayout":{"type":"struct","type_mapping":[["curator","AccountId"],["beneficiary","AccountId"],["unlockAt","BlockNumber"]]},"Box\u003c\u003cT as Config\u003cI\u003e\u003e::Proposal\u003e":"Proposal","Box\u003c\u003cT as Config\u003e::Call\u003e":"Call","Box\u003c\u003cT as Trait\u003cI\u003e\u003e::Proposal\u003e":"BoxProposal","Box\u003cCall\u003e":"BoxProposal","Box\u003cProposal\u003e":"BoxProposal","BridgeMessageId":"(LaneId, MessageNonce)","BridgedBlockHash":"H256","BridgedBlockNumber":"BlockNumber","BridgedHeader":"Header","BufferedSessionChange":{"type":"struct","type_mapping":[["applyAt","BlockNumber"],["validators","Vec\u003cValidatorId\u003e"],["queued","Vec\u003cValidatorId\u003e"],["sessionIndex","SessionIndex"]]},"ByForkV3":{"type":"struct","type_mapping":[["block_number","u64"],["block_hash","[u8; 32]"]]},"CallHash":"H256","CallHashOf":"H256","CallIndex":"(u8, u8)","CallOrigin":{"type":"enum","type_mapping":[["SourceRoot","Null"],["TargetAccount","(AccountId, MultiSigner, MultiSignature)"],["SourceAccount","AccountId"]]},"CandidateCommitments":{"type":"struct","type_mapping":[["upwardMessages","Vec\u003cUpwardMessage\u003e"],["horizontalMessages","Vec\u003cOutboundHrmpMessage\u003e"],["newValidationCode","Option\u003cValidationCode\u003e"],["headData","HeadData"],["processedDownwardMessages","u32"],["hrmpWatermark","BlockNumber"]]},"CandidateDescriptor":{"type":"struct","type_mapping":[["paraId","ParaId"],["relayParent","RelayChainHash"],["collatorId","CollatorId"],["persistedValidationDataHash","Hash"],["povHash","Hash"],["erasureRoot","Hash"],["signature","CollatorSignature"],["paraHead","Hash"],["validationCodeHash","Hash"]]},"CandidateHash":"Hash","CandidatePendingAvailability":{"type":"struct","type_mapping":[["core","CoreIndex"],["hash","CandidateHash"],["descriptor","CandidateDescriptor"],["availabilityoVotes","BitVec"],["backers","BitVec"],["relayParentNumber","BlockNumber"],["backedInNumber","BlockNumber"],["backingGroup","GroupIndex"]]},"CandidateReceipt":{"type":"struct","type_mapping":[["descriptor","CandidateDescriptor"],["commitmentsHash","Hash"]]},"ChainId":"[u8; 4]","ChangesTrieConfiguration":{"type":"struct","type_mapping":[["digestInterval","u32"],["digestLevels","u32"]]},"ChangesTrieSignal":{"type":"enum","type_mapping":[["NewConfiguration","Option\u003cChangesTrieConfiguration\u003e"]]},"ClassDetails":{"type":"struct","type_mapping":[["owner","AccountId"],["issuer","AccountId"],["admin","AccountId"],["freezer","AccountId"],["totalDeposit","DepositBalance"],["freeHolding","bool"],["instances","u32"],["instanceMetadatas","u32"],["attributes","u32"],["isFrozen","bool"]]},"ClassId":"u32","ClassMetadata":{"type":"struct","type_mapping":[["deposit","DepositBalance"],["data","Vec\u003cu8\u003e"],["isFrozen","bool"]]},"CodeHash":"Hash","CollatorId":"H256","CollatorSignature":"Signature","CollectiveOrigin":{"type":"enum","type_mapping":[["Members","(MemberCount, MemberCount)"],["Member","AccountId"]]},"CommittedCandidateReceipt":{"type":"struct","type_mapping":[["descriptor","CandidateDescriptor"],["commitments","CandidateCommitments"]]},"CompactAssignments":{"type":"struct","type_mapping":[["votes1","Vec\u003c(NominatorIndex, ValidatorIndex)\u003e"],["votes2","Vec\u003c(NominatorIndex, [CompactScore; 1], ValidatorIndex)\u003e"],["votes3","Vec\u003c(NominatorIndex, [CompactScore; 2], ValidatorIndex)\u003e"],["votes4","Vec\u003c(NominatorIndex, [CompactScore; 3], ValidatorIndex)\u003e"],["votes5","Vec\u003c(NominatorIndex, [CompactScore; 4], ValidatorIndex)\u003e"],["votes6","Vec\u003c(NominatorIndex, [CompactScore; 5], ValidatorIndex)\u003e"],["votes7","Vec\u003c(NominatorIndex, [CompactScore; 6], ValidatorIndex)\u003e"],["votes8","Vec\u003c(NominatorIndex, [CompactScore; 7], ValidatorIndex)\u003e"],["votes9","Vec\u003c(NominatorIndex, [CompactScore; 8], ValidatorIndex)\u003e"],["votes10","Vec\u003c(NominatorIndex, [CompactScore; 9], ValidatorIndex)\u003e"],["votes11","Vec\u003c(NominatorIndex, [CompactScore; 10], ValidatorIndex)\u003e"],["votes12","Vec\u003c(NominatorIndex, [CompactScore; 11], ValidatorIndex)\u003e"],["votes13","Vec\u003c(NominatorIndex, [CompactScore; 12], ValidatorIndex)\u003e"],["votes14","Vec\u003c(NominatorIndex, [CompactScore; 13], ValidatorIndex)\u003e"],["votes15","Vec\u003c(NominatorIndex, [CompactScore; 14], ValidatorIndex)\u003e"],["votes16","Vec\u003c(NominatorIndex, [CompactScore; 15], ValidatorIndex)\u003e"]]},"CompactAssignmentsLatest":{"type":"struct","type_mapping":[["votes1","Vec\u003c(NominatorIndexCompact, ValidatorIndexCompact)\u003e"],["votes2","Vec\u003c(NominatorIndexCompact, CompactScoreCompact, ValidatorIndexCompact)\u003e"],["votes3","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 2], ValidatorIndexCompact)\u003e"],["votes4","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 3], ValidatorIndexCompact)\u003e"],["votes5","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 4], ValidatorIndexCompact)\u003e"],["votes6","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 5], ValidatorIndexCompact)\u003e"],["votes7","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 6], ValidatorIndexCompact)\u003e"],["votes8","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 7], ValidatorIndexCompact)\u003e"],["votes9","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 8], ValidatorIndexCompact)\u003e"],["votes10","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 9], ValidatorIndexCompact)\u003e"],["votes11","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 10], ValidatorIndexCompact)\u003e"],["votes12","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 11], ValidatorIndexCompact)\u003e"],["votes13","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 12], ValidatorIndexCompact)\u003e"],["votes14","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 13], ValidatorIndexCompact)\u003e"],["votes15","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 14], ValidatorIndexCompact)\u003e"],["votes16","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 15], ValidatorIndexCompact)\u003e"]]},"CompactAssignmentsVote":{"type":"struct","type_mapping":[["accountId1","AccountId"],["scores","Vec\u003cCompactScore\u003e"],["accountId2","AccountId"]]},"CompactAssignmentsWith24":{"type":"struct","type_mapping":[["votes1","Vec\u003c(NominatorIndexCompact, ValidatorIndexCompact)\u003e"],["votes2","Vec\u003c(NominatorIndexCompact, CompactScoreCompact, ValidatorIndexCompact)\u003e"],["votes3","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 2], ValidatorIndexCompact)\u003e"],["votes4","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 3], ValidatorIndexCompact)\u003e"],["votes5","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 4], ValidatorIndexCompact)\u003e"],["votes6","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 5], ValidatorIndexCompact)\u003e"],["votes7","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 6], ValidatorIndexCompact)\u003e"],["votes8","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 7], ValidatorIndexCompact)\u003e"],["votes9","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 8], ValidatorIndexCompact)\u003e"],["votes10","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 9], ValidatorIndexCompact)\u003e"],["votes11","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 10], ValidatorIndexCompact)\u003e"],["votes12","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 11], ValidatorIndexCompact)\u003e"],["votes13","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 12], ValidatorIndexCompact)\u003e"],["votes14","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 13], ValidatorIndexCompact)\u003e"],["votes15","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 14], ValidatorIndexCompact)\u003e"],["votes16","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 15], ValidatorIndexCompact)\u003e"],["votes17","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 16], ValidatorIndexCompact)\u003e"],["votes18","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 17], ValidatorIndexCompact)\u003e"],["votes19","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 18], ValidatorIndexCompact)\u003e"],["votes20","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 19], ValidatorIndexCompact)\u003e"],["votes21","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 20], ValidatorIndexCompact)\u003e"],["votes22","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 21], ValidatorIndexCompact)\u003e"],["votes23","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 22], ValidatorIndexCompact)\u003e"],["votes24","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 23], ValidatorIndexCompact)\u003e"]]},"CompactScore":{"type":"struct","type_mapping":[["validatorIndex","ValidatorIndex"],["offchainAccuracy","OffchainAccuracy"]]},"CompactScoreCompact":{"type":"struct","type_mapping":[["validatorIndex","ValidatorIndexCompact"],["offchainAccuracy","OffchainAccuracyCompact"]]},"ConcreteFungible":{"type":"struct","type_mapping":[["id","MultiLocation"],["amount","Compact\u003cu128\u003e"]]},"ConcreteNonFungible":{"type":"struct","type_mapping":[["class","MultiLocation"],["instance","AssetInstance"]]},"ConfigData":{"type":"struct","type_mapping":[["maxIndividual","Weight"]]},"ConsensusEngineId":"[u8; 4]","ConsumedWeight":"PerDispatchClass","ContractCallRequest":{"type":"struct","type_mapping":[["origin","AccountId"],["dest","AccountId"],["value","Balance"],["gasLimit","u64"],["inputData","Bytes"]]},"ContractExecResult":{"type":"enum","type_mapping":[["Success","ContractExecResultSuccess"],["Error","Null"]]},"ContractExecResultSuccess":{"type":"struct","type_mapping":[["flags","u32"],["data","Bytes"],["gasConsumed","u64"]]},"ContractExecResultSuccessTo255":{"type":"struct","type_mapping":[["status","u8"],["data","Raw"]]},"ContractExecResultTo255":{"type":"enum","type_mapping":[["Success","ContractExecResultSuccessTo255"],["Error","Null"],["gasConsumed","u64"]]},"ContractInfo":{"type":"enum","type_mapping":[["Alive","AliveContractInfo"],["Tombstone","TombstoneContractInfo"]]},"ContractInstantiateResult":{"type":"enum","type_mapping":[["Ok","InstantiateReturnValue"],["Err","Null"]]},"ContractProject":{"type":"struct","type_mapping":[["metadataVersion","Text"],["source","ContractProjectSource"],["contract","ContractProjectContract"],["types","Vec\u003cSiType\u003e"],["spec","ContractContractSpec"]]},"ContractProjectContract":{"type":"struct","type_mapping":[["name","Text"],["version","Text"],["authors","Vec\u003cText\u003e"],["description","Option\u003cText\u003e"],["documentation","Option\u003cText\u003e"],["repository","Option\u003cText\u003e"],["homepage","Option\u003cText\u003e"],["license","Option\u003cText\u003e"]]},"ContractProjectSource":{"type":"struct","type_mapping":[["hash","[u8; 32]"],["language","Text"],["compiler","Text"]]},"ContractStorageKey":"[u8; 32]","Conviction":{"type":"enum","value_list":["None","Locked1x","Locked2x","Locked3x","Locked4x","Locked5x","Locked6x"]},"CoreAssignment":{"type":"struct","type_mapping":[["core","CoreIndex"],["paraId","ParaId"],["kind","AssignmentKind"],["groupIdx","GroupIndex"]]},"CoreIndex":"u32","CoreOccupied":{"type":"enum","type_mapping":[["Parathread","ParathreadEntry"],["Parachain","Null"]]},"CreatedBlock":{"type":"struct","type_mapping":[["hash","BlockHash"],["aux","ImportedAux"]]},"CustomValueMetadata15":{"type":"struct","type_mapping":[["type","SiLookupTypeId"],["value","Bytes"]]},"DeferredOffenceOf":"(Vec\u003cOffenceDetails\u003e, Vec\u003cPerbill\u003e, SessionIndex)","DefunctVoter":{"type":"struct","type_mapping":[["who","AccountId"],["voteCount","Compact\u003cu32\u003e"],["candidateCount","Compact\u003cu32\u003e"]]},"DelayKind":{"type":"enum","type_mapping":[["Finalized","Null"],["Best","DelayKindBest"]]},"DelayKindBest":{"type":"struct","type_mapping":[["medianLastFinalized","BlockNumber"]]},"Delegations":{"type":"struct","type_mapping":[["votes","Balance"],["capital","Balance"]]},"DeliveredMessages":{"type":"struct","type_mapping":[["begin","MessageNonce"],["end","MessageNonce"],["dispatchResults","BitVec"]]},"DepositAsset":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["dest","MultiLocation"]]},"DepositBalance":"Balance","DepositBalanceOf":"Balance","DepositReserveAsset":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["dest","MultiLocation"],["effects","Vec\u003cOrder\u003e"]]},"DestroyWitness":{"type":"struct","type_mapping":[["instances","Compact\u003cu32\u003e"],["instanceMetadatas","Compact\u003cu32\u003e"],["attributes","Compact\u003cu32\u003e"]]},"Digest":{"type":"struct","type_mapping":[["logs","Vec\u003cDigestItem\u003cHash\u003e\u003e"]]},"DigestItem":{"type":"enum","type_mapping":[["Other","Vec\u003cu8\u003e"],["AuthoritiesChange","Vec\u003cAuthorityId\u003e"],["ChangesTrieRoot","Hash"],["SealV0","SealV0"],["Consensus","Consensus"],["Seal","Seal"],["PreRuntime","PreRuntime"],["ChangesTrieSignal","ChangesTrieSignal"],["RuntimeEnvironmentUpdated","NULL"]]},"DigestOf":"Digest","DispatchClass":{"type":"enum","value_list":["Normal","Operational","Mandatory"]},"DispatchError":{"type":"enum","type_mapping":[["Other","Null"],["CannotLookup","Null"],["BadOrigin","Null"],["Module","DispatchErrorModule"],["ConsumerRemaining","Null"],["NoProviders","Null"],["Token","TokenError"],["Arithmetic","ArithmeticError"]]},"DispatchErrorModule":{"type":"struct","type_mapping":[["index","u8"],["error","u8"]]},"DispatchFeePayment":{"type":"enum","value_list":["AtSourceChain","AtTargetChain"]},"DispatchInfo":{"type":"struct","type_mapping":[["weight","Weight"],["class","DispatchClass"],["paysFee","Pays"]]},"DispatchInfo258":{"type":"struct","type_mapping":[["weight","Weight"],["class","DispatchClass"],["paysFee","bool"]]},"DispatchResult":{"type":"enum","type_mapping":[["Ok","Null"],["Error","DispatchError"]]},"DisputeLocation":{"type":"enum","value_list":["Local","Remote"]},"DisputeResult":{"type":"enum","value_list":["Valid","Invalid"]},"DisputeState":{"type":"struct","type_mapping":[["validatorsFor","BitVec"],["validatorsAgainst","BitVec"],["start","BlockNumber"],["concludedAt","Option\u003cBlockNumber\u003e"]]},"DisputeStatement":{"type":"enum","type_mapping":[["Valid","ValidDisputeStatementKind"],["Invalid","InvalidDisputeStatementKind"]]},"DisputeStatementSet":{"type":"struct","type_mapping":[["candidateHash","CandidateHash"],["session","SessionIndex"],["statements","Vec\u003c(DisputeStatement, ParaValidatorIndex, ValidatorSignature)\u003e"]]},"DoNotConstruct":"Null","DoubleEncodedCall":{"type":"struct","type_mapping":[["encoded","Vec\u003cu8\u003e"]]},"DoubleVoteReport":{"type":"struct","type_mapping":[["identity","ValidatorId"],["first","(Statement, ValidatorSignature)"],["second","(Statement, ValidatorSignature)"],["proof","MembershipProof"],["signingContext","SigningContext"]]},"DownwardMessage":"Bytes","EIP1559Transaction":{"type":"struct","type_mapping":[["chainId","u64"],["nonce","U256"],["maxPriorityFeePerGas","U256"],["maxFeePerGas","U256"],["gasLimit","U256"],["action","EthTransactionAction"],["value","U256"],["input","Bytes"],["accessList","EthAccessList"],["oddYParity","bool"],["r","H256"],["s","H256"]]},"EIP2930Transaction":{"type":"struct","type_mapping":[["chainId","u64"],["nonce","U256"],["gasPrice","U256"],["gasLimit","U256"],["action","EthTransactionAction"],["value","U256"],["input","Bytes"],["accessList","EthAccessList"],["oddYParity","bool"],["r","H256"],["s","H256"]]},"EcdsaSignature":"[u8; 65]","Ed25519Signature":"H512","EgressQueueRoot":{"type":"struct","type_mapping":[["col1","ParaId"],["col2","Hash"]]},"ElectionCompute":{"type":"enum","value_list":["OnChain","Signed","Unsigned"]},"ElectionPhase":{"type":"enum","type_mapping":[["Off","Null"],["Signed","Null"],["Unsigned","(bool, BlockNumber)"],["Emergency","Null"]]},"ElectionResult":{"type":"struct","type_mapping":[["compute","ElectionCompute"],["slotStake","Balance"],["electedStashes","Vec\u003cAccountId\u003e"],["exposures","Vec\u003c(AccountId, Exposure)\u003e"]]},"ElectionScore":"[u128; 3]","ElectionSize":{"type":"struct","type_mapping":[["validators","ValidatorIndex"],["nominators","NominatorIndex"]]},"ElectionStatus":{"type":"enum","type_mapping":[["Close","Null"],["Open","BlockNumber"]]},"EncodedFinalityProofs":"Bytes","EpochAuthorship":{"type":"struct","type_mapping":[["primary","Vec\u003cu64\u003e"],["secondary","Vec\u003cu64\u003e"],["secondary_vrf","Vec\u003cu64\u003e"]]},"Equivocation":"GrandpaEquivocation","EquivocationProof\u003cHash, BlockNumber\u003e":"GrandpaEquivocationProof","EquivocationProof\u003cHeader\u003e":"BabeEquivocationProof","EraIndex":"U32","EraRewardPoints":{"type":"struct","type_mapping":[["total","RewardPoint"],["individual","Vec\u003c(AccountId, RewardPoint)\u003e"]]},"EthAccessList":"Vec\u003cEthAccessListItem\u003e","EthAccessListItem":{"type":"struct","type_mapping":[["address","EthAddress"],["slots","Vec\u003cH256\u003e"]]},"EthAccount":{"type":"struct","type_mapping":[["address","H160"],["balance","U256"],["nonce","U256"],["codeHash","H256"],["storageHash","H256"],["accountProof","Vec\u003cBytes\u003e"],["storageProof","Vec\u003cEthStorageProof\u003e"]]},"EthAddress":"H160","EthBlock":{"type":"struct","type_mapping":[["header","EthHeader"],["transactions","Vec\u003cEthTransaction\u003e"],["ommers","Vec\u003cEthHeader\u003e"]]},"EthBloom":"H2048","EthCallRequest":{"type":"struct","type_mapping":[["from","Option\u003cH160\u003e"],["to","Option\u003cH160\u003e"],["gasPrice","Option\u003cU256\u003e"],["gas","Option\u003cU256\u003e"],["value","Option\u003cU256\u003e"],["data","Option\u003cBytes\u003e"],["nonce","Option\u003cU256\u003e"]]},"EthFilter":{"type":"struct","type_mapping":[["fromBlock","Option\u003cBlockNumber\u003e"],["toBlock","Option\u003cBlockNumber\u003e"],["blockHash","Option\u003cH256\u003e"],["address","Option\u003cEthFilterAddress\u003e"],["topics","Option\u003cEthFilterTopic\u003e"]]},"EthFilterAddress":{"type":"enum","type_mapping":[["Single","H160"],["Multiple","Vec\u003cH160\u003e"],["Null","Null"]]},"EthFilterChanges":{"type":"enum","type_mapping":[["Logs","Vec\u003cEthLog\u003e"],["Hashes","Vec\u003cH256\u003e"],["Empty","Null"]]},"EthFilterTopic":{"type":"enum","type_mapping":[["Single","EthFilterTopicInner"],["Multiple","Vec\u003cEthFilterTopicInner\u003e"],["Null","Null"]]},"EthFilterTopicEntry":"Option\u003cH256\u003e","EthFilterTopicInner":{"type":"enum","type_mapping":[["Single","EthFilterTopicEntry"],["Multiple","Vec\u003cEthFilterTopicEntry\u003e"],["Null","Null"]]},"EthHeader":{"type":"struct","type_mapping":[["parentHash","H256"],["ommersHash","H256"],["beneficiary","H160"],["stateRoot","H256"],["transactionsRoot","H256"],["receiptsRoot","H256"],["logsBloom","EthBloom"],["difficulty","U256"],["number","U256"],["gasLimit","U256"],["gasUsed","U256"],["timestamp","U64"],["extraData","Bytes"],["mixMash","H256"],["nonce","H64"]]},"EthLog":{"type":"struct","type_mapping":[["address","H160"],["topics","Vec\u003cH256\u003e"],["data","Bytes"],["blockHash","Option\u003cH256\u003e"],["blockNumber","Option\u003cU256\u003e"],["transactionHash","Option\u003cH256\u003e"],["transactionIndex","Option\u003cU256\u003e"],["logIndex","Option\u003cU256\u003e"],["transactionLogIndex","Option\u003cU256\u003e"],["removed","bool"]]},"EthReceipt":{"type":"struct","type_mapping":[["transactionHash","Option\u003cH256\u003e"],["transactionIndex","Option\u003cU256\u003e"],["blockHash","Option\u003cH256\u003e"],["from","Option\u003cH160\u003e"],["to","Option\u003cH160\u003e"],["blockNumber","Option\u003cU256\u003e"],["cumulativeGasUsed","U256"],["gasUsed","Option\u003cU256\u003e"],["contractAddress","Option\u003cH160\u003e"],["logs","Vec\u003cEthLog\u003e"],["root","Option\u003cH256\u003e"],["logsBloom","H2048"],["statusCode","Option\u003cU64\u003e"]]},"EthRichBlock":"EthBlock","EthRichHeader":"EthHeader","EthStorageProof":{"type":"struct","type_mapping":[["key","U256"],["value","U256"],["proof","Vec\u003cBytes\u003e"]]},"EthSubKind":{"type":"enum","value_list":["newHeads","logs","newPendingTransactions","syncing"]},"EthSubParams":{"type":"enum","type_mapping":[["None","Null"],["Logs","EthFilter"]]},"EthSubResult":{"type":"enum","type_mapping":[["Header","EthRichHeader"],["Log","EthLog"],["TransactionHash","H256"],["SyncState","EthSyncStatus"]]},"EthSyncInfo":{"type":"struct","type_mapping":[["startingBlock","U256"],["currentBlock","U256"],["highestBlock","U256"],["warpChunksAmount","Option\u003cU256\u003e"],["warpChunksProcessed","Option\u003cU256\u003e"]]},"EthSyncStatus":{"type":"enum","type_mapping":[["Info","EthSyncInfo"],["None","Null"]]},"EthTransaction":"LegacyTransaction","EthTransactionAction":{"type":"enum","type_mapping":[["Call","H160"],["Create","NULL"]]},"EthTransactionCondition":{"type":"enum","type_mapping":[["block","u64"],["time","u64"]]},"EthTransactionRequest":{"type":"struct","type_mapping":[["from","Option\u003cH160\u003e"],["to","Option\u003cH160\u003e"],["gasPrice","Option\u003cU256\u003e"],["gas","Option\u003cU256\u003e"],["value","Option\u003cU256\u003e"],["data","Option\u003cBytes\u003e"],["nonce","Option\u003cU256\u003e"]]},"EthTransactionSignature":"TransactionSignature","EthTransactionStatus":{"type":"struct","type_mapping":[["transactionHash","H256"],["transactionIndex","u32"],["from","H160"],["to","Option\u003cH160\u003e"],["contractAddress","Option\u003cH160\u003e"],["logs","Vec\u003cEthLog\u003e"],["logsBloom","EthBloom"]]},"EthWork":{"type":"struct","type_mapping":[["pow_hash","H256"],["seed_hash","H256"],["target","H256"],["number","Option\u003cu64\u003e"]]},"EthereumAccountId":"EthereumAddress","EthereumLookupSource":"EthereumAddress","EthereumSignature":"[u8; 65]","EventIndex":"u32","ExchangeAsset":{"type":"struct","type_mapping":[["give","Vec\u003cMultiAsset\u003e"],["receive","Vec\u003cMultiAsset\u003e"]]},"ExecReturnValue":{"type":"struct","type_mapping":[["flags","u32"],["data","Bytes"]]},"ExitError":{"type":"enum","type_mapping":[["StackUnderflow","NULL"],["StackOverflow","NULL"],["InvalidJump","NULL"],["InvalidRange","NULL"],["DesignatedInvalid","NULL"],["CallTooDeep","NULL"],["CreateCollision","NULL"],["CreateContractLimit","NULL"],["OutOfOffset","NULL"],["OutOfGas","NULL"],["OutOfFund","NULL"],["PCUnderflow","NULL"],["CreateEmpty","NULL"],["Other","string"]]},"ExitFatal":{"type":"enum","type_mapping":[["NotSupported","NULL"],["UnhandledInterrupt","NULL"],["CallErrorAsFatal","NULL"],["Other","string"]]},"ExitReason":{"type":"enum","type_mapping":[["Succeed","ExitSucceed"],["Error","ExitError"],["Revert","ExitRevert"],["Fatal","ExitFatal"]]},"ExitRevert":{"type":"enum","value_list":["Reverted"]},"ExitSucceed":{"type":"enum","value_list":["Stopped","Returned","Suicided"]},"ExplicitDisputeStatement":{"type":"struct","type_mapping":[["valid","bool"],["candidateHash","CandidateHash"],["session","SessionIndex"]]},"ExtendedBalance":"u128","ExtrinsicMetadata":{"type":"struct","type_mapping":[["version","u8"],["signedExtensions","Vec\u003cBytes\u003e"]]},"ExtrinsicMetadataV14":{"type":"struct","type_mapping":[["type","SiLookupTypeId"],["version","u8"],["signedExtensions","Vec\u003cSignedExtensionMetadataV14\u003e"]]},"ExtrinsicMetadataV15":{"type":"struct","type_mapping":[["version","u8"],["addressType","SiLookupTypeId"],["callType","SiLookupTypeId"],["signatureType","SiLookupTypeId"],["extraType","SiLookupTypeId"],["signedExtensions","Vec\u003cSignedExtensionMetadataV14\u003e"]]},"ExtrinsicSignature":"MultiSignature","ExtrinsicsWeight":{"type":"struct","type_mapping":[["normal","Weight"],["operational","Weight"]]},"FeeDetails":{"type":"struct","type_mapping":[["inclusionFee","Option\u003cInclusionFee\u003e"]]},"FixedU128":"u128","Forcing":{"type":"enum","value_list":["NotForcing","ForceNew","ForceNone"]},"ForkTreePendingChange":{"type":"struct","type_mapping":[["roots","Vec\u003cForkTreePendingChangeNode\u003e"],["bestFinalizedNumber","Option\u003cBlockNumber\u003e"]]},"ForkTreePendingChangeNode":{"type":"struct","type_mapping":[["hash","BlockHash"],["number","BlockNumber"],["data","PendingChange"],["children","Vec\u003cForkTreePendingChangeNode\u003e"]]},"FullIdentification":{"type":"struct","type_mapping":[["total","Compact\u003cBalance\u003e"],["own","Compact\u003cBalance\u003e"],["others","Vec\u003cIndividualExposure\u003e"]]},"FundIndex":"u32","FundInfo":{"type":"struct","type_mapping":[["depositor","AccountId"],["verifier","Option\u003cMultiSigner\u003e"],["deposit","Balance"],["raised","Balance"],["end","BlockNumber"],["cap","Balance"],["last_contribution","LastContribution\u003cBlockNumber\u003e"],["first_period","LeasePeriod"],["last_period","LeasePeriod"],["trie_index","TrieIndex"]]},"FungibilityV0":"FungibilityV1","FungibilityV1":{"type":"enum","type_mapping":[["Fungible","Compact\u003cu128\u003e"],["NonFungible","AssetInstanceV1"]]},"FungibilityV2":"FungibilityV1","FungibilityV3":{"type":"enum","type_mapping":[["Fungible","Compact\u003cu128\u003e"],["NonFungible","AssetInstanceV3"]]},"Gas":"u64","GeneralKeyV3":{"type":"struct","type_mapping":[["length","u8"],["data","[u8; 32]"]]},"GenericMultiAddress":{"type":"enum","type_mapping":[["Id","AccountId"],["Index","Compact\u003cAccountIndex\u003e"],["Raw","Bytes"],["Address32","H256"],["Address20","H160"]]},"GenericPortableRegistry":"Vec\u003cPortableType\u003e","GiltBid":{"type":"struct","type_mapping":[["amount","Balance"],["who","AccountId"]]},"GlobalValidationData":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["blockNumber","blockNumber"]]},"GlobalValidationSchedule":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["blockNumber","BlockNumber"]]},"GrandpaCommit":{"type":"struct","type_mapping":[["targetHash","BlockHash"],["targetNumber","BlockNumber"],["precommits","Vec\u003cGrandpaSignedPrecommit\u003e"]]},"GrandpaEquivocation":{"type":"enum","type_mapping":[["Prevote","GrandpaEquivocationValue"],["Precommit","GrandpaEquivocationValue"]]},"GrandpaEquivocationProof":{"type":"struct","type_mapping":[["setId","SetId"],["equivocation","GrandpaEquivocation"]]},"GrandpaEquivocationValue":{"type":"struct","type_mapping":[["roundNumber","u64"],["identity","AuthorityId"],["first","(GrandpaPrevote, AuthoritySignature)"],["second","(GrandpaPrevote, AuthoritySignature)"]]},"GrandpaJustification":{"type":"struct","type_mapping":[["round","u64"],["commit","GrandpaCommit"],["votesAncestries","Vec\u003cHeader\u003e"]]},"GrandpaPrecommit":{"type":"struct","type_mapping":[["targetHash","BlockHash"],["targetNumber","BlockNumber"]]},"GrandpaPrevote":{"type":"struct","type_mapping":[["targetHash","Hash"],["targetNumber","BlockNumber"]]},"GrandpaSignedPrecommit":{"type":"struct","type_mapping":[["precommit","GrandpaPrecommit"],["signature","AuthoritySignature"],["id","AuthorityId"]]},"GroupIndex":"u32","H1024":"[u8; 128]","H2048":"[u8; 256]","HeadData":"Bytes","Header":{"type":"struct","type_mapping":[["parent_hash","H256"],["number","Compact\u003cBlockNumber\u003e"],["state_root","H256"],["extrinsics_root","H256"],["digest","Digest"]]},"Heartbeat":{"type":"struct","type_mapping":[["blockNumber","BlockNumber"],["networkState","OpaqueNetworkState"],["sessionIndex","SessionIndex"],["authorityIndex","AuthIndex"]]},"HostConfiguration":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["maxUpwardQueueCount","u32"],["maxUpwardQueueSize","u32"],["maxUpwardMessageSize","u32"],["maxUpwardMessageNumPerCandidate","u32"],["hrmpMaxMessageNumPerCandidate","u32"],["validationUpgradeFrequency","BlockNumber"],["validationUpgradeDelay","BlockNumber"],["maxPovSize","u32"],["maxDownwardMessageSize","u32"],["preferredDispatchableUpwardMessagesStepWeight","Weight"],["hrmpMaxParachainOutboundChannels","u32"],["hrmpMaxParathreadOutboundChannels","u32"],["hrmpOpenRequestTtl","u32"],["hrmpSenderDeposit","Balance"],["hrmpRecipientDeposit","Balance"],["hrmpChannelMaxCapacity","u32"],["hrmpChannelMaxTotalSize","u32"],["hrmpMaxParachainInboundChannels","u32"],["hrmpMaxParathreadInboundChannels","u32"],["hrmpChannelMaxMessageSize","u32"],["codeRetentionPeriod","BlockNumber"],["parathreadCores","u32"],["parathreadRetries","u32"],["groupRotationFrequency","BlockNumber"],["chainAvailabilityPeriod","BlockNumber"],["threadAvailabilityPeriod","BlockNumber"],["schedulingLookahead","u32"],["maxValidatorsPerCore","Option\u003cu32\u003e"],["disputePeriod","SessionIndex"],["disputePostConclusionAcceptancePeriod","BlockNumber"],["disputeMaxSpamSlots","u32"],["disputeConclusionByTimeOutPeriod","BlockNumber"],["noShowSlots","u32"],["nDelayTranches","u32"],["zerothDelayTrancheWidth","u32"],["neededApprovals","u32"],["relayVrfModuloSamples","u32"]]},"HostFnWeights":{"type":"struct","type_mapping":[["caller","Weight"],["address","Weight"],["gasLeft","Weight"],["balance","Weight"],["valueTransferred","Weight"],["minimumBalance","Weight"],["tombstoneDeposit","Weight"],["rentAllowance","Weight"],["blockNumber","Weight"],["now","Weight"],["weightToFee","Weight"],["gas","Weight"],["input","Weight"],["inputPerByte","Weight"],["return","Weight"],["returnPerByte","Weight"],["terminate","Weight"],["restoreTo","Weight"],["restoreToPerDelta","Weight"],["random","Weight"],["depositEvent","Weight"],["depositEventPerTopic","Weight"],["depositEventPerByte","Weight"],["setRentAllowance","Weight"],["setStorage","Weight"],["setStoragePerByte","Weight"],["clearStorage","Weight"],["getStorage","Weight"],["getStoragePerByte","Weight"],["transfer","Weight"],["call","Weight"],["callTransferSurcharge","Weight"],["callPerInputByte","Weight"],["callPerOutputByte","Weight"],["instantiate","Weight"],["instantiatePerInputByte","Weight"],["instantiatePerOutputByte","Weight"],["hashSha2256","Weight"],["hashSha2256PerByte","Weight"],["hashKeccak256","Weight"],["hashKeccak256PerByte","Weight"],["hashBlake2256","Weight"],["hashBlake2256PerByte","Weight"],["hashBlake2128","Weight"],["hashBlake2128PerByte","Weight"]]},"HrmpChannel":{"type":"struct","type_mapping":[["maxCapacity","u32"],["maxTotalSize","u32"],["maxMessageSize","u32"],["msgCount","u32"],["totalSize","u32"],["mqcHead","Option\u003cHash\u003e"],["senderDeposit","Balance"],["recipientDeposit","Balance"]]},"HrmpChannelId":{"type":"struct","type_mapping":[["sender","u32"],["receiver","u32"]]},"HrmpOpenChannelRequest":{"type":"struct","type_mapping":[["confirmed","bool"],["age","SessionIndex"],["senderDeposit","Balance"],["maxMessageSize","u32"],["maxCapacity","u32"],["maxTotalSize","u32"]]},"IdentificationTuple":{"type":"struct","type_mapping":[["validatorId","ValidatorId"],["exposure","FullIdentification"]]},"IdentityFields":{"bit_length":64,"type":"set","value_list":["Display","Legal","Web","Riot","Email","PgpFingerprint","Image","Twitter"]},"IdentityInfo":{"type":"struct","type_mapping":[["additional","Vec\u003cIdentityInfoAdditional\u003e"],["display","Data"],["legal","Data"],["web","Data"],["riot","Data"],["email","Data"],["pgpFingerprint","Option\u003cH160\u003e"],["image","Data"],["twitter","Data"]]},"IdentityInfoAdditional":{"type":"struct","type_mapping":[["field","Data"],["value","Data"]]},"ImportedAux":{"type":"struct","type_mapping":[["headerOnly","bool"],["clearJustificationRequests","bool"],["needsJustification","bool"],["badJustification","bool"],["needsFinalityProof","bool"],["isNewBest","bool"]]},"InboundDownwardMessage":{"type":"struct","type_mapping":[["pubSentAt","BlockNumber"],["pubMsg","DownwardMessage"]]},"InboundHrmpMessage":{"type":"struct","type_mapping":[["sentAt","BlockNumber"],["data","Bytes"]]},"InboundHrmpMessages":"Vec\u003cInboundHrmpMessage\u003e","InboundLaneData":{"type":"struct","type_mapping":[["relayers","Vec\u003cUnrewardedRelayer\u003e"],["lastConfirmedNonce","MessageNonce"]]},"InboundRelayer":"AccountId","InboundStatus":{"type":"enum","value_list":["Ok","Suspended"]},"IncludedBlocks":{"type":"struct","type_mapping":[["actualNumber","BlockNumber"],["session","SessionIndex"],["randomSeed","H256"],["activeParachains","Vec\u003cParaId\u003e"],["paraBlocks","Vec\u003cHash\u003e"]]},"InclusionFee":{"type":"struct","type_mapping":[["baseFee","Balance"],["lenFee","Balance"],["adjustedWeightFee","Balance"]]},"IncomingParachain":{"type":"enum","type_mapping":[["Unset","NewBidder"],["Fixed","IncomingParachainFixed"],["Deploy","IncomingParachainDeploy"]]},"IncomingParachainDeploy":{"type":"struct","type_mapping":[["code","ValidationCode"],["initialHeadData","HeadData"]]},"IncomingParachainFixed":{"type":"struct","type_mapping":[["codeHash","Hash"],["codeSize","u32"],["initialHeadData","HeadData"]]},"Index":"U32","IndividualExposure":{"type":"struct","type_mapping":[["who","AccountId"],["value","Compact\u003cBalance\u003e"]]},"InitializationData":{"type":"struct","type_mapping":[["header","Header"],["authorityList","AuthorityList"],["setId","SetId"],["isHalted","bool"]]},"InitiateReserveWithdraw":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["reserve","MultiLocation"],["effects","Vec\u003cOrder\u003e"]]},"InitiateTeleport":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["dest","MultiLocation"],["effects","Vec\u003cOrder\u003e"]]},"InstanceDetails":{"type":"struct","type_mapping":[["owner","AccountId"],["approved","Option\u003cAccountId\u003e"],["isFrozen","bool"],["deposit","DepositBalance"]]},"InstanceId":"u32","InstanceMetadata":{"type":"struct","type_mapping":[["deposit","DepositBalance"],["data","Vec\u003cu8\u003e"],["isFrozen","bool"]]},"InstantiateRequest":{"type":"struct","type_mapping":[["origin","AccountId"],["endowment","Balance"],["gasLimit","Gas"],["code","Bytes"],["code","Bytes"],["salt","Bytes"]]},"InstantiateReturnValue":{"type":"struct","type_mapping":[["result","ExecReturnValue"],["accountId","AccountId"],["rentProjection","Option\u003cRentProjection\u003e"]]},"InstructionV2":{"type":"enum","type_mapping":[["WithdrawAsset","MultiAssetsV2"],["ReserveAssetDeposited","MultiAssetsV2"],["ReceiveTeleportedAsset","MultiAssetsV2"],["QueryResponse","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"response\", \"ResponseV2\"], [\"maxWeight\", \"Compact\u003cu64\u003e\"]]"],["TransferAsset","[[\"assets\", \"MultiAssetsV2\"], [\"beneficiary\", \"MultiLocationV2\"]]"],["TransferReserveAsset","[[\"assets\", \"MultiAssetsV2\"], [\"dest\", \"MultiLocationV2\"], [\"xcm\", \"XcmV2\"]]"],["Transact","[[\"originType\", \"OriginKindV2\"], [\"requireWeightAtMost\", \"u64\"], [\"call\", \"DoubleEncodedCall\"]]"],["HrmpNewChannelOpenRequest","[[\"sender\", \"Compact\u003cu32\u003e\"], [\"maxMessageSize\", \"Compact\u003cu32\u003e\"], [\"maxCapacity\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelAccepted","[[\"recipient\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelClosing","[[\"initiator\", \"Compact\u003cu32\u003e\"], [\"sender\", \"Compact\u003cu32\u003e\"], [\"recipient\", \"Compact\u003cu32\u003e\"]]"],["ClearOrigin","empty"],["DescendOrigin","InteriorMultiLocation"],["ReportError","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"dest\", \"MultiLocationV2\"], [\"maxResponseWeight\", \"Compact\u003cu64\u003e\"]]"],["DepositAsset","[[\"assets\", \"MultiAssetFilterV2\"], [\"max_assets\", \"compact\u003cu32\u003e\"], [\"beneficiary\", \"MultiLocationV2\"]]"],["DepositReserveAsset","[[\"assets\", \"MultiAssetFilterV2\"], [\"max_assets\", \"compact\u003cu32\u003e\"], [\"dest\", \"MultiLocationV2\"], [\"xcm\", \"XcmV2\"]]"],["ExchangeAsset","[[\"give\", \"MultiAssetFilterV2\"], [\"receive\", \"MultiAssetsV2\"]]"],["InitiateReserveWithdraw","[[\"assets\", \"MultiAssetFilterV2\"], [\"reserve\", \"MultiLocationV2\"], [\"xcm\", \"XcmV2\"]]"],["InitiateTeleport","[[\"assets\", \"MultiAssetFilterV2\"], [\"dest\", \"MultiLocationV2\"], [\"xcm\", \"XcmV2\"]]"],["QueryHolding","[[\"query_id\", \"Compact\u003cu64\u003e\"], [\"dest\", \"MultiLocationV2\"], [\"assets\", \"MultiAssetFilterV2\"], [\"maxResponse_Weight\", \"Compact\u003cu64\u003e\"]]"],["BuyExecution","[[\"fees\", \"MultiAssetV2\"], [\"weight_limit\", \"WeightLimitV2\"]]"],["RefundSurplus","empty"],["SetErrorHandler","XcmV2"],["SetAppendix","XcmV2"],["ClearError","empty"],["ClaimAsset","[[\"assets\", \"MultiAssetsV2\"], [\"ticket\", \"MultiLocationV2\"]]"],["Trap","u64"]]},"InstructionV3":{"type":"enum","type_mapping":[["WithdrawAsset","MultiAssetsV3"],["ReserveAssetDeposited","MultiAssetsV3"],["ReceiveTeleportedAsset","MultiAssetsV3"],["QueryResponse","QueryResponseV3"],["TransferAsset","[[\"assets\", \"MultiAssetsV3\"], [\"beneficiary\", \"MultiLocationV3\"]]"],["TransferReserveAsset","[[\"assets\", \"MultiAssetsV3\"], [\"dest\", \"MultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["Transact","[[\"origin_kind\", \"OriginKindV2\"], [\"require_weight_at_most\", \"WeightV2\"], [\"call\", \"DoubleEncodedCall\"]]"],["HrmpNewChannelOpenRequest","[[\"sender\", \"Compact\u003cu32\u003e\"], [\"maxMessageSize\", \"Compact\u003cu32\u003e\"], [\"maxCapacity\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelAccepted","[[\"recipient\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelClosing","[[\"initiator\", \"Compact\u003cu32\u003e\"], [\"sender\", \"Compact\u003cu32\u003e\"], [\"recipient\", \"Compact\u003cu32\u003e\"]]"],["ClearOrigin","Null"],["DescendOrigin","InteriorMultiLocationV3"],["ReportError","[[\"destination\", \"MultiLocationV3\"], [\"query_id\", \"Compact\u003cu64\u003e\"], [\"max_weight\", \"WeightV2\"]]"],["DepositAsset","[[\"assets\", \"MultiAssetFilterV3\"], [\"beneficiary\", \"MultiLocationV3\"]]"],["DepositReserveAsset","[[\"assets\", \"MultiAssetFilterV3\"], [\"dest\", \"MultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["ExchangeAsset","[[\"give\", \"MultiAssetFilterV3\"],[\"want\", \"MultiAssetsV3\"], [\"maximal\", \"bool\"]]"],["InitiateReserveWithdraw","[[\"assets\", \"MultiAssetFilterV3\"], [\"reserve\", \"MultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["InitiateTeleport","[[\"assets\", \"MultiAssetFilterV3\"], [\"dest\", \"MultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["QueryHolding","[[\"response_info\", \"QueryResponseInfoV3\"], [\"assets\", \"MultiAssetFilterV3\"]]"],["BuyExecution","[[\"fees\", \"MultiAssetV3\"], [\"weight_limit\", \"WeightLimitV3\"]]"],["RefundSurplus","Null"],["SetErrorHandler","XcmV3"],["SetAppendix","XcmV3"],["ClearError","Null"],["ClaimAsset","[[\"assets\", \"MultiAssetsV3\"], [\"ticket\", \"MultiLocationV3\"]]"],["Trap","u64"],["SubscribeVersion","[[\"query_id\", \"Compact\u003cu64\u003e\"], [\"max_response_weight\", \"WeightV2\"]]"],["UnsubscribeVersion","NULL"],["BurnAsset","MultiAssetsV3"],["ExpectAsset","MultiAssetsV3"],["ExpectOrigin","Option\u003cMultiLocationV3\u003e"],["ExpectError","Option\u003c(U32, XcmTraitsErrorV3)\u003e\u003e"],["ExpectTransactStatus","MaybeErrorCodeV3"],["QueryPallet","[[\"module_name\", \"Vec\u003cU8\u003e\"], [\"response_info\", \"QueryResponseInfoV3\"]]"],["ExpectPallet","[[\"index\", \"Compact\u003cu32\u003e\"], [\"name\", \"Vec\u003cU8\u003e\"], [\"module_name\", \"Vec\u003cU8\u003e\"], [\"crate_major\", \"Compact\u003cu32\u003e\"], [\"min_crate_minor\", \"Compact\u003cu32\u003e\"]]"],["ReportTransactStatus","QueryResponseInfoV3"],["ClearTransactStatus","NULL"],["UniversalOrigin","JunctionV3"],["ExportMessage","[[\"network\", \"NetworkIdV3\"], [\"destination\", \"InteriorMultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["LockAsset","[[\"asset\", \"MultiAssetV3\"], [\"unlocker\", \"MultiLocationV3\"]]"],["UnlockAsset","[[\"asset\", \"MultiAssetV3\"], [\"target\", \"MultiLocationV3\"]]"],["NoteUnlockable","[[\"asset\", \"MultiAssetV3\"], [\"owner\", \"MultiLocationV3\"]]"],["RequestUnlock","[[\"asset\", \"MultiAssetV3\"], [\"locker\", \"MultiLocationV3\"]]"],["SetFeesMode","[[\"jit_withdraw\", \"bool\"]]"],["SetTopic","[u8; 32]"],["ClearTopic","NULL"],["AliasOrigin","MultiLocationV3"],["UnpaidExecution","[[\"weight_limit\", \"WeightV2\"], [\"check_origin\", \"MultiLocationV3\"]]"]]},"InstructionWeights":{"type":"struct","type_mapping":[["i64const","u32"],["i64load","u32"],["i64store","u32"],["select","u32"],["rIf","u32"],["br","u32"],["brIf","u32"],["brIable","u32"],["brIablePerEntry","u32"],["call","u32"],["callIndirect","u32"],["callIndirectPerParam","u32"],["localGet","u32"],["localSet","u32"],["local_tee","u32"],["globalGet","u32"],["globalSet","u32"],["memoryCurrent","u32"],["memoryGrow","u32"],["i64clz","u32"],["i64ctz","u32"],["i64popcnt","u32"],["i64eqz","u32"],["i64extendsi32","u32"],["i64extendui32","u32"],["i32wrapi64","u32"],["i64eq","u32"],["i64ne","u32"],["i64lts","u32"],["i64ltu","u32"],["i64gts","u32"],["i64gtu","u32"],["i64les","u32"],["i64leu","u32"],["i64ges","u32"],["i64geu","u32"],["i64add","u32"],["i64sub","u32"],["i64mul","u32"],["i64divs","u32"],["i64divu","u32"],["i64rems","u32"],["i64remu","u32"],["i64and","u32"],["i64or","u32"],["i64xor","u32"],["i64shl","u32"],["i64shrs","u32"],["i64shru","u32"],["i64rotl","u32"],["i64rotr","u32"]]},"InteriorMultiLocation":"Junctions","InteriorMultiLocationV3":"JunctionsV3","InvalidDisputeStatementKind":{"type":"enum","value_list":["Explicit"]},"Judgement":{"type":"enum","type_mapping":[["Unknown","Null"],["FeePaid","Balance"],["Reasonable","Null"],["KnownGood","Null"],["OutOfDate","Null"],["LowQuality","Null"],["Erroneous","Null"]]},"Junction":"JunctionV1","JunctionV0":{"type":"enum","type_mapping":[["Parent","Null"],["Parachain","Compact\u003cu32\u003e"],["AccountId32","[[\"network\", \"NetworkId\"], [\"id\", \"AccountId32\"]]"],["AccountIndex64","[[\"network\", \"NetworkId\"], [\"index\", \"Compact\u003cu64\u003e\"]]"],["AccountKey20","[[\"network\", \"NetworkId\"], [\"key\", \"[u8; 20]\"]]"],["PalletInstance","u8"],["GeneralIndex","Compact\u003cu128\u003e"],["GeneralKey","Vec\u003cu8\u003e"],["OnlyChild","Null"],["Plurality","[[\"id\", \"BodyId\"], [\"part\", \"BodyPart\"]]"]]},"JunctionV1":{"type":"enum","type_mapping":[["Parachain","Compact\u003cu32\u003e"],["AccountId32","[[\"network\", \"NetworkId\"], [\"id\", \"AccountId32\"]]"],["AccountIndex64","[[\"network\", \"NetworkId\"], [\"index\", \"Compact\u003cu64\u003e\"]]"],["AccountKey20","[[\"network\", \"NetworkId\"], [\"key\", \"[u8; 20]\"]]"],["PalletInstance","u8"],["GeneralIndex","Compact\u003cu128\u003e"],["GeneralKey","Vec\u003cu8\u003e"],["OnlyChild","Null"],["Plurality","[[\"id\", \"BodyId\"], [\"part\", \"BodyPart\"]]"]]},"JunctionV2":"JunctionV1","JunctionV3":{"type":"enum","type_mapping":[["Parachain","Compact\u003cu32\u003e"],["AccountId32","[[\"network\", \"option\u003cNetworkIdV3\u003e\"], [\"id\", \"AccountId32\"]]"],["AccountIndex64","[[\"network\", \"option\u003cNetworkIdV3\u003e\"], [\"index\", \"Compact\u003cu64\u003e\"]]"],["AccountKey20","[[\"network\", \"option\u003cNetworkIdV3\u003e\"], [\"key\", \"[u8; 20]\"]]"],["PalletInstance","u8"],["GeneralIndex","Compact\u003cu128\u003e"],["GeneralKey","GeneralKeyV3"],["OnlyChild","NULL"],["Plurality","[[\"id\", \"BodyId\"], [\"part\", \"BodyPart\"]]"],["GlobalConsensus","NetworkIdV3"]]},"Junctions":"JunctionsV1","JunctionsV1":{"type":"enum","type_mapping":[["Here","Null"],["X1","JunctionV1"],["X2","(JunctionV1, JunctionV1)"],["X3","(JunctionV1, JunctionV1, JunctionV1)"],["X4","(JunctionV1, JunctionV1, JunctionV1, JunctionV1)"],["X5","(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)"],["X6","(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)"],["X7","(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)"],["X8","(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)"]]},"JunctionsV2":"JunctionsV1","JunctionsV3":{"type":"enum","type_mapping":[["Here","NULL"],["X1","JunctionV3"],["X2","(JunctionV3, JunctionV3)"],["X3","(JunctionV3, JunctionV3, JunctionV3)"],["X4","(JunctionV3, JunctionV3, JunctionV3, JunctionV3)"],["X5","(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)"],["X6","(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)"],["X7","(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)"],["X8","(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)"]]},"JustificationNotification":"Bytes","Key":"Bytes","KeyOwnerProof":"MembershipProof","KeyTypeId":"u32","KeyValue":{"type":"struct","type_mapping":[["key","Vec\u003cu8\u003e"],["value","Vec\u003cu8\u003e"]]},"KeyValueOption":"(StorageKey, Option\u003cStorageData\u003e)","Keys":{"type":"struct","type_mapping":[["grandpa","AccountId"],["babe","AccountId"],["im_online","AccountId"],["authority_discovery","AccountId"]]},"Kind":"[u8; 16]","LaneId":"[u8; 4]","LastContribution":{"type":"enum","type_mapping":[["Never","Null"],["PreEnding","u32"],["Ending","BlockNumber"]]},"LastRuntimeUpgradeInfo":{"type":"struct","type_mapping":[["specVersion","Compact\u003cu32\u003e"],["specName","Bytes"]]},"LeasePeriod":"BlockNumber","LeasePeriodOf":"LeasePeriod","LegacyTransaction":{"type":"struct","type_mapping":[["nonce","U256"],["gasPrice","U256"],["gasLimit","U256"],["action","EthTransactionAction"],["value","U256"],["input","Bytes"],["signature","EthTransactionSignature"]]},"Limits":{"type":"struct","type_mapping":[["eventTopics","u32"],["stackHeight","u32"],["globals","u32"],["parameters","u32"],["memoryPages","u32"],["tableSize","u32"],["brTableSize","u32"],["subjectLen","u32"],["codeSize","u32"]]},"Linkage":{"type":"struct","type_mapping":[["previous","Option\u003cAccountId\u003e"],["next","Option\u003cAccountId\u003e"]]},"LocalValidationData":{"type":"struct","type_mapping":[["parentHead","HeadData"],["balance","Balance"],["codeUpgradeAllowed","Option\u003cBlockNumber\u003e"]]},"Log":{"type":"struct","type_mapping":[["address","H160"],["topics","Vec\u003cH256\u003e"],["data","Vec\u003cu8\u003e"]]},"LookupSource":"AccountId","LotteryConfig":{"type":"struct","type_mapping":[["price","Balance"],["start","BlockNumber"],["length","BlockNumber"],["delay","BlockNumber"],["repeat","bool"]]},"MaybeErrorCodeV3":{"type":"enum","type_mapping":[["Success","NULL"],["Error","Vec\u003cU8\u003e"],["TruncatedError","Vec\u003cU8\u003e"]]},"MaybeRandomness":"Option\u003cRandomness\u003e","MaybeVrf":"[u8; 32]","MemberCount":"u32","MembershipProof":{"type":"struct","type_mapping":[["session","sessionIndex"],["trieNodes","Vec\u003cVec\u003cu8\u003e\u003e"],["validatorCount","ValidatorCount"]]},"MessageData":{"type":"struct","type_mapping":[["payload","Bytes"],["fee","Balance"]]},"MessageId":"[u8; 32]","MessageIngestionType":{"type":"struct","type_mapping":[["downwardMessages","Vec\u003cInboundDownwardMessage\u003e"],["horizontalMessages","BTreeMap\u003cParaId, InboundHrmpMessages\u003e"]]},"MessageKey":{"type":"struct","type_mapping":[["laneId","LaneId"],["nonce","MessageNonce"]]},"MessageNonce":"u64","MessageQueueChain":"RelayChainHash","MessagesDeliveryProofOf":{"type":"struct","type_mapping":[["bridgedHeaderHash","BlockHash"],["storageProof","Vec\u003cBytes\u003e"],["lane","LaneId"]]},"MessagesProofOf":{"type":"struct","type_mapping":[["bridgedHeaderHash","BridgedBlockHash"],["storageProof","Vec\u003cBytes\u003e"],["lane","LaneId"],["noncesStart","MessageNonce"],["noncesEnd","MessageNonce"]]},"MessagingStateSnapshot":{"type":"struct","type_mapping":[["relayDispatchQueueSize","(u32, u32)"],["egressChannels","Vec\u003cMessagingStateSnapshotEgressEntry\u003e"]]},"MessagingStateSnapshotEgressEntry":"(ParaId, AbridgedHrmpChannel)","MetadataVersion":{"type":"enum","value_list":["MetadataV0Decoder","MetadataV1Decoder","MetadataV2Decoder","MetadataV3Decoder","MetadataV4Decoder","MetadataV5Decoder","MetadataV6Decoder","MetadataV7Decoder","MetadataV8Decoder","MetadataV9Decoder","MetadataV10Decoder","MetadataV11Decoder","MetadataV12Decoder","MetadataV13Decoder","MetadataV14Decoder","MetadataV15Decoder"]},"MmrRootHash":"H256","ModuleId":"LockIdentifier","MomentOf":"Moment","MoreAttestations":"Null","MultiAddress":"GenericMultiAddress","MultiAsset":"MultiAssetV1","MultiAssetFilter":"MultiAssetFilterV1","MultiAssetFilterV1":{"type":"enum","type_mapping":[["Definite","MultiAssetsV1"],["Wild","WildMultiAssetV1"]]},"MultiAssetFilterV2":"MultiAssetFilterV1","MultiAssetFilterV3":{"type":"enum","type_mapping":[["Definite","MultiAssetsV3"],["Wild","WildMultiAssetV3"]]},"MultiAssetV0":{"type":"enum","type_mapping":[["None","Null"],["All","Null"],["AllFungible","Null"],["AllNonFungible","Null"],["AllAbstractFungible","Vec\u003cu8\u003e"],["AllAbstractNonFungible","Vec\u003cu8\u003e"],["AllConcreteFungible","MultiLocationV0"],["AllConcreteNonFungible","MultiLocationV0"],["AbstractFungible","[[\"id\", \"Vec\u003cu8\u003e\"], [\"instance\", \"Compact\u003cu128\u003e\"]]"],["AbstractNonFungible","[[\"class\", \"Vec\u003cu8\u003e\"], [\"instance\", \"AssetInstanceV0\"]]"],["ConcreteFungible","[[\"id\", \"MultiLocationV0\"], [\"amount\", \"Compact\u003cu128\u003e\"]]"],["ConcreteNonFungible","[[\"class\", \"MultiLocationV0\"], [\"instance\", \"AssetInstanceV0\"]]"]]},"MultiAssetV1":{"type":"struct","type_mapping":[["id","XcmAssetId"],["fun","FungibilityV1"]]},"MultiAssetV2":"MultiAssetV1","MultiAssetV3":{"type":"struct","type_mapping":[["id","XcmAssetIdV3"],["fun","FungibilityV3"]]},"MultiAssets":"Vec\u003cMultiAsset\u003e","MultiAssetsV1":"Vec\u003cMultiAssetV1\u003e","MultiAssetsV2":"MultiAssetsV1","MultiAssetsV3":"Vec\u003cMultiAssetV3\u003e","MultiDisputeStatementSet":"Vec\u003cDisputeStatementSet\u003e","MultiLocation":"MultiLocationV1","MultiLocationV0":{"type":"enum","type_mapping":[["Here","Null"],["X1","JunctionV0"],["X2","(JunctionV0, JunctionV0)"],["X3","(JunctionV0, JunctionV0, JunctionV0)"],["X4","(JunctionV0, JunctionV0, JunctionV0, JunctionV0)"],["X5","(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)"],["X6","(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)"],["X7","(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)"],["X8","(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)"]]},"MultiLocationV1":{"type":"struct","type_mapping":[["parents","u8"],["interior","JunctionsV1"]]},"MultiLocationV2":"MultiLocationV1","MultiLocationV3":{"type":"struct","type_mapping":[["parents","u8"],["interior","JunctionsV3"]]},"MultiSignature":{"type":"enum","type_mapping":[["Ed25519","Ed25519Signature"],["Sr25519","Sr25519Signature"],["Ecdsa","EcdsaSignature"]]},"MultiSigner":{"type":"enum","type_mapping":[["Ed25519","[u8; 32]"],["Sr25519","[u8; 32]"],["Ecdsa","[u8; 33]"]]},"Multiplier":"u64","Multisig":{"type":"struct","type_mapping":[["when","Timepoint"],["deposit","Balance"],["depositor","AccountId"],["approvals","Vec\u003cAccountId\u003e"]]},"NetworkId":{"type":"enum","type_mapping":[["Any","Null"],["Named","Vec\u003cu8\u003e"],["Polkadot","Null"],["Kusama","Null"]]},"NetworkIdV3":{"type":"enum","type_mapping":[["ByGenesis","[u8; 32]"],["ByFork","ByForkV3"],["Polkadot","NULL"],["Kusama","NULL"],["Westend","NULL"],["Rococo","NULL"],["Wococo","NULL"],["Ethereum","U64"],["BitcoinCore","NULL"],["BitcoinCash","NULL"]]},"NewBidder":{"type":"struct","type_mapping":[["who","AccountId"],["sub","SubId"]]},"NextAuthority":{"type":"struct","type_mapping":[["AuthorityId","AuthorityId"],["weight","AuthorityWeight"]]},"NextConfigDescriptor":{"type":"enum","type_mapping":[["V0","Null"],["V1","NextConfigDescriptorV1"]]},"NextConfigDescriptorV1":{"type":"struct","type_mapping":[["c","(u64, u64)"],["allowedSlots","AllowedSlots"]]},"Nominations":{"type":"struct","type_mapping":[["targets","Vec\u003cAccountId\u003e"],["submittedIn","EraIndex"],["suppressed","bool"]]},"NominatorIndex":"u32","NominatorIndexCompact":"Compact\u003cNominatorIndex\u003e","OffchainAccuracy":"u16","OffchainAccuracyCompact":"Compact\u003cOffchainAccuracy\u003e","OffenceDetails":{"type":"struct","type_mapping":[["offender","Offender"],["reporters","Vec\u003cReporter\u003e"]]},"OffenceDetails\u003cAccountId, IdentificationTuple\u003e":{"type":"struct","type_mapping":[["offender","Offender"],["reporters","Vec\u003cReporter\u003e"]]},"Offender":"IdentificationTuple","OpaqueMultiaddr":"Bytes","OpaqueNetworkState":{"type":"struct","type_mapping":[["peerId","OpaquePeerId"],["externalAddresses","Vec\u003cOpaqueMultiaddr\u003e"]]},"OpaquePeerId":"Bytes","OpaqueTimeSlot":"Bytes","OpenTip":{"type":"struct","type_mapping":[["reason","Hash"],["who","AccountId"],["finder","AccountId"],["deposit","Balance"],["closes","Option\u003cBlockNumber\u003e"],["tips","Vec\u003cOpenTipTip\u003e"],["findersFee","bool"]]},"OpenTip\u003cAccountId, BalanceOf, BlockNumber, Hash\u003e":{"type":"struct","type_mapping":[["reason","Hash"],["who","AccountId"],["finder","Option\u003cOpenTipFinder\u003e"],["closes","Option\u003cBlockNumber\u003e"],["tips","Vec\u003cOpenTipTip\u003e"]]},"OpenTipFinder":"(AccountId, Balance)","OpenTipTip":"(AccountId, Balance)","OperatingMode":{"type":"enum","value_list":["Normal","RejectingOutboundMessages","Halted"]},"Order":{"type":"enum","type_mapping":[["Null","Null"],["DepositAsset","DepositAsset"],["DepositReserveAsset","DepositReserveAsset"],["ExchangeAsset","ExchangeAsset"],["InitiateReserveWithdraw","InitiateReserveWithdraw"],["InitiateTeleport","InitiateTeleport"],["QueryHolding","QueryHolding"]]},"Origin":"Null","OriginCaller":{"type":"enum","type_mapping":[["System","SystemOrigin"]]},"OriginKind":{"type":"enum","value_list":["Native","SovereignAccount","Superuser"]},"OriginKindV0":{"type":"enum","value_list":["Native","SovereignAccount","Superuser","Xcm"]},"OriginKindV1":"OriginKindV0","OriginKindV2":"OriginKindV1","OutboundHrmpMessage":{"type":"struct","type_mapping":[["recipient","u32"],["data","Bytes"]]},"OutboundLaneData":{"type":"struct","type_mapping":[["oldestUnprunedNonce","MessageNonce"],["latestReceivedNonce","MessageNonce"],["latestGeneratedNonce","MessageNonce"]]},"OutboundMessageFee":"Balance","OutboundPayload":{"type":"struct","type_mapping":[["specVersion","u32"],["weight","Weight"],["origin","CallOrigin"],["dispatchFeePayment","DispatchFeePayment"],["call","Bytes"]]},"OutboundStatus":{"type":"enum","value_list":["Ok","Suspended"]},"Outcome":{"type":"enum","type_mapping":[["Complete","Weight"],["Incomplete","(Weight, XcmErrorV0)"],["Error","XcmErrorV0"]]},"OverweightIndex":"u64","Owner":{"type":"enum","type_mapping":[["None","Null"],["Address","AccountId"]]},"PageCounter":"u32","PageIndexData":{"type":"struct","type_mapping":[["beginUsed","PageCounter"],["endUsed","PageCounter"],["overweightCount","OverweightIndex"]]},"PalletCallMetadataV14":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"PalletErrorMetadataV14":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"PalletEventMetadataV14":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"PalletId":"LockIdentifier","PalletInfoV3":{"type":"struct","type_mapping":[["index","Compact\u003cu32\u003e"],["name","Vec\u003cu8\u003e"],["module_name","Vec\u003cu8\u003e"],["major","Compact\u003cu32\u003e"],["minor","Compact\u003cu32\u003e"],["patch","Compact\u003cu32\u003e"]]},"PalletVersion":{"type":"struct","type_mapping":[["major","u16"],["minor","u8"],["patch","u8"]]},"PalletsOrigin":"OriginCaller","ParaGenesisArgs":{"type":"struct","type_mapping":[["genesisHead","Bytes"],["validationCode","Bytes"],["parachain","bool"]]},"ParaId":"u32","ParaInfo":{"type":"struct","type_mapping":[["manager","AccountId"],["deposit","Balance"]]},"ParaLifecycle":{"type":"enum","value_list":["Onboarding","Parathread","Parachain","UpgradingToParachain","DowngradingToParathread","OutgoingParathread","OutgoingParachain"]},"ParaPastCodeMeta":{"type":"struct","type_mapping":[["upgradeTimes","Vec\u003cReplacementTimes\u003e"],["lastPruned","Option\u003cBlockNumber\u003e"]]},"ParaScheduling":{"type":"enum","value_list":["Always","Dynamic"]},"ParaValidatorIndex":"u32","ParachainDispatchOrigin":{"type":"enum","value_list":["Signed","Parachain","Root"]},"ParachainInherentData":{"type":"struct","type_mapping":[["validationData","PersistedValidationData"],["relayChainState","StorageProof"],["downwardMessages","Vec\u003cInboundDownwardMessage\u003e"],["horizontalMessages","BTreeMap\u003cParaId, VecInboundHrmpMessage\u003e"]]},"ParachainProposal":{"type":"struct","type_mapping":[["proposer","AccountId"],["genesis_head","HeadData"],["validators","Vec\u003cValidatorId\u003e"],["name","Vec\u003cU8\u003e"],["balance","Balance"]]},"ParachainsInherentData":{"type":"struct","type_mapping":[["bitfields","SignedAvailabilityBitfields"],["backedCandidates","Vec\u003cBackedCandidate\u003e"],["disputes","MultiDisputeStatementSet"],["parentHeader","Header"]]},"Parameter":"Null","ParathreadClaim":"(ParaId, CollatorId)","ParathreadClaimQueue":{"type":"struct","type_mapping":[["queue","Vec\u003cQueuedParathread\u003e"],["nextCoreOffset","u32"]]},"ParathreadEntry":{"type":"struct","type_mapping":[["claim","ParathreadClaim"],["retries","u32"]]},"Pays":{"type":"enum","value_list":["Yes","No"]},"PendingChange":{"type":"struct","type_mapping":[["nextAuthorities","AuthorityList"],["delay","BlockNumber"],["canonHeight","BlockNumber"],["canonHash","BlockHash"],["delayKind","DelayKind"]]},"PendingPause":{"type":"struct","type_mapping":[["scheduledAt","BlockNumber"],["delay","BlockNumber"]]},"PendingResume":{"type":"struct","type_mapping":[["scheduledAt","BlockNumber"],["delay","BlockNumber"]]},"PerDispatchClass":{"type":"struct","type_mapping":[["normal","WeightPerClass"],["operational","WeightPerClass"],["mandatory","WeightPerClass"]]},"PerDispatchClassU32":{"type":"struct","type_mapping":[["normal","u32"],["operational","u32"],["mandatory","u32"]]},"PerU16":"u16","Perbill":"u32","Percent":"u8","Period":"(BlockNumber, u32)","Permill":"u32","PermissionLatest":"PermissionsV1","PermissionVersions":{"type":"enum","type_mapping":[["V1","PermissionsV1"]]},"PermissionsV1":{"type":"struct","type_mapping":[["update","Owner"],["mint","Owner"],["burn","Owner"]]},"Perquintill":"u64","PersistedValidationData":{"type":"struct","type_mapping":[["parentHead","HeadData"],["relayParentNumber","RelayChainBlockNumber"],["relayParentStorageRoot","Hash"],["maxPovSize","u32"]]},"PhantomData":"Null","Phase":{"type":"enum","type_mapping":[["ApplyExtrinsic","u32"],["Finalization","Null"],["Initialization","Null"]]},"PhragmenScore":"[u128; 3]","Points":"u32","PortableRegistry":"GenericPortableRegistry","PortableType":{"type":"struct","type_mapping":[["id","SiLookupTypeId"],["type","SiType"]]},"Precommit":{"type":"struct","type_mapping":[["target_hash","BridgedBlockHash"],["target_number","BridgedBlockNumber"]]},"Precommits":{"type":"struct","type_mapping":[["currentWeight","u32"],["missing","BTreeSet\u003cAuthorityId\u003e"]]},"PrefabWasmModule":{"type":"struct","type_mapping":[["scheduleVersion","Compact\u003cu32\u003e"],["initial","Compact\u003cu32\u003e"],["maximum","Compact\u003cu32\u003e"],["_reserved","PrefabWasmModuleReserved"],["code","Bytes"]]},"PrefabWasmModuleReserved":"Option\u003cNull\u003e","PreimageStatus":{"type":"enum","type_mapping":[["Missing","BlockNumber"],["Available","PreimageStatusAvailable"]]},"PreimageStatusAvailable":{"type":"struct","type_mapping":[["data","Bytes"],["provider","AccountId"],["deposit","Balance"],["since","BlockNumber"],["expiry","Option\u003cBlockNumber\u003e"]]},"Prevotes":{"type":"struct","type_mapping":[["currentWeight","u32"],["missing","BTreeSet\u003cAuthorityId\u003e"]]},"PriorLock":{"type":"struct","type_mapping":[["blockNumber","BlockNumber"],["balance","Balance"]]},"Priority":"u8","PropIndex":"U32","Proposal":"BoxProposal","ProposalCategory":{"type":"enum","value_list":["Signaling"]},"ProposalContents":"Bytes","ProposalIndex":"u32","ProposalStage":{"type":"enum","value_list":["PreVoting","Voting","Completed"]},"ProposalTitle":"Bytes","ProxyAnnouncement":{"type":"struct","type_mapping":[["real","AccountId"],["callHash","Hash"],["height","BlockNumber"]]},"ProxyDefinition":{"type":"struct","type_mapping":[["delegate","AccountId"],["proxyType","ProxyType"],["delay","BlockNumber"]]},"ProxyState":{"type":"struct","type_mapping":[["Open","AccountId"],["Active","AccountId"]]},"ProxyType":{"type":"enum","value_list":["Any","NonTransfer","Governance","Staking","CancelProxy"]},"QueryHolding":{"type":"struct","type_mapping":[["query_id","Compact\u003cu64\u003e"],["dest","MultiLocation"],["assets","Vec\u003cMultiAsset\u003e"]]},"QueryId":"u64","QueryResponseInfoV3":{"type":"struct","type_mapping":[["destination","MultiLocationV3"],["query_id","Compact\u003cu64\u003e"],["max_weight","WeightV2"]]},"QueryResponseV3":{"type":"struct","type_mapping":[["query_id","compact\u003cu64\u003e"],["response","ResponseV3"],["max_weight","WeightV2"],["querier","Option\u003cMultiLocationV3\u003e"]]},"QueryStatus":{"type":"enum","type_mapping":[["Pending","[[\"responder\", \"VersionedMultiLocation\"], [\"maybeNotify\", \"Option\u003c(u8, u8)\u003e\"], [\"timeout\", \"BlockNumber\"]]"],["Ready","[[\"response\", \"VersionedResponse\"], [\"at\", \"BlockNumber\"]]"]]},"QueueConfigData":{"type":"struct","type_mapping":[["suspendThreshold","u32"],["dropThreshold","u32"],["resumeThreshold","u32"],["thresholdWeight","Weight"],["weightRestrictDecay","Weight"]]},"QueuedParathread":{"type":"struct","type_mapping":[["claim","ParathreadEntry"],["coreOffset","u32"]]},"Randomness":"Hash","RawBabePreDigest":{"type":"enum","type_mapping":[["isPhantom","bool"],["Primary","RawBabePreDigestPrimary"],["Secondary","RawBabePreDigestSecondary"],["VRF","RawBabePreDigestSecondaryVRF"]]},"RawBabePreDigestCompat":{"type":"enum","type_mapping":[["Zero","u32"],["One","u32"],["Two","u32"],["Three","u32"]]},"RawOrigin":{"type":"enum","type_mapping":[["Root","Null"],["Signed","AccountId"],["None","Null"]]},"RawSolution":{"type":"struct","type_mapping":[["compact","CompactAssignments"],["score","ElectionScore"],["round","u32"]]},"ReadProof":{"type":"struct","type_mapping":[["at","Hash"],["proof","Vec\u003cBytes\u003e"]]},"ReadySolution":{"type":"struct","type_mapping":[["supports","SolutionSupports"],["score","ElectionScore"],["compute","ElectionCompute"]]},"Reasons":{"type":"enum","value_list":["Fee","Misc","All"]},"RecoveryConfig":{"type":"struct","type_mapping":[["delayPeriod","BlockNumber"],["deposit","Balance"],["friends","Vec\u003cAccountId\u003e"],["threshold","u16"]]},"RefCount":"u8","RefCount1":"u32","ReferendumIndex":"U32","ReferendumInfo":{"type":"struct","type_mapping":[["end","BlockNumber"],["proposal","Proposal"],["threshold","VoteThreshold"],["delay","BlockNumber"]]},"ReferendumInfo\u003cBlockNumber, Hash, Balance\u003e":{"type":"enum","type_mapping":[["Ongoing","ReferendumStatus"],["Finished","ReferendumInfoFinished"]]},"ReferendumInfo\u003cBlockNumber, Hash, BalanceOf\u003e":{"type":"enum","type_mapping":[["Ongoing","ReferendumStatus"],["Finished","ReferendumInfoFinished"]]},"ReferendumInfo\u003cBlockNumber, Hash\u003e":{"type":"struct","type_mapping":[["end","BlockNumber"],["proposalHash","Hash"],["threshold","VoteThreshold"],["delay","BlockNumber"]]},"ReferendumInfo\u003cBlockNumber, Proposal\u003e":{"type":"struct","type_mapping":[["end","BlockNumber"],["proposal","Proposal"],["threshold","VoteThreshold"],["delay","BlockNumber"]]},"ReferendumInfoFinished":{"type":"struct","type_mapping":[["approved","bool"],["end","BlockNumber"]]},"ReferendumStatus":{"type":"struct","type_mapping":[["end","BlockNumber"],["proposalHash","Hash"],["threshold","VoteThreshold"],["delay","BlockNumber"],["tally","Tally"]]},"RegisteredParachainInfo":{"type":"struct","type_mapping":[["validators","Vec\u003cValidatorId\u003e"],["proposer","AccountId"]]},"RegistrarIndex":"u32","RegistrarInfo":{"type":"struct","type_mapping":[["account","AccountId"],["fee","Balance"],["fields","IdentityFields"]]},"Registration":{"type":"struct","type_mapping":[["judgements","Vec\u003cRegistrationJudgement\u003e"],["deposit","Balance"],["info","IdentityInfo"]]},"RegistrationJudgement":{"type":"struct","type_mapping":[["col1","RegistrarIndex"],["col2","Judgement"]]},"RelayBlockNumber":"u32","RelayChainBlockNumber":"RelayBlockNumber","RelayChainHash":"RelayHash","RelayHash":"Hash","RelayTo":{"type":"struct","type_mapping":[["dest","MultiLocation"],["inner","VersionedXcm"]]},"RelayedFrom":{"type":"struct","type_mapping":[["superorigin","MultiLocation"],["inner","VersionedXcm"]]},"RelayerId":"AccountId","Releases":"ReleasesBalances","ReleasesBalances":{"type":"enum","value_list":["V1_0_0","V2_0_0","V3_0_0","V4_0_0","V5_0_0"]},"Remark":"[u8; 32]","Renouncing":{"type":"enum","type_mapping":[["Member","Null"],["RunnerUp","Null"],["Candidate","Compact\u003cu32\u003e"]]},"RentProjection":{"type":"enum","type_mapping":[["EvictionAt","BlockNumber"],["NoEviction","Null"]]},"ReplacementTimes":{"type":"struct","type_mapping":[["expectedAt","BlockNumber"],["activatedAt","BlockNumber"]]},"ReportIdOf":"Hash","ReportedRoundStates":{"type":"struct","type_mapping":[["setId","u32"],["best","RoundState"],["background","Vec\u003cRoundState\u003e"]]},"Reporter":"AccountId","ReserveAssetDeposit":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["effects","Vec\u003cOrder\u003e"]]},"Response":"ResponseV1","ResponseV0":{"type":"enum","type_mapping":[["Assets","Vec\u003cMultiAssetV0\u003e"]]},"ResponseV1":{"type":"enum","type_mapping":[["Assets","MultiAssetsV1"],["Version","U32"]]},"ResponseV2":{"type":"enum","type_mapping":[["Null","empty"],["Assets","MultiAssetsV2"],["ExecutionResult","ResponseV2Result"]]},"ResponseV2Error":"(u32, XcmErrorV2)","ResponseV2Result":"Result\u003cNull, ResponseV2Error\u003e","ResponseV3":{"type":"enum","type_mapping":[["NULL","NULL"],["Assets","MultiAssetsV3"],["ExecutionResult","Option\u003c(U32, XcmTraitsErrorV3)\u003e"],["Version","U32"],["PalletsInfo","Vec\u003cPalletInfoV3\u003e"],["DispatchResult","MaybeErrorCodeV3"]]},"Retriable":{"type":"enum","type_mapping":[["Never","Null"],["WithRetries","u32"]]},"RewardDestination":{"type":"enum","type_mapping":[["Staked","Null"],["Stash","Null"],["Controller","Null"],["Account","AccountId"],["None","Null"]]},"RewardPoint":"u32","RoundNumber":"U64","RoundState":{"type":"struct","type_mapping":[["round","u32"],["totalWeight","u32"],["thresholdWeight","u32"],["prevotes","Prevotes"],["precommits","Precommits"]]},"RpcMethods":{"type":"struct","type_mapping":[["version","u32"],["methods","Vec\u003cText\u003e"]]},"RuntimeDbWeight":{"type":"struct","type_mapping":[["read","Weight"],["write","Weight"]]},"RuntimeVersion":{"type":"struct","type_mapping":[["specName","Text"],["implName","Text"],["authoringVersion","u32"],["specVersion","u32"],["implVersion","u32"],["apis","Vec\u003cRuntimeVersionApi\u003e"],["transactionVersion","u32"]]},"RuntimeVersionApi":"(ApiId, u32)","Schedule":{"type":"struct","type_mapping":[["version","u32"],["enablePrintln","bool"],["limits","Limits"],["instructionWeights","InstructionWeights"],["hostFnWeights","HostFnWeights"]]},"SchedulePeriod":"(BlockNumber, u32)","SchedulePriority":"u8","ScheduleTo212":{"type":"struct","type_mapping":[["version","u32"],["putCodePerByteCost","Gas"],["growMemCost","Gas"],["regularOpCost","Gas"],["returnDataPerByteCost","Gas"],["eventDataPerByteCost","Gas"],["eventPerTopicCost","Gas"],["eventBaseCost","Gas"],["sandboxDataReadCost","Gas"],["sandboxDataWriteCost","Gas"],["maxEventTopics","u32"],["maxStackHeight","u32"],["maxMemoryPages","u32"],["enablePrintln","bool"],["maxSubjectLen","u32"]]},"ScheduleTo258":{"type":"struct","type_mapping":[["version","u32"],["putCodePerByteCost","Gas"],["growMemCost","Gas"],["regularOpCost","Gas"],["returnDataPerByteCost","Gas"],["eventDataPerByteCost","Gas"],["eventPerTopicCost","Gas"],["eventBaseCost","Gas"],["sandboxDataReadCost","Gas"],["sandboxDataWriteCost","Gas"],["transferCost","Gas"],["maxEventTopics","u32"],["maxStackHeight","u32"],["maxMemoryPages","u32"],["enablePrintln","bool"],["maxSubjectLen","u32"]]},"Scheduled":{"type":"struct","type_mapping":[["maybe_id","Option\u003cBytes\u003e"],["priority","SchedulePriority"],["call","Call"],["maybe_periodic","Option\u003cSchedulePeriod\u003e"],["origin","PalletsOrigin"]]},"Scheduling":{"type":"enum","value_list":["Always","Dynamic"]},"SeatHolder":{"type":"struct","type_mapping":[["who","AccountId"],["stake","Balance"],["deposit","Balance"]]},"SeedOf":"Hash","ServiceQuality":{"type":"enum","value_list":["Ordered","Fast"]},"SessionIndex":"U32","SessionInfo":{"type":"struct","type_mapping":[["validators","Vec\u003cValidatorId\u003e"],["discoveryKeys","Vec\u003cAuthorityDiscoveryId\u003e"],["assignmentKeys","Vec\u003cAssignmentId\u003e"],["validatorGroups","Vec\u003cSessionInfoValidatorGroup\u003e"],["nCores","u32"],["zerothDelayTrancheWidth","u32"],["relayVrfModuloSamples","u32"],["nDelayTranches","u32"],["noShowSlots","u32"],["neededApprovals","u32"]]},"SessionInfoValidatorGroup":"Vec\u003cParaValidatorIndex\u003e","SessionKeys1":"(AccountId)","SessionKeys10":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys10B":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeys2":"(AccountId, AccountId)","SessionKeys3":"(AccountId, AccountId, AccountId)","SessionKeys4":"(AccountId, AccountId, AccountId, AccountId)","SessionKeys5":"(AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys6":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys6B":"(AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeys7":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys7B":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeys8":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys8B":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeys9":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys9B":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeysPolkadot":{"type":"struct","type_mapping":[["grandpa","AccountId"],["babe","AccountId"],["im_online","AccountId"],["authority_discovery","AccountId"],["parachains","AccountId"]]},"SetId":"u64","SiField":{"type":"struct","type_mapping":[["name","Option\u003cText\u003e"],["type","SiLookupTypeId"],["typeName","Option\u003cText\u003e"],["docs","Vec\u003cText\u003e"]]},"SiLookupTypeId":"Compact\u003cu32\u003e","SiPath":"Vec\u003cText\u003e","SiType":{"type":"struct","type_mapping":[["path","SiPath"],["params","Vec\u003cSiTypeParameter\u003e"],["def","SiTypeDef"],["docs","Vec\u003cText\u003e"]]},"SiTypeDef":{"type":"enum","type_mapping":[["Composite","SiTypeDefComposite"],["Variant","SiTypeDefVariant"],["Sequence","SiTypeDefSequence"],["Array","SiTypeDefArray"],["Tuple","SiTypeDefTuple"],["Primitive","SiTypeDefPrimitive"],["Compact","SiTypeDefCompact"],["BitSequence","SiTypeDefBitSequence"],["Range","SiTypeDefRange"],["HistoricMetaCompat","String"]]},"SiTypeDefArray":{"type":"struct","type_mapping":[["len","u32"],["type","SiLookupTypeId"]]},"SiTypeDefBitSequence":{"type":"struct","type_mapping":[["bitStoreType","SiLookupTypeId"],["bitOrderType","SiLookupTypeId"]]},"SiTypeDefCompact":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"SiTypeDefComposite":{"type":"struct","type_mapping":[["fields","Vec\u003cSiField\u003e"]]},"SiTypeDefPrimitive":{"type":"enum","value_list":["Bool","Char","Str","U8","U16","U32","U64","U128","U256","I8","I16","I32","I64","I128","I256"]},"SiTypeDefRange":{"type":"struct","type_mapping":[["start","SiLookupTypeId"],["end","SiLookupTypeId"],["inclusive","bool"]]},"SiTypeDefSequence":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"SiTypeDefTuple":"Vec\u003cSiLookupTypeId\u003e","SiTypeDefVariant":{"type":"struct","type_mapping":[["variants","Vec\u003cSiVariant\u003e"]]},"SiTypeParameter":{"type":"struct","type_mapping":[["name","Text"],["type","Option\u003cSiLookupTypeId\u003e"]]},"SiVariant":{"type":"struct","type_mapping":[["name","Text"],["fields","Vec\u003cSiField\u003e"],["index","u8"],["docs","Vec\u003cText\u003e"]]},"SignedAvailabilityBitfield":{"type":"struct","type_mapping":[["payload","BitVec"],["validatorIndex","ParaValidatorIndex"],["signature","ValidatorSignature"]]},"SignedAvailabilityBitfields":"Vec\u003cSignedAvailabilityBitfield\u003e","SignedExtensionMetadataV14":{"type":"struct","type_mapping":[["identifier","Text"],["type","SiLookupTypeId"],["additionalSigned","SiLookupTypeId"]]},"SignedSubmission":{"type":"struct","type_mapping":[["who","AccountId"],["deposit","Balance"],["solution","RawSolution"],["reward","Balance"]]},"SignedSubmissionOf":"SignedSubmission","SigningContext":{"type":"struct","type_mapping":[["sessionIndex","SessionIndex"],["parentHash","Hash"]]},"SlashingSpans":{"type":"struct","type_mapping":[["spanIndex","SpanIndex"],["lastStart","EraIndex"],["lastNonzeroSlash","EraIndex"],["prior","Vec\u003cEraIndex\u003e"]]},"Slot":"u64","SlotNumber":"u64","SlotRange":{"type":"enum","value_list":["ZeroZero","ZeroOne","ZeroTwo","ZeroThree","OneOne","OneTwo","OneThree","TwoTwo","TwoThree","ThreeThree"]},"SolutionOrSnapshotSize":{"type":"struct","type_mapping":[["voters","Compact\u003cu32\u003e"],["targets","Compact\u003cu32\u003e"]]},"SolutionSupport":{"type":"struct","type_mapping":[["total","ExtendedBalance"],["voters","Vec\u003c(AccountId, ExtendedBalance)\u003e"]]},"SolutionSupports":"Vec\u003c(AccountId, SolutionSupport)\u003e","SpanIndex":"u32","SpanRecord":{"type":"struct","type_mapping":[["slashed","Balance"],["paidOut","Balance"]]},"SpecVersion":"u32","Sr25519Signature":"H512","StakingLedger\u003cAccountId, BalanceOf\u003e":{"type":"struct","type_mapping":[["stash","AccountId"],["total","Compact\u003cBalance\u003e"],["active","Compact\u003cBalance\u003e"],["unlocking","Vec\u003cUnlockChunk\u003cBalance\u003e\u003e"],["lastReward","Option\u003cEraIndex\u003e"]]},"Statement":{"type":"enum","type_mapping":[["Never","Null"],["Candidate","Hash"],["Valid","Hash"],["Invalid","Hash"]]},"StatementKind":{"type":"enum","value_list":["Regular","Saft"]},"Status":"BalanceStatus","StorageChangeSet":{"type":"struct","type_mapping":[["block","Hash"],["changes","Vec\u003cKeyValueOption\u003e"]]},"StorageData":"Bytes","StorageFunctionType":{"type":"enum","value_list":["PlainType","MapType","DoubleMapType","NMap"]},"StorageFunctionTypeV14":{"type":"enum","value_list":["PlainType","Map"]},"StorageHasher":{"type":"enum","value_list":["Blake2_128","Blake2_256","Blake2_128Concat","Twox128","Twox256","Twox64Concat","Identity"]},"StorageKey":"Bytes","StorageModify":{"type":"enum","value_list":["Optional","Default"]},"StorageProof":{"type":"struct","type_mapping":[["trieNodes","Vec\u003cBytes\u003e"]]},"StoredPendingChange":{"type":"struct","type_mapping":[["scheduledAt","BlockNumber"],["delay","BlockNumber"],["nextAuthorities","AuthorityList"]]},"StoredState":{"type":"enum","type_mapping":[["Live","Null"],["PendingPause","PendingPause"],["Paused","Null"],["PendingResume","PendingResume"]]},"StrikeCount":"u32","SubId":"u32","SubmissionIndicesOf":"BTreeMap\u003cElectionScore, u32\u003e","SyncState":{"type":"struct","type_mapping":[["startingBlock","BlockNumber"],["currentBlock","BlockNumber"],["highestBlock","Option\u003cBlockNumber\u003e"]]},"SystemInherentData":"ParachainInherentData","SystemOrigin":"RawOrigin","TAssetBalance":"u64","TAssetDepositBalance":"BalanceOf","Tally":{"type":"struct","type_mapping":[["ayes","Balance"],["nays","Balance"],["turnout","Balance"]]},"TaskAddress":{"type":"struct","type_mapping":[["blockNumber","BlockNumber"],["index","u32"]]},"TeleportAsset":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["effects","Vec\u003cOrder\u003e"]]},"Text":"String","Timepoint":{"type":"struct","type_mapping":[["height","BlockNumber"],["index","u32"]]},"TokenError":{"type":"enum","value_list":["NoFunds","WouldDie","BelowMinimum","CannotCreate","UnknownAsset","Frozen","Underflow","Overflow"]},"TombstoneContractInfo":"Hash","TraceBlockResponse":{"type":"enum","type_mapping":[["TraceError","TraceError"],["BlockTrace","BlockTrace"]]},"TraceError":{"type":"struct","type_mapping":[["error","Text"]]},"Transact":{"type":"struct","type_mapping":[["originType","OriginKind"],["call","Vec\u003cu8\u003e"]]},"TransactionPriority":"u64","TransactionRecoveryId":"U64","TransactionSignature":{"type":"struct","type_mapping":[["v","TransactionRecoveryId"],["r","H256"],["s","H256"]]},"TransactionV0":"LegacyTransaction","TransactionV1":{"type":"enum","type_mapping":[["Legacy","LegacyTransaction"],["EIP2930","EIP2930Transaction"]]},"TransactionV2":{"type":"enum","type_mapping":[["Legacy","LegacyTransaction"],["EIP2930","EIP2930Transaction"],["EIP1559","EIP1559Transaction"]]},"TransientValidationData":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["balance","Balance"],["codeUpgradeAllowed","Option\u003cBlockNumber\u003e"],["dmqLength","u32"]]},"TreasuryProposal":{"type":"struct","type_mapping":[["proposer","AccountId"],["value","Balance"],["beneficiary","AccountId"],["bond","Balance"]]},"TrieId":"Bytes","TrieIndex":"u32","UnappliedSlash":{"type":"struct","type_mapping":[["validator","AccountId"],["own","Balance"],["others","Vec\u003cUnappliedSlashOther\u003e"],["reporters","Vec\u003cAccountId\u003e"],["payout","Balance"]]},"UnappliedSlash\u003cAccountId, BalanceOf\u003e":{"type":"struct","type_mapping":[["validator","AccountId"],["own","Balance"],["others","Vec\u003cUnappliedSlashOther\u003e"],["reporters","Vec\u003cAccountId\u003e"],["payout","Balance"]]},"UnappliedSlashOther":{"type":"struct","type_mapping":[["account","AccountId"],["amount","Balance"]]},"UnlockChunk":{"type":"struct","type_mapping":[["value","Compact\u003cBalance\u003e"],["era","Compact\u003cEraIndex\u003e"]]},"UnrewardedRelayer":{"type":"struct","type_mapping":[["relayer","RelayerId"],["messages","DeliveredMessages"]]},"UnrewardedRelayersState":{"type":"struct","type_mapping":[["unrewardedRelayer_Entries","MessageNonce"],["messagesInOldestEntry","MessageNonce"],["totalMessages","MessageNonce"]]},"UpgradeRestriction":{"type":"enum","value_list":["Present"]},"UpwardMessage":"Bytes","ValidDisputeStatementKind":{"type":"enum","type_mapping":[["Explicit","Null"],["BackingSeconded","Hash"],["BackingValid","Hash"],["ApprovalChecking","Null"]]},"ValidationCode":"Bytes","ValidationCodeHash":"H256","ValidationData":{"type":"struct","type_mapping":[["persisted","PersistedValidationData"],["transient","TransientValidationData"]]},"ValidationDataType":{"type":"struct","type_mapping":[["validationData","ValidationData"],["relayChainState","Vec\u003cBytes\u003e"]]},"ValidationFunctionParams":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["relayChainHeight","RelayChainBlockNumber"],["codeUpgradeAllowed","Option\u003cRelayChainBlockNumber\u003e"]]},"ValidatorCount":"u32","ValidatorId":"AccountId","ValidatorIdOf":"ValidatorId","ValidatorIndex":"u16","ValidatorIndexCompact":"Compact\u003cValidatorIndex\u003e","ValidatorPrefs":"ValidatorPrefsWithCommission","ValidatorPrefsWithBlocked":{"type":"struct","type_mapping":[["commission","Compact\u003cPerbill\u003e"],["blocked","bool"]]},"ValidatorPrefsWithCommission":{"type":"struct","type_mapping":[["commission","Compact\u003cPerbill\u003e"]]},"ValidatorSetId":"u64","ValidatorSignature":"Signature","ValidityAttestation":{"type":"enum","type_mapping":[["Never","Null"],["Implicit","ValidatorSignature"],["Explicit","ValidatorSignature"]]},"VecInboundHrmpMessage":"Vec\u003cInboundHrmpMessage\u003e","VersionMigrationStage":{"type":"enum","type_mapping":[["MigrateSupportedVersion","Null"],["MigrateVersionNotifiers","Null"],["NotifyCurrentTargets","Option\u003cBytes\u003e"],["MigrateAndNotifyOldTargets","Null"]]},"VersionedMultiAsset":{"type":"enum","type_mapping":[["V0","MultiAssetV0"],["V1","MultiAssetV1"],["V2","MultiAssetV2"]]},"VersionedMultiAssets":{"type":"enum","type_mapping":[["V0","Vec\u003cMultiAssetV0\u003e"],["V1","MultiAssetsV1"],["V2","MultiAssetsV2"]]},"VersionedMultiLocation":{"type":"enum","type_mapping":[["V0","MultiLocationV0"],["V1","MultiLocationV1"],["V2","MultiLocationV2"]]},"VersionedResponse":{"type":"struct","type_mapping":[["V0","ResponseV0"],["V1","ResponseV1"],["V2","ResponseV2"]]},"VersionedXcm":{"type":"enum","type_mapping":[["V0","XcmV0"],["V1","XcmV1"],["V2","XcmV2"],["V3","XcmV3"]]},"VestingInfo":{"type":"struct","type_mapping":[["locked","Balance"],["perBlock","Balance"],["startingBlock","BlockNumber"]]},"Vote":"U8","VoteStage":{"type":"enum","value_list":["PreVoting","Commit","Voting","Completed"]},"VoteThreshold":{"type":"enum","value_list":["SuperMajorityApprove","SuperMajorityAgainst","SimpleMajority"]},"Voter":{"type":"struct","type_mapping":[["votes","Vec\u003cAccountId\u003e"],["stake","Balance"],["deposit","Balance"]]},"Votes":{"type":"struct","type_mapping":[["index","ProposalIndex"],["threshold","MemberCount"],["ayes","Vec\u003cAccountId\u003e"],["nays","Vec\u003cAccountId\u003e"]]},"Voting":{"type":"enum","type_mapping":[["Direct","VotingDirect"],["Delegating","VotingDelegating"]]},"VotingDelegating":{"type":"struct","type_mapping":[["balance","Balance"],["target","AccountId"],["conviction","Conviction"],["delegations","Delegations"],["prior","PriorLock"]]},"VotingDirect":{"type":"struct","type_mapping":[["votes","Vec\u003cVotingDirectVote\u003e"],["delegations","Delegations"],["prior","PriorLock"]]},"VotingDirectVote":{"type":"struct","type_mapping":[["referendumIndex","ReferendumIndex"],["accountVote","AccountVote"]]},"VouchingStatus":{"type":"enum","value_list":["Vouching","Banned"]},"VrfData":"[u8; 32]","VrfOutput":"[u8; 32]","VrfProof":"[u8; 64]","Weight":"u32","WeightLimitV2":{"type":"enum","type_mapping":[["Unlimited","empty"],["Limited","Compact\u003cu64\u003e"]]},"WeightLimitV3":{"type":"enum","type_mapping":[["Unlimited","Null"],["Limited","WeightV2"]]},"WeightMultiplier":"u64","WeightPerClass":{"type":"struct","type_mapping":[["baseExtrinsic","Weight"],["maxExtrinsic","Weight"],["maxTotal","Option\u003cWeight\u003e"],["reserved","Option\u003cWeight\u003e"]]},"WeightV2":{"type":"struct","type_mapping":[["ref_time","Compact\u003cu64\u003e"],["proof_size","Compact\u003cu64\u003e"]]},"WildFungibilityV0":"WildFungibilityV1","WildFungibilityV1":{"type":"enum","value_list":["Fungible","NonFungible"]},"WildFungibilityV2":"WildFungibilityV1","WildFungibilityV3":{"type":"enum","value_list":["Fungible","NonFungible"]},"WildMultiAsset":"WildMultiAssetV1","WildMultiAssetV1":{"type":"enum","type_mapping":[["All","Null"],["AllOf","[[\"id\", \"XcmAssetId\"], [\"fun\", \"WildFungibilityV1\"]]"]]},"WildMultiAssetV2":"WildMultiAssetV1","WildMultiAssetV3":{"type":"enum","type_mapping":[["All","Null"],["AllOf","[[\"id\", \"XcmAssetIdV3\"], [\"fun\", \"WildFungibilityV3\"]]"],["AllCounted","Compact\u003cu32\u003e"]]},"WinnersData":"Vec\u003cWinnersDataTuple\u003e","WinnersDataTuple":"(AccountId, ParaId, BalanceOf, SlotRange)","WinningData":"[WinningDataEntry; 10]","WinningDataEntry":"Option\u003c(AccountId, ParaId, BalanceOf)\u003e","WithdrawAsset":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["effects","Vec\u003cOrder\u003e"]]},"WithdrawReasons":{"bit_length":8,"type":"set","value_list":["TransactionPayment","Transfer","Reserve","Fee","Tip"]},"Xcm":"XcmV1","XcmAssetId":{"type":"enum","type_mapping":[["Concrete","MultiLocation"],["Abstract","Bytes"]]},"XcmAssetIdV3":{"type":"enum","type_mapping":[["Concrete","MultiLocationV3"],["Abstract","[u8; 32]"]]},"XcmError":"XcmErrorV1","XcmErrorV0":{"type":"enum","type_mapping":[["Undefined","Null"],["Overflow","Null"],["Unimplemented","Null"],["UnhandledXcmVersion","Null"],["UnhandledXcmMessage","Null"],["UnhandledEffect","Null"],["EscalationOfPrivilege","Null"],["UntrustedReserveLocation","Null"],["UntrustedTeleportLocation","Null"],["DestinationBufferOverflow","Null"],["SendFailed","Null"],["CannotReachDestination","(MultiLocation, Xcm)"],["MultiLocationFull","Null"],["FailedToDecode","Null"],["BadOrigin","Null"],["ExceedsMaxMessageSize","Null"],["FailedToTransactAsset","Null"],["WeightLimitReached","Weight"],["Wildcard","Null"],["TooMuchWeightRequired","Null"],["NotHoldingFees","Null"],["WeightNotComputable","Null"],["Barrier","Null"],["NotWithdrawable","Null"],["LocationCannotHold","Null"],["TooExpensive","Null"],["AssetNotFound","Null"],["RecursionLimitReached","Null"]]},"XcmErrorV1":{"type":"enum","type_mapping":[["Undefined","Null"],["Overflow","Null"],["Unimplemented","Null"],["UnhandledXcmVersion","Null"],["UnhandledXcmMessage","Null"],["UnhandledEffect","Null"],["EscalationOfPrivilege","Null"],["UntrustedReserveLocation","Null"],["UntrustedTeleportLocation","Null"],["DestinationBufferOverflow","Null"],["SendFailed","Null"],["CannotReachDestination","(MultiLocationV1, XcmV1)"],["MultiLocationFull","Null"],["FailedToDecode","Null"],["BadOrigin","Null"],["ExceedsMaxMessageSize","Null"],["FailedToTransactAsset","Null"],["WeightLimitReached","Weight"],["Wildcard","Null"],["TooMuchWeightRequired","Null"],["NotHoldingFees","Null"],["WeightNotComputable","Null"],["Barrier","Null"],["NotWithdrawable","Null"],["LocationCannotHold","Null"],["TooExpensive","Null"],["AssetNotFound","Null"],["DestinationUnsupported","Null"],["RecursionLimitReached","Null"]]},"XcmErrorV2":{"type":"enum","type_mapping":[["Undefined","empty"],["Overflow","empty"],["Unimplemented","empty"],["UnhandledXcmVersion","empty"],["UnhandledXcmMessage","empty"],["UnhandledEffect","empty"],["EscalationOfPrivilege","empty"],["UntrustedReserveLocation","empty"],["UntrustedTeleportLocation","empty"],["DestinationBufferOverflow","empty"],["MultiLocationFull","empty"],["MultiLocationNotInvertible","empty"],["FailedToDecode","empty"],["BadOrigin","empty"],["ExceedsMaxMessageSize","empty"],["FailedToTransactAsset","empty"],["WeightLimitReached","Weight"],["Wildcard","empty"],["TooMuchWeightRequired","empty"],["NotHoldingFees","empty"],["WeightNotComputable","empty"],["Barrier","empty"],["NotWithdrawable","empty"],["LocationCannotHold","empty"],["TooExpensive","empty"],["AssetNotFound","empty"],["DestinationUnsupported","empty"],["RecursionLimitReached","empty"],["Transport","empty"],["Unroutable","empty"],["UnknownWeightRequired","empty"],["Trap","u64"],["UnknownClaim","empty"],["InvalidLocation","empty"]]},"XcmOrder":"XcmOrderV1","XcmOrderV0":{"type":"enum","type_mapping":[["Null","Null"],["DepositAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"]]"],["DepositReserveAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["ExchangeAsset","[[\"give\", \"Vec\u003cMultiAssetV0\u003e\"], [\"receive\", \"Vec\u003cMultiAssetV0\u003e\"]]"],["InitiateReserveWithdraw","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"reserve\", \"MultiLocationV0\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["InitiateTeleport","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["QueryHolding","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"dest\", \"MultiLocationV0\"], [\"assets\", \"Vec\u003cMultiAssetV0\u003e\"]]"],["BuyExecution","[[\"fees\", \"MultiAssetV0\"], [\"weight\", \"u64\"], [\"debt\", \"u64\"], [\"haltOnError\", \"bool\"], [\"xcm\", \"Vec\u003cXcmV0\u003e\"]]"]]},"XcmOrderV1":{"type":"enum","type_mapping":[["Noop","Null"],["DepositAsset","[[\"assets\", \"MultiAssetFilterV1\"], [\"max_assets\", \"u32\"], [\"beneficiary\", \"MultiLocationV1\"]]"],["DepositReserveAsset","[[\"assets\", \"MultiAssetFilterV1\"], [\"max_assets\", \"u32\"], [\"dest\", \"MultiLocationV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["ExchangeAsset","[[\"give\", \"MultiAssetFilterV1\"], [\"receive\", \"MultiAssetsV1\"]]"],["InitiateReserveWithdraw","[[\"assets\", \"MultiAssetFilterV1\"], [\"reserve\", \"MultiLocationV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["InitiateTeleport","[[\"assets\", \"MultiAssetFilterV1\"], [\"dest\", \"MultiLocationV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["QueryHolding","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"dest\", \"MultiLocationV1\"], [\"assets\", \"MultiAssetFilterV1\"]]"],["BuyExecution","[[\"fees\", \"MultiAssetV1\"], [\"weight\", \"u64\"], [\"debt\", \"u64\"], [\"halt_on_error\", \"bool\"], [\"instructions\", \"Vec\u003cXcmV1\u003e\"]]"]]},"XcmOrderV2":"XcmOrderV1","XcmOrigin":{"type":"enum","type_mapping":[["Xcm","MultiLocation"]]},"XcmOriginKind":{"type":"enum","value_list":["Native","SovereignAccount","Superuser","Xcm"]},"XcmResult":{"type":"enum","type_mapping":[["Ok","()"],["Err","XcmError"]]},"XcmTraitsErrorV3":{"type":"enum","type_mapping":[["Overflow","NULL"],["Unimplemented","NULL"],["UntrustedReserveLocation","NULL"],["UntrustedTeleportLocation","NULL"],["LocationFull","NULL"],["LocationNotInvertible","NULL"],["BadOrigin","NULL"],["InvalidLocation","NULL"],["AssetNotFound","NULL"],["FailedToTransactAsset","NULL"],["NotWithdrawable","NULL"],["LocationCannotHold","NULL"],["ExceedsMaxMessageSize","NULL"],["DestinationUnsupported","NULL"],["Transport","NULL"],["Unroutable","NULL"],["UnknownClaim","NULL"],["FailedToDecode","NULL"],["MaxWeightInvalid","NULL"],["NotHoldingFees","NULL"],["TooExpensive","NULL"],["Trap","U64"],["ExpectationFalse","NULL"],["PalletNotFound","NULL"],["NameMismatch","NULL"],["VersionIncompatible","NULL"],["HoldingWouldOverflow","NULL"],["ExportError","NULL"],["ReanchorFailed","NULL"],["NoDeal","NULL"],["FeesNotMet","NULL"],["LockError","NULL"],["NoPermission","NULL"],["Unanchored","NULL"],["NotDepositable","NULL"],["UnhandledXcmVersion","NULL"],["WeightLimitReached","WeightV2"],["Barrier","NULL"],["WeightNotComputable","NULL"],["ExceedsStackLimit","NULL"]]},"XcmV0":{"type":"enum","type_mapping":[["WithdrawAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["ReserveAssetDeposit","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["TeleportAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["QueryResponse","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"response\", \"ResponseV0\"]]"],["TransferAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"]]"],["TransferReserveAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["Transact","[[\"originType\", \"XcmOriginKind\"], [\"requireWeightAtMost\", \"u64\"], [\"call\", \"DoubleEncodedCall\"]]"],["HrmpNewChannelOpenRequest","[[\"sender\", \"Compact\u003cu32\u003e\"], [\"maxMessageSize\", \"Compact\u003cu32\u003e\"], [\"maxCapacity\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelAccepted","[[\"recipient\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelClosing","[[\"initiator\", \"Compact\u003cu32\u003e\"], [\"sender\", \"Compact\u003cu32\u003e\"], [\"recipient\", \"Compact\u003cu32\u003e\"]]"],["RelayedFrom","[[\"who\", \"MultiLocationV0\"], [\"message\", \"XcmV0\"]]"]]},"XcmV1":{"type":"enum","type_mapping":[["WithdrawAsset","[[\"assets\", \"MultiAssetsV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["ReserveAssetDeposit","[[\"assets\", \"MultiAssetsV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["ReceiveTeleportedAsset","[[\"assets\", \"MultiAssetsV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["QueryResponse","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"response\", \"ResponseV1\"]]"],["TransferAsset","[[\"assets\", \"MultiAssetsV1\"], [\"dest\", \"MultiLocationV1\"]]"],["TransferReserveAsset","[[\"assets\", \"MultiAssetsV1\"], [\"dest\", \"MultiLocationV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["Transact","[[\"originType\", \"XcmOriginKind\"], [\"requireWeightAtMost\", \"u64\"], [\"call\", \"DoubleEncodedCall\"]]"],["HrmpNewChannelOpenRequest","[[\"sender\", \"Compact\u003cu32\u003e\"], [\"maxMessageSize\", \"Compact\u003cu32\u003e\"], [\"maxCapacity\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelAccepted","[[\"recipient\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelClosing","[[\"initiator\", \"Compact\u003cu32\u003e\"], [\"sender\", \"Compact\u003cu32\u003e\"], [\"recipient\", \"Compact\u003cu32\u003e\"]]"],["RelayedFrom","[[\"who\", \"MultiLocationV1\"], [\"message\", \"XcmV1\"]]"],["SubscribeVersion","[[\"query_id\", \"U64\"], [\"max_response_weight\", \"U64\"]]"],["UnsubscribeVersion","NULL"]]},"XcmV2":"Vec\u003cInstructionV2\u003e","XcmV3":"Vec\u003cInstructionV3\u003e","XcmVersion":"u32","XcmpMessageFormat":{"type":"enum","value_list":["ConcatenatedVersionedXcm","ConcatenatedEncodedBlob","Signals"]},"ethereum::Block":"EthBlock","ethereum::Header":"EthHeader","ethereum::Receipt":"EthReceipt","ethereum::Transaction":"EthTransaction","gas":"u64","schedule::Period\u003cBlockNumber\u003e":"(BlockNumber, u32)","schedule::Priority":"u8","schnorrkel::Randomness":"Hash","schnorrkel::RawVRFOutput":"[u8; 32]","slashing::SlashingSpans":"SlashingSpans","slashing::SpanIndex":"SpanIndex","slashing::SpanRecord\u003cBalanceOf\u003e":"SpanRecord","super::initializationdata\u003cbridgedheader\u003ct, i\u003e\u003e":"InitializationData","weights::ExtrinsicsWeight":"ExtrinsicsWeight","xcm::VersionedXcm":"VersionedXcm"}` +var BaseType = `{"\u0026[u8]":"Bytes","(AccountId, Balance)":{"type":"struct","type_mapping":[["account","AccountId"],["balance","Balance"]]},"(BalanceOf\u003cT, I\u003e, BidKind\u003cAccountId, BalanceOf\u003cT, I\u003e\u003e)":{"type":"struct","type_mapping":[["balance","Balance"],["bidkind","BidKind"]]},"(BoundedVec\u003cProxyDefinition\u003cAccountId,ProxyType,BlockNumber\u003e,MaxProxies\u003e,BalanceOf)":"(Vec\u003cProxyDefinition\u003e,BalanceOf)","\u003cAuthorityId as RuntimeAppPublic\u003e::Signature":"Signature","\u003cT as Config\u003e::Call":"Call","AbridgedCandidateReceipt":{"type":"struct","type_mapping":[["parachainIndex","ParaId"],["relayParent","Hash"],["headData","HeadData"],["collator","CollatorId"],["signature","CollatorSignature"],["povBlockHash","Hash"],["commitments","CandidateCommitments"]]},"AbridgedHostConfiguration":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["maxUpwardQueueCount","u32"],["maxUpwardQueueSize","u32"],["maxUpwardMessageSize","u32"],["maxUpwardMessageNumPerCandidate","u32"],["hrmpMaxMessageNumPerCandidate","u32"],["validationUpgradeFrequency","BlockNumber"],["validationUpgradeDelay","BlockNumber"]]},"AbridgedHrmpChannel":{"type":"struct","type_mapping":[["maxCapacity","u32"],["maxTotalSize","u32"],["maxMessageSize","u32"],["msgCount","u32"],["totalSize","u32"],["mqcHead","Option\u003cHash\u003e"]]},"AbstractFungible":{"type":"struct","type_mapping":[["id","Vec\u003cu8\u003e"],["instance","Compact\u003cu128\u003e"]]},"AbstractNonFungible":{"type":"struct","type_mapping":[["class","Vec\u003cu8\u003e"],["instance","AssetInstance"]]},"AccountData":{"type":"struct","type_mapping":[["free","Balance"],["reserved","Balance"],["miscFrozen","Balance"],["feeFrozen","Balance"]]},"AccountId32":"[u8; 32]","AccountIndex":"U32","AccountInfo":{"type":"struct","type_mapping":[["nonce","Index"],["refcount","RefCount"],["data","AccountData"]]},"AccountInfoWithProviders":{"type":"struct","type_mapping":[["nonce","Index"],["consumers","RefCount"],["providers","RefCount"],["data","AccountData"]]},"AccountInfoWithTripleRefCount":{"type":"struct","type_mapping":[["nonce","Index"],["consumers","RefCount"],["providers","RefCount"],["sufficients","RefCount"],["data","AccountData"]]},"AccountStatus":{"type":"struct","type_mapping":[["validity","AccountValidity"],["freeBalance","Balance"],["lockedBalance","Balance"],["signature","Vec\u003cu8\u003e"],["vat","Permill"]]},"AccountValidity":{"type":"enum","value_list":["Invalid","Initiated","Pending","ValidLow","ValidHigh","Completed"]},"AccountVote":{"type":"enum","type_mapping":[["Standard","AccountVoteStandard"],["Split","AccountVoteSplit"]]},"AccountVoteSplit":{"type":"struct","type_mapping":[["aye","Balance"],["nay","Balance"]]},"AccountVoteStandard":{"type":"struct","type_mapping":[["vote","Vote"],["balance","Balance"]]},"ActiveEraInfo":{"type":"struct","type_mapping":[["index","EraIndex"],["start","MomentOf"]]},"ActiveGilt":{"type":"struct","type_mapping":[["proportion","Perquintill"],["amount","Balance"],["who","AccountId"],["expiry","BlockNumber"]]},"ActiveGiltsTotal":{"type":"struct","type_mapping":[["frozen","Balance"],["proportion","Perquintill"],["index","ActiveIndex"],["target","Perquintill"]]},"ActiveIndex":"u32","ActiveRecovery":{"type":"struct","type_mapping":[["created","BlockNumber"],["deposit","Balance"],["friends","Vec\u003cAccountId\u003e"]]},"AliveContractInfo":{"type":"struct","type_mapping":[["trieId","TrieId"],["storageSize","u32"],["codeHash","CodeHash"],["rentAllowance","Balance"],["rentPaid","Balance"],["deductBlock","BlockNumber"],["lastWrite","Option\u003cBlockNumber\u003e"]]},"AllowedSlots":{"type":"enum","value_list":["PrimarySlots","PrimaryAndSecondaryPlainSlots","PrimaryAndSecondaryVRFSlots"]},"Announcement":"ProxyAnnouncement","AnySignature":"H512","ApiId":"[u8; 8]","Approvals":"[bool; 4]","ArithmeticError":{"type":"enum","value_list":["Underflow","Overflow","DivisionByZero"]},"AssetApproval":{"type":"struct","type_mapping":[["amount","TAssetBalance"],["deposit","TAssetDepositBalance"]]},"AssetApprovalKey":{"type":"struct","type_mapping":[["owner","AccountId"],["delegate","AccountId"]]},"AssetBalance":{"type":"struct","type_mapping":[["balance","TAssetBalance"],["isFrozen","bool"],["isSufficient","bool"]]},"AssetDestroyWitness":{"type":"struct","type_mapping":[["accounts","Compact\u003cu32\u003e"],["sufficients","Compact\u003cu32\u003e"],["approvals","Compact\u003cu32\u003e"]]},"AssetDetails":{"type":"struct","type_mapping":[["owner","AccountId"],["issuer","AccountId"],["admin","AccountId"],["freezer","AccountId"],["supply","TAssetBalance"],["deposit","TAssetDepositBalance"],["minBalance","TAssetBalance"],["isSufficient","bool"],["accounts","u32"],["sufficients","u32"],["approvals","u32"],["isFrozen","bool"]]},"AssetId":"u32","AssetInstance":"AssetInstanceV1","AssetInstanceV0":{"type":"enum","type_mapping":[["Undefined","Null"],["Index8","u8"],["Index16","Compact\u003cu16\u003e"],["Index32","Compact\u003cu32\u003e"],["Index64","Compact\u003cu64\u003e"],["Index128","Compact\u003cu128\u003e"],["Array4","[u8; 4]"],["Array8","[u8; 8]"],["Array16","[u8; 16]"],["Array32","[u8; 32]"],["Blob","Vec\u003cu8\u003e"]]},"AssetInstanceV1":{"type":"enum","type_mapping":[["Undefined","Null"],["Index","Compact\u003cu128\u003e"],["Array4","[u8; 4]"],["Array8","[u8; 8]"],["Array16","[u8; 16]"],["Array32","[u8; 32]"],["Blob","Bytes"]]},"AssetInstanceV2":"AssetInstanceV1","AssetInstanceV3":{"type":"enum","type_mapping":[["Undefined","NULL"],["Index","Compact\u003cu128\u003e"],["Array4","[u8; 4]"],["Array8","[u8; 8]"],["Array16","[u8; 16]"],["Array32","[u8; 32]"]]},"AssetMetadata":{"type":"struct","type_mapping":[["deposit","TAssetDepositBalance"],["name","Vec\u003cu8\u003e"],["symbol","Vec\u003cu8\u003e"],["decimals","u8"],["isFrozen","bool"]]},"AssetOptions":{"type":"struct","type_mapping":[["initalIssuance","Compact\u003cBalance\u003e"],["permissions","PermissionLatest"]]},"AssignmentId":"AccountId","AssignmentKind":{"type":"enum","type_mapping":[["Parachain","Null"],["Parathread","(CollatorId, u32)"]]},"AttestedCandidate":{"type":"struct","type_mapping":[["candidate","AbridgedCandidateReceipt"],["validityVotes","Vec\u003cValidityAttestation\u003e"],["validatorIndices","BitVec"]]},"AuctionIndex":"u32","AuthIndex":"U32","AuthorityDiscoveryId":"AccountId","AuthorityId":"H256","AuthorityIndex":"u64","AuthorityList":"Vec\u003cNextAuthority\u003e","AuthoritySet":{"type":"struct","type_mapping":[["currentAuthorities","AuthorityList"],["setId","u64"],["pendingStandardChanges","ForkTreePendingChange"],["pendingForcedChanges","Vec\u003cPendingChange\u003e"],["authoritySetChanges","AuthoritySetChanges"]]},"AuthoritySetChange":"(U64, BlockNumber)","AuthoritySetChanges":"Vec\u003cAuthoritySetChange\u003e","AuthoritySignature":"Signature","AuthorityWeight":"u64","AvailabilityBitfield":"BitVec","AvailabilityBitfieldRecord":{"type":"struct","type_mapping":[["bitfield","AvailabilityBitfield"],["submittedTt","BlockNumber"]]},"BabeAuthorityWeight":"u64","BabeBlockWeight":"u32","BabeEpochConfiguration":{"type":"struct","type_mapping":[["c","(u64,u64)"],["allowedSlots","AllowedSlots"]]},"BabeEquivocationProof":{"type":"struct","type_mapping":[["offender","AuthorityId"],["slotNumber","SlotNumber"],["firstHeader","Header"],["secondHeader","Header"]]},"BabeWeight":"u64","BackedCandidate":{"type":"struct","type_mapping":[["candidate","CommittedCandidateReceipt"],["validityVotes","Vec\u003cValidityAttestation\u003e"],["validatorIndices","BitVec"]]},"BalanceLock":{"type":"struct","type_mapping":[["id","LockIdentifier"],["amount","Balance"],["until","u32"],["reasons","WithdrawReasons"]]},"BalanceLock\u003cBalance, BlockNumber\u003e":{"type":"struct","type_mapping":[["id","LockIdentifier"],["amount","Balance"],["reasons","Reasons"]]},"BalanceLock\u003cBalance\u003e":{"type":"struct","type_mapping":[["id","LockIdentifier"],["amount","Balance"],["reasons","Reasons"]]},"BalanceOf":"Balance","BalanceStatus":{"type":"enum","value_list":["Free","Reserved"]},"BalanceUpload":{"type":"struct","type_mapping":[["col1","AccountId"],["col2","u64"]]},"Balances":{"type":"struct","type_mapping":[["queryId","Compact\u003cu64\u003e"],["assets","Vec\u003cMultiAsset\u003e"]]},"BeefyCommitment":{"type":"struct","type_mapping":[["payload","BeefyPayload"],["blockNumber","BlockNumber"],["validatorSetId","ValidatorSetId"]]},"BeefyId":"[u8; 33]","BeefyKey":"[u8; 33]","BeefyNextAuthoritySet":{"type":"struct","type_mapping":[["id","u64"],["len","u32"],["root","H256"]]},"BeefyPayload":"MmrRootHash","BeefySignedCommitment":{"type":"struct","type_mapping":[["commitment","BeefyCommitment"],["signatures","Vec\u003cOption\u003cSignature\u003e\u003e"]]},"Bid":{"type":"struct","type_mapping":[["who","AccountId"],["kind","BidKind"],["value","Balance"]]},"BidKind":{"type":"enum","type_mapping":[["Deposit","Balance"],["Vouch","BidKindVouch"]]},"BidKindVouch":{"type":"struct","type_mapping":[["account","AccountId"],["amount","Balance"]]},"Bidder":{"type":"enum","type_mapping":[["New","NewBidder"],["Existing","ParaId"]]},"BlockAttestations":{"type":"struct","type_mapping":[["receipt","CandidateReceipt"],["valid","Vec\u003cAccountId\u003e"],["invalid","Vec\u003cAccountId\u003e"]]},"BlockLength":{"type":"struct","type_mapping":[["max","PerDispatchClassU32"]]},"BlockNumberFor":"BlockNumber","BlockNumberOf":"BlockNumber","BlockTrace":{"type":"struct","type_mapping":[["blockHash","Text"],["parentHash","Text"],["tracingTargets","Text"],["storageKeys","Text"],["spans","Vec\u003cBlockTraceSpan\u003e"],["events","Vec\u003cBlockTraceEvent\u003e"]]},"BlockTraceEvent":{"type":"struct","type_mapping":[["target","Text"],["data","BlockTraceEventData"],["parentId","Option\u003cu64\u003e"]]},"BlockTraceEventData":{"type":"struct","type_mapping":[["stringValues","HashMap\u003cText, Text\u003e"]]},"BlockTraceSpan":{"type":"struct","type_mapping":[["id","u64"],["parentId","Option\u003cu64\u003e"],["name","Text"],["target","Text"],["wasm","bool"]]},"BlockTransactions":{"type":"enum","type_mapping":[["Hashes","Vec\u003cH256\u003e"],["Full","Vec\u003cethereum::Transaction\u003e"]]},"BlockV0":{"type":"struct","type_mapping":[["header","EthHeader"],["transactions","Vec\u003cTransactionV0\u003e"],["ommers","Vec\u003cEthHeader\u003e"]]},"BlockV1":{"type":"struct","type_mapping":[["header","EthHeader"],["transactions","Vec\u003cTransactionV1\u003e"],["ommers","Vec\u003cEthHeader\u003e"]]},"BlockV2":{"type":"struct","type_mapping":[["header","EthHeader"],["transactions","Vec\u003cTransactionV2\u003e"],["ommers","Vec\u003cEthHeader\u003e"]]},"BlockWeights":{"type":"struct","type_mapping":[["baseBlock","Weight"],["maxBlock","Weight"],["perClass","PerDispatchClass"]]},"BodyId":{"type":"enum","type_mapping":[["Unit","Null"],["Named","Vec\u003cu8\u003e"],["Index","Compact\u003cu32\u003e"],["Executive","Null"],["Technical","Null"],["Legislative","Null"],["Judicial","Null"],["Defense","Null"],["Administration","Null"],["Treasury","Null"]]},"BodyPart":{"type":"enum","type_mapping":[["Voice","Null"],["Members","Compact\u003cu32\u003e"],["Fraction","[[\"nom\", \"Compact\u003cu32\u003e\"], [\"denom\", \"Compact\u003cu32\u003e\"]]"],["AtLeastProportion","[[\"nom\", \"Compact\u003cu32\u003e\"], [\"denom\", \"Compact\u003cu32\u003e\"]]"],["MoreThanProportion","[[\"nom\", \"Compact\u003cu32\u003e\"], [\"denom\", \"Compact\u003cu32\u003e\"]]"]]},"Bounty":{"type":"struct","type_mapping":[["proposer","AccountId"],["value","Balance"],["fee","Balance"],["curator_deposit","Balance"],["bond","Balance"],["status","BountyStatus"]]},"BountyIndex":"u32","BountyStatus":{"type":"enum","type_mapping":[["Proposed","Null"],["Approved","Null"],["Funded","Null"],["CuratorProposed","BountyStatusCuratorProposed"],["Active","BountyStatusActive"],["PendingPayout","BountyStatusPendingPayout"]]},"BountyStatusActive":{"type":"struct","type_mapping":[["curator","AccountId"],["update_due","BlockNumber"]]},"BountyStatusCuratorProposed":{"type":"struct","type_mapping":[["curator","AccountId"]]},"BountyStatusPendingPayout":{"type":"struct","type_mapping":[["curator","AccountId"],["beneficiary","AccountId"],["unlockAt","BlockNumber"]]},"Box\u003c\u003cT as Config\u003cI\u003e\u003e::Proposal\u003e":"Proposal","Box\u003c\u003cT as Config\u003e::Call\u003e":"Call","Box\u003c\u003cT as Trait\u003cI\u003e\u003e::Proposal\u003e":"BoxProposal","Box\u003cCall\u003e":"BoxProposal","Box\u003cProposal\u003e":"BoxProposal","BridgeMessageId":"(LaneId, MessageNonce)","BridgedBlockHash":"H256","BridgedBlockNumber":"BlockNumber","BridgedHeader":"Header","BufferedSessionChange":{"type":"struct","type_mapping":[["applyAt","BlockNumber"],["validators","Vec\u003cValidatorId\u003e"],["queued","Vec\u003cValidatorId\u003e"],["sessionIndex","SessionIndex"]]},"ByForkV3":{"type":"struct","type_mapping":[["block_number","u64"],["block_hash","[u8; 32]"]]},"CallHash":"H256","CallHashOf":"H256","CallIndex":"(u8, u8)","CallOrigin":{"type":"enum","type_mapping":[["SourceRoot","Null"],["TargetAccount","(AccountId, MultiSigner, MultiSignature)"],["SourceAccount","AccountId"]]},"CandidateCommitments":{"type":"struct","type_mapping":[["upwardMessages","Vec\u003cUpwardMessage\u003e"],["horizontalMessages","Vec\u003cOutboundHrmpMessage\u003e"],["newValidationCode","Option\u003cValidationCode\u003e"],["headData","HeadData"],["processedDownwardMessages","u32"],["hrmpWatermark","BlockNumber"]]},"CandidateDescriptor":{"type":"struct","type_mapping":[["paraId","ParaId"],["relayParent","RelayChainHash"],["collatorId","CollatorId"],["persistedValidationDataHash","Hash"],["povHash","Hash"],["erasureRoot","Hash"],["signature","CollatorSignature"],["paraHead","Hash"],["validationCodeHash","Hash"]]},"CandidateHash":"Hash","CandidatePendingAvailability":{"type":"struct","type_mapping":[["core","CoreIndex"],["hash","CandidateHash"],["descriptor","CandidateDescriptor"],["availabilityoVotes","BitVec"],["backers","BitVec"],["relayParentNumber","BlockNumber"],["backedInNumber","BlockNumber"],["backingGroup","GroupIndex"]]},"CandidateReceipt":{"type":"struct","type_mapping":[["descriptor","CandidateDescriptor"],["commitmentsHash","Hash"]]},"ChainId":"[u8; 4]","ChangesTrieConfiguration":{"type":"struct","type_mapping":[["digestInterval","u32"],["digestLevels","u32"]]},"ChangesTrieSignal":{"type":"enum","type_mapping":[["NewConfiguration","Option\u003cChangesTrieConfiguration\u003e"]]},"ClassDetails":{"type":"struct","type_mapping":[["owner","AccountId"],["issuer","AccountId"],["admin","AccountId"],["freezer","AccountId"],["totalDeposit","DepositBalance"],["freeHolding","bool"],["instances","u32"],["instanceMetadatas","u32"],["attributes","u32"],["isFrozen","bool"]]},"ClassId":"u32","ClassMetadata":{"type":"struct","type_mapping":[["deposit","DepositBalance"],["data","Vec\u003cu8\u003e"],["isFrozen","bool"]]},"CodeHash":"Hash","CollatorId":"H256","CollatorSignature":"Signature","CollectiveOrigin":{"type":"enum","type_mapping":[["Members","(MemberCount, MemberCount)"],["Member","AccountId"]]},"CommittedCandidateReceipt":{"type":"struct","type_mapping":[["descriptor","CandidateDescriptor"],["commitments","CandidateCommitments"]]},"CompactAssignments":{"type":"struct","type_mapping":[["votes1","Vec\u003c(NominatorIndex, ValidatorIndex)\u003e"],["votes2","Vec\u003c(NominatorIndex, [CompactScore; 1], ValidatorIndex)\u003e"],["votes3","Vec\u003c(NominatorIndex, [CompactScore; 2], ValidatorIndex)\u003e"],["votes4","Vec\u003c(NominatorIndex, [CompactScore; 3], ValidatorIndex)\u003e"],["votes5","Vec\u003c(NominatorIndex, [CompactScore; 4], ValidatorIndex)\u003e"],["votes6","Vec\u003c(NominatorIndex, [CompactScore; 5], ValidatorIndex)\u003e"],["votes7","Vec\u003c(NominatorIndex, [CompactScore; 6], ValidatorIndex)\u003e"],["votes8","Vec\u003c(NominatorIndex, [CompactScore; 7], ValidatorIndex)\u003e"],["votes9","Vec\u003c(NominatorIndex, [CompactScore; 8], ValidatorIndex)\u003e"],["votes10","Vec\u003c(NominatorIndex, [CompactScore; 9], ValidatorIndex)\u003e"],["votes11","Vec\u003c(NominatorIndex, [CompactScore; 10], ValidatorIndex)\u003e"],["votes12","Vec\u003c(NominatorIndex, [CompactScore; 11], ValidatorIndex)\u003e"],["votes13","Vec\u003c(NominatorIndex, [CompactScore; 12], ValidatorIndex)\u003e"],["votes14","Vec\u003c(NominatorIndex, [CompactScore; 13], ValidatorIndex)\u003e"],["votes15","Vec\u003c(NominatorIndex, [CompactScore; 14], ValidatorIndex)\u003e"],["votes16","Vec\u003c(NominatorIndex, [CompactScore; 15], ValidatorIndex)\u003e"]]},"CompactAssignmentsLatest":{"type":"struct","type_mapping":[["votes1","Vec\u003c(NominatorIndexCompact, ValidatorIndexCompact)\u003e"],["votes2","Vec\u003c(NominatorIndexCompact, CompactScoreCompact, ValidatorIndexCompact)\u003e"],["votes3","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 2], ValidatorIndexCompact)\u003e"],["votes4","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 3], ValidatorIndexCompact)\u003e"],["votes5","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 4], ValidatorIndexCompact)\u003e"],["votes6","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 5], ValidatorIndexCompact)\u003e"],["votes7","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 6], ValidatorIndexCompact)\u003e"],["votes8","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 7], ValidatorIndexCompact)\u003e"],["votes9","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 8], ValidatorIndexCompact)\u003e"],["votes10","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 9], ValidatorIndexCompact)\u003e"],["votes11","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 10], ValidatorIndexCompact)\u003e"],["votes12","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 11], ValidatorIndexCompact)\u003e"],["votes13","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 12], ValidatorIndexCompact)\u003e"],["votes14","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 13], ValidatorIndexCompact)\u003e"],["votes15","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 14], ValidatorIndexCompact)\u003e"],["votes16","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 15], ValidatorIndexCompact)\u003e"]]},"CompactAssignmentsVote":{"type":"struct","type_mapping":[["accountId1","AccountId"],["scores","Vec\u003cCompactScore\u003e"],["accountId2","AccountId"]]},"CompactAssignmentsWith24":{"type":"struct","type_mapping":[["votes1","Vec\u003c(NominatorIndexCompact, ValidatorIndexCompact)\u003e"],["votes2","Vec\u003c(NominatorIndexCompact, CompactScoreCompact, ValidatorIndexCompact)\u003e"],["votes3","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 2], ValidatorIndexCompact)\u003e"],["votes4","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 3], ValidatorIndexCompact)\u003e"],["votes5","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 4], ValidatorIndexCompact)\u003e"],["votes6","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 5], ValidatorIndexCompact)\u003e"],["votes7","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 6], ValidatorIndexCompact)\u003e"],["votes8","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 7], ValidatorIndexCompact)\u003e"],["votes9","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 8], ValidatorIndexCompact)\u003e"],["votes10","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 9], ValidatorIndexCompact)\u003e"],["votes11","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 10], ValidatorIndexCompact)\u003e"],["votes12","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 11], ValidatorIndexCompact)\u003e"],["votes13","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 12], ValidatorIndexCompact)\u003e"],["votes14","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 13], ValidatorIndexCompact)\u003e"],["votes15","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 14], ValidatorIndexCompact)\u003e"],["votes16","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 15], ValidatorIndexCompact)\u003e"],["votes17","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 16], ValidatorIndexCompact)\u003e"],["votes18","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 17], ValidatorIndexCompact)\u003e"],["votes19","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 18], ValidatorIndexCompact)\u003e"],["votes20","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 19], ValidatorIndexCompact)\u003e"],["votes21","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 20], ValidatorIndexCompact)\u003e"],["votes22","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 21], ValidatorIndexCompact)\u003e"],["votes23","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 22], ValidatorIndexCompact)\u003e"],["votes24","Vec\u003c(NominatorIndexCompact, [CompactScoreCompact; 23], ValidatorIndexCompact)\u003e"]]},"CompactScore":{"type":"struct","type_mapping":[["validatorIndex","ValidatorIndex"],["offchainAccuracy","OffchainAccuracy"]]},"CompactScoreCompact":{"type":"struct","type_mapping":[["validatorIndex","ValidatorIndexCompact"],["offchainAccuracy","OffchainAccuracyCompact"]]},"ConcreteFungible":{"type":"struct","type_mapping":[["id","MultiLocation"],["amount","Compact\u003cu128\u003e"]]},"ConcreteNonFungible":{"type":"struct","type_mapping":[["class","MultiLocation"],["instance","AssetInstance"]]},"ConfigData":{"type":"struct","type_mapping":[["maxIndividual","Weight"]]},"ConsensusEngineId":"[u8; 4]","ConsumedWeight":"PerDispatchClass","ContractCallRequest":{"type":"struct","type_mapping":[["origin","AccountId"],["dest","AccountId"],["value","Balance"],["gasLimit","u64"],["inputData","Bytes"]]},"ContractExecResult":{"type":"enum","type_mapping":[["Success","ContractExecResultSuccess"],["Error","Null"]]},"ContractExecResultSuccess":{"type":"struct","type_mapping":[["flags","u32"],["data","Bytes"],["gasConsumed","u64"]]},"ContractExecResultSuccessTo255":{"type":"struct","type_mapping":[["status","u8"],["data","Raw"]]},"ContractExecResultTo255":{"type":"enum","type_mapping":[["Success","ContractExecResultSuccessTo255"],["Error","Null"],["gasConsumed","u64"]]},"ContractInfo":{"type":"enum","type_mapping":[["Alive","AliveContractInfo"],["Tombstone","TombstoneContractInfo"]]},"ContractInstantiateResult":{"type":"enum","type_mapping":[["Ok","InstantiateReturnValue"],["Err","Null"]]},"ContractProject":{"type":"struct","type_mapping":[["metadataVersion","Text"],["source","ContractProjectSource"],["contract","ContractProjectContract"],["types","Vec\u003cSiType\u003e"],["spec","ContractContractSpec"]]},"ContractProjectContract":{"type":"struct","type_mapping":[["name","Text"],["version","Text"],["authors","Vec\u003cText\u003e"],["description","Option\u003cText\u003e"],["documentation","Option\u003cText\u003e"],["repository","Option\u003cText\u003e"],["homepage","Option\u003cText\u003e"],["license","Option\u003cText\u003e"]]},"ContractProjectSource":{"type":"struct","type_mapping":[["hash","[u8; 32]"],["language","Text"],["compiler","Text"]]},"ContractStorageKey":"[u8; 32]","Conviction":{"type":"enum","value_list":["None","Locked1x","Locked2x","Locked3x","Locked4x","Locked5x","Locked6x"]},"CoreAssignment":{"type":"struct","type_mapping":[["core","CoreIndex"],["paraId","ParaId"],["kind","AssignmentKind"],["groupIdx","GroupIndex"]]},"CoreIndex":"u32","CoreOccupied":{"type":"enum","type_mapping":[["Parathread","ParathreadEntry"],["Parachain","Null"]]},"CreatedBlock":{"type":"struct","type_mapping":[["hash","BlockHash"],["aux","ImportedAux"]]},"CustomValueMetadata15":{"type":"struct","type_mapping":[["type","SiLookupTypeId"],["value","Bytes"]]},"DeferredOffenceOf":"(Vec\u003cOffenceDetails\u003e, Vec\u003cPerbill\u003e, SessionIndex)","DefunctVoter":{"type":"struct","type_mapping":[["who","AccountId"],["voteCount","Compact\u003cu32\u003e"],["candidateCount","Compact\u003cu32\u003e"]]},"DelayKind":{"type":"enum","type_mapping":[["Finalized","Null"],["Best","DelayKindBest"]]},"DelayKindBest":{"type":"struct","type_mapping":[["medianLastFinalized","BlockNumber"]]},"Delegations":{"type":"struct","type_mapping":[["votes","Balance"],["capital","Balance"]]},"DeliveredMessages":{"type":"struct","type_mapping":[["begin","MessageNonce"],["end","MessageNonce"],["dispatchResults","BitVec"]]},"DepositAsset":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["dest","MultiLocation"]]},"DepositBalance":"Balance","DepositBalanceOf":"Balance","DepositReserveAsset":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["dest","MultiLocation"],["effects","Vec\u003cOrder\u003e"]]},"DestroyWitness":{"type":"struct","type_mapping":[["instances","Compact\u003cu32\u003e"],["instanceMetadatas","Compact\u003cu32\u003e"],["attributes","Compact\u003cu32\u003e"]]},"Digest":{"type":"struct","type_mapping":[["logs","Vec\u003cDigestItem\u003cHash\u003e\u003e"]]},"DigestItem":{"type":"enum","type_mapping":[["Other","Vec\u003cu8\u003e"],["AuthoritiesChange","Vec\u003cAuthorityId\u003e"],["ChangesTrieRoot","Hash"],["SealV0","SealV0"],["Consensus","Consensus"],["Seal","Seal"],["PreRuntime","PreRuntime"],["ChangesTrieSignal","ChangesTrieSignal"],["RuntimeEnvironmentUpdated","NULL"]]},"DigestOf":"Digest","DispatchClass":{"type":"enum","value_list":["Normal","Operational","Mandatory"]},"DispatchError":{"type":"enum","type_mapping":[["Other","Null"],["CannotLookup","Null"],["BadOrigin","Null"],["Module","DispatchErrorModule"],["ConsumerRemaining","Null"],["NoProviders","Null"],["Token","TokenError"],["Arithmetic","ArithmeticError"]]},"DispatchErrorModule":{"type":"struct","type_mapping":[["index","u8"],["error","u8"]]},"DispatchFeePayment":{"type":"enum","value_list":["AtSourceChain","AtTargetChain"]},"DispatchInfo":{"type":"struct","type_mapping":[["weight","Weight"],["class","DispatchClass"],["paysFee","Pays"]]},"DispatchInfo258":{"type":"struct","type_mapping":[["weight","Weight"],["class","DispatchClass"],["paysFee","bool"]]},"DispatchResult":{"type":"enum","type_mapping":[["Ok","Null"],["Error","DispatchError"]]},"DisputeLocation":{"type":"enum","value_list":["Local","Remote"]},"DisputeResult":{"type":"enum","value_list":["Valid","Invalid"]},"DisputeState":{"type":"struct","type_mapping":[["validatorsFor","BitVec"],["validatorsAgainst","BitVec"],["start","BlockNumber"],["concludedAt","Option\u003cBlockNumber\u003e"]]},"DisputeStatement":{"type":"enum","type_mapping":[["Valid","ValidDisputeStatementKind"],["Invalid","InvalidDisputeStatementKind"]]},"DisputeStatementSet":{"type":"struct","type_mapping":[["candidateHash","CandidateHash"],["session","SessionIndex"],["statements","Vec\u003c(DisputeStatement, ParaValidatorIndex, ValidatorSignature)\u003e"]]},"DoNotConstruct":"Null","DoubleEncodedCall":{"type":"struct","type_mapping":[["encoded","Vec\u003cu8\u003e"]]},"DoubleVoteReport":{"type":"struct","type_mapping":[["identity","ValidatorId"],["first","(Statement, ValidatorSignature)"],["second","(Statement, ValidatorSignature)"],["proof","MembershipProof"],["signingContext","SigningContext"]]},"DownwardMessage":"Bytes","EIP1559Transaction":{"type":"struct","type_mapping":[["chainId","u64"],["nonce","U256"],["maxPriorityFeePerGas","U256"],["maxFeePerGas","U256"],["gasLimit","U256"],["action","EthTransactionAction"],["value","U256"],["input","Bytes"],["accessList","EthAccessList"],["oddYParity","bool"],["r","H256"],["s","H256"]]},"EIP2930Transaction":{"type":"struct","type_mapping":[["chainId","u64"],["nonce","U256"],["gasPrice","U256"],["gasLimit","U256"],["action","EthTransactionAction"],["value","U256"],["input","Bytes"],["accessList","EthAccessList"],["oddYParity","bool"],["r","H256"],["s","H256"]]},"EcdsaSignature":"[u8; 65]","Ed25519Signature":"H512","EgressQueueRoot":{"type":"struct","type_mapping":[["col1","ParaId"],["col2","Hash"]]},"ElectionCompute":{"type":"enum","value_list":["OnChain","Signed","Unsigned"]},"ElectionPhase":{"type":"enum","type_mapping":[["Off","Null"],["Signed","Null"],["Unsigned","(bool, BlockNumber)"],["Emergency","Null"]]},"ElectionResult":{"type":"struct","type_mapping":[["compute","ElectionCompute"],["slotStake","Balance"],["electedStashes","Vec\u003cAccountId\u003e"],["exposures","Vec\u003c(AccountId, Exposure)\u003e"]]},"ElectionScore":"[u128; 3]","ElectionSize":{"type":"struct","type_mapping":[["validators","ValidatorIndex"],["nominators","NominatorIndex"]]},"ElectionStatus":{"type":"enum","type_mapping":[["Close","Null"],["Open","BlockNumber"]]},"EncodedFinalityProofs":"Bytes","EpochAuthorship":{"type":"struct","type_mapping":[["primary","Vec\u003cu64\u003e"],["secondary","Vec\u003cu64\u003e"],["secondary_vrf","Vec\u003cu64\u003e"]]},"Equivocation":"GrandpaEquivocation","EquivocationProof\u003cHash, BlockNumber\u003e":"GrandpaEquivocationProof","EquivocationProof\u003cHeader\u003e":"BabeEquivocationProof","EraIndex":"U32","EraRewardPoints":{"type":"struct","type_mapping":[["total","RewardPoint"],["individual","Vec\u003c(AccountId, RewardPoint)\u003e"]]},"EthAccessList":"Vec\u003cEthAccessListItem\u003e","EthAccessListItem":{"type":"struct","type_mapping":[["address","EthAddress"],["slots","Vec\u003cH256\u003e"]]},"EthAccount":{"type":"struct","type_mapping":[["address","H160"],["balance","U256"],["nonce","U256"],["codeHash","H256"],["storageHash","H256"],["accountProof","Vec\u003cBytes\u003e"],["storageProof","Vec\u003cEthStorageProof\u003e"]]},"EthAddress":"H160","EthBlock":{"type":"struct","type_mapping":[["header","EthHeader"],["transactions","Vec\u003cEthTransaction\u003e"],["ommers","Vec\u003cEthHeader\u003e"]]},"EthBloom":"H2048","EthCallRequest":{"type":"struct","type_mapping":[["from","Option\u003cH160\u003e"],["to","Option\u003cH160\u003e"],["gasPrice","Option\u003cU256\u003e"],["gas","Option\u003cU256\u003e"],["value","Option\u003cU256\u003e"],["data","Option\u003cBytes\u003e"],["nonce","Option\u003cU256\u003e"]]},"EthFilter":{"type":"struct","type_mapping":[["fromBlock","Option\u003cBlockNumber\u003e"],["toBlock","Option\u003cBlockNumber\u003e"],["blockHash","Option\u003cH256\u003e"],["address","Option\u003cEthFilterAddress\u003e"],["topics","Option\u003cEthFilterTopic\u003e"]]},"EthFilterAddress":{"type":"enum","type_mapping":[["Single","H160"],["Multiple","Vec\u003cH160\u003e"],["Null","Null"]]},"EthFilterChanges":{"type":"enum","type_mapping":[["Logs","Vec\u003cEthLog\u003e"],["Hashes","Vec\u003cH256\u003e"],["Empty","Null"]]},"EthFilterTopic":{"type":"enum","type_mapping":[["Single","EthFilterTopicInner"],["Multiple","Vec\u003cEthFilterTopicInner\u003e"],["Null","Null"]]},"EthFilterTopicEntry":"Option\u003cH256\u003e","EthFilterTopicInner":{"type":"enum","type_mapping":[["Single","EthFilterTopicEntry"],["Multiple","Vec\u003cEthFilterTopicEntry\u003e"],["Null","Null"]]},"EthHeader":{"type":"struct","type_mapping":[["parentHash","H256"],["ommersHash","H256"],["beneficiary","H160"],["stateRoot","H256"],["transactionsRoot","H256"],["receiptsRoot","H256"],["logsBloom","EthBloom"],["difficulty","U256"],["number","U256"],["gasLimit","U256"],["gasUsed","U256"],["timestamp","U64"],["extraData","Bytes"],["mixMash","H256"],["nonce","H64"]]},"EthLog":{"type":"struct","type_mapping":[["address","H160"],["topics","Vec\u003cH256\u003e"],["data","Bytes"],["blockHash","Option\u003cH256\u003e"],["blockNumber","Option\u003cU256\u003e"],["transactionHash","Option\u003cH256\u003e"],["transactionIndex","Option\u003cU256\u003e"],["logIndex","Option\u003cU256\u003e"],["transactionLogIndex","Option\u003cU256\u003e"],["removed","bool"]]},"EthReceipt":{"type":"struct","type_mapping":[["transactionHash","Option\u003cH256\u003e"],["transactionIndex","Option\u003cU256\u003e"],["blockHash","Option\u003cH256\u003e"],["from","Option\u003cH160\u003e"],["to","Option\u003cH160\u003e"],["blockNumber","Option\u003cU256\u003e"],["cumulativeGasUsed","U256"],["gasUsed","Option\u003cU256\u003e"],["contractAddress","Option\u003cH160\u003e"],["logs","Vec\u003cEthLog\u003e"],["root","Option\u003cH256\u003e"],["logsBloom","H2048"],["statusCode","Option\u003cU64\u003e"]]},"EthRichBlock":"EthBlock","EthRichHeader":"EthHeader","EthStorageProof":{"type":"struct","type_mapping":[["key","U256"],["value","U256"],["proof","Vec\u003cBytes\u003e"]]},"EthSubKind":{"type":"enum","value_list":["newHeads","logs","newPendingTransactions","syncing"]},"EthSubParams":{"type":"enum","type_mapping":[["None","Null"],["Logs","EthFilter"]]},"EthSubResult":{"type":"enum","type_mapping":[["Header","EthRichHeader"],["Log","EthLog"],["TransactionHash","H256"],["SyncState","EthSyncStatus"]]},"EthSyncInfo":{"type":"struct","type_mapping":[["startingBlock","U256"],["currentBlock","U256"],["highestBlock","U256"],["warpChunksAmount","Option\u003cU256\u003e"],["warpChunksProcessed","Option\u003cU256\u003e"]]},"EthSyncStatus":{"type":"enum","type_mapping":[["Info","EthSyncInfo"],["None","Null"]]},"EthTransaction":"LegacyTransaction","EthTransactionAction":{"type":"enum","type_mapping":[["Call","H160"],["Create","NULL"]]},"EthTransactionCondition":{"type":"enum","type_mapping":[["block","u64"],["time","u64"]]},"EthTransactionRequest":{"type":"struct","type_mapping":[["from","Option\u003cH160\u003e"],["to","Option\u003cH160\u003e"],["gasPrice","Option\u003cU256\u003e"],["gas","Option\u003cU256\u003e"],["value","Option\u003cU256\u003e"],["data","Option\u003cBytes\u003e"],["nonce","Option\u003cU256\u003e"]]},"EthTransactionSignature":"TransactionSignature","EthTransactionStatus":{"type":"struct","type_mapping":[["transactionHash","H256"],["transactionIndex","u32"],["from","H160"],["to","Option\u003cH160\u003e"],["contractAddress","Option\u003cH160\u003e"],["logs","Vec\u003cEthLog\u003e"],["logsBloom","EthBloom"]]},"EthWork":{"type":"struct","type_mapping":[["pow_hash","H256"],["seed_hash","H256"],["target","H256"],["number","Option\u003cu64\u003e"]]},"EthereumAccountId":"EthereumAddress","EthereumLookupSource":"EthereumAddress","EthereumSignature":"[u8; 65]","EventIndex":"u32","ExchangeAsset":{"type":"struct","type_mapping":[["give","Vec\u003cMultiAsset\u003e"],["receive","Vec\u003cMultiAsset\u003e"]]},"ExecReturnValue":{"type":"struct","type_mapping":[["flags","u32"],["data","Bytes"]]},"ExitError":{"type":"enum","type_mapping":[["StackUnderflow","NULL"],["StackOverflow","NULL"],["InvalidJump","NULL"],["InvalidRange","NULL"],["DesignatedInvalid","NULL"],["CallTooDeep","NULL"],["CreateCollision","NULL"],["CreateContractLimit","NULL"],["OutOfOffset","NULL"],["OutOfGas","NULL"],["OutOfFund","NULL"],["PCUnderflow","NULL"],["CreateEmpty","NULL"],["Other","string"]]},"ExitFatal":{"type":"enum","type_mapping":[["NotSupported","NULL"],["UnhandledInterrupt","NULL"],["CallErrorAsFatal","NULL"],["Other","string"]]},"ExitReason":{"type":"enum","type_mapping":[["Succeed","ExitSucceed"],["Error","ExitError"],["Revert","ExitRevert"],["Fatal","ExitFatal"]]},"ExitRevert":{"type":"enum","value_list":["Reverted"]},"ExitSucceed":{"type":"enum","value_list":["Stopped","Returned","Suicided"]},"ExplicitDisputeStatement":{"type":"struct","type_mapping":[["valid","bool"],["candidateHash","CandidateHash"],["session","SessionIndex"]]},"ExtendedBalance":"u128","ExtrinsicMetadata":{"type":"struct","type_mapping":[["version","u8"],["signedExtensions","Vec\u003cBytes\u003e"]]},"ExtrinsicMetadataV14":{"type":"struct","type_mapping":[["type","SiLookupTypeId"],["version","u8"],["signedExtensions","Vec\u003cSignedExtensionMetadataV14\u003e"]]},"ExtrinsicMetadataV15":{"type":"struct","type_mapping":[["version","u8"],["addressType","SiLookupTypeId"],["callType","SiLookupTypeId"],["signatureType","SiLookupTypeId"],["extraType","SiLookupTypeId"],["signedExtensions","Vec\u003cSignedExtensionMetadataV14\u003e"]]},"ExtrinsicSignature":"MultiSignature","ExtrinsicsWeight":{"type":"struct","type_mapping":[["normal","Weight"],["operational","Weight"]]},"FeeDetails":{"type":"struct","type_mapping":[["inclusionFee","Option\u003cInclusionFee\u003e"]]},"FixedU128":"u128","Forcing":{"type":"enum","value_list":["NotForcing","ForceNew","ForceNone"]},"ForkTreePendingChange":{"type":"struct","type_mapping":[["roots","Vec\u003cForkTreePendingChangeNode\u003e"],["bestFinalizedNumber","Option\u003cBlockNumber\u003e"]]},"ForkTreePendingChangeNode":{"type":"struct","type_mapping":[["hash","BlockHash"],["number","BlockNumber"],["data","PendingChange"],["children","Vec\u003cForkTreePendingChangeNode\u003e"]]},"FullIdentification":{"type":"struct","type_mapping":[["total","Compact\u003cBalance\u003e"],["own","Compact\u003cBalance\u003e"],["others","Vec\u003cIndividualExposure\u003e"]]},"FundIndex":"u32","FundInfo":{"type":"struct","type_mapping":[["depositor","AccountId"],["verifier","Option\u003cMultiSigner\u003e"],["deposit","Balance"],["raised","Balance"],["end","BlockNumber"],["cap","Balance"],["last_contribution","LastContribution\u003cBlockNumber\u003e"],["first_period","LeasePeriod"],["last_period","LeasePeriod"],["trie_index","TrieIndex"]]},"FungibilityV0":"FungibilityV1","FungibilityV1":{"type":"enum","type_mapping":[["Fungible","Compact\u003cu128\u003e"],["NonFungible","AssetInstanceV1"]]},"FungibilityV2":"FungibilityV1","FungibilityV3":{"type":"enum","type_mapping":[["Fungible","Compact\u003cu128\u003e"],["NonFungible","AssetInstanceV3"]]},"Gas":"u64","GeneralKeyV3":{"type":"struct","type_mapping":[["length","u8"],["data","[u8; 32]"]]},"GenericMultiAddress":{"type":"enum","type_mapping":[["Id","AccountId"],["Index","Compact\u003cAccountIndex\u003e"],["Raw","Bytes"],["Address32","H256"],["Address20","H160"]]},"GenericPortableRegistry":"Vec\u003cPortableType\u003e","GiltBid":{"type":"struct","type_mapping":[["amount","Balance"],["who","AccountId"]]},"GlobalValidationData":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["blockNumber","blockNumber"]]},"GlobalValidationSchedule":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["blockNumber","BlockNumber"]]},"GrandpaCommit":{"type":"struct","type_mapping":[["targetHash","BlockHash"],["targetNumber","BlockNumber"],["precommits","Vec\u003cGrandpaSignedPrecommit\u003e"]]},"GrandpaEquivocation":{"type":"enum","type_mapping":[["Prevote","GrandpaEquivocationValue"],["Precommit","GrandpaEquivocationValue"]]},"GrandpaEquivocationProof":{"type":"struct","type_mapping":[["setId","SetId"],["equivocation","GrandpaEquivocation"]]},"GrandpaEquivocationValue":{"type":"struct","type_mapping":[["roundNumber","u64"],["identity","AuthorityId"],["first","(GrandpaPrevote, AuthoritySignature)"],["second","(GrandpaPrevote, AuthoritySignature)"]]},"GrandpaJustification":{"type":"struct","type_mapping":[["round","u64"],["commit","GrandpaCommit"],["votesAncestries","Vec\u003cHeader\u003e"]]},"GrandpaPrecommit":{"type":"struct","type_mapping":[["targetHash","BlockHash"],["targetNumber","BlockNumber"]]},"GrandpaPrevote":{"type":"struct","type_mapping":[["targetHash","Hash"],["targetNumber","BlockNumber"]]},"GrandpaSignedPrecommit":{"type":"struct","type_mapping":[["precommit","GrandpaPrecommit"],["signature","AuthoritySignature"],["id","AuthorityId"]]},"GroupIndex":"u32","H1024":"[u8; 128]","H2048":"[u8; 256]","HeadData":"Bytes","Header":{"type":"struct","type_mapping":[["parent_hash","H256"],["number","Compact\u003cBlockNumber\u003e"],["state_root","H256"],["extrinsics_root","H256"],["digest","Digest"]]},"Heartbeat":{"type":"struct","type_mapping":[["blockNumber","BlockNumber"],["networkState","OpaqueNetworkState"],["sessionIndex","SessionIndex"],["authorityIndex","AuthIndex"]]},"HostConfiguration":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["maxUpwardQueueCount","u32"],["maxUpwardQueueSize","u32"],["maxUpwardMessageSize","u32"],["maxUpwardMessageNumPerCandidate","u32"],["hrmpMaxMessageNumPerCandidate","u32"],["validationUpgradeFrequency","BlockNumber"],["validationUpgradeDelay","BlockNumber"],["maxPovSize","u32"],["maxDownwardMessageSize","u32"],["preferredDispatchableUpwardMessagesStepWeight","Weight"],["hrmpMaxParachainOutboundChannels","u32"],["hrmpMaxParathreadOutboundChannels","u32"],["hrmpOpenRequestTtl","u32"],["hrmpSenderDeposit","Balance"],["hrmpRecipientDeposit","Balance"],["hrmpChannelMaxCapacity","u32"],["hrmpChannelMaxTotalSize","u32"],["hrmpMaxParachainInboundChannels","u32"],["hrmpMaxParathreadInboundChannels","u32"],["hrmpChannelMaxMessageSize","u32"],["codeRetentionPeriod","BlockNumber"],["parathreadCores","u32"],["parathreadRetries","u32"],["groupRotationFrequency","BlockNumber"],["chainAvailabilityPeriod","BlockNumber"],["threadAvailabilityPeriod","BlockNumber"],["schedulingLookahead","u32"],["maxValidatorsPerCore","Option\u003cu32\u003e"],["disputePeriod","SessionIndex"],["disputePostConclusionAcceptancePeriod","BlockNumber"],["disputeMaxSpamSlots","u32"],["disputeConclusionByTimeOutPeriod","BlockNumber"],["noShowSlots","u32"],["nDelayTranches","u32"],["zerothDelayTrancheWidth","u32"],["neededApprovals","u32"],["relayVrfModuloSamples","u32"]]},"HostFnWeights":{"type":"struct","type_mapping":[["caller","Weight"],["address","Weight"],["gasLeft","Weight"],["balance","Weight"],["valueTransferred","Weight"],["minimumBalance","Weight"],["tombstoneDeposit","Weight"],["rentAllowance","Weight"],["blockNumber","Weight"],["now","Weight"],["weightToFee","Weight"],["gas","Weight"],["input","Weight"],["inputPerByte","Weight"],["return","Weight"],["returnPerByte","Weight"],["terminate","Weight"],["restoreTo","Weight"],["restoreToPerDelta","Weight"],["random","Weight"],["depositEvent","Weight"],["depositEventPerTopic","Weight"],["depositEventPerByte","Weight"],["setRentAllowance","Weight"],["setStorage","Weight"],["setStoragePerByte","Weight"],["clearStorage","Weight"],["getStorage","Weight"],["getStoragePerByte","Weight"],["transfer","Weight"],["call","Weight"],["callTransferSurcharge","Weight"],["callPerInputByte","Weight"],["callPerOutputByte","Weight"],["instantiate","Weight"],["instantiatePerInputByte","Weight"],["instantiatePerOutputByte","Weight"],["hashSha2256","Weight"],["hashSha2256PerByte","Weight"],["hashKeccak256","Weight"],["hashKeccak256PerByte","Weight"],["hashBlake2256","Weight"],["hashBlake2256PerByte","Weight"],["hashBlake2128","Weight"],["hashBlake2128PerByte","Weight"]]},"HrmpChannel":{"type":"struct","type_mapping":[["maxCapacity","u32"],["maxTotalSize","u32"],["maxMessageSize","u32"],["msgCount","u32"],["totalSize","u32"],["mqcHead","Option\u003cHash\u003e"],["senderDeposit","Balance"],["recipientDeposit","Balance"]]},"HrmpChannelId":{"type":"struct","type_mapping":[["sender","u32"],["receiver","u32"]]},"HrmpOpenChannelRequest":{"type":"struct","type_mapping":[["confirmed","bool"],["age","SessionIndex"],["senderDeposit","Balance"],["maxMessageSize","u32"],["maxCapacity","u32"],["maxTotalSize","u32"]]},"IdentificationTuple":{"type":"struct","type_mapping":[["validatorId","ValidatorId"],["exposure","FullIdentification"]]},"IdentityFields":{"bit_length":64,"type":"set","value_list":["Display","Legal","Web","Riot","Email","PgpFingerprint","Image","Twitter"]},"IdentityInfo":{"type":"struct","type_mapping":[["additional","Vec\u003cIdentityInfoAdditional\u003e"],["display","Data"],["legal","Data"],["web","Data"],["riot","Data"],["email","Data"],["pgpFingerprint","Option\u003cH160\u003e"],["image","Data"],["twitter","Data"]]},"IdentityInfoAdditional":{"type":"struct","type_mapping":[["field","Data"],["value","Data"]]},"ImportedAux":{"type":"struct","type_mapping":[["headerOnly","bool"],["clearJustificationRequests","bool"],["needsJustification","bool"],["badJustification","bool"],["needsFinalityProof","bool"],["isNewBest","bool"]]},"InboundDownwardMessage":{"type":"struct","type_mapping":[["pubSentAt","BlockNumber"],["pubMsg","DownwardMessage"]]},"InboundHrmpMessage":{"type":"struct","type_mapping":[["sentAt","BlockNumber"],["data","Bytes"]]},"InboundHrmpMessages":"Vec\u003cInboundHrmpMessage\u003e","InboundLaneData":{"type":"struct","type_mapping":[["relayers","Vec\u003cUnrewardedRelayer\u003e"],["lastConfirmedNonce","MessageNonce"]]},"InboundRelayer":"AccountId","InboundStatus":{"type":"enum","value_list":["Ok","Suspended"]},"IncludedBlocks":{"type":"struct","type_mapping":[["actualNumber","BlockNumber"],["session","SessionIndex"],["randomSeed","H256"],["activeParachains","Vec\u003cParaId\u003e"],["paraBlocks","Vec\u003cHash\u003e"]]},"InclusionFee":{"type":"struct","type_mapping":[["baseFee","Balance"],["lenFee","Balance"],["adjustedWeightFee","Balance"]]},"IncomingParachain":{"type":"enum","type_mapping":[["Unset","NewBidder"],["Fixed","IncomingParachainFixed"],["Deploy","IncomingParachainDeploy"]]},"IncomingParachainDeploy":{"type":"struct","type_mapping":[["code","ValidationCode"],["initialHeadData","HeadData"]]},"IncomingParachainFixed":{"type":"struct","type_mapping":[["codeHash","Hash"],["codeSize","u32"],["initialHeadData","HeadData"]]},"Index":"U32","IndividualExposure":{"type":"struct","type_mapping":[["who","AccountId"],["value","Compact\u003cBalance\u003e"]]},"InitializationData":{"type":"struct","type_mapping":[["header","Header"],["authorityList","AuthorityList"],["setId","SetId"],["isHalted","bool"]]},"InitiateReserveWithdraw":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["reserve","MultiLocation"],["effects","Vec\u003cOrder\u003e"]]},"InitiateTeleport":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["dest","MultiLocation"],["effects","Vec\u003cOrder\u003e"]]},"InstanceDetails":{"type":"struct","type_mapping":[["owner","AccountId"],["approved","Option\u003cAccountId\u003e"],["isFrozen","bool"],["deposit","DepositBalance"]]},"InstanceId":"u32","InstanceMetadata":{"type":"struct","type_mapping":[["deposit","DepositBalance"],["data","Vec\u003cu8\u003e"],["isFrozen","bool"]]},"InstantiateRequest":{"type":"struct","type_mapping":[["origin","AccountId"],["endowment","Balance"],["gasLimit","Gas"],["code","Bytes"],["code","Bytes"],["salt","Bytes"]]},"InstantiateReturnValue":{"type":"struct","type_mapping":[["result","ExecReturnValue"],["accountId","AccountId"],["rentProjection","Option\u003cRentProjection\u003e"]]},"InstructionV2":{"type":"enum","type_mapping":[["WithdrawAsset","MultiAssetsV2"],["ReserveAssetDeposited","MultiAssetsV2"],["ReceiveTeleportedAsset","MultiAssetsV2"],["QueryResponse","[[\"query_id\", \"Compact\u003cu64\u003e\"], [\"response\", \"ResponseV2\"], [\"max_weight\", \"Compact\u003cu64\u003e\"]]"],["TransferAsset","[[\"assets\", \"MultiAssetsV2\"], [\"beneficiary\", \"MultiLocationV2\"]]"],["TransferReserveAsset","[[\"assets\", \"MultiAssetsV2\"], [\"dest\", \"MultiLocationV2\"], [\"xcm\", \"XcmV2\"]]"],["Transact","[[\"originType\", \"OriginKindV2\"], [\"requireWeightAtMost\", \"u64\"], [\"call\", \"DoubleEncodedCall\"]]"],["HrmpNewChannelOpenRequest","[[\"sender\", \"Compact\u003cu32\u003e\"], [\"maxMessageSize\", \"Compact\u003cu32\u003e\"], [\"maxCapacity\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelAccepted","[[\"recipient\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelClosing","[[\"initiator\", \"Compact\u003cu32\u003e\"], [\"sender\", \"Compact\u003cu32\u003e\"], [\"recipient\", \"Compact\u003cu32\u003e\"]]"],["ClearOrigin","empty"],["DescendOrigin","InteriorMultiLocation"],["ReportError","[[\"query_id\", \"Compact\u003cu64\u003e\"], [\"dest\", \"MultiLocationV2\"], [\"maxResponseWeight\", \"Compact\u003cu64\u003e\"]]"],["DepositAsset","[[\"assets\", \"MultiAssetFilterV2\"], [\"max_assets\", \"compact\u003cu32\u003e\"], [\"beneficiary\", \"MultiLocationV2\"]]"],["DepositReserveAsset","[[\"assets\", \"MultiAssetFilterV2\"], [\"max_assets\", \"compact\u003cu32\u003e\"], [\"dest\", \"MultiLocationV2\"], [\"xcm\", \"XcmV2\"]]"],["ExchangeAsset","[[\"give\", \"MultiAssetFilterV2\"], [\"receive\", \"MultiAssetsV2\"]]"],["InitiateReserveWithdraw","[[\"assets\", \"MultiAssetFilterV2\"], [\"reserve\", \"MultiLocationV2\"], [\"xcm\", \"XcmV2\"]]"],["InitiateTeleport","[[\"assets\", \"MultiAssetFilterV2\"], [\"dest\", \"MultiLocationV2\"], [\"xcm\", \"XcmV2\"]]"],["QueryHolding","[[\"query_id\", \"Compact\u003cu64\u003e\"], [\"dest\", \"MultiLocationV2\"], [\"assets\", \"MultiAssetFilterV2\"], [\"maxResponse_Weight\", \"Compact\u003cu64\u003e\"]]"],["BuyExecution","[[\"fees\", \"MultiAssetV2\"], [\"weight_limit\", \"WeightLimitV2\"]]"],["RefundSurplus","empty"],["SetErrorHandler","XcmV2"],["SetAppendix","XcmV2"],["ClearError","empty"],["ClaimAsset","[[\"assets\", \"MultiAssetsV2\"], [\"ticket\", \"MultiLocationV2\"]]"],["Trap","u64"]]},"InstructionV3":{"type":"enum","type_mapping":[["WithdrawAsset","MultiAssetsV3"],["ReserveAssetDeposited","MultiAssetsV3"],["ReceiveTeleportedAsset","MultiAssetsV3"],["QueryResponse","QueryResponseV3"],["TransferAsset","[[\"assets\", \"MultiAssetsV3\"], [\"beneficiary\", \"MultiLocationV3\"]]"],["TransferReserveAsset","[[\"assets\", \"MultiAssetsV3\"], [\"dest\", \"MultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["Transact","[[\"origin_kind\", \"OriginKindV2\"], [\"require_weight_at_most\", \"WeightV2\"], [\"call\", \"DoubleEncodedCall\"]]"],["HrmpNewChannelOpenRequest","[[\"sender\", \"Compact\u003cu32\u003e\"], [\"maxMessageSize\", \"Compact\u003cu32\u003e\"], [\"maxCapacity\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelAccepted","[[\"recipient\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelClosing","[[\"initiator\", \"Compact\u003cu32\u003e\"], [\"sender\", \"Compact\u003cu32\u003e\"], [\"recipient\", \"Compact\u003cu32\u003e\"]]"],["ClearOrigin","Null"],["DescendOrigin","InteriorMultiLocationV3"],["ReportError","[[\"destination\", \"MultiLocationV3\"], [\"query_id\", \"Compact\u003cu64\u003e\"], [\"max_weight\", \"WeightV2\"]]"],["DepositAsset","[[\"assets\", \"MultiAssetFilterV3\"], [\"beneficiary\", \"MultiLocationV3\"]]"],["DepositReserveAsset","[[\"assets\", \"MultiAssetFilterV3\"], [\"dest\", \"MultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["ExchangeAsset","[[\"give\", \"MultiAssetFilterV3\"],[\"want\", \"MultiAssetsV3\"], [\"maximal\", \"bool\"]]"],["InitiateReserveWithdraw","[[\"assets\", \"MultiAssetFilterV3\"], [\"reserve\", \"MultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["InitiateTeleport","[[\"assets\", \"MultiAssetFilterV3\"], [\"dest\", \"MultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["QueryHolding","[[\"response_info\", \"QueryResponseInfoV3\"], [\"assets\", \"MultiAssetFilterV3\"]]"],["BuyExecution","[[\"fees\", \"MultiAssetV3\"], [\"weight_limit\", \"WeightLimitV3\"]]"],["RefundSurplus","Null"],["SetErrorHandler","XcmV3"],["SetAppendix","XcmV3"],["ClearError","Null"],["ClaimAsset","[[\"assets\", \"MultiAssetsV3\"], [\"ticket\", \"MultiLocationV3\"]]"],["Trap","u64"],["SubscribeVersion","[[\"query_id\", \"Compact\u003cu64\u003e\"], [\"max_response_weight\", \"WeightV2\"]]"],["UnsubscribeVersion","NULL"],["BurnAsset","MultiAssetsV3"],["ExpectAsset","MultiAssetsV3"],["ExpectOrigin","Option\u003cMultiLocationV3\u003e"],["ExpectError","Option\u003c(U32, XcmTraitsErrorV3)\u003e\u003e"],["ExpectTransactStatus","MaybeErrorCodeV3"],["QueryPallet","[[\"module_name\", \"Vec\u003cU8\u003e\"], [\"response_info\", \"QueryResponseInfoV3\"]]"],["ExpectPallet","[[\"index\", \"Compact\u003cu32\u003e\"], [\"name\", \"Vec\u003cU8\u003e\"], [\"module_name\", \"Vec\u003cU8\u003e\"], [\"crate_major\", \"Compact\u003cu32\u003e\"], [\"min_crate_minor\", \"Compact\u003cu32\u003e\"]]"],["ReportTransactStatus","QueryResponseInfoV3"],["ClearTransactStatus","NULL"],["UniversalOrigin","JunctionV3"],["ExportMessage","[[\"network\", \"NetworkIdV3\"], [\"destination\", \"InteriorMultiLocationV3\"], [\"xcm\", \"XcmV3\"]]"],["LockAsset","[[\"asset\", \"MultiAssetV3\"], [\"unlocker\", \"MultiLocationV3\"]]"],["UnlockAsset","[[\"asset\", \"MultiAssetV3\"], [\"target\", \"MultiLocationV3\"]]"],["NoteUnlockable","[[\"asset\", \"MultiAssetV3\"], [\"owner\", \"MultiLocationV3\"]]"],["RequestUnlock","[[\"asset\", \"MultiAssetV3\"], [\"locker\", \"MultiLocationV3\"]]"],["SetFeesMode","[[\"jit_withdraw\", \"bool\"]]"],["SetTopic","[u8; 32]"],["ClearTopic","NULL"],["AliasOrigin","MultiLocationV3"],["UnpaidExecution","[[\"weight_limit\", \"WeightV2\"], [\"check_origin\", \"MultiLocationV3\"]]"]]},"InstructionWeights":{"type":"struct","type_mapping":[["i64const","u32"],["i64load","u32"],["i64store","u32"],["select","u32"],["rIf","u32"],["br","u32"],["brIf","u32"],["brIable","u32"],["brIablePerEntry","u32"],["call","u32"],["callIndirect","u32"],["callIndirectPerParam","u32"],["localGet","u32"],["localSet","u32"],["local_tee","u32"],["globalGet","u32"],["globalSet","u32"],["memoryCurrent","u32"],["memoryGrow","u32"],["i64clz","u32"],["i64ctz","u32"],["i64popcnt","u32"],["i64eqz","u32"],["i64extendsi32","u32"],["i64extendui32","u32"],["i32wrapi64","u32"],["i64eq","u32"],["i64ne","u32"],["i64lts","u32"],["i64ltu","u32"],["i64gts","u32"],["i64gtu","u32"],["i64les","u32"],["i64leu","u32"],["i64ges","u32"],["i64geu","u32"],["i64add","u32"],["i64sub","u32"],["i64mul","u32"],["i64divs","u32"],["i64divu","u32"],["i64rems","u32"],["i64remu","u32"],["i64and","u32"],["i64or","u32"],["i64xor","u32"],["i64shl","u32"],["i64shrs","u32"],["i64shru","u32"],["i64rotl","u32"],["i64rotr","u32"]]},"InteriorMultiLocation":"Junctions","InteriorMultiLocationV3":"JunctionsV3","InvalidDisputeStatementKind":{"type":"enum","value_list":["Explicit"]},"Judgement":{"type":"enum","type_mapping":[["Unknown","Null"],["FeePaid","Balance"],["Reasonable","Null"],["KnownGood","Null"],["OutOfDate","Null"],["LowQuality","Null"],["Erroneous","Null"]]},"Junction":"JunctionV1","JunctionV0":{"type":"enum","type_mapping":[["Parent","Null"],["Parachain","Compact\u003cu32\u003e"],["AccountId32","[[\"network\", \"NetworkId\"], [\"id\", \"AccountId32\"]]"],["AccountIndex64","[[\"network\", \"NetworkId\"], [\"index\", \"Compact\u003cu64\u003e\"]]"],["AccountKey20","[[\"network\", \"NetworkId\"], [\"key\", \"[u8; 20]\"]]"],["PalletInstance","u8"],["GeneralIndex","Compact\u003cu128\u003e"],["GeneralKey","Vec\u003cu8\u003e"],["OnlyChild","Null"],["Plurality","[[\"id\", \"BodyId\"], [\"part\", \"BodyPart\"]]"]]},"JunctionV1":{"type":"enum","type_mapping":[["Parachain","Compact\u003cu32\u003e"],["AccountId32","[[\"network\", \"NetworkId\"], [\"id\", \"AccountId32\"]]"],["AccountIndex64","[[\"network\", \"NetworkId\"], [\"index\", \"Compact\u003cu64\u003e\"]]"],["AccountKey20","[[\"network\", \"NetworkId\"], [\"key\", \"[u8; 20]\"]]"],["PalletInstance","u8"],["GeneralIndex","Compact\u003cu128\u003e"],["GeneralKey","Vec\u003cu8\u003e"],["OnlyChild","Null"],["Plurality","[[\"id\", \"BodyId\"], [\"part\", \"BodyPart\"]]"]]},"JunctionV2":"JunctionV1","JunctionV3":{"type":"enum","type_mapping":[["Parachain","Compact\u003cu32\u003e"],["AccountId32","[[\"network\", \"option\u003cNetworkIdV3\u003e\"], [\"id\", \"AccountId32\"]]"],["AccountIndex64","[[\"network\", \"option\u003cNetworkIdV3\u003e\"], [\"index\", \"Compact\u003cu64\u003e\"]]"],["AccountKey20","[[\"network\", \"option\u003cNetworkIdV3\u003e\"], [\"key\", \"[u8; 20]\"]]"],["PalletInstance","u8"],["GeneralIndex","Compact\u003cu128\u003e"],["GeneralKey","GeneralKeyV3"],["OnlyChild","NULL"],["Plurality","[[\"id\", \"BodyId\"], [\"part\", \"BodyPart\"]]"],["GlobalConsensus","NetworkIdV3"]]},"Junctions":"JunctionsV1","JunctionsV1":{"type":"enum","type_mapping":[["Here","Null"],["X1","JunctionV1"],["X2","(JunctionV1, JunctionV1)"],["X3","(JunctionV1, JunctionV1, JunctionV1)"],["X4","(JunctionV1, JunctionV1, JunctionV1, JunctionV1)"],["X5","(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)"],["X6","(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)"],["X7","(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)"],["X8","(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)"]]},"JunctionsV2":"JunctionsV1","JunctionsV3":{"type":"enum","type_mapping":[["Here","NULL"],["X1","JunctionV3"],["X2","(JunctionV3, JunctionV3)"],["X3","(JunctionV3, JunctionV3, JunctionV3)"],["X4","(JunctionV3, JunctionV3, JunctionV3, JunctionV3)"],["X5","(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)"],["X6","(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)"],["X7","(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)"],["X8","(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)"]]},"JustificationNotification":"Bytes","Key":"Bytes","KeyOwnerProof":"MembershipProof","KeyTypeId":"u32","KeyValue":{"type":"struct","type_mapping":[["key","Vec\u003cu8\u003e"],["value","Vec\u003cu8\u003e"]]},"KeyValueOption":"(StorageKey, Option\u003cStorageData\u003e)","Keys":{"type":"struct","type_mapping":[["grandpa","AccountId"],["babe","AccountId"],["im_online","AccountId"],["authority_discovery","AccountId"]]},"Kind":"[u8; 16]","LaneId":"[u8; 4]","LastContribution":{"type":"enum","type_mapping":[["Never","Null"],["PreEnding","u32"],["Ending","BlockNumber"]]},"LastRuntimeUpgradeInfo":{"type":"struct","type_mapping":[["specVersion","Compact\u003cu32\u003e"],["specName","Bytes"]]},"LeasePeriod":"BlockNumber","LeasePeriodOf":"LeasePeriod","LegacyTransaction":{"type":"struct","type_mapping":[["nonce","U256"],["gasPrice","U256"],["gasLimit","U256"],["action","EthTransactionAction"],["value","U256"],["input","Bytes"],["signature","EthTransactionSignature"]]},"Limits":{"type":"struct","type_mapping":[["eventTopics","u32"],["stackHeight","u32"],["globals","u32"],["parameters","u32"],["memoryPages","u32"],["tableSize","u32"],["brTableSize","u32"],["subjectLen","u32"],["codeSize","u32"]]},"Linkage":{"type":"struct","type_mapping":[["previous","Option\u003cAccountId\u003e"],["next","Option\u003cAccountId\u003e"]]},"LocalValidationData":{"type":"struct","type_mapping":[["parentHead","HeadData"],["balance","Balance"],["codeUpgradeAllowed","Option\u003cBlockNumber\u003e"]]},"Log":{"type":"struct","type_mapping":[["address","H160"],["topics","Vec\u003cH256\u003e"],["data","Vec\u003cu8\u003e"]]},"LookupSource":"AccountId","LotteryConfig":{"type":"struct","type_mapping":[["price","Balance"],["start","BlockNumber"],["length","BlockNumber"],["delay","BlockNumber"],["repeat","bool"]]},"MaybeErrorCodeV3":{"type":"enum","type_mapping":[["Success","NULL"],["Error","Vec\u003cU8\u003e"],["TruncatedError","Vec\u003cU8\u003e"]]},"MaybeRandomness":"Option\u003cRandomness\u003e","MaybeVrf":"[u8; 32]","MemberCount":"u32","MembershipProof":{"type":"struct","type_mapping":[["session","sessionIndex"],["trieNodes","Vec\u003cVec\u003cu8\u003e\u003e"],["validatorCount","ValidatorCount"]]},"MessageData":{"type":"struct","type_mapping":[["payload","Bytes"],["fee","Balance"]]},"MessageId":"[u8; 32]","MessageIngestionType":{"type":"struct","type_mapping":[["downwardMessages","Vec\u003cInboundDownwardMessage\u003e"],["horizontalMessages","BTreeMap\u003cParaId, InboundHrmpMessages\u003e"]]},"MessageKey":{"type":"struct","type_mapping":[["laneId","LaneId"],["nonce","MessageNonce"]]},"MessageNonce":"u64","MessageQueueChain":"RelayChainHash","MessagesDeliveryProofOf":{"type":"struct","type_mapping":[["bridgedHeaderHash","BlockHash"],["storageProof","Vec\u003cBytes\u003e"],["lane","LaneId"]]},"MessagesProofOf":{"type":"struct","type_mapping":[["bridgedHeaderHash","BridgedBlockHash"],["storageProof","Vec\u003cBytes\u003e"],["lane","LaneId"],["noncesStart","MessageNonce"],["noncesEnd","MessageNonce"]]},"MessagingStateSnapshot":{"type":"struct","type_mapping":[["relayDispatchQueueSize","(u32, u32)"],["egressChannels","Vec\u003cMessagingStateSnapshotEgressEntry\u003e"]]},"MessagingStateSnapshotEgressEntry":"(ParaId, AbridgedHrmpChannel)","MetadataVersion":{"type":"enum","value_list":["MetadataV0Decoder","MetadataV1Decoder","MetadataV2Decoder","MetadataV3Decoder","MetadataV4Decoder","MetadataV5Decoder","MetadataV6Decoder","MetadataV7Decoder","MetadataV8Decoder","MetadataV9Decoder","MetadataV10Decoder","MetadataV11Decoder","MetadataV12Decoder","MetadataV13Decoder","MetadataV14Decoder","MetadataV15Decoder"]},"MmrRootHash":"H256","ModuleId":"LockIdentifier","MomentOf":"Moment","MoreAttestations":"Null","MultiAddress":"GenericMultiAddress","MultiAsset":"MultiAssetV1","MultiAssetFilter":"MultiAssetFilterV1","MultiAssetFilterV1":{"type":"enum","type_mapping":[["Definite","MultiAssetsV1"],["Wild","WildMultiAssetV1"]]},"MultiAssetFilterV2":"MultiAssetFilterV1","MultiAssetFilterV3":{"type":"enum","type_mapping":[["Definite","MultiAssetsV3"],["Wild","WildMultiAssetV3"]]},"MultiAssetV0":{"type":"enum","type_mapping":[["None","Null"],["All","Null"],["AllFungible","Null"],["AllNonFungible","Null"],["AllAbstractFungible","Vec\u003cu8\u003e"],["AllAbstractNonFungible","Vec\u003cu8\u003e"],["AllConcreteFungible","MultiLocationV0"],["AllConcreteNonFungible","MultiLocationV0"],["AbstractFungible","[[\"id\", \"Vec\u003cu8\u003e\"], [\"instance\", \"Compact\u003cu128\u003e\"]]"],["AbstractNonFungible","[[\"class\", \"Vec\u003cu8\u003e\"], [\"instance\", \"AssetInstanceV0\"]]"],["ConcreteFungible","[[\"id\", \"MultiLocationV0\"], [\"amount\", \"Compact\u003cu128\u003e\"]]"],["ConcreteNonFungible","[[\"class\", \"MultiLocationV0\"], [\"instance\", \"AssetInstanceV0\"]]"]]},"MultiAssetV1":{"type":"struct","type_mapping":[["id","XcmAssetId"],["fun","FungibilityV1"]]},"MultiAssetV2":"MultiAssetV1","MultiAssetV3":{"type":"struct","type_mapping":[["id","XcmAssetIdV3"],["fun","FungibilityV3"]]},"MultiAssets":"Vec\u003cMultiAsset\u003e","MultiAssetsV1":"Vec\u003cMultiAssetV1\u003e","MultiAssetsV2":"MultiAssetsV1","MultiAssetsV3":"Vec\u003cMultiAssetV3\u003e","MultiDisputeStatementSet":"Vec\u003cDisputeStatementSet\u003e","MultiLocation":"MultiLocationV1","MultiLocationV0":{"type":"enum","type_mapping":[["Here","Null"],["X1","JunctionV0"],["X2","(JunctionV0, JunctionV0)"],["X3","(JunctionV0, JunctionV0, JunctionV0)"],["X4","(JunctionV0, JunctionV0, JunctionV0, JunctionV0)"],["X5","(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)"],["X6","(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)"],["X7","(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)"],["X8","(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)"]]},"MultiLocationV1":{"type":"struct","type_mapping":[["parents","u8"],["interior","JunctionsV1"]]},"MultiLocationV2":"MultiLocationV1","MultiLocationV3":{"type":"struct","type_mapping":[["parents","u8"],["interior","JunctionsV3"]]},"MultiSignature":{"type":"enum","type_mapping":[["Ed25519","Ed25519Signature"],["Sr25519","Sr25519Signature"],["Ecdsa","EcdsaSignature"]]},"MultiSigner":{"type":"enum","type_mapping":[["Ed25519","[u8; 32]"],["Sr25519","[u8; 32]"],["Ecdsa","[u8; 33]"]]},"Multiplier":"u64","Multisig":{"type":"struct","type_mapping":[["when","Timepoint"],["deposit","Balance"],["depositor","AccountId"],["approvals","Vec\u003cAccountId\u003e"]]},"NetworkId":{"type":"enum","type_mapping":[["Any","Null"],["Named","Vec\u003cu8\u003e"],["Polkadot","Null"],["Kusama","Null"]]},"NetworkIdV3":{"type":"enum","type_mapping":[["ByGenesis","[u8; 32]"],["ByFork","ByForkV3"],["Polkadot","NULL"],["Kusama","NULL"],["Westend","NULL"],["Rococo","NULL"],["Wococo","NULL"],["Ethereum","U64"],["BitcoinCore","NULL"],["BitcoinCash","NULL"]]},"NewBidder":{"type":"struct","type_mapping":[["who","AccountId"],["sub","SubId"]]},"NextAuthority":{"type":"struct","type_mapping":[["AuthorityId","AuthorityId"],["weight","AuthorityWeight"]]},"NextConfigDescriptor":{"type":"enum","type_mapping":[["V0","Null"],["V1","NextConfigDescriptorV1"]]},"NextConfigDescriptorV1":{"type":"struct","type_mapping":[["c","(u64, u64)"],["allowedSlots","AllowedSlots"]]},"Nominations":{"type":"struct","type_mapping":[["targets","Vec\u003cAccountId\u003e"],["submittedIn","EraIndex"],["suppressed","bool"]]},"NominatorIndex":"u32","NominatorIndexCompact":"Compact\u003cNominatorIndex\u003e","OffchainAccuracy":"u16","OffchainAccuracyCompact":"Compact\u003cOffchainAccuracy\u003e","OffenceDetails":{"type":"struct","type_mapping":[["offender","Offender"],["reporters","Vec\u003cReporter\u003e"]]},"OffenceDetails\u003cAccountId, IdentificationTuple\u003e":{"type":"struct","type_mapping":[["offender","Offender"],["reporters","Vec\u003cReporter\u003e"]]},"Offender":"IdentificationTuple","OpaqueMultiaddr":"Bytes","OpaqueNetworkState":{"type":"struct","type_mapping":[["peerId","OpaquePeerId"],["externalAddresses","Vec\u003cOpaqueMultiaddr\u003e"]]},"OpaquePeerId":"Bytes","OpaqueTimeSlot":"Bytes","OpenTip":{"type":"struct","type_mapping":[["reason","Hash"],["who","AccountId"],["finder","AccountId"],["deposit","Balance"],["closes","Option\u003cBlockNumber\u003e"],["tips","Vec\u003cOpenTipTip\u003e"],["findersFee","bool"]]},"OpenTip\u003cAccountId, BalanceOf, BlockNumber, Hash\u003e":{"type":"struct","type_mapping":[["reason","Hash"],["who","AccountId"],["finder","Option\u003cOpenTipFinder\u003e"],["closes","Option\u003cBlockNumber\u003e"],["tips","Vec\u003cOpenTipTip\u003e"]]},"OpenTipFinder":"(AccountId, Balance)","OpenTipTip":"(AccountId, Balance)","OperatingMode":{"type":"enum","value_list":["Normal","RejectingOutboundMessages","Halted"]},"Order":{"type":"enum","type_mapping":[["Null","Null"],["DepositAsset","DepositAsset"],["DepositReserveAsset","DepositReserveAsset"],["ExchangeAsset","ExchangeAsset"],["InitiateReserveWithdraw","InitiateReserveWithdraw"],["InitiateTeleport","InitiateTeleport"],["QueryHolding","QueryHolding"]]},"Origin":"Null","OriginCaller":{"type":"enum","type_mapping":[["System","SystemOrigin"]]},"OriginKind":{"type":"enum","value_list":["Native","SovereignAccount","Superuser"]},"OriginKindV0":{"type":"enum","value_list":["Native","SovereignAccount","Superuser","Xcm"]},"OriginKindV1":"OriginKindV0","OriginKindV2":"OriginKindV1","OutboundHrmpMessage":{"type":"struct","type_mapping":[["recipient","u32"],["data","Bytes"]]},"OutboundLaneData":{"type":"struct","type_mapping":[["oldestUnprunedNonce","MessageNonce"],["latestReceivedNonce","MessageNonce"],["latestGeneratedNonce","MessageNonce"]]},"OutboundMessageFee":"Balance","OutboundPayload":{"type":"struct","type_mapping":[["specVersion","u32"],["weight","Weight"],["origin","CallOrigin"],["dispatchFeePayment","DispatchFeePayment"],["call","Bytes"]]},"OutboundStatus":{"type":"enum","value_list":["Ok","Suspended"]},"Outcome":{"type":"enum","type_mapping":[["Complete","Weight"],["Incomplete","(Weight, XcmErrorV0)"],["Error","XcmErrorV0"]]},"OverweightIndex":"u64","Owner":{"type":"enum","type_mapping":[["None","Null"],["Address","AccountId"]]},"PageCounter":"u32","PageIndexData":{"type":"struct","type_mapping":[["beginUsed","PageCounter"],["endUsed","PageCounter"],["overweightCount","OverweightIndex"]]},"PalletCallMetadataV14":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"PalletErrorMetadataV14":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"PalletEventMetadataV14":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"PalletId":"LockIdentifier","PalletInfoV3":{"type":"struct","type_mapping":[["index","Compact\u003cu32\u003e"],["name","Vec\u003cu8\u003e"],["module_name","Vec\u003cu8\u003e"],["major","Compact\u003cu32\u003e"],["minor","Compact\u003cu32\u003e"],["patch","Compact\u003cu32\u003e"]]},"PalletVersion":{"type":"struct","type_mapping":[["major","u16"],["minor","u8"],["patch","u8"]]},"PalletsOrigin":"OriginCaller","ParaGenesisArgs":{"type":"struct","type_mapping":[["genesisHead","Bytes"],["validationCode","Bytes"],["parachain","bool"]]},"ParaId":"u32","ParaInfo":{"type":"struct","type_mapping":[["manager","AccountId"],["deposit","Balance"]]},"ParaLifecycle":{"type":"enum","value_list":["Onboarding","Parathread","Parachain","UpgradingToParachain","DowngradingToParathread","OutgoingParathread","OutgoingParachain"]},"ParaPastCodeMeta":{"type":"struct","type_mapping":[["upgradeTimes","Vec\u003cReplacementTimes\u003e"],["lastPruned","Option\u003cBlockNumber\u003e"]]},"ParaScheduling":{"type":"enum","value_list":["Always","Dynamic"]},"ParaValidatorIndex":"u32","ParachainDispatchOrigin":{"type":"enum","value_list":["Signed","Parachain","Root"]},"ParachainInherentData":{"type":"struct","type_mapping":[["validationData","PersistedValidationData"],["relayChainState","StorageProof"],["downwardMessages","Vec\u003cInboundDownwardMessage\u003e"],["horizontalMessages","BTreeMap\u003cParaId, VecInboundHrmpMessage\u003e"]]},"ParachainProposal":{"type":"struct","type_mapping":[["proposer","AccountId"],["genesis_head","HeadData"],["validators","Vec\u003cValidatorId\u003e"],["name","Vec\u003cU8\u003e"],["balance","Balance"]]},"ParachainsInherentData":{"type":"struct","type_mapping":[["bitfields","SignedAvailabilityBitfields"],["backedCandidates","Vec\u003cBackedCandidate\u003e"],["disputes","MultiDisputeStatementSet"],["parentHeader","Header"]]},"Parameter":"Null","ParathreadClaim":"(ParaId, CollatorId)","ParathreadClaimQueue":{"type":"struct","type_mapping":[["queue","Vec\u003cQueuedParathread\u003e"],["nextCoreOffset","u32"]]},"ParathreadEntry":{"type":"struct","type_mapping":[["claim","ParathreadClaim"],["retries","u32"]]},"Pays":{"type":"enum","value_list":["Yes","No"]},"PendingChange":{"type":"struct","type_mapping":[["nextAuthorities","AuthorityList"],["delay","BlockNumber"],["canonHeight","BlockNumber"],["canonHash","BlockHash"],["delayKind","DelayKind"]]},"PendingPause":{"type":"struct","type_mapping":[["scheduledAt","BlockNumber"],["delay","BlockNumber"]]},"PendingResume":{"type":"struct","type_mapping":[["scheduledAt","BlockNumber"],["delay","BlockNumber"]]},"PerDispatchClass":{"type":"struct","type_mapping":[["normal","WeightPerClass"],["operational","WeightPerClass"],["mandatory","WeightPerClass"]]},"PerDispatchClassU32":{"type":"struct","type_mapping":[["normal","u32"],["operational","u32"],["mandatory","u32"]]},"PerU16":"u16","Perbill":"u32","Percent":"u8","Period":"(BlockNumber, u32)","Permill":"u32","PermissionLatest":"PermissionsV1","PermissionVersions":{"type":"enum","type_mapping":[["V1","PermissionsV1"]]},"PermissionsV1":{"type":"struct","type_mapping":[["update","Owner"],["mint","Owner"],["burn","Owner"]]},"Perquintill":"u64","PersistedValidationData":{"type":"struct","type_mapping":[["parentHead","HeadData"],["relayParentNumber","RelayChainBlockNumber"],["relayParentStorageRoot","Hash"],["maxPovSize","u32"]]},"PhantomData":"Null","Phase":{"type":"enum","type_mapping":[["ApplyExtrinsic","u32"],["Finalization","Null"],["Initialization","Null"]]},"PhragmenScore":"[u128; 3]","Points":"u32","PortableRegistry":"GenericPortableRegistry","PortableType":{"type":"struct","type_mapping":[["id","SiLookupTypeId"],["type","SiType"]]},"Precommit":{"type":"struct","type_mapping":[["target_hash","BridgedBlockHash"],["target_number","BridgedBlockNumber"]]},"Precommits":{"type":"struct","type_mapping":[["currentWeight","u32"],["missing","BTreeSet\u003cAuthorityId\u003e"]]},"PrefabWasmModule":{"type":"struct","type_mapping":[["scheduleVersion","Compact\u003cu32\u003e"],["initial","Compact\u003cu32\u003e"],["maximum","Compact\u003cu32\u003e"],["_reserved","PrefabWasmModuleReserved"],["code","Bytes"]]},"PrefabWasmModuleReserved":"Option\u003cNull\u003e","PreimageStatus":{"type":"enum","type_mapping":[["Missing","BlockNumber"],["Available","PreimageStatusAvailable"]]},"PreimageStatusAvailable":{"type":"struct","type_mapping":[["data","Bytes"],["provider","AccountId"],["deposit","Balance"],["since","BlockNumber"],["expiry","Option\u003cBlockNumber\u003e"]]},"Prevotes":{"type":"struct","type_mapping":[["currentWeight","u32"],["missing","BTreeSet\u003cAuthorityId\u003e"]]},"PriorLock":{"type":"struct","type_mapping":[["blockNumber","BlockNumber"],["balance","Balance"]]},"Priority":"u8","PropIndex":"U32","Proposal":"BoxProposal","ProposalCategory":{"type":"enum","value_list":["Signaling"]},"ProposalContents":"Bytes","ProposalIndex":"u32","ProposalStage":{"type":"enum","value_list":["PreVoting","Voting","Completed"]},"ProposalTitle":"Bytes","ProxyAnnouncement":{"type":"struct","type_mapping":[["real","AccountId"],["callHash","Hash"],["height","BlockNumber"]]},"ProxyDefinition":{"type":"struct","type_mapping":[["delegate","AccountId"],["proxyType","ProxyType"],["delay","BlockNumber"]]},"ProxyState":{"type":"struct","type_mapping":[["Open","AccountId"],["Active","AccountId"]]},"ProxyType":{"type":"enum","value_list":["Any","NonTransfer","Governance","Staking","CancelProxy"]},"QueryHolding":{"type":"struct","type_mapping":[["query_id","Compact\u003cu64\u003e"],["dest","MultiLocation"],["assets","Vec\u003cMultiAsset\u003e"]]},"QueryId":"u64","QueryResponseInfoV3":{"type":"struct","type_mapping":[["destination","MultiLocationV3"],["query_id","Compact\u003cu64\u003e"],["max_weight","WeightV2"]]},"QueryResponseV3":{"type":"struct","type_mapping":[["query_id","compact\u003cu64\u003e"],["response","ResponseV3"],["max_weight","WeightV2"],["querier","Option\u003cMultiLocationV3\u003e"]]},"QueryStatus":{"type":"enum","type_mapping":[["Pending","[[\"responder\", \"VersionedMultiLocation\"], [\"maybeNotify\", \"Option\u003c(u8, u8)\u003e\"], [\"timeout\", \"BlockNumber\"]]"],["Ready","[[\"response\", \"VersionedResponse\"], [\"at\", \"BlockNumber\"]]"]]},"QueueConfigData":{"type":"struct","type_mapping":[["suspendThreshold","u32"],["dropThreshold","u32"],["resumeThreshold","u32"],["thresholdWeight","Weight"],["weightRestrictDecay","Weight"]]},"QueuedParathread":{"type":"struct","type_mapping":[["claim","ParathreadEntry"],["coreOffset","u32"]]},"Randomness":"Hash","RawBabePreDigest":{"type":"enum","type_mapping":[["isPhantom","bool"],["Primary","RawBabePreDigestPrimary"],["Secondary","RawBabePreDigestSecondary"],["VRF","RawBabePreDigestSecondaryVRF"]]},"RawBabePreDigestCompat":{"type":"enum","type_mapping":[["Zero","u32"],["One","u32"],["Two","u32"],["Three","u32"]]},"RawOrigin":{"type":"enum","type_mapping":[["Root","Null"],["Signed","AccountId"],["None","Null"]]},"RawSolution":{"type":"struct","type_mapping":[["compact","CompactAssignments"],["score","ElectionScore"],["round","u32"]]},"ReadProof":{"type":"struct","type_mapping":[["at","Hash"],["proof","Vec\u003cBytes\u003e"]]},"ReadySolution":{"type":"struct","type_mapping":[["supports","SolutionSupports"],["score","ElectionScore"],["compute","ElectionCompute"]]},"Reasons":{"type":"enum","value_list":["Fee","Misc","All"]},"RecoveryConfig":{"type":"struct","type_mapping":[["delayPeriod","BlockNumber"],["deposit","Balance"],["friends","Vec\u003cAccountId\u003e"],["threshold","u16"]]},"RefCount":"u8","RefCount1":"u32","ReferendumIndex":"U32","ReferendumInfo":{"type":"struct","type_mapping":[["end","BlockNumber"],["proposal","Proposal"],["threshold","VoteThreshold"],["delay","BlockNumber"]]},"ReferendumInfo\u003cBlockNumber, Hash, Balance\u003e":{"type":"enum","type_mapping":[["Ongoing","ReferendumStatus"],["Finished","ReferendumInfoFinished"]]},"ReferendumInfo\u003cBlockNumber, Hash, BalanceOf\u003e":{"type":"enum","type_mapping":[["Ongoing","ReferendumStatus"],["Finished","ReferendumInfoFinished"]]},"ReferendumInfo\u003cBlockNumber, Hash\u003e":{"type":"struct","type_mapping":[["end","BlockNumber"],["proposalHash","Hash"],["threshold","VoteThreshold"],["delay","BlockNumber"]]},"ReferendumInfo\u003cBlockNumber, Proposal\u003e":{"type":"struct","type_mapping":[["end","BlockNumber"],["proposal","Proposal"],["threshold","VoteThreshold"],["delay","BlockNumber"]]},"ReferendumInfoFinished":{"type":"struct","type_mapping":[["approved","bool"],["end","BlockNumber"]]},"ReferendumStatus":{"type":"struct","type_mapping":[["end","BlockNumber"],["proposalHash","Hash"],["threshold","VoteThreshold"],["delay","BlockNumber"],["tally","Tally"]]},"RegisteredParachainInfo":{"type":"struct","type_mapping":[["validators","Vec\u003cValidatorId\u003e"],["proposer","AccountId"]]},"RegistrarIndex":"u32","RegistrarInfo":{"type":"struct","type_mapping":[["account","AccountId"],["fee","Balance"],["fields","IdentityFields"]]},"Registration":{"type":"struct","type_mapping":[["judgements","Vec\u003cRegistrationJudgement\u003e"],["deposit","Balance"],["info","IdentityInfo"]]},"RegistrationJudgement":{"type":"struct","type_mapping":[["col1","RegistrarIndex"],["col2","Judgement"]]},"RelayBlockNumber":"u32","RelayChainBlockNumber":"RelayBlockNumber","RelayChainHash":"RelayHash","RelayHash":"Hash","RelayTo":{"type":"struct","type_mapping":[["dest","MultiLocation"],["inner","VersionedXcm"]]},"RelayedFrom":{"type":"struct","type_mapping":[["superorigin","MultiLocation"],["inner","VersionedXcm"]]},"RelayerId":"AccountId","Releases":"ReleasesBalances","ReleasesBalances":{"type":"enum","value_list":["V1_0_0","V2_0_0","V3_0_0","V4_0_0","V5_0_0"]},"Remark":"[u8; 32]","Renouncing":{"type":"enum","type_mapping":[["Member","Null"],["RunnerUp","Null"],["Candidate","Compact\u003cu32\u003e"]]},"RentProjection":{"type":"enum","type_mapping":[["EvictionAt","BlockNumber"],["NoEviction","Null"]]},"ReplacementTimes":{"type":"struct","type_mapping":[["expectedAt","BlockNumber"],["activatedAt","BlockNumber"]]},"ReportIdOf":"Hash","ReportedRoundStates":{"type":"struct","type_mapping":[["setId","u32"],["best","RoundState"],["background","Vec\u003cRoundState\u003e"]]},"Reporter":"AccountId","ReserveAssetDeposit":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["effects","Vec\u003cOrder\u003e"]]},"Response":"ResponseV1","ResponseV0":{"type":"enum","type_mapping":[["Assets","Vec\u003cMultiAssetV0\u003e"]]},"ResponseV1":{"type":"enum","type_mapping":[["Assets","MultiAssetsV1"],["Version","U32"]]},"ResponseV2":{"type":"enum","type_mapping":[["Null","empty"],["Assets","MultiAssetsV2"],["ExecutionResult","ResponseV2Result"],["Version","U32"]]},"ResponseV2Error":"(u32, XcmErrorV2)","ResponseV2Result":"Result\u003cU32, ResponseV2Error\u003e","ResponseV3":{"type":"enum","type_mapping":[["NULL","NULL"],["Assets","MultiAssetsV3"],["ExecutionResult","Option\u003c(U32, XcmTraitsErrorV3)\u003e"],["Version","U32"],["PalletsInfo","Vec\u003cPalletInfoV3\u003e"],["DispatchResult","MaybeErrorCodeV3"]]},"Retriable":{"type":"enum","type_mapping":[["Never","Null"],["WithRetries","u32"]]},"RewardDestination":{"type":"enum","type_mapping":[["Staked","Null"],["Stash","Null"],["Controller","Null"],["Account","AccountId"],["None","Null"]]},"RewardPoint":"u32","RoundNumber":"U64","RoundState":{"type":"struct","type_mapping":[["round","u32"],["totalWeight","u32"],["thresholdWeight","u32"],["prevotes","Prevotes"],["precommits","Precommits"]]},"RpcMethods":{"type":"struct","type_mapping":[["version","u32"],["methods","Vec\u003cText\u003e"]]},"RuntimeDbWeight":{"type":"struct","type_mapping":[["read","Weight"],["write","Weight"]]},"RuntimeVersion":{"type":"struct","type_mapping":[["specName","Text"],["implName","Text"],["authoringVersion","u32"],["specVersion","u32"],["implVersion","u32"],["apis","Vec\u003cRuntimeVersionApi\u003e"],["transactionVersion","u32"]]},"RuntimeVersionApi":"(ApiId, u32)","Schedule":{"type":"struct","type_mapping":[["version","u32"],["enablePrintln","bool"],["limits","Limits"],["instructionWeights","InstructionWeights"],["hostFnWeights","HostFnWeights"]]},"SchedulePeriod":"(BlockNumber, u32)","SchedulePriority":"u8","ScheduleTo212":{"type":"struct","type_mapping":[["version","u32"],["putCodePerByteCost","Gas"],["growMemCost","Gas"],["regularOpCost","Gas"],["returnDataPerByteCost","Gas"],["eventDataPerByteCost","Gas"],["eventPerTopicCost","Gas"],["eventBaseCost","Gas"],["sandboxDataReadCost","Gas"],["sandboxDataWriteCost","Gas"],["maxEventTopics","u32"],["maxStackHeight","u32"],["maxMemoryPages","u32"],["enablePrintln","bool"],["maxSubjectLen","u32"]]},"ScheduleTo258":{"type":"struct","type_mapping":[["version","u32"],["putCodePerByteCost","Gas"],["growMemCost","Gas"],["regularOpCost","Gas"],["returnDataPerByteCost","Gas"],["eventDataPerByteCost","Gas"],["eventPerTopicCost","Gas"],["eventBaseCost","Gas"],["sandboxDataReadCost","Gas"],["sandboxDataWriteCost","Gas"],["transferCost","Gas"],["maxEventTopics","u32"],["maxStackHeight","u32"],["maxMemoryPages","u32"],["enablePrintln","bool"],["maxSubjectLen","u32"]]},"Scheduled":{"type":"struct","type_mapping":[["maybe_id","Option\u003cBytes\u003e"],["priority","SchedulePriority"],["call","Call"],["maybe_periodic","Option\u003cSchedulePeriod\u003e"],["origin","PalletsOrigin"]]},"Scheduling":{"type":"enum","value_list":["Always","Dynamic"]},"SeatHolder":{"type":"struct","type_mapping":[["who","AccountId"],["stake","Balance"],["deposit","Balance"]]},"SeedOf":"Hash","ServiceQuality":{"type":"enum","value_list":["Ordered","Fast"]},"SessionIndex":"U32","SessionInfo":{"type":"struct","type_mapping":[["validators","Vec\u003cValidatorId\u003e"],["discoveryKeys","Vec\u003cAuthorityDiscoveryId\u003e"],["assignmentKeys","Vec\u003cAssignmentId\u003e"],["validatorGroups","Vec\u003cSessionInfoValidatorGroup\u003e"],["nCores","u32"],["zerothDelayTrancheWidth","u32"],["relayVrfModuloSamples","u32"],["nDelayTranches","u32"],["noShowSlots","u32"],["neededApprovals","u32"]]},"SessionInfoValidatorGroup":"Vec\u003cParaValidatorIndex\u003e","SessionKeys1":"(AccountId)","SessionKeys10":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys10B":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeys2":"(AccountId, AccountId)","SessionKeys3":"(AccountId, AccountId, AccountId)","SessionKeys4":"(AccountId, AccountId, AccountId, AccountId)","SessionKeys5":"(AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys6":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys6B":"(AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeys7":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys7B":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeys8":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys8B":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeys9":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)","SessionKeys9B":"(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)","SessionKeysPolkadot":{"type":"struct","type_mapping":[["grandpa","AccountId"],["babe","AccountId"],["im_online","AccountId"],["authority_discovery","AccountId"],["parachains","AccountId"]]},"SetId":"u64","SiField":{"type":"struct","type_mapping":[["name","Option\u003cText\u003e"],["type","SiLookupTypeId"],["typeName","Option\u003cText\u003e"],["docs","Vec\u003cText\u003e"]]},"SiLookupTypeId":"Compact\u003cu32\u003e","SiPath":"Vec\u003cText\u003e","SiType":{"type":"struct","type_mapping":[["path","SiPath"],["params","Vec\u003cSiTypeParameter\u003e"],["def","SiTypeDef"],["docs","Vec\u003cText\u003e"]]},"SiTypeDef":{"type":"enum","type_mapping":[["Composite","SiTypeDefComposite"],["Variant","SiTypeDefVariant"],["Sequence","SiTypeDefSequence"],["Array","SiTypeDefArray"],["Tuple","SiTypeDefTuple"],["Primitive","SiTypeDefPrimitive"],["Compact","SiTypeDefCompact"],["BitSequence","SiTypeDefBitSequence"],["Range","SiTypeDefRange"],["HistoricMetaCompat","String"]]},"SiTypeDefArray":{"type":"struct","type_mapping":[["len","u32"],["type","SiLookupTypeId"]]},"SiTypeDefBitSequence":{"type":"struct","type_mapping":[["bitStoreType","SiLookupTypeId"],["bitOrderType","SiLookupTypeId"]]},"SiTypeDefCompact":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"SiTypeDefComposite":{"type":"struct","type_mapping":[["fields","Vec\u003cSiField\u003e"]]},"SiTypeDefPrimitive":{"type":"enum","value_list":["Bool","Char","Str","U8","U16","U32","U64","U128","U256","I8","I16","I32","I64","I128","I256"]},"SiTypeDefRange":{"type":"struct","type_mapping":[["start","SiLookupTypeId"],["end","SiLookupTypeId"],["inclusive","bool"]]},"SiTypeDefSequence":{"type":"struct","type_mapping":[["type","SiLookupTypeId"]]},"SiTypeDefTuple":"Vec\u003cSiLookupTypeId\u003e","SiTypeDefVariant":{"type":"struct","type_mapping":[["variants","Vec\u003cSiVariant\u003e"]]},"SiTypeParameter":{"type":"struct","type_mapping":[["name","Text"],["type","Option\u003cSiLookupTypeId\u003e"]]},"SiVariant":{"type":"struct","type_mapping":[["name","Text"],["fields","Vec\u003cSiField\u003e"],["index","u8"],["docs","Vec\u003cText\u003e"]]},"SignedAvailabilityBitfield":{"type":"struct","type_mapping":[["payload","BitVec"],["validatorIndex","ParaValidatorIndex"],["signature","ValidatorSignature"]]},"SignedAvailabilityBitfields":"Vec\u003cSignedAvailabilityBitfield\u003e","SignedExtensionMetadataV14":{"type":"struct","type_mapping":[["identifier","Text"],["type","SiLookupTypeId"],["additionalSigned","SiLookupTypeId"]]},"SignedSubmission":{"type":"struct","type_mapping":[["who","AccountId"],["deposit","Balance"],["solution","RawSolution"],["reward","Balance"]]},"SignedSubmissionOf":"SignedSubmission","SigningContext":{"type":"struct","type_mapping":[["sessionIndex","SessionIndex"],["parentHash","Hash"]]},"SlashingSpans":{"type":"struct","type_mapping":[["spanIndex","SpanIndex"],["lastStart","EraIndex"],["lastNonzeroSlash","EraIndex"],["prior","Vec\u003cEraIndex\u003e"]]},"Slot":"u64","SlotNumber":"u64","SlotRange":{"type":"enum","value_list":["ZeroZero","ZeroOne","ZeroTwo","ZeroThree","OneOne","OneTwo","OneThree","TwoTwo","TwoThree","ThreeThree"]},"SolutionOrSnapshotSize":{"type":"struct","type_mapping":[["voters","Compact\u003cu32\u003e"],["targets","Compact\u003cu32\u003e"]]},"SolutionSupport":{"type":"struct","type_mapping":[["total","ExtendedBalance"],["voters","Vec\u003c(AccountId, ExtendedBalance)\u003e"]]},"SolutionSupports":"Vec\u003c(AccountId, SolutionSupport)\u003e","SpanIndex":"u32","SpanRecord":{"type":"struct","type_mapping":[["slashed","Balance"],["paidOut","Balance"]]},"SpecVersion":"u32","Sr25519Signature":"H512","StakingLedger\u003cAccountId, BalanceOf\u003e":{"type":"struct","type_mapping":[["stash","AccountId"],["total","Compact\u003cBalance\u003e"],["active","Compact\u003cBalance\u003e"],["unlocking","Vec\u003cUnlockChunk\u003cBalance\u003e\u003e"],["lastReward","Option\u003cEraIndex\u003e"]]},"Statement":{"type":"enum","type_mapping":[["Never","Null"],["Candidate","Hash"],["Valid","Hash"],["Invalid","Hash"]]},"StatementKind":{"type":"enum","value_list":["Regular","Saft"]},"Status":"BalanceStatus","StorageChangeSet":{"type":"struct","type_mapping":[["block","Hash"],["changes","Vec\u003cKeyValueOption\u003e"]]},"StorageData":"Bytes","StorageFunctionType":{"type":"enum","value_list":["PlainType","MapType","DoubleMapType","NMap"]},"StorageFunctionTypeV14":{"type":"enum","value_list":["PlainType","Map"]},"StorageHasher":{"type":"enum","value_list":["Blake2_128","Blake2_256","Blake2_128Concat","Twox128","Twox256","Twox64Concat","Identity"]},"StorageKey":"Bytes","StorageModify":{"type":"enum","value_list":["Optional","Default"]},"StorageProof":{"type":"struct","type_mapping":[["trieNodes","Vec\u003cBytes\u003e"]]},"StoredPendingChange":{"type":"struct","type_mapping":[["scheduledAt","BlockNumber"],["delay","BlockNumber"],["nextAuthorities","AuthorityList"]]},"StoredState":{"type":"enum","type_mapping":[["Live","Null"],["PendingPause","PendingPause"],["Paused","Null"],["PendingResume","PendingResume"]]},"StrikeCount":"u32","SubId":"u32","SubmissionIndicesOf":"BTreeMap\u003cElectionScore, u32\u003e","SyncState":{"type":"struct","type_mapping":[["startingBlock","BlockNumber"],["currentBlock","BlockNumber"],["highestBlock","Option\u003cBlockNumber\u003e"]]},"SystemInherentData":"ParachainInherentData","SystemOrigin":"RawOrigin","TAssetBalance":"u64","TAssetDepositBalance":"BalanceOf","Tally":{"type":"struct","type_mapping":[["ayes","Balance"],["nays","Balance"],["turnout","Balance"]]},"TaskAddress":{"type":"struct","type_mapping":[["blockNumber","BlockNumber"],["index","u32"]]},"TeleportAsset":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["effects","Vec\u003cOrder\u003e"]]},"Text":"String","Timepoint":{"type":"struct","type_mapping":[["height","BlockNumber"],["index","u32"]]},"TokenError":{"type":"enum","value_list":["NoFunds","WouldDie","BelowMinimum","CannotCreate","UnknownAsset","Frozen","Underflow","Overflow"]},"TombstoneContractInfo":"Hash","TraceBlockResponse":{"type":"enum","type_mapping":[["TraceError","TraceError"],["BlockTrace","BlockTrace"]]},"TraceError":{"type":"struct","type_mapping":[["error","Text"]]},"Transact":{"type":"struct","type_mapping":[["originType","OriginKind"],["call","Vec\u003cu8\u003e"]]},"TransactionPriority":"u64","TransactionRecoveryId":"U64","TransactionSignature":{"type":"struct","type_mapping":[["v","TransactionRecoveryId"],["r","H256"],["s","H256"]]},"TransactionV0":"LegacyTransaction","TransactionV1":{"type":"enum","type_mapping":[["Legacy","LegacyTransaction"],["EIP2930","EIP2930Transaction"]]},"TransactionV2":{"type":"enum","type_mapping":[["Legacy","LegacyTransaction"],["EIP2930","EIP2930Transaction"],["EIP1559","EIP1559Transaction"]]},"TransientValidationData":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["maxHeadDataSize","u32"],["balance","Balance"],["codeUpgradeAllowed","Option\u003cBlockNumber\u003e"],["dmqLength","u32"]]},"TreasuryProposal":{"type":"struct","type_mapping":[["proposer","AccountId"],["value","Balance"],["beneficiary","AccountId"],["bond","Balance"]]},"TrieId":"Bytes","TrieIndex":"u32","UnappliedSlash":{"type":"struct","type_mapping":[["validator","AccountId"],["own","Balance"],["others","Vec\u003cUnappliedSlashOther\u003e"],["reporters","Vec\u003cAccountId\u003e"],["payout","Balance"]]},"UnappliedSlash\u003cAccountId, BalanceOf\u003e":{"type":"struct","type_mapping":[["validator","AccountId"],["own","Balance"],["others","Vec\u003cUnappliedSlashOther\u003e"],["reporters","Vec\u003cAccountId\u003e"],["payout","Balance"]]},"UnappliedSlashOther":{"type":"struct","type_mapping":[["account","AccountId"],["amount","Balance"]]},"UnlockChunk":{"type":"struct","type_mapping":[["value","Compact\u003cBalance\u003e"],["era","Compact\u003cEraIndex\u003e"]]},"UnrewardedRelayer":{"type":"struct","type_mapping":[["relayer","RelayerId"],["messages","DeliveredMessages"]]},"UnrewardedRelayersState":{"type":"struct","type_mapping":[["unrewardedRelayer_Entries","MessageNonce"],["messagesInOldestEntry","MessageNonce"],["totalMessages","MessageNonce"]]},"UpgradeRestriction":{"type":"enum","value_list":["Present"]},"UpwardMessage":"Bytes","ValidDisputeStatementKind":{"type":"enum","type_mapping":[["Explicit","Null"],["BackingSeconded","Hash"],["BackingValid","Hash"],["ApprovalChecking","Null"]]},"ValidationCode":"Bytes","ValidationCodeHash":"H256","ValidationData":{"type":"struct","type_mapping":[["persisted","PersistedValidationData"],["transient","TransientValidationData"]]},"ValidationDataType":{"type":"struct","type_mapping":[["validationData","ValidationData"],["relayChainState","Vec\u003cBytes\u003e"]]},"ValidationFunctionParams":{"type":"struct","type_mapping":[["maxCodeSize","u32"],["relayChainHeight","RelayChainBlockNumber"],["codeUpgradeAllowed","Option\u003cRelayChainBlockNumber\u003e"]]},"ValidatorCount":"u32","ValidatorId":"AccountId","ValidatorIdOf":"ValidatorId","ValidatorIndex":"u16","ValidatorIndexCompact":"Compact\u003cValidatorIndex\u003e","ValidatorPrefs":"ValidatorPrefsWithCommission","ValidatorPrefsWithBlocked":{"type":"struct","type_mapping":[["commission","Compact\u003cPerbill\u003e"],["blocked","bool"]]},"ValidatorPrefsWithCommission":{"type":"struct","type_mapping":[["commission","Compact\u003cPerbill\u003e"]]},"ValidatorSetId":"u64","ValidatorSignature":"Signature","ValidityAttestation":{"type":"enum","type_mapping":[["Never","Null"],["Implicit","ValidatorSignature"],["Explicit","ValidatorSignature"]]},"VecInboundHrmpMessage":"Vec\u003cInboundHrmpMessage\u003e","VersionMigrationStage":{"type":"enum","type_mapping":[["MigrateSupportedVersion","Null"],["MigrateVersionNotifiers","Null"],["NotifyCurrentTargets","Option\u003cBytes\u003e"],["MigrateAndNotifyOldTargets","Null"]]},"VersionedMultiAsset":{"type":"enum","type_mapping":[["V0","MultiAssetV0"],["V1","MultiAssetV1"],["V2","MultiAssetV2"]]},"VersionedMultiAssets":{"type":"enum","type_mapping":[["V0","Vec\u003cMultiAssetV0\u003e"],["V1","MultiAssetsV1"],["V2","MultiAssetsV2"]]},"VersionedMultiLocation":{"type":"enum","type_mapping":[["V0","MultiLocationV0"],["V1","MultiLocationV1"],["V2","MultiLocationV2"]]},"VersionedResponse":{"type":"struct","type_mapping":[["V0","ResponseV0"],["V1","ResponseV1"],["V2","ResponseV2"]]},"VersionedXcm":{"type":"enum","type_mapping":[["V0","XcmV0"],["V1","XcmV1"],["V2","XcmV2"],["V3","XcmV3"]]},"VestingInfo":{"type":"struct","type_mapping":[["locked","Balance"],["perBlock","Balance"],["startingBlock","BlockNumber"]]},"Vote":"U8","VoteStage":{"type":"enum","value_list":["PreVoting","Commit","Voting","Completed"]},"VoteThreshold":{"type":"enum","value_list":["SuperMajorityApprove","SuperMajorityAgainst","SimpleMajority"]},"Voter":{"type":"struct","type_mapping":[["votes","Vec\u003cAccountId\u003e"],["stake","Balance"],["deposit","Balance"]]},"Votes":{"type":"struct","type_mapping":[["index","ProposalIndex"],["threshold","MemberCount"],["ayes","Vec\u003cAccountId\u003e"],["nays","Vec\u003cAccountId\u003e"]]},"Voting":{"type":"enum","type_mapping":[["Direct","VotingDirect"],["Delegating","VotingDelegating"]]},"VotingDelegating":{"type":"struct","type_mapping":[["balance","Balance"],["target","AccountId"],["conviction","Conviction"],["delegations","Delegations"],["prior","PriorLock"]]},"VotingDirect":{"type":"struct","type_mapping":[["votes","Vec\u003cVotingDirectVote\u003e"],["delegations","Delegations"],["prior","PriorLock"]]},"VotingDirectVote":{"type":"struct","type_mapping":[["referendumIndex","ReferendumIndex"],["accountVote","AccountVote"]]},"VouchingStatus":{"type":"enum","value_list":["Vouching","Banned"]},"VrfData":"[u8; 32]","VrfOutput":"[u8; 32]","VrfProof":"[u8; 64]","Weight":"u32","WeightLimitV2":{"type":"enum","type_mapping":[["Unlimited","empty"],["Limited","Compact\u003cu64\u003e"]]},"WeightLimitV3":{"type":"enum","type_mapping":[["Unlimited","Null"],["Limited","WeightV2"]]},"WeightMultiplier":"u64","WeightPerClass":{"type":"struct","type_mapping":[["baseExtrinsic","Weight"],["maxExtrinsic","Weight"],["maxTotal","Option\u003cWeight\u003e"],["reserved","Option\u003cWeight\u003e"]]},"WeightV2":{"type":"struct","type_mapping":[["ref_time","Compact\u003cu64\u003e"],["proof_size","Compact\u003cu64\u003e"]]},"WildFungibilityV0":"WildFungibilityV1","WildFungibilityV1":{"type":"enum","value_list":["Fungible","NonFungible"]},"WildFungibilityV2":"WildFungibilityV1","WildFungibilityV3":{"type":"enum","value_list":["Fungible","NonFungible"]},"WildMultiAsset":"WildMultiAssetV1","WildMultiAssetV1":{"type":"enum","type_mapping":[["All","Null"],["AllOf","[[\"id\", \"XcmAssetId\"], [\"fun\", \"WildFungibilityV1\"]]"]]},"WildMultiAssetV2":"WildMultiAssetV1","WildMultiAssetV3":{"type":"enum","type_mapping":[["All","Null"],["AllOf","[[\"id\", \"XcmAssetIdV3\"], [\"fun\", \"WildFungibilityV3\"]]"],["AllCounted","Compact\u003cu32\u003e"]]},"WinnersData":"Vec\u003cWinnersDataTuple\u003e","WinnersDataTuple":"(AccountId, ParaId, BalanceOf, SlotRange)","WinningData":"[WinningDataEntry; 10]","WinningDataEntry":"Option\u003c(AccountId, ParaId, BalanceOf)\u003e","WithdrawAsset":{"type":"struct","type_mapping":[["assets","Vec\u003cMultiAsset\u003e"],["effects","Vec\u003cOrder\u003e"]]},"WithdrawReasons":{"bit_length":8,"type":"set","value_list":["TransactionPayment","Transfer","Reserve","Fee","Tip"]},"Xcm":"XcmV1","XcmAssetId":{"type":"enum","type_mapping":[["Concrete","MultiLocation"],["Abstract","Bytes"]]},"XcmAssetIdV3":{"type":"enum","type_mapping":[["Concrete","MultiLocationV3"],["Abstract","[u8; 32]"]]},"XcmError":"XcmErrorV1","XcmErrorV0":{"type":"enum","type_mapping":[["Undefined","Null"],["Overflow","Null"],["Unimplemented","Null"],["UnhandledXcmVersion","Null"],["UnhandledXcmMessage","Null"],["UnhandledEffect","Null"],["EscalationOfPrivilege","Null"],["UntrustedReserveLocation","Null"],["UntrustedTeleportLocation","Null"],["DestinationBufferOverflow","Null"],["SendFailed","Null"],["CannotReachDestination","(MultiLocation, Xcm)"],["MultiLocationFull","Null"],["FailedToDecode","Null"],["BadOrigin","Null"],["ExceedsMaxMessageSize","Null"],["FailedToTransactAsset","Null"],["WeightLimitReached","Weight"],["Wildcard","Null"],["TooMuchWeightRequired","Null"],["NotHoldingFees","Null"],["WeightNotComputable","Null"],["Barrier","Null"],["NotWithdrawable","Null"],["LocationCannotHold","Null"],["TooExpensive","Null"],["AssetNotFound","Null"],["RecursionLimitReached","Null"]]},"XcmErrorV1":{"type":"enum","type_mapping":[["Undefined","Null"],["Overflow","Null"],["Unimplemented","Null"],["UnhandledXcmVersion","Null"],["UnhandledXcmMessage","Null"],["UnhandledEffect","Null"],["EscalationOfPrivilege","Null"],["UntrustedReserveLocation","Null"],["UntrustedTeleportLocation","Null"],["DestinationBufferOverflow","Null"],["SendFailed","Null"],["CannotReachDestination","(MultiLocationV1, XcmV1)"],["MultiLocationFull","Null"],["FailedToDecode","Null"],["BadOrigin","Null"],["ExceedsMaxMessageSize","Null"],["FailedToTransactAsset","Null"],["WeightLimitReached","Weight"],["Wildcard","Null"],["TooMuchWeightRequired","Null"],["NotHoldingFees","Null"],["WeightNotComputable","Null"],["Barrier","Null"],["NotWithdrawable","Null"],["LocationCannotHold","Null"],["TooExpensive","Null"],["AssetNotFound","Null"],["DestinationUnsupported","Null"],["RecursionLimitReached","Null"]]},"XcmErrorV2":{"type":"enum","type_mapping":[["Undefined","empty"],["Overflow","empty"],["Unimplemented","empty"],["UnhandledXcmVersion","empty"],["UnhandledXcmMessage","empty"],["UnhandledEffect","empty"],["EscalationOfPrivilege","empty"],["UntrustedReserveLocation","empty"],["UntrustedTeleportLocation","empty"],["DestinationBufferOverflow","empty"],["MultiLocationFull","empty"],["MultiLocationNotInvertible","empty"],["FailedToDecode","empty"],["BadOrigin","empty"],["ExceedsMaxMessageSize","empty"],["FailedToTransactAsset","empty"],["WeightLimitReached","Weight"],["Wildcard","empty"],["TooMuchWeightRequired","empty"],["NotHoldingFees","empty"],["WeightNotComputable","empty"],["Barrier","empty"],["NotWithdrawable","empty"],["LocationCannotHold","empty"],["TooExpensive","empty"],["AssetNotFound","empty"],["DestinationUnsupported","empty"],["RecursionLimitReached","empty"],["Transport","empty"],["Unroutable","empty"],["UnknownWeightRequired","empty"],["Trap","u64"],["UnknownClaim","empty"],["InvalidLocation","empty"]]},"XcmOrder":"XcmOrderV1","XcmOrderV0":{"type":"enum","type_mapping":[["Null","Null"],["DepositAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"]]"],["DepositReserveAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["ExchangeAsset","[[\"give\", \"Vec\u003cMultiAssetV0\u003e\"], [\"receive\", \"Vec\u003cMultiAssetV0\u003e\"]]"],["InitiateReserveWithdraw","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"reserve\", \"MultiLocationV0\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["InitiateTeleport","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["QueryHolding","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"dest\", \"MultiLocationV0\"], [\"assets\", \"Vec\u003cMultiAssetV0\u003e\"]]"],["BuyExecution","[[\"fees\", \"MultiAssetV0\"], [\"weight\", \"u64\"], [\"debt\", \"u64\"], [\"haltOnError\", \"bool\"], [\"xcm\", \"Vec\u003cXcmV0\u003e\"]]"]]},"XcmOrderV1":{"type":"enum","type_mapping":[["Noop","Null"],["DepositAsset","[[\"assets\", \"MultiAssetFilterV1\"], [\"max_assets\", \"u32\"], [\"beneficiary\", \"MultiLocationV1\"]]"],["DepositReserveAsset","[[\"assets\", \"MultiAssetFilterV1\"], [\"max_assets\", \"u32\"], [\"dest\", \"MultiLocationV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["ExchangeAsset","[[\"give\", \"MultiAssetFilterV1\"], [\"receive\", \"MultiAssetsV1\"]]"],["InitiateReserveWithdraw","[[\"assets\", \"MultiAssetFilterV1\"], [\"reserve\", \"MultiLocationV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["InitiateTeleport","[[\"assets\", \"MultiAssetFilterV1\"], [\"dest\", \"MultiLocationV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["QueryHolding","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"dest\", \"MultiLocationV1\"], [\"assets\", \"MultiAssetFilterV1\"]]"],["BuyExecution","[[\"fees\", \"MultiAssetV1\"], [\"weight\", \"u64\"], [\"debt\", \"u64\"], [\"halt_on_error\", \"bool\"], [\"instructions\", \"Vec\u003cXcmV1\u003e\"]]"]]},"XcmOrderV2":"XcmOrderV1","XcmOrigin":{"type":"enum","type_mapping":[["Xcm","MultiLocation"]]},"XcmOriginKind":{"type":"enum","value_list":["Native","SovereignAccount","Superuser","Xcm"]},"XcmResult":{"type":"enum","type_mapping":[["Ok","()"],["Err","XcmError"]]},"XcmTraitsErrorV3":{"type":"enum","type_mapping":[["Overflow","NULL"],["Unimplemented","NULL"],["UntrustedReserveLocation","NULL"],["UntrustedTeleportLocation","NULL"],["LocationFull","NULL"],["LocationNotInvertible","NULL"],["BadOrigin","NULL"],["InvalidLocation","NULL"],["AssetNotFound","NULL"],["FailedToTransactAsset","NULL"],["NotWithdrawable","NULL"],["LocationCannotHold","NULL"],["ExceedsMaxMessageSize","NULL"],["DestinationUnsupported","NULL"],["Transport","NULL"],["Unroutable","NULL"],["UnknownClaim","NULL"],["FailedToDecode","NULL"],["MaxWeightInvalid","NULL"],["NotHoldingFees","NULL"],["TooExpensive","NULL"],["Trap","U64"],["ExpectationFalse","NULL"],["PalletNotFound","NULL"],["NameMismatch","NULL"],["VersionIncompatible","NULL"],["HoldingWouldOverflow","NULL"],["ExportError","NULL"],["ReanchorFailed","NULL"],["NoDeal","NULL"],["FeesNotMet","NULL"],["LockError","NULL"],["NoPermission","NULL"],["Unanchored","NULL"],["NotDepositable","NULL"],["UnhandledXcmVersion","NULL"],["WeightLimitReached","WeightV2"],["Barrier","NULL"],["WeightNotComputable","NULL"],["ExceedsStackLimit","NULL"]]},"XcmV0":{"type":"enum","type_mapping":[["WithdrawAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["ReserveAssetDeposit","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["TeleportAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["QueryResponse","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"response\", \"ResponseV0\"]]"],["TransferAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"]]"],["TransferReserveAsset","[[\"assets\", \"Vec\u003cMultiAssetV0\u003e\"], [\"dest\", \"MultiLocationV0\"], [\"effects\", \"Vec\u003cXcmOrderV0\u003e\"]]"],["Transact","[[\"originType\", \"XcmOriginKind\"], [\"requireWeightAtMost\", \"u64\"], [\"call\", \"DoubleEncodedCall\"]]"],["HrmpNewChannelOpenRequest","[[\"sender\", \"Compact\u003cu32\u003e\"], [\"maxMessageSize\", \"Compact\u003cu32\u003e\"], [\"maxCapacity\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelAccepted","[[\"recipient\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelClosing","[[\"initiator\", \"Compact\u003cu32\u003e\"], [\"sender\", \"Compact\u003cu32\u003e\"], [\"recipient\", \"Compact\u003cu32\u003e\"]]"],["RelayedFrom","[[\"who\", \"MultiLocationV0\"], [\"message\", \"XcmV0\"]]"]]},"XcmV1":{"type":"enum","type_mapping":[["WithdrawAsset","[[\"assets\", \"MultiAssetsV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["ReserveAssetDeposit","[[\"assets\", \"MultiAssetsV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["ReceiveTeleportedAsset","[[\"assets\", \"MultiAssetsV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["QueryResponse","[[\"queryId\", \"Compact\u003cu64\u003e\"], [\"response\", \"ResponseV1\"]]"],["TransferAsset","[[\"assets\", \"MultiAssetsV1\"], [\"dest\", \"MultiLocationV1\"]]"],["TransferReserveAsset","[[\"assets\", \"MultiAssetsV1\"], [\"dest\", \"MultiLocationV1\"], [\"effects\", \"Vec\u003cXcmOrderV1\u003e\"]]"],["Transact","[[\"originType\", \"XcmOriginKind\"], [\"requireWeightAtMost\", \"u64\"], [\"call\", \"DoubleEncodedCall\"]]"],["HrmpNewChannelOpenRequest","[[\"sender\", \"Compact\u003cu32\u003e\"], [\"maxMessageSize\", \"Compact\u003cu32\u003e\"], [\"maxCapacity\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelAccepted","[[\"recipient\", \"Compact\u003cu32\u003e\"]]"],["HrmpChannelClosing","[[\"initiator\", \"Compact\u003cu32\u003e\"], [\"sender\", \"Compact\u003cu32\u003e\"], [\"recipient\", \"Compact\u003cu32\u003e\"]]"],["RelayedFrom","[[\"who\", \"MultiLocationV1\"], [\"message\", \"XcmV1\"]]"],["SubscribeVersion","[[\"query_id\", \"U64\"], [\"max_response_weight\", \"U64\"]]"],["UnsubscribeVersion","NULL"]]},"XcmV2":"Vec\u003cInstructionV2\u003e","XcmV3":"Vec\u003cInstructionV3\u003e","XcmVersion":"u32","XcmpMessageFormat":{"type":"enum","value_list":["ConcatenatedVersionedXcm","ConcatenatedEncodedBlob","Signals"]},"ethereum::Block":"EthBlock","ethereum::Header":"EthHeader","ethereum::Receipt":"EthReceipt","ethereum::Transaction":"EthTransaction","gas":"u64","schedule::Period\u003cBlockNumber\u003e":"(BlockNumber, u32)","schedule::Priority":"u8","schnorrkel::Randomness":"Hash","schnorrkel::RawVRFOutput":"[u8; 32]","slashing::SlashingSpans":"SlashingSpans","slashing::SpanIndex":"SpanIndex","slashing::SpanRecord\u003cBalanceOf\u003e":"SpanRecord","super::initializationdata\u003cbridgedheader\u003ct, i\u003e\u003e":"InitializationData","weights::ExtrinsicsWeight":"ExtrinsicsWeight","xcm::VersionedXcm":"VersionedXcm"}` diff --git a/source/xcm/v2.json b/source/xcm/v2.json index 949731a..523afc9 100644 --- a/source/xcm/v2.json +++ b/source/xcm/v2.json @@ -17,6 +17,10 @@ [ "ExecutionResult", "ResponseV2Result" + ], + [ + "Version", + "U32" ] ], "type": "enum" @@ -162,7 +166,7 @@ ], "type": "enum" }, - "ResponseV2Result": "Result", + "ResponseV2Result": "Result", "MultiAssetFilterV2": "MultiAssetFilterV1", "MultiLocationV2": "MultiLocationV1", "JunctionV2": "JunctionV1", @@ -199,7 +203,7 @@ ], [ "QueryResponse", - "[[\"queryId\", \"Compact\"], [\"response\", \"ResponseV2\"], [\"maxWeight\", \"Compact\"]]" + "[[\"query_id\", \"Compact\"], [\"response\", \"ResponseV2\"], [\"max_weight\", \"Compact\"]]" ], [ "TransferAsset", @@ -235,7 +239,7 @@ ], [ "ReportError", - "[[\"queryId\", \"Compact\"], [\"dest\", \"MultiLocationV2\"], [\"maxResponseWeight\", \"Compact\"]]" + "[[\"query_id\", \"Compact\"], [\"dest\", \"MultiLocationV2\"], [\"maxResponseWeight\", \"Compact\"]]" ], [ "DepositAsset", diff --git a/static/kusamaV14.json b/static/kusamaV14.json deleted file mode 100644 index f903b00..0000000 --- a/static/kusamaV14.json +++ /dev/null @@ -1,19517 +0,0 @@ -{ - "version": "9111", - "value": [ - { - "name": "System", - "prefix": "System", - "storage": [ - { - "name": "Account", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "frame_systemAccountInfo", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The full account information for a particular account ID." - ] - }, - { - "name": "ExtrinsicCount", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " Total extrinsics count for the current block." - ] - }, - { - "name": "BlockWeight", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "frame_supportweightsPerDispatchClass", - "PlainTypeValue": 7 - }, - "fallback": "0x000000000000000000000000000000000000000000000000", - "docs": [ - " The current weight for the block." - ] - }, - { - "name": "AllExtrinsicsLen", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " Total length (in bytes) for all extrinsics put together, for the current block." - ] - }, - { - "name": "BlockHash", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "[U8; 32]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Map of block numbers to block hashes." - ] - }, - { - "name": "ExtrinsicData", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Extrinsics data for the current block (maps an extrinsic's index to its data)." - ] - }, - { - "name": "Number", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The current block number being processed. Set by `execute_block`." - ] - }, - { - "name": "ParentHash", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 9 - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Hash of the previous block." - ] - }, - { - "name": "Digest", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 11 - }, - "fallback": "0x00", - "docs": [ - " Digest of the current block, also part of the block header." - ] - }, - { - "name": "Events", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 18 - }, - "fallback": "0x00", - "docs": [ - " Events deposited for the current block.", - "", - " NOTE: This storage item is explicitly unbounded since it is never intended to be read", - " from within the runtime." - ] - }, - { - "name": "EventCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The number of events in the `Events` list." - ] - }, - { - "name": "EventTopics", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Mapping between a topic (represented by T::Hash) and a vector of indexes", - " of events in the `>` list.", - "", - " All topic vectors have deterministic storage locations depending on the topic. This", - " allows light-clients to leverage the changes trie storage tracking mechanism and", - " in case of changes fetch the list of events of interest.", - "", - " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", - " the `EventIndex` then in case if the topic has the same contents on the next block", - " no notification will be triggered thus the event might be lost." - ] - }, - { - "name": "LastRuntimeUpgrade", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "frame_systemLastRuntimeUpgradeInfo", - "PlainTypeValue": 145 - }, - "fallback": "0x00", - "docs": [ - " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." - ] - }, - { - "name": "UpgradedToU32RefCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Bool", - "PlainTypeValue": 55 - }, - "fallback": "0x00", - "docs": [ - " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." - ] - }, - { - "name": "UpgradedToTripleRefCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Bool", - "PlainTypeValue": 55 - }, - "fallback": "0x00", - "docs": [ - " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", - " (default) if not." - ] - }, - { - "name": "ExecutionPhase", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "frame_systemPhase", - "PlainTypeValue": 142 - }, - "fallback": "0x00", - "docs": [ - " The execution phase of the block." - ] - } - ], - "calls": [ - { - "lookup": "0000", - "name": "fill_block", - "docs": [ - "A dispatch that will fill the block weight up to the given ratio." - ], - "args": [ - { - "name": "ratio", - "type": "U32" - } - ] - }, - { - "lookup": "0001", - "name": "remark", - "docs": [ - "Make some on-chain remark.", - "", - "# ", - "- `O(1)`", - "# " - ], - "args": [ - { - "name": "remark", - "type": "Vec" - } - ] - }, - { - "lookup": "0002", - "name": "set_heap_pages", - "docs": [ - "Set the number of pages in the WebAssembly environment's heap.", - "", - "# ", - "- `O(1)`", - "- 1 storage write.", - "2d2042617365205765696768743a20312e34303520c2b573", - "- 1 write to HEAP_PAGES", - "- 1 digest item", - "# " - ], - "args": [ - { - "name": "pages", - "type": "U64" - } - ] - }, - { - "lookup": "0003", - "name": "set_code", - "docs": [ - "Set the new runtime code.", - "", - "# ", - "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", - "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", - " expensive).", - "- 1 storage write (codec `O(C)`).", - "- 1 digest item.", - "- 1 event.", - "The weight of this function is dependent on the runtime, but generally this is very", - "expensive. We will treat this as a full block.", - "# " - ], - "args": [ - { - "name": "code", - "type": "Vec" - } - ] - }, - { - "lookup": "0004", - "name": "set_code_without_checks", - "docs": [ - "Set the new runtime code without doing any checks of the given `code`.", - "", - "# ", - "- `O(C)` where `C` length of `code`", - "- 1 storage write (codec `O(C)`).", - "- 1 digest item.", - "- 1 event.", - "The weight of this function is dependent on the runtime. We will treat this as a full", - "block. # " - ], - "args": [ - { - "name": "code", - "type": "Vec" - } - ] - }, - { - "lookup": "0005", - "name": "set_changes_trie_config", - "docs": [ - "Set the new changes trie configuration.", - "", - "# ", - "- `O(1)`", - "- 1 storage write or delete (codec `O(1)`).", - "- 1 call to `deposit_log`: Uses `append` API, so O(1)", - "2d2042617365205765696768743a20372e32313820c2b573", - "- DB Weight:", - " - Writes: Changes Trie, System Digest", - "# " - ], - "args": [ - { - "name": "changes_trie_config", - "type": "option" - } - ] - }, - { - "lookup": "0006", - "name": "set_storage", - "docs": [ - "Set some items of storage.", - "", - "# ", - "- `O(I)` where `I` length of `items`", - "- `I` storage writes (`O(1)`).", - "2d2042617365205765696768743a20302e353638202a206920c2b573", - "- Writes: Number of items", - "# " - ], - "args": [ - { - "name": "items", - "type": "VecVec>" - } - ] - }, - { - "lookup": "0007", - "name": "kill_storage", - "docs": [ - "Kill some items from storage.", - "", - "# ", - "- `O(IK)` where `I` length of `keys` and `K` length of one key", - "- `I` storage deletions.", - "2d2042617365205765696768743a202e333738202a206920c2b573", - "- Writes: Number of items", - "# " - ], - "args": [ - { - "name": "keys", - "type": "Vec>" - } - ] - }, - { - "lookup": "0008", - "name": "kill_prefix", - "docs": [ - "Kill all storage items with a key that starts with the given prefix.", - "", - "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", - "the prefix we are removing to accurately calculate the weight of this function.", - "", - "# ", - "- `O(P)` where `P` amount of keys with prefix `prefix`", - "- `P` storage deletions.", - "2d2042617365205765696768743a20302e383334202a205020c2b573", - "- Writes: Number of subkeys + 1", - "# " - ], - "args": [ - { - "name": "prefix", - "type": "Vec" - }, - { - "name": "subkeys", - "type": "U32" - } - ] - }, - { - "lookup": "0009", - "name": "remark_with_event", - "docs": [ - "Make some on-chain remark and emit event.", - "", - "# ", - "- `O(b)` where b is the length of the remark.", - "- 1 event.", - "# " - ], - "args": [ - { - "name": "remark", - "type": "Vec" - } - ] - } - ], - "calls_value": { - "type": 147 - }, - "events": [ - { - "lookup": "0000", - "name": "ExtrinsicSuccess", - "docs": [ - "An extrinsic completed successfully. \\[info\\]" - ], - "args": [ - "frame_supportweightsDispatchInfo" - ] - }, - { - "lookup": "0001", - "name": "ExtrinsicFailed", - "docs": [ - "An extrinsic failed. \\[error, info\\]" - ], - "args": [ - "sp_runtimeDispatchError", - "frame_supportweightsDispatchInfo" - ] - }, - { - "lookup": "0002", - "name": "CodeUpdated", - "docs": [ - "`:code` was updated." - ], - "args": null - }, - { - "lookup": "0003", - "name": "NewAccount", - "docs": [ - "A new \\[account\\] was created." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0004", - "name": "KilledAccount", - "docs": [ - "An \\[account\\] was reaped." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0005", - "name": "Remarked", - "docs": [ - "On on-chain remark happened. \\[origin, remark_hash\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 21 - }, - "constants": [ - { - "name": "BlockWeights", - "type": "frame_systemlimitsBlockWeights", - "type_value": 152, - "constants_value": "00f2052a0100000000204aa9d1010000405973070000000001c0766c8f58010000010098f73e5d010000010000000000000000405973070000000001c0febef9cc0100000100204aa9d1010000010088526a740000004059730700000000000000", - "docs": [ - " Block & extrinsics weights: base values and limits." - ] - }, - { - "name": "BlockLength", - "type": "frame_supportweightsPerDispatchClass", - "type_value": 156, - "constants_value": "00003c000000500000005000", - "docs": [ - " The maximum length of a block (in bytes)." - ] - }, - { - "name": "BlockHashCount", - "type": "U32", - "type_value": 4, - "constants_value": "60090000", - "docs": [ - " Maximum number of block number to block hash mappings to keep (oldest pruned first)." - ] - }, - { - "name": "DbWeight", - "type": "frame_supportweightsRuntimeDbWeight", - "type_value": 158, - "constants_value": "40787d010000000000e1f50500000000", - "docs": [ - " The weight of runtime database operations the runtime can invoke." - ] - }, - { - "name": "Version", - "type": "sp_versionRuntimeVersion", - "type_value": 159, - "constants_value": "186b7573616d61347061726974792d6b7573616d6102000000972300000000000038df6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000af2c0297a23e6d3d0100000049eaaf1b548a0cb00100000091d5df18b0d2cf5801000000ed99c5acb25eedf503000000cbca25e39f14238702000000687ad44ad37f03c201000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a80100000007000000", - "docs": [ - " Get the chain's current version." - ] - }, - { - "name": "SS58Prefix", - "type": "U16", - "type_value": 75, - "constants_value": "0200", - "docs": [ - " The designated SS85 prefix of this chain.", - "", - " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", - " that the runtime should know about the prefix in order to make use of it as", - " an identifier of the chain." - ] - } - ], - "errors": [ - { - "name": "InvalidSpecName", - "doc": [ - "The name of specification does not match between the current runtime", - "and the new runtime." - ] - }, - { - "name": "SpecVersionNeedsToIncrease", - "doc": [ - "The specification version is not allowed to decrease between the current runtime", - "and the new runtime." - ] - }, - { - "name": "FailedToExtractRuntimeVersion", - "doc": [ - "Failed to extract the runtime version from the new runtime.", - "", - "Either calling `Core_version` or decoding `RuntimeVersion` failed." - ] - }, - { - "name": "NonDefaultComposite", - "doc": [ - "Suicide called when the account has non-default composite data." - ] - }, - { - "name": "NonZeroRefCount", - "doc": [ - "There is a non-zero reference count preventing the account from being purged." - ] - } - ], - "errors_value": { - "type": 163 - }, - "index": 0 - }, - { - "name": "Babe", - "prefix": "Babe", - "storage": [ - { - "name": "EpochIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U64", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current epoch index." - ] - }, - { - "name": "Authorities", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 164 - }, - "fallback": "0x00", - "docs": [ - " Current epoch authorities." - ] - }, - { - "name": "GenesisSlot", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U64", - "PlainTypeValue": 168 - }, - "fallback": "0x0000000000000000", - "docs": [ - " The slot at which the first epoch actually started. This is 0", - " until the first block of the chain." - ] - }, - { - "name": "CurrentSlot", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U64", - "PlainTypeValue": 168 - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current slot number." - ] - }, - { - "name": "Randomness", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 1 - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The epoch randomness for the *current* epoch.", - "", - " # Security", - "", - " This MUST NOT be used for gambling, as it can be influenced by a", - " malicious validator in the short term. It MAY be used in many", - " cryptographic protocols, however, so long as one remembers that this", - " (like everything else on-chain) it is public. For example, it can be", - " used where a number is needed that cannot have been chosen by an", - " adversary, for purposes such as public-coin zero-knowledge proofs." - ] - }, - { - "name": "PendingEpochConfigChange", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "sp_consensus_babedigestsNextConfigDescriptor", - "PlainTypeValue": 169 - }, - "fallback": "0x00", - "docs": [ - " Pending epoch configuration change that will be applied when the next epoch is enacted." - ] - }, - { - "name": "NextRandomness", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 1 - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Next epoch randomness." - ] - }, - { - "name": "NextAuthorities", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 164 - }, - "fallback": "0x00", - "docs": [ - " Next epoch authorities." - ] - }, - { - "name": "SegmentIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Randomness under construction.", - "", - " We make a tradeoff between storage accesses and list length.", - " We store the under-construction randomness in segments of up to", - " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.", - "", - " Once a segment reaches this length, we begin the next one.", - " We reset all segments and return to `0` at the beginning of every", - " epoch." - ] - }, - { - "name": "UnderConstruction", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec<[U8; 32]>", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay." - ] - }, - { - "name": "Initialized", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "option<[U8; 32]>", - "PlainTypeValue": 174 - }, - "fallback": "0x00", - "docs": [ - " Temporary value (cleared at block finalization) which is `Some`", - " if per-block initialization has already been called for current block." - ] - }, - { - "name": "AuthorVrfRandomness", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "option<[U8; 32]>", - "PlainTypeValue": 174 - }, - "fallback": "0x00", - "docs": [ - " This field should always be populated during block processing unless", - " secondary plain slots are enabled (which don't contain a VRF output).", - "", - " It is set in `on_initialize`, before it will contain the value from the last block." - ] - }, - { - "name": "EpochStart", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "TupleU32U32", - "PlainTypeValue": 71 - }, - "fallback": "0x0000000000000000", - "docs": [ - " The block numbers when the last and current epoch have started, respectively `N-1` and", - " `N`.", - " NOTE: We track this is in order to annotate the block number when a given pool of", - " entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in", - " slots, which may be skipped, the block numbers may not line up with the slot numbers." - ] - }, - { - "name": "Lateness", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " How late the current block is compared to its parent.", - "", - " This entry is populated as part of block execution and is cleaned up", - " on block finalization. Querying this storage entry outside of block", - " execution context should always yield zero." - ] - }, - { - "name": "EpochConfig", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "sp_consensus_babeBabeEpochConfiguration", - "PlainTypeValue": 175 - }, - "fallback": "0x00", - "docs": [ - " The configuration for the current epoch. Should never be `None` as it is initialized in", - " genesis." - ] - }, - { - "name": "NextEpochConfig", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "sp_consensus_babeBabeEpochConfiguration", - "PlainTypeValue": 175 - }, - "fallback": "0x00", - "docs": [ - " The configuration for the next epoch, `None` if the config will not change", - " (you can fallback to `EpochConfig` instead in that case)." - ] - } - ], - "calls": [ - { - "lookup": "0100", - "name": "report_equivocation", - "docs": [ - "Report authority equivocation/misbehavior. This method will verify", - "the equivocation proof and validate the given key ownership proof", - "against the extracted offender. If both are valid, the offence will", - "be reported." - ], - "args": [ - { - "name": "equivocation_proof", - "type": "sp_consensus_slotsEquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "sp_sessionMembershipProof" - } - ] - }, - { - "lookup": "0101", - "name": "report_equivocation_unsigned", - "docs": [ - "Report authority equivocation/misbehavior. This method will verify", - "the equivocation proof and validate the given key ownership proof", - "against the extracted offender. If both are valid, the offence will", - "be reported.", - "This extrinsic must be called unsigned and it is expected that only", - "block authors will call it (validated in `ValidateUnsigned`), as such", - "if the block author is defined it will be defined as the equivocation", - "reporter." - ], - "args": [ - { - "name": "equivocation_proof", - "type": "sp_consensus_slotsEquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "sp_sessionMembershipProof" - } - ] - }, - { - "lookup": "0102", - "name": "plan_config_change", - "docs": [ - "Plan an epoch config change. The epoch config change is recorded and will be enacted on", - "the next call to `enact_epoch_change`. The config will be activated one epoch after.", - "Multiple calls to this method will replace any existing planned config change that had", - "not been enacted yet." - ], - "args": [ - { - "name": "config", - "type": "sp_consensus_babedigestsNextConfigDescriptor" - } - ] - } - ], - "calls_value": { - "type": 176 - }, - "constants": [ - { - "name": "EpochDuration", - "type": "U64", - "type_value": 8, - "constants_value": "5802000000000000", - "docs": [ - " The amount of time, in slots, that each epoch should last.", - " NOTE: Currently it is not possible to change the epoch duration after", - " the chain has started. Attempting to do so will brick block production." - ] - }, - { - "name": "ExpectedBlockTime", - "type": "U64", - "type_value": 8, - "constants_value": "7017000000000000", - "docs": [ - " The expected average block time at which BABE should be creating", - " blocks. Since BABE is probabilistic it is not trivial to figure out", - " what the expected average block time should be based on the slot", - " duration and the security parameter `c` (where `1 - c` represents", - " the probability of a slot being empty)." - ] - }, - { - "name": "MaxAuthorities", - "type": "U32", - "type_value": 4, - "constants_value": "a0860100", - "docs": [ - " Max number of authorities allowed" - ] - } - ], - "errors": [ - { - "name": "InvalidEquivocationProof", - "doc": [ - "An equivocation proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "InvalidKeyOwnershipProof", - "doc": [ - "A key ownership proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "DuplicateOffenceReport", - "doc": [ - "A given equivocation report is valid but already previously reported." - ] - } - ], - "errors_value": { - "type": 181 - }, - "index": 1 - }, - { - "name": "Timestamp", - "prefix": "Timestamp", - "storage": [ - { - "name": "Now", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U64", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current time for the current block." - ] - }, - { - "name": "DidUpdate", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Bool", - "PlainTypeValue": 55 - }, - "fallback": "0x00", - "docs": [ - " Did the timestamp get updated in this block?" - ] - } - ], - "calls": [ - { - "lookup": "0200", - "name": "set", - "docs": [ - "Set the current time.", - "", - "This call should be invoked exactly once per block. It will panic at the finalization", - "phase, if this call hasn't been invoked by that time.", - "", - "The timestamp should be greater than the previous one by the amount specified by", - "`MinimumPeriod`.", - "", - "The dispatch origin for this call must be `Inherent`.", - "", - "# ", - "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", - "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", - " `on_finalize`)", - "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", - "# " - ], - "args": [ - { - "name": "now", - "type": "compact" - } - ] - } - ], - "calls_value": { - "type": 182 - }, - "constants": [ - { - "name": "MinimumPeriod", - "type": "U64", - "type_value": 8, - "constants_value": "b80b000000000000", - "docs": [ - " The minimum period between blocks. Beware that this is different to the *expected*", - " period that the block production apparatus provides. Your chosen consensus system will", - " generally work with this to determine a sensible block time. e.g. For Aura, it will be", - " double this period on default settings." - ] - } - ], - "errors": null, - "errors_value": null, - "index": 2 - }, - { - "name": "Indices", - "prefix": "Indices", - "storage": [ - { - "name": "Accounts", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Tuple[U8; 32]U128Bool", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The lookup from index to account." - ] - } - ], - "calls": [ - { - "lookup": "0300", - "name": "claim", - "docs": [ - "Assign an previously unassigned index.", - "", - "Payment: `Deposit` is reserved from the sender account.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `index`: the index to be claimed. This must not be in use.", - "", - "Emits `IndexAssigned` if successful.", - "", - "# ", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- One reserve operation.", - "- One event.", - "-------------------", - "- DB Weight: 1 Read/Write (Accounts)", - "# " - ], - "args": [ - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0301", - "name": "transfer", - "docs": [ - "Assign an index already owned by the sender to another account. The balance reservation", - "is effectively transferred to the new account.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `index`: the index to be re-assigned. This must be owned by the sender.", - "- `new`: the new owner of the index. This function is a no-op if it is equal to sender.", - "", - "Emits `IndexAssigned` if successful.", - "", - "# ", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- One transfer operation.", - "- One event.", - "-------------------", - "- DB Weight:", - " - Reads: Indices Accounts, System Account (recipient)", - " - Writes: Indices Accounts, System Account (recipient)", - "# " - ], - "args": [ - { - "name": "new", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0302", - "name": "free", - "docs": [ - "Free up an index owned by the sender.", - "", - "Payment: Any previous deposit placed for the index is unreserved in the sender account.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must own the index.", - "", - "- `index`: the index to be freed. This must be owned by the sender.", - "", - "Emits `IndexFreed` if successful.", - "", - "# ", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- One reserve operation.", - "- One event.", - "-------------------", - "- DB Weight: 1 Read/Write (Accounts)", - "# " - ], - "args": [ - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0303", - "name": "force_transfer", - "docs": [ - "Force an index to an account. This doesn't require a deposit. If the index is already", - "held, then any deposit is reimbursed to its current owner.", - "", - "The dispatch origin for this call must be _Root_.", - "", - "- `index`: the index to be (re-)assigned.", - "- `new`: the new owner of the index. This function is a no-op if it is equal to sender.", - "- `freeze`: if set to `true`, will freeze the index so it cannot be transferred.", - "", - "Emits `IndexAssigned` if successful.", - "", - "# ", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- Up to one reserve operation.", - "- One event.", - "-------------------", - "- DB Weight:", - " - Reads: Indices Accounts, System Account (original owner)", - " - Writes: Indices Accounts, System Account (original owner)", - "# " - ], - "args": [ - { - "name": "new", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "U32" - }, - { - "name": "freeze", - "type": "Bool" - } - ] - }, - { - "lookup": "0304", - "name": "freeze", - "docs": [ - "Freeze an index so it will always point to the sender account. This consumes the", - "deposit.", - "", - "The dispatch origin for this call must be _Signed_ and the signing account must have a", - "non-frozen account `index`.", - "", - "- `index`: the index to be frozen in place.", - "", - "Emits `IndexFrozen` if successful.", - "", - "# ", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- Up to one slash operation.", - "- One event.", - "-------------------", - "- DB Weight: 1 Read/Write (Accounts)", - "# " - ], - "args": [ - { - "name": "index", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 184 - }, - "events": [ - { - "lookup": "0300", - "name": "IndexAssigned", - "docs": [ - "A account index was assigned. \\[index, who\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0301", - "name": "IndexFreed", - "docs": [ - "A account index has been freed up (unassigned). \\[index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0302", - "name": "IndexFrozen", - "docs": [ - "A account index has been frozen to its current account ID. \\[index, who\\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 28 - }, - "constants": [ - { - "name": "Deposit", - "type": "U128", - "type_value": 6, - "constants_value": "34a1aec6000000000000000000000000", - "docs": [ - " The deposit needed for reserving an index." - ] - } - ], - "errors": [ - { - "name": "NotAssigned", - "doc": [ - "The index was not already assigned." - ] - }, - { - "name": "NotOwner", - "doc": [ - "The index is assigned to another account." - ] - }, - { - "name": "InUse", - "doc": [ - "The index was not available." - ] - }, - { - "name": "NotTransfer", - "doc": [ - "The source and destination accounts are identical." - ] - }, - { - "name": "Permanent", - "doc": [ - "The index is permanent and may not be freed/changed." - ] - } - ], - "errors_value": { - "type": 185 - }, - "index": 3 - }, - { - "name": "Balances", - "prefix": "Balances", - "storage": [ - { - "name": "TotalIssuance", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U128", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The total units issued in the system." - ] - }, - { - "name": "Account", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_balancesAccountData", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The balance of an account.", - "", - " NOTE: This is only used in the case that this pallet is used to store balances." - ] - }, - { - "name": "Locks", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Any liquidity locks on some account balances.", - " NOTE: Should only be accessed when setting, changing and freeing a lock." - ] - }, - { - "name": "Reserves", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Named reserves on some account balances." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "pallet_balancesReleases", - "PlainTypeValue": 193 - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " This is set to v2.0.0 for new networks." - ] - } - ], - "calls": [ - { - "lookup": "0400", - "name": "transfer", - "docs": [ - "Transfer some liquid free balance to another account.", - "", - "`transfer` will set the `FreeBalance` of the sender and receiver.", - "It will decrease the total issuance of the system by the `TransferFee`.", - "If the sender's account is below the existential deposit as a result", - "of the transfer, the account will be reaped.", - "", - "The dispatch origin for this call must be `Signed` by the transactor.", - "", - "# ", - "- Dependent on arguments but not critical, given proper implementations for input config", - " types. See related functions below.", - "- It contains a limited number of reads and writes internally and no complex", - " computation.", - "", - "Related functions:", - "", - " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", - " - Transferring balances to accounts that did not exist before will cause", - " `T::OnNewAccount::on_new_account` to be called.", - " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", - " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", - " that the transfer will not kill the origin account.", - "---------------------------------", - "2d2042617365205765696768743a2037332e363420c2b5732c20776f7273742063617365207363656e6172696f20286163636f756e7420637265617465642c206163636f756e742072656d6f76656429", - "- DB Weight: 1 Read and 1 Write to destination account", - "- Origin account is already in memory, so no DB operations for them.", - "# " - ], - "args": [ - { - "name": "dest", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "value", - "type": "compact" - } - ] - }, - { - "lookup": "0401", - "name": "set_balance", - "docs": [ - "Set the balances of a given account.", - "", - "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", - "also decrease the total issuance of the system (`TotalIssuance`).", - "If the new free or reserved balance is below the existential deposit,", - "it will reset the account nonce (`frame_system::AccountNonce`).", - "", - "The dispatch origin for this call is `root`.", - "", - "# ", - "- Independent of the arguments.", - "- Contains a limited number of reads and writes.", - "---------------------", - "- Base Weight:", - "202020202d204372656174696e673a2032372e353620c2b573", - "202020202d204b696c6c696e673a2033352e313120c2b573", - "- DB Weight: 1 Read, 1 Write to `who`", - "# " - ], - "args": [ - { - "name": "who", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "new_free", - "type": "compact" - }, - { - "name": "new_reserved", - "type": "compact" - } - ] - }, - { - "lookup": "0402", - "name": "force_transfer", - "docs": [ - "Exactly as `transfer`, except the origin must be root and the source account may be", - "specified.", - "# ", - "- Same as transfer, but additional read and write because the source account is not", - " assumed to be in the overlay.", - "# " - ], - "args": [ - { - "name": "source", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "dest", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "value", - "type": "compact" - } - ] - }, - { - "lookup": "0403", - "name": "transfer_keep_alive", - "docs": [ - "Same as the [`transfer`] call, but with a check that the transfer will not kill the", - "origin account.", - "", - "99% of the time you want [`transfer`] instead.", - "", - "[`transfer`]: struct.Pallet.html#method.transfer", - "# ", - "- Cheaper than transfer because account cannot be killed.", - "2d2042617365205765696768743a2035312e3420c2b573", - "- DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)", - "#" - ], - "args": [ - { - "name": "dest", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "value", - "type": "compact" - } - ] - }, - { - "lookup": "0404", - "name": "transfer_all", - "docs": [ - "Transfer the entire transferable balance from the caller account.", - "", - "NOTE: This function only attempts to transfer _transferable_ balances. This means that", - "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", - "transferred by this function. To ensure that this function results in a killed account,", - "you might need to prepare the account by removing any reference counters, storage", - "deposits, etc...", - "", - "The dispatch origin of this call must be Signed.", - "", - "- `dest`: The recipient of the transfer.", - "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", - " of the funds the account has, causing the sender account to be killed (false), or", - " transfer everything except at least the existential deposit, which will guarantee to", - " keep the sender account alive (true). # ", - "- O(1). Just like transfer, but reading the user's transferable balance first.", - " #" - ], - "args": [ - { - "name": "dest", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "keep_alive", - "type": "Bool" - } - ] - }, - { - "lookup": "0405", - "name": "force_unreserve", - "docs": [ - "Unreserve some balance from a user by force.", - "", - "Can only be called by ROOT." - ], - "args": [ - { - "name": "who", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "amount", - "type": "U128" - } - ] - } - ], - "calls_value": { - "type": 194 - }, - "events": [ - { - "lookup": "0400", - "name": "Endowed", - "docs": [ - "An account was created with some free balance. \\[account, free_balance\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0401", - "name": "DustLost", - "docs": [ - "An account was removed whose balance was non-zero but below ExistentialDeposit,", - "resulting in an outright loss. \\[account, balance\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0402", - "name": "Transfer", - "docs": [ - "Transfer succeeded. \\[from, to, value\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0403", - "name": "BalanceSet", - "docs": [ - "A balance was set by root. \\[who, free, reserved\\]" - ], - "args": [ - "[U8; 32]", - "U128", - "U128" - ] - }, - { - "lookup": "0404", - "name": "Deposit", - "docs": [ - "Some amount was deposited (e.g. for transaction fees). \\[who, deposit\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0405", - "name": "Reserved", - "docs": [ - "Some balance was reserved (moved from free to reserved). \\[who, value\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0406", - "name": "Unreserved", - "docs": [ - "Some balance was unreserved (moved from reserved to free). \\[who, value\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0407", - "name": "ReserveRepatriated", - "docs": [ - "Some balance was moved from the reserve of the first account to the second account.", - "Final argument indicates the destination balance type.", - "\\[from, to, balance, destination_status\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128", - "frame_supporttraitstokensmiscBalanceStatus" - ] - } - ], - "events_value": { - "type": 29 - }, - "constants": [ - { - "name": "ExistentialDeposit", - "type": "U128", - "type_value": 6, - "constants_value": "55a0fc01000000000000000000000000", - "docs": [ - " The minimum amount required to keep an account open." - ] - }, - { - "name": "MaxLocks", - "type": "U32", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " The maximum number of locks that should exist on an account.", - " Not strictly enforced, but used for weight estimation." - ] - }, - { - "name": "MaxReserves", - "type": "U32", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " The maximum number of named reserves that can exist on an account." - ] - } - ], - "errors": [ - { - "name": "VestingBalance", - "doc": [ - "Vesting balance too high to send value" - ] - }, - { - "name": "LiquidityRestrictions", - "doc": [ - "Account liquidity restrictions prevent withdrawal" - ] - }, - { - "name": "InsufficientBalance", - "doc": [ - "Balance too low to send value" - ] - }, - { - "name": "ExistentialDeposit", - "doc": [ - "Value too low to create account due to existential deposit" - ] - }, - { - "name": "KeepAlive", - "doc": [ - "Transfer/payment would kill account" - ] - }, - { - "name": "ExistingVestingSchedule", - "doc": [ - "A vesting schedule already exists for this account" - ] - }, - { - "name": "DeadAccount", - "doc": [ - "Beneficiary account must pre-exist" - ] - }, - { - "name": "TooManyReserves", - "doc": [ - "Number of named reserves exceed MaxReserves" - ] - } - ], - "errors_value": { - "type": 197 - }, - "index": 4 - }, - { - "name": "TransactionPayment", - "prefix": "TransactionPayment", - "storage": [ - { - "name": "NextFeeMultiplier", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U128", - "PlainTypeValue": 198 - }, - "fallback": "0x000064a7b3b6e00d0000000000000000", - "docs": null - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "pallet_transaction_paymentReleases", - "PlainTypeValue": 199 - }, - "fallback": "0x00", - "docs": null - } - ], - "constants": [ - { - "name": "TransactionByteFee", - "type": "U128", - "type_value": 6, - "constants_value": "12160500000000000000000000000000", - "docs": [ - " The fee to be paid for making a transaction; the per-byte portion." - ] - }, - { - "name": "OperationalFeeMultiplier", - "type": "U8", - "type_value": 2, - "constants_value": "05", - "docs": [ - " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", - " `priority`", - "", - " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", - " added to a tip component in regular `priority` calculations.", - " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", - " extrinsic (with no tip), by including a tip value greater than the virtual tip.", - "", - " ```rust,ignore", - " // For `Normal`", - " let priority = priority_calc(tip);", - "", - " // For `Operational`", - " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", - " let priority = priority_calc(tip + virtual_tip);", - " ```", - "", - " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", - " sent with the transaction. So, not only does the transaction get a priority bump based", - " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", - " transactions." - ] - }, - { - "name": "WeightToFee", - "type": "Vec", - "type_value": 200, - "constants_value": "0400000000000000000000000000000000a9e696010001", - "docs": [ - " The polynomial that is applied in order to derive fee from weight." - ] - } - ], - "errors": null, - "errors_value": null, - "index": 33 - }, - { - "name": "Authorship", - "prefix": "Authorship", - "storage": [ - { - "name": "Uncles", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 202 - }, - "fallback": "0x00", - "docs": [ - " Uncles" - ] - }, - { - "name": "Author", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " Author of current block." - ] - }, - { - "name": "DidSetUncles", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Bool", - "PlainTypeValue": 55 - }, - "fallback": "0x00", - "docs": [ - " Whether uncles were already set in this block." - ] - } - ], - "calls": [ - { - "lookup": "0500", - "name": "set_uncles", - "docs": [ - "Provide a set of uncles." - ], - "args": [ - { - "name": "new_uncles", - "type": "Vec" - } - ] - } - ], - "calls_value": { - "type": 205 - }, - "constants": [ - { - "name": "UncleGenerations", - "type": "U32", - "type_value": 4, - "constants_value": "00000000", - "docs": [ - " The number of blocks back we should accept uncles.", - " This means that we will deal with uncle-parents that are", - " `UncleGenerations + 1` before `now`." - ] - } - ], - "errors": [ - { - "name": "InvalidUncleParent", - "doc": [ - "The uncle parent not in the chain." - ] - }, - { - "name": "UnclesAlreadySet", - "doc": [ - "Uncles already set in the block." - ] - }, - { - "name": "TooManyUncles", - "doc": [ - "Too many uncles." - ] - }, - { - "name": "GenesisUncle", - "doc": [ - "The uncle is genesis." - ] - }, - { - "name": "TooHighUncle", - "doc": [ - "The uncle is too high in chain." - ] - }, - { - "name": "UncleAlreadyIncluded", - "doc": [ - "The uncle is already included." - ] - }, - { - "name": "OldUncle", - "doc": [ - "The uncle isn't recent enough to be included." - ] - } - ], - "errors_value": { - "type": 207 - }, - "index": 5 - }, - { - "name": "Staking", - "prefix": "Staking", - "storage": [ - { - "name": "HistoryDepth", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x54000000", - "docs": [ - " Number of eras to keep in history.", - "", - " Information is kept for eras in `[current_era - history_depth; current_era]`.", - "", - " Must be more than the number of eras delayed by session otherwise. I.e. active era must", - " always be in history. I.e. `active_era > current_era - history_depth` must be", - " guaranteed." - ] - }, - { - "name": "ValidatorCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The ideal number of staking participants." - ] - }, - { - "name": "MinimumValidatorCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Minimum number of staking participants before emergency conditions are imposed." - ] - }, - { - "name": "Invulnerables", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 50 - }, - "fallback": "0x00", - "docs": [ - " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're", - " easy to initialize and the performance hit is minimal (we expect no more than four", - " invulnerables) and restricted to testnets." - ] - }, - { - "name": "Bonded", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "[U8; 32]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Map from all locked \"stash\" accounts to the controller account." - ] - }, - { - "name": "MinNominatorBond", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U128", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The minimum active bond to become and maintain the role of a nominator." - ] - }, - { - "name": "MinValidatorBond", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U128", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The minimum active bond to become and maintain the role of a validator." - ] - }, - { - "name": "Ledger", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_stakingStakingLedger", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Map from all (unlocked) \"controller\" accounts to the info regarding the staking." - ] - }, - { - "name": "Payee", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_stakingRewardDestination", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Where the reward payment should be made. Keyed by stash." - ] - }, - { - "name": "Validators", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_stakingValidatorPrefs", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000", - "docs": [ - " The map from (wannabe) validator stash key to the preferences of that validator.", - "", - " When updating this storage item, you must also update the `CounterForValidators`." - ] - }, - { - "name": "CounterForValidators", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " A tracker to keep count of the number of items in the `Validators` map." - ] - }, - { - "name": "MaxValidatorsCount", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " The maximum validator count before we stop allowing new validators to join.", - "", - " When this value is not set, no limits are enforced." - ] - }, - { - "name": "Nominators", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_stakingNominations", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The map from nominator stash key to the set of stash keys of all validators to nominate.", - "", - " When updating this storage item, you must also update the `CounterForNominators`." - ] - }, - { - "name": "CounterForNominators", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " A tracker to keep count of the number of items in the `Nominators` map." - ] - }, - { - "name": "MaxNominatorsCount", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " The maximum nominator count before we stop allowing new validators to join.", - "", - " When this value is not set, no limits are enforced." - ] - }, - { - "name": "CurrentEra", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " The current era index.", - "", - " This is the latest planned era, depending on how the Session pallet queues the validator", - " set, it might be active or not." - ] - }, - { - "name": "ActiveEra", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "pallet_stakingActiveEraInfo", - "PlainTypeValue": 216 - }, - "fallback": "0x00", - "docs": [ - " The active era information, it holds index and start.", - "", - " The active era is the era being currently rewarded. Validator set of this era must be", - " equal to [`SessionInterface::validators`]." - ] - }, - { - "name": "ErasStartSessionIndex", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The session index at which the era start for the last `HISTORY_DEPTH` eras.", - "", - " Note: This tracks the starting session (i.e. session index when era start being active)", - " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`." - ] - }, - { - "name": "ErasStakers", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "TupleU32[U8; 32]" - ], - "value": "pallet_stakingExposure", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x000000", - "docs": [ - " Exposure of validator at era.", - "", - " This is keyed first by the era index to allow bulk deletion and then the stash account.", - "", - " Is it removed after `HISTORY_DEPTH` eras.", - " If stakers hasn't been set or has been removed then empty exposure is returned." - ] - }, - { - "name": "ErasStakersClipped", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "TupleU32[U8; 32]" - ], - "value": "pallet_stakingExposure", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x000000", - "docs": [ - " Clipped Exposure of validator at era.", - "", - " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the", - " `T::MaxNominatorRewardedPerValidator` biggest stakers.", - " (Note: the field `total` and `own` of the exposure remains unchanged).", - " This is used to limit the i/o cost for the nominator payout.", - "", - " This is keyed fist by the era index to allow bulk deletion and then the stash account.", - "", - " Is it removed after `HISTORY_DEPTH` eras.", - " If stakers hasn't been set or has been removed then empty exposure is returned." - ] - }, - { - "name": "ErasValidatorPrefs", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "TupleU32[U8; 32]" - ], - "value": "pallet_stakingValidatorPrefs", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000", - "docs": [ - " Similar to `ErasStakers`, this holds the preferences of validators.", - "", - " This is keyed first by the era index to allow bulk deletion and then the stash account.", - "", - " Is it removed after `HISTORY_DEPTH` eras." - ] - }, - { - "name": "ErasValidatorReward", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "U128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The total validator era payout for the last `HISTORY_DEPTH` eras.", - "", - " Eras that haven't finished yet or has been removed doesn't have reward." - ] - }, - { - "name": "ErasRewardPoints", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "pallet_stakingEraRewardPoints", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000", - "docs": [ - " Rewards for the last `HISTORY_DEPTH` eras.", - " If reward hasn't been set or has been removed then 0 reward is returned." - ] - }, - { - "name": "ErasTotalStake", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "U128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The total amount staked for the last `HISTORY_DEPTH` eras.", - " If total hasn't been set or has been removed then 0 stake is returned." - ] - }, - { - "name": "ForceEra", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "pallet_stakingForcing", - "PlainTypeValue": 222 - }, - "fallback": "0x00", - "docs": [ - " Mode of era forcing." - ] - }, - { - "name": "SlashRewardFraction", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 148 - }, - "fallback": "0x00000000", - "docs": [ - " The percentage of the slash that is distributed to reporters.", - "", - " The rest of the slashed value is handled by the `Slash`." - ] - }, - { - "name": "CanceledSlashPayout", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U128", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The amount of currency given to reporters of a slash event which was", - " canceled by extraordinary circumstances (e.g. governance)." - ] - }, - { - "name": "UnappliedSlashes", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " All unapplied slashes that are queued for later." - ] - }, - { - "name": "BondedEras", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 144 - }, - "fallback": "0x00", - "docs": [ - " A mapping from still-bonded eras to the first session index of that era.", - "", - " Must contains information for eras for the range:", - " `[active_era - bounding_duration; active_era]`" - ] - }, - { - "name": "ValidatorSlashInEra", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "TupleU32[U8; 32]" - ], - "value": "TupleU32U128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " All slashing events on validators, mapped by era to the highest slash proportion", - " and slash value of the era." - ] - }, - { - "name": "NominatorSlashInEra", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "TupleU32[U8; 32]" - ], - "value": "U128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " All slashing events on nominators, mapped by era to the highest slash value of the era." - ] - }, - { - "name": "SlashingSpans", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_stakingslashingSlashingSpans", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Slashing spans for stash accounts." - ] - }, - { - "name": "SpanSlash", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "Tuple[U8; 32]U32" - ], - "value": "pallet_stakingslashingSpanRecord", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Records information about the maximum slash of a stash within a slashing span,", - " as well as how much reward has been paid out." - ] - }, - { - "name": "EarliestUnappliedSlash", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " The earliest era for which we have a pending, unapplied slash." - ] - }, - { - "name": "CurrentPlannedSession", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The last planned session scheduled by the session pallet.", - "", - " This is basically in sync with the call to [`pallet_session::SessionManager::new_session`]." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "pallet_stakingReleases", - "PlainTypeValue": 228 - }, - "fallback": "0x07", - "docs": [ - " True if network has been upgraded to this version.", - " Storage version of the pallet.", - "", - " This is set to v7.0.0 for new networks." - ] - }, - { - "name": "ChillThreshold", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U8", - "PlainTypeValue": 229 - }, - "fallback": "0x00", - "docs": [ - " The threshold for when users can start calling `chill_other` for other validators /", - " nominators. The threshold is compared to the actual number of validators / nominators", - " (`CountFor*`) in the system compared to the configured max (`Max*Count`)." - ] - } - ], - "calls": [ - { - "lookup": "0600", - "name": "bond", - "docs": [ - "Take the origin account as a stash and lock up `value` of its balance. `controller` will", - "be the account that controls it.", - "", - "`value` must be more than the `minimum_balance` specified by `T::Currency`.", - "", - "The dispatch origin for this call must be _Signed_ by the stash account.", - "", - "Emits `Bonded`.", - "# ", - "- Independent of the arguments. Moderate complexity.", - "- O(1).", - "- Three extra DB entries.", - "", - "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned", - "unless the `origin` falls below _existential deposit_ and gets removed as dust.", - "------------------", - "# " - ], - "args": [ - { - "name": "controller", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "value", - "type": "compact" - }, - { - "name": "payee", - "type": "pallet_stakingRewardDestination" - } - ] - }, - { - "lookup": "0601", - "name": "bond_extra", - "docs": [ - "Add some extra amount that have appeared in the stash `free_balance` into the balance up", - "for staking.", - "", - "The dispatch origin for this call must be _Signed_ by the stash, not the controller.", - "", - "Use this if there are additional funds in your stash account that you wish to bond.", - "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose", - "any limitation on the amount that can be added.", - "", - "Emits `Bonded`.", - "", - "# ", - "- Independent of the arguments. Insignificant complexity.", - "- O(1).", - "# " - ], - "args": [ - { - "name": "max_additional", - "type": "compact" - } - ] - }, - { - "lookup": "0602", - "name": "unbond", - "docs": [ - "Schedule a portion of the stash to be unlocked ready for transfer out after the bond", - "period ends. If this leaves an amount actively bonded less than", - "T::Currency::minimum_balance(), then it is increased to the full amount.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "Once the unlock period is done, you can call `withdraw_unbonded` to actually move", - "the funds out of management ready for transfer.", - "", - "No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`)", - "can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need", - "to be called first to remove some of the chunks (if possible).", - "", - "If a user encounters the `InsufficientBond` error when calling this extrinsic,", - "they should call `chill` first in order to free up their bonded funds.", - "", - "Emits `Unbonded`.", - "", - "See also [`Call::withdraw_unbonded`]." - ], - "args": [ - { - "name": "value", - "type": "compact" - } - ] - }, - { - "lookup": "0603", - "name": "withdraw_unbonded", - "docs": [ - "Remove any unlocked chunks from the `unlocking` queue from our management.", - "", - "This essentially frees up that balance to be used by the stash account to do", - "whatever it wants.", - "", - "The dispatch origin for this call must be _Signed_ by the controller.", - "", - "Emits `Withdrawn`.", - "", - "See also [`Call::unbond`].", - "", - "# ", - "Complexity O(S) where S is the number of slashing spans to remove", - "NOTE: Weight annotation is the kill scenario, we refund otherwise.", - "# " - ], - "args": [ - { - "name": "num_slashing_spans", - "type": "U32" - } - ] - }, - { - "lookup": "0604", - "name": "validate", - "docs": [ - "Declare the desire to validate for the origin controller.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash." - ], - "args": [ - { - "name": "prefs", - "type": "pallet_stakingValidatorPrefs" - } - ] - }, - { - "lookup": "0605", - "name": "nominate", - "docs": [ - "Declare the desire to nominate `targets` for the origin controller.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "# ", - "- The transaction's complexity is proportional to the size of `targets` (N)", - "which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS).", - "- Both the reads and writes follow a similar pattern.", - "# " - ], - "args": [ - { - "name": "targets", - "type": "Vec" - } - ] - }, - { - "lookup": "0606", - "name": "chill", - "docs": [ - "Declare no desire to either validate or nominate.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "# ", - "- Independent of the arguments. Insignificant complexity.", - "- Contains one read.", - "- Writes are limited to the `origin` account key.", - "# " - ], - "args": null - }, - { - "lookup": "0607", - "name": "set_payee", - "docs": [ - "(Re-)set the payment target for a controller.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "# ", - "- Independent of the arguments. Insignificant complexity.", - "- Contains a limited number of reads.", - "- Writes are limited to the `origin` account key.", - "---------", - "- Weight: O(1)", - "- DB Weight:", - " - Read: Ledger", - " - Write: Payee", - "# " - ], - "args": [ - { - "name": "payee", - "type": "pallet_stakingRewardDestination" - } - ] - }, - { - "lookup": "0608", - "name": "set_controller", - "docs": [ - "(Re-)set the controller of a stash.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the stash, not the controller.", - "", - "# ", - "- Independent of the arguments. Insignificant complexity.", - "- Contains a limited number of reads.", - "- Writes are limited to the `origin` account key.", - "----------", - "Weight: O(1)", - "DB Weight:", - "- Read: Bonded, Ledger New Controller, Ledger Old Controller", - "- Write: Bonded, Ledger New Controller, Ledger Old Controller", - "# " - ], - "args": [ - { - "name": "controller", - "type": "sp_runtimemultiaddressMultiAddress" - } - ] - }, - { - "lookup": "0609", - "name": "set_validator_count", - "docs": [ - "Sets the ideal number of validators.", - "", - "The dispatch origin must be Root.", - "", - "# ", - "Weight: O(1)", - "Write: Validator Count", - "# " - ], - "args": [ - { - "name": "new", - "type": "compact" - } - ] - }, - { - "lookup": "060a", - "name": "increase_validator_count", - "docs": [ - "Increments the ideal number of validators.", - "", - "The dispatch origin must be Root.", - "", - "# ", - "Same as [`Self::set_validator_count`].", - "# " - ], - "args": [ - { - "name": "additional", - "type": "compact" - } - ] - }, - { - "lookup": "060b", - "name": "scale_validator_count", - "docs": [ - "Scale up the ideal number of validators by a factor.", - "", - "The dispatch origin must be Root.", - "", - "# ", - "Same as [`Self::set_validator_count`].", - "# " - ], - "args": [ - { - "name": "factor", - "type": "U8" - } - ] - }, - { - "lookup": "060c", - "name": "force_no_eras", - "docs": [ - "Force there to be no new eras indefinitely.", - "", - "The dispatch origin must be Root.", - "", - "# Warning", - "", - "The election process starts multiple blocks before the end of the era.", - "Thus the election process may be ongoing when this is called. In this case the", - "election will continue until the next era is triggered.", - "", - "# ", - "- No arguments.", - "- Weight: O(1)", - "- Write: ForceEra", - "# " - ], - "args": null - }, - { - "lookup": "060d", - "name": "force_new_era", - "docs": [ - "Force there to be a new era at the end of the next session. After this, it will be", - "reset to normal (non-forced) behaviour.", - "", - "The dispatch origin must be Root.", - "", - "# Warning", - "", - "The election process starts multiple blocks before the end of the era.", - "If this is called just before a new era is triggered, the election process may not", - "have enough blocks to get a result.", - "", - "# ", - "- No arguments.", - "- Weight: O(1)", - "- Write ForceEra", - "# " - ], - "args": null - }, - { - "lookup": "060e", - "name": "set_invulnerables", - "docs": [ - "Set the validators who cannot be slashed (if any).", - "", - "The dispatch origin must be Root.", - "", - "# ", - "- O(V)", - "- Write: Invulnerables", - "# " - ], - "args": [ - { - "name": "invulnerables", - "type": "Vec<[U8; 32]>" - } - ] - }, - { - "lookup": "060f", - "name": "force_unstake", - "docs": [ - "Force a current staker to become completely unstaked, immediately.", - "", - "The dispatch origin must be Root.", - "", - "# ", - "O(S) where S is the number of slashing spans to be removed", - "Reads: Bonded, Slashing Spans, Account, Locks", - "Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators,", - "Account, Locks Writes Each: SpanSlash * S", - "# " - ], - "args": [ - { - "name": "stash", - "type": "[U8; 32]" - }, - { - "name": "num_slashing_spans", - "type": "U32" - } - ] - }, - { - "lookup": "0610", - "name": "force_new_era_always", - "docs": [ - "Force there to be a new era at the end of sessions indefinitely.", - "", - "The dispatch origin must be Root.", - "", - "# Warning", - "", - "The election process starts multiple blocks before the end of the era.", - "If this is called just before a new era is triggered, the election process may not", - "have enough blocks to get a result.", - "", - "# ", - "- Weight: O(1)", - "- Write: ForceEra", - "# " - ], - "args": null - }, - { - "lookup": "0611", - "name": "cancel_deferred_slash", - "docs": [ - "Cancel enactment of a deferred slash.", - "", - "Can be called by the `T::SlashCancelOrigin`.", - "", - "Parameters: era and indices of the slashes for that era to kill.", - "", - "# ", - "Complexity: O(U + S)", - "with U unapplied slashes weighted with U=1000", - "and S is the number of slash indices to be canceled.", - "- Read: Unapplied Slashes", - "- Write: Unapplied Slashes", - "# " - ], - "args": [ - { - "name": "era", - "type": "U32" - }, - { - "name": "slash_indices", - "type": "Vec" - } - ] - }, - { - "lookup": "0612", - "name": "payout_stakers", - "docs": [ - "Pay out all the stakers behind a single validator for a single era.", - "", - "- `validator_stash` is the stash account of the validator. Their nominators, up to", - " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards.", - "- `era` may be any era between `[current_era - history_depth; current_era]`.", - "", - "The origin of this call must be _Signed_. Any account can call this function, even if", - "it is not one of the stakers.", - "", - "# ", - "- Time complexity: at most O(MaxNominatorRewardedPerValidator).", - "- Contains a limited number of reads and writes.", - "-----------", - "N is the Number of payouts for the validator (including the validator)", - "Weight:", - "- Reward Destination Staked: O(N)", - "- Reward Destination Controller (Creating): O(N)", - "", - " NOTE: weights are assuming that payouts are made to alive stash account (Staked).", - " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here.", - "# " - ], - "args": [ - { - "name": "validator_stash", - "type": "[U8; 32]" - }, - { - "name": "era", - "type": "U32" - } - ] - }, - { - "lookup": "0613", - "name": "rebond", - "docs": [ - "Rebond a portion of the stash scheduled to be unlocked.", - "", - "The dispatch origin must be signed by the controller.", - "", - "# ", - "- Time complexity: O(L), where L is unlocking chunks", - "- Bounded by `MAX_UNLOCKING_CHUNKS`.", - "- Storage changes: Can't increase storage, only decrease it.", - "# " - ], - "args": [ - { - "name": "value", - "type": "compact" - } - ] - }, - { - "lookup": "0614", - "name": "set_history_depth", - "docs": [ - "Set `HistoryDepth` value. This function will delete any history information", - "when `HistoryDepth` is reduced.", - "", - "Parameters:", - "- `new_history_depth`: The new history depth you would like to set.", - "- `era_items_deleted`: The number of items that will be deleted by this dispatch. This", - " should report all the storage items that will be deleted by clearing old era history.", - " Needed to report an accurate weight for the dispatch. Trusted by `Root` to report an", - " accurate number.", - "", - "Origin must be root.", - "", - "# ", - "- E: Number of history depths removed, i.e. 10 -> 7 = 3", - "- Weight: O(E)", - "- DB Weight:", - " - Reads: Current Era, History Depth", - " - Writes: History Depth", - " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs", - " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake,", - " ErasStartSessionIndex", - "# " - ], - "args": [ - { - "name": "new_history_depth", - "type": "compact" - }, - { - "name": "era_items_deleted", - "type": "compact" - } - ] - }, - { - "lookup": "0615", - "name": "reap_stash", - "docs": [ - "Remove all data structure concerning a staker/stash once its balance is at the minimum.", - "This is essentially equivalent to `withdraw_unbonded` except it can be called by anyone", - "and the target `stash` must have no funds left beyond the ED.", - "", - "This can be called from any origin.", - "", - "- `stash`: The stash account to reap. Its balance must be zero.", - "", - "# ", - "Complexity: O(S) where S is the number of slashing spans on the account.", - "DB Weight:", - "- Reads: Stash Account, Bonded, Slashing Spans, Locks", - "- Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators,", - " Stash Account, Locks", - "- Writes Each: SpanSlash * S", - "# " - ], - "args": [ - { - "name": "stash", - "type": "[U8; 32]" - }, - { - "name": "num_slashing_spans", - "type": "U32" - } - ] - }, - { - "lookup": "0616", - "name": "kick", - "docs": [ - "Remove the given nominations from the calling validator.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "- `who`: A list of nominator stash accounts who are nominating this validator which", - " should no longer be nominating this validator.", - "", - "Note: Making this call only makes sense if you first set the validator preferences to", - "block any further nominations." - ], - "args": [ - { - "name": "who", - "type": "Vec" - } - ] - }, - { - "lookup": "0617", - "name": "set_staking_limits", - "docs": [ - "Update the various staking limits this pallet.", - "", - "* `min_nominator_bond`: The minimum active bond needed to be a nominator.", - "* `min_validator_bond`: The minimum active bond needed to be a validator.", - "* `max_nominator_count`: The max number of users who can be a nominator at once. When", - " set to `None`, no limit is enforced.", - "* `max_validator_count`: The max number of users who can be a validator at once. When", - " set to `None`, no limit is enforced.", - "", - "Origin must be Root to call this function.", - "", - "NOTE: Existing nominators and validators will not be affected by this update.", - "to kick people under the new limits, `chill_other` should be called." - ], - "args": [ - { - "name": "min_nominator_bond", - "type": "U128" - }, - { - "name": "min_validator_bond", - "type": "U128" - }, - { - "name": "max_nominator_count", - "type": "option" - }, - { - "name": "max_validator_count", - "type": "option" - }, - { - "name": "threshold", - "type": "option" - } - ] - }, - { - "lookup": "0618", - "name": "chill_other", - "docs": [ - "Declare a `controller` to stop participating as either a validator or nominator.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_, but can be called by anyone.", - "", - "If the caller is the same as the controller being targeted, then no further checks are", - "enforced, and this function behaves just like `chill`.", - "", - "If the caller is different than the controller being targeted, the following conditions", - "must be met:", - "* A `ChillThreshold` must be set and checked which defines how close to the max", - " nominators or validators we must reach before users can start chilling one-another.", - "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine", - " how close we are to the threshold.", - "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines", - " if this is a person that should be chilled because they have not met the threshold", - " bond required.", - "", - "This can be helpful if bond requirements are updated, and we need to remove old users", - "who do not satisfy these requirements." - ], - "args": [ - { - "name": "controller", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 230 - }, - "events": [ - { - "lookup": "0600", - "name": "EraPaid", - "docs": [ - "The era payout has been set; the first balance is the validator-payout; the second is", - "the remainder from the maximum amount of reward.", - "\\[era_index, validator_payout, remainder\\]" - ], - "args": [ - "U32", - "U128", - "U128" - ] - }, - { - "lookup": "0601", - "name": "Rewarded", - "docs": [ - "The nominator has been rewarded by this amount. \\[stash, amount\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0602", - "name": "Slashed", - "docs": [ - "One validator (and its nominators) has been slashed by the given amount.", - "\\[validator, amount\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0603", - "name": "OldSlashingReportDiscarded", - "docs": [ - "An old slashing report from a prior era was discarded because it could", - "not be processed. \\[session_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0604", - "name": "StakersElected", - "docs": [ - "A new set of stakers was elected." - ], - "args": null - }, - { - "lookup": "0605", - "name": "Bonded", - "docs": [ - "An account has bonded this amount. \\[stash, amount\\]", - "", - "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,", - "it will not be emitted for staking rewards when they are added to stake." - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0606", - "name": "Unbonded", - "docs": [ - "An account has unbonded this amount. \\[stash, amount\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0607", - "name": "Withdrawn", - "docs": [ - "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`", - "from the unlocking queue. \\[stash, amount\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0608", - "name": "Kicked", - "docs": [ - "A nominator has been kicked from a validator. \\[nominator, stash\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "0609", - "name": "StakingElectionFailed", - "docs": [ - "The election failed. No new era is planned." - ], - "args": null - }, - { - "lookup": "060a", - "name": "Chilled", - "docs": [ - "An account has stopped participating as either a validator or nominator.", - "\\[stash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "060b", - "name": "PayoutStarted", - "docs": [ - "The stakers' rewards are getting paid. \\[era_index, validator_stash\\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 31 - }, - "constants": [ - { - "name": "SessionsPerEra", - "type": "U32", - "type_value": 4, - "constants_value": "06000000", - "docs": [ - " Number of sessions per era." - ] - }, - { - "name": "BondingDuration", - "type": "U32", - "type_value": 4, - "constants_value": "1c000000", - "docs": [ - " Number of eras that staked funds must remain bonded for." - ] - }, - { - "name": "SlashDeferDuration", - "type": "U32", - "type_value": 4, - "constants_value": "1b000000", - "docs": [ - " Number of eras that slashes are deferred by, after computation.", - "", - " This should be less than the bonding duration. Set to 0 if slashes", - " should be applied immediately, without opportunity for intervention." - ] - }, - { - "name": "MaxNominatorRewardedPerValidator", - "type": "U32", - "type_value": 4, - "constants_value": "00010000", - "docs": [ - " The maximum number of nominators rewarded for each validator.", - "", - " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can", - " claim their reward. This used to limit the i/o cost for the nominator payout." - ] - }, - { - "name": "MaxNominations", - "type": "U32", - "type_value": 4, - "constants_value": "18000000", - "docs": null - } - ], - "errors": [ - { - "name": "NotController", - "doc": [ - "Not a controller account." - ] - }, - { - "name": "NotStash", - "doc": [ - "Not a stash account." - ] - }, - { - "name": "AlreadyBonded", - "doc": [ - "Stash is already bonded." - ] - }, - { - "name": "AlreadyPaired", - "doc": [ - "Controller is already paired." - ] - }, - { - "name": "EmptyTargets", - "doc": [ - "Targets cannot be empty." - ] - }, - { - "name": "DuplicateIndex", - "doc": [ - "Duplicate index." - ] - }, - { - "name": "InvalidSlashIndex", - "doc": [ - "Slash record index out of bounds." - ] - }, - { - "name": "InsufficientBond", - "doc": [ - "Can not bond with value less than minimum required." - ] - }, - { - "name": "NoMoreChunks", - "doc": [ - "Can not schedule more unlock chunks." - ] - }, - { - "name": "NoUnlockChunk", - "doc": [ - "Can not rebond without unlocking chunks." - ] - }, - { - "name": "FundedTarget", - "doc": [ - "Attempting to target a stash that still has funds." - ] - }, - { - "name": "InvalidEraToReward", - "doc": [ - "Invalid era to reward." - ] - }, - { - "name": "InvalidNumberOfNominations", - "doc": [ - "Invalid number of nominations." - ] - }, - { - "name": "NotSortedAndUnique", - "doc": [ - "Items are not sorted and unique." - ] - }, - { - "name": "AlreadyClaimed", - "doc": [ - "Rewards for this era have already been claimed for this validator." - ] - }, - { - "name": "IncorrectHistoryDepth", - "doc": [ - "Incorrect previous history depth input provided." - ] - }, - { - "name": "IncorrectSlashingSpans", - "doc": [ - "Incorrect number of slashing spans provided." - ] - }, - { - "name": "BadState", - "doc": [ - "Internal state has become somehow corrupted and the operation cannot continue." - ] - }, - { - "name": "TooManyTargets", - "doc": [ - "Too many nomination targets supplied." - ] - }, - { - "name": "BadTarget", - "doc": [ - "A nomination target was supplied that was blocked or otherwise not a validator." - ] - }, - { - "name": "CannotChillOther", - "doc": [ - "The user has enough bond and thus cannot be chilled forcefully by an external person." - ] - }, - { - "name": "TooManyNominators", - "doc": [ - "There are too many nominators in the system. Governance needs to adjust the staking", - "settings to keep things safe for the runtime." - ] - }, - { - "name": "TooManyValidators", - "doc": [ - "There are too many validators in the system. Governance needs to adjust the staking", - "settings to keep things safe for the runtime." - ] - } - ], - "errors_value": { - "type": 234 - }, - "index": 6 - }, - { - "name": "Offences", - "prefix": "Offences", - "storage": [ - { - "name": "Reports", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "sp_stakingoffenceOffenceDetails", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The primary structure that holds all offence records keyed by report identifiers." - ] - }, - { - "name": "ConcurrentReportsIndex", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "Tuple[U8; 16]Vec" - ], - "value": "Vec<[U8; 32]>", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " A vector of reports of the same kind that happened at the same time slot." - ] - }, - { - "name": "ReportsByKindIndex", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 16]" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Enumerates all reports of a kind along with the time they happened.", - "", - " All reports are sorted by the time of offence.", - "", - " Note that the actual type of this mapping is `Vec`, this is because values of", - " different types are not supported at the moment so we are doing the manual serialization." - ] - } - ], - "events": [ - { - "lookup": "0700", - "name": "Offence", - "docs": [ - "There is an offence reported of the given `kind` happened at the `session_index` and", - "(kind-specific) time slot. This event is not deposited for duplicate slashes.", - "\\[kind, timeslot\\]." - ], - "args": [ - "[U8; 16]", - "Vec" - ] - } - ], - "events_value": { - "type": 32 - }, - "errors": null, - "errors_value": null, - "index": 7 - }, - { - "name": "Historical", - "prefix": "", - "storage": null, - "errors": null, - "errors_value": null, - "index": 34 - }, - { - "name": "Session", - "prefix": "Session", - "storage": [ - { - "name": "Validators", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 50 - }, - "fallback": "0x00", - "docs": [ - " The current set of validators." - ] - }, - { - "name": "CurrentIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Current index of the session." - ] - }, - { - "name": "QueuedChanged", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Bool", - "PlainTypeValue": 55 - }, - "fallback": "0x00", - "docs": [ - " True if the underlying economic identities or weighting behind the validators", - " has changed in the queued validator set." - ] - }, - { - "name": "QueuedKeys", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 237 - }, - "fallback": "0x00", - "docs": [ - " The queued keys for the next session. When the next session begins, these keys", - " will be used to determine the validator's session keys." - ] - }, - { - "name": "DisabledValidators", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 211 - }, - "fallback": "0x00", - "docs": [ - " Indices of disabled validators.", - "", - " The set is cleared when `on_session_ending` returns a new set of identities." - ] - }, - { - "name": "NextKeys", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "kusama_runtimeSessionKeys", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The next session keys for a validator." - ] - }, - { - "name": "KeyOwner", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "Tuple[U8; 4]Vec" - ], - "value": "[U8; 32]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The owner of a key. The key is the `KeyTypeId` + the encoded key." - ] - } - ], - "calls": [ - { - "lookup": "0800", - "name": "set_keys", - "docs": [ - "Sets the session key(s) of the function caller to `keys`.", - "Allows an account to set its session key prior to becoming a validator.", - "This doesn't take effect until the next session.", - "", - "The dispatch origin of this function must be signed.", - "", - "# ", - "- Complexity: `O(1)`. Actual cost depends on the number of length of", - " `T::Keys::key_ids()` which is fixed.", - "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", - "- DbWrites: `origin account`, `NextKeys`", - "- DbReads per key id: `KeyOwner`", - "- DbWrites per key id: `KeyOwner`", - "# " - ], - "args": [ - { - "name": "keys", - "type": "kusama_runtimeSessionKeys" - }, - { - "name": "proof", - "type": "Vec" - } - ] - }, - { - "lookup": "0801", - "name": "purge_keys", - "docs": [ - "Removes any session key(s) of the function caller.", - "This doesn't take effect until the next session.", - "", - "The dispatch origin of this function must be signed.", - "", - "# ", - "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", - " of `T::Keys::key_ids()` which is fixed.", - "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", - "- DbWrites: `NextKeys`, `origin account`", - "- DbWrites per key id: `KeyOwner`", - "# " - ], - "args": null - } - ], - "calls_value": { - "type": 245 - }, - "events": [ - { - "lookup": "0800", - "name": "NewSession", - "docs": [ - "New session has happened. Note that the argument is the \\[session_index\\], not the", - "block number as the type might suggest." - ], - "args": [ - "U32" - ] - } - ], - "events_value": { - "type": 34 - }, - "errors": [ - { - "name": "InvalidProof", - "doc": [ - "Invalid ownership proof." - ] - }, - { - "name": "NoAssociatedValidatorId", - "doc": [ - "No associated validator ID for account." - ] - }, - { - "name": "DuplicatedKey", - "doc": [ - "Registered duplicate key." - ] - }, - { - "name": "NoKeys", - "doc": [ - "No keys are associated with this account." - ] - }, - { - "name": "NoAccount", - "doc": [ - "Key setting account is not live, so it's impossible to associate keys." - ] - } - ], - "errors_value": { - "type": 246 - }, - "index": 8 - }, - { - "name": "Grandpa", - "prefix": "Grandpa", - "storage": [ - { - "name": "State", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "pallet_grandpaStoredState", - "PlainTypeValue": 247 - }, - "fallback": "0x00", - "docs": [ - " State of the current authority set." - ] - }, - { - "name": "PendingChange", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "pallet_grandpaStoredPendingChange", - "PlainTypeValue": 248 - }, - "fallback": "0x00", - "docs": [ - " Pending change: (signaled at, scheduled change)." - ] - }, - { - "name": "NextForced", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " next block number where we can force a change." - ] - }, - { - "name": "Stalled", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "TupleU32U32", - "PlainTypeValue": 71 - }, - "fallback": "0x00", - "docs": [ - " `true` if we are currently stalled." - ] - }, - { - "name": "CurrentSetId", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U64", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " The number of changes (both in terms of keys and underlying economic responsibilities)", - " in the \"set\" of Grandpa validators from genesis." - ] - }, - { - "name": "SetIdSession", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U64" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " A mapping from grandpa set ID to the index of the *most recent* session for which its", - " members were responsible.", - "", - " TWOX-NOTE: `SetId` is not under user control." - ] - } - ], - "calls": [ - { - "lookup": "0a00", - "name": "report_equivocation", - "docs": [ - "Report voter equivocation/misbehavior. This method will verify the", - "equivocation proof and validate the given key ownership proof", - "against the extracted offender. If both are valid, the offence", - "will be reported." - ], - "args": [ - { - "name": "equivocation_proof", - "type": "sp_finality_grandpaEquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "sp_sessionMembershipProof" - } - ] - }, - { - "lookup": "0a01", - "name": "report_equivocation_unsigned", - "docs": [ - "Report voter equivocation/misbehavior. This method will verify the", - "equivocation proof and validate the given key ownership proof", - "against the extracted offender. If both are valid, the offence", - "will be reported.", - "", - "This extrinsic must be called unsigned and it is expected that only", - "block authors will call it (validated in `ValidateUnsigned`), as such", - "if the block author is defined it will be defined as the equivocation", - "reporter." - ], - "args": [ - { - "name": "equivocation_proof", - "type": "sp_finality_grandpaEquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "sp_sessionMembershipProof" - } - ] - }, - { - "lookup": "0a02", - "name": "note_stalled", - "docs": [ - "Note that the current authority set of the GRANDPA finality gadget has", - "stalled. This will trigger a forced authority set change at the beginning", - "of the next session, to be enacted `delay` blocks after that. The delay", - "should be high enough to safely assume that the block signalling the", - "forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters", - "will start the new authority set using the given finalized block as base.", - "Only callable by root." - ], - "args": [ - { - "name": "delay", - "type": "U32" - }, - { - "name": "best_finalized_block_number", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 250 - }, - "events": [ - { - "lookup": "0a00", - "name": "NewAuthorities", - "docs": [ - "New authority set has been applied. \\[authority_set\\]" - ], - "args": [ - "Vec" - ] - }, - { - "lookup": "0a01", - "name": "Paused", - "docs": [ - "Current authority set has been paused." - ], - "args": null - }, - { - "lookup": "0a02", - "name": "Resumed", - "docs": [ - "Current authority set has been resumed." - ], - "args": null - } - ], - "events_value": { - "type": 35 - }, - "constants": [ - { - "name": "MaxAuthorities", - "type": "U32", - "type_value": 4, - "constants_value": "a0860100", - "docs": [ - " Max Authorities in use" - ] - } - ], - "errors": [ - { - "name": "PauseFailed", - "doc": [ - "Attempt to signal GRANDPA pause when the authority set isn't live", - "(either paused or already pending pause)." - ] - }, - { - "name": "ResumeFailed", - "doc": [ - "Attempt to signal GRANDPA resume when the authority set isn't paused", - "(either live or already pending resume)." - ] - }, - { - "name": "ChangePending", - "doc": [ - "Attempt to signal GRANDPA change with one already pending." - ] - }, - { - "name": "TooSoon", - "doc": [ - "Cannot signal forced change so soon after last." - ] - }, - { - "name": "InvalidKeyOwnershipProof", - "doc": [ - "A key ownership proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "InvalidEquivocationProof", - "doc": [ - "An equivocation proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "DuplicateOffenceReport", - "doc": [ - "A given equivocation report is valid but already previously reported." - ] - } - ], - "errors_value": { - "type": 261 - }, - "index": 10 - }, - { - "name": "ImOnline", - "prefix": "ImOnline", - "storage": [ - { - "name": "HeartbeatAfter", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The block number after which it's ok to send heartbeats in the current", - " session.", - "", - " At the beginning of each session we set this to a value that should fall", - " roughly in the middle of the session duration. The idea is to first wait for", - " the validators to produce a block in the current session, so that the", - " heartbeat later on will not be necessary.", - "", - " This value will only be used as a fallback if we fail to get a proper session", - " progress estimate from `NextSessionRotation`, as those estimates should be", - " more accurate then the value we calculate for `HeartbeatAfter`." - ] - }, - { - "name": "Keys", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 262 - }, - "fallback": "0x00", - "docs": [ - " The current set of keys that may issue a heartbeat." - ] - }, - { - "name": "ReceivedHeartbeats", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "TupleU32U32" - ], - "value": "frame_supporttraitsmiscWrapperOpaque", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " For each session index, we keep a mapping of 'SessionIndex` and `AuthIndex` to", - " `WrapperOpaque`." - ] - }, - { - "name": "AuthoredBlocks", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "TupleU32[U8; 32]" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00000000", - "docs": [ - " For each session index, we keep a mapping of `ValidatorId` to the", - " number of blocks authored by the given authority." - ] - } - ], - "calls": [ - { - "lookup": "0b00", - "name": "heartbeat", - "docs": [ - "# ", - "- Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is", - " length of `heartbeat.network_state.external_address`", - " - `O(K)`: decoding of length `K`", - " - `O(E)`: decoding/encoding of length `E`", - "- DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,", - " `ReceivedHeartbeats`", - "- DbWrites: `ReceivedHeartbeats`", - "# " - ], - "args": [ - { - "name": "heartbeat", - "type": "pallet_im_onlineHeartbeat" - }, - { - "name": "signature", - "type": "[U8; 64]" - } - ] - } - ], - "calls_value": { - "type": 269 - }, - "events": [ - { - "lookup": "0b00", - "name": "HeartbeatReceived", - "docs": [ - "A new heartbeat was received from `AuthorityId` \\[authority_id\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0b01", - "name": "AllGood", - "docs": [ - "At the end of the session, no offence was committed." - ], - "args": null - }, - { - "lookup": "0b02", - "name": "SomeOffline", - "docs": [ - "At the end of the session, at least one validator was found to be \\[offline\\]." - ], - "args": [ - "Vec" - ] - } - ], - "events_value": { - "type": 40 - }, - "constants": [ - { - "name": "UnsignedPriority", - "type": "U64", - "type_value": 8, - "constants_value": "ffffffffffffffff", - "docs": [ - " A configuration for base priority of unsigned transactions.", - "", - " This is exposed so that it can be tuned for particular runtime, when", - " multiple pallets send unsigned transactions." - ] - } - ], - "errors": [ - { - "name": "InvalidKey", - "doc": [ - "Non existent public key." - ] - }, - { - "name": "DuplicatedHeartbeat", - "doc": [ - "Duplicated heartbeat." - ] - } - ], - "errors_value": { - "type": 276 - }, - "index": 11 - }, - { - "name": "AuthorityDiscovery", - "prefix": "", - "storage": null, - "errors": null, - "errors_value": null, - "index": 12 - }, - { - "name": "Democracy", - "prefix": "Democracy", - "storage": [ - { - "name": "PublicPropCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The number of (public) proposals that have been made so far." - ] - }, - { - "name": "PublicProps", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 277 - }, - "fallback": "0x00", - "docs": [ - " The public proposals. Unsorted. The second item is the proposal's hash." - ] - }, - { - "name": "DepositOf", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "TupleVec<[U8; 32]>U128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Those who have locked a deposit.", - "", - " TWOX-NOTE: Safe, as increasing integer keys are safe." - ] - }, - { - "name": "Preimages", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_democracyPreimageStatus", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Map of hashes to the proposal preimage, along with who registered it and their deposit.", - " The block number is the block at which it was deposited." - ] - }, - { - "name": "ReferendumCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The next free referendum index, aka the number of referenda started so far." - ] - }, - { - "name": "LowestUnbaked", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The lowest referendum index representing an unbaked referendum. Equal to", - " `ReferendumCount` if there isn't a unbaked referendum." - ] - }, - { - "name": "ReferendumInfoOf", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "pallet_democracytypesReferendumInfo", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Information concerning any given referendum.", - "", - "2054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e" - ] - }, - { - "name": "VotingOf", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_democracyvoteVoting", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " All votes for a particular voter. We store the balance for the number of votes that we", - " have recorded. The second item is the total amount of delegations, that will be added.", - "", - " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway." - ] - }, - { - "name": "Locks", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Accounts for which there are locks in action which may be removed at some point in the", - " future. The value is the block number at which the lock expires and may be removed.", - "", - "2054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e" - ] - }, - { - "name": "LastTabledWasExternal", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Bool", - "PlainTypeValue": 55 - }, - "fallback": "0x00", - "docs": [ - " True if the last referendum tabled was submitted externally. False if it was a public", - " proposal." - ] - }, - { - "name": "NextExternal", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "Tuple[U8; 32]pallet_democracyvote_thresholdVoteThreshold", - "PlainTypeValue": 292 - }, - "fallback": "0x00", - "docs": [ - " The referendum to be tabled whenever it would be valid to table an external proposal.", - " This happens when a referendum needs to be tabled and one of two conditions are met:", - " - `LastTabledWasExternal` is `false`; or", - " - `PublicProps` is empty." - ] - }, - { - "name": "Blacklist", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "TupleU32Vec<[U8; 32]>", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " A record of who vetoed what. Maps proposal hash to a possible existent block number", - " (until when it may not be resubmitted) and who vetoed it." - ] - }, - { - "name": "Cancellations", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Bool", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Record of all proposals that have been subject to emergency cancellation." - ] - }, - { - "name": "StorageVersion", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "pallet_democracyReleases", - "PlainTypeValue": 294 - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " New networks start with last version." - ] - } - ], - "calls": [ - { - "lookup": "0d00", - "name": "propose", - "docs": [ - "Propose a sensitive action to be taken.", - "", - "The dispatch origin of this call must be _Signed_ and the sender must", - "have funds to cover the deposit.", - "", - "- `proposal_hash`: The hash of the proposal preimage.", - "- `value`: The amount of deposit (must be at least `MinimumDeposit`).", - "", - "Emits `Proposed`.", - "", - "Weight: `O(p)`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "value", - "type": "compact" - } - ] - }, - { - "lookup": "0d01", - "name": "second", - "docs": [ - "Signals agreement with a particular proposal.", - "", - "The dispatch origin of this call must be _Signed_ and the sender", - "must have funds to cover the deposit, equal to the original deposit.", - "", - "- `proposal`: The index of the proposal to second.", - "- `seconds_upper_bound`: an upper bound on the current number of seconds on this", - " proposal. Extrinsic is weighted according to this value with no refund.", - "", - "Weight: `O(S)` where S is the number of seconds a proposal already has." - ], - "args": [ - { - "name": "proposal", - "type": "compact" - }, - { - "name": "seconds_upper_bound", - "type": "compact" - } - ] - }, - { - "lookup": "0d02", - "name": "vote", - "docs": [ - "Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;", - "otherwise it is a vote to keep the status quo.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `ref_index`: The index of the referendum to vote for.", - "- `vote`: The vote configuration.", - "", - "Weight: `O(R)` where R is the number of referendums the voter has voted on." - ], - "args": [ - { - "name": "ref_index", - "type": "compact" - }, - { - "name": "vote", - "type": "pallet_democracyvoteAccountVote" - } - ] - }, - { - "lookup": "0d03", - "name": "emergency_cancel", - "docs": [ - "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same", - "referendum.", - "", - "The dispatch origin of this call must be `CancellationOrigin`.", - "", - "-`ref_index`: The index of the referendum to cancel.", - "", - "Weight: `O(1)`." - ], - "args": [ - { - "name": "ref_index", - "type": "U32" - } - ] - }, - { - "lookup": "0d04", - "name": "external_propose", - "docs": [ - "Schedule a referendum to be tabled once it is legal to schedule an external", - "referendum.", - "", - "The dispatch origin of this call must be `ExternalOrigin`.", - "", - "- `proposal_hash`: The preimage hash of the proposal.", - "", - "Weight: `O(V)` with V number of vetoers in the blacklist of proposal.", - " Decoding vec of length V. Charged as maximum" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0d05", - "name": "external_propose_majority", - "docs": [ - "Schedule a majority-carries referendum to be tabled next once it is legal to schedule", - "an external referendum.", - "", - "The dispatch of this call must be `ExternalMajorityOrigin`.", - "", - "- `proposal_hash`: The preimage hash of the proposal.", - "", - "Unlike `external_propose`, blacklisting has no effect on this and it may replace a", - "pre-scheduled `external_propose` call.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0d06", - "name": "external_propose_default", - "docs": [ - "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to", - "schedule an external referendum.", - "", - "The dispatch of this call must be `ExternalDefaultOrigin`.", - "", - "- `proposal_hash`: The preimage hash of the proposal.", - "", - "Unlike `external_propose`, blacklisting has no effect on this and it may replace a", - "pre-scheduled `external_propose` call.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0d07", - "name": "fast_track", - "docs": [ - "Schedule the currently externally-proposed majority-carries referendum to be tabled", - "immediately. If there is no externally-proposed referendum currently, or if there is one", - "but it is not a majority-carries referendum then it fails.", - "", - "The dispatch of this call must be `FastTrackOrigin`.", - "", - "- `proposal_hash`: The hash of the current external proposal.", - "- `voting_period`: The period that is allowed for voting on this proposal. Increased to", - " `FastTrackVotingPeriod` if too low.", - "- `delay`: The number of block after voting has ended in approval and this should be", - " enacted. This doesn't have a minimum amount.", - "", - "Emits `Started`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "voting_period", - "type": "U32" - }, - { - "name": "delay", - "type": "U32" - } - ] - }, - { - "lookup": "0d08", - "name": "veto_external", - "docs": [ - "Veto and blacklist the external proposal hash.", - "", - "The dispatch origin of this call must be `VetoOrigin`.", - "", - "- `proposal_hash`: The preimage hash of the proposal to veto and blacklist.", - "", - "Emits `Vetoed`.", - "", - "Weight: `O(V + log(V))` where V is number of `existing vetoers`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0d09", - "name": "cancel_referendum", - "docs": [ - "Remove a referendum.", - "", - "The dispatch origin of this call must be _Root_.", - "", - "- `ref_index`: The index of the referendum to cancel.", - "", - "# Weight: `O(1)`." - ], - "args": [ - { - "name": "ref_index", - "type": "compact" - } - ] - }, - { - "lookup": "0d0a", - "name": "cancel_queued", - "docs": [ - "Cancel a proposal queued for enactment.", - "", - "The dispatch origin of this call must be _Root_.", - "", - "- `which`: The index of the referendum to cancel.", - "", - "Weight: `O(D)` where `D` is the items in the dispatch queue. Weighted as `D = 10`." - ], - "args": [ - { - "name": "which", - "type": "U32" - } - ] - }, - { - "lookup": "0d0b", - "name": "delegate", - "docs": [ - "Delegate the voting power (with some given conviction) of the sending account.", - "", - "The balance delegated is locked for as long as it's delegated, and thereafter for the", - "time appropriate for the conviction's lock period.", - "", - "The dispatch origin of this call must be _Signed_, and the signing account must either:", - " - be delegating already; or", - " - have no voting activity (if there is, then it will need to be removed/consolidated", - " through `reap_vote` or `unvote`).", - "", - "- `to`: The account whose voting the `target` account's voting power will follow.", - "- `conviction`: The conviction that will be attached to the delegated votes. When the", - " account is undelegated, the funds will be locked for the corresponding period.", - "- `balance`: The amount of the account's balance to be used in delegating. This must not", - " be more than the account's current balance.", - "", - "Emits `Delegated`.", - "", - "Weight: `O(R)` where R is the number of referendums the voter delegating to has", - " voted on. Weight is charged as if maximum votes." - ], - "args": [ - { - "name": "to", - "type": "[U8; 32]" - }, - { - "name": "conviction", - "type": "pallet_democracyconvictionConviction" - }, - { - "name": "balance", - "type": "U128" - } - ] - }, - { - "lookup": "0d0c", - "name": "undelegate", - "docs": [ - "Undelegate the voting power of the sending account.", - "", - "Tokens may be unlocked following once an amount of time consistent with the lock period", - "of the conviction with which the delegation was issued.", - "", - "The dispatch origin of this call must be _Signed_ and the signing account must be", - "currently delegating.", - "", - "Emits `Undelegated`.", - "", - "Weight: `O(R)` where R is the number of referendums the voter delegating to has", - " voted on. Weight is charged as if maximum votes." - ], - "args": null - }, - { - "lookup": "0d0d", - "name": "clear_public_proposals", - "docs": [ - "Clears all public proposals.", - "", - "The dispatch origin of this call must be _Root_.", - "", - "Weight: `O(1)`." - ], - "args": null - }, - { - "lookup": "0d0e", - "name": "note_preimage", - "docs": [ - "Register the preimage for an upcoming proposal. This doesn't require the proposal to be", - "in the dispatch queue but does require a deposit, returned once enacted.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `encoded_proposal`: The preimage of a proposal.", - "", - "Emits `PreimageNoted`.", - "", - "Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)." - ], - "args": [ - { - "name": "encoded_proposal", - "type": "Vec" - } - ] - }, - { - "lookup": "0d0f", - "name": "note_preimage_operational", - "docs": [ - "Same as `note_preimage` but origin is `OperationalPreimageOrigin`." - ], - "args": [ - { - "name": "encoded_proposal", - "type": "Vec" - } - ] - }, - { - "lookup": "0d10", - "name": "note_imminent_preimage", - "docs": [ - "Register the preimage for an upcoming proposal. This requires the proposal to be", - "in the dispatch queue. No deposit is needed. When this call is successful, i.e.", - "the preimage has not been uploaded before and matches some imminent proposal,", - "no fee is paid.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `encoded_proposal`: The preimage of a proposal.", - "", - "Emits `PreimageNoted`.", - "", - "Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)." - ], - "args": [ - { - "name": "encoded_proposal", - "type": "Vec" - } - ] - }, - { - "lookup": "0d11", - "name": "note_imminent_preimage_operational", - "docs": [ - "Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`." - ], - "args": [ - { - "name": "encoded_proposal", - "type": "Vec" - } - ] - }, - { - "lookup": "0d12", - "name": "reap_preimage", - "docs": [ - "Remove an expired proposal preimage and collect the deposit.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `proposal_hash`: The preimage hash of a proposal.", - "- `proposal_length_upper_bound`: an upper bound on length of the proposal. Extrinsic is", - " weighted according to this value with no refund.", - "", - "This will only work after `VotingPeriod` blocks from the time that the preimage was", - "noted, if it's the same account doing it. If it's a different account, then it'll only", - "work an additional `EnactmentPeriod` later.", - "", - "Emits `PreimageReaped`.", - "", - "Weight: `O(D)` where D is length of proposal." - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "proposal_len_upper_bound", - "type": "compact" - } - ] - }, - { - "lookup": "0d13", - "name": "unlock", - "docs": [ - "Unlock tokens that have an expired lock.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `target`: The account to remove the lock on.", - "", - "Weight: `O(R)` with R number of vote of target." - ], - "args": [ - { - "name": "target", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0d14", - "name": "remove_vote", - "docs": [ - "Remove a vote for a referendum.", - "", - "If:", - "- the referendum was cancelled, or", - "- the referendum is ongoing, or", - "- the referendum has ended such that", - " - the vote of the account was in opposition to the result; or", - " - there was no conviction to the account's vote; or", - " - the account made a split vote", - "...then the vote is removed cleanly and a following call to `unlock` may result in more", - "funds being available.", - "", - "If, however, the referendum has ended and:", - "- it finished corresponding to the vote of the account, and", - "- the account made a standard vote with conviction, and", - "- the lock period of the conviction is not over", - "...then the lock will be aggregated into the overall account's lock, which may involve", - "*overlocking* (where the two locks are combined into a single lock that is the maximum", - "of both the amount locked and the time is it locked for).", - "", - "The dispatch origin of this call must be _Signed_, and the signer must have a vote", - "registered for referendum `index`.", - "", - "- `index`: The index of referendum of the vote to be removed.", - "", - "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", - " Weight is calculated for the maximum number of vote." - ], - "args": [ - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0d15", - "name": "remove_other_vote", - "docs": [ - "Remove a vote for a referendum.", - "", - "If the `target` is equal to the signer, then this function is exactly equivalent to", - "`remove_vote`. If not equal to the signer, then the vote must have expired,", - "either because the referendum was cancelled, because the voter lost the referendum or", - "because the conviction period is over.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `target`: The account of the vote to be removed; this account must have voted for", - " referendum `index`.", - "- `index`: The index of referendum of the vote to be removed.", - "", - "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", - " Weight is calculated for the maximum number of vote." - ], - "args": [ - { - "name": "target", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0d16", - "name": "enact_proposal", - "docs": [ - "Enact a proposal from a referendum. For now we just make the weight be the maximum." - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0d17", - "name": "blacklist", - "docs": [ - "Permanently place a proposal into the blacklist. This prevents it from ever being", - "proposed again.", - "", - "If called on a queued public or external proposal, then this will result in it being", - "removed. If the `ref_index` supplied is an active referendum with the proposal hash,", - "then it will be cancelled.", - "", - "The dispatch origin of this call must be `BlacklistOrigin`.", - "", - "- `proposal_hash`: The proposal hash to blacklist permanently.", - "- `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be", - "cancelled.", - "", - "Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a", - " reasonable value)." - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "maybe_ref_index", - "type": "option" - } - ] - }, - { - "lookup": "0d18", - "name": "cancel_proposal", - "docs": [ - "Remove a proposal.", - "", - "The dispatch origin of this call must be `CancelProposalOrigin`.", - "", - "- `prop_index`: The index of the proposal to cancel.", - "", - "Weight: `O(p)` where `p = PublicProps::::decode_len()`" - ], - "args": [ - { - "name": "prop_index", - "type": "compact" - } - ] - } - ], - "calls_value": { - "type": 295 - }, - "events": [ - { - "lookup": "0d00", - "name": "Proposed", - "docs": [ - "A motion has been proposed by a public account. \\[proposal_index, deposit\\]" - ], - "args": [ - "U32", - "U128" - ] - }, - { - "lookup": "0d01", - "name": "Tabled", - "docs": [ - "A public proposal has been tabled for referendum vote. \\[proposal_index, deposit,", - "depositors\\]" - ], - "args": [ - "U32", - "U128", - "Vec<[U8; 32]>" - ] - }, - { - "lookup": "0d02", - "name": "ExternalTabled", - "docs": [ - "An external proposal has been tabled." - ], - "args": null - }, - { - "lookup": "0d03", - "name": "Started", - "docs": [ - "A referendum has begun. \\[ref_index, threshold\\]" - ], - "args": [ - "U32", - "pallet_democracyvote_thresholdVoteThreshold" - ] - }, - { - "lookup": "0d04", - "name": "Passed", - "docs": [ - "A proposal has been approved by referendum. \\[ref_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0d05", - "name": "NotPassed", - "docs": [ - "A proposal has been rejected by referendum. \\[ref_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0d06", - "name": "Cancelled", - "docs": [ - "A referendum has been cancelled. \\[ref_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0d07", - "name": "Executed", - "docs": [ - "A proposal has been enacted. \\[ref_index, result\\]" - ], - "args": [ - "U32", - "Results" - ] - }, - { - "lookup": "0d08", - "name": "Delegated", - "docs": [ - "An account has delegated their vote to another account. \\[who, target\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "0d09", - "name": "Undelegated", - "docs": [ - "An \\[account\\] has cancelled a previous delegation operation." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0d0a", - "name": "Vetoed", - "docs": [ - "An external proposal has been vetoed. \\[who, proposal_hash, until\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0d0b", - "name": "PreimageNoted", - "docs": [ - "A proposal's preimage was noted, and the deposit taken. \\[proposal_hash, who, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0d0c", - "name": "PreimageUsed", - "docs": [ - "A proposal preimage was removed and used (the deposit was returned).", - "\\[proposal_hash, provider, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0d0d", - "name": "PreimageInvalid", - "docs": [ - "A proposal could not be executed because its preimage was invalid.", - "\\[proposal_hash, ref_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0d0e", - "name": "PreimageMissing", - "docs": [ - "A proposal could not be executed because its preimage was missing.", - "\\[proposal_hash, ref_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0d0f", - "name": "PreimageReaped", - "docs": [ - "A registered preimage was removed and the deposit collected by the reaper.", - "\\[proposal_hash, provider, deposit, reaper\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128", - "[U8; 32]" - ] - }, - { - "lookup": "0d10", - "name": "Blacklisted", - "docs": [ - "A proposal \\[hash\\] has been blacklisted permanently." - ], - "args": [ - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 49 - }, - "constants": [ - { - "name": "EnactmentPeriod", - "type": "U32", - "type_value": 4, - "constants_value": "00c20100", - "docs": [ - " The period between a proposal being approved and enacted.", - "", - " It should generally be a little more than the unstake period to ensure that", - " voting stakers have an opportunity to remove themselves from the system in the case", - " where they are on the losing side of a vote." - ] - }, - { - "name": "LaunchPeriod", - "type": "U32", - "type_value": 4, - "constants_value": "c0890100", - "docs": [ - " How often (in blocks) new public referenda are launched." - ] - }, - { - "name": "VotingPeriod", - "type": "U32", - "type_value": 4, - "constants_value": "c0890100", - "docs": [ - " How often (in blocks) to check for new votes." - ] - }, - { - "name": "VoteLockingPeriod", - "type": "U32", - "type_value": 4, - "constants_value": "00c20100", - "docs": [ - " The minimum period of vote locking.", - "", - " It should be no shorter than enactment period to ensure that in the case of an approval,", - " those successful voters are locked into the consequences that their votes entail." - ] - }, - { - "name": "MinimumDeposit", - "type": "U128", - "type_value": 6, - "constants_value": "34a1aec6000000000000000000000000", - "docs": [ - " The minimum amount to be used as a deposit for a public referendum proposal." - ] - }, - { - "name": "InstantAllowed", - "type": "Bool", - "type_value": 55, - "constants_value": "01", - "docs": [ - " Indicator for whether an emergency origin is even allowed to happen. Some chains may", - " want to set this permanently to `false`, others may want to condition it on things such", - " as an upgrade having happened recently." - ] - }, - { - "name": "FastTrackVotingPeriod", - "type": "U32", - "type_value": 4, - "constants_value": "08070000", - "docs": [ - " Minimum voting period allowed for a fast-track referendum." - ] - }, - { - "name": "CooloffPeriod", - "type": "U32", - "type_value": 4, - "constants_value": "c0890100", - "docs": [ - " Period in blocks where an external proposal may not be re-submitted after being vetoed." - ] - }, - { - "name": "PreimageByteDeposit", - "type": "U128", - "type_value": 6, - "constants_value": "12160500000000000000000000000000", - "docs": [ - " The amount of balance that must be deposited per byte of preimage stored." - ] - }, - { - "name": "MaxVotes", - "type": "U32", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " The maximum number of votes for an account.", - "", - " Also used to compute weight, an overly big value can", - " lead to extrinsic with very big weight: see `delegate` for instance." - ] - }, - { - "name": "MaxProposals", - "type": "U32", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " The maximum number of public proposals that can exist at any time." - ] - } - ], - "errors": [ - { - "name": "ValueLow", - "doc": [ - "Value too low" - ] - }, - { - "name": "ProposalMissing", - "doc": [ - "Proposal does not exist" - ] - }, - { - "name": "AlreadyCanceled", - "doc": [ - "Cannot cancel the same proposal twice" - ] - }, - { - "name": "DuplicateProposal", - "doc": [ - "Proposal already made" - ] - }, - { - "name": "ProposalBlacklisted", - "doc": [ - "Proposal still blacklisted" - ] - }, - { - "name": "NotSimpleMajority", - "doc": [ - "Next external proposal not simple majority" - ] - }, - { - "name": "InvalidHash", - "doc": [ - "Invalid hash" - ] - }, - { - "name": "NoProposal", - "doc": [ - "No external proposal" - ] - }, - { - "name": "AlreadyVetoed", - "doc": [ - "Identity may not veto a proposal twice" - ] - }, - { - "name": "DuplicatePreimage", - "doc": [ - "Preimage already noted" - ] - }, - { - "name": "NotImminent", - "doc": [ - "Not imminent" - ] - }, - { - "name": "TooEarly", - "doc": [ - "Too early" - ] - }, - { - "name": "Imminent", - "doc": [ - "Imminent" - ] - }, - { - "name": "PreimageMissing", - "doc": [ - "Preimage not found" - ] - }, - { - "name": "ReferendumInvalid", - "doc": [ - "Vote given for invalid referendum" - ] - }, - { - "name": "PreimageInvalid", - "doc": [ - "Invalid preimage" - ] - }, - { - "name": "NoneWaiting", - "doc": [ - "No proposals waiting" - ] - }, - { - "name": "NotVoter", - "doc": [ - "The given account did not vote on the referendum." - ] - }, - { - "name": "NoPermission", - "doc": [ - "The actor has no permission to conduct the action." - ] - }, - { - "name": "AlreadyDelegating", - "doc": [ - "The account is already delegating." - ] - }, - { - "name": "InsufficientFunds", - "doc": [ - "Too high a balance was provided that the account cannot afford." - ] - }, - { - "name": "NotDelegating", - "doc": [ - "The account is not currently delegating." - ] - }, - { - "name": "VotesExist", - "doc": [ - "The account currently has votes attached to it and the operation cannot succeed until", - "these are removed, either through `unvote` or `reap_vote`." - ] - }, - { - "name": "InstantNotAllowed", - "doc": [ - "The instant referendum origin is currently disallowed." - ] - }, - { - "name": "Nonsense", - "doc": [ - "Delegation to oneself makes no sense." - ] - }, - { - "name": "WrongUpperBound", - "doc": [ - "Invalid upper bound." - ] - }, - { - "name": "MaxVotesReached", - "doc": [ - "Maximum number of votes reached." - ] - }, - { - "name": "TooManyProposals", - "doc": [ - "Maximum number of proposals reached." - ] - } - ], - "errors_value": { - "type": 296 - }, - "index": 13 - }, - { - "name": "Council", - "prefix": "Council", - "storage": [ - { - "name": "Proposals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 297 - }, - "fallback": "0x00", - "docs": [ - " The hashes of the active proposals." - ] - }, - { - "name": "ProposalOf", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Call", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Actual proposal for a given hash, if it's current." - ] - }, - { - "name": "Voting", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_collectiveVotes", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Votes on a given proposal, if it is ongoing." - ] - }, - { - "name": "ProposalCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Proposals so far." - ] - }, - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 50 - }, - "fallback": "0x00", - "docs": [ - " The current members of the collective. This is stored sorted (just by value)." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The prime member that helps determine the default vote behavior in case of absentations." - ] - } - ], - "calls": [ - { - "lookup": "0e00", - "name": "set_members", - "docs": [ - "Set the collective's membership.", - "", - "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", - "- `prime`: The prime member whose vote sets the default.", - "- `old_count`: The upper bound for the previous number of members in storage. Used for", - " weight estimation.", - "", - "Requires root origin.", - "", - "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", - " the weight estimations rely on it to estimate dispatchable weight.", - "", - "# ", - "## Weight", - "- `O(MP + N)` where:", - " - `M` old-members-count (code- and governance-bounded)", - " - `N` new-members-count (code- and governance-bounded)", - " - `P` proposals-count (code-bounded)", - "- DB:", - " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the", - " members", - " - 1 storage read (codec `O(P)`) for reading the proposals", - " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal", - " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one", - "# " - ], - "args": [ - { - "name": "new_members", - "type": "Vec<[U8; 32]>" - }, - { - "name": "prime", - "type": "option<[U8; 32]>" - }, - { - "name": "old_count", - "type": "U32" - } - ] - }, - { - "lookup": "0e01", - "name": "execute", - "docs": [ - "Dispatch a proposal from a member using the `Member` origin.", - "", - "Origin must be a member of the collective.", - "", - "# ", - "## Weight", - "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching", - " `proposal`", - "- DB: 1 read (codec `O(M)`) + DB access of `proposal`", - "- 1 event", - "# " - ], - "args": [ - { - "name": "proposal", - "type": "Call" - }, - { - "name": "length_bound", - "type": "compact" - } - ] - }, - { - "lookup": "0e02", - "name": "propose", - "docs": [ - "Add a new proposal to either be voted on or executed directly.", - "", - "Requires the sender to be member.", - "", - "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)", - "or put up for voting.", - "", - "# ", - "## Weight", - "- `O(B + M + P1)` or `O(B + M + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - branching is influenced by `threshold` where:", - " - `P1` is proposal execution complexity (`threshold < 2`)", - " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)", - "- DB:", - " - 1 storage read `is_member` (codec `O(M)`)", - " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)", - " - DB accesses influenced by `threshold`:", - " - EITHER storage accesses done by `proposal` (`threshold < 2`)", - " - OR proposal insertion (`threshold <= 2`)", - " - 1 storage mutation `Proposals` (codec `O(P2)`)", - " - 1 storage mutation `ProposalCount` (codec `O(1)`)", - " - 1 storage write `ProposalOf` (codec `O(B)`)", - " - 1 storage write `Voting` (codec `O(M)`)", - " - 1 event", - "# " - ], - "args": [ - { - "name": "threshold", - "type": "compact" - }, - { - "name": "proposal", - "type": "Call" - }, - { - "name": "length_bound", - "type": "compact" - } - ] - }, - { - "lookup": "0e03", - "name": "vote", - "docs": [ - "Add an aye or nay vote for the sender to the given proposal.", - "", - "Requires the sender to be a member.", - "", - "Transaction fees will be waived if the member is voting on any particular proposal", - "for the first time and the call is successful. Subsequent vote changes will charge a", - "fee.", - "# ", - "## Weight", - "- `O(M)` where `M` is members-count (code- and governance-bounded)", - "- DB:", - " - 1 storage read `Members` (codec `O(M)`)", - " - 1 storage mutation `Voting` (codec `O(M)`)", - "- 1 event", - "# " - ], - "args": [ - { - "name": "proposal", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "compact" - }, - { - "name": "approve", - "type": "Bool" - } - ] - }, - { - "lookup": "0e04", - "name": "close", - "docs": [ - "Close a vote that is either approved, disapproved or whose voting period has ended.", - "", - "May be called by any signed account in order to finish voting and close the proposal.", - "", - "If called before the end of the voting period it will only close the vote if it is", - "has enough votes to be approved or disapproved.", - "", - "If called after the end of the voting period abstentions are counted as rejections", - "unless there is a prime member set and the prime member cast an approval.", - "", - "If the close operation completes successfully with disapproval, the transaction fee will", - "be waived. Otherwise execution of the approved operation will be charged to the caller.", - "", - "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", - "proposal.", - "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", - "`storage::read` so it is `size_of::() == 4` larger than the pure length.", - "", - "# ", - "## Weight", - "- `O(B + M + P1 + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - `P1` is the complexity of `proposal` preimage.", - " - `P2` is proposal-count (code-bounded)", - "- DB:", - " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)", - " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec", - " `O(P2)`)", - " - any mutations done while executing `proposal` (`P1`)", - "- up to 3 events", - "# " - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "compact" - }, - { - "name": "proposal_weight_bound", - "type": "compact" - }, - { - "name": "length_bound", - "type": "compact" - } - ] - }, - { - "lookup": "0e05", - "name": "disapprove_proposal", - "docs": [ - "Disapprove a proposal, close, and remove it from the system, regardless of its current", - "state.", - "", - "Must be called by the Root origin.", - "", - "Parameters:", - "* `proposal_hash`: The hash of the proposal that should be disapproved.", - "", - "# ", - "Complexity: O(P) where P is the number of max proposals", - "DB Weight:", - "* Reads: Proposals", - "* Writes: Voting, Proposals, ProposalOf", - "# " - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 299 - }, - "events": [ - { - "lookup": "0e00", - "name": "Proposed", - "docs": [ - "A motion (given hash) has been proposed (by given account) with a threshold (given", - "`MemberCount`).", - "\\[account, proposal_index, proposal_hash, threshold\\]" - ], - "args": [ - "[U8; 32]", - "U32", - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0e01", - "name": "Voted", - "docs": [ - "A motion (given hash) has been voted on by given account, leaving", - "a tally (yes votes and no votes given respectively as `MemberCount`).", - "\\[account, proposal_hash, voted, yes, no\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "Bool", - "U32", - "U32" - ] - }, - { - "lookup": "0e02", - "name": "Approved", - "docs": [ - "A motion was approved by the required threshold.", - "\\[proposal_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0e03", - "name": "Disapproved", - "docs": [ - "A motion was not approved by the required threshold.", - "\\[proposal_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0e04", - "name": "Executed", - "docs": [ - "A motion was executed; result will be `Ok` if it returned without error.", - "\\[proposal_hash, result\\]" - ], - "args": [ - "[U8; 32]", - "Results" - ] - }, - { - "lookup": "0e05", - "name": "MemberExecuted", - "docs": [ - "A single member did some action; result will be `Ok` if it returned without error.", - "\\[proposal_hash, result\\]" - ], - "args": [ - "[U8; 32]", - "Results" - ] - }, - { - "lookup": "0e06", - "name": "Closed", - "docs": [ - "A proposal was closed because its threshold was reached or after its duration was up.", - "\\[proposal_hash, yes, no\\]" - ], - "args": [ - "[U8; 32]", - "U32", - "U32" - ] - } - ], - "events_value": { - "type": 54 - }, - "errors": [ - { - "name": "NotMember", - "doc": [ - "Account is not a member" - ] - }, - { - "name": "DuplicateProposal", - "doc": [ - "Duplicate proposals not allowed" - ] - }, - { - "name": "ProposalMissing", - "doc": [ - "Proposal must exist" - ] - }, - { - "name": "WrongIndex", - "doc": [ - "Mismatched index" - ] - }, - { - "name": "DuplicateVote", - "doc": [ - "Duplicate vote ignored" - ] - }, - { - "name": "AlreadyInitialized", - "doc": [ - "Members are already initialized!" - ] - }, - { - "name": "TooEarly", - "doc": [ - "The close call was made too early, before the end of the voting." - ] - }, - { - "name": "TooManyProposals", - "doc": [ - "There can only be a maximum of `MaxProposals` active proposals." - ] - }, - { - "name": "WrongProposalWeight", - "doc": [ - "The given weight bound for the proposal was too low." - ] - }, - { - "name": "WrongProposalLength", - "doc": [ - "The given length bound for the proposal was too low." - ] - } - ], - "errors_value": { - "type": 527 - }, - "index": 14 - }, - { - "name": "TechnicalCommittee", - "prefix": "TechnicalCommittee", - "storage": [ - { - "name": "Proposals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 528 - }, - "fallback": "0x00", - "docs": [ - " The hashes of the active proposals." - ] - }, - { - "name": "ProposalOf", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Call", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Actual proposal for a given hash, if it's current." - ] - }, - { - "name": "Voting", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_collectiveVotes", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Votes on a given proposal, if it is ongoing." - ] - }, - { - "name": "ProposalCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Proposals so far." - ] - }, - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 50 - }, - "fallback": "0x00", - "docs": [ - " The current members of the collective. This is stored sorted (just by value)." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The prime member that helps determine the default vote behavior in case of absentations." - ] - } - ], - "calls": [ - { - "lookup": "0f00", - "name": "set_members", - "docs": [ - "Set the collective's membership.", - "", - "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", - "- `prime`: The prime member whose vote sets the default.", - "- `old_count`: The upper bound for the previous number of members in storage. Used for", - " weight estimation.", - "", - "Requires root origin.", - "", - "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", - " the weight estimations rely on it to estimate dispatchable weight.", - "", - "# ", - "## Weight", - "- `O(MP + N)` where:", - " - `M` old-members-count (code- and governance-bounded)", - " - `N` new-members-count (code- and governance-bounded)", - " - `P` proposals-count (code-bounded)", - "- DB:", - " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the", - " members", - " - 1 storage read (codec `O(P)`) for reading the proposals", - " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal", - " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one", - "# " - ], - "args": [ - { - "name": "new_members", - "type": "Vec<[U8; 32]>" - }, - { - "name": "prime", - "type": "option<[U8; 32]>" - }, - { - "name": "old_count", - "type": "U32" - } - ] - }, - { - "lookup": "0f01", - "name": "execute", - "docs": [ - "Dispatch a proposal from a member using the `Member` origin.", - "", - "Origin must be a member of the collective.", - "", - "# ", - "## Weight", - "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching", - " `proposal`", - "- DB: 1 read (codec `O(M)`) + DB access of `proposal`", - "- 1 event", - "# " - ], - "args": [ - { - "name": "proposal", - "type": "Call" - }, - { - "name": "length_bound", - "type": "compact" - } - ] - }, - { - "lookup": "0f02", - "name": "propose", - "docs": [ - "Add a new proposal to either be voted on or executed directly.", - "", - "Requires the sender to be member.", - "", - "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)", - "or put up for voting.", - "", - "# ", - "## Weight", - "- `O(B + M + P1)` or `O(B + M + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - branching is influenced by `threshold` where:", - " - `P1` is proposal execution complexity (`threshold < 2`)", - " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)", - "- DB:", - " - 1 storage read `is_member` (codec `O(M)`)", - " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)", - " - DB accesses influenced by `threshold`:", - " - EITHER storage accesses done by `proposal` (`threshold < 2`)", - " - OR proposal insertion (`threshold <= 2`)", - " - 1 storage mutation `Proposals` (codec `O(P2)`)", - " - 1 storage mutation `ProposalCount` (codec `O(1)`)", - " - 1 storage write `ProposalOf` (codec `O(B)`)", - " - 1 storage write `Voting` (codec `O(M)`)", - " - 1 event", - "# " - ], - "args": [ - { - "name": "threshold", - "type": "compact" - }, - { - "name": "proposal", - "type": "Call" - }, - { - "name": "length_bound", - "type": "compact" - } - ] - }, - { - "lookup": "0f03", - "name": "vote", - "docs": [ - "Add an aye or nay vote for the sender to the given proposal.", - "", - "Requires the sender to be a member.", - "", - "Transaction fees will be waived if the member is voting on any particular proposal", - "for the first time and the call is successful. Subsequent vote changes will charge a", - "fee.", - "# ", - "## Weight", - "- `O(M)` where `M` is members-count (code- and governance-bounded)", - "- DB:", - " - 1 storage read `Members` (codec `O(M)`)", - " - 1 storage mutation `Voting` (codec `O(M)`)", - "- 1 event", - "# " - ], - "args": [ - { - "name": "proposal", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "compact" - }, - { - "name": "approve", - "type": "Bool" - } - ] - }, - { - "lookup": "0f04", - "name": "close", - "docs": [ - "Close a vote that is either approved, disapproved or whose voting period has ended.", - "", - "May be called by any signed account in order to finish voting and close the proposal.", - "", - "If called before the end of the voting period it will only close the vote if it is", - "has enough votes to be approved or disapproved.", - "", - "If called after the end of the voting period abstentions are counted as rejections", - "unless there is a prime member set and the prime member cast an approval.", - "", - "If the close operation completes successfully with disapproval, the transaction fee will", - "be waived. Otherwise execution of the approved operation will be charged to the caller.", - "", - "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", - "proposal.", - "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", - "`storage::read` so it is `size_of::() == 4` larger than the pure length.", - "", - "# ", - "## Weight", - "- `O(B + M + P1 + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - `P1` is the complexity of `proposal` preimage.", - " - `P2` is proposal-count (code-bounded)", - "- DB:", - " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)", - " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec", - " `O(P2)`)", - " - any mutations done while executing `proposal` (`P1`)", - "- up to 3 events", - "# " - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "compact" - }, - { - "name": "proposal_weight_bound", - "type": "compact" - }, - { - "name": "length_bound", - "type": "compact" - } - ] - }, - { - "lookup": "0f05", - "name": "disapprove_proposal", - "docs": [ - "Disapprove a proposal, close, and remove it from the system, regardless of its current", - "state.", - "", - "Must be called by the Root origin.", - "", - "Parameters:", - "* `proposal_hash`: The hash of the proposal that should be disapproved.", - "", - "# ", - "Complexity: O(P) where P is the number of max proposals", - "DB Weight:", - "* Reads: Proposals", - "* Writes: Voting, Proposals, ProposalOf", - "# " - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 300 - }, - "events": [ - { - "lookup": "0f00", - "name": "Proposed", - "docs": [ - "A motion (given hash) has been proposed (by given account) with a threshold (given", - "`MemberCount`).", - "\\[account, proposal_index, proposal_hash, threshold\\]" - ], - "args": [ - "[U8; 32]", - "U32", - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0f01", - "name": "Voted", - "docs": [ - "A motion (given hash) has been voted on by given account, leaving", - "a tally (yes votes and no votes given respectively as `MemberCount`).", - "\\[account, proposal_hash, voted, yes, no\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "Bool", - "U32", - "U32" - ] - }, - { - "lookup": "0f02", - "name": "Approved", - "docs": [ - "A motion was approved by the required threshold.", - "\\[proposal_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0f03", - "name": "Disapproved", - "docs": [ - "A motion was not approved by the required threshold.", - "\\[proposal_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0f04", - "name": "Executed", - "docs": [ - "A motion was executed; result will be `Ok` if it returned without error.", - "\\[proposal_hash, result\\]" - ], - "args": [ - "[U8; 32]", - "Results" - ] - }, - { - "lookup": "0f05", - "name": "MemberExecuted", - "docs": [ - "A single member did some action; result will be `Ok` if it returned without error.", - "\\[proposal_hash, result\\]" - ], - "args": [ - "[U8; 32]", - "Results" - ] - }, - { - "lookup": "0f06", - "name": "Closed", - "docs": [ - "A proposal was closed because its threshold was reached or after its duration was up.", - "\\[proposal_hash, yes, no\\]" - ], - "args": [ - "[U8; 32]", - "U32", - "U32" - ] - } - ], - "events_value": { - "type": 56 - }, - "errors": [ - { - "name": "NotMember", - "doc": [ - "Account is not a member" - ] - }, - { - "name": "DuplicateProposal", - "doc": [ - "Duplicate proposals not allowed" - ] - }, - { - "name": "ProposalMissing", - "doc": [ - "Proposal must exist" - ] - }, - { - "name": "WrongIndex", - "doc": [ - "Mismatched index" - ] - }, - { - "name": "DuplicateVote", - "doc": [ - "Duplicate vote ignored" - ] - }, - { - "name": "AlreadyInitialized", - "doc": [ - "Members are already initialized!" - ] - }, - { - "name": "TooEarly", - "doc": [ - "The close call was made too early, before the end of the voting." - ] - }, - { - "name": "TooManyProposals", - "doc": [ - "There can only be a maximum of `MaxProposals` active proposals." - ] - }, - { - "name": "WrongProposalWeight", - "doc": [ - "The given weight bound for the proposal was too low." - ] - }, - { - "name": "WrongProposalLength", - "doc": [ - "The given length bound for the proposal was too low." - ] - } - ], - "errors_value": { - "type": 529 - }, - "index": 15 - }, - { - "name": "PhragmenElection", - "prefix": "PhragmenElection", - "storage": [ - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 530 - }, - "fallback": "0x00", - "docs": [ - " The current elected members.", - "", - " Invariant: Always sorted based on account id." - ] - }, - { - "name": "RunnersUp", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 530 - }, - "fallback": "0x00", - "docs": [ - " The current reserved runners-up.", - "", - " Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the", - " last (i.e. _best_) runner-up will be replaced." - ] - }, - { - "name": "Candidates", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 58 - }, - "fallback": "0x00", - "docs": [ - " The present candidate list. A current member or runner-up can never enter this vector", - " and is always implicitly assumed to be a candidate.", - "", - " Second element is the deposit.", - "", - " Invariant: Always sorted based on account id." - ] - }, - { - "name": "ElectionRounds", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The total number of vote rounds that have happened, excluding the upcoming one." - ] - }, - { - "name": "Voting", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_elections_phragmenVoter", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Votes and locked stake of a particular voter.", - "", - " TWOX-NOTE: SAFE as `AccountId` is a crypto hash." - ] - } - ], - "calls": [ - { - "lookup": "1000", - "name": "vote", - "docs": [ - "Vote for a set of candidates for the upcoming round of election. This can be called to", - "set the initial votes, or update already existing votes.", - "", - "Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is", - "reserved. The deposit is based on the number of votes and can be updated over time.", - "", - "The `votes` should:", - " - not be empty.", - " - be less than the number of possible candidates. Note that all current members and", - " runners-up are also automatically candidates for the next round.", - "", - "If `value` is more than `who`'s total balance, then the maximum of the two is used.", - "", - "The dispatch origin of this call must be signed.", - "", - "### Warning", - "", - "It is the responsibility of the caller to **NOT** place all of their balance into the", - "lock and keep some for further operations.", - "", - "# ", - "We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less.", - "# " - ], - "args": [ - { - "name": "votes", - "type": "Vec<[U8; 32]>" - }, - { - "name": "value", - "type": "compact" - } - ] - }, - { - "lookup": "1001", - "name": "remove_voter", - "docs": [ - "Remove `origin` as a voter.", - "", - "This removes the lock and returns the deposit.", - "", - "The dispatch origin of this call must be signed and be a voter." - ], - "args": null - }, - { - "lookup": "1002", - "name": "submit_candidacy", - "docs": [ - "Submit oneself for candidacy. A fixed amount of deposit is recorded.", - "", - "All candidates are wiped at the end of the term. They either become a member/runner-up,", - "or leave the system while their deposit is slashed.", - "", - "The dispatch origin of this call must be signed.", - "", - "### Warning", - "", - "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]", - "to get their deposit back. Losing the spot in an election will always lead to a slash.", - "", - "# ", - "The number of current candidates must be provided as witness data.", - "# " - ], - "args": [ - { - "name": "candidate_count", - "type": "compact" - } - ] - }, - { - "lookup": "1003", - "name": "renounce_candidacy", - "docs": [ - "Renounce one's intention to be a candidate for the next election round. 3 potential", - "outcomes exist:", - "", - "- `origin` is a candidate and not elected in any set. In this case, the deposit is", - " unreserved, returned and origin is removed as a candidate.", - "- `origin` is a current runner-up. In this case, the deposit is unreserved, returned and", - " origin is removed as a runner-up.", - "- `origin` is a current member. In this case, the deposit is unreserved and origin is", - " removed as a member, consequently not being a candidate for the next round anymore.", - " Similar to [`remove_member`](Self::remove_member), if replacement runners exists, they", - " are immediately used. If the prime is renouncing, then no prime will exist until the", - " next round.", - "", - "The dispatch origin of this call must be signed, and have one of the above roles.", - "", - "# ", - "The type of renouncing must be provided as witness data.", - "# " - ], - "args": [ - { - "name": "renouncing", - "type": "pallet_elections_phragmenRenouncing" - } - ] - }, - { - "lookup": "1004", - "name": "remove_member", - "docs": [ - "Remove a particular member from the set. This is effective immediately and the bond of", - "the outgoing member is slashed.", - "", - "If a runner-up is available, then the best runner-up will be removed and replaces the", - "outgoing member. Otherwise, a new phragmen election is started.", - "", - "The dispatch origin of this call must be root.", - "", - "Note that this does not affect the designated block number of the next election.", - "", - "# ", - "If we have a replacement, we use a small weight. Else, since this is a root call and", - "will go into phragmen, we assume full block for now.", - "# " - ], - "args": [ - { - "name": "who", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "has_replacement", - "type": "Bool" - } - ] - }, - { - "lookup": "1005", - "name": "clean_defunct_voters", - "docs": [ - "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The", - "deposit of the removed voters are returned.", - "", - "This is an root function to be used only for cleaning the state.", - "", - "The dispatch origin of this call must be root.", - "", - "# ", - "The total number of voters and those that are defunct must be provided as witness data.", - "# " - ], - "args": [ - { - "name": "num_voters", - "type": "U32" - }, - { - "name": "num_defunct", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 301 - }, - "events": [ - { - "lookup": "1000", - "name": "NewTerm", - "docs": [ - "A new term with \\[new_members\\]. This indicates that enough candidates existed to run", - "the election, not that enough have has been elected. The inner value must be examined", - "for this purpose. A `NewTerm(\\[\\])` indicates that some candidates got their bond", - "slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to", - "begin with." - ], - "args": [ - "Vec" - ] - }, - { - "lookup": "1001", - "name": "EmptyTerm", - "docs": [ - "No (or not enough) candidates existed for this round. This is different from", - "`NewTerm(\\[\\])`. See the description of `NewTerm`." - ], - "args": null - }, - { - "lookup": "1002", - "name": "ElectionError", - "docs": [ - "Internal error happened while trying to perform election." - ], - "args": null - }, - { - "lookup": "1003", - "name": "MemberKicked", - "docs": [ - "A \\[member\\] has been removed. This should always be followed by either `NewTerm` or", - "`EmptyTerm`." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1004", - "name": "Renounced", - "docs": [ - "Someone has renounced their candidacy." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1005", - "name": "CandidateSlashed", - "docs": [ - "A \\[candidate\\] was slashed by \\[amount\\] due to failing to obtain a seat as member or", - "runner-up.", - "", - "Note that old members and runners-up are also candidates." - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1006", - "name": "SeatHolderSlashed", - "docs": [ - "A \\[seat holder\\] was slashed by \\[amount\\] by being forcefully removed from the set." - ], - "args": [ - "[U8; 32]", - "U128" - ] - } - ], - "events_value": { - "type": 57 - }, - "constants": [ - { - "name": "PalletId", - "type": "[U8; 8]", - "type_value": 125, - "constants_value": "phrelect", - "docs": [ - " Identifier for the elections-phragmen pallet's lock" - ] - }, - { - "name": "CandidacyBond", - "type": "U128", - "type_value": 6, - "constants_value": "34a1aec6000000000000000000000000", - "docs": [ - " How much should be locked up in order to submit one's candidacy." - ] - }, - { - "name": "VotingBondBase", - "type": "U128", - "type_value": 6, - "constants_value": "10c55b920f0000000000000000000000", - "docs": [ - " Base deposit associated with voting.", - "", - " This should be sensibly high to economically ensure the pallet cannot be attacked by", - " creating a gigantic number of votes." - ] - }, - { - "name": "VotingBondFactor", - "type": "U128", - "type_value": 6, - "constants_value": "80965b06000000000000000000000000", - "docs": [ - " The amount of bond that need to be locked for each vote (32 bytes)." - ] - }, - { - "name": "DesiredMembers", - "type": "U32", - "type_value": 4, - "constants_value": "13000000", - "docs": [ - " Number of members to elect." - ] - }, - { - "name": "DesiredRunnersUp", - "type": "U32", - "type_value": 4, - "constants_value": "13000000", - "docs": [ - " Number of runners_up to keep." - ] - }, - { - "name": "TermDuration", - "type": "U32", - "type_value": 4, - "constants_value": "40380000", - "docs": [ - " How long each seat is kept. This defines the next block number at which an election", - " round will happen. If set to zero, no elections are ever triggered and the module will", - " be in passive mode." - ] - } - ], - "errors": [ - { - "name": "UnableToVote", - "doc": [ - "Cannot vote when no candidates or members exist." - ] - }, - { - "name": "NoVotes", - "doc": [ - "Must vote for at least one candidate." - ] - }, - { - "name": "TooManyVotes", - "doc": [ - "Cannot vote more than candidates." - ] - }, - { - "name": "MaximumVotesExceeded", - "doc": [ - "Cannot vote more than maximum allowed." - ] - }, - { - "name": "LowBalance", - "doc": [ - "Cannot vote with stake less than minimum balance." - ] - }, - { - "name": "UnableToPayBond", - "doc": [ - "Voter can not pay voting bond." - ] - }, - { - "name": "MustBeVoter", - "doc": [ - "Must be a voter." - ] - }, - { - "name": "ReportSelf", - "doc": [ - "Cannot report self." - ] - }, - { - "name": "DuplicatedCandidate", - "doc": [ - "Duplicated candidate submission." - ] - }, - { - "name": "MemberSubmit", - "doc": [ - "Member cannot re-submit candidacy." - ] - }, - { - "name": "RunnerUpSubmit", - "doc": [ - "Runner cannot re-submit candidacy." - ] - }, - { - "name": "InsufficientCandidateFunds", - "doc": [ - "Candidate does not have enough funds." - ] - }, - { - "name": "NotMember", - "doc": [ - "Not a member." - ] - }, - { - "name": "InvalidWitnessData", - "doc": [ - "The provided count of number of candidates is incorrect." - ] - }, - { - "name": "InvalidVoteCount", - "doc": [ - "The provided count of number of votes is incorrect." - ] - }, - { - "name": "InvalidRenouncing", - "doc": [ - "The renouncing origin presented a wrong `Renouncing` parameter." - ] - }, - { - "name": "InvalidReplacement", - "doc": [ - "Prediction regarding replacement after member removal is wrong." - ] - } - ], - "errors_value": { - "type": 533 - }, - "index": 16 - }, - { - "name": "TechnicalMembership", - "prefix": "TechnicalMembership", - "storage": [ - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 50 - }, - "fallback": "0x00", - "docs": [ - " The current membership, stored as an ordered Vec." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The current prime member, if one exists." - ] - } - ], - "calls": [ - { - "lookup": "1100", - "name": "add_member", - "docs": [ - "Add a member `who` to the set.", - "", - "May only be called from `T::AddOrigin`." - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1101", - "name": "remove_member", - "docs": [ - "Remove a member `who` from the set.", - "", - "May only be called from `T::RemoveOrigin`." - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1102", - "name": "swap_member", - "docs": [ - "Swap out one member `remove` for another `add`.", - "", - "May only be called from `T::SwapOrigin`.", - "", - "Prime membership is *not* passed from `remove` to `add`, if extant." - ], - "args": [ - { - "name": "remove", - "type": "[U8; 32]" - }, - { - "name": "add", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1103", - "name": "reset_members", - "docs": [ - "Change the membership to a new set, disregarding the existing membership. Be nice and", - "pass `members` pre-sorted.", - "", - "May only be called from `T::ResetOrigin`." - ], - "args": [ - { - "name": "members", - "type": "Vec<[U8; 32]>" - } - ] - }, - { - "lookup": "1104", - "name": "change_key", - "docs": [ - "Swap out the sending member for some other key `new`.", - "", - "May only be called from `Signed` origin of a current member.", - "", - "Prime membership is passed from the origin account to `new`, if extant." - ], - "args": [ - { - "name": "new", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1105", - "name": "set_prime", - "docs": [ - "Set the prime member. Must be a current member.", - "", - "May only be called from `T::PrimeOrigin`." - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1106", - "name": "clear_prime", - "docs": [ - "Remove the prime member if it exists.", - "", - "May only be called from `T::PrimeOrigin`." - ], - "args": null - } - ], - "calls_value": { - "type": 303 - }, - "events": [ - { - "lookup": "1100", - "name": "MemberAdded", - "docs": [ - "The given member was added; see the transaction for who." - ], - "args": null - }, - { - "lookup": "1101", - "name": "MemberRemoved", - "docs": [ - "The given member was removed; see the transaction for who." - ], - "args": null - }, - { - "lookup": "1102", - "name": "MembersSwapped", - "docs": [ - "Two members were swapped; see the transaction for who." - ], - "args": null - }, - { - "lookup": "1103", - "name": "MembersReset", - "docs": [ - "The membership was reset; see the transaction for who the new set is." - ], - "args": null - }, - { - "lookup": "1104", - "name": "KeyChanged", - "docs": [ - "One of the members' keys changed." - ], - "args": null - }, - { - "lookup": "1105", - "name": "Dummy", - "docs": [ - "Phantom member, never used." - ], - "args": null - } - ], - "events_value": { - "type": 60 - }, - "errors": [ - { - "name": "AlreadyMember", - "doc": [ - "Already a member." - ] - }, - { - "name": "NotMember", - "doc": [ - "Not a member." - ] - } - ], - "errors_value": { - "type": 534 - }, - "index": 17 - }, - { - "name": "Treasury", - "prefix": "Treasury", - "storage": [ - { - "name": "ProposalCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Number of proposals that have been made." - ] - }, - { - "name": "Proposals", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "pallet_treasuryProposal", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Proposals that have been made." - ] - }, - { - "name": "Approvals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 536 - }, - "fallback": "0x00", - "docs": [ - " Proposal indices that have been approved but not yet awarded." - ] - } - ], - "calls": [ - { - "lookup": "1200", - "name": "propose_spend", - "docs": [ - "Put forward a suggestion for spending. A deposit proportional to the value", - "is reserved and slashed if the proposal is rejected. It is returned once the", - "proposal is awarded.", - "", - "# ", - "- Complexity: O(1)", - "- DbReads: `ProposalCount`, `origin account`", - "- DbWrites: `ProposalCount`, `Proposals`, `origin account`", - "# " - ], - "args": [ - { - "name": "value", - "type": "compact" - }, - { - "name": "beneficiary", - "type": "sp_runtimemultiaddressMultiAddress" - } - ] - }, - { - "lookup": "1201", - "name": "reject_proposal", - "docs": [ - "Reject a proposed spend. The original deposit will be slashed.", - "", - "May only be called from `T::RejectOrigin`.", - "", - "# ", - "- Complexity: O(1)", - "- DbReads: `Proposals`, `rejected proposer account`", - "- DbWrites: `Proposals`, `rejected proposer account`", - "# " - ], - "args": [ - { - "name": "proposal_id", - "type": "compact" - } - ] - }, - { - "lookup": "1202", - "name": "approve_proposal", - "docs": [ - "Approve a proposal. At a later time, the proposal will be allocated to the beneficiary", - "and the original deposit will be returned.", - "", - "May only be called from `T::ApproveOrigin`.", - "", - "# ", - "- Complexity: O(1).", - "- DbReads: `Proposals`, `Approvals`", - "- DbWrite: `Approvals`", - "# " - ], - "args": [ - { - "name": "proposal_id", - "type": "compact" - } - ] - } - ], - "calls_value": { - "type": 304 - }, - "events": [ - { - "lookup": "1200", - "name": "Proposed", - "docs": [ - "New proposal. \\[proposal_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "1201", - "name": "Spending", - "docs": [ - "We have ended a spend period and will now allocate funds. \\[budget_remaining\\]" - ], - "args": [ - "U128" - ] - }, - { - "lookup": "1202", - "name": "Awarded", - "docs": [ - "Some funds have been allocated. \\[proposal_index, award, beneficiary\\]" - ], - "args": [ - "U32", - "U128", - "[U8; 32]" - ] - }, - { - "lookup": "1203", - "name": "Rejected", - "docs": [ - "A proposal was rejected; funds were slashed. \\[proposal_index, slashed\\]" - ], - "args": [ - "U32", - "U128" - ] - }, - { - "lookup": "1204", - "name": "Burnt", - "docs": [ - "Some of our funds have been burnt. \\[burn\\]" - ], - "args": [ - "U128" - ] - }, - { - "lookup": "1205", - "name": "Rollover", - "docs": [ - "Spending has finished; this is the amount that rolls over until next spend.", - "\\[budget_remaining\\]" - ], - "args": [ - "U128" - ] - }, - { - "lookup": "1206", - "name": "Deposit", - "docs": [ - "Some funds have been deposited. \\[deposit\\]" - ], - "args": [ - "U128" - ] - } - ], - "events_value": { - "type": 61 - }, - "constants": [ - { - "name": "ProposalBond", - "type": "U32", - "type_value": 537, - "constants_value": "50c30000", - "docs": [ - " Fraction of a proposal's value that should be bonded in order to place the proposal.", - " An accepted proposal gets these back. A rejected proposal does not." - ] - }, - { - "name": "ProposalBondMinimum", - "type": "U128", - "type_value": 6, - "constants_value": "1098a4850f0000000000000000000000", - "docs": [ - " Minimum amount of funds that should be placed in a deposit for making a proposal." - ] - }, - { - "name": "SpendPeriod", - "type": "U32", - "type_value": 4, - "constants_value": "80510100", - "docs": [ - " Period between successive spends." - ] - }, - { - "name": "Burn", - "type": "U32", - "type_value": 537, - "constants_value": "d0070000", - "docs": [ - " Percentage of spare funds (if any) that are burnt per spend period." - ] - }, - { - "name": "PalletId", - "type": "[U8; 8]", - "type_value": 538, - "constants_value": "py/trsry", - "docs": [ - " The treasury's pallet id, used for deriving its sovereign account ID." - ] - }, - { - "name": "MaxApprovals", - "type": "U32", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " The maximum number of approvals that can wait in the spending queue." - ] - } - ], - "errors": [ - { - "name": "InsufficientProposersBalance", - "doc": [ - "Proposer's balance is too low." - ] - }, - { - "name": "InvalidIndex", - "doc": [ - "No proposal or bounty at that index." - ] - }, - { - "name": "TooManyApprovals", - "doc": [ - "Too many approvals in the queue." - ] - } - ], - "errors_value": { - "type": 539 - }, - "index": 18 - }, - { - "name": "Claims", - "prefix": "Claims", - "storage": [ - { - "name": "Claims", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 20]" - ], - "value": "U128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": null - }, - { - "name": "Total", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U128", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": null - }, - { - "name": "Vesting", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 20]" - ], - "value": "TupleU128U128U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Vesting schedule for a claim.", - " First balance is the total amount that should be held for vesting.", - " Second balance is how much should be unlocked per block.", - " The block number is when the vesting should start." - ] - }, - { - "name": "Signing", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 20]" - ], - "value": "polkadot_runtime_commonclaimsStatementKind", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The statement kind that must be signed, if any." - ] - }, - { - "name": "Preclaims", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "[U8; 20]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Pre-claimed Ethereum accounts, by the Account ID that they are claimed to." - ] - } - ], - "calls": [ - { - "lookup": "1300", - "name": "claim", - "docs": [ - "Make a claim to collect your DOTs.", - "", - "The dispatch origin for this call must be _None_.", - "", - "Unsigned Validation:", - "A call to claim is deemed valid if the signature provided matches", - "the expected signed message of:", - "", - "> Ethereum Signed Message:", - "> (configured prefix string)(address)", - "", - "and `address` matches the `dest` account.", - "", - "Parameters:", - "- `dest`: The destination account to payout the claim.", - "- `ethereum_signature`: The signature of an ethereum signed message", - " matching the format described above.", - "", - "", - "The weight of this call is invariant over the input parameters.", - "Weight includes logic to validate unsigned `claim` call.", - "", - "Total Complexity: O(1)", - "" - ], - "args": [ - { - "name": "dest", - "type": "[U8; 32]" - }, - { - "name": "ethereum_signature", - "type": "[U8; 65]" - } - ] - }, - { - "lookup": "1301", - "name": "mint_claim", - "docs": [ - "Mint a new claim to collect DOTs.", - "", - "The dispatch origin for this call must be _Root_.", - "", - "Parameters:", - "- `who`: The Ethereum address allowed to collect this claim.", - "- `value`: The number of DOTs that will be claimed.", - "- `vesting_schedule`: An optional vesting schedule for these DOTs.", - "", - "", - "The weight of this call is invariant over the input parameters.", - "We assume worst case that both vesting and statement is being inserted.", - "", - "Total Complexity: O(1)", - "" - ], - "args": [ - { - "name": "who", - "type": "[U8; 20]" - }, - { - "name": "value", - "type": "U128" - }, - { - "name": "vesting_schedule", - "type": "option" - }, - { - "name": "statement", - "type": "option" - } - ] - }, - { - "lookup": "1302", - "name": "claim_attest", - "docs": [ - "Make a claim to collect your DOTs by signing a statement.", - "", - "The dispatch origin for this call must be _None_.", - "", - "Unsigned Validation:", - "A call to `claim_attest` is deemed valid if the signature provided matches", - "the expected signed message of:", - "", - "> Ethereum Signed Message:", - "> (configured prefix string)(address)(statement)", - "", - "and `address` matches the `dest` account; the `statement` must match that which is", - "expected according to your purchase arrangement.", - "", - "Parameters:", - "- `dest`: The destination account to payout the claim.", - "- `ethereum_signature`: The signature of an ethereum signed message", - " matching the format described above.", - "- `statement`: The identity of the statement which is being attested to in the signature.", - "", - "", - "The weight of this call is invariant over the input parameters.", - "Weight includes logic to validate unsigned `claim_attest` call.", - "", - "Total Complexity: O(1)", - "" - ], - "args": [ - { - "name": "dest", - "type": "[U8; 32]" - }, - { - "name": "ethereum_signature", - "type": "[U8; 65]" - }, - { - "name": "statement", - "type": "Vec" - } - ] - }, - { - "lookup": "1303", - "name": "attest", - "docs": [ - "Attest to a statement, needed to finalize the claims process.", - "", - "WARNING: Insecure unless your chain includes `PrevalidateAttests` as a `SignedExtension`.", - "", - "Unsigned Validation:", - "A call to attest is deemed valid if the sender has a `Preclaim` registered", - "and provides a `statement` which is expected for the account.", - "", - "Parameters:", - "- `statement`: The identity of the statement which is being attested to in the signature.", - "", - "", - "The weight of this call is invariant over the input parameters.", - "Weight includes logic to do pre-validation on `attest` call.", - "", - "Total Complexity: O(1)", - "" - ], - "args": [ - { - "name": "statement", - "type": "Vec" - } - ] - }, - { - "lookup": "1304", - "name": "move_claim", - "docs": null, - "args": [ - { - "name": "old", - "type": "[U8; 20]" - }, - { - "name": "new", - "type": "[U8; 20]" - }, - { - "name": "maybe_preclaim", - "type": "option<[U8; 32]>" - } - ] - } - ], - "calls_value": { - "type": 305 - }, - "events": [ - { - "lookup": "1300", - "name": "Claimed", - "docs": [ - "Someone claimed some DOTs. `[who, ethereum_address, amount]`" - ], - "args": [ - "[U8; 32]", - "[U8; 20]", - "U128" - ] - } - ], - "events_value": { - "type": 62 - }, - "constants": [ - { - "name": "Prefix", - "type": "Vec", - "type_value": 10, - "constants_value": "|Pay KSMs to the Kusama account:", - "docs": null - } - ], - "errors": [ - { - "name": "InvalidEthereumSignature", - "doc": [ - "Invalid Ethereum signature." - ] - }, - { - "name": "SignerHasNoClaim", - "doc": [ - "Ethereum address has no claim." - ] - }, - { - "name": "SenderHasNoClaim", - "doc": [ - "Account ID sending transaction has no claim." - ] - }, - { - "name": "PotUnderflow", - "doc": [ - "There's not enough in the pot to pay out some unvested amount. Generally implies a logic", - "error." - ] - }, - { - "name": "InvalidStatement", - "doc": [ - "A needed statement was not included." - ] - }, - { - "name": "VestedBalanceExists", - "doc": [ - "The account already has a vested balance." - ] - } - ], - "errors_value": { - "type": 540 - }, - "index": 19 - }, - { - "name": "Utility", - "prefix": "", - "storage": null, - "calls": [ - { - "lookup": "1800", - "name": "batch", - "docs": [ - "Send a batch of dispatch calls.", - "", - "May be called from any origin.", - "", - "- `calls`: The calls to be dispatched from the same origin. The number of call must not", - " exceed the constant: `batched_calls_limit` (available in constant metadata).", - "", - "If origin is root then call are dispatch without checking origin filter. (This includes", - "bypassing `frame_system::Config::BaseCallFilter`).", - "", - "# ", - "- Complexity: O(C) where C is the number of calls to be batched.", - "# ", - "", - "This will return `Ok` in all circumstances. To determine the success of the batch, an", - "event is deposited. If a call failed and the batch was interrupted, then the", - "`BatchInterrupted` event is deposited, along with the number of successful calls made", - "and the error of the failed call. If all were successful, then the `BatchCompleted`", - "event is deposited." - ], - "args": [ - { - "name": "calls", - "type": "Vec" - } - ] - }, - { - "lookup": "1801", - "name": "as_derivative", - "docs": [ - "Send a call through an indexed pseudonym of the sender.", - "", - "Filter from origin are passed along. The call will be dispatched with an origin which", - "use the same filter as the origin of this call.", - "", - "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", - "because you expect `proxy` to have been used prior in the call stack and you do not want", - "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", - "in the Multisig pallet instead.", - "", - "NOTE: Prior to version *12, this was called `as_limited_sub`.", - "", - "The dispatch origin for this call must be _Signed_." - ], - "args": [ - { - "name": "index", - "type": "U16" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1802", - "name": "batch_all", - "docs": [ - "Send a batch of dispatch calls and atomically execute them.", - "The whole transaction will rollback and fail if any of the calls failed.", - "", - "May be called from any origin.", - "", - "- `calls`: The calls to be dispatched from the same origin. The number of call must not", - " exceed the constant: `batched_calls_limit` (available in constant metadata).", - "", - "If origin is root then call are dispatch without checking origin filter. (This includes", - "bypassing `frame_system::Config::BaseCallFilter`).", - "", - "# ", - "- Complexity: O(C) where C is the number of calls to be batched.", - "# " - ], - "args": [ - { - "name": "calls", - "type": "Vec" - } - ] - } - ], - "calls_value": { - "type": 312 - }, - "events": [ - { - "lookup": "1800", - "name": "BatchInterrupted", - "docs": [ - "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", - "well as the error. \\[index, error\\]" - ], - "args": [ - "U32", - "sp_runtimeDispatchError" - ] - }, - { - "lookup": "1801", - "name": "BatchCompleted", - "docs": [ - "Batch of dispatches completed fully with no error." - ], - "args": null - }, - { - "lookup": "1802", - "name": "ItemCompleted", - "docs": [ - "A single item within a Batch of dispatches has completed with no error." - ], - "args": null - } - ], - "events_value": { - "type": 65 - }, - "constants": [ - { - "name": "batched_calls_limit", - "type": "U32", - "type_value": 4, - "constants_value": "0dd20000", - "docs": [ - " The limit on the number of batched calls." - ] - } - ], - "errors": [ - { - "name": "TooManyCalls", - "doc": [ - "Too many calls batched." - ] - } - ], - "errors_value": { - "type": 541 - }, - "index": 24 - }, - { - "name": "Identity", - "prefix": "Identity", - "storage": [ - { - "name": "IdentityOf", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_identitytypesRegistration", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Information that is pertinent to identify the entity behind an account.", - "", - "2054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e" - ] - }, - { - "name": "SuperOf", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Tuple[U8; 32]pallet_identitytypesData", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The super-identity of an alternative \"sub\" identity together with its name, within that", - " context. If the account is not some other account's sub-identity, then just `None`." - ] - }, - { - "name": "SubsOf", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "TupleU128Vec<[U8; 32]>", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000000000000000000000000000", - "docs": [ - " Alternative \"sub\" identities of this account.", - "", - " The first item is the deposit, the second is a vector of the accounts.", - "", - "2054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e" - ] - }, - { - "name": "Registrars", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec>", - "PlainTypeValue": 548 - }, - "fallback": "0x00", - "docs": [ - " The set of registrars. Not expected to get very big as can only be added through a", - " special origin (likely a council motion).", - "", - " The index into this can be cast to `RegistrarIndex` to get a valid value." - ] - } - ], - "calls": [ - { - "lookup": "1900", - "name": "add_registrar", - "docs": [ - "Add a registrar to the system.", - "", - "The dispatch origin for this call must be `T::RegistrarOrigin`.", - "", - "- `account`: the account of the registrar.", - "", - "Emits `RegistrarAdded` if successful.", - "", - "# ", - "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded).", - "- One storage mutation (codec `O(R)`).", - "- One event.", - "# " - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1901", - "name": "set_identity", - "docs": [ - "Set an account's identity information and reserve the appropriate deposit.", - "", - "If the account already has identity information, the deposit is taken as part payment", - "for the new deposit.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `info`: The identity information.", - "", - "Emits `IdentitySet` if successful.", - "", - "# ", - "- `O(X + X' + R)`", - " - where `X` additional-field-count (deposit-bounded and code-bounded)", - " - where `R` judgements-count (registrar-count-bounded)", - "- One balance reserve operation.", - "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`).", - "- One event.", - "# " - ], - "args": [ - { - "name": "info", - "type": "pallet_identitytypesIdentityInfo" - } - ] - }, - { - "lookup": "1902", - "name": "set_subs", - "docs": [ - "Set the sub-accounts of the sender.", - "", - "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned", - "and an amount `SubAccountDeposit` will be reserved for each item in `subs`.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "identity.", - "", - "- `subs`: The identity's (new) sub-accounts.", - "", - "# ", - "- `O(P + S)`", - " - where `P` old-subs-count (hard- and deposit-bounded).", - " - where `S` subs-count (hard- and deposit-bounded).", - "- At most one balance operations.", - "- DB:", - " - `P + S` storage mutations (codec complexity `O(1)`)", - " - One storage read (codec complexity `O(P)`).", - " - One storage write (codec complexity `O(S)`).", - " - One storage-exists (`IdentityOf::contains_key`).", - "# " - ], - "args": [ - { - "name": "subs", - "type": "Vec" - } - ] - }, - { - "lookup": "1903", - "name": "clear_identity", - "docs": [ - "Clear an account's identity info and all sub-accounts and return all deposits.", - "", - "Payment: All reserved balances on the account are returned.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "identity.", - "", - "Emits `IdentityCleared` if successful.", - "", - "# ", - "- `O(R + S + X)`", - " - where `R` registrar-count (governance-bounded).", - " - where `S` subs-count (hard- and deposit-bounded).", - " - where `X` additional-field-count (deposit-bounded and code-bounded).", - "- One balance-unreserve operation.", - "- `2` storage reads and `S + 2` storage deletions.", - "- One event.", - "# " - ], - "args": null - }, - { - "lookup": "1904", - "name": "request_judgement", - "docs": [ - "Request a judgement from a registrar.", - "", - "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement", - "given.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a", - "registered identity.", - "", - "- `reg_index`: The index of the registrar whose judgement is requested.", - "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:", - "", - "```nocompile", - "Self::registrars().get(reg_index).unwrap().fee", - "```", - "", - "Emits `JudgementRequested` if successful.", - "", - "# ", - "- `O(R + X)`.", - "- One balance-reserve operation.", - "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.", - "- One event.", - "# " - ], - "args": [ - { - "name": "reg_index", - "type": "compact" - }, - { - "name": "max_fee", - "type": "compact" - } - ] - }, - { - "lookup": "1905", - "name": "cancel_request", - "docs": [ - "Cancel a previous request.", - "", - "Payment: A previously reserved deposit is returned on success.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a", - "registered identity.", - "", - "- `reg_index`: The index of the registrar whose judgement is no longer requested.", - "", - "Emits `JudgementUnrequested` if successful.", - "", - "# ", - "- `O(R + X)`.", - "- One balance-reserve operation.", - "- One storage mutation `O(R + X)`.", - "- One event", - "# " - ], - "args": [ - { - "name": "reg_index", - "type": "U32" - } - ] - }, - { - "lookup": "1906", - "name": "set_fee", - "docs": [ - "Set the fee required for a judgement to be requested from a registrar.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must be the account", - "of the registrar whose index is `index`.", - "", - "- `index`: the index of the registrar whose fee is to be set.", - "- `fee`: the new fee.", - "", - "# ", - "- `O(R)`.", - "- One storage mutation `O(R)`.", - "2d2042656e63686d61726b3a20372e333135202b2052202a20302e33323920c2b57320286d696e207371756172657320616e616c7973697329", - "# " - ], - "args": [ - { - "name": "index", - "type": "compact" - }, - { - "name": "fee", - "type": "compact" - } - ] - }, - { - "lookup": "1907", - "name": "set_account_id", - "docs": [ - "Change the account associated with a registrar.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must be the account", - "of the registrar whose index is `index`.", - "", - "- `index`: the index of the registrar whose fee is to be set.", - "- `new`: the new account ID.", - "", - "# ", - "- `O(R)`.", - "- One storage mutation `O(R)`.", - "2d2042656e63686d61726b3a20382e383233202b2052202a20302e333220c2b57320286d696e207371756172657320616e616c7973697329", - "# " - ], - "args": [ - { - "name": "index", - "type": "compact" - }, - { - "name": "new", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1908", - "name": "set_fields", - "docs": [ - "Set the field information for a registrar.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must be the account", - "of the registrar whose index is `index`.", - "", - "- `index`: the index of the registrar whose fee is to be set.", - "- `fields`: the fields that the registrar concerns themselves with.", - "", - "# ", - "- `O(R)`.", - "- One storage mutation `O(R)`.", - "2d2042656e63686d61726b3a20372e343634202b2052202a20302e33323520c2b57320286d696e207371756172657320616e616c7973697329", - "# " - ], - "args": [ - { - "name": "index", - "type": "compact" - }, - { - "name": "fields", - "type": "U64" - } - ] - }, - { - "lookup": "1909", - "name": "provide_judgement", - "docs": [ - "Provide a judgement for an account's identity.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must be the account", - "of the registrar whose index is `reg_index`.", - "", - "- `reg_index`: the index of the registrar whose judgement is being made.", - "- `target`: the account whose identity the judgement is upon. This must be an account", - " with a registered identity.", - "- `judgement`: the judgement of the registrar of index `reg_index` about `target`.", - "", - "Emits `JudgementGiven` if successful.", - "", - "# ", - "- `O(R + X)`.", - "- One balance-transfer operation.", - "- Up to one account-lookup operation.", - "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.", - "- One event.", - "# " - ], - "args": [ - { - "name": "reg_index", - "type": "compact" - }, - { - "name": "target", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "judgement", - "type": "pallet_identitytypesJudgement" - } - ] - }, - { - "lookup": "190a", - "name": "kill_identity", - "docs": [ - "Remove an account's identity and sub-account information and slash the deposits.", - "", - "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by", - "`Slash`. Verification request deposits are not returned; they should be cancelled", - "manually using `cancel_request`.", - "", - "The dispatch origin for this call must match `T::ForceOrigin`.", - "", - "- `target`: the account whose identity the judgement is upon. This must be an account", - " with a registered identity.", - "", - "Emits `IdentityKilled` if successful.", - "", - "# ", - "- `O(R + S + X)`.", - "- One balance-reserve operation.", - "- `S + 2` storage mutations.", - "- One event.", - "# " - ], - "args": [ - { - "name": "target", - "type": "sp_runtimemultiaddressMultiAddress" - } - ] - }, - { - "lookup": "190b", - "name": "add_sub", - "docs": [ - "Add the given account to the sender's subs.", - "", - "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", - "to the sender.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "sub identity of `sub`." - ], - "args": [ - { - "name": "sub", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "data", - "type": "pallet_identitytypesData" - } - ] - }, - { - "lookup": "190c", - "name": "rename_sub", - "docs": [ - "Alter the associated name of the given sub-account.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "sub identity of `sub`." - ], - "args": [ - { - "name": "sub", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "data", - "type": "pallet_identitytypesData" - } - ] - }, - { - "lookup": "190d", - "name": "remove_sub", - "docs": [ - "Remove the given account from the sender's subs.", - "", - "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", - "to the sender.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "sub identity of `sub`." - ], - "args": [ - { - "name": "sub", - "type": "sp_runtimemultiaddressMultiAddress" - } - ] - }, - { - "lookup": "190e", - "name": "quit_sub", - "docs": [ - "Remove the sender as a sub-account.", - "", - "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", - "to the sender (*not* the original depositor).", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "super-identity.", - "", - "NOTE: This should not normally be used, but is provided in the case that the non-", - "controller of an account is maliciously registered as a sub-account." - ], - "args": null - } - ], - "calls_value": { - "type": 314 - }, - "events": [ - { - "lookup": "1900", - "name": "IdentitySet", - "docs": [ - "A name was set or reset (which will remove all judgements). \\[who\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1901", - "name": "IdentityCleared", - "docs": [ - "A name was cleared, and the given balance returned. \\[who, deposit\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1902", - "name": "IdentityKilled", - "docs": [ - "A name was removed and the given balance slashed. \\[who, deposit\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1903", - "name": "JudgementRequested", - "docs": [ - "A judgement was asked from a registrar. \\[who, registrar_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "1904", - "name": "JudgementUnrequested", - "docs": [ - "A judgement request was retracted. \\[who, registrar_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "1905", - "name": "JudgementGiven", - "docs": [ - "A judgement was given by a registrar. \\[target, registrar_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "1906", - "name": "RegistrarAdded", - "docs": [ - "A registrar was added. \\[registrar_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "1907", - "name": "SubIdentityAdded", - "docs": [ - "A sub-identity was added to an identity and the deposit paid. \\[sub, main, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1908", - "name": "SubIdentityRemoved", - "docs": [ - "A sub-identity was removed from an identity and the deposit freed.", - "\\[sub, main, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1909", - "name": "SubIdentityRevoked", - "docs": [ - "A sub-identity was cleared, and the given deposit repatriated from the", - "main identity account to the sub-identity account. \\[sub, main, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - } - ], - "events_value": { - "type": 66 - }, - "constants": [ - { - "name": "BasicDeposit", - "type": "U128", - "type_value": 6, - "constants_value": "084cd2c2070000000000000000000000", - "docs": [ - " The amount held on deposit for a registered identity" - ] - }, - { - "name": "FieldDeposit", - "type": "U128", - "type_value": 6, - "constants_value": "0293b4f0010000000000000000000000", - "docs": [ - " The amount held on deposit per additional field for a registered identity." - ] - }, - { - "name": "SubAccountDeposit", - "type": "U128", - "type_value": 6, - "constants_value": "68425d8d010000000000000000000000", - "docs": [ - " The amount held on deposit for a registered subaccount. This should account for the fact", - " that one storage item's value will increase by the size of an account ID, and there will", - " be another trie item whose value is the size of an account ID plus 32 bytes." - ] - }, - { - "name": "MaxSubAccounts", - "type": "U32", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " The maximum number of sub-accounts allowed per identified account." - ] - }, - { - "name": "MaxAdditionalFields", - "type": "U32", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O", - " required to access an identity, but can be pretty high." - ] - }, - { - "name": "MaxRegistrars", - "type": "U32", - "type_value": 4, - "constants_value": "14000000", - "docs": [ - " Maxmimum number of registrars allowed in the system. Needed to bound the complexity", - " of, e.g., updating judgements." - ] - } - ], - "errors": [ - { - "name": "TooManySubAccounts", - "doc": [ - "Too many subs-accounts." - ] - }, - { - "name": "NotFound", - "doc": [ - "Account isn't found." - ] - }, - { - "name": "NotNamed", - "doc": [ - "Account isn't named." - ] - }, - { - "name": "EmptyIndex", - "doc": [ - "Empty index." - ] - }, - { - "name": "FeeChanged", - "doc": [ - "Fee is changed." - ] - }, - { - "name": "NoIdentity", - "doc": [ - "No identity found." - ] - }, - { - "name": "StickyJudgement", - "doc": [ - "Sticky judgement." - ] - }, - { - "name": "JudgementGiven", - "doc": [ - "Judgement given." - ] - }, - { - "name": "InvalidJudgement", - "doc": [ - "Invalid judgement." - ] - }, - { - "name": "InvalidIndex", - "doc": [ - "The index is invalid." - ] - }, - { - "name": "InvalidTarget", - "doc": [ - "The target is invalid." - ] - }, - { - "name": "TooManyFields", - "doc": [ - "Too many additional fields." - ] - }, - { - "name": "TooManyRegistrars", - "doc": [ - "Maximum amount of registrars reached. Cannot add any more." - ] - }, - { - "name": "AlreadyClaimed", - "doc": [ - "Account ID is already named." - ] - }, - { - "name": "NotSub", - "doc": [ - "Sender is not a sub-account." - ] - }, - { - "name": "NotOwned", - "doc": [ - "Sub-account isn't owned by sender." - ] - } - ], - "errors_value": { - "type": 552 - }, - "index": 25 - }, - { - "name": "Society", - "prefix": "Society", - "storage": [ - { - "name": "Founder", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The first member." - ] - }, - { - "name": "Rules", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 9 - }, - "fallback": "0x00", - "docs": [ - " A hash of the rules of this society concerning membership. Can only be set once and", - " only by the founder." - ] - }, - { - "name": "Candidates", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 553 - }, - "fallback": "0x00", - "docs": [ - " The current set of candidates; bidders that are attempting to become members." - ] - }, - { - "name": "SuspendedCandidates", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "TupleU128pallet_societyBidKind", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The set of suspended candidates." - ] - }, - { - "name": "Pot", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U128", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " Amount of our account balance that is specifically for the next round's bid(s)." - ] - }, - { - "name": "Head", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The most primary from the most recently approved members." - ] - }, - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 50 - }, - "fallback": "0x00", - "docs": [ - " The current set of members, ordered." - ] - }, - { - "name": "SuspendedMembers", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Bool", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The set of suspended members." - ] - }, - { - "name": "Bids", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 553 - }, - "fallback": "0x00", - "docs": [ - " The current bids, stored ordered by the value of the bid." - ] - }, - { - "name": "Vouching", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_societyVouchingStatus", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Members currently vouching or banned from vouching again" - ] - }, - { - "name": "Payouts", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Pending payouts; ordered by block number, with the amount that should be paid out." - ] - }, - { - "name": "Strikes", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00000000", - "docs": [ - " The ongoing number of losing votes cast by the member." - ] - }, - { - "name": "Votes", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "Tuple[U8; 32][U8; 32]" - ], - "value": "pallet_societyVote", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Double map from Candidate -> Voter -> (Maybe) Vote." - ] - }, - { - "name": "Defender", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "[U8; 32]", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The defending member currently being challenged." - ] - }, - { - "name": "DefenderVotes", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_societyVote", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Votes for the defender." - ] - }, - { - "name": "MaxMembers", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The max number of members for the society at one time." - ] - } - ], - "calls": [ - { - "lookup": "1a00", - "name": "bid", - "docs": [ - "A user outside of the society can make a bid for entry.", - "", - "Payment: `CandidateDeposit` will be reserved for making a bid. It is returned", - "when the bid becomes a member, or if the bid calls `unbid`.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `value`: A one time payment the bid would like to receive when joining the society.", - "", - "# ", - "Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)", - "- Storage Reads:", - "\t- One storage read to check for suspended candidate. O(1)", - "\t- One storage read to check for suspended member. O(1)", - "\t- One storage read to retrieve all current bids. O(B)", - "\t- One storage read to retrieve all current candidates. O(C)", - "\t- One storage read to retrieve all members. O(M)", - "- Storage Writes:", - "\t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization", - " w/ read)", - "\t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)", - "- Notable Computation:", - "\t- O(B + C + log M) search to check user is not already a part of society.", - "\t- O(log B) search to insert the new bid sorted.", - "- External Pallet Operations:", - "\t- One balance reserve operation. O(X)", - "\t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.", - "- Events:", - "\t- One event for new bid.", - "\t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.", - "", - "Total Complexity: O(M + B + C + logM + logB + X)", - "# " - ], - "args": [ - { - "name": "value", - "type": "U128" - } - ] - }, - { - "lookup": "1a01", - "name": "unbid", - "docs": [ - "A bidder can remove their bid for entry into society.", - "By doing so, they will have their candidate deposit returned or", - "they will unvouch their voucher.", - "", - "Payment: The bid deposit is unreserved if the user made a bid.", - "", - "The dispatch origin for this call must be _Signed_ and a bidder.", - "", - "Parameters:", - "- `pos`: Position in the `Bids` vector of the bid who wants to unbid.", - "", - "# ", - "Key: B (len of bids), X (balance unreserve)", - "- One storage read and write to retrieve and update the bids. O(B)", - "- Either one unreserve balance action O(X) or one vouching storage removal. O(1)", - "- One event.", - "", - "Total Complexity: O(B + X)", - "# " - ], - "args": [ - { - "name": "pos", - "type": "U32" - } - ] - }, - { - "lookup": "1a02", - "name": "vouch", - "docs": [ - "As a member, vouch for someone to join society by placing a bid on their behalf.", - "", - "There is no deposit required to vouch for a new bid, but a member can only vouch for", - "one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by", - "the suspension judgement origin, the member will be banned from vouching again.", - "", - "As a vouching member, you can claim a tip if the candidate is accepted. This tip will", - "be paid as a portion of the reward the member will receive for joining the society.", - "", - "The dispatch origin for this call must be _Signed_ and a member.", - "", - "Parameters:", - "- `who`: The user who you would like to vouch for.", - "- `value`: The total reward to be paid between you and the candidate if they become", - "a member in the society.", - "- `tip`: Your cut of the total `value` payout when the candidate is inducted into", - "the society. Tips larger than `value` will be saturated upon payout.", - "", - "# ", - "Key: B (len of bids), C (len of candidates), M (len of members)", - "- Storage Reads:", - "\t- One storage read to retrieve all members. O(M)", - "\t- One storage read to check member is not already vouching. O(1)", - "\t- One storage read to check for suspended candidate. O(1)", - "\t- One storage read to check for suspended member. O(1)", - "\t- One storage read to retrieve all current bids. O(B)", - "\t- One storage read to retrieve all current candidates. O(C)", - "- Storage Writes:", - "\t- One storage write to insert vouching status to the member. O(1)", - "\t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization", - " w/ read)", - "\t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)", - "- Notable Computation:", - "\t- O(log M) search to check sender is a member.", - "\t- O(B + C + log M) search to check user is not already a part of society.", - "\t- O(log B) search to insert the new bid sorted.", - "- External Pallet Operations:", - "\t- One balance reserve operation. O(X)", - "\t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.", - "- Events:", - "\t- One event for vouch.", - "\t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.", - "", - "Total Complexity: O(M + B + C + logM + logB + X)", - "# " - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "value", - "type": "U128" - }, - { - "name": "tip", - "type": "U128" - } - ] - }, - { - "lookup": "1a03", - "name": "unvouch", - "docs": [ - "As a vouching member, unvouch a bid. This only works while vouched user is", - "only a bidder (and not a candidate).", - "", - "The dispatch origin for this call must be _Signed_ and a vouching member.", - "", - "Parameters:", - "- `pos`: Position in the `Bids` vector of the bid who should be unvouched.", - "", - "# ", - "Key: B (len of bids)", - "- One storage read O(1) to check the signer is a vouching member.", - "- One storage mutate to retrieve and update the bids. O(B)", - "- One vouching storage removal. O(1)", - "- One event.", - "", - "Total Complexity: O(B)", - "# " - ], - "args": [ - { - "name": "pos", - "type": "U32" - } - ] - }, - { - "lookup": "1a04", - "name": "vote", - "docs": [ - "As a member, vote on a candidate.", - "", - "The dispatch origin for this call must be _Signed_ and a member.", - "", - "Parameters:", - "- `candidate`: The candidate that the member would like to bid on.", - "- `approve`: A boolean which says if the candidate should be approved (`true`) or", - " rejected (`false`).", - "", - "# ", - "Key: C (len of candidates), M (len of members)", - "- One storage read O(M) and O(log M) search to check user is a member.", - "- One account lookup.", - "- One storage read O(C) and O(C) search to check that user is a candidate.", - "- One storage write to add vote to votes. O(1)", - "- One event.", - "", - "Total Complexity: O(M + logM + C)", - "# " - ], - "args": [ - { - "name": "candidate", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "approve", - "type": "Bool" - } - ] - }, - { - "lookup": "1a05", - "name": "defender_vote", - "docs": [ - "As a member, vote on the defender.", - "", - "The dispatch origin for this call must be _Signed_ and a member.", - "", - "Parameters:", - "- `approve`: A boolean which says if the candidate should be", - "approved (`true`) or rejected (`false`).", - "", - "# ", - "- Key: M (len of members)", - "- One storage read O(M) and O(log M) search to check user is a member.", - "- One storage write to add vote to votes. O(1)", - "- One event.", - "", - "Total Complexity: O(M + logM)", - "# " - ], - "args": [ - { - "name": "approve", - "type": "Bool" - } - ] - }, - { - "lookup": "1a06", - "name": "payout", - "docs": [ - "Transfer the first matured payout for the sender and remove it from the records.", - "", - "NOTE: This extrinsic needs to be called multiple times to claim multiple matured", - "payouts.", - "", - "Payment: The member will receive a payment equal to their first matured", - "payout to their free balance.", - "", - "The dispatch origin for this call must be _Signed_ and a member with", - "payouts remaining.", - "", - "# ", - "Key: M (len of members), P (number of payouts for a particular member)", - "- One storage read O(M) and O(log M) search to check signer is a member.", - "- One storage read O(P) to get all payouts for a member.", - "- One storage read O(1) to get the current block number.", - "- One currency transfer call. O(X)", - "- One storage write or removal to update the member's payouts. O(P)", - "", - "Total Complexity: O(M + logM + P + X)", - "# " - ], - "args": null - }, - { - "lookup": "1a07", - "name": "found", - "docs": [ - "Found the society.", - "", - "This is done as a discrete action in order to allow for the", - "pallet to be included into a running chain and can only be done once.", - "", - "The dispatch origin for this call must be from the _FounderSetOrigin_.", - "", - "Parameters:", - "- `founder` - The first member and head of the newly founded society.", - "- `max_members` - The initial max number of members for the society.", - "- `rules` - The rules of this society concerning membership.", - "", - "# ", - "- Two storage mutates to set `Head` and `Founder`. O(1)", - "- One storage write to add the first member to society. O(1)", - "- One event.", - "", - "Total Complexity: O(1)", - "# " - ], - "args": [ - { - "name": "founder", - "type": "[U8; 32]" - }, - { - "name": "max_members", - "type": "U32" - }, - { - "name": "rules", - "type": "Vec" - } - ] - }, - { - "lookup": "1a08", - "name": "unfound", - "docs": [ - "Annul the founding of the society.", - "", - "The dispatch origin for this call must be Signed, and the signing account must be both", - "the `Founder` and the `Head`. This implies that it may only be done when there is one", - "member.", - "", - "# ", - "- Two storage reads O(1).", - "- Four storage removals O(1).", - "- One event.", - "", - "Total Complexity: O(1)", - "# " - ], - "args": null - }, - { - "lookup": "1a09", - "name": "judge_suspended_member", - "docs": [ - "Allow suspension judgement origin to make judgement on a suspended member.", - "", - "If a suspended member is forgiven, we simply add them back as a member, not affecting", - "any of the existing storage items for that member.", - "", - "If a suspended member is rejected, remove all associated storage items, including", - "their payouts, and remove any vouched bids they currently have.", - "", - "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", - "", - "Parameters:", - "- `who` - The suspended member to be judged.", - "- `forgive` - A boolean representing whether the suspension judgement origin forgives", - " (`true`) or rejects (`false`) a suspended member.", - "", - "# ", - "Key: B (len of bids), M (len of members)", - "- One storage read to check `who` is a suspended member. O(1)", - "- Up to one storage write O(M) with O(log M) binary search to add a member back to", - " society.", - "- Up to 3 storage removals O(1) to clean up a removed member.", - "- Up to one storage write O(B) with O(B) search to remove vouched bid from bids.", - "- Up to one additional event if unvouch takes place.", - "- One storage removal. O(1)", - "- One event for the judgement.", - "", - "Total Complexity: O(M + logM + B)", - "# " - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "forgive", - "type": "Bool" - } - ] - }, - { - "lookup": "1a0a", - "name": "judge_suspended_candidate", - "docs": [ - "Allow suspended judgement origin to make judgement on a suspended candidate.", - "", - "If the judgement is `Approve`, we add them to society as a member with the appropriate", - "payment for joining society.", - "", - "If the judgement is `Reject`, we either slash the deposit of the bid, giving it back", - "to the society treasury, or we ban the voucher from vouching again.", - "", - "If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go", - "through the induction process again.", - "", - "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", - "", - "Parameters:", - "- `who` - The suspended candidate to be judged.", - "- `judgement` - `Approve`, `Reject`, or `Rebid`.", - "", - "# ", - "Key: B (len of bids), M (len of members), X (balance action)", - "- One storage read to check `who` is a suspended candidate.", - "- One storage removal of the suspended candidate.", - "- Approve Logic", - "\t- One storage read to get the available pot to pay users with. O(1)", - "\t- One storage write to update the available pot. O(1)", - "\t- One storage read to get the current block number. O(1)", - "\t- One storage read to get all members. O(M)", - "\t- Up to one unreserve currency action.", - "\t- Up to two new storage writes to payouts.", - "\t- Up to one storage write with O(log M) binary search to add a member to society.", - "- Reject Logic", - "\t- Up to one repatriate reserved currency action. O(X)", - "\t- Up to one storage write to ban the vouching member from vouching again.", - "- Rebid Logic", - "\t- Storage mutate with O(log B) binary search to place the user back into bids.", - "- Up to one additional event if unvouch takes place.", - "- One storage removal.", - "- One event for the judgement.", - "", - "Total Complexity: O(M + logM + B + X)", - "# " - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "judgement", - "type": "pallet_societyJudgement" - } - ] - }, - { - "lookup": "1a0b", - "name": "set_max_members", - "docs": [ - "Allows root origin to change the maximum number of members in society.", - "Max membership count must be greater than 1.", - "", - "The dispatch origin for this call must be from _ROOT_.", - "", - "Parameters:", - "- `max` - The maximum number of members for the society.", - "", - "# ", - "- One storage write to update the max. O(1)", - "- One event.", - "", - "Total Complexity: O(1)", - "# " - ], - "args": [ - { - "name": "max", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 354 - }, - "events": [ - { - "lookup": "1a00", - "name": "Founded", - "docs": [ - "The society is founded by the given identity. \\[founder\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a01", - "name": "Bid", - "docs": [ - "A membership bid just happened. The given account is the candidate's ID and their offer", - "is the second. \\[candidate_id, offer\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1a02", - "name": "Vouch", - "docs": [ - "A membership bid just happened by vouching. The given account is the candidate's ID and", - "their offer is the second. The vouching party is the third. \\[candidate_id, offer,", - "vouching\\]" - ], - "args": [ - "[U8; 32]", - "U128", - "[U8; 32]" - ] - }, - { - "lookup": "1a03", - "name": "AutoUnbid", - "docs": [ - "A \\[candidate\\] was dropped (due to an excess of bids in the system)." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a04", - "name": "Unbid", - "docs": [ - "A \\[candidate\\] was dropped (by their request)." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a05", - "name": "Unvouch", - "docs": [ - "A \\[candidate\\] was dropped (by request of who vouched for them)." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a06", - "name": "Inducted", - "docs": [ - "A group of candidates have been inducted. The batch's primary is the first value, the", - "batch in full is the second. \\[primary, candidates\\]" - ], - "args": [ - "[U8; 32]", - "Vec<[U8; 32]>" - ] - }, - { - "lookup": "1a07", - "name": "SuspendedMemberJudgement", - "docs": [ - "A suspended member has been judged. \\[who, judged\\]" - ], - "args": [ - "[U8; 32]", - "Bool" - ] - }, - { - "lookup": "1a08", - "name": "CandidateSuspended", - "docs": [ - "A \\[candidate\\] has been suspended" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a09", - "name": "MemberSuspended", - "docs": [ - "A \\[member\\] has been suspended" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a0a", - "name": "Challenged", - "docs": [ - "A \\[member\\] has been challenged" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a0b", - "name": "Vote", - "docs": [ - "A vote has been placed \\[candidate, voter, vote\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "Bool" - ] - }, - { - "lookup": "1a0c", - "name": "DefenderVote", - "docs": [ - "A vote has been placed for a defending member \\[voter, vote\\]" - ], - "args": [ - "[U8; 32]", - "Bool" - ] - }, - { - "lookup": "1a0d", - "name": "NewMaxMembers", - "docs": [ - "A new \\[max\\] member count has been set" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "1a0e", - "name": "Unfounded", - "docs": [ - "Society is unfounded. \\[founder\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a0f", - "name": "Deposit", - "docs": [ - "Some funds were deposited into the society account. \\[value\\]" - ], - "args": [ - "U128" - ] - } - ], - "events_value": { - "type": 67 - }, - "constants": [ - { - "name": "PalletId", - "type": "[U8; 8]", - "type_value": 538, - "constants_value": "py/socie", - "docs": [ - " The societies's pallet id" - ] - }, - { - "name": "CandidateDeposit", - "type": "U128", - "type_value": 6, - "constants_value": "084cd2c2070000000000000000000000", - "docs": [ - " The minimum amount of a deposit required for a bid to be made." - ] - }, - { - "name": "WrongSideDeduction", - "type": "U128", - "type_value": 6, - "constants_value": "68425d8d010000000000000000000000", - "docs": [ - " The amount of the unpaid reward that gets deducted in the case that either a skeptic", - " doesn't vote or someone votes in the wrong way." - ] - }, - { - "name": "MaxStrikes", - "type": "U32", - "type_value": 4, - "constants_value": "0a000000", - "docs": [ - " The number of times a member may vote the wrong way (or not at all, when they are a", - " skeptic) before they become suspended." - ] - }, - { - "name": "PeriodSpend", - "type": "U128", - "type_value": 6, - "constants_value": "90d9120d840100000000000000000000", - "docs": [ - " The amount of incentive paid within each period. Doesn't include VoterTip." - ] - }, - { - "name": "RotationPeriod", - "type": "U32", - "type_value": 4, - "constants_value": "c0890100", - "docs": [ - " The number of blocks between candidate/membership rotation periods." - ] - }, - { - "name": "MaxLockDuration", - "type": "U32", - "type_value": 4, - "constants_value": "004eed00", - "docs": [ - " The maximum duration of the payout lock." - ] - }, - { - "name": "ChallengePeriod", - "type": "U32", - "type_value": 4, - "constants_value": "c0890100", - "docs": [ - " The number of blocks between membership challenges." - ] - }, - { - "name": "MaxCandidateIntake", - "type": "U32", - "type_value": 4, - "constants_value": "01000000", - "docs": [ - " The maximum number of candidates that we accept per round." - ] - } - ], - "errors": [ - { - "name": "BadPosition", - "doc": [ - "An incorrect position was provided." - ] - }, - { - "name": "NotMember", - "doc": [ - "User is not a member." - ] - }, - { - "name": "AlreadyMember", - "doc": [ - "User is already a member." - ] - }, - { - "name": "Suspended", - "doc": [ - "User is suspended." - ] - }, - { - "name": "NotSuspended", - "doc": [ - "User is not suspended." - ] - }, - { - "name": "NoPayout", - "doc": [ - "Nothing to payout." - ] - }, - { - "name": "AlreadyFounded", - "doc": [ - "Society already founded." - ] - }, - { - "name": "InsufficientPot", - "doc": [ - "Not enough in pot to accept candidate." - ] - }, - { - "name": "AlreadyVouching", - "doc": [ - "Member is already vouching or banned from vouching again." - ] - }, - { - "name": "NotVouching", - "doc": [ - "Member is not vouching." - ] - }, - { - "name": "Head", - "doc": [ - "Cannot remove the head of the chain." - ] - }, - { - "name": "Founder", - "doc": [ - "Cannot remove the founder." - ] - }, - { - "name": "AlreadyBid", - "doc": [ - "User has already made a bid." - ] - }, - { - "name": "AlreadyCandidate", - "doc": [ - "User is already a candidate." - ] - }, - { - "name": "NotCandidate", - "doc": [ - "User is not a candidate." - ] - }, - { - "name": "MaxMembers", - "doc": [ - "Too many members in the society." - ] - }, - { - "name": "NotFounder", - "doc": [ - "The caller is not the founder." - ] - }, - { - "name": "NotHead", - "doc": [ - "The caller is not the head." - ] - } - ], - "errors_value": { - "type": 562 - }, - "index": 26 - }, - { - "name": "Recovery", - "prefix": "Recovery", - "storage": [ - { - "name": "Recoverable", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_recoveryRecoveryConfig", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The set of recoverable accounts and their recovery configuration." - ] - }, - { - "name": "ActiveRecoveries", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Twox64Concat" - ], - "key_vec": [ - "Tuple[U8; 32][U8; 32]" - ], - "value": "pallet_recoveryActiveRecovery", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Active recovery attempts.", - "", - " First account is the account to be recovered, and the second account", - " is the user trying to recover the account." - ] - }, - { - "name": "Proxy", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "[U8; 32]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The list of allowed proxy accounts.", - "", - " Map from the user who can access it to the recovered account." - ] - } - ], - "calls": [ - { - "lookup": "1b00", - "name": "as_recovered", - "docs": [ - "Send a call through a recovered account.", - "", - "The dispatch origin for this call must be _Signed_ and registered to", - "be able to make calls on behalf of the recovered account.", - "", - "Parameters:", - "- `account`: The recovered account you want to make a call on-behalf-of.", - "- `call`: The call you want to make with the recovered account.", - "", - "# ", - "- The weight of the `call` + 10,000.", - "- One storage lookup to check account is recovered by `who`. O(1)", - "# " - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1b01", - "name": "set_recovered", - "docs": [ - "Allow ROOT to bypass the recovery process and set an a rescuer account", - "for a lost account directly.", - "", - "The dispatch origin for this call must be _ROOT_.", - "", - "Parameters:", - "- `lost`: The \"lost account\" to be recovered.", - "- `rescuer`: The \"rescuer account\" which can call as the lost account.", - "", - "# ", - "- One storage write O(1)", - "- One event", - "# " - ], - "args": [ - { - "name": "lost", - "type": "[U8; 32]" - }, - { - "name": "rescuer", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b02", - "name": "create_recovery", - "docs": [ - "Create a recovery configuration for your account. This makes your account recoverable.", - "", - "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance", - "will be reserved for storing the recovery configuration. This deposit is returned", - "in full when the user calls `remove_recovery`.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be", - " ordered and contain no duplicate values.", - "- `threshold`: The number of friends that must vouch for a recovery attempt before the", - " account can be recovered. Should be less than or equal to the length of the list of", - " friends.", - "- `delay_period`: The number of blocks after a recovery attempt is initialized that", - " needs to pass before the account can be recovered.", - "", - "# ", - "- Key: F (len of friends)", - "- One storage read to check that account is not already recoverable. O(1).", - "- A check that the friends list is sorted and unique. O(F)", - "- One currency reserve operation. O(X)", - "- One storage write. O(1). Codec O(F).", - "- One event.", - "", - "Total Complexity: O(F + X)", - "# " - ], - "args": [ - { - "name": "friends", - "type": "Vec<[U8; 32]>" - }, - { - "name": "threshold", - "type": "U16" - }, - { - "name": "delay_period", - "type": "U32" - } - ] - }, - { - "lookup": "1b03", - "name": "initiate_recovery", - "docs": [ - "Initiate the process for recovering a recoverable account.", - "", - "Payment: `RecoveryDeposit` balance will be reserved for initiating the", - "recovery process. This deposit will always be repatriated to the account", - "trying to be recovered. See `close_recovery`.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `account`: The lost account that you want to recover. This account needs to be", - " recoverable (i.e. have a recovery configuration).", - "", - "# ", - "- One storage read to check that account is recoverable. O(F)", - "- One storage read to check that this recovery process hasn't already started. O(1)", - "- One currency reserve operation. O(X)", - "- One storage read to get the current block number. O(1)", - "- One storage write. O(1).", - "- One event.", - "", - "Total Complexity: O(F + X)", - "# " - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b04", - "name": "vouch_recovery", - "docs": [ - "Allow a \"friend\" of a recoverable account to vouch for an active recovery", - "process for that account.", - "", - "The dispatch origin for this call must be _Signed_ and must be a \"friend\"", - "for the recoverable account.", - "", - "Parameters:", - "- `lost`: The lost account that you want to recover.", - "- `rescuer`: The account trying to rescue the lost account that you want to vouch for.", - "", - "The combination of these two parameters must point to an active recovery", - "process.", - "", - "# ", - "Key: F (len of friends in config), V (len of vouching friends)", - "- One storage read to get the recovery configuration. O(1), Codec O(F)", - "- One storage read to get the active recovery process. O(1), Codec O(V)", - "- One binary search to confirm caller is a friend. O(logF)", - "- One binary search to confirm caller has not already vouched. O(logV)", - "- One storage write. O(1), Codec O(V).", - "- One event.", - "", - "Total Complexity: O(F + logF + V + logV)", - "# " - ], - "args": [ - { - "name": "lost", - "type": "[U8; 32]" - }, - { - "name": "rescuer", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b05", - "name": "claim_recovery", - "docs": [ - "Allow a successful rescuer to claim their recovered account.", - "", - "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"", - "who has successfully completed the account recovery process: collected", - "`threshold` or more vouches, waited `delay_period` blocks since initiation.", - "", - "Parameters:", - "- `account`: The lost account that you want to claim has been successfully recovered by", - " you.", - "", - "# ", - "Key: F (len of friends in config), V (len of vouching friends)", - "- One storage read to get the recovery configuration. O(1), Codec O(F)", - "- One storage read to get the active recovery process. O(1), Codec O(V)", - "- One storage read to get the current block number. O(1)", - "- One storage write. O(1), Codec O(V).", - "- One event.", - "", - "Total Complexity: O(F + V)", - "# " - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b06", - "name": "close_recovery", - "docs": [ - "As the controller of a recoverable account, close an active recovery", - "process for your account.", - "", - "Payment: By calling this function, the recoverable account will receive", - "the recovery deposit `RecoveryDeposit` placed by the rescuer.", - "", - "The dispatch origin for this call must be _Signed_ and must be a", - "recoverable account with an active recovery process for it.", - "", - "Parameters:", - "- `rescuer`: The account trying to rescue this recoverable account.", - "", - "# ", - "Key: V (len of vouching friends)", - "- One storage read/remove to get the active recovery process. O(1), Codec O(V)", - "- One balance call to repatriate reserved. O(X)", - "- One event.", - "", - "Total Complexity: O(V + X)", - "# " - ], - "args": [ - { - "name": "rescuer", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b07", - "name": "remove_recovery", - "docs": [ - "Remove the recovery process for your account. Recovered accounts are still accessible.", - "", - "NOTE: The user must make sure to call `close_recovery` on all active", - "recovery attempts before calling this function else it will fail.", - "", - "Payment: By calling this function the recoverable account will unreserve", - "their recovery configuration deposit.", - "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)", - "", - "The dispatch origin for this call must be _Signed_ and must be a", - "recoverable account (i.e. has a recovery configuration).", - "", - "# ", - "Key: F (len of friends)", - "- One storage read to get the prefix iterator for active recoveries. O(1)", - "- One storage read/remove to get the recovery configuration. O(1), Codec O(F)", - "- One balance call to unreserved. O(X)", - "- One event.", - "", - "Total Complexity: O(F + X)", - "# " - ], - "args": null - }, - { - "lookup": "1b08", - "name": "cancel_recovered", - "docs": [ - "Cancel the ability to use `as_recovered` for `account`.", - "", - "The dispatch origin for this call must be _Signed_ and registered to", - "be able to make calls on behalf of the recovered account.", - "", - "Parameters:", - "- `account`: The recovered account you are able to call on-behalf-of.", - "", - "# ", - "- One storage mutation to check account is recovered by `who`. O(1)", - "# " - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 356 - }, - "events": [ - { - "lookup": "1b00", - "name": "RecoveryCreated", - "docs": [ - "A recovery process has been set up for an \\[account\\]." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1b01", - "name": "RecoveryInitiated", - "docs": [ - "A recovery process has been initiated for lost account by rescuer account.", - "\\[lost, rescuer\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1b02", - "name": "RecoveryVouched", - "docs": [ - "A recovery process for lost account by rescuer account has been vouched for by sender.", - "\\[lost, rescuer, sender\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1b03", - "name": "RecoveryClosed", - "docs": [ - "A recovery process for lost account by rescuer account has been closed.", - "\\[lost, rescuer\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1b04", - "name": "AccountRecovered", - "docs": [ - "Lost account has been successfully recovered by rescuer account.", - "\\[lost, rescuer\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1b05", - "name": "RecoveryRemoved", - "docs": [ - "A recovery process has been removed for an \\[account\\]." - ], - "args": [ - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 68 - }, - "constants": [ - { - "name": "ConfigDepositBase", - "type": "U128", - "type_value": 6, - "constants_value": "042669e1030000000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating a recovery configuration.", - "", - " This is held for an additional storage item whose value size is", - " `2 + sizeof(BlockNumber, Balance)` bytes." - ] - }, - { - "name": "FriendDepositFactor", - "type": "U128", - "type_value": 6, - "constants_value": "9a505763000000000000000000000000", - "docs": [ - " The amount of currency needed per additional user when creating a recovery", - " configuration.", - "", - " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage", - " value." - ] - }, - { - "name": "MaxFriends", - "type": "U16", - "type_value": 75, - "constants_value": "0900", - "docs": [ - " The maximum amount of friends allowed in a recovery configuration." - ] - }, - { - "name": "RecoveryDeposit", - "type": "U128", - "type_value": 6, - "constants_value": "042669e1030000000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for starting a recovery.", - "", - " This is primarily held for deterring malicious recovery attempts, and should", - " have a value large enough that a bad actor would choose not to place this", - " deposit. It also acts to fund additional storage item whose value size is", - " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable", - " threshold." - ] - } - ], - "errors": [ - { - "name": "NotAllowed", - "doc": [ - "User is not allowed to make a call on behalf of this account" - ] - }, - { - "name": "ZeroThreshold", - "doc": [ - "Threshold must be greater than zero" - ] - }, - { - "name": "NotEnoughFriends", - "doc": [ - "Friends list must be greater than zero and threshold" - ] - }, - { - "name": "MaxFriends", - "doc": [ - "Friends list must be less than max friends" - ] - }, - { - "name": "NotSorted", - "doc": [ - "Friends list must be sorted and free of duplicates" - ] - }, - { - "name": "NotRecoverable", - "doc": [ - "This account is not set up for recovery" - ] - }, - { - "name": "AlreadyRecoverable", - "doc": [ - "This account is already set up for recovery" - ] - }, - { - "name": "AlreadyStarted", - "doc": [ - "A recovery process has already started for this account" - ] - }, - { - "name": "NotStarted", - "doc": [ - "A recovery process has not started for this rescuer" - ] - }, - { - "name": "NotFriend", - "doc": [ - "This account is not a friend who can vouch" - ] - }, - { - "name": "DelayPeriod", - "doc": [ - "The friend must wait until the delay period to vouch for this recovery" - ] - }, - { - "name": "AlreadyVouched", - "doc": [ - "This user has already vouched for this recovery" - ] - }, - { - "name": "Threshold", - "doc": [ - "The threshold for recovering this account has not been met" - ] - }, - { - "name": "StillActive", - "doc": [ - "There are still active recovery attempts that need to be closed" - ] - }, - { - "name": "AlreadyProxy", - "doc": [ - "This account is already set up for recovery" - ] - }, - { - "name": "BadState", - "doc": [ - "Some internal state is broken." - ] - } - ], - "errors_value": { - "type": 565 - }, - "index": 27 - }, - { - "name": "Vesting", - "prefix": "Vesting", - "storage": [ - { - "name": "Vesting", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Information regarding the vesting of a given account." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "pallet_vestingReleases", - "PlainTypeValue": 568 - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " New networks start with latest version, as determined by the genesis build." - ] - } - ], - "calls": [ - { - "lookup": "1c00", - "name": "vest", - "docs": [ - "Unlock any vested funds of the sender account.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have funds still", - "locked under this pallet.", - "", - "Emits either `VestingCompleted` or `VestingUpdated`.", - "", - "# ", - "- `O(1)`.", - "- DbWeight: 2 Reads, 2 Writes", - " - Reads: Vesting Storage, Balances Locks, [Sender Account]", - " - Writes: Vesting Storage, Balances Locks, [Sender Account]", - "# " - ], - "args": null - }, - { - "lookup": "1c01", - "name": "vest_other", - "docs": [ - "Unlock any vested funds of a `target` account.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `target`: The account whose vested funds should be unlocked. Must have funds still", - "locked under this pallet.", - "", - "Emits either `VestingCompleted` or `VestingUpdated`.", - "", - "# ", - "- `O(1)`.", - "- DbWeight: 3 Reads, 3 Writes", - " - Reads: Vesting Storage, Balances Locks, Target Account", - " - Writes: Vesting Storage, Balances Locks, Target Account", - "# " - ], - "args": [ - { - "name": "target", - "type": "sp_runtimemultiaddressMultiAddress" - } - ] - }, - { - "lookup": "1c02", - "name": "vested_transfer", - "docs": [ - "Create a vested transfer.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `target`: The account receiving the vested funds.", - "- `schedule`: The vesting schedule attached to the transfer.", - "", - "Emits `VestingCreated`.", - "", - "NOTE: This will unlock all schedules through the current block.", - "", - "# ", - "- `O(1)`.", - "- DbWeight: 3 Reads, 3 Writes", - " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]", - " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]", - "# " - ], - "args": [ - { - "name": "target", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "schedule", - "type": "pallet_vestingvesting_infoVestingInfo" - } - ] - }, - { - "lookup": "1c03", - "name": "force_vested_transfer", - "docs": [ - "Force a vested transfer.", - "", - "The dispatch origin for this call must be _Root_.", - "", - "- `source`: The account whose funds should be transferred.", - "- `target`: The account that should be transferred the vested funds.", - "- `schedule`: The vesting schedule attached to the transfer.", - "", - "Emits `VestingCreated`.", - "", - "NOTE: This will unlock all schedules through the current block.", - "", - "# ", - "- `O(1)`.", - "- DbWeight: 4 Reads, 4 Writes", - " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account", - " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account", - "# " - ], - "args": [ - { - "name": "source", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "target", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "schedule", - "type": "pallet_vestingvesting_infoVestingInfo" - } - ] - }, - { - "lookup": "1c04", - "name": "merge_schedules", - "docs": [ - "Merge two vesting schedules together, creating a new vesting schedule that unlocks over", - "the highest possible start and end blocks. If both schedules have already started the", - "current block will be used as the schedule start; with the caveat that if one schedule", - "is finished by the current block, the other will be treated as the new merged schedule,", - "unmodified.", - "", - "NOTE: If `schedule1_index == schedule2_index` this is a no-op.", - "NOTE: This will unlock all schedules through the current block prior to merging.", - "NOTE: If both schedules have ended by the current block, no new schedule will be created", - "and both will be removed.", - "", - "Merged schedule attributes:", - "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,", - " current_block)`.", - "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`.", - "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `schedule1_index`: index of the first schedule to merge.", - "- `schedule2_index`: index of the second schedule to merge." - ], - "args": [ - { - "name": "schedule1_index", - "type": "U32" - }, - { - "name": "schedule2_index", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 357 - }, - "events": [ - { - "lookup": "1c00", - "name": "VestingUpdated", - "docs": [ - "The amount vested has been updated. This could indicate a change in funds available.", - "The balance given is the amount which is left unvested (and thus locked).", - "\\[account, unvested\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1c01", - "name": "VestingCompleted", - "docs": [ - "An \\[account\\] has become fully vested." - ], - "args": [ - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 69 - }, - "constants": [ - { - "name": "MinVestedTransfer", - "type": "U128", - "type_value": 6, - "constants_value": "34a1aec6000000000000000000000000", - "docs": [ - " The minimum amount transferred to call `vested_transfer`." - ] - }, - { - "name": "MaxVestingSchedules", - "type": "U32", - "type_value": 4, - "constants_value": "1c000000", - "docs": null - } - ], - "errors": [ - { - "name": "NotVesting", - "doc": [ - "The account given is not vesting." - ] - }, - { - "name": "AtMaxVestingSchedules", - "doc": [ - "The account already has `MaxVestingSchedules` count of schedules and thus", - "cannot add another one. Consider merging existing schedules in order to add another." - ] - }, - { - "name": "AmountLow", - "doc": [ - "Amount being transferred is too low to create a vesting schedule." - ] - }, - { - "name": "ScheduleIndexOutOfBounds", - "doc": [ - "An index was out of bounds of the vesting schedules." - ] - }, - { - "name": "InvalidScheduleParams", - "doc": [ - "Failed to create a new schedule because some parameter was invalid." - ] - } - ], - "errors_value": { - "type": 569 - }, - "index": 28 - }, - { - "name": "Scheduler", - "prefix": "Scheduler", - "storage": [ - { - "name": "Agenda", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec>", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Items to be executed, indexed by the block number that they should be executed on." - ] - }, - { - "name": "Lookup", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "Vec" - ], - "value": "TupleU32U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Lookup from identity to the block number and index of the task." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "pallet_schedulerReleases", - "PlainTypeValue": 580 - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " New networks start with last version." - ] - } - ], - "calls": [ - { - "lookup": "1d00", - "name": "schedule", - "docs": [ - "Anonymously schedule a task.", - "", - "# ", - "- S = Number of already scheduled calls", - "2d2042617365205765696768743a2032322e3239202b202e313236202a205320c2b573", - "- DB Weight:", - " - Read: Agenda", - " - Write: Agenda", - "- Will use base weight of 25 which should be good for up to 30 scheduled calls", - "# " - ], - "args": [ - { - "name": "when", - "type": "U32" - }, - { - "name": "maybe_periodic", - "type": "option" - }, - { - "name": "priority", - "type": "U8" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1d01", - "name": "cancel", - "docs": [ - "Cancel an anonymously scheduled task.", - "", - "# ", - "- S = Number of already scheduled calls", - "2d2042617365205765696768743a2032322e3135202b20322e383639202a205320c2b573", - "- DB Weight:", - " - Read: Agenda", - " - Write: Agenda, Lookup", - "- Will use base weight of 100 which should be good for up to 30 scheduled calls", - "# " - ], - "args": [ - { - "name": "when", - "type": "U32" - }, - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "1d02", - "name": "schedule_named", - "docs": [ - "Schedule a named task.", - "", - "# ", - "- S = Number of already scheduled calls", - "2d2042617365205765696768743a2032392e36202b202e313539202a205320c2b573", - "- DB Weight:", - " - Read: Agenda, Lookup", - " - Write: Agenda, Lookup", - "- Will use base weight of 35 which should be good for more than 30 scheduled calls", - "# " - ], - "args": [ - { - "name": "id", - "type": "Vec" - }, - { - "name": "when", - "type": "U32" - }, - { - "name": "maybe_periodic", - "type": "option" - }, - { - "name": "priority", - "type": "U8" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1d03", - "name": "cancel_named", - "docs": [ - "Cancel a named scheduled task.", - "", - "# ", - "- S = Number of already scheduled calls", - "2d2042617365205765696768743a2032342e3931202b20322e393037202a205320c2b573", - "- DB Weight:", - " - Read: Agenda, Lookup", - " - Write: Agenda, Lookup", - "- Will use base weight of 100 which should be good for up to 30 scheduled calls", - "# " - ], - "args": [ - { - "name": "id", - "type": "Vec" - } - ] - }, - { - "lookup": "1d04", - "name": "schedule_after", - "docs": [ - "Anonymously schedule a task after a delay.", - "", - "# ", - "Same as [`schedule`].", - "# " - ], - "args": [ - { - "name": "after", - "type": "U32" - }, - { - "name": "maybe_periodic", - "type": "option" - }, - { - "name": "priority", - "type": "U8" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1d05", - "name": "schedule_named_after", - "docs": [ - "Schedule a named task after a delay.", - "", - "# ", - "Same as [`schedule_named`](Self::schedule_named).", - "# " - ], - "args": [ - { - "name": "id", - "type": "Vec" - }, - { - "name": "after", - "type": "U32" - }, - { - "name": "maybe_periodic", - "type": "option" - }, - { - "name": "priority", - "type": "U8" - }, - { - "name": "call", - "type": "Call" - } - ] - } - ], - "calls_value": { - "type": 359 - }, - "events": [ - { - "lookup": "1d00", - "name": "Scheduled", - "docs": [ - "Scheduled some task. \\[when, index\\]" - ], - "args": [ - "U32", - "U32" - ] - }, - { - "lookup": "1d01", - "name": "Canceled", - "docs": [ - "Canceled some task. \\[when, index\\]" - ], - "args": [ - "U32", - "U32" - ] - }, - { - "lookup": "1d02", - "name": "Dispatched", - "docs": [ - "Dispatched some task. \\[task, id, result\\]" - ], - "args": [ - "TupleU32U32", - "option>", - "Results" - ] - } - ], - "events_value": { - "type": 70 - }, - "constants": [ - { - "name": "MaximumWeight", - "type": "U64", - "type_value": 8, - "constants_value": "00806e8774010000", - "docs": [ - " The maximum weight that may be scheduled per block for any dispatchables of less", - " priority than `schedule::HARD_DEADLINE`." - ] - }, - { - "name": "MaxScheduledPerBlock", - "type": "U32", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " The maximum number of scheduled calls in the queue for a single block.", - " Not strictly enforced, but used for weight estimation." - ] - } - ], - "errors": [ - { - "name": "FailedToSchedule", - "doc": [ - "Failed to schedule a call" - ] - }, - { - "name": "NotFound", - "doc": [ - "Cannot find the scheduled call." - ] - }, - { - "name": "TargetBlockNumberInPast", - "doc": [ - "Given target block number is in the past." - ] - }, - { - "name": "RescheduleNoChange", - "doc": [ - "Reschedule failed because it does not change scheduled time." - ] - } - ], - "errors_value": { - "type": 581 - }, - "index": 29 - }, - { - "name": "Proxy", - "prefix": "Proxy", - "storage": [ - { - "name": "Proxies", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "TupleVecU128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000000000000000000000000000", - "docs": [ - " The set of account proxies. Maps the account which has delegated to the accounts", - " which are being delegated to, together with the amount held on deposit." - ] - }, - { - "name": "Announcements", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "TupleVecU128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000000000000000000000000000", - "docs": [ - " The announcements made by the proxy (key)." - ] - } - ], - "calls": [ - { - "lookup": "1e00", - "name": "proxy", - "docs": [ - "Dispatch the given `call` from an account that the sender is authorised for through", - "`add_proxy`.", - "", - "Removes any corresponding announcement(s).", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `real`: The account that the proxy will make a call on behalf of.", - "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", - "- `call`: The call to be made by the `real` account.", - "", - "# ", - "Weight is a function of the number of proxies the user has (P).", - "# " - ], - "args": [ - { - "name": "real", - "type": "[U8; 32]" - }, - { - "name": "force_proxy_type", - "type": "option" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1e01", - "name": "add_proxy", - "docs": [ - "Register a proxy account for the sender that is able to make calls on its behalf.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `proxy`: The account that the `caller` would like to make a proxy.", - "- `proxy_type`: The permissions allowed for this proxy account.", - "- `delay`: The announcement period required of the initial proxy. Will generally be", - "zero.", - "", - "# ", - "Weight is a function of the number of proxies the user has (P).", - "# " - ], - "args": [ - { - "name": "delegate", - "type": "[U8; 32]" - }, - { - "name": "proxy_type", - "type": "kusama_runtimeProxyType" - }, - { - "name": "delay", - "type": "U32" - } - ] - }, - { - "lookup": "1e02", - "name": "remove_proxy", - "docs": [ - "Unregister a proxy account for the sender.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `proxy`: The account that the `caller` would like to remove as a proxy.", - "- `proxy_type`: The permissions currently enabled for the removed proxy account.", - "", - "# ", - "Weight is a function of the number of proxies the user has (P).", - "# " - ], - "args": [ - { - "name": "delegate", - "type": "[U8; 32]" - }, - { - "name": "proxy_type", - "type": "kusama_runtimeProxyType" - }, - { - "name": "delay", - "type": "U32" - } - ] - }, - { - "lookup": "1e03", - "name": "remove_proxies", - "docs": [ - "Unregister all proxy accounts for the sender.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "WARNING: This may be called on accounts created by `anonymous`, however if done, then", - "the unreserved fees will be inaccessible. **All access to this account will be lost.**", - "", - "# ", - "Weight is a function of the number of proxies the user has (P).", - "# " - ], - "args": null - }, - { - "lookup": "1e04", - "name": "anonymous", - "docs": [ - "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", - "initialize it with a proxy of `proxy_type` for `origin` sender.", - "", - "Requires a `Signed` origin.", - "", - "- `proxy_type`: The type of the proxy that the sender will be registered as over the", - "new account. This will almost always be the most permissive `ProxyType` possible to", - "allow for maximum flexibility.", - "- `index`: A disambiguation index, in case this is called multiple times in the same", - "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", - "want to use `0`.", - "- `delay`: The announcement period required of the initial proxy. Will generally be", - "zero.", - "", - "Fails with `Duplicate` if this has already been called in this transaction, from the", - "same sender, with the same parameters.", - "", - "Fails if there are insufficient funds to pay for deposit.", - "", - "# ", - "Weight is a function of the number of proxies the user has (P).", - "# ", - "TODO: Might be over counting 1 read" - ], - "args": [ - { - "name": "proxy_type", - "type": "kusama_runtimeProxyType" - }, - { - "name": "delay", - "type": "U32" - }, - { - "name": "index", - "type": "U16" - } - ] - }, - { - "lookup": "1e05", - "name": "kill_anonymous", - "docs": [ - "Removes a previously spawned anonymous proxy.", - "", - "WARNING: **All access to this account will be lost.** Any funds held in it will be", - "inaccessible.", - "", - "Requires a `Signed` origin, and the sender account must have been created by a call to", - "`anonymous` with corresponding parameters.", - "", - "- `spawner`: The account that originally called `anonymous` to create this account.", - "- `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", - "- `proxy_type`: The proxy type originally passed to `anonymous`.", - "- `height`: The height of the chain when the call to `anonymous` was processed.", - "- `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", - "", - "Fails with `NoPermission` in case the caller is not a previously created anonymous", - "account whose `anonymous` call has corresponding parameters.", - "", - "# ", - "Weight is a function of the number of proxies the user has (P).", - "# " - ], - "args": [ - { - "name": "spawner", - "type": "[U8; 32]" - }, - { - "name": "proxy_type", - "type": "kusama_runtimeProxyType" - }, - { - "name": "index", - "type": "U16" - }, - { - "name": "height", - "type": "compact" - }, - { - "name": "ext_index", - "type": "compact" - } - ] - }, - { - "lookup": "1e06", - "name": "announce", - "docs": [ - "Publish the hash of a proxy-call that will be made in the future.", - "", - "This must be called some number of blocks before the corresponding `proxy` is attempted", - "if the delay associated with the proxy relationship is greater than zero.", - "", - "No more than `MaxPending` announcements may be made at any one time.", - "", - "This will take a deposit of `AnnouncementDepositFactor` as well as", - "`AnnouncementDepositBase` if there are no other pending announcements.", - "", - "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", - "", - "Parameters:", - "- `real`: The account that the proxy will make a call on behalf of.", - "- `call_hash`: The hash of the call to be made by the `real` account.", - "", - "# ", - "Weight is a function of:", - "- A: the number of announcements made.", - "- P: the number of proxies the user has.", - "# " - ], - "args": [ - { - "name": "real", - "type": "[U8; 32]" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1e07", - "name": "remove_announcement", - "docs": [ - "Remove a given announcement.", - "", - "May be called by a proxy account to remove a call they previously announced and return", - "the deposit.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `real`: The account that the proxy will make a call on behalf of.", - "- `call_hash`: The hash of the call to be made by the `real` account.", - "", - "# ", - "Weight is a function of:", - "- A: the number of announcements made.", - "- P: the number of proxies the user has.", - "# " - ], - "args": [ - { - "name": "real", - "type": "[U8; 32]" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1e08", - "name": "reject_announcement", - "docs": [ - "Remove the given announcement of a delegate.", - "", - "May be called by a target (proxied) account to remove a call that one of their delegates", - "(`delegate`) has announced they want to execute. The deposit is returned.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `delegate`: The account that previously announced the call.", - "- `call_hash`: The hash of the call to be made.", - "", - "# ", - "Weight is a function of:", - "- A: the number of announcements made.", - "- P: the number of proxies the user has.", - "# " - ], - "args": [ - { - "name": "delegate", - "type": "[U8; 32]" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1e09", - "name": "proxy_announced", - "docs": [ - "Dispatch the given `call` from an account that the sender is authorized for through", - "`add_proxy`.", - "", - "Removes any corresponding announcement(s).", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `real`: The account that the proxy will make a call on behalf of.", - "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", - "- `call`: The call to be made by the `real` account.", - "", - "# ", - "Weight is a function of:", - "- A: the number of announcements made.", - "- P: the number of proxies the user has.", - "# " - ], - "args": [ - { - "name": "delegate", - "type": "[U8; 32]" - }, - { - "name": "real", - "type": "[U8; 32]" - }, - { - "name": "force_proxy_type", - "type": "option" - }, - { - "name": "call", - "type": "Call" - } - ] - } - ], - "calls_value": { - "type": 361 - }, - "events": [ - { - "lookup": "1e00", - "name": "ProxyExecuted", - "docs": [ - "A proxy was executed correctly, with the given \\[result\\]." - ], - "args": [ - "Results" - ] - }, - { - "lookup": "1e01", - "name": "AnonymousCreated", - "docs": [ - "Anonymous account has been created by new proxy with given", - "disambiguation index and proxy type. \\[anonymous, who, proxy_type,", - "disambiguation_index\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "kusama_runtimeProxyType", - "U16" - ] - }, - { - "lookup": "1e02", - "name": "Announced", - "docs": [ - "An announcement was placed to make a call in the future. \\[real, proxy, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1e03", - "name": "ProxyAdded", - "docs": [ - "A proxy was added. \\[delegator, delegatee, proxy_type, delay\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "kusama_runtimeProxyType", - "U32" - ] - } - ], - "events_value": { - "type": 73 - }, - "constants": [ - { - "name": "ProxyDepositBase", - "type": "U128", - "type_value": 6, - "constants_value": "b07d3b870f0000000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating a proxy.", - "", - " This is held for an additional storage item whose value size is", - " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." - ] - }, - { - "name": "ProxyDepositFactor", - "type": "U128", - "type_value": 6, - "constants_value": "34738e06000000000000000000000000", - "docs": [ - " The amount of currency needed per proxy added.", - "", - " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", - " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", - " into account `32 + proxy_type.encode().len()` bytes of data." - ] - }, - { - "name": "MaxProxies", - "type": "U32", - "type_value": 4, - "constants_value": "20000000", - "docs": [ - " The maximum amount of proxies allowed for a single account." - ] - }, - { - "name": "MaxPending", - "type": "U32", - "type_value": 4, - "constants_value": "20000000", - "docs": [ - " The maximum amount of time-delayed announcements that are allowed to be pending." - ] - }, - { - "name": "AnnouncementDepositBase", - "type": "U128", - "type_value": 6, - "constants_value": "b07d3b870f0000000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating an announcement.", - "", - " This is held when a new storage item holding a `Balance` is created (typically 16", - " bytes)." - ] - }, - { - "name": "AnnouncementDepositFactor", - "type": "U128", - "type_value": 6, - "constants_value": "68e61c0d000000000000000000000000", - "docs": [ - " The amount of currency needed per announcement made.", - "", - " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", - " into a pre-existing storage value." - ] - } - ], - "errors": [ - { - "name": "TooMany", - "doc": [ - "There are too many proxies registered or too many announcements pending." - ] - }, - { - "name": "NotFound", - "doc": [ - "Proxy registration not found." - ] - }, - { - "name": "NotProxy", - "doc": [ - "Sender is not a proxy of the account to be proxied." - ] - }, - { - "name": "Unproxyable", - "doc": [ - "A call which is incompatible with the proxy type's filter was attempted." - ] - }, - { - "name": "Duplicate", - "doc": [ - "Account is already a proxy." - ] - }, - { - "name": "NoPermission", - "doc": [ - "Call may not be made by proxy because it may escalate its privileges." - ] - }, - { - "name": "Unannounced", - "doc": [ - "Announcement, if made at all, was made too recently." - ] - }, - { - "name": "NoSelfProxy", - "doc": [ - "Cannot add self as proxy." - ] - } - ], - "errors_value": { - "type": 590 - }, - "index": 30 - }, - { - "name": "Multisig", - "prefix": "Multisig", - "storage": [ - { - "name": "Multisigs", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Blake2_128Concat" - ], - "key_vec": [ - "Tuple[U8; 32][U8; 32]" - ], - "value": "pallet_multisigMultisig", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The set of open multisig operations." - ] - }, - { - "name": "Calls", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "TupleVec[U8; 32]U128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": null - } - ], - "calls": [ - { - "lookup": "1f00", - "name": "as_multi_threshold_1", - "docs": [ - "Immediately dispatch a multi-signature call using a single approval from the caller.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `other_signatories`: The accounts (other than the sender) who are part of the", - "multi-signature, but do not participate in the approval process.", - "- `call`: The call to be executed.", - "", - "Result is equivalent to the dispatched result.", - "", - "# ", - "O(Z + C) where Z is the length of the call and C its execution weight.", - "-------------------------------", - "- DB Weight: None", - "- Plus Call Weight", - "# " - ], - "args": [ - { - "name": "other_signatories", - "type": "Vec<[U8; 32]>" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1f01", - "name": "as_multi", - "docs": [ - "Register approval for a dispatch to be made from a deterministic composite account if", - "approved by a total of `threshold - 1` of `other_signatories`.", - "", - "If there are enough, then dispatch the call.", - "", - "Payment: `DepositBase` will be reserved if this is the first approval, plus", - "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", - "is cancelled.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `threshold`: The total number of approvals for this dispatch before it is executed.", - "- `other_signatories`: The accounts (other than the sender) who can approve this", - "dispatch. May not be empty.", - "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", - "not the first approval, then it must be `Some`, with the timepoint (block number and", - "transaction index) of the first approval transaction.", - "- `call`: The call to be executed.", - "", - "NOTE: Unless this is the final approval, you will generally want to use", - "`approve_as_multi` instead, since it only requires a hash of the call.", - "", - "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", - "on success, result is `Ok` and the result from the interior call, if it was executed,", - "may be found in the deposited `MultisigExecuted` event.", - "", - "# ", - "- `O(S + Z + Call)`.", - "- Up to one balance-reserve or unreserve operation.", - "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", - " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", - "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", - "- One encode & hash, both of complexity `O(S)`.", - "- Up to one binary search and insert (`O(logS + S)`).", - "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", - "- One event.", - "- The weight of the `call`.", - "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", - " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", - "-------------------------------", - "- DB Weight:", - " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", - " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", - "- Plus Call Weight", - "# " - ], - "args": [ - { - "name": "threshold", - "type": "U16" - }, - { - "name": "other_signatories", - "type": "Vec<[U8; 32]>" - }, - { - "name": "maybe_timepoint", - "type": "option" - }, - { - "name": "call", - "type": "Vec" - }, - { - "name": "store_call", - "type": "Bool" - }, - { - "name": "max_weight", - "type": "U64" - } - ] - }, - { - "lookup": "1f02", - "name": "approve_as_multi", - "docs": [ - "Register approval for a dispatch to be made from a deterministic composite account if", - "approved by a total of `threshold - 1` of `other_signatories`.", - "", - "Payment: `DepositBase` will be reserved if this is the first approval, plus", - "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", - "is cancelled.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `threshold`: The total number of approvals for this dispatch before it is executed.", - "- `other_signatories`: The accounts (other than the sender) who can approve this", - "dispatch. May not be empty.", - "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", - "not the first approval, then it must be `Some`, with the timepoint (block number and", - "transaction index) of the first approval transaction.", - "- `call_hash`: The hash of the call to be executed.", - "", - "NOTE: If this is the final approval, you will want to use `as_multi` instead.", - "", - "# ", - "- `O(S)`.", - "- Up to one balance-reserve or unreserve operation.", - "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", - " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", - "- One encode & hash, both of complexity `O(S)`.", - "- Up to one binary search and insert (`O(logS + S)`).", - "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", - "- One event.", - "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", - " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", - "----------------------------------", - "- DB Weight:", - " - Read: Multisig Storage, [Caller Account]", - " - Write: Multisig Storage, [Caller Account]", - "# " - ], - "args": [ - { - "name": "threshold", - "type": "U16" - }, - { - "name": "other_signatories", - "type": "Vec<[U8; 32]>" - }, - { - "name": "maybe_timepoint", - "type": "option" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - }, - { - "name": "max_weight", - "type": "U64" - } - ] - }, - { - "lookup": "1f03", - "name": "cancel_as_multi", - "docs": [ - "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", - "for this operation will be unreserved on success.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `threshold`: The total number of approvals for this dispatch before it is executed.", - "- `other_signatories`: The accounts (other than the sender) who can approve this", - "dispatch. May not be empty.", - "- `timepoint`: The timepoint (block number and transaction index) of the first approval", - "transaction for this dispatch.", - "- `call_hash`: The hash of the call to be executed.", - "", - "# ", - "- `O(S)`.", - "- Up to one balance-reserve or unreserve operation.", - "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", - " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", - "- One encode & hash, both of complexity `O(S)`.", - "- One event.", - "- I/O: 1 read `O(S)`, one remove.", - "- Storage: removes one item.", - "----------------------------------", - "- DB Weight:", - " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", - " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", - "# " - ], - "args": [ - { - "name": "threshold", - "type": "U16" - }, - { - "name": "other_signatories", - "type": "Vec<[U8; 32]>" - }, - { - "name": "timepoint", - "type": "pallet_multisigTimepoint" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 363 - }, - "events": [ - { - "lookup": "1f00", - "name": "NewMultisig", - "docs": [ - "A new multisig operation has begun. \\[approving, multisig, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1f01", - "name": "MultisigApproval", - "docs": [ - "A multisig operation has been approved by someone.", - "\\[approving, timepoint, multisig, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "pallet_multisigTimepoint", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1f02", - "name": "MultisigExecuted", - "docs": [ - "A multisig operation has been executed. \\[approving, timepoint, multisig, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "pallet_multisigTimepoint", - "[U8; 32]", - "[U8; 32]", - "Results" - ] - }, - { - "lookup": "1f03", - "name": "MultisigCancelled", - "docs": [ - "A multisig operation has been cancelled. \\[cancelling, timepoint, multisig, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "pallet_multisigTimepoint", - "[U8; 32]", - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 76 - }, - "constants": [ - { - "name": "DepositBase", - "type": "U128", - "type_value": 6, - "constants_value": "f07520970f0000000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating a multisig execution or to", - " store a dispatch call for later.", - "", - " This is held for an additional storage item whose value size is", - " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", - " `32 + sizeof(AccountId)` bytes." - ] - }, - { - "name": "DepositFactor", - "type": "U128", - "type_value": 6, - "constants_value": "80965b06000000000000000000000000", - "docs": [ - " The amount of currency needed per unit threshold when creating a multisig execution.", - "", - " This is held for adding 32 bytes more into a pre-existing storage value." - ] - }, - { - "name": "MaxSignatories", - "type": "U16", - "type_value": 75, - "constants_value": "6400", - "docs": [ - " The maximum amount of signatories allowed in the multisig." - ] - } - ], - "errors": [ - { - "name": "MinimumThreshold", - "doc": [ - "Threshold must be 2 or greater." - ] - }, - { - "name": "AlreadyApproved", - "doc": [ - "Call is already approved by this signatory." - ] - }, - { - "name": "NoApprovalsNeeded", - "doc": [ - "Call doesn't need any (more) approvals." - ] - }, - { - "name": "TooFewSignatories", - "doc": [ - "There are too few signatories in the list." - ] - }, - { - "name": "TooManySignatories", - "doc": [ - "There are too many signatories in the list." - ] - }, - { - "name": "SignatoriesOutOfOrder", - "doc": [ - "The signatories were provided out of order; they should be ordered." - ] - }, - { - "name": "SenderInSignatories", - "doc": [ - "The sender was contained in the other signatories; it shouldn't be." - ] - }, - { - "name": "NotFound", - "doc": [ - "Multisig operation not found when attempting to cancel." - ] - }, - { - "name": "NotOwner", - "doc": [ - "Only the account that originally created the multisig is able to cancel it." - ] - }, - { - "name": "NoTimepoint", - "doc": [ - "No timepoint was given, yet the multisig operation is already underway." - ] - }, - { - "name": "WrongTimepoint", - "doc": [ - "A different timepoint was given to the multisig operation that is underway." - ] - }, - { - "name": "UnexpectedTimepoint", - "doc": [ - "A timepoint was given, yet no multisig operation is underway." - ] - }, - { - "name": "MaxWeightTooLow", - "doc": [ - "The maximum weight information provided was too low." - ] - }, - { - "name": "AlreadyStored", - "doc": [ - "The data to be stored is already stored." - ] - } - ], - "errors_value": { - "type": 594 - }, - "index": 31 - }, - { - "name": "Bounties", - "prefix": "Bounties", - "storage": [ - { - "name": "BountyCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Number of bounty proposals that have been made." - ] - }, - { - "name": "Bounties", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "pallet_bountiesBounty", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Bounties that have been made." - ] - }, - { - "name": "BountyDescriptions", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The description of each bounty." - ] - }, - { - "name": "BountyApprovals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 211 - }, - "fallback": "0x00", - "docs": [ - " Bounty indices that have been approved but not yet funded." - ] - } - ], - "calls": [ - { - "lookup": "2300", - "name": "propose_bounty", - "docs": [ - "Propose a new bounty.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", - "`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,", - "or slashed when rejected.", - "", - "- `curator`: The curator account whom will manage this bounty.", - "- `fee`: The curator fee.", - "- `value`: The total payment amount of this bounty, curator fee included.", - "- `description`: The description of this bounty." - ], - "args": [ - { - "name": "value", - "type": "compact" - }, - { - "name": "description", - "type": "Vec" - } - ] - }, - { - "lookup": "2301", - "name": "approve_bounty", - "docs": [ - "Approve a bounty proposal. At a later time, the bounty will be funded and become active", - "and the original deposit will be returned.", - "", - "May only be called from `T::ApproveOrigin`.", - "", - "# ", - "- O(1).", - "# " - ], - "args": [ - { - "name": "bounty_id", - "type": "compact" - } - ] - }, - { - "lookup": "2302", - "name": "propose_curator", - "docs": [ - "Assign a curator to a funded bounty.", - "", - "May only be called from `T::ApproveOrigin`.", - "", - "# ", - "- O(1).", - "# " - ], - "args": [ - { - "name": "bounty_id", - "type": "compact" - }, - { - "name": "curator", - "type": "sp_runtimemultiaddressMultiAddress" - }, - { - "name": "fee", - "type": "compact" - } - ] - }, - { - "lookup": "2303", - "name": "unassign_curator", - "docs": [ - "Unassign curator from a bounty.", - "", - "This function can only be called by the `RejectOrigin` a signed origin.", - "", - "If this function is called by the `RejectOrigin`, we assume that the curator is", - "malicious or inactive. As a result, we will slash the curator when possible.", - "", - "If the origin is the curator, we take this as a sign they are unable to do their job and", - "they willingly give up. We could slash them, but for now we allow them to recover their", - "deposit and exit without issue. (We may want to change this if it is abused.)", - "", - "Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows", - "anyone in the community to call out that a curator is not doing their due diligence, and", - "we should pick a new curator. In this case the curator should also be slashed.", - "", - "# ", - "- O(1).", - "# " - ], - "args": [ - { - "name": "bounty_id", - "type": "compact" - } - ] - }, - { - "lookup": "2304", - "name": "accept_curator", - "docs": [ - "Accept the curator role for a bounty.", - "A deposit will be reserved from curator and refund upon successful payout.", - "", - "May only be called from the curator.", - "", - "# ", - "- O(1).", - "# " - ], - "args": [ - { - "name": "bounty_id", - "type": "compact" - } - ] - }, - { - "lookup": "2305", - "name": "award_bounty", - "docs": [ - "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds", - "after a delay.", - "", - "The dispatch origin for this call must be the curator of this bounty.", - "", - "- `bounty_id`: Bounty ID to award.", - "- `beneficiary`: The beneficiary account whom will receive the payout.", - "", - "# ", - "- O(1).", - "# " - ], - "args": [ - { - "name": "bounty_id", - "type": "compact" - }, - { - "name": "beneficiary", - "type": "sp_runtimemultiaddressMultiAddress" - } - ] - }, - { - "lookup": "2306", - "name": "claim_bounty", - "docs": [ - "Claim the payout from an awarded bounty after payout delay.", - "", - "The dispatch origin for this call must be the beneficiary of this bounty.", - "", - "- `bounty_id`: Bounty ID to claim.", - "", - "# ", - "- O(1).", - "# " - ], - "args": [ - { - "name": "bounty_id", - "type": "compact" - } - ] - }, - { - "lookup": "2307", - "name": "close_bounty", - "docs": [ - "Cancel a proposed or active bounty. All the funds will be sent to treasury and", - "the curator deposit will be unreserved if possible.", - "", - "Only `T::RejectOrigin` is able to cancel a bounty.", - "", - "- `bounty_id`: Bounty ID to cancel.", - "", - "# ", - "- O(1).", - "# " - ], - "args": [ - { - "name": "bounty_id", - "type": "compact" - } - ] - }, - { - "lookup": "2308", - "name": "extend_bounty_expiry", - "docs": [ - "Extend the expiry time of an active bounty.", - "", - "The dispatch origin for this call must be the curator of this bounty.", - "", - "- `bounty_id`: Bounty ID to extend.", - "- `remark`: additional information.", - "", - "# ", - "- O(1).", - "# " - ], - "args": [ - { - "name": "bounty_id", - "type": "compact" - }, - { - "name": "remark", - "type": "Vec" - } - ] - } - ], - "calls_value": { - "type": 365 - }, - "events": [ - { - "lookup": "2300", - "name": "BountyProposed", - "docs": [ - "New bounty proposal. \\[index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2301", - "name": "BountyRejected", - "docs": [ - "A bounty proposal was rejected; funds were slashed. \\[index, bond\\]" - ], - "args": [ - "U32", - "U128" - ] - }, - { - "lookup": "2302", - "name": "BountyBecameActive", - "docs": [ - "A bounty proposal is funded and became active. \\[index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2303", - "name": "BountyAwarded", - "docs": [ - "A bounty is awarded to a beneficiary. \\[index, beneficiary\\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "2304", - "name": "BountyClaimed", - "docs": [ - "A bounty is claimed by beneficiary. \\[index, payout, beneficiary\\]" - ], - "args": [ - "U32", - "U128", - "[U8; 32]" - ] - }, - { - "lookup": "2305", - "name": "BountyCanceled", - "docs": [ - "A bounty is cancelled. \\[index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2306", - "name": "BountyExtended", - "docs": [ - "A bounty expiry is extended. \\[index\\]" - ], - "args": [ - "U32" - ] - } - ], - "events_value": { - "type": 78 - }, - "constants": [ - { - "name": "BountyDepositBase", - "type": "U128", - "type_value": 6, - "constants_value": "34a1aec6000000000000000000000000", - "docs": [ - " The amount held on deposit for placing a bounty proposal." - ] - }, - { - "name": "BountyDepositPayoutDelay", - "type": "U32", - "type_value": 4, - "constants_value": "00e10000", - "docs": [ - " The delay period for which a bounty beneficiary need to wait before claim the payout." - ] - }, - { - "name": "BountyUpdatePeriod", - "type": "U32", - "type_value": 4, - "constants_value": "80c61300", - "docs": [ - " Bounty duration in blocks." - ] - }, - { - "name": "BountyCuratorDeposit", - "type": "U32", - "type_value": 537, - "constants_value": "20a10700", - "docs": [ - " Percentage of the curator fee that will be reserved upfront as deposit for bounty", - " curator." - ] - }, - { - "name": "BountyValueMinimum", - "type": "U128", - "type_value": 6, - "constants_value": "68425d8d010000000000000000000000", - "docs": [ - " Minimum value for a bounty." - ] - }, - { - "name": "DataDepositPerByte", - "type": "U128", - "type_value": 6, - "constants_value": "55a0fc01000000000000000000000000", - "docs": [ - " The amount held on deposit per byte within the tip report reason or bounty description." - ] - }, - { - "name": "MaximumReasonLength", - "type": "U32", - "type_value": 4, - "constants_value": "00400000", - "docs": [ - " Maximum acceptable reason length." - ] - } - ], - "errors": [ - { - "name": "InsufficientProposersBalance", - "doc": [ - "Proposer's balance is too low." - ] - }, - { - "name": "InvalidIndex", - "doc": [ - "No proposal or bounty at that index." - ] - }, - { - "name": "ReasonTooBig", - "doc": [ - "The reason given is just too big." - ] - }, - { - "name": "UnexpectedStatus", - "doc": [ - "The bounty status is unexpected." - ] - }, - { - "name": "RequireCurator", - "doc": [ - "Require bounty curator." - ] - }, - { - "name": "InvalidValue", - "doc": [ - "Invalid bounty value." - ] - }, - { - "name": "InvalidFee", - "doc": [ - "Invalid bounty fee." - ] - }, - { - "name": "PendingPayout", - "doc": [ - "A bounty payout is pending.", - "To cancel the bounty, you must unassign and slash the curator." - ] - }, - { - "name": "Premature", - "doc": [ - "The bounties cannot be claimed/closed because it's still in the countdown period." - ] - } - ], - "errors_value": { - "type": 597 - }, - "index": 35 - }, - { - "name": "Tips", - "prefix": "Tips", - "storage": [ - { - "name": "Tips", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_tipsOpenTip", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value.", - " This has the insecure enumerable hash function since the key itself is already", - " guaranteed to be a secure hash." - ] - }, - { - "name": "Reasons", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Simple preimage lookup from the reason's hash to the original data. Again, has an", - " insecure enumerable hash since the key is guaranteed to be the result of a secure hash." - ] - } - ], - "calls": [ - { - "lookup": "2400", - "name": "report_awesome", - "docs": [ - "Report something `reason` that deserves a tip and claim any eventual the finder's fee.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", - "`DataDepositPerByte` for each byte in `reason`.", - "", - "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be", - " a UTF-8-encoded URL.", - "- `who`: The account which should be credited for the tip.", - "", - "Emits `NewTip` if successful.", - "", - "# ", - "- Complexity: `O(R)` where `R` length of `reason`.", - " - encoding and hashing of 'reason'", - "- DbReads: `Reasons`, `Tips`", - "- DbWrites: `Reasons`, `Tips`", - "# " - ], - "args": [ - { - "name": "reason", - "type": "Vec" - }, - { - "name": "who", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "2401", - "name": "retract_tip", - "docs": [ - "Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.", - "", - "If successful, the original deposit will be unreserved.", - "", - "The dispatch origin for this call must be _Signed_ and the tip identified by `hash`", - "must have been reported by the signing account through `report_awesome` (and not", - "through `tip_new`).", - "", - "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", - " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", - "", - "Emits `TipRetracted` if successful.", - "", - "# ", - "- Complexity: `O(1)`", - " - Depends on the length of `T::Hash` which is fixed.", - "- DbReads: `Tips`, `origin account`", - "- DbWrites: `Reasons`, `Tips`, `origin account`", - "# " - ], - "args": [ - { - "name": "hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "2402", - "name": "tip_new", - "docs": [ - "Give a tip for something new; no finder's fee will be taken.", - "", - "The dispatch origin for this call must be _Signed_ and the signing account must be a", - "member of the `Tippers` set.", - "", - "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be", - " a UTF-8-encoded URL.", - "- `who`: The account which should be credited for the tip.", - "- `tip_value`: The amount of tip that the sender would like to give. The median tip", - " value of active tippers will be given to the `who`.", - "", - "Emits `NewTip` if successful.", - "", - "# ", - "- Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.", - " - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by", - " `ContainsLengthBound`. The actual cost depends on the implementation of", - " `T::Tippers`.", - " - `O(R)`: hashing and encoding of reason of length `R`", - "- DbReads: `Tippers`, `Reasons`", - "- DbWrites: `Reasons`, `Tips`", - "# " - ], - "args": [ - { - "name": "reason", - "type": "Vec" - }, - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "tip_value", - "type": "compact" - } - ] - }, - { - "lookup": "2403", - "name": "tip", - "docs": [ - "Declare a tip value for an already-open tip.", - "", - "The dispatch origin for this call must be _Signed_ and the signing account must be a", - "member of the `Tippers` set.", - "", - "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", - " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary", - " account ID.", - "- `tip_value`: The amount of tip that the sender would like to give. The median tip", - " value of active tippers will be given to the `who`.", - "", - "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period", - "has started.", - "", - "# ", - "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length", - " `T`, insert tip and check closing, `T` is charged as upper bound given by", - " `ContainsLengthBound`. The actual cost depends on the implementation of `T::Tippers`.", - "", - " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it", - " is weighted as if almost full i.e of length `T-1`.", - "- DbReads: `Tippers`, `Tips`", - "- DbWrites: `Tips`", - "# " - ], - "args": [ - { - "name": "hash", - "type": "[U8; 32]" - }, - { - "name": "tip_value", - "type": "compact" - } - ] - }, - { - "lookup": "2404", - "name": "close_tip", - "docs": [ - "Close and payout a tip.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "The tip identified by `hash` must have finished its countdown period.", - "", - "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", - " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", - "", - "# ", - "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length", - " `T`. `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost", - " depends on the implementation of `T::Tippers`.", - "- DbReads: `Tips`, `Tippers`, `tip finder`", - "- DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`", - "# " - ], - "args": [ - { - "name": "hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "2405", - "name": "slash_tip", - "docs": [ - "Remove and slash an already-open tip.", - "", - "May only be called from `T::RejectOrigin`.", - "", - "As a result, the finder is slashed and the deposits are lost.", - "", - "Emits `TipSlashed` if successful.", - "", - "# ", - " `T` is charged as upper bound given by `ContainsLengthBound`.", - " The actual cost depends on the implementation of `T::Tippers`.", - "# " - ], - "args": [ - { - "name": "hash", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 366 - }, - "events": [ - { - "lookup": "2400", - "name": "NewTip", - "docs": [ - "A new tip suggestion has been opened. \\[tip_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "2401", - "name": "TipClosing", - "docs": [ - "A tip suggestion has reached threshold and is closing. \\[tip_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "2402", - "name": "TipClosed", - "docs": [ - "A tip suggestion has been closed. \\[tip_hash, who, payout\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "2403", - "name": "TipRetracted", - "docs": [ - "A tip suggestion has been retracted. \\[tip_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "2404", - "name": "TipSlashed", - "docs": [ - "A tip suggestion has been slashed. \\[tip_hash, finder, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - } - ], - "events_value": { - "type": 79 - }, - "constants": [ - { - "name": "MaximumReasonLength", - "type": "U32", - "type_value": 4, - "constants_value": "00400000", - "docs": [ - " Maximum acceptable reason length." - ] - }, - { - "name": "DataDepositPerByte", - "type": "U128", - "type_value": 6, - "constants_value": "55a0fc01000000000000000000000000", - "docs": [ - " The amount held on deposit per byte within the tip report reason or bounty description." - ] - }, - { - "name": "TipCountdown", - "type": "U32", - "type_value": 4, - "constants_value": "40380000", - "docs": [ - " The period for which a tip remains open after is has achieved threshold tippers." - ] - }, - { - "name": "TipFindersFee", - "type": "U8", - "type_value": 229, - "constants_value": "14", - "docs": [ - " The percent of the final tip which goes to the original reporter of the tip." - ] - }, - { - "name": "TipReportDepositBase", - "type": "U128", - "type_value": 6, - "constants_value": "34a1aec6000000000000000000000000", - "docs": [ - " The amount held on deposit for placing a tip report." - ] - } - ], - "errors": [ - { - "name": "ReasonTooBig", - "doc": [ - "The reason given is just too big." - ] - }, - { - "name": "AlreadyKnown", - "doc": [ - "The tip was already found/started." - ] - }, - { - "name": "UnknownTip", - "doc": [ - "The tip hash is unknown." - ] - }, - { - "name": "NotFinder", - "doc": [ - "The account attempting to retract the tip is not the finder of the tip." - ] - }, - { - "name": "StillOpen", - "doc": [ - "The tip cannot be claimed/closed because there are not enough tippers yet." - ] - }, - { - "name": "Premature", - "doc": [ - "The tip cannot be claimed/closed because it's still in the countdown period." - ] - } - ], - "errors_value": { - "type": 599 - }, - "index": 36 - }, - { - "name": "ElectionProviderMultiPhase", - "prefix": "ElectionProviderMultiPhase", - "storage": [ - { - "name": "Round", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x01000000", - "docs": [ - " Internal counter for the number of rounds.", - "", - " This is useful for de-duplication of transactions submitted to the pool, and general", - " diagnostics of the pallet.", - "", - " This is merely incremented once per every time that an upstream `elect` is called." - ] - }, - { - "name": "CurrentPhase", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "pallet_election_provider_multi_phasePhase", - "PlainTypeValue": 600 - }, - "fallback": "0x00", - "docs": [ - " Current phase." - ] - }, - { - "name": "QueuedSolution", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "pallet_election_provider_multi_phaseReadySolution", - "PlainTypeValue": 602 - }, - "fallback": "0x00", - "docs": [ - " Current best solution, signed or unsigned, queued to be returned upon `elect`." - ] - }, - { - "name": "Snapshot", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "pallet_election_provider_multi_phaseRoundSnapshot", - "PlainTypeValue": 603 - }, - "fallback": "0x00", - "docs": [ - " Snapshot data of the round.", - "", - " This is created at the beginning of the signed phase and cleared upon calling `elect`." - ] - }, - { - "name": "DesiredTargets", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " Desired number of targets to elect for this round.", - "", - " Only exists when [`Snapshot`] is present." - ] - }, - { - "name": "SnapshotMetadata", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "pallet_election_provider_multi_phaseSolutionOrSnapshotSize", - "PlainTypeValue": 445 - }, - "fallback": "0x00", - "docs": [ - " The metadata of the [`RoundSnapshot`]", - "", - " Only exists when [`Snapshot`] is present." - ] - }, - { - "name": "SignedSubmissionNextIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The next index to be assigned to an incoming signed submission.", - "", - " Every accepted submission is assigned a unique index; that index is bound to that particular", - " submission for the duration of the election. On election finalization, the next index is", - " reset to 0.", - "", - " We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past its", - " capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,", - " because iteration is slow. Instead, we store the value here." - ] - }, - { - "name": "SignedSubmissionIndices", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 606 - }, - "fallback": "0x00", - "docs": [ - " A sorted, bounded set of `(score, index)`, where each `index` points to a value in", - " `SignedSubmissions`.", - "", - " We never need to process more than a single signed submission at a time. Signed submissions", - " can be quite large, so we're willing to pay the cost of multiple database accesses to access", - " them one at a time instead of reading and decoding all of them at once." - ] - }, - { - "name": "SignedSubmissionsMap", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "pallet_election_provider_multi_phasesignedSignedSubmission", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000", - "docs": [ - " Unchecked, signed solutions.", - "", - " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while", - " allowing us to keep only a single one in memory at a time.", - "", - " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or", - " affect; we shouldn't need a cryptographically secure hasher." - ] - }, - { - "name": "MinimumUntrustedScore", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "[U128; 3]", - "PlainTypeValue": 444 - }, - "fallback": "0x00", - "docs": [ - " The minimum score that each 'untrusted' solution must attain in order to be considered", - " feasible.", - "", - " Can be set via `set_minimum_untrusted_score`." - ] - } - ], - "calls": [ - { - "lookup": "2500", - "name": "submit_unsigned", - "docs": [ - "Submit a solution for the unsigned phase.", - "", - "The dispatch origin fo this call must be __none__.", - "", - "This submission is checked on the fly. Moreover, this unsigned solution is only", - "validated when submitted to the pool from the **local** node. Effectively, this means", - "that only active validators can submit this transaction when authoring a block (similar", - "to an inherent).", - "", - "To prevent any incorrect solution (and thus wasted time/weight), this transaction will", - "panic if the solution submitted by the validator is invalid in any way, effectively", - "putting their authoring reward at risk.", - "", - "No deposit or reward is associated with this submission." - ], - "args": [ - { - "name": "raw_solution", - "type": "pallet_election_provider_multi_phaseRawSolution" - }, - { - "name": "witness", - "type": "pallet_election_provider_multi_phaseSolutionOrSnapshotSize" - } - ] - }, - { - "lookup": "2501", - "name": "set_minimum_untrusted_score", - "docs": [ - "Set a new value for `MinimumUntrustedScore`.", - "", - "Dispatch origin must be aligned with `T::ForceOrigin`.", - "", - "This check can be turned off by setting the value to `None`." - ], - "args": [ - { - "name": "maybe_next_score", - "type": "option<[U128; 3]>" - } - ] - }, - { - "lookup": "2502", - "name": "set_emergency_election_result", - "docs": [ - "Set a solution in the queue, to be handed out to the client of this pallet in the next", - "call to `ElectionProvider::elect`.", - "", - "This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`.", - "", - "The solution is not checked for any feasibility and is assumed to be trustworthy, as any", - "feasibility check itself can in principle cause the election process to fail (due to", - "memory/weight constrains)." - ], - "args": [ - { - "name": "supports", - "type": "Vec" - } - ] - }, - { - "lookup": "2503", - "name": "submit", - "docs": [ - "Submit a solution for the signed phase.", - "", - "The dispatch origin fo this call must be __signed__.", - "", - "The solution is potentially queued, based on the claimed score and processed at the end", - "of the signed phase.", - "", - "A deposit is reserved and recorded for the solution. Based on the outcome, the solution", - "might be rewarded, slashed, or get all or a part of the deposit back.", - "", - "# ", - "Queue size must be provided as witness data.", - "# " - ], - "args": [ - { - "name": "raw_solution", - "type": "pallet_election_provider_multi_phaseRawSolution" - }, - { - "name": "num_signed_submissions", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 367 - }, - "events": [ - { - "lookup": "2500", - "name": "SolutionStored", - "docs": [ - "A solution was stored with the given compute.", - "", - "If the solution is signed, this means that it hasn't yet been processed. If the", - "solution is unsigned, this means that it has also been processed.", - "", - "The `bool` is `true` when a previous solution was ejected to make room for this one." - ], - "args": [ - "pallet_election_provider_multi_phaseElectionCompute", - "Bool" - ] - }, - { - "lookup": "2501", - "name": "ElectionFinalized", - "docs": [ - "The election has been finalized, with `Some` of the given computation, or else if the", - "election failed, `None`." - ], - "args": [ - "option" - ] - }, - { - "lookup": "2502", - "name": "Rewarded", - "docs": [ - "An account has been rewarded for their signed submission being finalized." - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "2503", - "name": "Slashed", - "docs": [ - "An account has been slashed for submitting an invalid signed submission." - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "2504", - "name": "SignedPhaseStarted", - "docs": [ - "The signed phase of the given round has started." - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2505", - "name": "UnsignedPhaseStarted", - "docs": [ - "The unsigned phase of the given round has started." - ], - "args": [ - "U32" - ] - } - ], - "events_value": { - "type": 80 - }, - "constants": [ - { - "name": "UnsignedPhase", - "type": "U32", - "type_value": 4, - "constants_value": "96000000", - "docs": [ - " Duration of the unsigned phase." - ] - }, - { - "name": "SignedPhase", - "type": "U32", - "type_value": 4, - "constants_value": "96000000", - "docs": [ - " Duration of the signed phase." - ] - }, - { - "name": "SolutionImprovementThreshold", - "type": "U32", - "type_value": 148, - "constants_value": "20a10700", - "docs": [ - " The minimum amount of improvement to the solution score that defines a solution as", - " \"better\" (in any phase)." - ] - }, - { - "name": "OffchainRepeat", - "type": "U32", - "type_value": 4, - "constants_value": "05000000", - "docs": [ - " The repeat threshold of the offchain worker.", - "", - " For example, if it is 5, that means that at least 5 blocks will elapse between attempts", - " to submit the worker's solution." - ] - }, - { - "name": "MinerTxPriority", - "type": "U64", - "type_value": 8, - "constants_value": "65666666666666e6", - "docs": [ - " The priority of the unsigned transaction submitted in the unsigned-phase" - ] - }, - { - "name": "MinerMaxWeight", - "type": "U64", - "type_value": 8, - "constants_value": "c084666557010000", - "docs": [ - " Maximum weight that the miner should consume.", - "", - " The miner will ensure that the total weight of the unsigned solution will not exceed", - " this value, based on [`WeightInfo::submit_unsigned`]." - ] - }, - { - "name": "SignedMaxSubmissions", - "type": "U32", - "type_value": 4, - "constants_value": "10000000", - "docs": [ - " Maximum number of signed submissions that can be queued.", - "", - " It is best to avoid adjusting this during an election, as it impacts downstream data", - " structures. In particular, `SignedSubmissionIndices` is bounded on this value. If you", - " update this value during an election, you _must_ ensure that", - " `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,", - " attempts to submit new solutions may cause a runtime panic." - ] - }, - { - "name": "SignedMaxWeight", - "type": "U64", - "type_value": 8, - "constants_value": "c084666557010000", - "docs": [ - " Maximum weight of a signed solution.", - "", - " This should probably be similar to [`Config::MinerMaxWeight`]." - ] - }, - { - "name": "SignedRewardBase", - "type": "U128", - "type_value": 6, - "constants_value": "00e87648170000000000000000000000", - "docs": [ - " Base reward for a signed solution" - ] - }, - { - "name": "SignedDepositBase", - "type": "U128", - "type_value": 6, - "constants_value": "2030490b1f0000000000000000000000", - "docs": [ - " Base deposit for a signed solution." - ] - }, - { - "name": "SignedDepositByte", - "type": "U128", - "type_value": 6, - "constants_value": "277f0000000000000000000000000000", - "docs": [ - " Per-byte deposit for a signed solution." - ] - }, - { - "name": "SignedDepositWeight", - "type": "U128", - "type_value": 6, - "constants_value": "00000000000000000000000000000000", - "docs": [ - " Per-weight deposit for a signed solution." - ] - }, - { - "name": "VoterSnapshotPerBlock", - "type": "U32", - "type_value": 4, - "constants_value": "e4570000", - "docs": [ - " The maximum number of voters to put in the snapshot. At the moment, snapshots are only", - " over a single block, but once multi-block elections are introduced they will take place", - " over multiple blocks.", - "", - " Also, note the data type: If the voters are represented by a `u32` in `type", - " CompactSolution`, the same `u32` is used here to ensure bounds are respected." - ] - }, - { - "name": "MinerMaxLength", - "type": "U32", - "type_value": 4, - "constants_value": "00003600", - "docs": [ - " Maximum length (bytes) that the mined solution should consume.", - "", - " The miner will ensure that the total length of the unsigned solution will not exceed", - " this value." - ] - } - ], - "errors": [ - { - "name": "PreDispatchEarlySubmission", - "doc": [ - "Submission was too early." - ] - }, - { - "name": "PreDispatchWrongWinnerCount", - "doc": [ - "Wrong number of winners presented." - ] - }, - { - "name": "PreDispatchWeakSubmission", - "doc": [ - "Submission was too weak, score-wise." - ] - }, - { - "name": "SignedQueueFull", - "doc": [ - "The queue was full, and the solution was not better than any of the existing ones." - ] - }, - { - "name": "SignedCannotPayDeposit", - "doc": [ - "The origin failed to pay the deposit." - ] - }, - { - "name": "SignedInvalidWitness", - "doc": [ - "Witness data to dispatchable is invalid." - ] - }, - { - "name": "SignedTooMuchWeight", - "doc": [ - "The signed submission consumes too much weight" - ] - }, - { - "name": "OcwCallWrongEra", - "doc": [ - "OCW submitted solution for wrong round" - ] - }, - { - "name": "MissingSnapshotMetadata", - "doc": [ - "Snapshot metadata should exist but didn't." - ] - }, - { - "name": "InvalidSubmissionIndex", - "doc": [ - "`Self::insert_submission` returned an invalid index." - ] - }, - { - "name": "CallNotAllowed", - "doc": [ - "The call is not allowed at this point." - ] - } - ], - "errors_value": { - "type": 611 - }, - "index": 37 - }, - { - "name": "Gilt", - "prefix": "Gilt", - "storage": [ - { - "name": "QueueTotals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 558 - }, - "fallback": "0x00", - "docs": [ - " The totals of items and balances within each queue. Saves a lot of storage reads in the", - " case of sparsely packed queues.", - "", - " The vector is indexed by duration in `Period`s, offset by one, so information on the queue", - " whose duration is one `Period` would be storage `0`." - ] - }, - { - "name": "Queues", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The queues of bids ready to become gilts. Indexed by duration (in `Period`s)." - ] - }, - { - "name": "ActiveTotal", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "pallet_giltpalletActiveGiltsTotal", - "PlainTypeValue": 614 - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Information relating to the gilts currently active." - ] - }, - { - "name": "Active", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "U32" - ], - "value": "pallet_giltpalletActiveGilt", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The currently active gilts, indexed according to the order of creation." - ] - } - ], - "calls": [ - { - "lookup": "2600", - "name": "place_bid", - "docs": [ - "Place a bid for a gilt to be issued.", - "", - "Origin must be Signed, and account must have at least `amount` in free balance.", - "", - "- `amount`: The amount of the bid; these funds will be reserved. If the bid is", - "successfully elevated into an issued gilt, then these funds will continue to be", - "reserved until the gilt expires. Must be at least `MinFreeze`.", - "- `duration`: The number of periods for which the funds will be locked if the gilt is", - "issued. It will expire only after this period has elapsed after the point of issuance.", - "Must be greater than 1 and no more than `QueueCount`.", - "", - "Complexities:", - "- `Queues[duration].len()` (just take max)." - ], - "args": [ - { - "name": "amount", - "type": "compact" - }, - { - "name": "duration", - "type": "U32" - } - ] - }, - { - "lookup": "2601", - "name": "retract_bid", - "docs": [ - "Retract a previously placed bid.", - "", - "Origin must be Signed, and the account should have previously issued a still-active bid", - "of `amount` for `duration`.", - "", - "- `amount`: The amount of the previous bid.", - "- `duration`: The duration of the previous bid." - ], - "args": [ - { - "name": "amount", - "type": "compact" - }, - { - "name": "duration", - "type": "U32" - } - ] - }, - { - "lookup": "2602", - "name": "set_target", - "docs": [ - "Set target proportion of gilt-funds.", - "", - "Origin must be `AdminOrigin`.", - "", - "- `target`: The target proportion of effective issued funds that should be under gilts", - "at any one time." - ], - "args": [ - { - "name": "target", - "type": "compact" - } - ] - }, - { - "lookup": "2603", - "name": "thaw", - "docs": [ - "Remove an active but expired gilt. Reserved funds under gilt are freed and balance is", - "adjusted to ensure that the funds grow or shrink to maintain the equivalent proportion", - "of effective total issued funds.", - "", - "Origin must be Signed and the account must be the owner of the gilt of the given index.", - "", - "- `index`: The index of the gilt to be thawed." - ], - "args": [ - { - "name": "index", - "type": "compact" - } - ] - } - ], - "calls_value": { - "type": 450 - }, - "events": [ - { - "lookup": "2600", - "name": "BidPlaced", - "docs": [ - "A bid was successfully placed.", - "\\[ who, amount, duration \\]" - ], - "args": [ - "[U8; 32]", - "U128", - "U32" - ] - }, - { - "lookup": "2601", - "name": "BidRetracted", - "docs": [ - "A bid was successfully removed (before being accepted as a gilt).", - "\\[ who, amount, duration \\]" - ], - "args": [ - "[U8; 32]", - "U128", - "U32" - ] - }, - { - "lookup": "2602", - "name": "GiltIssued", - "docs": [ - "A bid was accepted as a gilt. The balance may not be released until expiry.", - "\\[ index, expiry, who, amount \\]" - ], - "args": [ - "U32", - "U32", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "2603", - "name": "GiltThawed", - "docs": [ - "An expired gilt has been thawed.", - "\\[ index, who, original_amount, additional_amount \\]" - ], - "args": [ - "U32", - "[U8; 32]", - "U128", - "U128" - ] - } - ], - "events_value": { - "type": 83 - }, - "constants": [ - { - "name": "IgnoredIssuance", - "type": "U128", - "type_value": 6, - "constants_value": "f7325890955726060000000000000000", - "docs": [ - " The issuance to ignore. This is subtracted from the `Currency`'s `total_issuance` to get", - " the issuance by which we inflate or deflate the gilt." - ] - }, - { - "name": "QueueCount", - "type": "U32", - "type_value": 4, - "constants_value": "2c010000", - "docs": [ - " Number of duration queues in total. This sets the maximum duration supported, which is", - " this value multiplied by `Period`." - ] - }, - { - "name": "MaxQueueLen", - "type": "U32", - "type_value": 4, - "constants_value": "e8030000", - "docs": [ - " Maximum number of items that may be in each duration queue." - ] - }, - { - "name": "FifoQueueLen", - "type": "U32", - "type_value": 4, - "constants_value": "fa000000", - "docs": [ - " Portion of the queue which is free from ordering and just a FIFO.", - "", - " Must be no greater than `MaxQueueLen`." - ] - }, - { - "name": "Period", - "type": "U32", - "type_value": 4, - "constants_value": "80970600", - "docs": [ - " The base period for the duration queues. This is the common multiple across all", - " supported freezing durations that can be bid upon." - ] - }, - { - "name": "MinFreeze", - "type": "U128", - "type_value": 6, - "constants_value": "50f8369c4d0000000000000000000000", - "docs": [ - " The minimum amount of funds that may be offered to freeze for a gilt. Note that this", - " does not actually limit the amount which may be frozen in a gilt since gilts may be", - " split up in order to satisfy the desired amount of funds under gilts.", - "", - " It should be at least big enough to ensure that there is no possible storage spam attack", - " or queue-filling attack." - ] - }, - { - "name": "IntakePeriod", - "type": "U32", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " The number of blocks between consecutive attempts to issue more gilts in an effort to", - " get to the target amount to be frozen.", - "", - " A larger value results in fewer storage hits each block, but a slower period to get to", - " the target." - ] - }, - { - "name": "MaxIntakeBids", - "type": "U32", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " The maximum amount of bids that can be turned into issued gilts each block. A larger", - " value here means less of the block available for transactions should there be a glut of", - " bids to make into gilts to reach the target." - ] - } - ], - "errors": [ - { - "name": "DurationTooSmall", - "doc": [ - "The duration of the bid is less than one." - ] - }, - { - "name": "DurationTooBig", - "doc": [ - "The duration is the bid is greater than the number of queues." - ] - }, - { - "name": "AmountTooSmall", - "doc": [ - "The amount of the bid is less than the minimum allowed." - ] - }, - { - "name": "BidTooLow", - "doc": [ - "The queue for the bid's duration is full and the amount bid is too low to get in", - "through replacing an existing bid." - ] - }, - { - "name": "Unknown", - "doc": [ - "Gilt index is unknown." - ] - }, - { - "name": "NotOwner", - "doc": [ - "Not the owner of the gilt." - ] - }, - { - "name": "NotExpired", - "doc": [ - "Gilt not yet at expiry date." - ] - }, - { - "name": "NotFound", - "doc": [ - "The given bid for retraction is not found." - ] - } - ], - "errors_value": { - "type": 616 - }, - "index": 38 - }, - { - "name": "BagsList", - "prefix": "BagsList", - "storage": [ - { - "name": "CounterForListNodes", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " How many ids are registered." - ] - }, - { - "name": "ListNodes", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "pallet_bags_listlistNode", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " A single node, within some bag.", - "", - " Nodes store links forward and back within their respective bags." - ] - }, - { - "name": "ListBags", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U64" - ], - "value": "pallet_bags_listlistBag", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " A bag stored in storage.", - "", - " Stores a `Bag` struct, which stores head and tail pointers to itself." - ] - } - ], - "calls": [ - { - "lookup": "2700", - "name": "rebag", - "docs": [ - "Declare that some `dislocated` account has, through rewards or penalties, sufficiently", - "changed its weight that it should properly fall into a different bag than its current", - "one.", - "", - "Anyone can call this function about any potentially dislocated account.", - "", - "Will never return an error; if `dislocated` does not exist or doesn't need a rebag, then", - "it is a noop and fees are still collected from `origin`." - ], - "args": [ - { - "name": "dislocated", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 453 - }, - "events": [ - { - "lookup": "2700", - "name": "Rebagged", - "docs": [ - "Moved an account from one bag to another. \\[who, from, to\\]." - ], - "args": [ - "[U8; 32]", - "U64", - "U64" - ] - } - ], - "events_value": { - "type": 84 - }, - "constants": [ - { - "name": "BagThresholds", - "type": "Vec", - "type_value": 619, - "constants_value": "210355a0fc0100000000daa64602000000006e739b02000000007997fc0200000000d0de6b03000000003358eb03000000000d5f7d04000000009aa6240500000000b146e4050000000067cabf0600000000d640bb07000000005350db0800000000714c250a00000000364f9f0b000000000056500d000000009862400f000000001ba17811000000006593031400000000cd42ed16000000002079431a00000000e401161e000000001ef5762200000000f90c7b2700000000e0073a2d00000000e818cf33000000008c68593b000000002ea8fc43000000000abbe14d00000000c3773759000000001986336600000000e85c13750000000018651d8600000000e846a29900000000be67feaf00000000849f9bc900000000ad2df3e60000000028f78f0801000000d817112f01000000bed32c5b01000000c2f5b38d010000000aac95c7010000002bf4e3090200000022acd855020000001060dbac020000002ef08710030000007c2eb682030000002b988205040000001754589b040000009da5fc4605000000ff099c0b060000006c3ed9ec06000000c475deee07000000960f711609000000aa2d08690a000000f892e6ec0b0000008c4638a90d000000978634a60f0000006dac44ed1100000078b93089140000001660528617000000e479cff21a0000004000ddde1e000000ffc30b5d23000000824fa082280000002793f7672e000000a638fa283500000048bfa0e53c00000047d28ac245000000c5a5ace94f000000f68e158b5b0000009083d3dd6800000066b5f72078000000cf1bc19c89000000fc6ff2a39d0000001eef5995b4000000c02092ddce000000b2ed03f9ec000000078933760f010000d30e63f8360100001252973a64010000e1230d1398010000a0722f77d301000078012180170200006533ef6f65020000428586b7be02000028e784fd24030000b13f0a269a030000d016ac5b2004000022c8b619ba04000079c7ec376a050000e092fbf7330600003d05e6141b070000f701add423080000d8108a1c53090000c8ab1b88ae0a0000b2eff0833c0c0000e858f26b040e00000f7d37ae0e100000d5a7eef264120000583f134a121500001753cb5f231800005c3664b8a61b0000a61a0af5ac1f000033f27f22492400004b3a4c1391290000288805c79d2f000037d3a7e08b360000ffa1222e7c3e0000f0c4a14394470000e5ad6f2dff510000076ebb3bee5d0000abf006ec996b00008c6c8ef4427b00003ad69a76338d0000ba57695dc0a100005dda24f04ab90000b66f609e42d400007655960f27f30000258d6c7f8a1601005169eb71143f0100b9be72cc846d01003c4b1762b7a20100cc2f3404a8df0100f7276e2a77250200480b33486f7502001d5cf5e80ad102000f6410b0fb390300a904775d32b203002de121fde73b040030afb76ca8d90400fb753e695e8e05003c44e45d615d06002cb93b35854a0700a8f8cb772c5a08007a48b90d5d9109003d3dc705d8f50a000d1e42d2348e0c001cb0be7c00620e0024796364e17910001b8ded2fc0df1200d3e942b5f69e1500e8ca99b485c41800d0c88c65525f1c00c2f577f96c8020000abce260613b250074bd4dd293a62a00ec4b61c8aadb300048b0376d08f83700c01384b1551d4000dc2bfda12172490070b645ed972254006cfc51fa516160006c93086d46686e009caae886db797e00c036837621e29000a0649b653af8a50028a34ceef61fbe00385aa297aecbd900483335165d7ef900d0cae4520ece1d010090a7aea4664701e09d92a5060d770130778edcc2a2ad01d00bb8d53b2aec0140b18c096fcb3302805193026ed98502a0f6d663a3d8e30260bbcb8701864f03a045f8b63cdfca0340816de8372c5804405e20a9d009fa04808d72453d76b30580f35bc037df8706804eeca838327b0700b198a10eef9108800b2f9b2a3dd10980a2489405043f0b00724c5a1307e20c00d8f897c605c20e009890be3de0e71000434f6546c15d1300d61cff7d4e2f16009b32b873df691900008775d0bc1c1d00da56ebaf68592100dacb4281f13326003c889ef750c32b000ab7e6cbd8213200346dad52af6d39005047e9335ec9410024ee18e8755c4b0038d4b40049545600087d76b2c2e46200981c03995c497100881e553f38c68100b0cb90a161a99400284fe59e404caa00c0e54a304015c30060cd7437b379dfffffffffffffffff", - "docs": [ - " The list of thresholds separating the various bags.", - "", - " Ids are separated into unsorted bags according to their vote weight. This specifies the", - " thresholds separating the bags. An id's bag is the largest bag for which the id's weight", - " is less than or equal to its upper threshold.", - "", - " When ids are iterated, higher bags are iterated completely before lower bags. This means", - " that iteration is _semi-sorted_: ids of higher weight tend to come before ids of lower", - " weight, but peer ids within a particular bag are sorted in insertion order.", - "", - " # Expressing the constant", - "", - " This constant must be sorted in strictly increasing order. Duplicate items are not", - " permitted.", - "", - " There is an implied upper limit of `VoteWeight::MAX`; that value does not need to be", - " specified within the bag. For any two threshold lists, if one ends with", - " `VoteWeight::MAX`, the other one does not, and they are otherwise equal, the two lists", - " will behave identically.", - "", - " # Calculation", - "", - " It is recommended to generate the set of thresholds in a geometric series, such that", - " there exists some constant ratio such that `threshold[k + 1] == (threshold[k] *", - " constant_ratio).max(threshold[k] + 1)` for all `k`.", - "", - " The helpers in the `/utils/frame/generate-bags` module can simplify this calculation.", - "", - " # Examples", - "", - " - If `BagThresholds::get().is_empty()`, then all ids are put into the same bag, and", - " iteration is strictly in insertion order.", - " - If `BagThresholds::get().len() == 64`, and the thresholds are determined according to", - " the procedure given above, then the constant ratio is equal to 2.", - " - If `BagThresholds::get().len() == 200`, and the thresholds are determined according to", - " the procedure given above, then the constant ratio is approximately equal to 1.248.", - " - If the threshold list begins `[1, 2, 3, ...]`, then an id with weight 0 or 1 will fall", - " into bag 0, an id with weight 2 will fall into bag 1, etc.", - "", - " # Migration", - "", - " In the event that this list ever changes, a copy of the old bags list must be retained.", - " With that `List::migrate` can be called, which will perform the appropriate migration." - ] - } - ], - "errors": null, - "errors_value": null, - "index": 39 - }, - { - "name": "ParachainsOrigin", - "prefix": "", - "storage": null, - "errors": null, - "errors_value": null, - "index": 50 - }, - { - "name": "Configuration", - "prefix": "Configuration", - "storage": [ - { - "name": "ActiveConfig", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "polkadot_runtime_parachainsconfigurationHostConfiguration", - "PlainTypeValue": 620 - }, - "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000001000000000000000000060000006400000002000000c8000000010000000000000000000000000000000000000000c817a804000000", - "docs": [ - " The active configuration for the current session." - ] - }, - { - "name": "PendingConfig", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_runtime_parachainsconfigurationHostConfiguration", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Pending configuration (if any) for the next session." - ] - } - ], - "calls": [ - { - "lookup": "3300", - "name": "set_validation_upgrade_frequency", - "docs": [ - "Set the validation upgrade frequency." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3301", - "name": "set_validation_upgrade_delay", - "docs": [ - "Set the validation upgrade delay." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3302", - "name": "set_code_retention_period", - "docs": [ - "Set the acceptance period for an included candidate." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3303", - "name": "set_max_code_size", - "docs": [ - "Set the max validation code size for incoming upgrades." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3304", - "name": "set_max_pov_size", - "docs": [ - "Set the max POV block size for incoming upgrades." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3305", - "name": "set_max_head_data_size", - "docs": [ - "Set the max head data size for paras." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3306", - "name": "set_parathread_cores", - "docs": [ - "Set the number of parathread execution cores." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3307", - "name": "set_parathread_retries", - "docs": [ - "Set the number of retries for a particular parathread." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3308", - "name": "set_group_rotation_frequency", - "docs": [ - "Set the parachain validator-group rotation frequency" - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3309", - "name": "set_chain_availability_period", - "docs": [ - "Set the availability period for parachains." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "330a", - "name": "set_thread_availability_period", - "docs": [ - "Set the availability period for parathreads." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "330b", - "name": "set_scheduling_lookahead", - "docs": [ - "Set the scheduling lookahead, in expected number of blocks at peak throughput." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "330c", - "name": "set_max_validators_per_core", - "docs": [ - "Set the maximum number of validators to assign to any core." - ], - "args": [ - { - "name": "new", - "type": "option" - } - ] - }, - { - "lookup": "330d", - "name": "set_max_validators", - "docs": [ - "Set the maximum number of validators to use in parachain consensus." - ], - "args": [ - { - "name": "new", - "type": "option" - } - ] - }, - { - "lookup": "330e", - "name": "set_dispute_period", - "docs": [ - "Set the dispute period, in number of sessions to keep for disputes." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "330f", - "name": "set_dispute_post_conclusion_acceptance_period", - "docs": [ - "Set the dispute post conclusion acceptance period." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3310", - "name": "set_dispute_max_spam_slots", - "docs": [ - "Set the maximum number of dispute spam slots." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3311", - "name": "set_dispute_conclusion_by_time_out_period", - "docs": [ - "Set the dispute conclusion by time out period." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3312", - "name": "set_no_show_slots", - "docs": [ - "Set the no show slots, in number of number of consensus slots.", - "Must be at least 1." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3313", - "name": "set_n_delay_tranches", - "docs": [ - "Set the total number of delay tranches." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3314", - "name": "set_zeroth_delay_tranche_width", - "docs": [ - "Set the zeroth delay tranche width." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3315", - "name": "set_needed_approvals", - "docs": [ - "Set the number of validators needed to approve a block." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3316", - "name": "set_relay_vrf_modulo_samples", - "docs": [ - "Set the number of samples to do of the `RelayVRFModulo` approval assignment criterion." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3317", - "name": "set_max_upward_queue_count", - "docs": [ - "Sets the maximum items that can present in a upward dispatch queue at once." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3318", - "name": "set_max_upward_queue_size", - "docs": [ - "Sets the maximum total size of items that can present in a upward dispatch queue at once." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3319", - "name": "set_max_downward_message_size", - "docs": [ - "Set the critical downward message size." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "331a", - "name": "set_ump_service_total_weight", - "docs": [ - "Sets the soft limit for the phase of dispatching dispatchable upward messages." - ], - "args": [ - { - "name": "new", - "type": "U64" - } - ] - }, - { - "lookup": "331b", - "name": "set_max_upward_message_size", - "docs": [ - "Sets the maximum size of an upward message that can be sent by a candidate." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "331c", - "name": "set_max_upward_message_num_per_candidate", - "docs": [ - "Sets the maximum number of messages that a candidate can contain." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "331d", - "name": "set_hrmp_open_request_ttl", - "docs": [ - "Sets the number of sessions after which an HRMP open channel request expires." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "331e", - "name": "set_hrmp_sender_deposit", - "docs": [ - "Sets the amount of funds that the sender should provide for opening an HRMP channel." - ], - "args": [ - { - "name": "new", - "type": "U128" - } - ] - }, - { - "lookup": "331f", - "name": "set_hrmp_recipient_deposit", - "docs": [ - "Sets the amount of funds that the recipient should provide for accepting opening an HRMP", - "channel." - ], - "args": [ - { - "name": "new", - "type": "U128" - } - ] - }, - { - "lookup": "3320", - "name": "set_hrmp_channel_max_capacity", - "docs": [ - "Sets the maximum number of messages allowed in an HRMP channel at once." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3321", - "name": "set_hrmp_channel_max_total_size", - "docs": [ - "Sets the maximum total size of messages in bytes allowed in an HRMP channel at once." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3322", - "name": "set_hrmp_max_parachain_inbound_channels", - "docs": [ - "Sets the maximum number of inbound HRMP channels a parachain is allowed to accept." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3323", - "name": "set_hrmp_max_parathread_inbound_channels", - "docs": [ - "Sets the maximum number of inbound HRMP channels a parathread is allowed to accept." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3324", - "name": "set_hrmp_channel_max_message_size", - "docs": [ - "Sets the maximum size of a message that could ever be put into an HRMP channel." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3325", - "name": "set_hrmp_max_parachain_outbound_channels", - "docs": [ - "Sets the maximum number of outbound HRMP channels a parachain is allowed to open." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3326", - "name": "set_hrmp_max_parathread_outbound_channels", - "docs": [ - "Sets the maximum number of outbound HRMP channels a parathread is allowed to open." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3327", - "name": "set_hrmp_max_message_num_per_candidate", - "docs": [ - "Sets the maximum number of outbound HRMP messages can be sent by a candidate." - ], - "args": [ - { - "name": "new", - "type": "U32" - } - ] - }, - { - "lookup": "3328", - "name": "set_ump_max_individual_weight", - "docs": [ - "Sets the maximum amount of weight any individual upward message may consume." - ], - "args": [ - { - "name": "new", - "type": "U64" - } - ] - } - ], - "calls_value": { - "type": 454 - }, - "errors": [ - { - "name": "InvalidNewValue", - "doc": [ - "The new value for a configuration parameter is invalid." - ] - } - ], - "errors_value": { - "type": 621 - }, - "index": 51 - }, - { - "name": "ParasShared", - "prefix": "ParasShared", - "storage": [ - { - "name": "CurrentSessionIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The current session index." - ] - }, - { - "name": "ActiveValidatorIndices", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 622 - }, - "fallback": "0x00", - "docs": [ - " All the validators actively participating in parachain consensus.", - " Indices are into the broader validator set." - ] - }, - { - "name": "ActiveValidatorKeys", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 623 - }, - "fallback": "0x00", - "docs": [ - " The parachain attestation keys of the validators actively participating in parachain consensus.", - " This should be the same length as `ActiveValidatorIndices`." - ] - } - ], - "calls_value": { - "type": 455 - }, - "errors": null, - "errors_value": null, - "index": 52 - }, - { - "name": "ParaInclusion", - "prefix": "ParaInclusion", - "storage": [ - { - "name": "AvailabilityBitfields", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_runtime_parachainsinclusionAvailabilityBitfieldRecord", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The latest bitfield for each validator, referred to by their index in the validator set." - ] - }, - { - "name": "PendingAvailability", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_runtime_parachainsinclusionCandidatePendingAvailability", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Candidates pending availability by `ParaId`." - ] - }, - { - "name": "PendingAvailabilityCommitments", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_primitivesv1CandidateCommitments", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The commitments of candidates pending availability, by `ParaId`." - ] - } - ], - "calls_value": { - "type": 456 - }, - "events": [ - { - "lookup": "3500", - "name": "CandidateBacked", - "docs": [ - "A candidate was backed. `[candidate, head_data]`" - ], - "args": [ - "polkadot_primitivesv1CandidateReceipt", - "Vec", - "U32", - "U32" - ] - }, - { - "lookup": "3501", - "name": "CandidateIncluded", - "docs": [ - "A candidate was included. `[candidate, head_data]`" - ], - "args": [ - "polkadot_primitivesv1CandidateReceipt", - "Vec", - "U32", - "U32" - ] - }, - { - "lookup": "3502", - "name": "CandidateTimedOut", - "docs": [ - "A candidate timed out. `[candidate, head_data]`" - ], - "args": [ - "polkadot_primitivesv1CandidateReceipt", - "Vec", - "U32" - ] - } - ], - "events_value": { - "type": 85 - }, - "errors": [ - { - "name": "WrongBitfieldSize", - "doc": [ - "Availability bitfield has unexpected size." - ] - }, - { - "name": "BitfieldDuplicateOrUnordered", - "doc": [ - "Multiple bitfields submitted by same validator or validators out of order by index." - ] - }, - { - "name": "ValidatorIndexOutOfBounds", - "doc": [ - "Validator index out of bounds." - ] - }, - { - "name": "InvalidBitfieldSignature", - "doc": [ - "Invalid signature" - ] - }, - { - "name": "UnscheduledCandidate", - "doc": [ - "Candidate submitted but para not scheduled." - ] - }, - { - "name": "CandidateScheduledBeforeParaFree", - "doc": [ - "Candidate scheduled despite pending candidate already existing for the para." - ] - }, - { - "name": "WrongCollator", - "doc": [ - "Candidate included with the wrong collator." - ] - }, - { - "name": "ScheduledOutOfOrder", - "doc": [ - "Scheduled cores out of order." - ] - }, - { - "name": "HeadDataTooLarge", - "doc": [ - "Head data exceeds the configured maximum." - ] - }, - { - "name": "PrematureCodeUpgrade", - "doc": [ - "Code upgrade prematurely." - ] - }, - { - "name": "NewCodeTooLarge", - "doc": [ - "Output code is too large" - ] - }, - { - "name": "CandidateNotInParentContext", - "doc": [ - "Candidate not in parent context." - ] - }, - { - "name": "UnoccupiedBitInBitfield", - "doc": [ - "The bitfield contains a bit relating to an unassigned availability core." - ] - }, - { - "name": "InvalidGroupIndex", - "doc": [ - "Invalid group index in core assignment." - ] - }, - { - "name": "InsufficientBacking", - "doc": [ - "Insufficient (non-majority) backing." - ] - }, - { - "name": "InvalidBacking", - "doc": [ - "Invalid (bad signature, unknown validator, etc.) backing." - ] - }, - { - "name": "NotCollatorSigned", - "doc": [ - "Collator did not sign PoV." - ] - }, - { - "name": "ValidationDataHashMismatch", - "doc": [ - "The validation data hash does not match expected." - ] - }, - { - "name": "InternalError", - "doc": [ - "Internal error only returned when compiled with debug assertions." - ] - }, - { - "name": "IncorrectDownwardMessageHandling", - "doc": [ - "The downward message queue is not processed correctly." - ] - }, - { - "name": "InvalidUpwardMessages", - "doc": [ - "At least one upward message sent does not pass the acceptance criteria." - ] - }, - { - "name": "HrmpWatermarkMishandling", - "doc": [ - "The candidate didn't follow the rules of HRMP watermark advancement." - ] - }, - { - "name": "InvalidOutboundHrmp", - "doc": [ - "The HRMP messages sent by the candidate is not valid." - ] - }, - { - "name": "InvalidValidationCodeHash", - "doc": [ - "The validation code hash of the candidate is not valid." - ] - }, - { - "name": "ParaHeadMismatch", - "doc": [ - "The `para_head` hash in the candidate descriptor doesn't match the hash of the actual para head in the", - "commitments." - ] - } - ], - "errors_value": { - "type": 626 - }, - "index": 53 - }, - { - "name": "ParaInherent", - "prefix": "ParaInherent", - "storage": [ - { - "name": "Included", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "NULL", - "PlainTypeValue": 53 - }, - "fallback": "0x00", - "docs": [ - " Whether the paras inherent was included within this block.", - "", - " The `Option<()>` is effectively a `bool`, but it never hits storage in the `None` variant", - " due to the guarantees of FRAME's storage APIs.", - "", - " If this is `None` at the end of the block, we panic and render the block invalid." - ] - } - ], - "calls": [ - { - "lookup": "3600", - "name": "enter", - "docs": [ - "Enter the paras inherent. This will process bitfields and backed candidates." - ], - "args": [ - { - "name": "data", - "type": "polkadot_primitivesv1InherentData" - } - ] - } - ], - "calls_value": { - "type": 457 - }, - "errors": [ - { - "name": "TooManyInclusionInherents", - "doc": [ - "Inclusion inherent called more than once per block." - ] - }, - { - "name": "InvalidParentHeader", - "doc": [ - "The hash of the submitted parent header doesn't correspond to the saved block hash of", - "the parent." - ] - }, - { - "name": "CandidateConcludedInvalid", - "doc": [ - "Disputed candidate that was concluded invalid." - ] - } - ], - "errors_value": { - "type": 627 - }, - "index": 54 - }, - { - "name": "ParaScheduler", - "prefix": "ParaScheduler", - "storage": [ - { - "name": "ValidatorGroups", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec>", - "PlainTypeValue": 628 - }, - "fallback": "0x00", - "docs": [ - " All the validator groups. One for each core. Indices are into `ActiveValidators` - not the", - " broader set of Polkadot validators, but instead just the subset used for parachains during", - " this session.", - "", - " Bound: The number of cores is the sum of the numbers of parachains and parathread multiplexers.", - " Reasonably, 100-1000. The dominant factor is the number of validators: safe upper bound at 10k." - ] - }, - { - "name": "ParathreadQueue", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "polkadot_runtime_parachainsschedulerParathreadClaimQueue", - "PlainTypeValue": 629 - }, - "fallback": "0x0000000000", - "docs": [ - " A queue of upcoming claims and which core they should be mapped onto.", - "", - " The number of queued claims is bounded at the `scheduling_lookahead`", - " multiplied by the number of parathread multiplexer cores. Reasonably, 10 * 50 = 500." - ] - }, - { - "name": "AvailabilityCores", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec>", - "PlainTypeValue": 634 - }, - "fallback": "0x00", - "docs": [ - " One entry for each availability core. Entries are `None` if the core is not currently occupied. Can be", - " temporarily `Some` if scheduled but not occupied.", - " The i'th parachain belongs to the i'th core, with the remaining cores all being", - " parathread-multiplexers.", - "", - " Bounded by the maximum of either of these two values:", - " * The number of parachains and parathread multiplexers", - " * The number of validators divided by `configuration.max_validators_per_core`." - ] - }, - { - "name": "ParathreadClaimIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 637 - }, - "fallback": "0x00", - "docs": [ - " An index used to ensure that only one claim on a parathread exists in the queue or is", - " currently being handled by an occupied core.", - "", - " Bounded by the number of parathread cores and scheduling lookahead. Reasonably, 10 * 50 = 500." - ] - }, - { - "name": "SessionStartBlock", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The block number where the session start occurred. Used to track how many group rotations have occurred.", - "", - " Note that in the context of parachains modules the session change is signaled during", - " the block and enacted at the end of the block (at the finalization stage, to be exact).", - " Thus for all intents and purposes the effect of the session change is observed at the", - " block following the session change, block number of which we save in this storage value." - ] - }, - { - "name": "Scheduled", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 638 - }, - "fallback": "0x00", - "docs": [ - " Currently scheduled cores - free but up to be occupied.", - "", - " Bounded by the number of cores: one for each parachain and parathread multiplexer.", - "", - " The value contained here will not be valid after the end of a block. Runtime APIs should be used to determine scheduled cores/", - " for the upcoming block." - ] - } - ], - "errors": null, - "errors_value": null, - "index": 55 - }, - { - "name": "Paras", - "prefix": "Paras", - "storage": [ - { - "name": "Parachains", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 637 - }, - "fallback": "0x00", - "docs": [ - " All parachains. Ordered ascending by `ParaId`. Parathreads are not included." - ] - }, - { - "name": "ParaLifecycles", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_runtime_parachainsparasParaLifecycle", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The current lifecycle of a all known Para IDs." - ] - }, - { - "name": "Heads", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The head-data of every registered para." - ] - }, - { - "name": "CurrentCodeHash", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "[U8; 32]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The validation code hash of every live para.", - "", - " Corresponding code can be retrieved with [`CodeByHash`]." - ] - }, - { - "name": "PastCodeHash", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "TupleU32U32" - ], - "value": "[U8; 32]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Actual past code hash, indicated by the para id as well as the block number at which it", - " became outdated.", - "", - " Corresponding code can be retrieved with [`CodeByHash`]." - ] - }, - { - "name": "PastCodeMeta", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_runtime_parachainsparasParaPastCodeMeta", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000", - "docs": [ - " Past code of parachains. The parachains themselves may not be registered anymore,", - " but we also keep their code on-chain for the same amount of time as outdated code", - " to keep it available for secondary checkers." - ] - }, - { - "name": "PastCodePruning", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 646 - }, - "fallback": "0x00", - "docs": [ - " Which paras have past code that needs pruning and the relay-chain block at which the code was replaced.", - " Note that this is the actual height of the included block, not the expected height at which the", - " code upgrade would be applied, although they may be equal.", - " This is to ensure the entire acceptance period is covered, not an offset acceptance period starting", - " from the time at which the parachain perceives a code upgrade as having occurred.", - " Multiple entries for a single para are permitted. Ordered ascending by block number." - ] - }, - { - "name": "FutureCodeUpgrades", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The block number at which the planned code change is expected for a para.", - " The change will be applied after the first parablock for this ID included which executes", - " in the context of a relay chain block with a number >= `expected_at`." - ] - }, - { - "name": "FutureCodeHash", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "[U8; 32]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The actual future code hash of a para.", - "", - " Corresponding code can be retrieved with [`CodeByHash`]." - ] - }, - { - "name": "UpgradeGoAheadSignal", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_primitivesv1UpgradeGoAhead", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " This is used by the relay-chain to communicate to a parachain a go-ahead with in the upgrade procedure.", - "", - " This value is absent when there are no upgrades scheduled or during the time the relay chain", - " performs the checks. It is set at the first relay-chain block when the corresponding parachain", - " can switch its upgrade function. As soon as the parachain's block is included, the value", - " gets reset to `None`.", - "", - " NOTE that this field is used by parachains via merkle storage proofs, therefore changing", - " the format will require migration of parachains." - ] - }, - { - "name": "UpgradeRestrictionSignal", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_primitivesv1UpgradeRestriction", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " This is used by the relay-chain to communicate that there are restrictions for performing", - " an upgrade for this parachain.", - "", - " This may be a because the parachain waits for the upgrade cooldown to expire. Another", - " potential use case is when we want to perform some maintenance (such as storage migration)", - " we could restrict upgrades to make the process simpler.", - "", - " NOTE that this field is used by parachains via merkle storage proofs, therefore changing", - " the format will require migration of parachains." - ] - }, - { - "name": "UpgradeCooldowns", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 646 - }, - "fallback": "0x00", - "docs": [ - " The list of parachains that are awaiting for their upgrade restriction to cooldown.", - "", - " Ordered ascending by block number." - ] - }, - { - "name": "UpcomingUpgrades", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 646 - }, - "fallback": "0x00", - "docs": [ - " The list of upcoming code upgrades. Each item is a pair of which para performs a code", - " upgrade and at which relay-chain block it is expected at.", - "", - " Ordered ascending by block number." - ] - }, - { - "name": "ActionsQueue", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The actions to perform during the start of a specific session index." - ] - }, - { - "name": "UpcomingParasGenesis", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_runtime_parachainsparasParaGenesisArgs", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Upcoming paras instantiation arguments." - ] - }, - { - "name": "CodeByHashRefs", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00000000", - "docs": [ - " The number of reference on the validation code in [`CodeByHash`] storage." - ] - }, - { - "name": "CodeByHash", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Validation code stored by its hash.", - "", - " This storage is consistent with [`FutureCodeHash`], [`CurrentCodeHash`] and", - " [`PastCodeHash`]." - ] - } - ], - "calls": [ - { - "lookup": "3800", - "name": "force_set_current_code", - "docs": [ - "Set the storage for the parachain validation code immediately." - ], - "args": [ - { - "name": "para", - "type": "U32" - }, - { - "name": "new_code", - "type": "Vec" - } - ] - }, - { - "lookup": "3801", - "name": "force_set_current_head", - "docs": [ - "Set the storage for the current parachain head data immediately." - ], - "args": [ - { - "name": "para", - "type": "U32" - }, - { - "name": "new_head", - "type": "Vec" - } - ] - }, - { - "lookup": "3802", - "name": "force_schedule_code_upgrade", - "docs": [ - "Schedule an upgrade as if it was scheduled in the given relay parent block." - ], - "args": [ - { - "name": "para", - "type": "U32" - }, - { - "name": "new_code", - "type": "Vec" - }, - { - "name": "relay_parent_number", - "type": "U32" - } - ] - }, - { - "lookup": "3803", - "name": "force_note_new_head", - "docs": [ - "Note a new block head for para within the context of the current block." - ], - "args": [ - { - "name": "para", - "type": "U32" - }, - { - "name": "new_head", - "type": "Vec" - } - ] - }, - { - "lookup": "3804", - "name": "force_queue_action", - "docs": [ - "Put a parachain directly into the next session's action queue.", - "We can't queue it any sooner than this without going into the", - "initializer..." - ], - "args": [ - { - "name": "para", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 484 - }, - "events": [ - { - "lookup": "3800", - "name": "CurrentCodeUpdated", - "docs": [ - "Current code has been updated for a Para. `para_id`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "3801", - "name": "CurrentHeadUpdated", - "docs": [ - "Current head has been updated for a Para. `para_id`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "3802", - "name": "CodeUpgradeScheduled", - "docs": [ - "A code upgrade has been scheduled for a Para. `para_id`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "3803", - "name": "NewHeadNoted", - "docs": [ - "A new head has been noted for a Para. `para_id`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "3804", - "name": "ActionQueued", - "docs": [ - "A para has been queued to execute pending actions. `para_id`" - ], - "args": [ - "U32", - "U32" - ] - } - ], - "events_value": { - "type": 97 - }, - "errors": [ - { - "name": "NotRegistered", - "doc": [ - "Para is not registered in our system." - ] - }, - { - "name": "CannotOnboard", - "doc": [ - "Para cannot be onboarded because it is already tracked by our system." - ] - }, - { - "name": "CannotOffboard", - "doc": [ - "Para cannot be offboarded at this time." - ] - }, - { - "name": "CannotUpgrade", - "doc": [ - "Para cannot be upgraded to a parachain." - ] - }, - { - "name": "CannotDowngrade", - "doc": [ - "Para cannot be downgraded to a parathread." - ] - } - ], - "errors_value": { - "type": 650 - }, - "index": 56 - }, - { - "name": "Initializer", - "prefix": "Initializer", - "storage": [ - { - "name": "HasInitialized", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "NULL", - "PlainTypeValue": 53 - }, - "fallback": "0x00", - "docs": [ - " Whether the parachains modules have been initialized within this block.", - "", - " Semantically a `bool`, but this guarantees it should never hit the trie,", - " as this is cleared in `on_finalize` and Frame optimizes `None` values to be empty values.", - "", - " As a `bool`, `set(false)` and `remove()` both lead to the next `get()` being false, but one of", - " them writes to the trie and one does not. This confusion makes `Option<()>` more suitable for", - " the semantics of this variable." - ] - }, - { - "name": "BufferedSessionChanges", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 651 - }, - "fallback": "0x00", - "docs": [ - " Buffered session changes along with the block number at which they should be applied.", - "", - " Typically this will be empty or one element long. Apart from that this item never hits", - " the storage.", - "", - " However this is a `Vec` regardless to handle various edge cases that may occur at runtime", - " upgrade boundaries or if governance intervenes." - ] - } - ], - "calls": [ - { - "lookup": "3900", - "name": "force_approve", - "docs": [ - "Issue a signal to the consensus engine to forcibly act as though all parachain", - "blocks in all relay chain blocks up to and including the given number in the current", - "chain are valid and should be finalized." - ], - "args": [ - { - "name": "up_to", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 485 - }, - "errors": null, - "errors_value": null, - "index": 57 - }, - { - "name": "Dmp", - "prefix": "Dmp", - "storage": [ - { - "name": "DownwardMessageQueues", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The downward messages addressed for a certain para." - ] - }, - { - "name": "DownwardMessageQueueHeads", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "[U8; 32]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " A mapping that stores the downward message queue MQC head for each para.", - "", - " Each link in this chain has a form:", - " `(prev_head, B, H(M))`, where", - " - `prev_head`: is the previous head hash or zero if none.", - " - `B`: is the relay-chain block number in which a message was appended.", - " - `H(M)`: is the hash of the message being appended." - ] - } - ], - "calls_value": { - "type": 486 - }, - "errors": null, - "errors_value": null, - "index": 58 - }, - { - "name": "Ump", - "prefix": "Ump", - "storage": [ - { - "name": "RelayDispatchQueues", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec>", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The messages waiting to be handled by the relay-chain originating from a certain parachain.", - "", - " Note that some upward messages might have been already processed by the inclusion logic. E.g.", - " channel management messages.", - "", - " The messages are processed in FIFO order." - ] - }, - { - "name": "RelayDispatchQueueSize", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "TupleU32U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x0000000000000000", - "docs": [ - " Size of the dispatch queues. Caches sizes of the queues in `RelayDispatchQueue`.", - "", - " First item in the tuple is the count of messages and second", - " is the total length (in bytes) of the message payloads.", - "", - " Note that this is an auxiliary mapping: it's possible to tell the byte size and the number of", - " messages only looking at `RelayDispatchQueues`. This mapping is separate to avoid the cost of", - " loading the whole message queue if only the total size and count are required.", - "", - " Invariant:", - " - The set of keys should exactly match the set of keys of `RelayDispatchQueues`." - ] - }, - { - "name": "NeedsDispatch", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 637 - }, - "fallback": "0x00", - "docs": [ - " The ordered list of `ParaId`s that have a `RelayDispatchQueue` entry.", - "", - " Invariant:", - " - The set of items from this vector should be exactly the set of the keys in", - " `RelayDispatchQueues` and `RelayDispatchQueueSize`." - ] - }, - { - "name": "NextDispatchRoundStartWith", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 88 - }, - "fallback": "0x00", - "docs": [ - " This is the para that gets will get dispatched first during the next upward dispatchable queue", - " execution round.", - "", - " Invariant:", - " - If `Some(para)`, then `para` must be present in `NeedsDispatch`." - ] - }, - { - "name": "Overweight", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U64" - ], - "value": "TupleU32Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The messages that exceeded max individual message weight budget.", - "", - " These messages stay there until manually dispatched." - ] - }, - { - "name": "OverweightCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U64", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " The number of overweight messages ever recorded in `Overweight` (and thus the lowest free", - " index)." - ] - } - ], - "calls": [ - { - "lookup": "3b00", - "name": "service_overweight", - "docs": [ - "Service a single overweight upward message.", - "", - "- `origin`: Must pass `ExecuteOverweightOrigin`.", - "- `index`: The index of the overweight message to service.", - "- `weight_limit`: The amount of weight that message execution may take.", - "", - "Errors:", - "- `UnknownMessageIndex`: Message of `index` is unknown.", - "- `WeightOverLimit`: Message execution may use greater than `weight_limit`.", - "", - "Events:", - "- `OverweightServiced`: On success." - ], - "args": [ - { - "name": "index", - "type": "U64" - }, - { - "name": "weight_limit", - "type": "U64" - } - ] - } - ], - "calls_value": { - "type": 487 - }, - "events": [ - { - "lookup": "3b00", - "name": "InvalidFormat", - "docs": [ - "Upward message is invalid XCM.", - "\\[ id \\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "3b01", - "name": "UnsupportedVersion", - "docs": [ - "Upward message is unsupported version of XCM.", - "\\[ id \\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "3b02", - "name": "ExecutedUpward", - "docs": [ - "Upward message executed with the given outcome.", - "\\[ id, outcome \\]" - ], - "args": [ - "[U8; 32]", - "xcmv2traitsOutcome" - ] - }, - { - "lookup": "3b03", - "name": "WeightExhausted", - "docs": [ - "The weight limit for handling downward messages was reached.", - "\\[ id, remaining, required \\]" - ], - "args": [ - "[U8; 32]", - "U64", - "U64" - ] - }, - { - "lookup": "3b04", - "name": "UpwardMessagesReceived", - "docs": [ - "Some downward messages have been received and will be processed.", - "\\[ para, count, size \\]" - ], - "args": [ - "U32", - "U32", - "U32" - ] - }, - { - "lookup": "3b05", - "name": "OverweightEnqueued", - "docs": [ - "The weight budget was exceeded for an individual downward message.", - "", - "This message can be later dispatched manually using `service_overweight` dispatchable", - "using the assigned `overweight_index`.", - "", - "\\[ para, id, overweight_index, required \\]" - ], - "args": [ - "U32", - "[U8; 32]", - "U64", - "U64" - ] - }, - { - "lookup": "3b06", - "name": "OverweightServiced", - "docs": [ - "Downward message from the overweight queue was executed with the given actual weight", - "used.", - "", - "\\[ overweight_index, used \\]" - ], - "args": [ - "U64", - "U64" - ] - } - ], - "events_value": { - "type": 98 - }, - "errors": [ - { - "name": "UnknownMessageIndex", - "doc": [ - "The message index given is unknown." - ] - }, - { - "name": "WeightOverLimit", - "doc": [ - "The amount of weight given is possibly not enough for executing the message." - ] - } - ], - "errors_value": { - "type": 656 - }, - "index": 59 - }, - { - "name": "Hrmp", - "prefix": "Hrmp", - "storage": [ - { - "name": "HrmpOpenChannelRequests", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "polkadot_parachainprimitivesHrmpChannelId" - ], - "value": "polkadot_runtime_parachainshrmpHrmpOpenChannelRequest", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The set of pending HRMP open channel requests.", - "", - " The set is accompanied by a list for iteration.", - "", - " Invariant:", - " - There are no channels that exists in list but not in the set and vice versa." - ] - }, - { - "name": "HrmpOpenChannelRequestsList", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 658 - }, - "fallback": "0x00", - "docs": null - }, - { - "name": "HrmpOpenChannelRequestCount", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00000000", - "docs": [ - " This mapping tracks how many open channel requests are initiated by a given sender para.", - " Invariant: `HrmpOpenChannelRequests` should contain the same number of items that has `(X, _)`", - " as the number of `HrmpOpenChannelRequestCount` for `X`." - ] - }, - { - "name": "HrmpAcceptedChannelRequestCount", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00000000", - "docs": [ - " This mapping tracks how many open channel requests were accepted by a given recipient para.", - " Invariant: `HrmpOpenChannelRequests` should contain the same number of items `(_, X)` with", - " `confirmed` set to true, as the number of `HrmpAcceptedChannelRequestCount` for `X`." - ] - }, - { - "name": "HrmpCloseChannelRequests", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "polkadot_parachainprimitivesHrmpChannelId" - ], - "value": "NULL", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " A set of pending HRMP close channel requests that are going to be closed during the session change.", - " Used for checking if a given channel is registered for closure.", - "", - " The set is accompanied by a list for iteration.", - "", - " Invariant:", - " - There are no channels that exists in list but not in the set and vice versa." - ] - }, - { - "name": "HrmpCloseChannelRequestsList", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 658 - }, - "fallback": "0x00", - "docs": null - }, - { - "name": "HrmpWatermarks", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The HRMP watermark associated with each para.", - " Invariant:", - " - each para `P` used here as a key should satisfy `Paras::is_valid_para(P)` within a session." - ] - }, - { - "name": "HrmpChannels", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "polkadot_parachainprimitivesHrmpChannelId" - ], - "value": "polkadot_runtime_parachainshrmpHrmpChannel", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " HRMP channel data associated with each para.", - " Invariant:", - " - each participant in the channel should satisfy `Paras::is_valid_para(P)` within a session." - ] - }, - { - "name": "HrmpIngressChannelsIndex", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Ingress/egress indexes allow to find all the senders and receivers given the opposite", - " side. I.e.", - "", - " (a) ingress index allows to find all the senders for a given recipient.", - " (b) egress index allows to find all the recipients for a given sender.", - "", - " Invariants:", - " - for each ingress index entry for `P` each item `I` in the index should present in `HrmpChannels`", - " as `(I, P)`.", - " - for each egress index entry for `P` each item `E` in the index should present in `HrmpChannels`", - " as `(P, E)`.", - " - there should be no other dangling channels in `HrmpChannels`.", - " - the vectors are sorted." - ] - }, - { - "name": "HrmpEgressChannelsIndex", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": null - }, - { - "name": "HrmpChannelContents", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "polkadot_parachainprimitivesHrmpChannelId" - ], - "value": "Vec", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Storage for the messages for each channel.", - " Invariant: cannot be non-empty if the corresponding channel in `HrmpChannels` is `None`." - ] - }, - { - "name": "HrmpChannelDigests", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec>", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Maintains a mapping that can be used to answer the question:", - " What paras sent a message at the given block number for a given receiver.", - " Invariants:", - " - The inner `Vec` is never empty.", - " - The inner `Vec` cannot store two same `ParaId`.", - " - The outer vector is sorted ascending by block number and cannot store two items with the same", - " block number." - ] - } - ], - "calls": [ - { - "lookup": "3c00", - "name": "hrmp_init_open_channel", - "docs": [ - "Initiate opening a channel from a parachain to a given recipient with given channel", - "parameters.", - "", - "- `proposed_max_capacity` - specifies how many messages can be in the channel at once.", - "- `proposed_max_message_size` - specifies the maximum size of the messages.", - "", - "These numbers are a subject to the relay-chain configuration limits.", - "", - "The channel can be opened only after the recipient confirms it and only on a session", - "change." - ], - "args": [ - { - "name": "recipient", - "type": "U32" - }, - { - "name": "proposed_max_capacity", - "type": "U32" - }, - { - "name": "proposed_max_message_size", - "type": "U32" - } - ] - }, - { - "lookup": "3c01", - "name": "hrmp_accept_open_channel", - "docs": [ - "Accept a pending open channel request from the given sender.", - "", - "The channel will be opened only on the next session boundary." - ], - "args": [ - { - "name": "sender", - "type": "U32" - } - ] - }, - { - "lookup": "3c02", - "name": "hrmp_close_channel", - "docs": [ - "Initiate unilateral closing of a channel. The origin must be either the sender or the", - "recipient in the channel being closed.", - "", - "The closure can only happen on a session change." - ], - "args": [ - { - "name": "channel_id", - "type": "polkadot_parachainprimitivesHrmpChannelId" - } - ] - }, - { - "lookup": "3c03", - "name": "force_clean_hrmp", - "docs": [ - "This extrinsic triggers the cleanup of all the HRMP storage items that", - "a para may have. Normally this happens once per session, but this allows", - "you to trigger the cleanup immediately for a specific parachain.", - "", - "Origin must be Root." - ], - "args": [ - { - "name": "para", - "type": "U32" - } - ] - }, - { - "lookup": "3c04", - "name": "force_process_hrmp_open", - "docs": [ - "Force process HRMP open channel requests.", - "", - "If there are pending HRMP open channel requests, you can use this", - "function process all of those requests immediately." - ], - "args": null - }, - { - "lookup": "3c05", - "name": "force_process_hrmp_close", - "docs": [ - "Force process HRMP close channel requests.", - "", - "If there are pending HRMP close channel requests, you can use this", - "function process all of those requests immediately." - ], - "args": null - }, - { - "lookup": "3c06", - "name": "hrmp_cancel_open_request", - "docs": [ - "This cancels a pending open channel request. It can be canceled be either of the sender", - "or the recipient for that request. The origin must be either of those.", - "", - "The cancelling happens immediately. It is not possible to cancel the request if it is", - "already accepted." - ], - "args": [ - { - "name": "channel_id", - "type": "polkadot_parachainprimitivesHrmpChannelId" - } - ] - } - ], - "calls_value": { - "type": 488 - }, - "events": [ - { - "lookup": "3c00", - "name": "OpenChannelRequested", - "docs": [ - "Open HRMP channel requested.", - "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`" - ], - "args": [ - "U32", - "U32", - "U32", - "U32" - ] - }, - { - "lookup": "3c01", - "name": "OpenChannelCanceled", - "docs": [ - "An HRMP channel request sent by the receiver was canceled by either party.", - "`[by_parachain, channel_id]`" - ], - "args": [ - "U32", - "polkadot_parachainprimitivesHrmpChannelId" - ] - }, - { - "lookup": "3c02", - "name": "OpenChannelAccepted", - "docs": [ - "Open HRMP channel accepted. `[sender, recipient]`" - ], - "args": [ - "U32", - "U32" - ] - }, - { - "lookup": "3c03", - "name": "ChannelClosed", - "docs": [ - "HRMP channel closed. `[by_parachain, channel_id]`" - ], - "args": [ - "U32", - "polkadot_parachainprimitivesHrmpChannelId" - ] - } - ], - "events_value": { - "type": 101 - }, - "errors": [ - { - "name": "OpenHrmpChannelToSelf", - "doc": [ - "The sender tried to open a channel to themselves." - ] - }, - { - "name": "OpenHrmpChannelInvalidRecipient", - "doc": [ - "The recipient is not a valid para." - ] - }, - { - "name": "OpenHrmpChannelZeroCapacity", - "doc": [ - "The requested capacity is zero." - ] - }, - { - "name": "OpenHrmpChannelCapacityExceedsLimit", - "doc": [ - "The requested capacity exceeds the global limit." - ] - }, - { - "name": "OpenHrmpChannelZeroMessageSize", - "doc": [ - "The requested maximum message size is 0." - ] - }, - { - "name": "OpenHrmpChannelMessageSizeExceedsLimit", - "doc": [ - "The open request requested the message size that exceeds the global limit." - ] - }, - { - "name": "OpenHrmpChannelAlreadyExists", - "doc": [ - "The channel already exists" - ] - }, - { - "name": "OpenHrmpChannelAlreadyRequested", - "doc": [ - "There is already a request to open the same channel." - ] - }, - { - "name": "OpenHrmpChannelLimitExceeded", - "doc": [ - "The sender already has the maximum number of allowed outbound channels." - ] - }, - { - "name": "AcceptHrmpChannelDoesntExist", - "doc": [ - "The channel from the sender to the origin doesn't exist." - ] - }, - { - "name": "AcceptHrmpChannelAlreadyConfirmed", - "doc": [ - "The channel is already confirmed." - ] - }, - { - "name": "AcceptHrmpChannelLimitExceeded", - "doc": [ - "The recipient already has the maximum number of allowed inbound channels." - ] - }, - { - "name": "CloseHrmpChannelUnauthorized", - "doc": [ - "The origin tries to close a channel where it is neither the sender nor the recipient." - ] - }, - { - "name": "CloseHrmpChannelDoesntExist", - "doc": [ - "The channel to be closed doesn't exist." - ] - }, - { - "name": "CloseHrmpChannelAlreadyUnderway", - "doc": [ - "The channel close request is already requested." - ] - }, - { - "name": "CancelHrmpOpenChannelUnauthorized", - "doc": [ - "Canceling is requested by neither the sender nor recipient of the open channel request." - ] - }, - { - "name": "OpenHrmpChannelDoesntExist", - "doc": [ - "The open request doesn't exist." - ] - }, - { - "name": "OpenHrmpChannelAlreadyConfirmed", - "doc": [ - "Cannot cancel an HRMP open channel request because it is already confirmed." - ] - } - ], - "errors_value": { - "type": 665 - }, - "index": 60 - }, - { - "name": "ParaSessionInfo", - "prefix": "ParaSessionInfo", - "storage": [ - { - "name": "AssignmentKeysUnsafe", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec<[U8; 32]>", - "PlainTypeValue": 666 - }, - "fallback": "0x00", - "docs": [ - " Assignment keys for the current session.", - " Note that this API is private due to it being prone to 'off-by-one' at session boundaries.", - " When in doubt, use `Sessions` API instead." - ] - }, - { - "name": "EarliestStoredSession", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The earliest session for which previous session info is stored." - ] - }, - { - "name": "Sessions", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_primitivesv1SessionInfo", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Session information in a rolling window.", - " Should have an entry in range `EarliestStoredSession..=CurrentSessionIndex`.", - " Does not have any entries before the session index in the first session change notification." - ] - } - ], - "errors": null, - "errors_value": null, - "index": 61 - }, - { - "name": "Registrar", - "prefix": "Registrar", - "storage": [ - { - "name": "PendingSwap", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Pending swap operations." - ] - }, - { - "name": "Paras", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_runtime_commonparas_registrarParaInfo", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Amount held on deposit for each para and the original depositor.", - "", - " The given account ID is responsible for registering the code and initial head data, but may only do", - " so if it isn't yet registered. (After that, it's up to governance to do so.)" - ] - }, - { - "name": "NextFreeParaId", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 88 - }, - "fallback": "0x00000000", - "docs": [ - " The next free `ParaId`." - ] - } - ], - "calls": [ - { - "lookup": "4600", - "name": "register", - "docs": [ - "Register head data and validation code for a reserved Para Id.", - "", - "## Arguments", - "- `origin`: Must be called by a `Signed` origin.", - "- `id`: The para ID. Must be owned/managed by the `origin` signing account.", - "- `genesis_head`: The genesis head data of the parachain/thread.", - "- `validation_code`: The initial validation code of the parachain/thread.", - "", - "## Deposits/Fees", - "The origin signed account must reserve a corresponding deposit for the registration. Anything already", - "reserved previously for this para ID is accounted for.", - "", - "## Events", - "The `Registered` event is emitted in case of success." - ], - "args": [ - { - "name": "id", - "type": "U32" - }, - { - "name": "genesis_head", - "type": "Vec" - }, - { - "name": "validation_code", - "type": "Vec" - } - ] - }, - { - "lookup": "4601", - "name": "force_register", - "docs": [ - "Force the registration of a Para Id on the relay chain.", - "", - "This function must be called by a Root origin.", - "", - "The deposit taken can be specified for this registration. Any `ParaId`", - "can be registered, including sub-1000 IDs which are System Parachains." - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "deposit", - "type": "U128" - }, - { - "name": "id", - "type": "U32" - }, - { - "name": "genesis_head", - "type": "Vec" - }, - { - "name": "validation_code", - "type": "Vec" - } - ] - }, - { - "lookup": "4602", - "name": "deregister", - "docs": [ - "Deregister a Para Id, freeing all data and returning any deposit.", - "", - "The caller must be Root, the `para` owner, or the `para` itself. The para must be a parathread." - ], - "args": [ - { - "name": "id", - "type": "U32" - } - ] - }, - { - "lookup": "4603", - "name": "swap", - "docs": [ - "Swap a parachain with another parachain or parathread.", - "", - "The origin must be Root, the `para` owner, or the `para` itself.", - "", - "The swap will happen only if there is already an opposite swap pending. If there is not,", - "the swap will be stored in the pending swaps map, ready for a later confirmatory swap.", - "", - "The `ParaId`s remain mapped to the same head data and code so external code can rely on", - "`ParaId` to be a long-term identifier of a notional \"parachain\". However, their", - "scheduling info (i.e. whether they're a parathread or parachain), auction information", - "and the auction deposit are switched." - ], - "args": [ - { - "name": "id", - "type": "U32" - }, - { - "name": "other", - "type": "U32" - } - ] - }, - { - "lookup": "4604", - "name": "force_remove_lock", - "docs": [ - "Remove a manager lock from a para. This will allow the manager of a", - "previously locked para to deregister or swap a para without using governance.", - "", - "Can only be called by the Root origin." - ], - "args": [ - { - "name": "para", - "type": "U32" - } - ] - }, - { - "lookup": "4605", - "name": "reserve", - "docs": [ - "Reserve a Para Id on the relay chain.", - "", - "This function will reserve a new Para Id to be owned/managed by the origin account.", - "The origin account is able to register head data and validation code using `register` to create", - "a parathread. Using the Slots pallet, a parathread can then be upgraded to get a parachain slot.", - "", - "## Arguments", - "- `origin`: Must be called by a `Signed` origin. Becomes the manager/owner of the new para ID.", - "", - "## Deposits/Fees", - "The origin must reserve a deposit of `ParaDeposit` for the registration.", - "", - "## Events", - "The `Reserved` event is emitted in case of success, which provides the ID reserved for use." - ], - "args": null - } - ], - "calls_value": { - "type": 489 - }, - "events": [ - { - "lookup": "4600", - "name": "Registered", - "docs": null, - "args": [ - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "4601", - "name": "Deregistered", - "docs": null, - "args": [ - "U32" - ] - }, - { - "lookup": "4602", - "name": "Reserved", - "docs": null, - "args": [ - "U32", - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 103 - }, - "constants": [ - { - "name": "ParaDeposit", - "type": "U128", - "type_value": 6, - "constants_value": "0080ca39612400000000000000000000", - "docs": [ - " The deposit to be paid to run a parathread.", - " This should include the cost for storing the genesis head and validation code." - ] - }, - { - "name": "DataDepositPerByte", - "type": "U128", - "type_value": 6, - "constants_value": "55a0fc01000000000000000000000000", - "docs": [ - " The deposit to be paid per byte stored on chain." - ] - } - ], - "errors": [ - { - "name": "NotRegistered", - "doc": [ - "The ID is not registered." - ] - }, - { - "name": "AlreadyRegistered", - "doc": [ - "The ID is already registered." - ] - }, - { - "name": "NotOwner", - "doc": [ - "The caller is not the owner of this Id." - ] - }, - { - "name": "CodeTooLarge", - "doc": [ - "Invalid para code size." - ] - }, - { - "name": "HeadDataTooLarge", - "doc": [ - "Invalid para head data size." - ] - }, - { - "name": "NotParachain", - "doc": [ - "Para is not a Parachain." - ] - }, - { - "name": "NotParathread", - "doc": [ - "Para is not a Parathread." - ] - }, - { - "name": "CannotDeregister", - "doc": [ - "Cannot deregister para" - ] - }, - { - "name": "CannotDowngrade", - "doc": [ - "Cannot schedule downgrade of parachain to parathread" - ] - }, - { - "name": "CannotUpgrade", - "doc": [ - "Cannot schedule upgrade of parathread to parachain" - ] - }, - { - "name": "ParaLocked", - "doc": [ - "Para is locked from manipulation by the manager. Must use parachain or relay chain governance." - ] - }, - { - "name": "NotReserved", - "doc": [ - "The ID given for registration has not been reserved." - ] - } - ], - "errors_value": { - "type": 670 - }, - "index": 70 - }, - { - "name": "Slots", - "prefix": "Slots", - "storage": [ - { - "name": "Leases", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "Vec>", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Amounts held on deposit for each (possibly future) leased parachain.", - "", - " The actual amount locked on its behalf by any account at any time is the maximum of the second values", - " of the items in this list whose first value is the account.", - "", - " The first item in the list is the amount locked for the current Lease Period. Following", - " items are for the subsequent lease periods.", - "", - " The default value (an empty list) implies that the parachain no longer exists (or never", - " existed) as far as this pallet is concerned.", - "", - " If a parachain doesn't exist *yet* but is scheduled to exist in the future, then it", - " will be left-padded with one or more `None`s to denote the fact that nothing is held on", - " deposit for the non-existent chain currently, but is held at some point in the future.", - "", - " It is illegal for a `None` value to trail in the list." - ] - } - ], - "calls": [ - { - "lookup": "4700", - "name": "force_lease", - "docs": [ - "Just a connect into the `lease_out` call, in case Root wants to force some lease to happen", - "independently of any other on-chain mechanism to use it.", - "", - "Can only be called by the Root origin." - ], - "args": [ - { - "name": "para", - "type": "U32" - }, - { - "name": "leaser", - "type": "[U8; 32]" - }, - { - "name": "amount", - "type": "U128" - }, - { - "name": "period_begin", - "type": "U32" - }, - { - "name": "period_count", - "type": "U32" - } - ] - }, - { - "lookup": "4701", - "name": "clear_all_leases", - "docs": [ - "Clear all leases for a Para Id, refunding any deposits back to the original owners.", - "", - "Can only be called by the Root origin." - ], - "args": [ - { - "name": "para", - "type": "U32" - } - ] - }, - { - "lookup": "4702", - "name": "trigger_onboard", - "docs": [ - "Try to onboard a parachain that has a lease for the current lease period.", - "", - "This function can be useful if there was some state issue with a para that should", - "have onboarded, but was unable to. As long as they have a lease period, we can", - "let them onboard from here.", - "", - "Origin must be signed, but can be called by anyone." - ], - "args": [ - { - "name": "para", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 490 - }, - "events": [ - { - "lookup": "4700", - "name": "NewLeasePeriod", - "docs": [ - "A new `[lease_period]` is beginning." - ], - "args": [ - "U32" - ] - }, - { - "lookup": "4701", - "name": "Leased", - "docs": [ - "A para has won the right to a continuous set of lease periods as a parachain.", - "First balance is any extra amount reserved on top of the para's existing deposit.", - "Second balance is the total amount reserved.", - "`[parachain_id, leaser, period_begin, period_count, extra_reserved, total_amount]`" - ], - "args": [ - "U32", - "[U8; 32]", - "U32", - "U32", - "U128", - "U128" - ] - } - ], - "events_value": { - "type": 104 - }, - "constants": [ - { - "name": "LeasePeriod", - "type": "U32", - "type_value": 4, - "constants_value": "803a0900", - "docs": [ - " The number of blocks over which a single period lasts." - ] - }, - { - "name": "LeaseOffset", - "type": "U32", - "type_value": 4, - "constants_value": "00000000", - "docs": [ - " The number of blocks to offset each lease period by." - ] - } - ], - "errors": [ - { - "name": "ParaNotOnboarding", - "doc": [ - "The parachain ID is not onboarding." - ] - }, - { - "name": "LeaseError", - "doc": [ - "There was an error with the lease." - ] - } - ], - "errors_value": { - "type": 673 - }, - "index": 71 - }, - { - "name": "Auctions", - "prefix": "Auctions", - "storage": [ - { - "name": "AuctionCounter", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Number of auctions started so far." - ] - }, - { - "name": "AuctionInfo", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "TupleU32U32", - "PlainTypeValue": 71 - }, - "fallback": "0x00", - "docs": [ - " Information relating to the current auction, if there is one.", - "", - " The first item in the tuple is the lease period index that the first of the four", - " contiguous lease periods on auction is for. The second is the block number when the", - " auction will \"begin to end\", i.e. the first block of the Ending Period of the auction." - ] - }, - { - "name": "ReservedAmounts", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "Tuple[U8; 32]U32" - ], - "value": "U128", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Amounts currently reserved in the accounts of the bidders currently winning", - " (sub-)ranges." - ] - }, - { - "name": "Winning", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "[option; 36]", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The winning bids for each of the 10 ranges at each sample in the final Ending Period of", - " the current auction. The map's key is the 0-based index into the Sample Size. The", - " first sample of the ending period is 0; the last is `Sample Size - 1`." - ] - } - ], - "calls": [ - { - "lookup": "4800", - "name": "new_auction", - "docs": [ - "Create a new auction.", - "", - "This can only happen when there isn't already an auction in progress and may only be", - "called by the root origin. Accepts the `duration` of this auction and the", - "`lease_period_index` of the initial lease period of the four that are to be auctioned." - ], - "args": [ - { - "name": "duration", - "type": "compact" - }, - { - "name": "lease_period_index", - "type": "compact" - } - ] - }, - { - "lookup": "4801", - "name": "bid", - "docs": [ - "Make a new bid from an account (including a parachain account) for deploying a new", - "parachain.", - "", - "Multiple simultaneous bids from the same bidder are allowed only as long as all active", - "bids overlap each other (i.e. are mutually exclusive). Bids cannot be redacted.", - "", - "- `sub` is the sub-bidder ID, allowing for multiple competing bids to be made by (and", - "funded by) the same account.", - "- `auction_index` is the index of the auction to bid on. Should just be the present", - "value of `AuctionCounter`.", - "- `first_slot` is the first lease period index of the range to bid on. This is the", - "absolute lease period index value, not an auction-specific offset.", - "- `last_slot` is the last lease period index of the range to bid on. This is the", - "absolute lease period index value, not an auction-specific offset.", - "- `amount` is the amount to bid to be held as deposit for the parachain should the", - "bid win. This amount is held throughout the range." - ], - "args": [ - { - "name": "para", - "type": "compact" - }, - { - "name": "auction_index", - "type": "compact" - }, - { - "name": "first_slot", - "type": "compact" - }, - { - "name": "last_slot", - "type": "compact" - }, - { - "name": "amount", - "type": "compact" - } - ] - }, - { - "lookup": "4802", - "name": "cancel_auction", - "docs": [ - "Cancel an in-progress auction.", - "", - "Can only be called by Root origin." - ], - "args": null - } - ], - "calls_value": { - "type": 491 - }, - "events": [ - { - "lookup": "4800", - "name": "AuctionStarted", - "docs": [ - "An auction started. Provides its index and the block number where it will begin to", - "close and the first lease period of the quadruplet that is auctioned.", - "`[auction_index, lease_period, ending]`" - ], - "args": [ - "U32", - "U32", - "U32" - ] - }, - { - "lookup": "4801", - "name": "AuctionClosed", - "docs": [ - "An auction ended. All funds become unreserved. `[auction_index]`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "4802", - "name": "Reserved", - "docs": [ - "Funds were reserved for a winning bid. First balance is the extra amount reserved.", - "Second is the total. `[bidder, extra_reserved, total_amount]`" - ], - "args": [ - "[U8; 32]", - "U128", - "U128" - ] - }, - { - "lookup": "4803", - "name": "Unreserved", - "docs": [ - "Funds were unreserved since bidder is no longer active. `[bidder, amount]`" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "4804", - "name": "ReserveConfiscated", - "docs": [ - "Someone attempted to lease the same slot twice for a parachain. The amount is held in reserve", - "but no parachain slot has been leased.", - "`[parachain_id, leaser, amount]`" - ], - "args": [ - "U32", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "4805", - "name": "BidAccepted", - "docs": [ - "A new bid has been accepted as the current winner.", - "`[who, para_id, amount, first_slot, last_slot]`" - ], - "args": [ - "[U8; 32]", - "U32", - "U128", - "U32", - "U32" - ] - }, - { - "lookup": "4806", - "name": "WinningOffset", - "docs": [ - "The winning offset was chosen for an auction. This will map into the `Winning` storage map.", - "`[auction_index, block_number]`" - ], - "args": [ - "U32", - "U32" - ] - } - ], - "events_value": { - "type": 105 - }, - "constants": [ - { - "name": "EndingPeriod", - "type": "U32", - "type_value": 4, - "constants_value": "40190100", - "docs": [ - " The number of blocks over which an auction may be retroactively ended." - ] - }, - { - "name": "SampleLength", - "type": "U32", - "type_value": 4, - "constants_value": "14000000", - "docs": [ - " The length of each sample to take during the ending period.", - "", - " `EndingPeriod` / `SampleLength` = Total # of Samples" - ] - }, - { - "name": "SlotRangeCount", - "type": "U32", - "type_value": 4, - "constants_value": "24000000", - "docs": null - }, - { - "name": "LeasePeriodsPerSlot", - "type": "U32", - "type_value": 4, - "constants_value": "08000000", - "docs": null - } - ], - "errors": [ - { - "name": "AuctionInProgress", - "doc": [ - "This auction is already in progress." - ] - }, - { - "name": "LeasePeriodInPast", - "doc": [ - "The lease period is in the past." - ] - }, - { - "name": "ParaNotRegistered", - "doc": [ - "Para is not registered" - ] - }, - { - "name": "NotCurrentAuction", - "doc": [ - "Not a current auction." - ] - }, - { - "name": "NotAuction", - "doc": [ - "Not an auction." - ] - }, - { - "name": "AuctionEnded", - "doc": [ - "Auction has already ended." - ] - }, - { - "name": "AlreadyLeasedOut", - "doc": [ - "The para is already leased out for part of this range." - ] - } - ], - "errors_value": { - "type": 678 - }, - "index": 72 - }, - { - "name": "Crowdloan", - "prefix": "Crowdloan", - "storage": [ - { - "name": "Funds", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat" - ], - "key_vec": [ - "U32" - ], - "value": "polkadot_runtime_commoncrowdloanFundInfo", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Info on all of the funds." - ] - }, - { - "name": "NewRaise", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 637 - }, - "fallback": "0x00", - "docs": [ - " The funds that have had additional contributions during the last block. This is used", - " in order to determine which funds should submit new or updated bids." - ] - }, - { - "name": "EndingsCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The number of auctions that have entered into their ending period so far." - ] - }, - { - "name": "NextTrieIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Tracker for the next available trie index" - ] - } - ], - "calls": [ - { - "lookup": "4900", - "name": "create", - "docs": [ - "Create a new crowdloaning campaign for a parachain slot with the given lease period range.", - "", - "This applies a lock to your parachain configuration, ensuring that it cannot be changed", - "by the parachain manager." - ], - "args": [ - { - "name": "index", - "type": "compact" - }, - { - "name": "cap", - "type": "compact" - }, - { - "name": "first_period", - "type": "compact" - }, - { - "name": "last_period", - "type": "compact" - }, - { - "name": "end", - "type": "compact" - }, - { - "name": "verifier", - "type": "option" - } - ] - }, - { - "lookup": "4901", - "name": "contribute", - "docs": [ - "Contribute to a crowd sale. This will transfer some balance over to fund a parachain", - "slot. It will be withdrawable when the crowdloan has ended and the funds are unused." - ], - "args": [ - { - "name": "index", - "type": "compact" - }, - { - "name": "value", - "type": "compact" - }, - { - "name": "signature", - "type": "option" - } - ] - }, - { - "lookup": "4902", - "name": "withdraw", - "docs": [ - "Withdraw full balance of a specific contributor.", - "", - "Origin must be signed, but can come from anyone.", - "", - "The fund must be either in, or ready for, retirement. For a fund to be *in* retirement, then the retirement", - "flag must be set. For a fund to be ready for retirement, then:", - "- it must not already be in retirement;", - "- the amount of raised funds must be bigger than the _free_ balance of the account;", - "- and either:", - " - the block number must be at least `end`; or", - " - the current lease period must be greater than the fund's `last_period`.", - "", - "In this case, the fund's retirement flag is set and its `end` is reset to the current block", - "number.", - "", - "- `who`: The account whose contribution should be withdrawn.", - "- `index`: The parachain to whose crowdloan the contribution was made." - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "compact" - } - ] - }, - { - "lookup": "4903", - "name": "refund", - "docs": [ - "Automatically refund contributors of an ended crowdloan.", - "Due to weight restrictions, this function may need to be called multiple", - "times to fully refund all users. We will refund `RemoveKeysLimit` users at a time.", - "", - "Origin must be signed, but can come from anyone." - ], - "args": [ - { - "name": "index", - "type": "compact" - } - ] - }, - { - "lookup": "4904", - "name": "dissolve", - "docs": [ - "Remove a fund after the retirement period has ended and all funds have been returned." - ], - "args": [ - { - "name": "index", - "type": "compact" - } - ] - }, - { - "lookup": "4905", - "name": "edit", - "docs": [ - "Edit the configuration for an in-progress crowdloan.", - "", - "Can only be called by Root origin." - ], - "args": [ - { - "name": "index", - "type": "compact" - }, - { - "name": "cap", - "type": "compact" - }, - { - "name": "first_period", - "type": "compact" - }, - { - "name": "last_period", - "type": "compact" - }, - { - "name": "end", - "type": "compact" - }, - { - "name": "verifier", - "type": "option" - } - ] - }, - { - "lookup": "4906", - "name": "add_memo", - "docs": [ - "Add an optional memo to an existing crowdloan contribution.", - "", - "Origin must be Signed, and the user must have contributed to the crowdloan." - ], - "args": [ - { - "name": "index", - "type": "U32" - }, - { - "name": "memo", - "type": "Vec" - } - ] - }, - { - "lookup": "4907", - "name": "poke", - "docs": [ - "Poke the fund into `NewRaise`", - "", - "Origin must be Signed, and the fund has non-zero raise." - ], - "args": [ - { - "name": "index", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 493 - }, - "events": [ - { - "lookup": "4900", - "name": "Created", - "docs": [ - "Create a new crowdloaning campaign. `[fund_index]`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "4901", - "name": "Contributed", - "docs": [ - "Contributed to a crowd sale. `[who, fund_index, amount]`" - ], - "args": [ - "[U8; 32]", - "U32", - "U128" - ] - }, - { - "lookup": "4902", - "name": "Withdrew", - "docs": [ - "Withdrew full balance of a contributor. `[who, fund_index, amount]`" - ], - "args": [ - "[U8; 32]", - "U32", - "U128" - ] - }, - { - "lookup": "4903", - "name": "PartiallyRefunded", - "docs": [ - "The loans in a fund have been partially dissolved, i.e. there are some left", - "over child keys that still need to be killed. `[fund_index]`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "4904", - "name": "AllRefunded", - "docs": [ - "All loans in a fund have been refunded. `[fund_index]`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "4905", - "name": "Dissolved", - "docs": [ - "Fund is dissolved. `[fund_index]`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "4906", - "name": "HandleBidResult", - "docs": [ - "The result of trying to submit a new bid to the Slots pallet." - ], - "args": [ - "U32", - "Results" - ] - }, - { - "lookup": "4907", - "name": "Edited", - "docs": [ - "The configuration to a crowdloan has been edited. `[fund_index]`" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "4908", - "name": "MemoUpdated", - "docs": [ - "A memo has been updated. `[who, fund_index, memo]`" - ], - "args": [ - "[U8; 32]", - "U32", - "Vec" - ] - }, - { - "lookup": "4909", - "name": "AddedToNewRaise", - "docs": [ - "A parachain has been moved to `NewRaise`" - ], - "args": [ - "U32" - ] - } - ], - "events_value": { - "type": 106 - }, - "constants": [ - { - "name": "PalletId", - "type": "[U8; 8]", - "type_value": 538, - "constants_value": "py/cfund", - "docs": [ - " `PalletId` for the crowdloan pallet. An appropriate value could be `PalletId(*b\"py/cfund\")`" - ] - }, - { - "name": "MinContribution", - "type": "U128", - "type_value": 6, - "constants_value": "18e47648170000000000000000000000", - "docs": [ - " The minimum amount that may be contributed into a crowdloan. Should almost certainly be at", - " least `ExistentialDeposit`." - ] - }, - { - "name": "RemoveKeysLimit", - "type": "U32", - "type_value": 4, - "constants_value": "e8030000", - "docs": [ - " Max number of storage keys to remove per extrinsic call." - ] - } - ], - "errors": [ - { - "name": "FirstPeriodInPast", - "doc": [ - "The current lease period is more than the first lease period." - ] - }, - { - "name": "FirstPeriodTooFarInFuture", - "doc": [ - "The first lease period needs to at least be less than 3 `max_value`." - ] - }, - { - "name": "LastPeriodBeforeFirstPeriod", - "doc": [ - "Last lease period must be greater than first lease period." - ] - }, - { - "name": "LastPeriodTooFarInFuture", - "doc": [ - "The last lease period cannot be more than 3 periods after the first period." - ] - }, - { - "name": "CannotEndInPast", - "doc": [ - "The campaign ends before the current block number. The end must be in the future." - ] - }, - { - "name": "EndTooFarInFuture", - "doc": [ - "The end date for this crowdloan is not sensible." - ] - }, - { - "name": "Overflow", - "doc": [ - "There was an overflow." - ] - }, - { - "name": "ContributionTooSmall", - "doc": [ - "The contribution was below the minimum, `MinContribution`." - ] - }, - { - "name": "InvalidParaId", - "doc": [ - "Invalid fund index." - ] - }, - { - "name": "CapExceeded", - "doc": [ - "Contributions exceed maximum amount." - ] - }, - { - "name": "ContributionPeriodOver", - "doc": [ - "The contribution period has already ended." - ] - }, - { - "name": "InvalidOrigin", - "doc": [ - "The origin of this call is invalid." - ] - }, - { - "name": "NotParachain", - "doc": [ - "This crowdloan does not correspond to a parachain." - ] - }, - { - "name": "LeaseActive", - "doc": [ - "This parachain lease is still active and retirement cannot yet begin." - ] - }, - { - "name": "BidOrLeaseActive", - "doc": [ - "This parachain's bid or lease is still active and withdraw cannot yet begin." - ] - }, - { - "name": "FundNotEnded", - "doc": [ - "The crowdloan has not yet ended." - ] - }, - { - "name": "NoContributions", - "doc": [ - "There are no contributions stored in this crowdloan." - ] - }, - { - "name": "NotReadyToDissolve", - "doc": [ - "The crowdloan is not ready to dissolve. Potentially still has a slot or in retirement period." - ] - }, - { - "name": "InvalidSignature", - "doc": [ - "Invalid signature." - ] - }, - { - "name": "MemoTooLarge", - "doc": [ - "The provided memo is too large." - ] - }, - { - "name": "AlreadyInNewRaise", - "doc": [ - "The fund is already in `NewRaise`" - ] - }, - { - "name": "VrfDelayInProgress", - "doc": [ - "No contributions allowed during the VRF delay" - ] - }, - { - "name": "NoLeasePeriod", - "doc": [ - "A lease period has not started yet, due to an offset in the starting block." - ] - } - ], - "errors_value": { - "type": 681 - }, - "index": 73 - }, - { - "name": "XcmPallet", - "prefix": "XcmPallet", - "storage": [ - { - "name": "QueryCounter", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "U64", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " The latest available query index." - ] - }, - { - "name": "Queries", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Blake2_128Concat" - ], - "key_vec": [ - "U64" - ], - "value": "pallet_xcmpalletQueryStatus", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The ongoing queries." - ] - }, - { - "name": "AssetTraps", - "modifier": "Default", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Identity" - ], - "key_vec": [ - "[U8; 32]" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00000000", - "docs": [ - " The existing asset traps.", - "", - " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", - " times this pair has been trapped (usually just 1 if it exists at all)." - ] - }, - { - "name": "SafeXcmVersion", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "U32", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " Default version to encode XCM when latest version of destination is unknown. If `None`,", - " then the destinations whose XCM version is unknown are considered unreachable." - ] - }, - { - "name": "SupportedVersion", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Blake2_128Concat" - ], - "key_vec": [ - "TupleU32xcmVersionedMultiLocation" - ], - "value": "U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The Latest versions that we know various locations support." - ] - }, - { - "name": "VersionNotifiers", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Blake2_128Concat" - ], - "key_vec": [ - "TupleU32xcmVersionedMultiLocation" - ], - "value": "U64", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " All locations that we have requested version notifications from." - ] - }, - { - "name": "VersionNotifyTargets", - "modifier": "Optional", - "type": { - "origin": "Map", - "n_map_type": { - "hashers": [ - "Twox64Concat", - "Blake2_128Concat" - ], - "key_vec": [ - "TupleU32xcmVersionedMultiLocation" - ], - "value": "TupleU64U64U32", - "keys_id": 0, - "value_id": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The target locations that are subscribed to our version changes, as well as the most recent", - " of our versions we informed them of." - ] - }, - { - "name": "VersionDiscoveryQueue", - "modifier": "Default", - "type": { - "origin": "PlainType", - "plain_type": "Vec", - "PlainTypeValue": 688 - }, - "fallback": "0x00", - "docs": [ - " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", - " the `u32` counter is the number of times that a send to the destination has been attempted,", - " which is used as a prioritization." - ] - }, - { - "name": "CurrentMigration", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "plain_type": "pallet_xcmpalletVersionMigrationStage", - "PlainTypeValue": 691 - }, - "fallback": "0x00", - "docs": [ - " The current migration's stage, if any." - ] - } - ], - "calls": [ - { - "lookup": "6300", - "name": "send", - "docs": null, - "args": [ - { - "name": "dest", - "type": "xcmVersionedMultiLocation" - }, - { - "name": "message", - "type": "xcmVersionedXcm" - } - ] - }, - { - "lookup": "6301", - "name": "teleport_assets", - "docs": [ - "Teleport some assets from the local chain to some destination chain.", - "", - "Fee payment on the destination side is made from the first asset listed in the `assets` vector.", - "", - "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", - "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", - " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", - "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", - " an `AccountId32` value.", - "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", - " `dest` side. May not be empty.", - "- `dest_weight`: Equal to the total weight on `dest` of the XCM message", - " `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`." - ], - "args": [ - { - "name": "dest", - "type": "xcmVersionedMultiLocation" - }, - { - "name": "beneficiary", - "type": "xcmVersionedMultiLocation" - }, - { - "name": "assets", - "type": "xcmVersionedMultiAssets" - }, - { - "name": "fee_asset_item", - "type": "U32" - } - ] - }, - { - "lookup": "6302", - "name": "reserve_transfer_assets", - "docs": [ - "Transfer some assets from the local chain to the sovereign account of a destination chain and forward", - "a notification XCM.", - "", - "Fee payment on the destination side is made from the first asset listed in the `assets` vector.", - "", - "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", - "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", - " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", - "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", - " an `AccountId32` value.", - "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", - " `dest` side.", - "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", - " fees." - ], - "args": [ - { - "name": "dest", - "type": "xcmVersionedMultiLocation" - }, - { - "name": "beneficiary", - "type": "xcmVersionedMultiLocation" - }, - { - "name": "assets", - "type": "xcmVersionedMultiAssets" - }, - { - "name": "fee_asset_item", - "type": "U32" - } - ] - }, - { - "lookup": "6303", - "name": "execute", - "docs": [ - "Execute an XCM message from a local, signed, origin.", - "", - "An event is deposited indicating whether `msg` could be executed completely or only", - "partially.", - "", - "No more than `max_weight` will be used in its attempted execution. If this is less than the", - "maximum amount of weight that the message could take to be executed, then no execution", - "attempt will be made.", - "", - "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", - "to completion; only that *some* of it was executed." - ], - "args": [ - { - "name": "message", - "type": "xcmVersionedXcm" - }, - { - "name": "max_weight", - "type": "U64" - } - ] - }, - { - "lookup": "6304", - "name": "force_xcm_version", - "docs": [ - "Extoll that a particular destination can be communicated with through a particular", - "version of XCM.", - "", - "- `origin`: Must be Root.", - "- `location`: The destination that is being described.", - "- `xcm_version`: The latest version of XCM that `location` supports." - ], - "args": [ - { - "name": "location", - "type": "xcmv1multilocationMultiLocation" - }, - { - "name": "xcm_version", - "type": "U32" - } - ] - }, - { - "lookup": "6305", - "name": "force_default_xcm_version", - "docs": [ - "Set a safe XCM version (the version that XCM should be encoded with if the most recent", - "version a destination can accept is unknown).", - "", - "- `origin`: Must be Root.", - "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." - ], - "args": [ - { - "name": "maybe_xcm_version", - "type": "option" - } - ] - }, - { - "lookup": "6306", - "name": "force_subscribe_version_notify", - "docs": [ - "Ask a location to notify us regarding their XCM version and any changes to it.", - "", - "- `origin`: Must be Root.", - "- `location`: The location to which we should subscribe for XCM version notifications." - ], - "args": [ - { - "name": "location", - "type": "xcmVersionedMultiLocation" - } - ] - }, - { - "lookup": "6307", - "name": "force_unsubscribe_version_notify", - "docs": [ - "Require that a particular destination should no longer notify us regarding any XCM", - "version changes.", - "", - "- `origin`: Must be Root.", - "- `location`: The location to which we are currently subscribed for XCM version", - " notifications which we no longer desire." - ], - "args": [ - { - "name": "location", - "type": "xcmVersionedMultiLocation" - } - ] - } - ], - "calls_value": { - "type": 501 - }, - "events": [ - { - "lookup": "6300", - "name": "Attempted", - "docs": [ - "Execution of an XCM message was attempted.", - "", - "\\[ outcome \\]" - ], - "args": [ - "xcmv2traitsOutcome" - ] - }, - { - "lookup": "6301", - "name": "Sent", - "docs": [ - "A XCM message was sent.", - "", - "\\[ origin, destination, message \\]" - ], - "args": [ - "xcmv1multilocationMultiLocation", - "xcmv1multilocationMultiLocation", - "Vec" - ] - }, - { - "lookup": "6302", - "name": "UnexpectedResponse", - "docs": [ - "Query response received which does not match a registered query. This may be because a", - "matching query was never registered, it may be because it is a duplicate response, or", - "because the query timed out.", - "", - "\\[ origin location, id \\]" - ], - "args": [ - "xcmv1multilocationMultiLocation", - "U64" - ] - }, - { - "lookup": "6303", - "name": "ResponseReady", - "docs": [ - "Query response has been received and is ready for taking with `take_response`. There is", - "no registered notification call.", - "", - "\\[ id, response \\]" - ], - "args": [ - "U64", - "xcmv2Response" - ] - }, - { - "lookup": "6304", - "name": "Notified", - "docs": [ - "Query response has been received and query is removed. The registered notification has", - "been dispatched and executed successfully.", - "", - "\\[ id, pallet index, call index \\]" - ], - "args": [ - "U64", - "U8", - "U8" - ] - }, - { - "lookup": "6305", - "name": "NotifyOverweight", - "docs": [ - "Query response has been received and query is removed. The registered notification could", - "not be dispatched because the dispatch weight is greater than the maximum weight", - "originally budgeted by this runtime for the query result.", - "", - "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" - ], - "args": [ - "U64", - "U8", - "U8", - "U64", - "U64" - ] - }, - { - "lookup": "6306", - "name": "NotifyDispatchError", - "docs": [ - "Query response has been received and query is removed. There was a general error with", - "dispatching the notification call.", - "", - "\\[ id, pallet index, call index \\]" - ], - "args": [ - "U64", - "U8", - "U8" - ] - }, - { - "lookup": "6307", - "name": "NotifyDecodeFailed", - "docs": [ - "Query response has been received and query is removed. The dispatch was unable to be", - "decoded into a `Call`; this might be due to dispatch function having a signature which", - "is not `(origin, QueryId, Response)`.", - "", - "\\[ id, pallet index, call index \\]" - ], - "args": [ - "U64", - "U8", - "U8" - ] - }, - { - "lookup": "6308", - "name": "InvalidResponder", - "docs": [ - "Expected query response has been received but the origin location of the response does", - "not match that expected. The query remains registered for a later, valid, response to", - "be received and acted upon.", - "", - "\\[ origin location, id, expected location \\]" - ], - "args": [ - "xcmv1multilocationMultiLocation", - "U64", - "option" - ] - }, - { - "lookup": "6309", - "name": "InvalidResponderVersion", - "docs": [ - "Expected query response has been received but the expected origin location placed in", - "storate by this runtime previously cannot be decoded. The query remains registered.", - "", - "This is unexpected (since a location placed in storage in a previously executing", - "runtime should be readable prior to query timeout) and dangerous since the possibly", - "valid response will be dropped. Manual governance intervention is probably going to be", - "needed.", - "", - "\\[ origin location, id \\]" - ], - "args": [ - "xcmv1multilocationMultiLocation", - "U64" - ] - }, - { - "lookup": "630a", - "name": "ResponseTaken", - "docs": [ - "Received query response has been read and removed.", - "", - "\\[ id \\]" - ], - "args": [ - "U64" - ] - }, - { - "lookup": "630b", - "name": "AssetsTrapped", - "docs": [ - "Some assets have been placed in an asset trap.", - "", - "\\[ hash, origin, assets \\]" - ], - "args": [ - "[U8; 32]", - "xcmv1multilocationMultiLocation", - "xcmVersionedMultiAssets" - ] - }, - { - "lookup": "630c", - "name": "VersionChangeNotified", - "docs": [ - "An XCM version change notification message has been attempted to be sent.", - "", - "\\[ destination, result \\]" - ], - "args": [ - "xcmv1multilocationMultiLocation", - "U32" - ] - }, - { - "lookup": "630d", - "name": "SupportedVersionChanged", - "docs": [ - "The supported version of a location has been changed. This might be through an", - "automatic notification or a manual intervention.", - "", - "\\[ location, XCM version \\]" - ], - "args": [ - "xcmv1multilocationMultiLocation", - "U32" - ] - }, - { - "lookup": "630e", - "name": "NotifyTargetSendFail", - "docs": [ - "A given location which had a version change subscription was dropped owing to an error", - "sending the notification to it.", - "", - "\\[ location, query ID, error \\]" - ], - "args": [ - "xcmv1multilocationMultiLocation", - "U64", - "xcmv2traitsError" - ] - }, - { - "lookup": "630f", - "name": "NotifyTargetMigrationFail", - "docs": [ - "A given location which had a version change subscription was dropped owing to an error", - "migrating the location to our new XCM format.", - "", - "\\[ location, query ID \\]" - ], - "args": [ - "xcmVersionedMultiLocation", - "U64" - ] - } - ], - "events_value": { - "type": 107 - }, - "errors": [ - { - "name": "Unreachable", - "doc": [ - "The desired destination was unreachable, generally because there is a no way of routing", - "to it." - ] - }, - { - "name": "SendFailure", - "doc": [ - "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", - "a lack of space for buffering the message." - ] - }, - { - "name": "Filtered", - "doc": [ - "The message execution fails the filter." - ] - }, - { - "name": "UnweighableMessage", - "doc": [ - "The message's weight could not be determined." - ] - }, - { - "name": "DestinationNotInvertible", - "doc": [ - "The destination `MultiLocation` provided cannot be inverted." - ] - }, - { - "name": "Empty", - "doc": [ - "The assets to be sent are empty." - ] - }, - { - "name": "CannotReanchor", - "doc": [ - "Could not re-anchor the assets to declare the fees for the destination chain." - ] - }, - { - "name": "TooManyAssets", - "doc": [ - "Too many assets have been attempted for transfer." - ] - }, - { - "name": "InvalidOrigin", - "doc": [ - "Origin is invalid for sending." - ] - }, - { - "name": "BadVersion", - "doc": [ - "The version of the `Versioned` value used is not able to be interpreted." - ] - }, - { - "name": "BadLocation", - "doc": [ - "The given location could not be used (e.g. because it cannot be expressed in the", - "desired version of XCM)." - ] - }, - { - "name": "NoSubscription", - "doc": [ - "The referenced subscription could not be found." - ] - }, - { - "name": "AlreadySubscribed", - "doc": [ - "The location is invalid since it already has a subscription from us." - ] - } - ], - "errors_value": { - "type": 692 - }, - "index": 99 - } - ] -} \ No newline at end of file diff --git a/static/renderV14.json b/static/renderV14.json deleted file mode 100644 index cf4fe48..0000000 --- a/static/renderV14.json +++ /dev/null @@ -1,17390 +0,0 @@ -{ - "modules": [ - { - "name": "System", - "prefix": "System", - "storage": [ - { - "name": "Account", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Blake2_128Concat", - "value": 3 - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The full account information for a particular account ID." - ] - }, - { - "name": "ExtrinsicCount", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " Total extrinsics count for the current block." - ] - }, - { - "name": "BlockWeight", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 7 - }, - "fallback": "0x000000000000000000000000000000000000000000000000", - "docs": [ - " The current weight for the block." - ] - }, - { - "name": "AllExtrinsicsLen", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " Total length (in bytes) for all extrinsics put together, for the current block." - ] - }, - { - "name": "BlockHash", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 9 - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Map of block numbers to block hashes." - ] - }, - { - "name": "ExtrinsicData", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 10 - } - }, - "fallback": "0x00", - "docs": [ - " Extrinsics data for the current block (maps an extrinsic's index to its data)." - ] - }, - { - "name": "Number", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The current block number being processed. Set by `execute_block`." - ] - }, - { - "name": "ParentHash", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 9 - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Hash of the previous block." - ] - }, - { - "name": "Digest", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 11 - }, - "fallback": "0x00", - "docs": [ - " Digest of the current block, also part of the block header." - ] - }, - { - "name": "Events", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 18 - }, - "fallback": "0x00", - "docs": [ - " Events deposited for the current block." - ] - }, - { - "name": "EventCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The number of events in the `Events\u003cT\u003e` list." - ] - }, - { - "name": "EventTopics", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Blake2_128Concat", - "value": 99 - } - }, - "fallback": "0x00", - "docs": [ - " Mapping between a topic (represented by T::Hash) and a vector of indexes", - " of events in the `\u003cEvents\u003cT\u003e\u003e` list.", - "", - " All topic vectors have deterministic storage locations depending on the topic. This", - " allows light-clients to leverage the changes trie storage tracking mechanism and", - " in case of changes fetch the list of events of interest.", - "", - " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", - " the `EventIndex` then in case if the topic has the same contents on the next block", - " no notification will be triggered thus the event might be lost." - ] - }, - { - "name": "LastRuntimeUpgrade", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 100 - }, - "fallback": "0x00", - "docs": [ - " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." - ] - }, - { - "name": "UpgradedToU32RefCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 34 - }, - "fallback": "0x00", - "docs": [ - " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." - ] - }, - { - "name": "UpgradedToTripleRefCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 34 - }, - "fallback": "0x00", - "docs": [ - " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", - " (default) if not." - ] - }, - { - "name": "ExecutionPhase", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 97 - }, - "fallback": "0x00", - "docs": [ - " The execution phase of the block." - ] - } - ], - "calls": [ - { - "lookup": "0000", - "name": "fill_block", - "docs": [ - "A dispatch that will fill the block weight up to the given ratio." - ], - "args": [ - { - "name": "_ratio", - "type": "U32" - } - ] - }, - { - "lookup": "0001", - "name": "remark", - "docs": [ - "Make some on-chain remark.", - "", - "# \u003cweight\u003e", - "- `O(1)`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "_remark", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "0002", - "name": "set_heap_pages", - "docs": [ - "Set the number of pages in the WebAssembly environment's heap.", - "", - "# \u003cweight\u003e", - "- `O(1)`", - "- 1 storage write.", - "2d2042617365205765696768743a20312e34303520c2b573", - "- 1 write to HEAP_PAGES", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "pages", - "type": "U64" - } - ] - }, - { - "lookup": "0003", - "name": "set_code", - "docs": [ - "Set the new runtime code.", - "", - "# \u003cweight\u003e", - "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", - "- 1 storage write (codec `O(C)`).", - "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive).", - "- 1 event.", - "The weight of this function is dependent on the runtime, but generally this is very expensive.", - "We will treat this as a full block.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "code", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "0004", - "name": "set_code_without_checks", - "docs": [ - "Set the new runtime code without doing any checks of the given `code`.", - "", - "# \u003cweight\u003e", - "- `O(C)` where `C` length of `code`", - "- 1 storage write (codec `O(C)`).", - "- 1 event.", - "The weight of this function is dependent on the runtime. We will treat this as a full block.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "code", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "0005", - "name": "set_changes_trie_config", - "docs": [ - "Set the new changes trie configuration.", - "", - "# \u003cweight\u003e", - "- `O(1)`", - "- 1 storage write or delete (codec `O(1)`).", - "- 1 call to `deposit_log`: Uses `append` API, so O(1)", - "2d2042617365205765696768743a20372e32313820c2b573", - "- DB Weight:", - " - Writes: Changes Trie, System Digest", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "changes_trie_config", - "type": "option\u003cChangesTrieConfiguration\u003e" - } - ] - }, - { - "lookup": "0006", - "name": "set_storage", - "docs": [ - "Set some items of storage.", - "", - "# \u003cweight\u003e", - "- `O(I)` where `I` length of `items`", - "- `I` storage writes (`O(1)`).", - "2d2042617365205765696768743a20302e353638202a206920c2b573", - "- Writes: Number of items", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "items", - "type": "Vec\u003c(Vec\u003cU8\u003e,Vec\u003cU8\u003e)\u003e" - } - ] - }, - { - "lookup": "0007", - "name": "kill_storage", - "docs": [ - "Kill some items from storage.", - "", - "# \u003cweight\u003e", - "- `O(IK)` where `I` length of `keys` and `K` length of one key", - "- `I` storage deletions.", - "2d2042617365205765696768743a202e333738202a206920c2b573", - "- Writes: Number of items", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "keys", - "type": "Vec\u003cVec\u003cU8\u003e\u003e" - } - ] - }, - { - "lookup": "0008", - "name": "kill_prefix", - "docs": [ - "Kill all storage items with a key that starts with the given prefix.", - "", - "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", - "the prefix we are removing to accurately calculate the weight of this function.", - "", - "# \u003cweight\u003e", - "- `O(P)` where `P` amount of keys with prefix `prefix`", - "- `P` storage deletions.", - "2d2042617365205765696768743a20302e383334202a205020c2b573", - "- Writes: Number of subkeys + 1", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "prefix", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "_subkeys", - "type": "U32" - } - ] - }, - { - "lookup": "0009", - "name": "remark_with_event", - "docs": [ - "Make some on-chain remark and emit event.", - "", - "# \u003cweight\u003e", - "- `O(b)` where b is the length of the remark.", - "- 1 event.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "remark", - "type": "Vec\u003cU8\u003e" - } - ] - } - ], - "calls_value": { - "type": 103 - }, - "events": [ - { - "lookup": "0000", - "name": "ExtrinsicSuccess", - "docs": [ - "An extrinsic completed successfully. \\[info\\]" - ], - "args": [ - "DispatchInfo" - ] - }, - { - "lookup": "0001", - "name": "ExtrinsicFailed", - "docs": [ - "An extrinsic failed. \\[error, info\\]" - ], - "args": [ - "DispatchError", - "DispatchInfo" - ] - }, - { - "lookup": "0002", - "name": "CodeUpdated", - "docs": [ - "`:code` was updated." - ], - "args": null - }, - { - "lookup": "0003", - "name": "NewAccount", - "docs": [ - "A new \\[account\\] was created." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0004", - "name": "KilledAccount", - "docs": [ - "An \\[account\\] was reaped." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0005", - "name": "Remarked", - "docs": [ - "On on-chain remark happened. \\[origin, remark_hash\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 21 - }, - "constants": [ - { - "name": "BlockWeights", - "type": "", - "type_value": 108, - "constants_value": "00f2052a0100000000204aa9d1010000405973070000000001c06e96a62e010000010098f73e5d010000010000000000000000405973070000000001c0f6e810a30100000100204aa9d1010000010088526a740000004059730700000000000000", - "docs": [ - " Block \u0026 extrinsics weights: base values and limits." - ] - }, - { - "name": "BlockLength", - "type": "", - "type_value": 112, - "constants_value": "00003c000000500000005000", - "docs": [ - " The maximum length of a block (in bytes)." - ] - }, - { - "name": "BlockHashCount", - "type": "", - "type_value": 4, - "constants_value": "60090000", - "docs": [ - " Maximum number of block number to block hash mappings to keep (oldest pruned first)." - ] - }, - { - "name": "DbWeight", - "type": "", - "type_value": 114, - "constants_value": "40787d010000000000e1f50500000000", - "docs": [ - " The weight of runtime database operations the runtime can invoke." - ] - }, - { - "name": "Version", - "type": "", - "type_value": 115, - "constants_value": "106e6f6465387375627374726174652d6e6f64650a0000000b0100000000000034df6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000ed99c5acb25eedf502000000cbca25e39f14238702000000687ad44ad37f03c201000000bc9d89904f5b923f0100000068b66ba122c93fa70100000037c8bb1350a9a2a80100000091d5df18b0d2cf5801000000ab3c0572291feb8b0100000002000000", - "docs": [ - " Get the chain's current version." - ] - }, - { - "name": "SS58Prefix", - "type": "", - "type_value": 81, - "constants_value": "2a00", - "docs": [ - " The designated SS85 prefix of this chain.", - "", - " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", - " that the runtime should know about the prefix in order to make use of it as", - " an identifier of the chain." - ] - } - ], - "errors": [ - { - "name": "InvalidSpecName", - "doc": [ - "The name of specification does not match between the current runtime", - "and the new runtime." - ] - }, - { - "name": "SpecVersionNeedsToIncrease", - "doc": [ - "The specification version is not allowed to decrease between the current runtime", - "and the new runtime." - ] - }, - { - "name": "FailedToExtractRuntimeVersion", - "doc": [ - "Failed to extract the runtime version from the new runtime.", - "", - "Either calling `Core_version` or decoding `RuntimeVersion` failed." - ] - }, - { - "name": "NonDefaultComposite", - "doc": [ - "Suicide called when the account has non-default composite data." - ] - }, - { - "name": "NonZeroRefCount", - "doc": [ - "There is a non-zero reference count preventing the account from being purged." - ] - } - ], - "errors_value": { - "type": 120 - }, - "index": 0 - }, - { - "name": "Utility", - "prefix": "", - "storage": null, - "calls": [ - { - "lookup": "0100", - "name": "batch", - "docs": [ - "Send a batch of dispatch calls.", - "", - "May be called from any origin.", - "", - "- `calls`: The calls to be dispatched from the same origin.", - "", - "If origin is root then call are dispatch without checking origin filter. (This includes", - "bypassing `frame_system::Config::BaseCallFilter`).", - "", - "# \u003cweight\u003e", - "- Complexity: O(C) where C is the number of calls to be batched.", - "# \u003c/weight\u003e", - "", - "This will return `Ok` in all circumstances. To determine the success of the batch, an", - "event is deposited. If a call failed and the batch was interrupted, then the", - "`BatchInterrupted` event is deposited, along with the number of successful calls made", - "and the error of the failed call. If all were successful, then the `BatchCompleted`", - "event is deposited." - ], - "args": [ - { - "name": "calls", - "type": "Vec\u003cCall\u003e" - } - ] - }, - { - "lookup": "0101", - "name": "as_derivative", - "docs": [ - "Send a call through an indexed pseudonym of the sender.", - "", - "Filter from origin are passed along. The call will be dispatched with an origin which", - "use the same filter as the origin of this call.", - "", - "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", - "because you expect `proxy` to have been used prior in the call stack and you do not want", - "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", - "in the Multisig pallet instead.", - "", - "NOTE: Prior to version *12, this was called `as_limited_sub`.", - "", - "The dispatch origin for this call must be _Signed_." - ], - "args": [ - { - "name": "index", - "type": "U16" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "0102", - "name": "batch_all", - "docs": [ - "Send a batch of dispatch calls and atomically execute them.", - "The whole transaction will rollback and fail if any of the calls failed.", - "", - "May be called from any origin.", - "", - "- `calls`: The calls to be dispatched from the same origin.", - "", - "If origin is root then call are dispatch without checking origin filter. (This includes", - "bypassing `frame_system::Config::BaseCallFilter`).", - "", - "# \u003cweight\u003e", - "- Complexity: O(C) where C is the number of calls to be batched.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "calls", - "type": "Vec\u003cCall\u003e" - } - ] - } - ], - "calls_value": { - "type": 121 - }, - "events": [ - { - "lookup": "0100", - "name": "BatchInterrupted", - "docs": [ - "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", - "well as the error. \\[index, error\\]" - ], - "args": [ - "U32", - "DispatchError" - ] - }, - { - "lookup": "0101", - "name": "BatchCompleted", - "docs": [ - "Batch of dispatches completed fully with no error." - ], - "args": null - } - ], - "events_value": { - "type": 28 - }, - "errors": null, - "errors_value": null, - "index": 1 - }, - { - "name": "Babe", - "prefix": "Babe", - "storage": [ - { - "name": "EpochIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current epoch index." - ] - }, - { - "name": "Authorities", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 307 - }, - "fallback": "0x00", - "docs": [ - " Current epoch authorities." - ] - }, - { - "name": "GenesisSlot", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 128 - }, - "fallback": "0x0000000000000000", - "docs": [ - " The slot at which the first epoch actually started. This is 0", - " until the first block of the chain." - ] - }, - { - "name": "CurrentSlot", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 128 - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current slot number." - ] - }, - { - "name": "Randomness", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 1 - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The epoch randomness for the *current* epoch.", - "", - " # Security", - "", - " This MUST NOT be used for gambling, as it can be influenced by a", - " malicious validator in the short term. It MAY be used in many", - " cryptographic protocols, however, so long as one remembers that this", - " (like everything else on-chain) it is public. For example, it can be", - " used where a number is needed that cannot have been chosen by an", - " adversary, for purposes such as public-coin zero-knowledge proofs." - ] - }, - { - "name": "PendingEpochConfigChange", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 130 - }, - "fallback": "0x00", - "docs": [ - " Pending epoch configuration change that will be applied when the next epoch is enacted." - ] - }, - { - "name": "NextRandomness", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 1 - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Next epoch randomness." - ] - }, - { - "name": "NextAuthorities", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 307 - }, - "fallback": "0x00", - "docs": [ - " Next epoch authorities." - ] - }, - { - "name": "SegmentIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Randomness under construction.", - "", - " We make a tradeoff between storage accesses and list length.", - " We store the under-construction randomness in segments of up to", - " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.", - "", - " Once a segment reaches this length, we begin the next one.", - " We reset all segments and return to `0` at the beginning of every", - " epoch." - ] - }, - { - "name": "UnderConstruction", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 309 - } - }, - "fallback": "0x00", - "docs": [ - " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay." - ] - }, - { - "name": "Initialized", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 310 - }, - "fallback": "0x00", - "docs": [ - " Temporary value (cleared at block finalization) which is `Some`", - " if per-block initialization has already been called for current block." - ] - }, - { - "name": "AuthorVrfRandomness", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 310 - }, - "fallback": "0x00", - "docs": [ - " This field should always be populated during block processing unless", - " secondary plain slots are enabled (which don't contain a VRF output).", - "", - " It is set in `on_initialize`, before it will contain the value from the last block." - ] - }, - { - "name": "EpochStart", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 77 - }, - "fallback": "0x0000000000000000", - "docs": [ - " The block numbers when the last and current epoch have started, respectively `N-1` and", - " `N`.", - " NOTE: We track this is in order to annotate the block number when a given pool of", - " entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in", - " slots, which may be skipped, the block numbers may not line up with the slot numbers." - ] - }, - { - "name": "Lateness", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " How late the current block is compared to its parent.", - "", - " This entry is populated as part of block execution and is cleaned up", - " on block finalization. Querying this storage entry outside of block", - " execution context should always yield zero." - ] - }, - { - "name": "EpochConfig", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 311 - }, - "fallback": "0x00", - "docs": [ - " The configuration for the current epoch. Should never be `None` as it is initialized in genesis." - ] - }, - { - "name": "NextEpochConfig", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 311 - }, - "fallback": "0x00", - "docs": [ - " The configuration for the next epoch, `None` if the config will not change", - " (you can fallback to `EpochConfig` instead in that case)." - ] - } - ], - "calls": [ - { - "lookup": "0200", - "name": "report_equivocation", - "docs": [ - "Report authority equivocation/misbehavior. This method will verify", - "the equivocation proof and validate the given key ownership proof", - "against the extracted offender. If both are valid, the offence will", - "be reported." - ], - "args": [ - { - "name": "equivocation_proof", - "type": "EquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "MembershipProof" - } - ] - }, - { - "lookup": "0201", - "name": "report_equivocation_unsigned", - "docs": [ - "Report authority equivocation/misbehavior. This method will verify", - "the equivocation proof and validate the given key ownership proof", - "against the extracted offender. If both are valid, the offence will", - "be reported.", - "This extrinsic must be called unsigned and it is expected that only", - "block authors will call it (validated in `ValidateUnsigned`), as such", - "if the block author is defined it will be defined as the equivocation", - "reporter." - ], - "args": [ - { - "name": "equivocation_proof", - "type": "EquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "MembershipProof" - } - ] - }, - { - "lookup": "0202", - "name": "plan_config_change", - "docs": [ - "Plan an epoch config change. The epoch config change is recorded and will be enacted on", - "the next call to `enact_epoch_change`. The config will be activated one epoch after.", - "Multiple calls to this method will replace any existing planned config change that had", - "not been enacted yet." - ], - "args": [ - { - "name": "config", - "type": "NextConfigDescriptor" - } - ] - } - ], - "calls_value": { - "type": 124 - }, - "constants": [ - { - "name": "EpochDuration", - "type": "", - "type_value": 8, - "constants_value": "c800000000000000", - "docs": [ - " The amount of time, in slots, that each epoch should last.", - " NOTE: Currently it is not possible to change the epoch duration after", - " the chain has started. Attempting to do so will brick block production." - ] - }, - { - "name": "ExpectedBlockTime", - "type": "", - "type_value": 8, - "constants_value": "b80b000000000000", - "docs": [ - " The expected average block time at which BABE should be creating", - " blocks. Since BABE is probabilistic it is not trivial to figure out", - " what the expected average block time should be based on the slot", - " duration and the security parameter `c` (where `1 - c` represents", - " the probability of a slot being empty)." - ] - } - ], - "errors": [ - { - "name": "InvalidEquivocationProof", - "doc": [ - "An equivocation proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "InvalidKeyOwnershipProof", - "doc": [ - "A key ownership proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "DuplicateOffenceReport", - "doc": [ - "A given equivocation report is valid but already previously reported." - ] - } - ], - "errors_value": { - "type": 312 - }, - "index": 2 - }, - { - "name": "Timestamp", - "prefix": "Timestamp", - "storage": [ - { - "name": "Now", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current time for the current block." - ] - }, - { - "name": "DidUpdate", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 34 - }, - "fallback": "0x00", - "docs": [ - " Did the timestamp get updated in this block?" - ] - } - ], - "calls": [ - { - "lookup": "0300", - "name": "set", - "docs": [ - "Set the current time.", - "", - "This call should be invoked exactly once per block. It will panic at the finalization", - "phase, if this call hasn't been invoked by that time.", - "", - "The timestamp should be greater than the previous one by the amount specified by", - "`MinimumPeriod`.", - "", - "The dispatch origin for this call must be `Inherent`.", - "", - "# \u003cweight\u003e", - "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", - "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`)", - "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "now", - "type": "compact\u003cU64\u003e" - } - ] - } - ], - "calls_value": { - "type": 133 - }, - "constants": [ - { - "name": "MinimumPeriod", - "type": "", - "type_value": 8, - "constants_value": "dc05000000000000", - "docs": [ - " The minimum period between blocks. Beware that this is different to the *expected* period", - " that the block production apparatus provides. Your chosen consensus system will generally", - " work with this to determine a sensible block time. e.g. For Aura, it will be double this", - " period on default settings." - ] - } - ], - "errors": null, - "errors_value": null, - "index": 3 - }, - { - "name": "Authorship", - "prefix": "Authorship", - "storage": [ - { - "name": "Uncles", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 313 - }, - "fallback": "0x00", - "docs": [ - " Uncles" - ] - }, - { - "name": "Author", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " Author of current block." - ] - }, - { - "name": "DidSetUncles", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 34 - }, - "fallback": "0x00", - "docs": [ - " Whether uncles were already set in this block." - ] - } - ], - "calls": [ - { - "lookup": "0400", - "name": "set_uncles", - "docs": [ - "Provide a set of uncles." - ], - "args": [ - { - "name": "new_uncles", - "type": "Vec\u003cHeader\u003e" - } - ] - } - ], - "calls_value": { - "type": 135 - }, - "constants": [ - { - "name": "UncleGenerations", - "type": "", - "type_value": 4, - "constants_value": "05000000", - "docs": [ - " The number of blocks back we should accept uncles.", - " This means that we will deal with uncle-parents that are", - " `UncleGenerations + 1` before `now`." - ] - } - ], - "errors": [ - { - "name": "InvalidUncleParent", - "doc": [ - "The uncle parent not in the chain." - ] - }, - { - "name": "UnclesAlreadySet", - "doc": [ - "Uncles already set in the block." - ] - }, - { - "name": "TooManyUncles", - "doc": [ - "Too many uncles." - ] - }, - { - "name": "GenesisUncle", - "doc": [ - "The uncle is genesis." - ] - }, - { - "name": "TooHighUncle", - "doc": [ - "The uncle is too high in chain." - ] - }, - { - "name": "UncleAlreadyIncluded", - "doc": [ - "The uncle is already included." - ] - }, - { - "name": "OldUncle", - "doc": [ - "The uncle isn't recent enough to be included." - ] - } - ], - "errors_value": { - "type": 315 - }, - "index": 4 - }, - { - "name": "Indices", - "prefix": "Indices", - "storage": [ - { - "name": "Accounts", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "value": 316 - } - }, - "fallback": "0x00", - "docs": [ - " The lookup from index to account." - ] - } - ], - "calls": [ - { - "lookup": "0500", - "name": "claim", - "docs": [ - "Assign an previously unassigned index.", - "", - "Payment: `Deposit` is reserved from the sender account.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `index`: the index to be claimed. This must not be in use.", - "", - "Emits `IndexAssigned` if successful.", - "", - "# \u003cweight\u003e", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- One reserve operation.", - "- One event.", - "-------------------", - "- DB Weight: 1 Read/Write (Accounts)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0501", - "name": "transfer", - "docs": [ - "Assign an index already owned by the sender to another account. The balance reservation", - "is effectively transferred to the new account.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `index`: the index to be re-assigned. This must be owned by the sender.", - "- `new`: the new owner of the index. This function is a no-op if it is equal to sender.", - "", - "Emits `IndexAssigned` if successful.", - "", - "# \u003cweight\u003e", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- One transfer operation.", - "- One event.", - "-------------------", - "- DB Weight:", - " - Reads: Indices Accounts, System Account (recipient)", - " - Writes: Indices Accounts, System Account (recipient)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "new", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0502", - "name": "free", - "docs": [ - "Free up an index owned by the sender.", - "", - "Payment: Any previous deposit placed for the index is unreserved in the sender account.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must own the index.", - "", - "- `index`: the index to be freed. This must be owned by the sender.", - "", - "Emits `IndexFreed` if successful.", - "", - "# \u003cweight\u003e", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- One reserve operation.", - "- One event.", - "-------------------", - "- DB Weight: 1 Read/Write (Accounts)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0503", - "name": "force_transfer", - "docs": [ - "Force an index to an account. This doesn't require a deposit. If the index is already", - "held, then any deposit is reimbursed to its current owner.", - "", - "The dispatch origin for this call must be _Root_.", - "", - "- `index`: the index to be (re-)assigned.", - "- `new`: the new owner of the index. This function is a no-op if it is equal to sender.", - "- `freeze`: if set to `true`, will freeze the index so it cannot be transferred.", - "", - "Emits `IndexAssigned` if successful.", - "", - "# \u003cweight\u003e", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- Up to one reserve operation.", - "- One event.", - "-------------------", - "- DB Weight:", - " - Reads: Indices Accounts, System Account (original owner)", - " - Writes: Indices Accounts, System Account (original owner)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "new", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "U32" - }, - { - "name": "freeze", - "type": "Bool" - } - ] - }, - { - "lookup": "0504", - "name": "freeze", - "docs": [ - "Freeze an index so it will always point to the sender account. This consumes the deposit.", - "", - "The dispatch origin for this call must be _Signed_ and the signing account must have a", - "non-frozen account `index`.", - "", - "- `index`: the index to be frozen in place.", - "", - "Emits `IndexFrozen` if successful.", - "", - "# \u003cweight\u003e", - "- `O(1)`.", - "- One storage mutation (codec `O(1)`).", - "- Up to one slash operation.", - "- One event.", - "-------------------", - "- DB Weight: 1 Read/Write (Accounts)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "index", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 137 - }, - "events": [ - { - "lookup": "0500", - "name": "IndexAssigned", - "docs": [ - "A account index was assigned. \\[index, who\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0501", - "name": "IndexFreed", - "docs": [ - "A account index has been freed up (unassigned). \\[index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0502", - "name": "IndexFrozen", - "docs": [ - "A account index has been frozen to its current account ID. \\[index, who\\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 29 - }, - "constants": [ - { - "name": "Deposit", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " The deposit needed for reserving an index." - ] - } - ], - "errors": [ - { - "name": "NotAssigned", - "doc": [ - "The index was not already assigned." - ] - }, - { - "name": "NotOwner", - "doc": [ - "The index is assigned to another account." - ] - }, - { - "name": "InUse", - "doc": [ - "The index was not available." - ] - }, - { - "name": "NotTransfer", - "doc": [ - "The source and destination accounts are identical." - ] - }, - { - "name": "Permanent", - "doc": [ - "The index is permanent and may not be freed/changed." - ] - } - ], - "errors_value": { - "type": 317 - }, - "index": 5 - }, - { - "name": "Balances", - "prefix": "Balances", - "storage": [ - { - "name": "TotalIssuance", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The total units issued in the system." - ] - }, - { - "name": "Account", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Blake2_128Concat", - "value": 5 - } - }, - "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The balance of an account.", - "", - " NOTE: This is only used in the case that this pallet is used to store balances." - ] - }, - { - "name": "Locks", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Blake2_128Concat", - "value": 318 - } - }, - "fallback": "0x00", - "docs": [ - " Any liquidity locks on some account balances.", - " NOTE: Should only be accessed when setting, changing and freeing a lock." - ] - }, - { - "name": "Reserves", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Blake2_128Concat", - "value": 322 - } - }, - "fallback": "0x00", - "docs": [ - " Named reserves on some account balances." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 325 - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " This is set to v2.0.0 for new networks." - ] - } - ], - "calls": [ - { - "lookup": "0600", - "name": "transfer", - "docs": [ - "Transfer some liquid free balance to another account.", - "", - "`transfer` will set the `FreeBalance` of the sender and receiver.", - "It will decrease the total issuance of the system by the `TransferFee`.", - "If the sender's account is below the existential deposit as a result", - "of the transfer, the account will be reaped.", - "", - "The dispatch origin for this call must be `Signed` by the transactor.", - "", - "# \u003cweight\u003e", - "- Dependent on arguments but not critical, given proper implementations for", - " input config types. See related functions below.", - "- It contains a limited number of reads and writes internally and no complex computation.", - "", - "Related functions:", - "", - " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", - " - Transferring balances to accounts that did not exist before will cause", - " `T::OnNewAccount::on_new_account` to be called.", - " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", - " - `transfer_keep_alive` works the same way as `transfer`, but has an additional", - " check that the transfer will not kill the origin account.", - "---------------------------------", - "2d2042617365205765696768743a2037332e363420c2b5732c20776f7273742063617365207363656e6172696f20286163636f756e7420637265617465642c206163636f756e742072656d6f76656429", - "- DB Weight: 1 Read and 1 Write to destination account", - "- Origin account is already in memory, so no DB operations for them.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "dest", - "type": "MultiAddress" - }, - { - "name": "value", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "0601", - "name": "set_balance", - "docs": [ - "Set the balances of a given account.", - "", - "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", - "also decrease the total issuance of the system (`TotalIssuance`).", - "If the new free or reserved balance is below the existential deposit,", - "it will reset the account nonce (`frame_system::AccountNonce`).", - "", - "The dispatch origin for this call is `root`.", - "", - "# \u003cweight\u003e", - "- Independent of the arguments.", - "- Contains a limited number of reads and writes.", - "---------------------", - "- Base Weight:", - "202020202d204372656174696e673a2032372e353620c2b573", - "202020202d204b696c6c696e673a2033352e313120c2b573", - "- DB Weight: 1 Read, 1 Write to `who`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "who", - "type": "MultiAddress" - }, - { - "name": "new_free", - "type": "compact\u003cU128\u003e" - }, - { - "name": "new_reserved", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "0602", - "name": "force_transfer", - "docs": [ - "Exactly as `transfer`, except the origin must be root and the source account may be", - "specified.", - "# \u003cweight\u003e", - "- Same as transfer, but additional read and write because the source account is", - " not assumed to be in the overlay.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "source", - "type": "MultiAddress" - }, - { - "name": "dest", - "type": "MultiAddress" - }, - { - "name": "value", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "0603", - "name": "transfer_keep_alive", - "docs": [ - "Same as the [`transfer`] call, but with a check that the transfer will not kill the", - "origin account.", - "", - "99% of the time you want [`transfer`] instead.", - "", - "[`transfer`]: struct.Pallet.html#method.transfer", - "# \u003cweight\u003e", - "- Cheaper than transfer because account cannot be killed.", - "2d2042617365205765696768743a2035312e3420c2b573", - "- DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)", - "#\u003c/weight\u003e" - ], - "args": [ - { - "name": "dest", - "type": "MultiAddress" - }, - { - "name": "value", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "0604", - "name": "transfer_all", - "docs": [ - "Transfer the entire transferable balance from the caller account.", - "", - "NOTE: This function only attempts to transfer _transferable_ balances. This means that", - "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", - "transferred by this function. To ensure that this function results in a killed account,", - "you might need to prepare the account by removing any reference counters, storage", - "deposits, etc...", - "", - "The dispatch origin of this call must be Signed.", - "", - "- `dest`: The recipient of the transfer.", - "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", - " of the funds the account has, causing the sender account to be killed (false), or", - " transfer everything except at least the existential deposit, which will guarantee to", - " keep the sender account alive (true).", - " # \u003cweight\u003e", - "- O(1). Just like transfer, but reading the user's transferable balance first.", - " #\u003c/weight\u003e" - ], - "args": [ - { - "name": "dest", - "type": "MultiAddress" - }, - { - "name": "keep_alive", - "type": "Bool" - } - ] - } - ], - "calls_value": { - "type": 138 - }, - "events": [ - { - "lookup": "0600", - "name": "Endowed", - "docs": [ - "An account was created with some free balance. \\[account, free_balance\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0601", - "name": "DustLost", - "docs": [ - "An account was removed whose balance was non-zero but below ExistentialDeposit,", - "resulting in an outright loss. \\[account, balance\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0602", - "name": "Transfer", - "docs": [ - "Transfer succeeded. \\[from, to, value\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0603", - "name": "BalanceSet", - "docs": [ - "A balance was set by root. \\[who, free, reserved\\]" - ], - "args": [ - "[U8; 32]", - "U128", - "U128" - ] - }, - { - "lookup": "0604", - "name": "Deposit", - "docs": [ - "Some amount was deposited (e.g. for transaction fees). \\[who, deposit\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0605", - "name": "Reserved", - "docs": [ - "Some balance was reserved (moved from free to reserved). \\[who, value\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0606", - "name": "Unreserved", - "docs": [ - "Some balance was unreserved (moved from reserved to free). \\[who, value\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0607", - "name": "ReserveRepatriated", - "docs": [ - "Some balance was moved from the reserve of the first account to the second account.", - "Final argument indicates the destination balance type.", - "\\[from, to, balance, destination_status\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128", - "BalanceStatus" - ] - } - ], - "events_value": { - "type": 30 - }, - "constants": [ - { - "name": "ExistentialDeposit", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " The minimum amount required to keep an account open." - ] - }, - { - "name": "MaxLocks", - "type": "", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " The maximum number of locks that should exist on an account.", - " Not strictly enforced, but used for weight estimation." - ] - }, - { - "name": "MaxReserves", - "type": "", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " The maximum number of named reserves that can exist on an account." - ] - } - ], - "errors": [ - { - "name": "VestingBalance", - "doc": [ - "Vesting balance too high to send value" - ] - }, - { - "name": "LiquidityRestrictions", - "doc": [ - "Account liquidity restrictions prevent withdrawal" - ] - }, - { - "name": "InsufficientBalance", - "doc": [ - "Balance too low to send value" - ] - }, - { - "name": "ExistentialDeposit", - "doc": [ - "Value too low to create account due to existential deposit" - ] - }, - { - "name": "KeepAlive", - "doc": [ - "Transfer/payment would kill account" - ] - }, - { - "name": "ExistingVestingSchedule", - "doc": [ - "A vesting schedule already exists for this account" - ] - }, - { - "name": "DeadAccount", - "doc": [ - "Beneficiary account must pre-exist" - ] - }, - { - "name": "TooManyReserves", - "doc": [ - "Number of named reserves exceed MaxReserves" - ] - } - ], - "errors_value": { - "type": 326 - }, - "index": 6 - }, - { - "name": "TransactionPayment", - "prefix": "TransactionPayment", - "storage": [ - { - "name": "NextFeeMultiplier", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 327 - }, - "fallback": "0x000064a7b3b6e00d0000000000000000", - "docs": null - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 328 - }, - "fallback": "0x00", - "docs": null - } - ], - "constants": [ - { - "name": "TransactionByteFee", - "type": "", - "type_value": 6, - "constants_value": "00e40b54020000000000000000000000", - "docs": [ - " The fee to be paid for making a transaction; the per-byte portion." - ] - }, - { - "name": "WeightToFee", - "type": "", - "type_value": 329, - "constants_value": "0401000000000000000000000000000000000000000001", - "docs": [ - " The polynomial that is applied in order to derive fee from weight." - ] - } - ], - "errors": null, - "errors_value": null, - "index": 7 - }, - { - "name": "ElectionProviderMultiPhase", - "prefix": "ElectionProviderMultiPhase", - "storage": [ - { - "name": "Round", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x01000000", - "docs": [ - " Internal counter for the number of rounds.", - "", - " This is useful for de-duplication of transactions submitted to the pool, and general", - " diagnostics of the pallet.", - "", - " This is merely incremented once per every time that an upstream `elect` is called." - ] - }, - { - "name": "CurrentPhase", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 331 - }, - "fallback": "0x00", - "docs": [ - " Current phase." - ] - }, - { - "name": "QueuedSolution", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 333 - }, - "fallback": "0x00", - "docs": [ - " Current best solution, signed or unsigned, queued to be returned upon `elect`." - ] - }, - { - "name": "Snapshot", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 334 - }, - "fallback": "0x00", - "docs": [ - " Snapshot data of the round.", - "", - " This is created at the beginning of the signed phase and cleared upon calling `elect`." - ] - }, - { - "name": "DesiredTargets", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " Desired number of targets to elect for this round.", - "", - " Only exists when [`Snapshot`] is present." - ] - }, - { - "name": "SnapshotMetadata", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 195 - }, - "fallback": "0x00", - "docs": [ - " The metadata of the [`RoundSnapshot`]", - "", - " Only exists when [`Snapshot`] is present." - ] - }, - { - "name": "SignedSubmissionNextIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The next index to be assigned to an incoming signed submission.", - "", - " Every accepted submission is assigned a unique index; that index is bound to that particular", - " submission for the duration of the election. On election finalization, the next index is", - " reset to 0.", - "", - " We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past its", - " capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,", - " because iteration is slow. Instead, we store the value here." - ] - }, - { - "name": "SignedSubmissionIndices", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 337 - }, - "fallback": "0x00", - "docs": [ - " A sorted, bounded set of `(score, index)`, where each `index` points to a value in", - " `SignedSubmissions`.", - "", - " We never need to process more than a single signed submission at a time. Signed submissions", - " can be quite large, so we're willing to pay the cost of multiple database accesses to access", - " them one at a time instead of reading and decoding all of them at once." - ] - }, - { - "name": "SignedSubmissionsMap", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 341 - } - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000", - "docs": [ - " Unchecked, signed solutions.", - "", - " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while", - " allowing us to keep only a single one in memory at a time.", - "", - " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or", - " affect; we shouldn't need a cryptographically secure hasher." - ] - }, - { - "name": "MinimumUntrustedScore", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 194 - }, - "fallback": "0x00", - "docs": [ - " The minimum score that each 'untrusted' solution must attain in order to be considered", - " feasible.", - "", - " Can be set via `set_minimum_untrusted_score`." - ] - } - ], - "calls": [ - { - "lookup": "0800", - "name": "submit_unsigned", - "docs": [ - "Submit a solution for the unsigned phase.", - "", - "The dispatch origin fo this call must be __none__.", - "", - "This submission is checked on the fly. Moreover, this unsigned solution is only", - "validated when submitted to the pool from the **local** node. Effectively, this means", - "that only active validators can submit this transaction when authoring a block (similar", - "to an inherent).", - "", - "To prevent any incorrect solution (and thus wasted time/weight), this transaction will", - "panic if the solution submitted by the validator is invalid in any way, effectively", - "putting their authoring reward at risk.", - "", - "No deposit or reward is associated with this submission." - ], - "args": [ - { - "name": "solution", - "type": "RawSolution" - }, - { - "name": "witness", - "type": "SolutionOrSnapshotSize" - } - ] - }, - { - "lookup": "0801", - "name": "set_minimum_untrusted_score", - "docs": [ - "Set a new value for `MinimumUntrustedScore`.", - "", - "Dispatch origin must be aligned with `T::ForceOrigin`.", - "", - "This check can be turned off by setting the value to `None`." - ], - "args": [ - { - "name": "maybe_next_score", - "type": "option\u003c[U128; 3]\u003e" - } - ] - }, - { - "lookup": "0802", - "name": "set_emergency_election_result", - "docs": [ - "Set a solution in the queue, to be handed out to the client of this pallet in the next", - "call to `ElectionProvider::elect`.", - "", - "This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`.", - "", - "The solution is not checked for any feasibility and is assumed to be trustworthy, as any", - "feasibility check itself can in principle cause the election process to fail (due to", - "memory/weight constrains)." - ], - "args": [ - { - "name": "supports", - "type": "Vec\u003c([U8; 32],Support)\u003e" - } - ] - }, - { - "lookup": "0803", - "name": "submit", - "docs": [ - "Submit a solution for the signed phase.", - "", - "The dispatch origin fo this call must be __signed__.", - "", - "The solution is potentially queued, based on the claimed score and processed at the end", - "of the signed phase.", - "", - "A deposit is reserved and recorded for the solution. Based on the outcome, the solution", - "might be rewarded, slashed, or get all or a part of the deposit back.", - "", - "# \u003cweight\u003e", - "Queue size must be provided as witness data.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "solution", - "type": "RawSolution" - }, - { - "name": "num_signed_submissions", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 141 - }, - "events": [ - { - "lookup": "0800", - "name": "SolutionStored", - "docs": [ - "A solution was stored with the given compute.", - "", - "If the solution is signed, this means that it hasn't yet been processed. If the", - "solution is unsigned, this means that it has also been processed.", - "", - "The `bool` is `true` when a previous solution was ejected to make room for this one." - ], - "args": [ - "ElectionCompute", - "Bool" - ] - }, - { - "lookup": "0801", - "name": "ElectionFinalized", - "docs": [ - "The election has been finalized, with `Some` of the given computation, or else if the", - "election failed, `None`." - ], - "args": [ - "option\u003cElectionCompute\u003e" - ] - }, - { - "lookup": "0802", - "name": "Rewarded", - "docs": [ - "An account has been rewarded for their signed submission being finalized." - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0803", - "name": "Slashed", - "docs": [ - "An account has been slashed for submitting an invalid signed submission." - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0804", - "name": "SignedPhaseStarted", - "docs": [ - "The signed phase of the given round has started." - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0805", - "name": "UnsignedPhaseStarted", - "docs": [ - "The unsigned phase of the given round has started." - ], - "args": [ - "U32" - ] - } - ], - "events_value": { - "type": 32 - }, - "constants": [ - { - "name": "UnsignedPhase", - "type": "", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " Duration of the unsigned phase." - ] - }, - { - "name": "SignedPhase", - "type": "", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " Duration of the signed phase." - ] - }, - { - "name": "SolutionImprovementThreshold", - "type": "", - "type_value": 104, - "constants_value": "a0860100", - "docs": [ - " The minimum amount of improvement to the solution score that defines a solution as", - " \"better\" (in any phase)." - ] - }, - { - "name": "OffchainRepeat", - "type": "", - "type_value": 4, - "constants_value": "05000000", - "docs": [ - " The repeat threshold of the offchain worker.", - "", - " For example, if it is 5, that means that at least 5 blocks will elapse between attempts", - " to submit the worker's solution." - ] - }, - { - "name": "MinerTxPriority", - "type": "", - "type_value": 8, - "constants_value": "feffffffffffff7f", - "docs": [ - " The priority of the unsigned transaction submitted in the unsigned-phase" - ] - }, - { - "name": "MinerMaxIterations", - "type": "", - "type_value": 4, - "constants_value": "0a000000", - "docs": [ - " Maximum number of iteration of balancing that will be executed in the embedded miner of", - " the pallet." - ] - }, - { - "name": "MinerMaxWeight", - "type": "", - "type_value": 8, - "constants_value": "c07c907c2d010000", - "docs": [ - " Maximum weight that the miner should consume.", - "", - " The miner will ensure that the total weight of the unsigned solution will not exceed", - " this value, based on [`WeightInfo::submit_unsigned`]." - ] - }, - { - "name": "SignedMaxSubmissions", - "type": "", - "type_value": 4, - "constants_value": "0a000000", - "docs": [ - " Maximum number of signed submissions that can be queued.", - "", - " It is best to avoid adjusting this during an election, as it impacts downstream data", - " structures. In particular, `SignedSubmissionIndices\u003cT\u003e` is bounded on this value. If you", - " update this value during an election, you _must_ ensure that", - " `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,", - " attempts to submit new solutions may cause a runtime panic." - ] - }, - { - "name": "SignedMaxWeight", - "type": "", - "type_value": 8, - "constants_value": "c07c907c2d010000", - "docs": [ - " Maximum weight of a signed solution.", - "", - " This should probably be similar to [`Config::MinerMaxWeight`]." - ] - }, - { - "name": "SignedRewardBase", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " Base reward for a signed solution" - ] - }, - { - "name": "SignedDepositBase", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " Base deposit for a signed solution." - ] - }, - { - "name": "SignedDepositByte", - "type": "", - "type_value": 6, - "constants_value": "0010a5d4e80000000000000000000000", - "docs": [ - " Per-byte deposit for a signed solution." - ] - }, - { - "name": "SignedDepositWeight", - "type": "", - "type_value": 6, - "constants_value": "00000000000000000000000000000000", - "docs": [ - " Per-weight deposit for a signed solution." - ] - }, - { - "name": "MinerMaxLength", - "type": "", - "type_value": 4, - "constants_value": "00003600", - "docs": [ - " Maximum length (bytes) that the mined solution should consume.", - "", - " The miner will ensure that the total length of the unsigned solution will not exceed", - " this value." - ] - } - ], - "errors": [ - { - "name": "PreDispatchEarlySubmission", - "doc": [ - "Submission was too early." - ] - }, - { - "name": "PreDispatchWrongWinnerCount", - "doc": [ - "Wrong number of winners presented." - ] - }, - { - "name": "PreDispatchWeakSubmission", - "doc": [ - "Submission was too weak, score-wise." - ] - }, - { - "name": "SignedQueueFull", - "doc": [ - "The queue was full, and the solution was not better than any of the existing ones." - ] - }, - { - "name": "SignedCannotPayDeposit", - "doc": [ - "The origin failed to pay the deposit." - ] - }, - { - "name": "SignedInvalidWitness", - "doc": [ - "Witness data to dispatchable is invalid." - ] - }, - { - "name": "SignedTooMuchWeight", - "doc": [ - "The signed submission consumes too much weight" - ] - }, - { - "name": "OcwCallWrongEra", - "doc": [ - "OCW submitted solution for wrong round" - ] - }, - { - "name": "MissingSnapshotMetadata", - "doc": [ - "Snapshot metadata should exist but didn't." - ] - }, - { - "name": "InvalidSubmissionIndex", - "doc": [ - "`Self::insert_submission` returned an invalid index." - ] - }, - { - "name": "CallNotAllowed", - "doc": [ - "The call is not allowed at this point." - ] - } - ], - "errors_value": { - "type": 342 - }, - "index": 8 - }, - { - "name": "Staking", - "prefix": "Staking", - "storage": [ - { - "name": "HistoryDepth", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x54000000", - "docs": [ - " Number of eras to keep in history.", - "", - " Information is kept for eras in `[current_era - history_depth; current_era]`.", - "", - " Must be more than the number of eras delayed by session otherwise. I.e. active era must", - " always be in history. I.e. `active_era \u003e current_era - history_depth` must be", - " guaranteed." - ] - }, - { - "name": "ValidatorCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The ideal number of staking participants." - ] - }, - { - "name": "MinimumValidatorCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Minimum number of staking participants before emergency conditions are imposed." - ] - }, - { - "name": "Invulnerables", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 39 - }, - "fallback": "0x00", - "docs": [ - " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're", - " easy to initialize and the performance hit is minimal (we expect no more than four", - " invulnerables) and restricted to testnets." - ] - }, - { - "name": "Bonded", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Map from all locked \"stash\" accounts to the controller account." - ] - }, - { - "name": "MinNominatorBond", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The minimum active bond to become and maintain the role of a nominator." - ] - }, - { - "name": "MinValidatorBond", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The minimum active bond to become and maintain the role of a validator." - ] - }, - { - "name": "Ledger", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Blake2_128Concat", - "value": 343 - } - }, - "fallback": "0x00", - "docs": [ - " Map from all (unlocked) \"controller\" accounts to the info regarding the staking." - ] - }, - { - "name": "Payee", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 201 - } - }, - "fallback": "0x00", - "docs": [ - " Where the reward payment should be made. Keyed by stash." - ] - }, - { - "name": "Validators", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 202 - } - }, - "fallback": "0x0000", - "docs": [ - " The map from (wannabe) validator stash key to the preferences of that validator.", - "", - " When updating this storage item, you must also update the `CounterForValidators`." - ] - }, - { - "name": "CounterForValidators", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " A tracker to keep count of the number of items in the `Validators` map." - ] - }, - { - "name": "MaxValidatorsCount", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " The maximum validator count before we stop allowing new validators to join.", - "", - " When this value is not set, no limits are enforced." - ] - }, - { - "name": "Nominators", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 346 - } - }, - "fallback": "0x00", - "docs": [ - " The map from nominator stash key to the set of stash keys of all validators to nominate.", - "", - " When updating this storage item, you must also update the `CounterForNominators`." - ] - }, - { - "name": "CounterForNominators", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " A tracker to keep count of the number of items in the `Nominators` map." - ] - }, - { - "name": "MaxNominatorsCount", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " The maximum nominator count before we stop allowing new validators to join.", - "", - " When this value is not set, no limits are enforced." - ] - }, - { - "name": "CurrentEra", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " The current era index.", - "", - " This is the latest planned era, depending on how the Session pallet queues the validator", - " set, it might be active or not." - ] - }, - { - "name": "ActiveEra", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 347 - }, - "fallback": "0x00", - "docs": [ - " The active era information, it holds index and start.", - "", - " The active era is the era being currently rewarded. Validator set of this era must be", - " equal to [`SessionInterface::validators`]." - ] - }, - { - "name": "ErasStartSessionIndex", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 4 - } - }, - "fallback": "0x00", - "docs": [ - " The session index at which the era start for the last `HISTORY_DEPTH` eras.", - "", - " Note: This tracks the starting session (i.e. session index when era start being active)", - " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`." - ] - }, - { - "name": "ErasStakers", - "modifier": "Default", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 65 - } - }, - "fallback": "0x000000", - "docs": [ - " Exposure of validator at era.", - "", - " This is keyed first by the era index to allow bulk deletion and then the stash account.", - "", - " Is it removed after `HISTORY_DEPTH` eras.", - " If stakers hasn't been set or has been removed then empty exposure is returned." - ] - }, - { - "name": "ErasStakersClipped", - "modifier": "Default", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 65 - } - }, - "fallback": "0x000000", - "docs": [ - " Clipped Exposure of validator at era.", - "", - " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the", - " `T::MaxNominatorRewardedPerValidator` biggest stakers.", - " (Note: the field `total` and `own` of the exposure remains unchanged).", - " This is used to limit the i/o cost for the nominator payout.", - "", - " This is keyed fist by the era index to allow bulk deletion and then the stash account.", - "", - " Is it removed after `HISTORY_DEPTH` eras.", - " If stakers hasn't been set or has been removed then empty exposure is returned." - ] - }, - { - "name": "ErasValidatorPrefs", - "modifier": "Default", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 202 - } - }, - "fallback": "0x0000", - "docs": [ - " Similar to `ErasStakers`, this holds the preferences of validators.", - "", - " This is keyed first by the era index to allow bulk deletion and then the stash account.", - "", - " Is it removed after `HISTORY_DEPTH` eras." - ] - }, - { - "name": "ErasValidatorReward", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 6 - } - }, - "fallback": "0x00", - "docs": [ - " The total validator era payout for the last `HISTORY_DEPTH` eras.", - "", - " Eras that haven't finished yet or has been removed doesn't have reward." - ] - }, - { - "name": "ErasRewardPoints", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 348 - } - }, - "fallback": "0x0000000000", - "docs": [ - " Rewards for the last `HISTORY_DEPTH` eras.", - " If reward hasn't been set or has been removed then 0 reward is returned." - ] - }, - { - "name": "ErasTotalStake", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 6 - } - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The total amount staked for the last `HISTORY_DEPTH` eras.", - " If total hasn't been set or has been removed then 0 stake is returned." - ] - }, - { - "name": "ForceEra", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 352 - }, - "fallback": "0x00", - "docs": [ - " Mode of era forcing." - ] - }, - { - "name": "SlashRewardFraction", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 104 - }, - "fallback": "0x00000000", - "docs": [ - " The percentage of the slash that is distributed to reporters.", - "", - " The rest of the slashed value is handled by the `Slash`." - ] - }, - { - "name": "CanceledSlashPayout", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The amount of currency given to reporters of a slash event which was", - " canceled by extraordinary circumstances (e.g. governance)." - ] - }, - { - "name": "UnappliedSlashes", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 353 - } - }, - "fallback": "0x00", - "docs": [ - " All unapplied slashes that are queued for later." - ] - }, - { - "name": "BondedEras", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 99 - }, - "fallback": "0x00", - "docs": [ - " A mapping from still-bonded eras to the first session index of that era.", - "", - " Must contains information for eras for the range:", - " `[active_era - bounding_duration; active_era]`" - ] - }, - { - "name": "ValidatorSlashInEra", - "modifier": "Optional", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 355 - } - }, - "fallback": "0x00", - "docs": [ - " All slashing events on validators, mapped by era to the highest slash proportion", - " and slash value of the era." - ] - }, - { - "name": "NominatorSlashInEra", - "modifier": "Optional", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 6 - } - }, - "fallback": "0x00", - "docs": [ - " All slashing events on nominators, mapped by era to the highest slash value of the era." - ] - }, - { - "name": "SlashingSpans", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 356 - } - }, - "fallback": "0x00", - "docs": [ - " Slashing spans for stash accounts." - ] - }, - { - "name": "SpanSlash", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 351, - "hasher": "Twox64Concat", - "value": 357 - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Records information about the maximum slash of a stash within a slashing span,", - " as well as how much reward has been paid out." - ] - }, - { - "name": "EarliestUnappliedSlash", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " The earliest era for which we have a pending, unapplied slash." - ] - }, - { - "name": "CurrentPlannedSession", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The last planned session scheduled by the session pallet.", - "", - " This is basically in sync with the call to [`pallet_session::SessionManager::new_session`]." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 358 - }, - "fallback": "0x06", - "docs": [ - " True if network has been upgraded to this version.", - " Storage version of the pallet.", - "", - " This is set to v7.0.0 for new networks." - ] - }, - { - "name": "ChillThreshold", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 205 - }, - "fallback": "0x00", - "docs": [ - " The threshold for when users can start calling `chill_other` for other validators / nominators.", - " The threshold is compared to the actual number of validators / nominators (`CountFor*`) in", - " the system compared to the configured max (`Max*Count`)." - ] - } - ], - "calls": [ - { - "lookup": "0900", - "name": "bond", - "docs": [ - "Take the origin account as a stash and lock up `value` of its balance. `controller` will", - "be the account that controls it.", - "", - "`value` must be more than the `minimum_balance` specified by `T::Currency`.", - "", - "The dispatch origin for this call must be _Signed_ by the stash account.", - "", - "Emits `Bonded`.", - "# \u003cweight\u003e", - "- Independent of the arguments. Moderate complexity.", - "- O(1).", - "- Three extra DB entries.", - "", - "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned", - "unless the `origin` falls below _existential deposit_ and gets removed as dust.", - "------------------", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "controller", - "type": "MultiAddress" - }, - { - "name": "value", - "type": "compact\u003cU128\u003e" - }, - { - "name": "payee", - "type": "RewardDestination" - } - ] - }, - { - "lookup": "0901", - "name": "bond_extra", - "docs": [ - "Add some extra amount that have appeared in the stash `free_balance` into the balance up", - "for staking.", - "", - "The dispatch origin for this call must be _Signed_ by the stash, not the controller.", - "", - "Use this if there are additional funds in your stash account that you wish to bond.", - "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose any limitation", - "on the amount that can be added.", - "", - "Emits `Bonded`.", - "", - "# \u003cweight\u003e", - "- Independent of the arguments. Insignificant complexity.", - "- O(1).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "max_additional", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "0902", - "name": "unbond", - "docs": [ - "Schedule a portion of the stash to be unlocked ready for transfer out after the bond", - "period ends. If this leaves an amount actively bonded less than", - "T::Currency::minimum_balance(), then it is increased to the full amount.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "Once the unlock period is done, you can call `withdraw_unbonded` to actually move", - "the funds out of management ready for transfer.", - "", - "No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`)", - "can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need", - "to be called first to remove some of the chunks (if possible).", - "", - "If a user encounters the `InsufficientBond` error when calling this extrinsic,", - "they should call `chill` first in order to free up their bonded funds.", - "", - "Emits `Unbonded`.", - "", - "See also [`Call::withdraw_unbonded`]." - ], - "args": [ - { - "name": "value", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "0903", - "name": "withdraw_unbonded", - "docs": [ - "Remove any unlocked chunks from the `unlocking` queue from our management.", - "", - "This essentially frees up that balance to be used by the stash account to do", - "whatever it wants.", - "", - "The dispatch origin for this call must be _Signed_ by the controller.", - "", - "Emits `Withdrawn`.", - "", - "See also [`Call::unbond`].", - "", - "# \u003cweight\u003e", - "Complexity O(S) where S is the number of slashing spans to remove", - "NOTE: Weight annotation is the kill scenario, we refund otherwise.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "num_slashing_spans", - "type": "U32" - } - ] - }, - { - "lookup": "0904", - "name": "validate", - "docs": [ - "Declare the desire to validate for the origin controller.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash." - ], - "args": [ - { - "name": "prefs", - "type": "ValidatorPrefs" - } - ] - }, - { - "lookup": "0905", - "name": "nominate", - "docs": [ - "Declare the desire to nominate `targets` for the origin controller.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "# \u003cweight\u003e", - "- The transaction's complexity is proportional to the size of `targets` (N)", - "which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS).", - "- Both the reads and writes follow a similar pattern.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "targets", - "type": "Vec\u003cMultiAddress\u003e" - } - ] - }, - { - "lookup": "0906", - "name": "chill", - "docs": [ - "Declare no desire to either validate or nominate.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "# \u003cweight\u003e", - "- Independent of the arguments. Insignificant complexity.", - "- Contains one read.", - "- Writes are limited to the `origin` account key.", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "0907", - "name": "set_payee", - "docs": [ - "(Re-)set the payment target for a controller.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "# \u003cweight\u003e", - "- Independent of the arguments. Insignificant complexity.", - "- Contains a limited number of reads.", - "- Writes are limited to the `origin` account key.", - "---------", - "- Weight: O(1)", - "- DB Weight:", - " - Read: Ledger", - " - Write: Payee", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "payee", - "type": "RewardDestination" - } - ] - }, - { - "lookup": "0908", - "name": "set_controller", - "docs": [ - "(Re-)set the controller of a stash.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the stash, not the controller.", - "", - "# \u003cweight\u003e", - "- Independent of the arguments. Insignificant complexity.", - "- Contains a limited number of reads.", - "- Writes are limited to the `origin` account key.", - "----------", - "Weight: O(1)", - "DB Weight:", - "- Read: Bonded, Ledger New Controller, Ledger Old Controller", - "- Write: Bonded, Ledger New Controller, Ledger Old Controller", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "controller", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "0909", - "name": "set_validator_count", - "docs": [ - "Sets the ideal number of validators.", - "", - "The dispatch origin must be Root.", - "", - "# \u003cweight\u003e", - "Weight: O(1)", - "Write: Validator Count", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "new", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "090a", - "name": "increase_validator_count", - "docs": [ - "Increments the ideal number of validators.", - "", - "The dispatch origin must be Root.", - "", - "# \u003cweight\u003e", - "Same as [`Self::set_validator_count`].", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "additional", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "090b", - "name": "scale_validator_count", - "docs": [ - "Scale up the ideal number of validators by a factor.", - "", - "The dispatch origin must be Root.", - "", - "# \u003cweight\u003e", - "Same as [`Self::set_validator_count`].", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "factor", - "type": "U8" - } - ] - }, - { - "lookup": "090c", - "name": "force_no_eras", - "docs": [ - "Force there to be no new eras indefinitely.", - "", - "The dispatch origin must be Root.", - "", - "# Warning", - "", - "The election process starts multiple blocks before the end of the era.", - "Thus the election process may be ongoing when this is called. In this case the", - "election will continue until the next era is triggered.", - "", - "# \u003cweight\u003e", - "- No arguments.", - "- Weight: O(1)", - "- Write: ForceEra", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "090d", - "name": "force_new_era", - "docs": [ - "Force there to be a new era at the end of the next session. After this, it will be", - "reset to normal (non-forced) behaviour.", - "", - "The dispatch origin must be Root.", - "", - "# Warning", - "", - "The election process starts multiple blocks before the end of the era.", - "If this is called just before a new era is triggered, the election process may not", - "have enough blocks to get a result.", - "", - "# \u003cweight\u003e", - "- No arguments.", - "- Weight: O(1)", - "- Write ForceEra", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "090e", - "name": "set_invulnerables", - "docs": [ - "Set the validators who cannot be slashed (if any).", - "", - "The dispatch origin must be Root.", - "", - "# \u003cweight\u003e", - "- O(V)", - "- Write: Invulnerables", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "invulnerables", - "type": "Vec\u003c[U8; 32]\u003e" - } - ] - }, - { - "lookup": "090f", - "name": "force_unstake", - "docs": [ - "Force a current staker to become completely unstaked, immediately.", - "", - "The dispatch origin must be Root.", - "", - "# \u003cweight\u003e", - "O(S) where S is the number of slashing spans to be removed", - "Reads: Bonded, Slashing Spans, Account, Locks", - "Writes: Bonded, Slashing Spans (if S \u003e 0), Ledger, Payee, Validators, Nominators, Account, Locks", - "Writes Each: SpanSlash * S", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "stash", - "type": "[U8; 32]" - }, - { - "name": "num_slashing_spans", - "type": "U32" - } - ] - }, - { - "lookup": "0910", - "name": "force_new_era_always", - "docs": [ - "Force there to be a new era at the end of sessions indefinitely.", - "", - "The dispatch origin must be Root.", - "", - "# Warning", - "", - "The election process starts multiple blocks before the end of the era.", - "If this is called just before a new era is triggered, the election process may not", - "have enough blocks to get a result.", - "", - "# \u003cweight\u003e", - "- Weight: O(1)", - "- Write: ForceEra", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "0911", - "name": "cancel_deferred_slash", - "docs": [ - "Cancel enactment of a deferred slash.", - "", - "Can be called by the `T::SlashCancelOrigin`.", - "", - "Parameters: era and indices of the slashes for that era to kill.", - "", - "# \u003cweight\u003e", - "Complexity: O(U + S)", - "with U unapplied slashes weighted with U=1000", - "and S is the number of slash indices to be canceled.", - "- Read: Unapplied Slashes", - "- Write: Unapplied Slashes", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "era", - "type": "U32" - }, - { - "name": "slash_indices", - "type": "Vec\u003cU32\u003e" - } - ] - }, - { - "lookup": "0912", - "name": "payout_stakers", - "docs": [ - "Pay out all the stakers behind a single validator for a single era.", - "", - "- `validator_stash` is the stash account of the validator. Their nominators, up to", - " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards.", - "- `era` may be any era between `[current_era - history_depth; current_era]`.", - "", - "The origin of this call must be _Signed_. Any account can call this function, even if", - "it is not one of the stakers.", - "", - "# \u003cweight\u003e", - "- Time complexity: at most O(MaxNominatorRewardedPerValidator).", - "- Contains a limited number of reads and writes.", - "-----------", - "N is the Number of payouts for the validator (including the validator)", - "Weight:", - "- Reward Destination Staked: O(N)", - "- Reward Destination Controller (Creating): O(N)", - "", - " NOTE: weights are assuming that payouts are made to alive stash account (Staked).", - " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "validator_stash", - "type": "[U8; 32]" - }, - { - "name": "era", - "type": "U32" - } - ] - }, - { - "lookup": "0913", - "name": "rebond", - "docs": [ - "Rebond a portion of the stash scheduled to be unlocked.", - "", - "The dispatch origin must be signed by the controller.", - "", - "# \u003cweight\u003e", - "- Time complexity: O(L), where L is unlocking chunks", - "- Bounded by `MAX_UNLOCKING_CHUNKS`.", - "- Storage changes: Can't increase storage, only decrease it.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "value", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "0914", - "name": "set_history_depth", - "docs": [ - "Set `HistoryDepth` value. This function will delete any history information", - "when `HistoryDepth` is reduced.", - "", - "Parameters:", - "- `new_history_depth`: The new history depth you would like to set.", - "- `era_items_deleted`: The number of items that will be deleted by this dispatch.", - " This should report all the storage items that will be deleted by clearing old", - " era history. Needed to report an accurate weight for the dispatch. Trusted by", - " `Root` to report an accurate number.", - "", - "Origin must be root.", - "", - "# \u003cweight\u003e", - "- E: Number of history depths removed, i.e. 10 -\u003e 7 = 3", - "- Weight: O(E)", - "- DB Weight:", - " - Reads: Current Era, History Depth", - " - Writes: History Depth", - " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs", - " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake, ErasStartSessionIndex", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "new_history_depth", - "type": "compact\u003cU32\u003e" - }, - { - "name": "_era_items_deleted", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0915", - "name": "reap_stash", - "docs": [ - "Remove all data structure concerning a staker/stash once its balance is at the minimum.", - "This is essentially equivalent to `withdraw_unbonded` except it can be called by anyone", - "and the target `stash` must have no funds left beyond the ED.", - "", - "This can be called from any origin.", - "", - "- `stash`: The stash account to reap. Its balance must be zero.", - "", - "# \u003cweight\u003e", - "Complexity: O(S) where S is the number of slashing spans on the account.", - "DB Weight:", - "- Reads: Stash Account, Bonded, Slashing Spans, Locks", - "- Writes: Bonded, Slashing Spans (if S \u003e 0), Ledger, Payee, Validators, Nominators, Stash Account, Locks", - "- Writes Each: SpanSlash * S", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "stash", - "type": "[U8; 32]" - }, - { - "name": "num_slashing_spans", - "type": "U32" - } - ] - }, - { - "lookup": "0916", - "name": "kick", - "docs": [ - "Remove the given nominations from the calling validator.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - "- `who`: A list of nominator stash accounts who are nominating this validator which", - " should no longer be nominating this validator.", - "", - "Note: Making this call only makes sense if you first set the validator preferences to", - "block any further nominations." - ], - "args": [ - { - "name": "who", - "type": "Vec\u003cMultiAddress\u003e" - } - ] - }, - { - "lookup": "0917", - "name": "set_staking_limits", - "docs": [ - "Update the various staking limits this pallet.", - "", - "* `min_nominator_bond`: The minimum active bond needed to be a nominator.", - "* `min_validator_bond`: The minimum active bond needed to be a validator.", - "* `max_nominator_count`: The max number of users who can be a nominator at once.", - " When set to `None`, no limit is enforced.", - "* `max_validator_count`: The max number of users who can be a validator at once.", - " When set to `None`, no limit is enforced.", - "", - "Origin must be Root to call this function.", - "", - "NOTE: Existing nominators and validators will not be affected by this update.", - "to kick people under the new limits, `chill_other` should be called." - ], - "args": [ - { - "name": "min_nominator_bond", - "type": "U128" - }, - { - "name": "min_validator_bond", - "type": "U128" - }, - { - "name": "max_nominator_count", - "type": "option\u003cU32\u003e" - }, - { - "name": "max_validator_count", - "type": "option\u003cU32\u003e" - }, - { - "name": "threshold", - "type": "option\u003cU8\u003e" - } - ] - }, - { - "lookup": "0918", - "name": "chill_other", - "docs": [ - "Declare a `controller` to stop participating as either a validator or nominator.", - "", - "Effects will be felt at the beginning of the next era.", - "", - "The dispatch origin for this call must be _Signed_, but can be called by anyone.", - "", - "If the caller is the same as the controller being targeted, then no further checks are", - "enforced, and this function behaves just like `chill`.", - "", - "If the caller is different than the controller being targeted, the following conditions", - "must be met:", - "* A `ChillThreshold` must be set and checked which defines how close to the max", - " nominators or validators we must reach before users can start chilling one-another.", - "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine", - " how close we are to the threshold.", - "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines", - " if this is a person that should be chilled because they have not met the threshold", - " bond required.", - "", - "This can be helpful if bond requirements are updated, and we need to remove old users", - "who do not satisfy these requirements." - ], - "args": [ - { - "name": "controller", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 200 - }, - "events": [ - { - "lookup": "0900", - "name": "EraPayout", - "docs": [ - "The era payout has been set; the first balance is the validator-payout; the second is", - "the remainder from the maximum amount of reward.", - "\\[era_index, validator_payout, remainder\\]" - ], - "args": [ - "U32", - "U128", - "U128" - ] - }, - { - "lookup": "0901", - "name": "Reward", - "docs": [ - "The staker has been rewarded by this amount. \\[stash, amount\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0902", - "name": "Slash", - "docs": [ - "One validator (and its nominators) has been slashed by the given amount.", - "\\[validator, amount\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0903", - "name": "OldSlashingReportDiscarded", - "docs": [ - "An old slashing report from a prior era was discarded because it could", - "not be processed. \\[session_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0904", - "name": "StakingElection", - "docs": [ - "A new set of stakers was elected." - ], - "args": null - }, - { - "lookup": "0905", - "name": "Bonded", - "docs": [ - "An account has bonded this amount. \\[stash, amount\\]", - "", - "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,", - "it will not be emitted for staking rewards when they are added to stake." - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0906", - "name": "Unbonded", - "docs": [ - "An account has unbonded this amount. \\[stash, amount\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0907", - "name": "Withdrawn", - "docs": [ - "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`", - "from the unlocking queue. \\[stash, amount\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0908", - "name": "Kicked", - "docs": [ - "A nominator has been kicked from a validator. \\[nominator, stash\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "0909", - "name": "StakingElectionFailed", - "docs": [ - "The election failed. No new era is planned." - ], - "args": null - }, - { - "lookup": "090a", - "name": "Chilled", - "docs": [ - "An account has stopped participating as either a validator or nominator.", - "\\[stash\\]" - ], - "args": [ - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 36 - }, - "constants": [ - { - "name": "SessionsPerEra", - "type": "", - "type_value": 4, - "constants_value": "06000000", - "docs": [ - " Number of sessions per era." - ] - }, - { - "name": "BondingDuration", - "type": "", - "type_value": 4, - "constants_value": "a0020000", - "docs": [ - " Number of eras that staked funds must remain bonded for." - ] - }, - { - "name": "SlashDeferDuration", - "type": "", - "type_value": 4, - "constants_value": "a8000000", - "docs": [ - " Number of eras that slashes are deferred by, after computation.", - "", - " This should be less than the bonding duration. Set to 0 if slashes", - " should be applied immediately, without opportunity for intervention." - ] - }, - { - "name": "MaxNominatorRewardedPerValidator", - "type": "", - "type_value": 4, - "constants_value": "00010000", - "docs": [ - " The maximum number of nominators rewarded for each validator.", - "", - " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can claim", - " their reward. This used to limit the i/o cost for the nominator payout." - ] - }, - { - "name": "MaxNominations", - "type": "", - "type_value": 4, - "constants_value": "10000000", - "docs": null - } - ], - "errors": [ - { - "name": "NotController", - "doc": [ - "Not a controller account." - ] - }, - { - "name": "NotStash", - "doc": [ - "Not a stash account." - ] - }, - { - "name": "AlreadyBonded", - "doc": [ - "Stash is already bonded." - ] - }, - { - "name": "AlreadyPaired", - "doc": [ - "Controller is already paired." - ] - }, - { - "name": "EmptyTargets", - "doc": [ - "Targets cannot be empty." - ] - }, - { - "name": "DuplicateIndex", - "doc": [ - "Duplicate index." - ] - }, - { - "name": "InvalidSlashIndex", - "doc": [ - "Slash record index out of bounds." - ] - }, - { - "name": "InsufficientBond", - "doc": [ - "Can not bond with value less than minimum required." - ] - }, - { - "name": "NoMoreChunks", - "doc": [ - "Can not schedule more unlock chunks." - ] - }, - { - "name": "NoUnlockChunk", - "doc": [ - "Can not rebond without unlocking chunks." - ] - }, - { - "name": "FundedTarget", - "doc": [ - "Attempting to target a stash that still has funds." - ] - }, - { - "name": "InvalidEraToReward", - "doc": [ - "Invalid era to reward." - ] - }, - { - "name": "InvalidNumberOfNominations", - "doc": [ - "Invalid number of nominations." - ] - }, - { - "name": "NotSortedAndUnique", - "doc": [ - "Items are not sorted and unique." - ] - }, - { - "name": "AlreadyClaimed", - "doc": [ - "Rewards for this era have already been claimed for this validator." - ] - }, - { - "name": "IncorrectHistoryDepth", - "doc": [ - "Incorrect previous history depth input provided." - ] - }, - { - "name": "IncorrectSlashingSpans", - "doc": [ - "Incorrect number of slashing spans provided." - ] - }, - { - "name": "BadState", - "doc": [ - "Internal state has become somehow corrupted and the operation cannot continue." - ] - }, - { - "name": "TooManyTargets", - "doc": [ - "Too many nomination targets supplied." - ] - }, - { - "name": "BadTarget", - "doc": [ - "A nomination target was supplied that was blocked or otherwise not a validator." - ] - }, - { - "name": "CannotChillOther", - "doc": [ - "The user has enough bond and thus cannot be chilled forcefully by an external person." - ] - }, - { - "name": "TooManyNominators", - "doc": [ - "There are too many nominators in the system. Governance needs to adjust the staking settings", - "to keep things safe for the runtime." - ] - }, - { - "name": "TooManyValidators", - "doc": [ - "There are too many validators in the system. Governance needs to adjust the staking settings", - "to keep things safe for the runtime." - ] - } - ], - "errors_value": { - "type": 359 - }, - "index": 9 - }, - { - "name": "Session", - "prefix": "Session", - "storage": [ - { - "name": "Validators", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 39 - }, - "fallback": "0x00", - "docs": [ - " The current set of validators." - ] - }, - { - "name": "CurrentIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Current index of the session." - ] - }, - { - "name": "QueuedChanged", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 34 - }, - "fallback": "0x00", - "docs": [ - " True if the underlying economic identities or weighting behind the validators", - " has changed in the queued validator set." - ] - }, - { - "name": "QueuedKeys", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 360 - }, - "fallback": "0x00", - "docs": [ - " The queued keys for the next session. When the next session begins, these keys", - " will be used to determine the validator's session keys." - ] - }, - { - "name": "DisabledValidators", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 92 - }, - "fallback": "0x00", - "docs": [ - " Indices of disabled validators.", - "", - " The set is cleared when `on_session_ending` returns a new set of identities." - ] - }, - { - "name": "NextKeys", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 208 - } - }, - "fallback": "0x00", - "docs": [ - " The next session keys for a validator." - ] - }, - { - "name": "KeyOwner", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 362, - "hasher": "Twox64Concat", - "value": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The owner of a key. The key is the `KeyTypeId` + the encoded key." - ] - } - ], - "calls": [ - { - "lookup": "0a00", - "name": "set_keys", - "docs": [ - "Sets the session key(s) of the function caller to `keys`.", - "Allows an account to set its session key prior to becoming a validator.", - "This doesn't take effect until the next session.", - "", - "The dispatch origin of this function must be signed.", - "", - "# \u003cweight\u003e", - "- Complexity: `O(1)`", - " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.", - "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", - "- DbWrites: `origin account`, `NextKeys`", - "- DbReads per key id: `KeyOwner`", - "- DbWrites per key id: `KeyOwner`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "keys", - "type": "SessionKeys" - }, - { - "name": "proof", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "0a01", - "name": "purge_keys", - "docs": [ - "Removes any session key(s) of the function caller.", - "This doesn't take effect until the next session.", - "", - "The dispatch origin of this function must be signed.", - "", - "# \u003cweight\u003e", - "- Complexity: `O(1)` in number of key types.", - " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.", - "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", - "- DbWrites: `NextKeys`, `origin account`", - "- DbWrites per key id: `KeyOwner`", - "# \u003c/weight\u003e" - ], - "args": null - } - ], - "calls_value": { - "type": 207 - }, - "events": [ - { - "lookup": "0a00", - "name": "NewSession", - "docs": [ - "New session has happened. Note that the argument is the \\[session_index\\], not the block", - "number as the type might suggest." - ], - "args": [ - "U32" - ] - } - ], - "events_value": { - "type": 37 - }, - "errors": [ - { - "name": "InvalidProof", - "doc": [ - "Invalid ownership proof." - ] - }, - { - "name": "NoAssociatedValidatorId", - "doc": [ - "No associated validator ID for account." - ] - }, - { - "name": "DuplicatedKey", - "doc": [ - "Registered duplicate key." - ] - }, - { - "name": "NoKeys", - "doc": [ - "No keys are associated with this account." - ] - }, - { - "name": "NoAccount", - "doc": [ - "Key setting account is not live, so it's impossible to associate keys." - ] - } - ], - "errors_value": { - "type": 364 - }, - "index": 10 - }, - { - "name": "Democracy", - "prefix": "Democracy", - "storage": [ - { - "name": "PublicPropCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The number of (public) proposals that have been made so far." - ] - }, - { - "name": "PublicProps", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 365 - }, - "fallback": "0x00", - "docs": [ - " The public proposals. Unsorted. The second item is the proposal's hash." - ] - }, - { - "name": "DepositOf", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 367 - } - }, - "fallback": "0x00", - "docs": [ - " Those who have locked a deposit.", - "", - " TWOX-NOTE: Safe, as increasing integer keys are safe." - ] - }, - { - "name": "Preimages", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 368 - } - }, - "fallback": "0x00", - "docs": [ - " Map of hashes to the proposal preimage, along with who registered it and their deposit.", - " The block number is the block at which it was deposited." - ] - }, - { - "name": "ReferendumCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The next free referendum index, aka the number of referenda started so far." - ] - }, - { - "name": "LowestUnbaked", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The lowest referendum index representing an unbaked referendum. Equal to", - " `ReferendumCount` if there isn't a unbaked referendum." - ] - }, - { - "name": "ReferendumInfoOf", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 369 - } - }, - "fallback": "0x00", - "docs": [ - " Information concerning any given referendum.", - "", - "2054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e" - ] - }, - { - "name": "VotingOf", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 372 - } - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " All votes for a particular voter. We store the balance for the number of votes that we", - " have recorded. The second item is the total amount of delegations, that will be added.", - "", - " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway." - ] - }, - { - "name": "Locks", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 4 - } - }, - "fallback": "0x00", - "docs": [ - " Accounts for which there are locks in action which may be removed at some point in the", - " future. The value is the block number at which the lock expires and may be removed.", - "", - "2054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e" - ] - }, - { - "name": "LastTabledWasExternal", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 34 - }, - "fallback": "0x00", - "docs": [ - " True if the last referendum tabled was submitted externally. False if it was a public", - " proposal." - ] - }, - { - "name": "NextExternal", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 377 - }, - "fallback": "0x00", - "docs": [ - " The referendum to be tabled whenever it would be valid to table an external proposal.", - " This happens when a referendum needs to be tabled and one of two conditions are met:", - " - `LastTabledWasExternal` is `false`; or", - " - `PublicProps` is empty." - ] - }, - { - "name": "Blacklist", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 378 - } - }, - "fallback": "0x00", - "docs": [ - " A record of who vetoed what. Maps proposal hash to a possible existent block number", - " (until when it may not be resubmitted) and who vetoed it." - ] - }, - { - "name": "Cancellations", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 34 - } - }, - "fallback": "0x00", - "docs": [ - " Record of all proposals that have been subject to emergency cancellation." - ] - }, - { - "name": "StorageVersion", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 379 - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " New networks start with last version." - ] - } - ], - "calls": [ - { - "lookup": "0b00", - "name": "propose", - "docs": [ - "Propose a sensitive action to be taken.", - "", - "The dispatch origin of this call must be _Signed_ and the sender must", - "have funds to cover the deposit.", - "", - "- `proposal_hash`: The hash of the proposal preimage.", - "- `value`: The amount of deposit (must be at least `MinimumDeposit`).", - "", - "Emits `Proposed`.", - "", - "Weight: `O(p)`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "value", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "0b01", - "name": "second", - "docs": [ - "Signals agreement with a particular proposal.", - "", - "The dispatch origin of this call must be _Signed_ and the sender", - "must have funds to cover the deposit, equal to the original deposit.", - "", - "- `proposal`: The index of the proposal to second.", - "- `seconds_upper_bound`: an upper bound on the current number of seconds on this", - " proposal. Extrinsic is weighted according to this value with no refund.", - "", - "Weight: `O(S)` where S is the number of seconds a proposal already has." - ], - "args": [ - { - "name": "proposal", - "type": "compact\u003cU32\u003e" - }, - { - "name": "seconds_upper_bound", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0b02", - "name": "vote", - "docs": [ - "Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;", - "otherwise it is a vote to keep the status quo.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `ref_index`: The index of the referendum to vote for.", - "- `vote`: The vote configuration.", - "", - "Weight: `O(R)` where R is the number of referendums the voter has voted on." - ], - "args": [ - { - "name": "ref_index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "vote", - "type": "AccountVote" - } - ] - }, - { - "lookup": "0b03", - "name": "emergency_cancel", - "docs": [ - "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same", - "referendum.", - "", - "The dispatch origin of this call must be `CancellationOrigin`.", - "", - "-`ref_index`: The index of the referendum to cancel.", - "", - "Weight: `O(1)`." - ], - "args": [ - { - "name": "ref_index", - "type": "U32" - } - ] - }, - { - "lookup": "0b04", - "name": "external_propose", - "docs": [ - "Schedule a referendum to be tabled once it is legal to schedule an external", - "referendum.", - "", - "The dispatch origin of this call must be `ExternalOrigin`.", - "", - "- `proposal_hash`: The preimage hash of the proposal.", - "", - "Weight: `O(V)` with V number of vetoers in the blacklist of proposal.", - " Decoding vec of length V. Charged as maximum" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0b05", - "name": "external_propose_majority", - "docs": [ - "Schedule a majority-carries referendum to be tabled next once it is legal to schedule", - "an external referendum.", - "", - "The dispatch of this call must be `ExternalMajorityOrigin`.", - "", - "- `proposal_hash`: The preimage hash of the proposal.", - "", - "Unlike `external_propose`, blacklisting has no effect on this and it may replace a", - "pre-scheduled `external_propose` call.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0b06", - "name": "external_propose_default", - "docs": [ - "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to", - "schedule an external referendum.", - "", - "The dispatch of this call must be `ExternalDefaultOrigin`.", - "", - "- `proposal_hash`: The preimage hash of the proposal.", - "", - "Unlike `external_propose`, blacklisting has no effect on this and it may replace a", - "pre-scheduled `external_propose` call.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0b07", - "name": "fast_track", - "docs": [ - "Schedule the currently externally-proposed majority-carries referendum to be tabled", - "immediately. If there is no externally-proposed referendum currently, or if there is one", - "but it is not a majority-carries referendum then it fails.", - "", - "The dispatch of this call must be `FastTrackOrigin`.", - "", - "- `proposal_hash`: The hash of the current external proposal.", - "- `voting_period`: The period that is allowed for voting on this proposal. Increased to", - " `FastTrackVotingPeriod` if too low.", - "- `delay`: The number of block after voting has ended in approval and this should be", - " enacted. This doesn't have a minimum amount.", - "", - "Emits `Started`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "voting_period", - "type": "U32" - }, - { - "name": "delay", - "type": "U32" - } - ] - }, - { - "lookup": "0b08", - "name": "veto_external", - "docs": [ - "Veto and blacklist the external proposal hash.", - "", - "The dispatch origin of this call must be `VetoOrigin`.", - "", - "- `proposal_hash`: The preimage hash of the proposal to veto and blacklist.", - "", - "Emits `Vetoed`.", - "", - "Weight: `O(V + log(V))` where V is number of `existing vetoers`" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0b09", - "name": "cancel_referendum", - "docs": [ - "Remove a referendum.", - "", - "The dispatch origin of this call must be _Root_.", - "", - "- `ref_index`: The index of the referendum to cancel.", - "", - "# Weight: `O(1)`." - ], - "args": [ - { - "name": "ref_index", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0b0a", - "name": "cancel_queued", - "docs": [ - "Cancel a proposal queued for enactment.", - "", - "The dispatch origin of this call must be _Root_.", - "", - "- `which`: The index of the referendum to cancel.", - "", - "Weight: `O(D)` where `D` is the items in the dispatch queue. Weighted as `D = 10`." - ], - "args": [ - { - "name": "which", - "type": "U32" - } - ] - }, - { - "lookup": "0b0b", - "name": "delegate", - "docs": [ - "Delegate the voting power (with some given conviction) of the sending account.", - "", - "The balance delegated is locked for as long as it's delegated, and thereafter for the", - "time appropriate for the conviction's lock period.", - "", - "The dispatch origin of this call must be _Signed_, and the signing account must either:", - " - be delegating already; or", - " - have no voting activity (if there is, then it will need to be removed/consolidated", - " through `reap_vote` or `unvote`).", - "", - "- `to`: The account whose voting the `target` account's voting power will follow.", - "- `conviction`: The conviction that will be attached to the delegated votes. When the", - " account is undelegated, the funds will be locked for the corresponding period.", - "- `balance`: The amount of the account's balance to be used in delegating. This must", - " not be more than the account's current balance.", - "", - "Emits `Delegated`.", - "", - "Weight: `O(R)` where R is the number of referendums the voter delegating to has", - " voted on. Weight is charged as if maximum votes." - ], - "args": [ - { - "name": "to", - "type": "[U8; 32]" - }, - { - "name": "conviction", - "type": "Conviction" - }, - { - "name": "balance", - "type": "U128" - } - ] - }, - { - "lookup": "0b0c", - "name": "undelegate", - "docs": [ - "Undelegate the voting power of the sending account.", - "", - "Tokens may be unlocked following once an amount of time consistent with the lock period", - "of the conviction with which the delegation was issued.", - "", - "The dispatch origin of this call must be _Signed_ and the signing account must be", - "currently delegating.", - "", - "Emits `Undelegated`.", - "", - "Weight: `O(R)` where R is the number of referendums the voter delegating to has", - " voted on. Weight is charged as if maximum votes." - ], - "args": null - }, - { - "lookup": "0b0d", - "name": "clear_public_proposals", - "docs": [ - "Clears all public proposals.", - "", - "The dispatch origin of this call must be _Root_.", - "", - "Weight: `O(1)`." - ], - "args": null - }, - { - "lookup": "0b0e", - "name": "note_preimage", - "docs": [ - "Register the preimage for an upcoming proposal. This doesn't require the proposal to be", - "in the dispatch queue but does require a deposit, returned once enacted.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `encoded_proposal`: The preimage of a proposal.", - "", - "Emits `PreimageNoted`.", - "", - "Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)." - ], - "args": [ - { - "name": "encoded_proposal", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "0b0f", - "name": "note_preimage_operational", - "docs": [ - "Same as `note_preimage` but origin is `OperationalPreimageOrigin`." - ], - "args": [ - { - "name": "encoded_proposal", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "0b10", - "name": "note_imminent_preimage", - "docs": [ - "Register the preimage for an upcoming proposal. This requires the proposal to be", - "in the dispatch queue. No deposit is needed. When this call is successful, i.e.", - "the preimage has not been uploaded before and matches some imminent proposal,", - "no fee is paid.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `encoded_proposal`: The preimage of a proposal.", - "", - "Emits `PreimageNoted`.", - "", - "Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)." - ], - "args": [ - { - "name": "encoded_proposal", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "0b11", - "name": "note_imminent_preimage_operational", - "docs": [ - "Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`." - ], - "args": [ - { - "name": "encoded_proposal", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "0b12", - "name": "reap_preimage", - "docs": [ - "Remove an expired proposal preimage and collect the deposit.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `proposal_hash`: The preimage hash of a proposal.", - "- `proposal_length_upper_bound`: an upper bound on length of the proposal.", - " Extrinsic is weighted according to this value with no refund.", - "", - "This will only work after `VotingPeriod` blocks from the time that the preimage was", - "noted, if it's the same account doing it. If it's a different account, then it'll only", - "work an additional `EnactmentPeriod` later.", - "", - "Emits `PreimageReaped`.", - "", - "Weight: `O(D)` where D is length of proposal." - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "proposal_len_upper_bound", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0b13", - "name": "unlock", - "docs": [ - "Unlock tokens that have an expired lock.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `target`: The account to remove the lock on.", - "", - "Weight: `O(R)` with R number of vote of target." - ], - "args": [ - { - "name": "target", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0b14", - "name": "remove_vote", - "docs": [ - "Remove a vote for a referendum.", - "", - "If:", - "- the referendum was cancelled, or", - "- the referendum is ongoing, or", - "- the referendum has ended such that", - " - the vote of the account was in opposition to the result; or", - " - there was no conviction to the account's vote; or", - " - the account made a split vote", - "...then the vote is removed cleanly and a following call to `unlock` may result in more", - "funds being available.", - "", - "If, however, the referendum has ended and:", - "- it finished corresponding to the vote of the account, and", - "- the account made a standard vote with conviction, and", - "- the lock period of the conviction is not over", - "...then the lock will be aggregated into the overall account's lock, which may involve", - "*overlocking* (where the two locks are combined into a single lock that is the maximum", - "of both the amount locked and the time is it locked for).", - "", - "The dispatch origin of this call must be _Signed_, and the signer must have a vote", - "registered for referendum `index`.", - "", - "- `index`: The index of referendum of the vote to be removed.", - "", - "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", - " Weight is calculated for the maximum number of vote." - ], - "args": [ - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0b15", - "name": "remove_other_vote", - "docs": [ - "Remove a vote for a referendum.", - "", - "If the `target` is equal to the signer, then this function is exactly equivalent to", - "`remove_vote`. If not equal to the signer, then the vote must have expired,", - "either because the referendum was cancelled, because the voter lost the referendum or", - "because the conviction period is over.", - "", - "The dispatch origin of this call must be _Signed_.", - "", - "- `target`: The account of the vote to be removed; this account must have voted for", - " referendum `index`.", - "- `index`: The index of referendum of the vote to be removed.", - "", - "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", - " Weight is calculated for the maximum number of vote." - ], - "args": [ - { - "name": "target", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0b16", - "name": "enact_proposal", - "docs": [ - "Enact a proposal from a referendum. For now we just make the weight be the maximum." - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "0b17", - "name": "blacklist", - "docs": [ - "Permanently place a proposal into the blacklist. This prevents it from ever being", - "proposed again.", - "", - "If called on a queued public or external proposal, then this will result in it being", - "removed. If the `ref_index` supplied is an active referendum with the proposal hash,", - "then it will be cancelled.", - "", - "The dispatch origin of this call must be `BlacklistOrigin`.", - "", - "- `proposal_hash`: The proposal hash to blacklist permanently.", - "- `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be", - "cancelled.", - "", - "Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a", - " reasonable value)." - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "maybe_ref_index", - "type": "option\u003cU32\u003e" - } - ] - }, - { - "lookup": "0b18", - "name": "cancel_proposal", - "docs": [ - "Remove a proposal.", - "", - "The dispatch origin of this call must be `CancelProposalOrigin`.", - "", - "- `prop_index`: The index of the proposal to cancel.", - "", - "Weight: `O(p)` where `p = PublicProps::\u003cT\u003e::decode_len()`" - ], - "args": [ - { - "name": "prop_index", - "type": "compact\u003cU32\u003e" - } - ] - } - ], - "calls_value": { - "type": 210 - }, - "events": [ - { - "lookup": "0b00", - "name": "Proposed", - "docs": [ - "A motion has been proposed by a public account. \\[proposal_index, deposit\\]" - ], - "args": [ - "U32", - "U128" - ] - }, - { - "lookup": "0b01", - "name": "Tabled", - "docs": [ - "A public proposal has been tabled for referendum vote. \\[proposal_index, deposit, depositors\\]" - ], - "args": [ - "U32", - "U128", - "Vec\u003c[U8; 32]\u003e" - ] - }, - { - "lookup": "0b02", - "name": "ExternalTabled", - "docs": [ - "An external proposal has been tabled." - ], - "args": null - }, - { - "lookup": "0b03", - "name": "Started", - "docs": [ - "A referendum has begun. \\[ref_index, threshold\\]" - ], - "args": [ - "U32", - "VoteThreshold" - ] - }, - { - "lookup": "0b04", - "name": "Passed", - "docs": [ - "A proposal has been approved by referendum. \\[ref_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0b05", - "name": "NotPassed", - "docs": [ - "A proposal has been rejected by referendum. \\[ref_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0b06", - "name": "Cancelled", - "docs": [ - "A referendum has been cancelled. \\[ref_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "0b07", - "name": "Executed", - "docs": [ - "A proposal has been enacted. \\[ref_index, result\\]" - ], - "args": [ - "U32", - "Results\u003cNULL,DispatchError\u003e" - ] - }, - { - "lookup": "0b08", - "name": "Delegated", - "docs": [ - "An account has delegated their vote to another account. \\[who, target\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "0b09", - "name": "Undelegated", - "docs": [ - "An \\[account\\] has cancelled a previous delegation operation." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0b0a", - "name": "Vetoed", - "docs": [ - "An external proposal has been vetoed. \\[who, proposal_hash, until\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0b0b", - "name": "PreimageNoted", - "docs": [ - "A proposal's preimage was noted, and the deposit taken. \\[proposal_hash, who, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0b0c", - "name": "PreimageUsed", - "docs": [ - "A proposal preimage was removed and used (the deposit was returned).", - "\\[proposal_hash, provider, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0b0d", - "name": "PreimageInvalid", - "docs": [ - "A proposal could not be executed because its preimage was invalid.", - "\\[proposal_hash, ref_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0b0e", - "name": "PreimageMissing", - "docs": [ - "A proposal could not be executed because its preimage was missing.", - "\\[proposal_hash, ref_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0b0f", - "name": "PreimageReaped", - "docs": [ - "A registered preimage was removed and the deposit collected by the reaper.", - "\\[proposal_hash, provider, deposit, reaper\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128", - "[U8; 32]" - ] - }, - { - "lookup": "0b10", - "name": "Unlocked", - "docs": [ - "An \\[account\\] has been unlocked successfully." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0b11", - "name": "Blacklisted", - "docs": [ - "A proposal \\[hash\\] has been blacklisted permanently." - ], - "args": [ - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 38 - }, - "constants": [ - { - "name": "EnactmentPeriod", - "type": "", - "type_value": 4, - "constants_value": "002f0d00", - "docs": [ - " The minimum period of locking and the period between a proposal being approved and enacted.", - "", - " It should generally be a little more than the unstake period to ensure that", - " voting stakers have an opportunity to remove themselves from the system in the case where", - " they are on the losing side of a vote." - ] - }, - { - "name": "LaunchPeriod", - "type": "", - "type_value": 4, - "constants_value": "004e0c00", - "docs": [ - " How often (in blocks) new public referenda are launched." - ] - }, - { - "name": "VotingPeriod", - "type": "", - "type_value": 4, - "constants_value": "004e0c00", - "docs": [ - " How often (in blocks) to check for new votes." - ] - }, - { - "name": "MinimumDeposit", - "type": "", - "type_value": 6, - "constants_value": "0000c16ff28623000000000000000000", - "docs": [ - " The minimum amount to be used as a deposit for a public referendum proposal." - ] - }, - { - "name": "InstantAllowed", - "type": "", - "type_value": 34, - "constants_value": "01", - "docs": [ - " Indicator for whether an emergency origin is even allowed to happen. Some chains may want", - " to set this permanently to `false`, others may want to condition it on things such as", - " an upgrade having happened recently." - ] - }, - { - "name": "FastTrackVotingPeriod", - "type": "", - "type_value": 4, - "constants_value": "80510100", - "docs": [ - " Minimum voting period allowed for a fast-track referendum." - ] - }, - { - "name": "CooloffPeriod", - "type": "", - "type_value": 4, - "constants_value": "004e0c00", - "docs": [ - " Period in blocks where an external proposal may not be re-submitted after being vetoed." - ] - }, - { - "name": "PreimageByteDeposit", - "type": "", - "type_value": 6, - "constants_value": "0010a5d4e80000000000000000000000", - "docs": [ - " The amount of balance that must be deposited per byte of preimage stored." - ] - }, - { - "name": "MaxVotes", - "type": "", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " The maximum number of votes for an account.", - "", - " Also used to compute weight, an overly big value can", - " lead to extrinsic with very big weight: see `delegate` for instance." - ] - }, - { - "name": "MaxProposals", - "type": "", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " The maximum number of public proposals that can exist at any time." - ] - } - ], - "errors": [ - { - "name": "ValueLow", - "doc": [ - "Value too low" - ] - }, - { - "name": "ProposalMissing", - "doc": [ - "Proposal does not exist" - ] - }, - { - "name": "BadIndex", - "doc": [ - "Unknown index" - ] - }, - { - "name": "AlreadyCanceled", - "doc": [ - "Cannot cancel the same proposal twice" - ] - }, - { - "name": "DuplicateProposal", - "doc": [ - "Proposal already made" - ] - }, - { - "name": "ProposalBlacklisted", - "doc": [ - "Proposal still blacklisted" - ] - }, - { - "name": "NotSimpleMajority", - "doc": [ - "Next external proposal not simple majority" - ] - }, - { - "name": "InvalidHash", - "doc": [ - "Invalid hash" - ] - }, - { - "name": "NoProposal", - "doc": [ - "No external proposal" - ] - }, - { - "name": "AlreadyVetoed", - "doc": [ - "Identity may not veto a proposal twice" - ] - }, - { - "name": "NotDelegated", - "doc": [ - "Not delegated" - ] - }, - { - "name": "DuplicatePreimage", - "doc": [ - "Preimage already noted" - ] - }, - { - "name": "NotImminent", - "doc": [ - "Not imminent" - ] - }, - { - "name": "TooEarly", - "doc": [ - "Too early" - ] - }, - { - "name": "Imminent", - "doc": [ - "Imminent" - ] - }, - { - "name": "PreimageMissing", - "doc": [ - "Preimage not found" - ] - }, - { - "name": "ReferendumInvalid", - "doc": [ - "Vote given for invalid referendum" - ] - }, - { - "name": "PreimageInvalid", - "doc": [ - "Invalid preimage" - ] - }, - { - "name": "NoneWaiting", - "doc": [ - "No proposals waiting" - ] - }, - { - "name": "NotLocked", - "doc": [ - "The target account does not have a lock." - ] - }, - { - "name": "NotExpired", - "doc": [ - "The lock on the account to be unlocked has not yet expired." - ] - }, - { - "name": "NotVoter", - "doc": [ - "The given account did not vote on the referendum." - ] - }, - { - "name": "NoPermission", - "doc": [ - "The actor has no permission to conduct the action." - ] - }, - { - "name": "AlreadyDelegating", - "doc": [ - "The account is already delegating." - ] - }, - { - "name": "InsufficientFunds", - "doc": [ - "Too high a balance was provided that the account cannot afford." - ] - }, - { - "name": "NotDelegating", - "doc": [ - "The account is not currently delegating." - ] - }, - { - "name": "VotesExist", - "doc": [ - "The account currently has votes attached to it and the operation cannot succeed until", - "these are removed, either through `unvote` or `reap_vote`." - ] - }, - { - "name": "InstantNotAllowed", - "doc": [ - "The instant referendum origin is currently disallowed." - ] - }, - { - "name": "Nonsense", - "doc": [ - "Delegation to oneself makes no sense." - ] - }, - { - "name": "WrongUpperBound", - "doc": [ - "Invalid upper bound." - ] - }, - { - "name": "MaxVotesReached", - "doc": [ - "Maximum number of votes reached." - ] - }, - { - "name": "InvalidWitness", - "doc": [ - "The provided witness data is wrong." - ] - }, - { - "name": "TooManyProposals", - "doc": [ - "Maximum number of proposals reached." - ] - } - ], - "errors_value": { - "type": 380 - }, - "index": 11 - }, - { - "name": "Council", - "prefix": "Instance1Collective", - "storage": [ - { - "name": "Proposals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 381 - }, - "fallback": "0x00", - "docs": [ - " The hashes of the active proposals." - ] - }, - { - "name": "ProposalOf", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 123 - } - }, - "fallback": "0x00", - "docs": [ - " Actual proposal for a given hash, if it's current." - ] - }, - { - "name": "Voting", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 382 - } - }, - "fallback": "0x00", - "docs": [ - " Votes on a given proposal, if it is ongoing." - ] - }, - { - "name": "ProposalCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Proposals so far." - ] - }, - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 39 - }, - "fallback": "0x00", - "docs": [ - " The current members of the collective. This is stored sorted (just by value)." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The prime member that helps determine the default vote behavior in case of absentations." - ] - } - ], - "calls": [ - { - "lookup": "0c00", - "name": "set_members", - "docs": [ - "Set the collective's membership.", - "", - "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", - "- `prime`: The prime member whose vote sets the default.", - "- `old_count`: The upper bound for the previous number of members in storage.", - " Used for weight estimation.", - "", - "Requires root origin.", - "", - "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", - " the weight estimations rely on it to estimate dispatchable weight.", - "", - "# \u003cweight\u003e", - "## Weight", - "- `O(MP + N)` where:", - " - `M` old-members-count (code- and governance-bounded)", - " - `N` new-members-count (code- and governance-bounded)", - " - `P` proposals-count (code-bounded)", - "- DB:", - " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members", - " - 1 storage read (codec `O(P)`) for reading the proposals", - " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal", - " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "new_members", - "type": "Vec\u003c[U8; 32]\u003e" - }, - { - "name": "prime", - "type": "option\u003c[U8; 32]\u003e" - }, - { - "name": "old_count", - "type": "U32" - } - ] - }, - { - "lookup": "0c01", - "name": "execute", - "docs": [ - "Dispatch a proposal from a member using the `Member` origin.", - "", - "Origin must be a member of the collective.", - "", - "# \u003cweight\u003e", - "## Weight", - "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`", - "- DB: 1 read (codec `O(M)`) + DB access of `proposal`", - "- 1 event", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal", - "type": "Call" - }, - { - "name": "length_bound", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0c02", - "name": "propose", - "docs": [ - "Add a new proposal to either be voted on or executed directly.", - "", - "Requires the sender to be member.", - "", - "`threshold` determines whether `proposal` is executed directly (`threshold \u003c 2`)", - "or put up for voting.", - "", - "# \u003cweight\u003e", - "## Weight", - "- `O(B + M + P1)` or `O(B + M + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - branching is influenced by `threshold` where:", - " - `P1` is proposal execution complexity (`threshold \u003c 2`)", - " - `P2` is proposals-count (code-bounded) (`threshold \u003e= 2`)", - "- DB:", - " - 1 storage read `is_member` (codec `O(M)`)", - " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)", - " - DB accesses influenced by `threshold`:", - " - EITHER storage accesses done by `proposal` (`threshold \u003c 2`)", - " - OR proposal insertion (`threshold \u003c= 2`)", - " - 1 storage mutation `Proposals` (codec `O(P2)`)", - " - 1 storage mutation `ProposalCount` (codec `O(1)`)", - " - 1 storage write `ProposalOf` (codec `O(B)`)", - " - 1 storage write `Voting` (codec `O(M)`)", - " - 1 event", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "threshold", - "type": "compact\u003cU32\u003e" - }, - { - "name": "proposal", - "type": "Call" - }, - { - "name": "length_bound", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0c03", - "name": "vote", - "docs": [ - "Add an aye or nay vote for the sender to the given proposal.", - "", - "Requires the sender to be a member.", - "", - "Transaction fees will be waived if the member is voting on any particular proposal", - "for the first time and the call is successful. Subsequent vote changes will charge a fee.", - "# \u003cweight\u003e", - "## Weight", - "- `O(M)` where `M` is members-count (code- and governance-bounded)", - "- DB:", - " - 1 storage read `Members` (codec `O(M)`)", - " - 1 storage mutation `Voting` (codec `O(M)`)", - "- 1 event", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "approve", - "type": "Bool" - } - ] - }, - { - "lookup": "0c04", - "name": "close", - "docs": [ - "Close a vote that is either approved, disapproved or whose voting period has ended.", - "", - "May be called by any signed account in order to finish voting and close the proposal.", - "", - "If called before the end of the voting period it will only close the vote if it is", - "has enough votes to be approved or disapproved.", - "", - "If called after the end of the voting period abstentions are counted as rejections", - "unless there is a prime member set and the prime member cast an approval.", - "", - "If the close operation completes successfully with disapproval, the transaction fee will", - "be waived. Otherwise execution of the approved operation will be charged to the caller.", - "", - "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.", - "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", - " `storage::read` so it is `size_of::\u003cu32\u003e() == 4` larger than the pure length.", - "", - "# \u003cweight\u003e", - "## Weight", - "- `O(B + M + P1 + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - `P1` is the complexity of `proposal` preimage.", - " - `P2` is proposal-count (code-bounded)", - "- DB:", - " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)", - " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)", - " - any mutations done while executing `proposal` (`P1`)", - "- up to 3 events", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "proposal_weight_bound", - "type": "compact\u003cU64\u003e" - }, - { - "name": "length_bound", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0c05", - "name": "disapprove_proposal", - "docs": [ - "Disapprove a proposal, close, and remove it from the system, regardless of its current state.", - "", - "Must be called by the Root origin.", - "", - "Parameters:", - "* `proposal_hash`: The hash of the proposal that should be disapproved.", - "", - "# \u003cweight\u003e", - "Complexity: O(P) where P is the number of max proposals", - "DB Weight:", - "* Reads: Proposals", - "* Writes: Voting, Proposals, ProposalOf", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 214 - }, - "events": [ - { - "lookup": "0c00", - "name": "Proposed", - "docs": [ - "A motion (given hash) has been proposed (by given account) with a threshold (given", - "`MemberCount`).", - "\\[account, proposal_index, proposal_hash, threshold\\]" - ], - "args": [ - "[U8; 32]", - "U32", - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0c01", - "name": "Voted", - "docs": [ - "A motion (given hash) has been voted on by given account, leaving", - "a tally (yes votes and no votes given respectively as `MemberCount`).", - "\\[account, proposal_hash, voted, yes, no\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "Bool", - "U32", - "U32" - ] - }, - { - "lookup": "0c02", - "name": "Approved", - "docs": [ - "A motion was approved by the required threshold.", - "\\[proposal_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0c03", - "name": "Disapproved", - "docs": [ - "A motion was not approved by the required threshold.", - "\\[proposal_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0c04", - "name": "Executed", - "docs": [ - "A motion was executed; result will be `Ok` if it returned without error.", - "\\[proposal_hash, result\\]" - ], - "args": [ - "[U8; 32]", - "Results\u003cNULL,DispatchError\u003e" - ] - }, - { - "lookup": "0c05", - "name": "MemberExecuted", - "docs": [ - "A single member did some action; result will be `Ok` if it returned without error.", - "\\[proposal_hash, result\\]" - ], - "args": [ - "[U8; 32]", - "Results\u003cNULL,DispatchError\u003e" - ] - }, - { - "lookup": "0c06", - "name": "Closed", - "docs": [ - "A proposal was closed because its threshold was reached or after its duration was up.", - "\\[proposal_hash, yes, no\\]" - ], - "args": [ - "[U8; 32]", - "U32", - "U32" - ] - } - ], - "events_value": { - "type": 43 - }, - "errors": [ - { - "name": "NotMember", - "doc": [ - "Account is not a member" - ] - }, - { - "name": "DuplicateProposal", - "doc": [ - "Duplicate proposals not allowed" - ] - }, - { - "name": "ProposalMissing", - "doc": [ - "Proposal must exist" - ] - }, - { - "name": "WrongIndex", - "doc": [ - "Mismatched index" - ] - }, - { - "name": "DuplicateVote", - "doc": [ - "Duplicate vote ignored" - ] - }, - { - "name": "AlreadyInitialized", - "doc": [ - "Members are already initialized!" - ] - }, - { - "name": "TooEarly", - "doc": [ - "The close call was made too early, before the end of the voting." - ] - }, - { - "name": "TooManyProposals", - "doc": [ - "There can only be a maximum of `MaxProposals` active proposals." - ] - }, - { - "name": "WrongProposalWeight", - "doc": [ - "The given weight bound for the proposal was too low." - ] - }, - { - "name": "WrongProposalLength", - "doc": [ - "The given length bound for the proposal was too low." - ] - } - ], - "errors_value": { - "type": 383 - }, - "index": 12 - }, - { - "name": "TechnicalCommittee", - "prefix": "Instance2Collective", - "storage": [ - { - "name": "Proposals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 384 - }, - "fallback": "0x00", - "docs": [ - " The hashes of the active proposals." - ] - }, - { - "name": "ProposalOf", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 123 - } - }, - "fallback": "0x00", - "docs": [ - " Actual proposal for a given hash, if it's current." - ] - }, - { - "name": "Voting", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 382 - } - }, - "fallback": "0x00", - "docs": [ - " Votes on a given proposal, if it is ongoing." - ] - }, - { - "name": "ProposalCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Proposals so far." - ] - }, - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 39 - }, - "fallback": "0x00", - "docs": [ - " The current members of the collective. This is stored sorted (just by value)." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The prime member that helps determine the default vote behavior in case of absentations." - ] - } - ], - "calls": [ - { - "lookup": "0d00", - "name": "set_members", - "docs": [ - "Set the collective's membership.", - "", - "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", - "- `prime`: The prime member whose vote sets the default.", - "- `old_count`: The upper bound for the previous number of members in storage.", - " Used for weight estimation.", - "", - "Requires root origin.", - "", - "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", - " the weight estimations rely on it to estimate dispatchable weight.", - "", - "# \u003cweight\u003e", - "## Weight", - "- `O(MP + N)` where:", - " - `M` old-members-count (code- and governance-bounded)", - " - `N` new-members-count (code- and governance-bounded)", - " - `P` proposals-count (code-bounded)", - "- DB:", - " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members", - " - 1 storage read (codec `O(P)`) for reading the proposals", - " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal", - " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "new_members", - "type": "Vec\u003c[U8; 32]\u003e" - }, - { - "name": "prime", - "type": "option\u003c[U8; 32]\u003e" - }, - { - "name": "old_count", - "type": "U32" - } - ] - }, - { - "lookup": "0d01", - "name": "execute", - "docs": [ - "Dispatch a proposal from a member using the `Member` origin.", - "", - "Origin must be a member of the collective.", - "", - "# \u003cweight\u003e", - "## Weight", - "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`", - "- DB: 1 read (codec `O(M)`) + DB access of `proposal`", - "- 1 event", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal", - "type": "Call" - }, - { - "name": "length_bound", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0d02", - "name": "propose", - "docs": [ - "Add a new proposal to either be voted on or executed directly.", - "", - "Requires the sender to be member.", - "", - "`threshold` determines whether `proposal` is executed directly (`threshold \u003c 2`)", - "or put up for voting.", - "", - "# \u003cweight\u003e", - "## Weight", - "- `O(B + M + P1)` or `O(B + M + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - branching is influenced by `threshold` where:", - " - `P1` is proposal execution complexity (`threshold \u003c 2`)", - " - `P2` is proposals-count (code-bounded) (`threshold \u003e= 2`)", - "- DB:", - " - 1 storage read `is_member` (codec `O(M)`)", - " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)", - " - DB accesses influenced by `threshold`:", - " - EITHER storage accesses done by `proposal` (`threshold \u003c 2`)", - " - OR proposal insertion (`threshold \u003c= 2`)", - " - 1 storage mutation `Proposals` (codec `O(P2)`)", - " - 1 storage mutation `ProposalCount` (codec `O(1)`)", - " - 1 storage write `ProposalOf` (codec `O(B)`)", - " - 1 storage write `Voting` (codec `O(M)`)", - " - 1 event", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "threshold", - "type": "compact\u003cU32\u003e" - }, - { - "name": "proposal", - "type": "Call" - }, - { - "name": "length_bound", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0d03", - "name": "vote", - "docs": [ - "Add an aye or nay vote for the sender to the given proposal.", - "", - "Requires the sender to be a member.", - "", - "Transaction fees will be waived if the member is voting on any particular proposal", - "for the first time and the call is successful. Subsequent vote changes will charge a fee.", - "# \u003cweight\u003e", - "## Weight", - "- `O(M)` where `M` is members-count (code- and governance-bounded)", - "- DB:", - " - 1 storage read `Members` (codec `O(M)`)", - " - 1 storage mutation `Voting` (codec `O(M)`)", - "- 1 event", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "approve", - "type": "Bool" - } - ] - }, - { - "lookup": "0d04", - "name": "close", - "docs": [ - "Close a vote that is either approved, disapproved or whose voting period has ended.", - "", - "May be called by any signed account in order to finish voting and close the proposal.", - "", - "If called before the end of the voting period it will only close the vote if it is", - "has enough votes to be approved or disapproved.", - "", - "If called after the end of the voting period abstentions are counted as rejections", - "unless there is a prime member set and the prime member cast an approval.", - "", - "If the close operation completes successfully with disapproval, the transaction fee will", - "be waived. Otherwise execution of the approved operation will be charged to the caller.", - "", - "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.", - "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", - " `storage::read` so it is `size_of::\u003cu32\u003e() == 4` larger than the pure length.", - "", - "# \u003cweight\u003e", - "## Weight", - "- `O(B + M + P1 + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - `P1` is the complexity of `proposal` preimage.", - " - `P2` is proposal-count (code-bounded)", - "- DB:", - " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)", - " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)", - " - any mutations done while executing `proposal` (`P1`)", - "- up to 3 events", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - }, - { - "name": "index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "proposal_weight_bound", - "type": "compact\u003cU64\u003e" - }, - { - "name": "length_bound", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0d05", - "name": "disapprove_proposal", - "docs": [ - "Disapprove a proposal, close, and remove it from the system, regardless of its current state.", - "", - "Must be called by the Root origin.", - "", - "Parameters:", - "* `proposal_hash`: The hash of the proposal that should be disapproved.", - "", - "# \u003cweight\u003e", - "Complexity: O(P) where P is the number of max proposals", - "DB Weight:", - "* Reads: Proposals", - "* Writes: Voting, Proposals, ProposalOf", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal_hash", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 216 - }, - "events": [ - { - "lookup": "0d00", - "name": "Proposed", - "docs": [ - "A motion (given hash) has been proposed (by given account) with a threshold (given", - "`MemberCount`).", - "\\[account, proposal_index, proposal_hash, threshold\\]" - ], - "args": [ - "[U8; 32]", - "U32", - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "0d01", - "name": "Voted", - "docs": [ - "A motion (given hash) has been voted on by given account, leaving", - "a tally (yes votes and no votes given respectively as `MemberCount`).", - "\\[account, proposal_hash, voted, yes, no\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "Bool", - "U32", - "U32" - ] - }, - { - "lookup": "0d02", - "name": "Approved", - "docs": [ - "A motion was approved by the required threshold.", - "\\[proposal_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0d03", - "name": "Disapproved", - "docs": [ - "A motion was not approved by the required threshold.", - "\\[proposal_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0d04", - "name": "Executed", - "docs": [ - "A motion was executed; result will be `Ok` if it returned without error.", - "\\[proposal_hash, result\\]" - ], - "args": [ - "[U8; 32]", - "Results\u003cNULL,DispatchError\u003e" - ] - }, - { - "lookup": "0d05", - "name": "MemberExecuted", - "docs": [ - "A single member did some action; result will be `Ok` if it returned without error.", - "\\[proposal_hash, result\\]" - ], - "args": [ - "[U8; 32]", - "Results\u003cNULL,DispatchError\u003e" - ] - }, - { - "lookup": "0d06", - "name": "Closed", - "docs": [ - "A proposal was closed because its threshold was reached or after its duration was up.", - "\\[proposal_hash, yes, no\\]" - ], - "args": [ - "[U8; 32]", - "U32", - "U32" - ] - } - ], - "events_value": { - "type": 45 - }, - "errors": [ - { - "name": "NotMember", - "doc": [ - "Account is not a member" - ] - }, - { - "name": "DuplicateProposal", - "doc": [ - "Duplicate proposals not allowed" - ] - }, - { - "name": "ProposalMissing", - "doc": [ - "Proposal must exist" - ] - }, - { - "name": "WrongIndex", - "doc": [ - "Mismatched index" - ] - }, - { - "name": "DuplicateVote", - "doc": [ - "Duplicate vote ignored" - ] - }, - { - "name": "AlreadyInitialized", - "doc": [ - "Members are already initialized!" - ] - }, - { - "name": "TooEarly", - "doc": [ - "The close call was made too early, before the end of the voting." - ] - }, - { - "name": "TooManyProposals", - "doc": [ - "There can only be a maximum of `MaxProposals` active proposals." - ] - }, - { - "name": "WrongProposalWeight", - "doc": [ - "The given weight bound for the proposal was too low." - ] - }, - { - "name": "WrongProposalLength", - "doc": [ - "The given length bound for the proposal was too low." - ] - } - ], - "errors_value": { - "type": 385 - }, - "index": 13 - }, - { - "name": "Elections", - "prefix": "Elections", - "storage": [ - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 386 - }, - "fallback": "0x00", - "docs": [ - " The current elected members.", - "", - " Invariant: Always sorted based on account id." - ] - }, - { - "name": "RunnersUp", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 386 - }, - "fallback": "0x00", - "docs": [ - " The current reserved runners-up.", - "", - " Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the", - " last (i.e. _best_) runner-up will be replaced." - ] - }, - { - "name": "Candidates", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 48 - }, - "fallback": "0x00", - "docs": [ - " The present candidate list. A current member or runner-up can never enter this vector", - " and is always implicitly assumed to be a candidate.", - "", - " Second element is the deposit.", - "", - " Invariant: Always sorted based on account id." - ] - }, - { - "name": "ElectionRounds", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The total number of vote rounds that have happened, excluding the upcoming one." - ] - }, - { - "name": "Voting", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 388 - } - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Votes and locked stake of a particular voter.", - "", - " TWOX-NOTE: SAFE as `AccountId` is a crypto hash." - ] - } - ], - "calls": [ - { - "lookup": "0e00", - "name": "vote", - "docs": [ - "Vote for a set of candidates for the upcoming round of election. This can be called to", - "set the initial votes, or update already existing votes.", - "", - "Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is", - "reserved. The deposit is based on the number of votes and can be updated over time.", - "", - "The `votes` should:", - " - not be empty.", - " - be less than the number of possible candidates. Note that all current members and", - " runners-up are also automatically candidates for the next round.", - "", - "If `value` is more than `who`'s total balance, then the maximum of the two is used.", - "", - "The dispatch origin of this call must be signed.", - "", - "### Warning", - "", - "It is the responsibility of the caller to **NOT** place all of their balance into the", - "lock and keep some for further operations.", - "", - "# \u003cweight\u003e", - "We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "votes", - "type": "Vec\u003c[U8; 32]\u003e" - }, - { - "name": "value", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "0e01", - "name": "remove_voter", - "docs": [ - "Remove `origin` as a voter.", - "", - "This removes the lock and returns the deposit.", - "", - "The dispatch origin of this call must be signed and be a voter." - ], - "args": null - }, - { - "lookup": "0e02", - "name": "submit_candidacy", - "docs": [ - "Submit oneself for candidacy. A fixed amount of deposit is recorded.", - "", - "All candidates are wiped at the end of the term. They either become a member/runner-up,", - "or leave the system while their deposit is slashed.", - "", - "The dispatch origin of this call must be signed.", - "", - "### Warning", - "", - "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]", - "to get their deposit back. Losing the spot in an election will always lead to a slash.", - "", - "# \u003cweight\u003e", - "The number of current candidates must be provided as witness data.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "candidate_count", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "0e03", - "name": "renounce_candidacy", - "docs": [ - "Renounce one's intention to be a candidate for the next election round. 3 potential", - "outcomes exist:", - "", - "- `origin` is a candidate and not elected in any set. In this case, the deposit is", - " unreserved, returned and origin is removed as a candidate.", - "- `origin` is a current runner-up. In this case, the deposit is unreserved, returned and", - " origin is removed as a runner-up.", - "- `origin` is a current member. In this case, the deposit is unreserved and origin is", - " removed as a member, consequently not being a candidate for the next round anymore.", - " Similar to [`remove_member`](Self::remove_member), if replacement runners exists,", - " they are immediately used. If the prime is renouncing, then no prime will exist until", - " the next round.", - "", - "The dispatch origin of this call must be signed, and have one of the above roles.", - "", - "# \u003cweight\u003e", - "The type of renouncing must be provided as witness data.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "renouncing", - "type": "Renouncing" - } - ] - }, - { - "lookup": "0e04", - "name": "remove_member", - "docs": [ - "Remove a particular member from the set. This is effective immediately and the bond of", - "the outgoing member is slashed.", - "", - "If a runner-up is available, then the best runner-up will be removed and replaces the", - "outgoing member. Otherwise, a new phragmen election is started.", - "", - "The dispatch origin of this call must be root.", - "", - "Note that this does not affect the designated block number of the next election.", - "", - "# \u003cweight\u003e", - "If we have a replacement, we use a small weight. Else, since this is a root call and", - "will go into phragmen, we assume full block for now.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "who", - "type": "MultiAddress" - }, - { - "name": "has_replacement", - "type": "Bool" - } - ] - }, - { - "lookup": "0e05", - "name": "clean_defunct_voters", - "docs": [ - "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The", - "deposit of the removed voters are returned.", - "", - "This is an root function to be used only for cleaning the state.", - "", - "The dispatch origin of this call must be root.", - "", - "# \u003cweight\u003e", - "The total number of voters and those that are defunct must be provided as witness data.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "_num_voters", - "type": "U32" - }, - { - "name": "_num_defunct", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 217 - }, - "events": [ - { - "lookup": "0e00", - "name": "NewTerm", - "docs": [ - "A new term with \\[new_members\\]. This indicates that enough candidates existed to run", - "the election, not that enough have has been elected. The inner value must be examined", - "for this purpose. A `NewTerm(\\[\\])` indicates that some candidates got their bond", - "slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to", - "begin with." - ], - "args": [ - "Vec\u003c([U8; 32],U128)\u003e" - ] - }, - { - "lookup": "0e01", - "name": "EmptyTerm", - "docs": [ - "No (or not enough) candidates existed for this round. This is different from", - "`NewTerm(\\[\\])`. See the description of `NewTerm`." - ], - "args": null - }, - { - "lookup": "0e02", - "name": "ElectionError", - "docs": [ - "Internal error happened while trying to perform election." - ], - "args": null - }, - { - "lookup": "0e03", - "name": "MemberKicked", - "docs": [ - "A \\[member\\] has been removed. This should always be followed by either `NewTerm` or", - "`EmptyTerm`." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0e04", - "name": "Renounced", - "docs": [ - "Someone has renounced their candidacy." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "0e05", - "name": "CandidateSlashed", - "docs": [ - "A \\[candidate\\] was slashed by \\[amount\\] due to failing to obtain a seat as member or", - "runner-up.", - "", - "Note that old members and runners-up are also candidates." - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "0e06", - "name": "SeatHolderSlashed", - "docs": [ - "A \\[seat holder\\] was slashed by \\[amount\\] by being forcefully removed from the set." - ], - "args": [ - "[U8; 32]", - "U128" - ] - } - ], - "events_value": { - "type": 47 - }, - "constants": [ - { - "name": "PalletId", - "type": "", - "type_value": 119, - "constants_value": "phrelect", - "docs": [ - " Identifier for the elections-phragmen pallet's lock" - ] - }, - { - "name": "CandidacyBond", - "type": "", - "type_value": 6, - "constants_value": "0080c6a47e8d03000000000000000000", - "docs": [ - " How much should be locked up in order to submit one's candidacy." - ] - }, - { - "name": "VotingBondBase", - "type": "", - "type_value": 6, - "constants_value": "00f0436de36a01000000000000000000", - "docs": [ - " Base deposit associated with voting.", - "", - " This should be sensibly high to economically ensure the pallet cannot be attacked by", - " creating a gigantic number of votes." - ] - }, - { - "name": "VotingBondFactor", - "type": "", - "type_value": 6, - "constants_value": "0000cc7b9fae00000000000000000000", - "docs": [ - " The amount of bond that need to be locked for each vote (32 bytes)." - ] - }, - { - "name": "DesiredMembers", - "type": "", - "type_value": 4, - "constants_value": "0d000000", - "docs": [ - " Number of members to elect." - ] - }, - { - "name": "DesiredRunnersUp", - "type": "", - "type_value": 4, - "constants_value": "07000000", - "docs": [ - " Number of runners_up to keep." - ] - }, - { - "name": "TermDuration", - "type": "", - "type_value": 4, - "constants_value": "80130300", - "docs": [ - " How long each seat is kept. This defines the next block number at which an election", - " round will happen. If set to zero, no elections are ever triggered and the module will", - " be in passive mode." - ] - } - ], - "errors": [ - { - "name": "UnableToVote", - "doc": [ - "Cannot vote when no candidates or members exist." - ] - }, - { - "name": "NoVotes", - "doc": [ - "Must vote for at least one candidate." - ] - }, - { - "name": "TooManyVotes", - "doc": [ - "Cannot vote more than candidates." - ] - }, - { - "name": "MaximumVotesExceeded", - "doc": [ - "Cannot vote more than maximum allowed." - ] - }, - { - "name": "LowBalance", - "doc": [ - "Cannot vote with stake less than minimum balance." - ] - }, - { - "name": "UnableToPayBond", - "doc": [ - "Voter can not pay voting bond." - ] - }, - { - "name": "MustBeVoter", - "doc": [ - "Must be a voter." - ] - }, - { - "name": "ReportSelf", - "doc": [ - "Cannot report self." - ] - }, - { - "name": "DuplicatedCandidate", - "doc": [ - "Duplicated candidate submission." - ] - }, - { - "name": "MemberSubmit", - "doc": [ - "Member cannot re-submit candidacy." - ] - }, - { - "name": "RunnerUpSubmit", - "doc": [ - "Runner cannot re-submit candidacy." - ] - }, - { - "name": "InsufficientCandidateFunds", - "doc": [ - "Candidate does not have enough funds." - ] - }, - { - "name": "NotMember", - "doc": [ - "Not a member." - ] - }, - { - "name": "InvalidWitnessData", - "doc": [ - "The provided count of number of candidates is incorrect." - ] - }, - { - "name": "InvalidVoteCount", - "doc": [ - "The provided count of number of votes is incorrect." - ] - }, - { - "name": "InvalidRenouncing", - "doc": [ - "The renouncing origin presented a wrong `Renouncing` parameter." - ] - }, - { - "name": "InvalidReplacement", - "doc": [ - "Prediction regarding replacement after member removal is wrong." - ] - } - ], - "errors_value": { - "type": 389 - }, - "index": 14 - }, - { - "name": "TechnicalMembership", - "prefix": "Instance1Membership", - "storage": [ - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 39 - }, - "fallback": "0x00", - "docs": [ - " The current membership, stored as an ordered Vec." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The current prime member, if one exists." - ] - } - ], - "calls": [ - { - "lookup": "0f00", - "name": "add_member", - "docs": [ - "Add a member `who` to the set.", - "", - "May only be called from `T::AddOrigin`." - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0f01", - "name": "remove_member", - "docs": [ - "Remove a member `who` from the set.", - "", - "May only be called from `T::RemoveOrigin`." - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0f02", - "name": "swap_member", - "docs": [ - "Swap out one member `remove` for another `add`.", - "", - "May only be called from `T::SwapOrigin`.", - "", - "Prime membership is *not* passed from `remove` to `add`, if extant." - ], - "args": [ - { - "name": "remove", - "type": "[U8; 32]" - }, - { - "name": "add", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0f03", - "name": "reset_members", - "docs": [ - "Change the membership to a new set, disregarding the existing membership. Be nice and", - "pass `members` pre-sorted.", - "", - "May only be called from `T::ResetOrigin`." - ], - "args": [ - { - "name": "members", - "type": "Vec\u003c[U8; 32]\u003e" - } - ] - }, - { - "lookup": "0f04", - "name": "change_key", - "docs": [ - "Swap out the sending member for some other key `new`.", - "", - "May only be called from `Signed` origin of a current member.", - "", - "Prime membership is passed from the origin account to `new`, if extant." - ], - "args": [ - { - "name": "new", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0f05", - "name": "set_prime", - "docs": [ - "Set the prime member. Must be a current member.", - "", - "May only be called from `T::PrimeOrigin`." - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "0f06", - "name": "clear_prime", - "docs": [ - "Remove the prime member if it exists.", - "", - "May only be called from `T::PrimeOrigin`." - ], - "args": null - } - ], - "calls_value": { - "type": 219 - }, - "events": [ - { - "lookup": "0f00", - "name": "MemberAdded", - "docs": [ - "The given member was added; see the transaction for who." - ], - "args": null - }, - { - "lookup": "0f01", - "name": "MemberRemoved", - "docs": [ - "The given member was removed; see the transaction for who." - ], - "args": null - }, - { - "lookup": "0f02", - "name": "MembersSwapped", - "docs": [ - "Two members were swapped; see the transaction for who." - ], - "args": null - }, - { - "lookup": "0f03", - "name": "MembersReset", - "docs": [ - "The membership was reset; see the transaction for who the new set is." - ], - "args": null - }, - { - "lookup": "0f04", - "name": "KeyChanged", - "docs": [ - "One of the members' keys changed." - ], - "args": null - }, - { - "lookup": "0f05", - "name": "Dummy", - "docs": [ - "Phantom member, never used." - ], - "args": null - } - ], - "events_value": { - "type": 50 - }, - "errors": [ - { - "name": "AlreadyMember", - "doc": [ - "Already a member." - ] - }, - { - "name": "NotMember", - "doc": [ - "Not a member." - ] - } - ], - "errors_value": { - "type": 390 - }, - "index": 15 - }, - { - "name": "Grandpa", - "prefix": "Grandpa", - "storage": [ - { - "name": "State", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 391 - }, - "fallback": "0x00", - "docs": [ - " State of the current authority set." - ] - }, - { - "name": "PendingChange", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 392 - }, - "fallback": "0x00", - "docs": [ - " Pending change: (signaled at, scheduled change)." - ] - }, - { - "name": "NextForced", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00", - "docs": [ - " next block number where we can force a change." - ] - }, - { - "name": "Stalled", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 77 - }, - "fallback": "0x00", - "docs": [ - " `true` if we are currently stalled." - ] - }, - { - "name": "CurrentSetId", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " The number of changes (both in terms of keys and underlying economic responsibilities)", - " in the \"set\" of Grandpa validators from genesis." - ] - }, - { - "name": "SetIdSession", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 8, - "hasher": "Twox64Concat", - "value": 4 - } - }, - "fallback": "0x00", - "docs": [ - " A mapping from grandpa set ID to the index of the *most recent* session for which its", - " members were responsible.", - "", - " TWOX-NOTE: `SetId` is not under user control." - ] - } - ], - "calls": [ - { - "lookup": "1000", - "name": "report_equivocation", - "docs": [ - "Report voter equivocation/misbehavior. This method will verify the", - "equivocation proof and validate the given key ownership proof", - "against the extracted offender. If both are valid, the offence", - "will be reported." - ], - "args": [ - { - "name": "equivocation_proof", - "type": "EquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "MembershipProof" - } - ] - }, - { - "lookup": "1001", - "name": "report_equivocation_unsigned", - "docs": [ - "Report voter equivocation/misbehavior. This method will verify the", - "equivocation proof and validate the given key ownership proof", - "against the extracted offender. If both are valid, the offence", - "will be reported.", - "", - "This extrinsic must be called unsigned and it is expected that only", - "block authors will call it (validated in `ValidateUnsigned`), as such", - "if the block author is defined it will be defined as the equivocation", - "reporter." - ], - "args": [ - { - "name": "equivocation_proof", - "type": "EquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "MembershipProof" - } - ] - }, - { - "lookup": "1002", - "name": "note_stalled", - "docs": [ - "Note that the current authority set of the GRANDPA finality gadget has", - "stalled. This will trigger a forced authority set change at the beginning", - "of the next session, to be enacted `delay` blocks after that. The delay", - "should be high enough to safely assume that the block signalling the", - "forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters", - "will start the new authority set using the given finalized block as base.", - "Only callable by root." - ], - "args": [ - { - "name": "delay", - "type": "U32" - }, - { - "name": "best_finalized_block_number", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 220 - }, - "events": [ - { - "lookup": "1000", - "name": "NewAuthorities", - "docs": [ - "New authority set has been applied. \\[authority_set\\]" - ], - "args": [ - "Vec\u003c([U8; 32],U64)\u003e" - ] - }, - { - "lookup": "1001", - "name": "Paused", - "docs": [ - "Current authority set has been paused." - ], - "args": null - }, - { - "lookup": "1002", - "name": "Resumed", - "docs": [ - "Current authority set has been resumed." - ], - "args": null - } - ], - "events_value": { - "type": 52 - }, - "errors": [ - { - "name": "PauseFailed", - "doc": [ - "Attempt to signal GRANDPA pause when the authority set isn't live", - "(either paused or already pending pause)." - ] - }, - { - "name": "ResumeFailed", - "doc": [ - "Attempt to signal GRANDPA resume when the authority set isn't paused", - "(either live or already pending resume)." - ] - }, - { - "name": "ChangePending", - "doc": [ - "Attempt to signal GRANDPA change with one already pending." - ] - }, - { - "name": "TooSoon", - "doc": [ - "Cannot signal forced change so soon after last." - ] - }, - { - "name": "InvalidKeyOwnershipProof", - "doc": [ - "A key ownership proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "InvalidEquivocationProof", - "doc": [ - "An equivocation proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "DuplicateOffenceReport", - "doc": [ - "A given equivocation report is valid but already previously reported." - ] - } - ], - "errors_value": { - "type": 393 - }, - "index": 16 - }, - { - "name": "Treasury", - "prefix": "Treasury", - "storage": [ - { - "name": "ProposalCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Number of proposals that have been made." - ] - }, - { - "name": "Proposals", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 394 - } - }, - "fallback": "0x00", - "docs": [ - " Proposals that have been made." - ] - }, - { - "name": "Approvals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 395 - }, - "fallback": "0x00", - "docs": [ - " Proposal indices that have been approved but not yet awarded." - ] - } - ], - "calls": [ - { - "lookup": "1100", - "name": "propose_spend", - "docs": [ - "Put forward a suggestion for spending. A deposit proportional to the value", - "is reserved and slashed if the proposal is rejected. It is returned once the", - "proposal is awarded.", - "", - "# \u003cweight\u003e", - "- Complexity: O(1)", - "- DbReads: `ProposalCount`, `origin account`", - "- DbWrites: `ProposalCount`, `Proposals`, `origin account`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "value", - "type": "compact\u003cU128\u003e" - }, - { - "name": "beneficiary", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "1101", - "name": "reject_proposal", - "docs": [ - "Reject a proposed spend. The original deposit will be slashed.", - "", - "May only be called from `T::RejectOrigin`.", - "", - "# \u003cweight\u003e", - "- Complexity: O(1)", - "- DbReads: `Proposals`, `rejected proposer account`", - "- DbWrites: `Proposals`, `rejected proposer account`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal_id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "1102", - "name": "approve_proposal", - "docs": [ - "Approve a proposal. At a later time, the proposal will be allocated to the beneficiary", - "and the original deposit will be returned.", - "", - "May only be called from `T::ApproveOrigin`.", - "", - "# \u003cweight\u003e", - "- Complexity: O(1).", - "- DbReads: `Proposals`, `Approvals`", - "- DbWrite: `Approvals`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proposal_id", - "type": "compact\u003cU32\u003e" - } - ] - } - ], - "calls_value": { - "type": 232 - }, - "events": [ - { - "lookup": "1100", - "name": "Proposed", - "docs": [ - "New proposal. \\[proposal_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "1101", - "name": "Spending", - "docs": [ - "We have ended a spend period and will now allocate funds. \\[budget_remaining\\]" - ], - "args": [ - "U128" - ] - }, - { - "lookup": "1102", - "name": "Awarded", - "docs": [ - "Some funds have been allocated. \\[proposal_index, award, beneficiary\\]" - ], - "args": [ - "U32", - "U128", - "[U8; 32]" - ] - }, - { - "lookup": "1103", - "name": "Rejected", - "docs": [ - "A proposal was rejected; funds were slashed. \\[proposal_index, slashed\\]" - ], - "args": [ - "U32", - "U128" - ] - }, - { - "lookup": "1104", - "name": "Burnt", - "docs": [ - "Some of our funds have been burnt. \\[burn\\]" - ], - "args": [ - "U128" - ] - }, - { - "lookup": "1105", - "name": "Rollover", - "docs": [ - "Spending has finished; this is the amount that rolls over until next spend.", - "\\[budget_remaining\\]" - ], - "args": [ - "U128" - ] - }, - { - "lookup": "1106", - "name": "Deposit", - "docs": [ - "Some funds have been deposited. \\[deposit\\]" - ], - "args": [ - "U128" - ] - } - ], - "events_value": { - "type": 57 - }, - "constants": [ - { - "name": "ProposalBond", - "type": "", - "type_value": 396, - "constants_value": "50c30000", - "docs": [ - " Fraction of a proposal's value that should be bonded in order to place the proposal.", - " An accepted proposal gets these back. A rejected proposal does not." - ] - }, - { - "name": "ProposalBondMinimum", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " Minimum amount of funds that should be placed in a deposit for making a proposal." - ] - }, - { - "name": "SpendPeriod", - "type": "", - "type_value": 4, - "constants_value": "80700000", - "docs": [ - " Period between successive spends." - ] - }, - { - "name": "Burn", - "type": "", - "type_value": 396, - "constants_value": "20a10700", - "docs": [ - " Percentage of spare funds (if any) that are burnt per spend period." - ] - }, - { - "name": "PalletId", - "type": "", - "type_value": 397, - "constants_value": "py/trsry", - "docs": [ - " The treasury's pallet id, used for deriving its sovereign account ID." - ] - }, - { - "name": "MaxApprovals", - "type": "", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " The maximum number of approvals that can wait in the spending queue." - ] - } - ], - "errors": [ - { - "name": "InsufficientProposersBalance", - "doc": [ - "Proposer's balance is too low." - ] - }, - { - "name": "InvalidIndex", - "doc": [ - "No proposal or bounty at that index." - ] - }, - { - "name": "TooManyApprovals", - "doc": [ - "Too many approvals in the queue." - ] - } - ], - "errors_value": { - "type": 398 - }, - "index": 17 - }, - { - "name": "Contracts", - "prefix": "Contracts", - "storage": [ - { - "name": "PristineCode", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 10 - } - }, - "fallback": "0x00", - "docs": [ - " A mapping from an original code hash to the original code, untouched by instrumentation." - ] - }, - { - "name": "CodeStorage", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 399 - } - }, - "fallback": "0x00", - "docs": [ - " A mapping between an original code hash and instrumented wasm code, ready for execution." - ] - }, - { - "name": "AccountCounter", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " The subtrie counter." - ] - }, - { - "name": "ContractInfoOf", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 401 - } - }, - "fallback": "0x00", - "docs": [ - " The code associated with a given account.", - "", - " TWOX-NOTE: SAFE since `AccountId` is a secure hash." - ] - }, - { - "name": "DeletionQueue", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 405 - }, - "fallback": "0x00", - "docs": [ - " Evicted contracts that await child trie deletion.", - "", - " Child trie deletion is a heavy operation depending on the amount of storage items", - " stored in said trie. Therefore this operation is performed lazily in `on_initialize`." - ] - } - ], - "calls": [ - { - "lookup": "1200", - "name": "call", - "docs": [ - "Makes a call to an account, optionally transferring some balance.", - "", - "* If the account is a smart-contract account, the associated code will be", - "executed and any value will be transferred.", - "* If the account is a regular account, any value will be transferred.", - "* If no account exists and the call value is not less than `existential_deposit`,", - "a regular account will be created and any value will be transferred." - ], - "args": [ - { - "name": "dest", - "type": "MultiAddress" - }, - { - "name": "value", - "type": "compact\u003cU128\u003e" - }, - { - "name": "gas_limit", - "type": "compact\u003cU64\u003e" - }, - { - "name": "data", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "1201", - "name": "instantiate_with_code", - "docs": [ - "Instantiates a new contract from the supplied `code` optionally transferring", - "some balance.", - "", - "This is the only function that can deploy new code to the chain.", - "", - "# Parameters", - "", - "* `endowment`: The balance to transfer from the `origin` to the newly created contract.", - "* `gas_limit`: The gas limit enforced when executing the constructor.", - "* `code`: The contract code to deploy in raw bytes.", - "* `data`: The input data to pass to the contract constructor.", - "* `salt`: Used for the address derivation. See [`Pallet::contract_address`].", - "", - "Instantiation is executed as follows:", - "", - "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that code.", - "- If the `code_hash` already exists on the chain the underlying `code` will be shared.", - "- The destination address is computed based on the sender, code_hash and the salt.", - "- The smart-contract account is created at the computed address.", - "- The `endowment` is transferred to the new account.", - "- The `deploy` function is executed in the context of the newly-created account." - ], - "args": [ - { - "name": "endowment", - "type": "compact\u003cU128\u003e" - }, - { - "name": "gas_limit", - "type": "compact\u003cU64\u003e" - }, - { - "name": "code", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "data", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "salt", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "1202", - "name": "instantiate", - "docs": [ - "Instantiates a contract from a previously deployed wasm binary.", - "", - "This function is identical to [`Self::instantiate_with_code`] but without the", - "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary", - "must be supplied." - ], - "args": [ - { - "name": "endowment", - "type": "compact\u003cU128\u003e" - }, - { - "name": "gas_limit", - "type": "compact\u003cU64\u003e" - }, - { - "name": "code_hash", - "type": "[U8; 32]" - }, - { - "name": "data", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "salt", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "1203", - "name": "claim_surcharge", - "docs": [ - "Allows block producers to claim a small reward for evicting a contract. If a block", - "producer fails to do so, a regular users will be allowed to claim the reward.", - "", - "In case of a successful eviction no fees are charged from the sender. However, the", - "reward is capped by the total amount of rent that was paid by the contract while", - "it was alive.", - "", - "If contract is not evicted as a result of this call, [`Error::ContractNotEvictable`]", - "is returned and the sender is not eligible for the reward." - ], - "args": [ - { - "name": "dest", - "type": "[U8; 32]" - }, - { - "name": "aux_sender", - "type": "option\u003c[U8; 32]\u003e" - } - ] - } - ], - "calls_value": { - "type": 233 - }, - "events": [ - { - "lookup": "1200", - "name": "Instantiated", - "docs": [ - "Contract deployed by address at the specified address. \\[deployer, contract\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1201", - "name": "Evicted", - "docs": [ - "Contract has been evicted and is now in tombstone state. \\[contract\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1202", - "name": "Terminated", - "docs": [ - "Contract has been terminated without leaving a tombstone.", - "\\[contract, beneficiary\\]", - "", - "# Params", - "", - "- `contract`: The contract that was terminated.", - "- `beneficiary`: The account that received the contracts remaining balance.", - "", - "# Note", - "", - "The only way for a contract to be removed without a tombstone and emitting", - "this event is by calling `seal_terminate`." - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1203", - "name": "Restored", - "docs": [ - "Restoration of a contract has been successful.", - "\\[restorer, dest, code_hash, rent_allowance\\]", - "", - "# Params", - "", - "- `restorer`: Account ID of the restoring contract.", - "- `dest`: Account ID of the restored contract.", - "- `code_hash`: Code hash of the restored contract.", - "- `rent_allowance`: Rent allowance of the restored contract." - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1204", - "name": "CodeStored", - "docs": [ - "Code with the specified hash has been stored. \\[code_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1205", - "name": "ScheduleUpdated", - "docs": [ - "Triggered when the current schedule is updated.", - "\\[version\\]", - "", - "# Params", - "", - "- `version`: The version of the newly set schedule." - ], - "args": [ - "U32" - ] - }, - { - "lookup": "1206", - "name": "ContractEmitted", - "docs": [ - "A custom event emitted by the contract.", - "\\[contract, data\\]", - "", - "# Params", - "", - "- `contract`: The contract that emitted the event.", - "- `data`: Data supplied by the contract. Metadata generated during contract", - " compilation is needed to decode it." - ], - "args": [ - "[U8; 32]", - "Vec\u003cU8\u003e" - ] - }, - { - "lookup": "1207", - "name": "CodeRemoved", - "docs": [ - "A code with the specified hash was removed.", - "\\[code_hash\\]", - "", - "This happens when the last contract that uses this code hash was removed or evicted." - ], - "args": [ - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 58 - }, - "constants": [ - { - "name": "Schedule", - "type": "", - "type_value": 407, - "constants_value": "0400000000020000000100008000000010000000001000000001000020000000200000000040000000000200020000008e0f0000b04602009a8c0300a9720000767600005e380000ea5e00000753000097000000579e030088130500b60000007a170000c11100005721000099370000483a0000d0110000d8d12c08bc4300005c430000bb2e0000a942000000260000b72300009c370000ad540000de540000ca5400000354000018550000e553000011550000c053000007540000da540000a0530000e85300008d5400004a690000bd680000a56a000096670000b053000013540000055400006a5500009255000060550000f455000033550000cae32900000000007a332a00000000004041290000000000a6fb5d000000000060c02a0000000000e6d6290000000000065329000000000062002a0000000000d425290000000000b0522a00000000005cb3540000000000b41c1600000000008057640000000000000100000000000008f6380000000000710200000000000078d68a210000000098d6de2a000000007c75640900000000466d6f000000000070baac0000000000ec73de07000000007406000000000000922c190000000000fc9f1d00000000008618ee0900000000450200000000000082dc6108000000003e573102000000002704000000000000cc94430b000000009406e1100000000096fa930800000000dc010000000000009c020000000000001843c12400000000f001000000000000b80200000000000094070000000000008a9b2a0000000000561200000000000046432b0000000000ab0c000000000000c08c260000000000b005000000000000acd2260000000000b005000000000000", - "docs": [ - " Cost schedule and limits." - ] - }, - { - "name": "SignedClaimHandicap", - "type": "", - "type_value": 4, - "constants_value": "02000000", - "docs": [ - " Number of block delay an extrinsic claim surcharge has.", - "", - " When claim surcharge is called by an extrinsic the rent is checked", - " for current_block - delay" - ] - }, - { - "name": "TombstoneDeposit", - "type": "", - "type_value": 6, - "constants_value": "00f0e8857a9c02000000000000000000", - "docs": [ - " The minimum amount required to generate a tombstone." - ] - }, - { - "name": "DepositPerContract", - "type": "", - "type_value": 6, - "constants_value": "00f0e8857a9c02000000000000000000", - "docs": [ - " The balance every contract needs to deposit to stay alive indefinitely.", - "", - " This is different from the [`Self::TombstoneDeposit`] because this only needs to be", - " deposited while the contract is alive. Costs for additional storage are added to", - " this base cost.", - "", - " This is a simple way to ensure that contracts with empty storage eventually get deleted by", - " making them pay rent. This creates an incentive to remove them early in order to save rent." - ] - }, - { - "name": "DepositPerStorageByte", - "type": "", - "type_value": 6, - "constants_value": "0060defb740500000000000000000000", - "docs": [ - " The balance a contract needs to deposit per storage byte to stay alive indefinitely.", - "", - " Let's suppose the deposit is 1,000 BU (balance units)/byte and the rent is 1 BU/byte/day,", - " then a contract with 1,000,000 BU that uses 1,000 bytes of storage would pay no rent.", - " But if the balance reduced to 500,000 BU and the storage stayed the same at 1,000,", - " then it would pay 500 BU/day." - ] - }, - { - "name": "DepositPerStorageItem", - "type": "", - "type_value": 6, - "constants_value": "00f0ab75a40d00000000000000000000", - "docs": [ - " The balance a contract needs to deposit per storage item to stay alive indefinitely.", - "", - " It works the same as [`Self::DepositPerStorageByte`] but for storage items." - ] - }, - { - "name": "RentFraction", - "type": "", - "type_value": 104, - "constants_value": "85040000", - "docs": [ - " The fraction of the deposit that should be used as rent per block.", - "", - " When a contract hasn't enough balance deposited to stay alive indefinitely it needs", - " to pay per block for the storage it consumes that is not covered by the deposit.", - " This determines how high this rent payment is per block as a fraction of the deposit." - ] - }, - { - "name": "SurchargeReward", - "type": "", - "type_value": 6, - "constants_value": "005cb2ec220000000000000000000000", - "docs": [ - " Reward that is received by the party whose touch has led", - " to removal of a contract." - ] - }, - { - "name": "DeletionQueueDepth", - "type": "", - "type_value": 4, - "constants_value": "1a040000", - "docs": [ - " The maximum number of tries that can be queued for deletion." - ] - }, - { - "name": "DeletionWeightLimit", - "type": "", - "type_value": 8, - "constants_value": "00d0ed902e000000", - "docs": [ - " The maximum amount of weight that can be consumed per block for lazy trie removal." - ] - } - ], - "errors": [ - { - "name": "InvalidScheduleVersion", - "doc": [ - "A new schedule must have a greater version than the current one." - ] - }, - { - "name": "InvalidSurchargeClaim", - "doc": [ - "An origin must be signed or inherent and auxiliary sender only provided on inherent." - ] - }, - { - "name": "InvalidSourceContract", - "doc": [ - "Cannot restore from nonexisting or tombstone contract." - ] - }, - { - "name": "InvalidDestinationContract", - "doc": [ - "Cannot restore to nonexisting or alive contract." - ] - }, - { - "name": "InvalidTombstone", - "doc": [ - "Tombstones don't match." - ] - }, - { - "name": "InvalidContractOrigin", - "doc": [ - "An origin TrieId written in the current block." - ] - }, - { - "name": "OutOfGas", - "doc": [ - "The executed contract exhausted its gas limit." - ] - }, - { - "name": "OutputBufferTooSmall", - "doc": [ - "The output buffer supplied to a contract API call was too small." - ] - }, - { - "name": "BelowSubsistenceThreshold", - "doc": [ - "Performing the requested transfer would have brought the contract below", - "the subsistence threshold. No transfer is allowed to do this in order to allow", - "for a tombstone to be created. Use `seal_terminate` to remove a contract without", - "leaving a tombstone behind." - ] - }, - { - "name": "NewContractNotFunded", - "doc": [ - "The newly created contract is below the subsistence threshold after executing", - "its contructor. No contracts are allowed to exist below that threshold." - ] - }, - { - "name": "TransferFailed", - "doc": [ - "Performing the requested transfer failed for a reason originating in the", - "chosen currency implementation of the runtime. Most probably the balance is", - "too low or locks are placed on it." - ] - }, - { - "name": "MaxCallDepthReached", - "doc": [ - "Performing a call was denied because the calling depth reached the limit", - "of what is specified in the schedule." - ] - }, - { - "name": "ContractNotFound", - "doc": [ - "No contract was found at the specified address." - ] - }, - { - "name": "ContractIsTombstone", - "doc": [ - "A tombstone exist at the specified address.", - "", - "Tombstone cannot be called. Anyone can use `seal_restore_to` in order to revive", - "the contract, though." - ] - }, - { - "name": "RentNotPaid", - "doc": [ - "The called contract does not have enough balance to pay for its storage.", - "", - "The contract ran out of balance and is therefore eligible for eviction into a", - "tombstone. Anyone can evict the contract by submitting a `claim_surcharge`", - "extrinsic. Alternatively, a plain balance transfer can be used in order to", - "increase the contracts funds so that it can be called again." - ] - }, - { - "name": "CodeTooLarge", - "doc": [ - "The code supplied to `instantiate_with_code` exceeds the limit specified in the", - "current schedule." - ] - }, - { - "name": "CodeNotFound", - "doc": [ - "No code could be found at the supplied code hash." - ] - }, - { - "name": "OutOfBounds", - "doc": [ - "A buffer outside of sandbox memory was passed to a contract API function." - ] - }, - { - "name": "DecodingFailed", - "doc": [ - "Input passed to a contract API function failed to decode as expected type." - ] - }, - { - "name": "ContractTrapped", - "doc": [ - "Contract trapped during execution." - ] - }, - { - "name": "ValueTooLarge", - "doc": [ - "The size defined in `T::MaxValueSize` was exceeded." - ] - }, - { - "name": "TerminatedWhileReentrant", - "doc": [ - "Termination of a contract is not allowed while the contract is already", - "on the call stack. Can be triggered by `seal_terminate` or `seal_restore_to." - ] - }, - { - "name": "InputForwarded", - "doc": [ - "`seal_call` forwarded this contracts input. It therefore is no longer available." - ] - }, - { - "name": "RandomSubjectTooLong", - "doc": [ - "The subject passed to `seal_random` exceeds the limit." - ] - }, - { - "name": "TooManyTopics", - "doc": [ - "The amount of topics passed to `seal_deposit_events` exceeds the limit." - ] - }, - { - "name": "DuplicateTopics", - "doc": [ - "The topics passed to `seal_deposit_events` contains at least one duplicate." - ] - }, - { - "name": "NoChainExtension", - "doc": [ - "The chain does not provide a chain extension. Calling the chain extension results", - "in this error. Note that this usually shouldn't happen as deploying such contracts", - "is rejected." - ] - }, - { - "name": "DeletionQueueFull", - "doc": [ - "Removal of a contract failed because the deletion queue is full.", - "", - "This can happen when either calling [`Pallet::claim_surcharge`] or `seal_terminate`.", - "The queue is filled by deleting contracts and emptied by a fixed amount each block.", - "Trying again during another block is the only way to resolve this issue." - ] - }, - { - "name": "ContractNotEvictable", - "doc": [ - "A contract could not be evicted because it has enough balance to pay rent.", - "", - "This can be returned from [`Pallet::claim_surcharge`] because the target", - "contract has enough balance to pay for its rent." - ] - }, - { - "name": "StorageExhausted", - "doc": [ - "A storage modification exhausted the 32bit type that holds the storage size.", - "", - "This can either happen when the accumulated storage in bytes is too large or", - "when number of storage items is too large." - ] - }, - { - "name": "DuplicateContract", - "doc": [ - "A contract with the same AccountId already exists." - ] - }, - { - "name": "TerminatedInConstructor", - "doc": [ - "A contract self destructed in its constructor.", - "", - "This can be triggered by a call to `seal_terminate` or `seal_restore_to`." - ] - }, - { - "name": "DebugMessageInvalidUTF8", - "doc": [ - "The debug message specified to `seal_debug_message` does contain invalid UTF-8." - ] - }, - { - "name": "ReentranceDenied", - "doc": [ - "A call tried to invoke a contract that is flagged as non-reentrant." - ] - } - ], - "errors_value": { - "type": 411 - }, - "index": 18 - }, - { - "name": "Sudo", - "prefix": "Sudo", - "storage": [ - { - "name": "Key", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 0 - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The `AccountId` of the sudo key." - ] - } - ], - "calls": [ - { - "lookup": "1300", - "name": "sudo", - "docs": [ - "Authenticates the sudo key and dispatches a function call with `Root` origin.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "# \u003cweight\u003e", - "- O(1).", - "- Limited storage reads.", - "- One DB write (event).", - "- Weight of derivative `call` execution + 10,000.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1301", - "name": "sudo_unchecked_weight", - "docs": [ - "Authenticates the sudo key and dispatches a function call with `Root` origin.", - "This function does not check the weight of the call, and instead allows the", - "Sudo user to specify the weight of the call.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "# \u003cweight\u003e", - "- O(1).", - "- The weight of this call is defined by the caller.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "call", - "type": "Call" - }, - { - "name": "_weight", - "type": "U64" - } - ] - }, - { - "lookup": "1302", - "name": "set_key", - "docs": [ - "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "# \u003cweight\u003e", - "- O(1).", - "- Limited storage reads.", - "- One DB change.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "new", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "1303", - "name": "sudo_as", - "docs": [ - "Authenticates the sudo key and dispatches a function call with `Signed` origin from", - "a given account.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "# \u003cweight\u003e", - "- O(1).", - "- Limited storage reads.", - "- One DB write (event).", - "- Weight of derivative `call` execution + 10,000.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "who", - "type": "MultiAddress" - }, - { - "name": "call", - "type": "Call" - } - ] - } - ], - "calls_value": { - "type": 234 - }, - "events": [ - { - "lookup": "1300", - "name": "Sudid", - "docs": [ - "A sudo just took place. \\[result\\]" - ], - "args": [ - "Results\u003cNULL,DispatchError\u003e" - ] - }, - { - "lookup": "1301", - "name": "KeyChanged", - "docs": [ - "The \\[sudoer\\] just switched identity; the old key is supplied." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1302", - "name": "SudoAsDone", - "docs": [ - "A sudo just took place. \\[result\\]" - ], - "args": [ - "Results\u003cNULL,DispatchError\u003e" - ] - } - ], - "events_value": { - "type": 59 - }, - "errors": [ - { - "name": "RequireSudo", - "doc": [ - "Sender must be the Sudo account" - ] - } - ], - "errors_value": { - "type": 412 - }, - "index": 19 - }, - { - "name": "ImOnline", - "prefix": "ImOnline", - "storage": [ - { - "name": "HeartbeatAfter", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The block number after which it's ok to send heartbeats in the current", - " session.", - "", - " At the beginning of each session we set this to a value that should fall", - " roughly in the middle of the session duration. The idea is to first wait for", - " the validators to produce a block in the current session, so that the", - " heartbeat later on will not be necessary.", - "", - " This value will only be used as a fallback if we fail to get a proper session", - " progress estimate from `NextSessionRotation`, as those estimates should be", - " more accurate then the value we calculate for `HeartbeatAfter`." - ] - }, - { - "name": "Keys", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 413 - }, - "fallback": "0x00", - "docs": [ - " The current set of keys that may issue a heartbeat." - ] - }, - { - "name": "ReceivedHeartbeats", - "modifier": "Optional", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "key2": 4, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 10 - } - }, - "fallback": "0x00", - "docs": [ - " For each session index, we keep a mapping of `AuthIndex` to", - " `offchain::OpaqueNetworkState`." - ] - }, - { - "name": "AuthoredBlocks", - "modifier": "Default", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 4 - } - }, - "fallback": "0x00000000", - "docs": [ - " For each session index, we keep a mapping of `ValidatorId\u003cT\u003e` to the", - " number of blocks authored by the given authority." - ] - } - ], - "calls": [ - { - "lookup": "1400", - "name": "heartbeat", - "docs": [ - "# \u003cweight\u003e", - "- Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len)", - " and E is length of `heartbeat.network_state.external_address`", - " - `O(K)`: decoding of length `K`", - " - `O(E)`: decoding/encoding of length `E`", - "- DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,", - " `ReceivedHeartbeats`", - "- DbWrites: `ReceivedHeartbeats`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "heartbeat", - "type": "Heartbeat" - }, - { - "name": "_signature", - "type": "[U8; 64]" - } - ] - } - ], - "calls_value": { - "type": 235 - }, - "events": [ - { - "lookup": "1400", - "name": "HeartbeatReceived", - "docs": [ - "A new heartbeat was received from `AuthorityId` \\[authority_id\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1401", - "name": "AllGood", - "docs": [ - "At the end of the session, no offence was committed." - ], - "args": null - }, - { - "lookup": "1402", - "name": "SomeOffline", - "docs": [ - "At the end of the session, at least one validator was found to be \\[offline\\]." - ], - "args": [ - "Vec\u003c([U8; 32],Exposure)\u003e" - ] - } - ], - "events_value": { - "type": 60 - }, - "constants": [ - { - "name": "UnsignedPriority", - "type": "", - "type_value": 8, - "constants_value": "ffffffffffffffff", - "docs": [ - " A configuration for base priority of unsigned transactions.", - "", - " This is exposed so that it can be tuned for particular runtime, when", - " multiple pallets send unsigned transactions." - ] - } - ], - "errors": [ - { - "name": "InvalidKey", - "doc": [ - "Non existent public key." - ] - }, - { - "name": "DuplicatedHeartbeat", - "doc": [ - "Duplicated heartbeat." - ] - } - ], - "errors_value": { - "type": 414 - }, - "index": 20 - }, - { - "name": "AuthorityDiscovery", - "prefix": "", - "storage": null, - "errors": null, - "errors_value": null, - "index": 21 - }, - { - "name": "Offences", - "prefix": "Offences", - "storage": [ - { - "name": "Reports", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Twox64Concat", - "value": 415 - } - }, - "fallback": "0x00", - "docs": [ - " The primary structure that holds all offence records keyed by report identifiers." - ] - }, - { - "name": "ConcurrentReportsIndex", - "modifier": "Default", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 70, - "key2": 10, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 98 - } - }, - "fallback": "0x00", - "docs": [ - " A vector of reports of the same kind that happened at the same time slot." - ] - }, - { - "name": "ReportsByKindIndex", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 70, - "hasher": "Twox64Concat", - "value": 10 - } - }, - "fallback": "0x00", - "docs": [ - " Enumerates all reports of a kind along with the time they happened.", - "", - " All reports are sorted by the time of offence.", - "", - " Note that the actual type of this mapping is `Vec\u003cu8\u003e`, this is because values of", - " different types are not supported at the moment so we are doing the manual serialization." - ] - } - ], - "events": [ - { - "lookup": "1600", - "name": "Offence", - "docs": [ - "There is an offence reported of the given `kind` happened at the `session_index` and", - "(kind-specific) time slot. This event is not deposited for duplicate slashes.", - "\\[kind, timeslot\\]." - ], - "args": [ - "[U8; 16]", - "Vec\u003cU8\u003e" - ] - } - ], - "events_value": { - "type": 69 - }, - "errors": null, - "errors_value": null, - "index": 22 - }, - { - "name": "Historical", - "prefix": "", - "storage": null, - "errors": null, - "errors_value": null, - "index": 23 - }, - { - "name": "RandomnessCollectiveFlip", - "prefix": "RandomnessCollectiveFlip", - "storage": [ - { - "name": "RandomMaterial", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 98 - }, - "fallback": "0x00", - "docs": [ - " Series of block headers from the last 81 blocks that acts as random seed material. This", - " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of", - " the oldest hash." - ] - } - ], - "errors": null, - "errors_value": null, - "index": 24 - }, - { - "name": "Identity", - "prefix": "Identity", - "storage": [ - { - "name": "IdentityOf", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 416 - } - }, - "fallback": "0x00", - "docs": [ - " Information that is pertinent to identify the entity behind an account.", - "", - "2054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e" - ] - }, - { - "name": "SuperOf", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Blake2_128Concat", - "value": 279 - } - }, - "fallback": "0x00", - "docs": [ - " The super-identity of an alternative \"sub\" identity together with its name, within that", - " context. If the account is not some other account's sub-identity, then just `None`." - ] - }, - { - "name": "SubsOf", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 420 - } - }, - "fallback": "0x0000000000000000000000000000000000", - "docs": [ - " Alternative \"sub\" identities of this account.", - "", - " The first item is the deposit, the second is a vector of the accounts.", - "", - "2054574f582d4e4f54453a204f4b20e2809520604163636f756e7449646020697320612073656375726520686173682e" - ] - }, - { - "name": "Registrars", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 422 - }, - "fallback": "0x00", - "docs": [ - " The set of registrars. Not expected to get very big as can only be added through a", - " special origin (likely a council motion).", - "", - " The index into this can be cast to `RegistrarIndex` to get a valid value." - ] - } - ], - "calls": [ - { - "lookup": "1900", - "name": "add_registrar", - "docs": [ - "Add a registrar to the system.", - "", - "The dispatch origin for this call must be `T::RegistrarOrigin`.", - "", - "- `account`: the account of the registrar.", - "", - "Emits `RegistrarAdded` if successful.", - "", - "# \u003cweight\u003e", - "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded).", - "- One storage mutation (codec `O(R)`).", - "- One event.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1901", - "name": "set_identity", - "docs": [ - "Set an account's identity information and reserve the appropriate deposit.", - "", - "If the account already has identity information, the deposit is taken as part payment", - "for the new deposit.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `info`: The identity information.", - "", - "Emits `IdentitySet` if successful.", - "", - "# \u003cweight\u003e", - "- `O(X + X' + R)`", - " - where `X` additional-field-count (deposit-bounded and code-bounded)", - " - where `R` judgements-count (registrar-count-bounded)", - "- One balance reserve operation.", - "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`).", - "- One event.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "info", - "type": "IdentityInfo" - } - ] - }, - { - "lookup": "1902", - "name": "set_subs", - "docs": [ - "Set the sub-accounts of the sender.", - "", - "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned", - "and an amount `SubAccountDeposit` will be reserved for each item in `subs`.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "identity.", - "", - "- `subs`: The identity's (new) sub-accounts.", - "", - "# \u003cweight\u003e", - "- `O(P + S)`", - " - where `P` old-subs-count (hard- and deposit-bounded).", - " - where `S` subs-count (hard- and deposit-bounded).", - "- At most one balance operations.", - "- DB:", - " - `P + S` storage mutations (codec complexity `O(1)`)", - " - One storage read (codec complexity `O(P)`).", - " - One storage write (codec complexity `O(S)`).", - " - One storage-exists (`IdentityOf::contains_key`).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "subs", - "type": "Vec\u003c([U8; 32],Data)\u003e" - } - ] - }, - { - "lookup": "1903", - "name": "clear_identity", - "docs": [ - "Clear an account's identity info and all sub-accounts and return all deposits.", - "", - "Payment: All reserved balances on the account are returned.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "identity.", - "", - "Emits `IdentityCleared` if successful.", - "", - "# \u003cweight\u003e", - "- `O(R + S + X)`", - " - where `R` registrar-count (governance-bounded).", - " - where `S` subs-count (hard- and deposit-bounded).", - " - where `X` additional-field-count (deposit-bounded and code-bounded).", - "- One balance-unreserve operation.", - "- `2` storage reads and `S + 2` storage deletions.", - "- One event.", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "1904", - "name": "request_judgement", - "docs": [ - "Request a judgement from a registrar.", - "", - "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement", - "given.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a", - "registered identity.", - "", - "- `reg_index`: The index of the registrar whose judgement is requested.", - "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:", - "", - "```nocompile", - "Self::registrars().get(reg_index).unwrap().fee", - "```", - "", - "Emits `JudgementRequested` if successful.", - "", - "# \u003cweight\u003e", - "- `O(R + X)`.", - "- One balance-reserve operation.", - "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.", - "- One event.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "reg_index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "max_fee", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "1905", - "name": "cancel_request", - "docs": [ - "Cancel a previous request.", - "", - "Payment: A previously reserved deposit is returned on success.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a", - "registered identity.", - "", - "- `reg_index`: The index of the registrar whose judgement is no longer requested.", - "", - "Emits `JudgementUnrequested` if successful.", - "", - "# \u003cweight\u003e", - "- `O(R + X)`.", - "- One balance-reserve operation.", - "- One storage mutation `O(R + X)`.", - "- One event", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "reg_index", - "type": "U32" - } - ] - }, - { - "lookup": "1906", - "name": "set_fee", - "docs": [ - "Set the fee required for a judgement to be requested from a registrar.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must be the account", - "of the registrar whose index is `index`.", - "", - "- `index`: the index of the registrar whose fee is to be set.", - "- `fee`: the new fee.", - "", - "# \u003cweight\u003e", - "- `O(R)`.", - "- One storage mutation `O(R)`.", - "2d2042656e63686d61726b3a20372e333135202b2052202a20302e33323920c2b57320286d696e207371756172657320616e616c7973697329", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "fee", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "1907", - "name": "set_account_id", - "docs": [ - "Change the account associated with a registrar.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must be the account", - "of the registrar whose index is `index`.", - "", - "- `index`: the index of the registrar whose fee is to be set.", - "- `new`: the new account ID.", - "", - "# \u003cweight\u003e", - "- `O(R)`.", - "- One storage mutation `O(R)`.", - "2d2042656e63686d61726b3a20382e383233202b2052202a20302e333220c2b57320286d696e207371756172657320616e616c7973697329", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "new", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1908", - "name": "set_fields", - "docs": [ - "Set the field information for a registrar.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must be the account", - "of the registrar whose index is `index`.", - "", - "- `index`: the index of the registrar whose fee is to be set.", - "- `fields`: the fields that the registrar concerns themselves with.", - "", - "# \u003cweight\u003e", - "- `O(R)`.", - "- One storage mutation `O(R)`.", - "2d2042656e63686d61726b3a20372e343634202b2052202a20302e33323520c2b57320286d696e207371756172657320616e616c7973697329", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "fields", - "type": "U64" - } - ] - }, - { - "lookup": "1909", - "name": "provide_judgement", - "docs": [ - "Provide a judgement for an account's identity.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must be the account", - "of the registrar whose index is `reg_index`.", - "", - "- `reg_index`: the index of the registrar whose judgement is being made.", - "- `target`: the account whose identity the judgement is upon. This must be an account", - " with a registered identity.", - "- `judgement`: the judgement of the registrar of index `reg_index` about `target`.", - "", - "Emits `JudgementGiven` if successful.", - "", - "# \u003cweight\u003e", - "- `O(R + X)`.", - "- One balance-transfer operation.", - "- Up to one account-lookup operation.", - "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.", - "- One event.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "reg_index", - "type": "compact\u003cU32\u003e" - }, - { - "name": "target", - "type": "MultiAddress" - }, - { - "name": "judgement", - "type": "Judgement" - } - ] - }, - { - "lookup": "190a", - "name": "kill_identity", - "docs": [ - "Remove an account's identity and sub-account information and slash the deposits.", - "", - "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by", - "`Slash`. Verification request deposits are not returned; they should be cancelled", - "manually using `cancel_request`.", - "", - "The dispatch origin for this call must match `T::ForceOrigin`.", - "", - "- `target`: the account whose identity the judgement is upon. This must be an account", - " with a registered identity.", - "", - "Emits `IdentityKilled` if successful.", - "", - "# \u003cweight\u003e", - "- `O(R + S + X)`.", - "- One balance-reserve operation.", - "- `S + 2` storage mutations.", - "- One event.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "target", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "190b", - "name": "add_sub", - "docs": [ - "Add the given account to the sender's subs.", - "", - "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", - "to the sender.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "sub identity of `sub`." - ], - "args": [ - { - "name": "sub", - "type": "MultiAddress" - }, - { - "name": "data", - "type": "Data" - } - ] - }, - { - "lookup": "190c", - "name": "rename_sub", - "docs": [ - "Alter the associated name of the given sub-account.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "sub identity of `sub`." - ], - "args": [ - { - "name": "sub", - "type": "MultiAddress" - }, - { - "name": "data", - "type": "Data" - } - ] - }, - { - "lookup": "190d", - "name": "remove_sub", - "docs": [ - "Remove the given account from the sender's subs.", - "", - "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", - "to the sender.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "sub identity of `sub`." - ], - "args": [ - { - "name": "sub", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "190e", - "name": "quit_sub", - "docs": [ - "Remove the sender as a sub-account.", - "", - "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", - "to the sender (*not* the original depositor).", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have a registered", - "super-identity.", - "", - "NOTE: This should not normally be used, but is provided in the case that the non-", - "controller of an account is maliciously registered as a sub-account." - ], - "args": null - } - ], - "calls_value": { - "type": 243 - }, - "events": [ - { - "lookup": "1900", - "name": "IdentitySet", - "docs": [ - "A name was set or reset (which will remove all judgements). \\[who\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1901", - "name": "IdentityCleared", - "docs": [ - "A name was cleared, and the given balance returned. \\[who, deposit\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1902", - "name": "IdentityKilled", - "docs": [ - "A name was removed and the given balance slashed. \\[who, deposit\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1903", - "name": "JudgementRequested", - "docs": [ - "A judgement was asked from a registrar. \\[who, registrar_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "1904", - "name": "JudgementUnrequested", - "docs": [ - "A judgement request was retracted. \\[who, registrar_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "1905", - "name": "JudgementGiven", - "docs": [ - "A judgement was given by a registrar. \\[target, registrar_index\\]" - ], - "args": [ - "[U8; 32]", - "U32" - ] - }, - { - "lookup": "1906", - "name": "RegistrarAdded", - "docs": [ - "A registrar was added. \\[registrar_index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "1907", - "name": "SubIdentityAdded", - "docs": [ - "A sub-identity was added to an identity and the deposit paid. \\[sub, main, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1908", - "name": "SubIdentityRemoved", - "docs": [ - "A sub-identity was removed from an identity and the deposit freed.", - "\\[sub, main, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1909", - "name": "SubIdentityRevoked", - "docs": [ - "A sub-identity was cleared, and the given deposit repatriated from the", - "main identity account to the sub-identity account. \\[sub, main, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - } - ], - "events_value": { - "type": 71 - }, - "constants": [ - { - "name": "BasicDeposit", - "type": "", - "type_value": 6, - "constants_value": "0080c6a47e8d03000000000000000000", - "docs": [ - " The amount held on deposit for a registered identity" - ] - }, - { - "name": "FieldDeposit", - "type": "", - "type_value": 6, - "constants_value": "00a031a95fe300000000000000000000", - "docs": [ - " The amount held on deposit per additional field for a registered identity." - ] - }, - { - "name": "SubAccountDeposit", - "type": "", - "type_value": 6, - "constants_value": "0080f420e6b500000000000000000000", - "docs": [ - " The amount held on deposit for a registered subaccount. This should account for the fact", - " that one storage item's value will increase by the size of an account ID, and there will be", - " another trie item whose value is the size of an account ID plus 32 bytes." - ] - }, - { - "name": "MaxSubAccounts", - "type": "", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " The maximum number of sub-accounts allowed per identified account." - ] - }, - { - "name": "MaxAdditionalFields", - "type": "", - "type_value": 4, - "constants_value": "64000000", - "docs": [ - " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O", - " required to access an identity, but can be pretty high." - ] - }, - { - "name": "MaxRegistrars", - "type": "", - "type_value": 4, - "constants_value": "14000000", - "docs": [ - " Maxmimum number of registrars allowed in the system. Needed to bound the complexity", - " of, e.g., updating judgements." - ] - } - ], - "errors": [ - { - "name": "TooManySubAccounts", - "doc": [ - "Too many subs-accounts." - ] - }, - { - "name": "NotFound", - "doc": [ - "Account isn't found." - ] - }, - { - "name": "NotNamed", - "doc": [ - "Account isn't named." - ] - }, - { - "name": "EmptyIndex", - "doc": [ - "Empty index." - ] - }, - { - "name": "FeeChanged", - "doc": [ - "Fee is changed." - ] - }, - { - "name": "NoIdentity", - "doc": [ - "No identity found." - ] - }, - { - "name": "StickyJudgement", - "doc": [ - "Sticky judgement." - ] - }, - { - "name": "JudgementGiven", - "doc": [ - "Judgement given." - ] - }, - { - "name": "InvalidJudgement", - "doc": [ - "Invalid judgement." - ] - }, - { - "name": "InvalidIndex", - "doc": [ - "The index is invalid." - ] - }, - { - "name": "InvalidTarget", - "doc": [ - "The target is invalid." - ] - }, - { - "name": "TooManyFields", - "doc": [ - "Too many additional fields." - ] - }, - { - "name": "TooManyRegistrars", - "doc": [ - "Maximum amount of registrars reached. Cannot add any more." - ] - }, - { - "name": "AlreadyClaimed", - "doc": [ - "Account ID is already named." - ] - }, - { - "name": "NotSub", - "doc": [ - "Sender is not a sub-account." - ] - }, - { - "name": "NotOwned", - "doc": [ - "Sub-account isn't owned by sender." - ] - } - ], - "errors_value": { - "type": 426 - }, - "index": 25 - }, - { - "name": "Society", - "prefix": "Society", - "storage": [ - { - "name": "Founder", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The first member." - ] - }, - { - "name": "Rules", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 9 - }, - "fallback": "0x00", - "docs": [ - " A hash of the rules of this society concerning membership. Can only be set once and", - " only by the founder." - ] - }, - { - "name": "Candidates", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 427 - }, - "fallback": "0x00", - "docs": [ - " The current set of candidates; bidders that are attempting to become members." - ] - }, - { - "name": "SuspendedCandidates", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 430 - } - }, - "fallback": "0x00", - "docs": [ - " The set of suspended candidates." - ] - }, - { - "name": "Pot", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 6 - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " Amount of our account balance that is specifically for the next round's bid(s)." - ] - }, - { - "name": "Head", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The most primary from the most recently approved members." - ] - }, - { - "name": "Members", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 39 - }, - "fallback": "0x00", - "docs": [ - " The current set of members, ordered." - ] - }, - { - "name": "SuspendedMembers", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 34 - } - }, - "fallback": "0x00", - "docs": [ - " The set of suspended members." - ] - }, - { - "name": "Bids", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 427 - }, - "fallback": "0x00", - "docs": [ - " The current bids, stored ordered by the value of the bid." - ] - }, - { - "name": "Vouching", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 431 - } - }, - "fallback": "0x00", - "docs": [ - " Members currently vouching or banned from vouching again" - ] - }, - { - "name": "Payouts", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 432 - } - }, - "fallback": "0x00", - "docs": [ - " Pending payouts; ordered by block number, with the amount that should be paid out." - ] - }, - { - "name": "Strikes", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 4 - } - }, - "fallback": "0x00000000", - "docs": [ - " The ongoing number of losing votes cast by the member." - ] - }, - { - "name": "Votes", - "modifier": "Optional", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 434 - } - }, - "fallback": "0x00", - "docs": [ - " Double map from Candidate -\u003e Voter -\u003e (Maybe) Vote." - ] - }, - { - "name": "Defender", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 0 - }, - "fallback": "0x00", - "docs": [ - " The defending member currently being challenged." - ] - }, - { - "name": "DefenderVotes", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 434 - } - }, - "fallback": "0x00", - "docs": [ - " Votes for the defender." - ] - }, - { - "name": "MaxMembers", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " The max number of members for the society at one time." - ] - } - ], - "calls": [ - { - "lookup": "1a00", - "name": "bid", - "docs": [ - "A user outside of the society can make a bid for entry.", - "", - "Payment: `CandidateDeposit` will be reserved for making a bid. It is returned", - "when the bid becomes a member, or if the bid calls `unbid`.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `value`: A one time payment the bid would like to receive when joining the society.", - "", - "# \u003cweight\u003e", - "Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)", - "- Storage Reads:", - "\t- One storage read to check for suspended candidate. O(1)", - "\t- One storage read to check for suspended member. O(1)", - "\t- One storage read to retrieve all current bids. O(B)", - "\t- One storage read to retrieve all current candidates. O(C)", - "\t- One storage read to retrieve all members. O(M)", - "- Storage Writes:", - "\t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)", - "\t- Up to one storage removal if bid.len() \u003e MAX_BID_COUNT. O(1)", - "- Notable Computation:", - "\t- O(B + C + log M) search to check user is not already a part of society.", - "\t- O(log B) search to insert the new bid sorted.", - "- External Module Operations:", - "\t- One balance reserve operation. O(X)", - "\t- Up to one balance unreserve operation if bids.len() \u003e MAX_BID_COUNT.", - "- Events:", - "\t- One event for new bid.", - "\t- Up to one event for AutoUnbid if bid.len() \u003e MAX_BID_COUNT.", - "", - "Total Complexity: O(M + B + C + logM + logB + X)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "value", - "type": "U128" - } - ] - }, - { - "lookup": "1a01", - "name": "unbid", - "docs": [ - "A bidder can remove their bid for entry into society.", - "By doing so, they will have their candidate deposit returned or", - "they will unvouch their voucher.", - "", - "Payment: The bid deposit is unreserved if the user made a bid.", - "", - "The dispatch origin for this call must be _Signed_ and a bidder.", - "", - "Parameters:", - "- `pos`: Position in the `Bids` vector of the bid who wants to unbid.", - "", - "# \u003cweight\u003e", - "Key: B (len of bids), X (balance unreserve)", - "- One storage read and write to retrieve and update the bids. O(B)", - "- Either one unreserve balance action O(X) or one vouching storage removal. O(1)", - "- One event.", - "", - "Total Complexity: O(B + X)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "pos", - "type": "U32" - } - ] - }, - { - "lookup": "1a02", - "name": "vouch", - "docs": [ - "As a member, vouch for someone to join society by placing a bid on their behalf.", - "", - "There is no deposit required to vouch for a new bid, but a member can only vouch for", - "one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by", - "the suspension judgement origin, the member will be banned from vouching again.", - "", - "As a vouching member, you can claim a tip if the candidate is accepted. This tip will", - "be paid as a portion of the reward the member will receive for joining the society.", - "", - "The dispatch origin for this call must be _Signed_ and a member.", - "", - "Parameters:", - "- `who`: The user who you would like to vouch for.", - "- `value`: The total reward to be paid between you and the candidate if they become", - "a member in the society.", - "- `tip`: Your cut of the total `value` payout when the candidate is inducted into", - "the society. Tips larger than `value` will be saturated upon payout.", - "", - "# \u003cweight\u003e", - "Key: B (len of bids), C (len of candidates), M (len of members)", - "- Storage Reads:", - "\t- One storage read to retrieve all members. O(M)", - "\t- One storage read to check member is not already vouching. O(1)", - "\t- One storage read to check for suspended candidate. O(1)", - "\t- One storage read to check for suspended member. O(1)", - "\t- One storage read to retrieve all current bids. O(B)", - "\t- One storage read to retrieve all current candidates. O(C)", - "- Storage Writes:", - "\t- One storage write to insert vouching status to the member. O(1)", - "\t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)", - "\t- Up to one storage removal if bid.len() \u003e MAX_BID_COUNT. O(1)", - "- Notable Computation:", - "\t- O(log M) search to check sender is a member.", - "\t- O(B + C + log M) search to check user is not already a part of society.", - "\t- O(log B) search to insert the new bid sorted.", - "- External Module Operations:", - "\t- One balance reserve operation. O(X)", - "\t- Up to one balance unreserve operation if bids.len() \u003e MAX_BID_COUNT.", - "- Events:", - "\t- One event for vouch.", - "\t- Up to one event for AutoUnbid if bid.len() \u003e MAX_BID_COUNT.", - "", - "Total Complexity: O(M + B + C + logM + logB + X)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "value", - "type": "U128" - }, - { - "name": "tip", - "type": "U128" - } - ] - }, - { - "lookup": "1a03", - "name": "unvouch", - "docs": [ - "As a vouching member, unvouch a bid. This only works while vouched user is", - "only a bidder (and not a candidate).", - "", - "The dispatch origin for this call must be _Signed_ and a vouching member.", - "", - "Parameters:", - "- `pos`: Position in the `Bids` vector of the bid who should be unvouched.", - "", - "# \u003cweight\u003e", - "Key: B (len of bids)", - "- One storage read O(1) to check the signer is a vouching member.", - "- One storage mutate to retrieve and update the bids. O(B)", - "- One vouching storage removal. O(1)", - "- One event.", - "", - "Total Complexity: O(B)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "pos", - "type": "U32" - } - ] - }, - { - "lookup": "1a04", - "name": "vote", - "docs": [ - "As a member, vote on a candidate.", - "", - "The dispatch origin for this call must be _Signed_ and a member.", - "", - "Parameters:", - "- `candidate`: The candidate that the member would like to bid on.", - "- `approve`: A boolean which says if the candidate should be", - " approved (`true`) or rejected (`false`).", - "", - "# \u003cweight\u003e", - "Key: C (len of candidates), M (len of members)", - "- One storage read O(M) and O(log M) search to check user is a member.", - "- One account lookup.", - "- One storage read O(C) and O(C) search to check that user is a candidate.", - "- One storage write to add vote to votes. O(1)", - "- One event.", - "", - "Total Complexity: O(M + logM + C)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "candidate", - "type": "MultiAddress" - }, - { - "name": "approve", - "type": "Bool" - } - ] - }, - { - "lookup": "1a05", - "name": "defender_vote", - "docs": [ - "As a member, vote on the defender.", - "", - "The dispatch origin for this call must be _Signed_ and a member.", - "", - "Parameters:", - "- `approve`: A boolean which says if the candidate should be", - "approved (`true`) or rejected (`false`).", - "", - "# \u003cweight\u003e", - "- Key: M (len of members)", - "- One storage read O(M) and O(log M) search to check user is a member.", - "- One storage write to add vote to votes. O(1)", - "- One event.", - "", - "Total Complexity: O(M + logM)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "approve", - "type": "Bool" - } - ] - }, - { - "lookup": "1a06", - "name": "payout", - "docs": [ - "Transfer the first matured payout for the sender and remove it from the records.", - "", - "NOTE: This extrinsic needs to be called multiple times to claim multiple matured payouts.", - "", - "Payment: The member will receive a payment equal to their first matured", - "payout to their free balance.", - "", - "The dispatch origin for this call must be _Signed_ and a member with", - "payouts remaining.", - "", - "# \u003cweight\u003e", - "Key: M (len of members), P (number of payouts for a particular member)", - "- One storage read O(M) and O(log M) search to check signer is a member.", - "- One storage read O(P) to get all payouts for a member.", - "- One storage read O(1) to get the current block number.", - "- One currency transfer call. O(X)", - "- One storage write or removal to update the member's payouts. O(P)", - "", - "Total Complexity: O(M + logM + P + X)", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "1a07", - "name": "found", - "docs": [ - "Found the society.", - "", - "This is done as a discrete action in order to allow for the", - "module to be included into a running chain and can only be done once.", - "", - "The dispatch origin for this call must be from the _FounderSetOrigin_.", - "", - "Parameters:", - "- `founder` - The first member and head of the newly founded society.", - "- `max_members` - The initial max number of members for the society.", - "- `rules` - The rules of this society concerning membership.", - "", - "# \u003cweight\u003e", - "- Two storage mutates to set `Head` and `Founder`. O(1)", - "- One storage write to add the first member to society. O(1)", - "- One event.", - "", - "Total Complexity: O(1)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "founder", - "type": "[U8; 32]" - }, - { - "name": "max_members", - "type": "U32" - }, - { - "name": "rules", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "1a08", - "name": "unfound", - "docs": [ - "Annul the founding of the society.", - "", - "The dispatch origin for this call must be Signed, and the signing account must be both", - "the `Founder` and the `Head`. This implies that it may only be done when there is one", - "member.", - "", - "# \u003cweight\u003e", - "- Two storage reads O(1).", - "- Four storage removals O(1).", - "- One event.", - "", - "Total Complexity: O(1)", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "1a09", - "name": "judge_suspended_member", - "docs": [ - "Allow suspension judgement origin to make judgement on a suspended member.", - "", - "If a suspended member is forgiven, we simply add them back as a member, not affecting", - "any of the existing storage items for that member.", - "", - "If a suspended member is rejected, remove all associated storage items, including", - "their payouts, and remove any vouched bids they currently have.", - "", - "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", - "", - "Parameters:", - "- `who` - The suspended member to be judged.", - "- `forgive` - A boolean representing whether the suspension judgement origin", - " forgives (`true`) or rejects (`false`) a suspended member.", - "", - "# \u003cweight\u003e", - "Key: B (len of bids), M (len of members)", - "- One storage read to check `who` is a suspended member. O(1)", - "- Up to one storage write O(M) with O(log M) binary search to add a member back to society.", - "- Up to 3 storage removals O(1) to clean up a removed member.", - "- Up to one storage write O(B) with O(B) search to remove vouched bid from bids.", - "- Up to one additional event if unvouch takes place.", - "- One storage removal. O(1)", - "- One event for the judgement.", - "", - "Total Complexity: O(M + logM + B)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "forgive", - "type": "Bool" - } - ] - }, - { - "lookup": "1a0a", - "name": "judge_suspended_candidate", - "docs": [ - "Allow suspended judgement origin to make judgement on a suspended candidate.", - "", - "If the judgement is `Approve`, we add them to society as a member with the appropriate", - "payment for joining society.", - "", - "If the judgement is `Reject`, we either slash the deposit of the bid, giving it back", - "to the society treasury, or we ban the voucher from vouching again.", - "", - "If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go", - "through the induction process again.", - "", - "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", - "", - "Parameters:", - "- `who` - The suspended candidate to be judged.", - "- `judgement` - `Approve`, `Reject`, or `Rebid`.", - "", - "# \u003cweight\u003e", - "Key: B (len of bids), M (len of members), X (balance action)", - "- One storage read to check `who` is a suspended candidate.", - "- One storage removal of the suspended candidate.", - "- Approve Logic", - "\t- One storage read to get the available pot to pay users with. O(1)", - "\t- One storage write to update the available pot. O(1)", - "\t- One storage read to get the current block number. O(1)", - "\t- One storage read to get all members. O(M)", - "\t- Up to one unreserve currency action.", - "\t- Up to two new storage writes to payouts.", - "\t- Up to one storage write with O(log M) binary search to add a member to society.", - "- Reject Logic", - "\t- Up to one repatriate reserved currency action. O(X)", - "\t- Up to one storage write to ban the vouching member from vouching again.", - "- Rebid Logic", - "\t- Storage mutate with O(log B) binary search to place the user back into bids.", - "- Up to one additional event if unvouch takes place.", - "- One storage removal.", - "- One event for the judgement.", - "", - "Total Complexity: O(M + logM + B + X)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "judgement", - "type": "Judgement" - } - ] - }, - { - "lookup": "1a0b", - "name": "set_max_members", - "docs": [ - "Allows root origin to change the maximum number of members in society.", - "Max membership count must be greater than 1.", - "", - "The dispatch origin for this call must be from _ROOT_.", - "", - "Parameters:", - "- `max` - The maximum number of members for the society.", - "", - "# \u003cweight\u003e", - "- One storage write to update the max. O(1)", - "- One event.", - "", - "Total Complexity: O(1)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "max", - "type": "U32" - } - ] - } - ], - "calls_value": { - "type": 283 - }, - "events": [ - { - "lookup": "1a00", - "name": "Founded", - "docs": [ - "The society is founded by the given identity. \\[founder\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a01", - "name": "Bid", - "docs": [ - "A membership bid just happened. The given account is the candidate's ID and their offer", - "is the second. \\[candidate_id, offer\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1a02", - "name": "Vouch", - "docs": [ - "A membership bid just happened by vouching. The given account is the candidate's ID and", - "their offer is the second. The vouching party is the third. \\[candidate_id, offer, vouching\\]" - ], - "args": [ - "[U8; 32]", - "U128", - "[U8; 32]" - ] - }, - { - "lookup": "1a03", - "name": "AutoUnbid", - "docs": [ - "A \\[candidate\\] was dropped (due to an excess of bids in the system)." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a04", - "name": "Unbid", - "docs": [ - "A \\[candidate\\] was dropped (by their request)." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a05", - "name": "Unvouch", - "docs": [ - "A \\[candidate\\] was dropped (by request of who vouched for them)." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a06", - "name": "Inducted", - "docs": [ - "A group of candidates have been inducted. The batch's primary is the first value, the", - "batch in full is the second. \\[primary, candidates\\]" - ], - "args": [ - "[U8; 32]", - "Vec\u003c[U8; 32]\u003e" - ] - }, - { - "lookup": "1a07", - "name": "SuspendedMemberJudgement", - "docs": [ - "A suspended member has been judged. \\[who, judged\\]" - ], - "args": [ - "[U8; 32]", - "Bool" - ] - }, - { - "lookup": "1a08", - "name": "CandidateSuspended", - "docs": [ - "A \\[candidate\\] has been suspended" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a09", - "name": "MemberSuspended", - "docs": [ - "A \\[member\\] has been suspended" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a0a", - "name": "Challenged", - "docs": [ - "A \\[member\\] has been challenged" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a0b", - "name": "Vote", - "docs": [ - "A vote has been placed \\[candidate, voter, vote\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "Bool" - ] - }, - { - "lookup": "1a0c", - "name": "DefenderVote", - "docs": [ - "A vote has been placed for a defending member \\[voter, vote\\]" - ], - "args": [ - "[U8; 32]", - "Bool" - ] - }, - { - "lookup": "1a0d", - "name": "NewMaxMembers", - "docs": [ - "A new \\[max\\] member count has been set" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "1a0e", - "name": "Unfounded", - "docs": [ - "Society is unfounded. \\[founder\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1a0f", - "name": "Deposit", - "docs": [ - "Some funds were deposited into the society account. \\[value\\]" - ], - "args": [ - "U128" - ] - } - ], - "events_value": { - "type": 72 - }, - "constants": [ - { - "name": "CandidateDeposit", - "type": "", - "type_value": 6, - "constants_value": "0080c6a47e8d03000000000000000000", - "docs": [ - " The minimum amount of a deposit required for a bid to be made." - ] - }, - { - "name": "WrongSideDeduction", - "type": "", - "type_value": 6, - "constants_value": "0080f420e6b500000000000000000000", - "docs": [ - " The amount of the unpaid reward that gets deducted in the case that either a skeptic", - " doesn't vote or someone votes in the wrong way." - ] - }, - { - "name": "MaxStrikes", - "type": "", - "type_value": 4, - "constants_value": "0a000000", - "docs": [ - " The number of times a member may vote the wrong way (or not at all, when they are a skeptic)", - " before they become suspended." - ] - }, - { - "name": "PeriodSpend", - "type": "", - "type_value": 6, - "constants_value": "0000c52ebca2b1000000000000000000", - "docs": [ - " The amount of incentive paid within each period. Doesn't include VoterTip." - ] - }, - { - "name": "RotationPeriod", - "type": "", - "type_value": 4, - "constants_value": "00770100", - "docs": [ - " The number of blocks between candidate/membership rotation periods." - ] - }, - { - "name": "ChallengePeriod", - "type": "", - "type_value": 4, - "constants_value": "80130300", - "docs": [ - " The number of blocks between membership challenges." - ] - }, - { - "name": "PalletId", - "type": "", - "type_value": 397, - "constants_value": "py/socie", - "docs": [ - " The societies's module id" - ] - }, - { - "name": "MaxCandidateIntake", - "type": "", - "type_value": 4, - "constants_value": "0a000000", - "docs": [ - " Maximum candidate intake per round." - ] - } - ], - "errors": [ - { - "name": "BadPosition", - "doc": [ - "An incorrect position was provided." - ] - }, - { - "name": "NotMember", - "doc": [ - "User is not a member." - ] - }, - { - "name": "AlreadyMember", - "doc": [ - "User is already a member." - ] - }, - { - "name": "Suspended", - "doc": [ - "User is suspended." - ] - }, - { - "name": "NotSuspended", - "doc": [ - "User is not suspended." - ] - }, - { - "name": "NoPayout", - "doc": [ - "Nothing to payout." - ] - }, - { - "name": "AlreadyFounded", - "doc": [ - "Society already founded." - ] - }, - { - "name": "InsufficientPot", - "doc": [ - "Not enough in pot to accept candidate." - ] - }, - { - "name": "AlreadyVouching", - "doc": [ - "Member is already vouching or banned from vouching again." - ] - }, - { - "name": "NotVouching", - "doc": [ - "Member is not vouching." - ] - }, - { - "name": "Head", - "doc": [ - "Cannot remove the head of the chain." - ] - }, - { - "name": "Founder", - "doc": [ - "Cannot remove the founder." - ] - }, - { - "name": "AlreadyBid", - "doc": [ - "User has already made a bid." - ] - }, - { - "name": "AlreadyCandidate", - "doc": [ - "User is already a candidate." - ] - }, - { - "name": "NotCandidate", - "doc": [ - "User is not a candidate." - ] - }, - { - "name": "MaxMembers", - "doc": [ - "Too many members in the society." - ] - }, - { - "name": "NotFounder", - "doc": [ - "The caller is not the founder." - ] - }, - { - "name": "NotHead", - "doc": [ - "The caller is not the head." - ] - } - ], - "errors_value": { - "type": 435 - }, - "index": 26 - }, - { - "name": "Recovery", - "prefix": "Recovery", - "storage": [ - { - "name": "Recoverable", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 436 - } - }, - "fallback": "0x00", - "docs": [ - " The set of recoverable accounts and their recovery configuration." - ] - }, - { - "name": "ActiveRecoveries", - "modifier": "Optional", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "key2Hasher": "Twox64Concat", - "value": 437 - } - }, - "fallback": "0x00", - "docs": [ - " Active recovery attempts.", - "", - " First account is the account to be recovered, and the second account", - " is the user trying to recover the account." - ] - }, - { - "name": "Proxy", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Blake2_128Concat", - "value": 0 - } - }, - "fallback": "0x00", - "docs": [ - " The list of allowed proxy accounts.", - "", - " Map from the user who can access it to the recovered account." - ] - } - ], - "calls": [ - { - "lookup": "1b00", - "name": "as_recovered", - "docs": [ - "Send a call through a recovered account.", - "", - "The dispatch origin for this call must be _Signed_ and registered to", - "be able to make calls on behalf of the recovered account.", - "", - "Parameters:", - "- `account`: The recovered account you want to make a call on-behalf-of.", - "- `call`: The call you want to make with the recovered account.", - "", - "# \u003cweight\u003e", - "- The weight of the `call` + 10,000.", - "- One storage lookup to check account is recovered by `who`. O(1)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1b01", - "name": "set_recovered", - "docs": [ - "Allow ROOT to bypass the recovery process and set an a rescuer account", - "for a lost account directly.", - "", - "The dispatch origin for this call must be _ROOT_.", - "", - "Parameters:", - "- `lost`: The \"lost account\" to be recovered.", - "- `rescuer`: The \"rescuer account\" which can call as the lost account.", - "", - "# \u003cweight\u003e", - "- One storage write O(1)", - "- One event", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "lost", - "type": "[U8; 32]" - }, - { - "name": "rescuer", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b02", - "name": "create_recovery", - "docs": [ - "Create a recovery configuration for your account. This makes your account recoverable.", - "", - "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance", - "will be reserved for storing the recovery configuration. This deposit is returned", - "in full when the user calls `remove_recovery`.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `friends`: A list of friends you trust to vouch for recovery attempts.", - " Should be ordered and contain no duplicate values.", - "- `threshold`: The number of friends that must vouch for a recovery attempt", - " before the account can be recovered. Should be less than or equal to", - " the length of the list of friends.", - "- `delay_period`: The number of blocks after a recovery attempt is initialized", - " that needs to pass before the account can be recovered.", - "", - "# \u003cweight\u003e", - "- Key: F (len of friends)", - "- One storage read to check that account is not already recoverable. O(1).", - "- A check that the friends list is sorted and unique. O(F)", - "- One currency reserve operation. O(X)", - "- One storage write. O(1). Codec O(F).", - "- One event.", - "", - "Total Complexity: O(F + X)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "friends", - "type": "Vec\u003c[U8; 32]\u003e" - }, - { - "name": "threshold", - "type": "U16" - }, - { - "name": "delay_period", - "type": "U32" - } - ] - }, - { - "lookup": "1b03", - "name": "initiate_recovery", - "docs": [ - "Initiate the process for recovering a recoverable account.", - "", - "Payment: `RecoveryDeposit` balance will be reserved for initiating the", - "recovery process. This deposit will always be repatriated to the account", - "trying to be recovered. See `close_recovery`.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `account`: The lost account that you want to recover. This account", - " needs to be recoverable (i.e. have a recovery configuration).", - "", - "# \u003cweight\u003e", - "- One storage read to check that account is recoverable. O(F)", - "- One storage read to check that this recovery process hasn't already started. O(1)", - "- One currency reserve operation. O(X)", - "- One storage read to get the current block number. O(1)", - "- One storage write. O(1).", - "- One event.", - "", - "Total Complexity: O(F + X)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b04", - "name": "vouch_recovery", - "docs": [ - "Allow a \"friend\" of a recoverable account to vouch for an active recovery", - "process for that account.", - "", - "The dispatch origin for this call must be _Signed_ and must be a \"friend\"", - "for the recoverable account.", - "", - "Parameters:", - "- `lost`: The lost account that you want to recover.", - "- `rescuer`: The account trying to rescue the lost account that you", - " want to vouch for.", - "", - "The combination of these two parameters must point to an active recovery", - "process.", - "", - "# \u003cweight\u003e", - "Key: F (len of friends in config), V (len of vouching friends)", - "- One storage read to get the recovery configuration. O(1), Codec O(F)", - "- One storage read to get the active recovery process. O(1), Codec O(V)", - "- One binary search to confirm caller is a friend. O(logF)", - "- One binary search to confirm caller has not already vouched. O(logV)", - "- One storage write. O(1), Codec O(V).", - "- One event.", - "", - "Total Complexity: O(F + logF + V + logV)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "lost", - "type": "[U8; 32]" - }, - { - "name": "rescuer", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b05", - "name": "claim_recovery", - "docs": [ - "Allow a successful rescuer to claim their recovered account.", - "", - "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"", - "who has successfully completed the account recovery process: collected", - "`threshold` or more vouches, waited `delay_period` blocks since initiation.", - "", - "Parameters:", - "- `account`: The lost account that you want to claim has been successfully", - " recovered by you.", - "", - "# \u003cweight\u003e", - "Key: F (len of friends in config), V (len of vouching friends)", - "- One storage read to get the recovery configuration. O(1), Codec O(F)", - "- One storage read to get the active recovery process. O(1), Codec O(V)", - "- One storage read to get the current block number. O(1)", - "- One storage write. O(1), Codec O(V).", - "- One event.", - "", - "Total Complexity: O(F + V)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b06", - "name": "close_recovery", - "docs": [ - "As the controller of a recoverable account, close an active recovery", - "process for your account.", - "", - "Payment: By calling this function, the recoverable account will receive", - "the recovery deposit `RecoveryDeposit` placed by the rescuer.", - "", - "The dispatch origin for this call must be _Signed_ and must be a", - "recoverable account with an active recovery process for it.", - "", - "Parameters:", - "- `rescuer`: The account trying to rescue this recoverable account.", - "", - "# \u003cweight\u003e", - "Key: V (len of vouching friends)", - "- One storage read/remove to get the active recovery process. O(1), Codec O(V)", - "- One balance call to repatriate reserved. O(X)", - "- One event.", - "", - "Total Complexity: O(V + X)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "rescuer", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1b07", - "name": "remove_recovery", - "docs": [ - "Remove the recovery process for your account. Recovered accounts are still accessible.", - "", - "NOTE: The user must make sure to call `close_recovery` on all active", - "recovery attempts before calling this function else it will fail.", - "", - "Payment: By calling this function the recoverable account will unreserve", - "their recovery configuration deposit.", - "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)", - "", - "The dispatch origin for this call must be _Signed_ and must be a", - "recoverable account (i.e. has a recovery configuration).", - "", - "# \u003cweight\u003e", - "Key: F (len of friends)", - "- One storage read to get the prefix iterator for active recoveries. O(1)", - "- One storage read/remove to get the recovery configuration. O(1), Codec O(F)", - "- One balance call to unreserved. O(X)", - "- One event.", - "", - "Total Complexity: O(F + X)", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "1b08", - "name": "cancel_recovered", - "docs": [ - "Cancel the ability to use `as_recovered` for `account`.", - "", - "The dispatch origin for this call must be _Signed_ and registered to", - "be able to make calls on behalf of the recovered account.", - "", - "Parameters:", - "- `account`: The recovered account you are able to call on-behalf-of.", - "", - "# \u003cweight\u003e", - "- One storage mutation to check account is recovered by `who`. O(1)", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "account", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 285 - }, - "events": [ - { - "lookup": "1b00", - "name": "RecoveryCreated", - "docs": [ - "A recovery process has been set up for an \\[account\\]." - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "1b01", - "name": "RecoveryInitiated", - "docs": [ - "A recovery process has been initiated for lost account by rescuer account.", - "\\[lost, rescuer\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1b02", - "name": "RecoveryVouched", - "docs": [ - "A recovery process for lost account by rescuer account has been vouched for by sender.", - "\\[lost, rescuer, sender\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1b03", - "name": "RecoveryClosed", - "docs": [ - "A recovery process for lost account by rescuer account has been closed.", - "\\[lost, rescuer\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1b04", - "name": "AccountRecovered", - "docs": [ - "Lost account has been successfully recovered by rescuer account.", - "\\[lost, rescuer\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1b05", - "name": "RecoveryRemoved", - "docs": [ - "A recovery process has been removed for an \\[account\\]." - ], - "args": [ - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 74 - }, - "constants": [ - { - "name": "ConfigDepositBase", - "type": "", - "type_value": 6, - "constants_value": "00406352bfc601000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating a recovery configuration.", - "", - " This is held for an additional storage item whose value size is", - " `2 + sizeof(BlockNumber, Balance)` bytes." - ] - }, - { - "name": "FriendDepositFactor", - "type": "", - "type_value": 6, - "constants_value": "00203d88792d00000000000000000000", - "docs": [ - " The amount of currency needed per additional user when creating a recovery configuration.", - "", - " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage value." - ] - }, - { - "name": "MaxFriends", - "type": "", - "type_value": 81, - "constants_value": "0900", - "docs": [ - " The maximum amount of friends allowed in a recovery configuration." - ] - }, - { - "name": "RecoveryDeposit", - "type": "", - "type_value": 6, - "constants_value": "00406352bfc601000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for starting a recovery.", - "", - " This is primarily held for deterring malicious recovery attempts, and should", - " have a value large enough that a bad actor would choose not to place this", - " deposit. It also acts to fund additional storage item whose value size is", - " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable", - " threshold." - ] - } - ], - "errors": [ - { - "name": "NotAllowed", - "doc": [ - "User is not allowed to make a call on behalf of this account" - ] - }, - { - "name": "ZeroThreshold", - "doc": [ - "Threshold must be greater than zero" - ] - }, - { - "name": "NotEnoughFriends", - "doc": [ - "Friends list must be greater than zero and threshold" - ] - }, - { - "name": "MaxFriends", - "doc": [ - "Friends list must be less than max friends" - ] - }, - { - "name": "NotSorted", - "doc": [ - "Friends list must be sorted and free of duplicates" - ] - }, - { - "name": "NotRecoverable", - "doc": [ - "This account is not set up for recovery" - ] - }, - { - "name": "AlreadyRecoverable", - "doc": [ - "This account is already set up for recovery" - ] - }, - { - "name": "AlreadyStarted", - "doc": [ - "A recovery process has already started for this account" - ] - }, - { - "name": "NotStarted", - "doc": [ - "A recovery process has not started for this rescuer" - ] - }, - { - "name": "NotFriend", - "doc": [ - "This account is not a friend who can vouch" - ] - }, - { - "name": "DelayPeriod", - "doc": [ - "The friend must wait until the delay period to vouch for this recovery" - ] - }, - { - "name": "AlreadyVouched", - "doc": [ - "This user has already vouched for this recovery" - ] - }, - { - "name": "Threshold", - "doc": [ - "The threshold for recovering this account has not been met" - ] - }, - { - "name": "StillActive", - "doc": [ - "There are still active recovery attempts that need to be closed" - ] - }, - { - "name": "AlreadyProxy", - "doc": [ - "This account is already set up for recovery" - ] - }, - { - "name": "BadState", - "doc": [ - "Some internal state is broken." - ] - } - ], - "errors_value": { - "type": 438 - }, - "index": 27 - }, - { - "name": "Vesting", - "prefix": "Vesting", - "storage": [ - { - "name": "Vesting", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Blake2_128Concat", - "value": 287 - } - }, - "fallback": "0x00", - "docs": [ - " Information regarding the vesting of a given account." - ] - } - ], - "calls": [ - { - "lookup": "1c00", - "name": "vest", - "docs": [ - "Unlock any vested funds of the sender account.", - "", - "The dispatch origin for this call must be _Signed_ and the sender must have funds still", - "locked under this pallet.", - "", - "Emits either `VestingCompleted` or `VestingUpdated`.", - "", - "# \u003cweight\u003e", - "- `O(1)`.", - "- DbWeight: 2 Reads, 2 Writes", - " - Reads: Vesting Storage, Balances Locks, [Sender Account]", - " - Writes: Vesting Storage, Balances Locks, [Sender Account]", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "1c01", - "name": "vest_other", - "docs": [ - "Unlock any vested funds of a `target` account.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `target`: The account whose vested funds should be unlocked. Must have funds still", - "locked under this pallet.", - "", - "Emits either `VestingCompleted` or `VestingUpdated`.", - "", - "# \u003cweight\u003e", - "- `O(1)`.", - "- DbWeight: 3 Reads, 3 Writes", - " - Reads: Vesting Storage, Balances Locks, Target Account", - " - Writes: Vesting Storage, Balances Locks, Target Account", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "target", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "1c02", - "name": "vested_transfer", - "docs": [ - "Create a vested transfer.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `target`: The account that should be transferred the vested funds.", - "- `amount`: The amount of funds to transfer and will be vested.", - "- `schedule`: The vesting schedule attached to the transfer.", - "", - "Emits `VestingCreated`.", - "", - "# \u003cweight\u003e", - "- `O(1)`.", - "- DbWeight: 3 Reads, 3 Writes", - " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]", - " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "target", - "type": "MultiAddress" - }, - { - "name": "schedule", - "type": "VestingInfo" - } - ] - }, - { - "lookup": "1c03", - "name": "force_vested_transfer", - "docs": [ - "Force a vested transfer.", - "", - "The dispatch origin for this call must be _Root_.", - "", - "- `source`: The account whose funds should be transferred.", - "- `target`: The account that should be transferred the vested funds.", - "- `amount`: The amount of funds to transfer and will be vested.", - "- `schedule`: The vesting schedule attached to the transfer.", - "", - "Emits `VestingCreated`.", - "", - "# \u003cweight\u003e", - "- `O(1)`.", - "- DbWeight: 4 Reads, 4 Writes", - " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account", - " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "source", - "type": "MultiAddress" - }, - { - "name": "target", - "type": "MultiAddress" - }, - { - "name": "schedule", - "type": "VestingInfo" - } - ] - } - ], - "calls_value": { - "type": 286 - }, - "events": [ - { - "lookup": "1c00", - "name": "VestingUpdated", - "docs": [ - "The amount vested has been updated. This could indicate more funds are available. The", - "balance given is the amount which is left unvested (and thus locked).", - "\\[account, unvested\\]" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "1c01", - "name": "VestingCompleted", - "docs": [ - "An \\[account\\] has become fully vested. No further vesting can happen." - ], - "args": [ - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 75 - }, - "constants": [ - { - "name": "MinVestedTransfer", - "type": "", - "type_value": 6, - "constants_value": "0000c16ff28623000000000000000000", - "docs": [ - " The minimum amount transferred to call `vested_transfer`." - ] - } - ], - "errors": [ - { - "name": "NotVesting", - "doc": [ - "The account given is not vesting." - ] - }, - { - "name": "ExistingVestingSchedule", - "doc": [ - "An existing vesting schedule already exists for this account that cannot be clobbered." - ] - }, - { - "name": "AmountLow", - "doc": [ - "Amount being transferred is too low to create a vesting schedule." - ] - } - ], - "errors_value": { - "type": 439 - }, - "index": 28 - }, - { - "name": "Scheduler", - "prefix": "Scheduler", - "storage": [ - { - "name": "Agenda", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 440 - } - }, - "fallback": "0x00", - "docs": [ - " Items to be executed, indexed by the block number that they should be executed on." - ] - }, - { - "name": "Lookup", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 10, - "hasher": "Twox64Concat", - "value": 77 - } - }, - "fallback": "0x00", - "docs": [ - " Lookup from identity to the block number and index of the task." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 448 - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " New networks start with last version." - ] - } - ], - "calls": [ - { - "lookup": "1d00", - "name": "schedule", - "docs": [ - "Anonymously schedule a task.", - "", - "# \u003cweight\u003e", - "- S = Number of already scheduled calls", - "2d2042617365205765696768743a2032322e3239202b202e313236202a205320c2b573", - "- DB Weight:", - " - Read: Agenda", - " - Write: Agenda", - "- Will use base weight of 25 which should be good for up to 30 scheduled calls", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "when", - "type": "U32" - }, - { - "name": "maybe_periodic", - "type": "option\u003c(U32,U32)\u003e" - }, - { - "name": "priority", - "type": "U8" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1d01", - "name": "cancel", - "docs": [ - "Cancel an anonymously scheduled task.", - "", - "# \u003cweight\u003e", - "- S = Number of already scheduled calls", - "2d2042617365205765696768743a2032322e3135202b20322e383639202a205320c2b573", - "- DB Weight:", - " - Read: Agenda", - " - Write: Agenda, Lookup", - "- Will use base weight of 100 which should be good for up to 30 scheduled calls", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "when", - "type": "U32" - }, - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "1d02", - "name": "schedule_named", - "docs": [ - "Schedule a named task.", - "", - "# \u003cweight\u003e", - "- S = Number of already scheduled calls", - "2d2042617365205765696768743a2032392e36202b202e313539202a205320c2b573", - "- DB Weight:", - " - Read: Agenda, Lookup", - " - Write: Agenda, Lookup", - "- Will use base weight of 35 which should be good for more than 30 scheduled calls", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "id", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "when", - "type": "U32" - }, - { - "name": "maybe_periodic", - "type": "option\u003c(U32,U32)\u003e" - }, - { - "name": "priority", - "type": "U8" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1d03", - "name": "cancel_named", - "docs": [ - "Cancel a named scheduled task.", - "", - "# \u003cweight\u003e", - "- S = Number of already scheduled calls", - "2d2042617365205765696768743a2032342e3931202b20322e393037202a205320c2b573", - "- DB Weight:", - " - Read: Agenda, Lookup", - " - Write: Agenda, Lookup", - "- Will use base weight of 100 which should be good for up to 30 scheduled calls", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "id", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "1d04", - "name": "schedule_after", - "docs": [ - "Anonymously schedule a task after a delay.", - "", - "# \u003cweight\u003e", - "Same as [`schedule`].", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "after", - "type": "U32" - }, - { - "name": "maybe_periodic", - "type": "option\u003c(U32,U32)\u003e" - }, - { - "name": "priority", - "type": "U8" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1d05", - "name": "schedule_named_after", - "docs": [ - "Schedule a named task after a delay.", - "", - "# \u003cweight\u003e", - "Same as [`schedule_named`](Self::schedule_named).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "id", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "after", - "type": "U32" - }, - { - "name": "maybe_periodic", - "type": "option\u003c(U32,U32)\u003e" - }, - { - "name": "priority", - "type": "U8" - }, - { - "name": "call", - "type": "Call" - } - ] - } - ], - "calls_value": { - "type": 288 - }, - "events": [ - { - "lookup": "1d00", - "name": "Scheduled", - "docs": [ - "Scheduled some task. \\[when, index\\]" - ], - "args": [ - "U32", - "U32" - ] - }, - { - "lookup": "1d01", - "name": "Canceled", - "docs": [ - "Canceled some task. \\[when, index\\]" - ], - "args": [ - "U32", - "U32" - ] - }, - { - "lookup": "1d02", - "name": "Dispatched", - "docs": [ - "Dispatched some task. \\[task, id, result\\]" - ], - "args": [ - "(U32,U32)", - "option\u003cVec\u003cU8\u003e\u003e", - "Results\u003cNULL,DispatchError\u003e" - ] - } - ], - "events_value": { - "type": 76 - }, - "constants": [ - { - "name": "MaximumWeight", - "type": "", - "type_value": 8, - "constants_value": "00806e8774010000", - "docs": [ - " The maximum weight that may be scheduled per block for any dispatchables of less priority", - " than `schedule::HARD_DEADLINE`." - ] - }, - { - "name": "MaxScheduledPerBlock", - "type": "", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " The maximum number of scheduled calls in the queue for a single block.", - " Not strictly enforced, but used for weight estimation." - ] - } - ], - "errors": [ - { - "name": "FailedToSchedule", - "doc": [ - "Failed to schedule a call" - ] - }, - { - "name": "NotFound", - "doc": [ - "Cannot find the scheduled call." - ] - }, - { - "name": "TargetBlockNumberInPast", - "doc": [ - "Given target block number is in the past." - ] - }, - { - "name": "RescheduleNoChange", - "doc": [ - "Reschedule failed because it does not change scheduled time." - ] - } - ], - "errors_value": { - "type": 449 - }, - "index": 29 - }, - { - "name": "Proxy", - "prefix": "Proxy", - "storage": [ - { - "name": "Proxies", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 450 - } - }, - "fallback": "0x0000000000000000000000000000000000", - "docs": [ - " The set of account proxies. Maps the account which has delegated to the accounts", - " which are being delegated to, together with the amount held on deposit." - ] - }, - { - "name": "Announcements", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 454 - } - }, - "fallback": "0x0000000000000000000000000000000000", - "docs": [ - " The announcements made by the proxy (key)." - ] - } - ], - "calls": [ - { - "lookup": "1e00", - "name": "proxy", - "docs": [ - "Dispatch the given `call` from an account that the sender is authorised for through", - "`add_proxy`.", - "", - "Removes any corresponding announcement(s).", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `real`: The account that the proxy will make a call on behalf of.", - "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", - "- `call`: The call to be made by the `real` account.", - "", - "# \u003cweight\u003e", - "Weight is a function of the number of proxies the user has (P).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "real", - "type": "[U8; 32]" - }, - { - "name": "force_proxy_type", - "type": "option\u003cProxyType\u003e" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1e01", - "name": "add_proxy", - "docs": [ - "Register a proxy account for the sender that is able to make calls on its behalf.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `proxy`: The account that the `caller` would like to make a proxy.", - "- `proxy_type`: The permissions allowed for this proxy account.", - "- `delay`: The announcement period required of the initial proxy. Will generally be", - "zero.", - "", - "# \u003cweight\u003e", - "Weight is a function of the number of proxies the user has (P).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "delegate", - "type": "[U8; 32]" - }, - { - "name": "proxy_type", - "type": "ProxyType" - }, - { - "name": "delay", - "type": "U32" - } - ] - }, - { - "lookup": "1e02", - "name": "remove_proxy", - "docs": [ - "Unregister a proxy account for the sender.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `proxy`: The account that the `caller` would like to remove as a proxy.", - "- `proxy_type`: The permissions currently enabled for the removed proxy account.", - "", - "# \u003cweight\u003e", - "Weight is a function of the number of proxies the user has (P).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "delegate", - "type": "[U8; 32]" - }, - { - "name": "proxy_type", - "type": "ProxyType" - }, - { - "name": "delay", - "type": "U32" - } - ] - }, - { - "lookup": "1e03", - "name": "remove_proxies", - "docs": [ - "Unregister all proxy accounts for the sender.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "WARNING: This may be called on accounts created by `anonymous`, however if done, then", - "the unreserved fees will be inaccessible. **All access to this account will be lost.**", - "", - "# \u003cweight\u003e", - "Weight is a function of the number of proxies the user has (P).", - "# \u003c/weight\u003e" - ], - "args": null - }, - { - "lookup": "1e04", - "name": "anonymous", - "docs": [ - "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", - "initialize it with a proxy of `proxy_type` for `origin` sender.", - "", - "Requires a `Signed` origin.", - "", - "- `proxy_type`: The type of the proxy that the sender will be registered as over the", - "new account. This will almost always be the most permissive `ProxyType` possible to", - "allow for maximum flexibility.", - "- `index`: A disambiguation index, in case this is called multiple times in the same", - "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", - "want to use `0`.", - "- `delay`: The announcement period required of the initial proxy. Will generally be", - "zero.", - "", - "Fails with `Duplicate` if this has already been called in this transaction, from the", - "same sender, with the same parameters.", - "", - "Fails if there are insufficient funds to pay for deposit.", - "", - "# \u003cweight\u003e", - "Weight is a function of the number of proxies the user has (P).", - "# \u003c/weight\u003e", - "TODO: Might be over counting 1 read" - ], - "args": [ - { - "name": "proxy_type", - "type": "ProxyType" - }, - { - "name": "delay", - "type": "U32" - }, - { - "name": "index", - "type": "U16" - } - ] - }, - { - "lookup": "1e05", - "name": "kill_anonymous", - "docs": [ - "Removes a previously spawned anonymous proxy.", - "", - "WARNING: **All access to this account will be lost.** Any funds held in it will be", - "inaccessible.", - "", - "Requires a `Signed` origin, and the sender account must have been created by a call to", - "`anonymous` with corresponding parameters.", - "", - "- `spawner`: The account that originally called `anonymous` to create this account.", - "- `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", - "- `proxy_type`: The proxy type originally passed to `anonymous`.", - "- `height`: The height of the chain when the call to `anonymous` was processed.", - "- `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", - "", - "Fails with `NoPermission` in case the caller is not a previously created anonymous", - "account whose `anonymous` call has corresponding parameters.", - "", - "# \u003cweight\u003e", - "Weight is a function of the number of proxies the user has (P).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "spawner", - "type": "[U8; 32]" - }, - { - "name": "proxy_type", - "type": "ProxyType" - }, - { - "name": "index", - "type": "U16" - }, - { - "name": "height", - "type": "compact\u003cU32\u003e" - }, - { - "name": "ext_index", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "1e06", - "name": "announce", - "docs": [ - "Publish the hash of a proxy-call that will be made in the future.", - "", - "This must be called some number of blocks before the corresponding `proxy` is attempted", - "if the delay associated with the proxy relationship is greater than zero.", - "", - "No more than `MaxPending` announcements may be made at any one time.", - "", - "This will take a deposit of `AnnouncementDepositFactor` as well as", - "`AnnouncementDepositBase` if there are no other pending announcements.", - "", - "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", - "", - "Parameters:", - "- `real`: The account that the proxy will make a call on behalf of.", - "- `call_hash`: The hash of the call to be made by the `real` account.", - "", - "# \u003cweight\u003e", - "Weight is a function of:", - "- A: the number of announcements made.", - "- P: the number of proxies the user has.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "real", - "type": "[U8; 32]" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1e07", - "name": "remove_announcement", - "docs": [ - "Remove a given announcement.", - "", - "May be called by a proxy account to remove a call they previously announced and return", - "the deposit.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `real`: The account that the proxy will make a call on behalf of.", - "- `call_hash`: The hash of the call to be made by the `real` account.", - "", - "# \u003cweight\u003e", - "Weight is a function of:", - "- A: the number of announcements made.", - "- P: the number of proxies the user has.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "real", - "type": "[U8; 32]" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1e08", - "name": "reject_announcement", - "docs": [ - "Remove the given announcement of a delegate.", - "", - "May be called by a target (proxied) account to remove a call that one of their delegates", - "(`delegate`) has announced they want to execute. The deposit is returned.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `delegate`: The account that previously announced the call.", - "- `call_hash`: The hash of the call to be made.", - "", - "# \u003cweight\u003e", - "Weight is a function of:", - "- A: the number of announcements made.", - "- P: the number of proxies the user has.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "delegate", - "type": "[U8; 32]" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "1e09", - "name": "proxy_announced", - "docs": [ - "Dispatch the given `call` from an account that the sender is authorized for through", - "`add_proxy`.", - "", - "Removes any corresponding announcement(s).", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Parameters:", - "- `real`: The account that the proxy will make a call on behalf of.", - "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", - "- `call`: The call to be made by the `real` account.", - "", - "# \u003cweight\u003e", - "Weight is a function of:", - "- A: the number of announcements made.", - "- P: the number of proxies the user has.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "delegate", - "type": "[U8; 32]" - }, - { - "name": "real", - "type": "[U8; 32]" - }, - { - "name": "force_proxy_type", - "type": "option\u003cProxyType\u003e" - }, - { - "name": "call", - "type": "Call" - } - ] - } - ], - "calls_value": { - "type": 290 - }, - "events": [ - { - "lookup": "1e00", - "name": "ProxyExecuted", - "docs": [ - "A proxy was executed correctly, with the given \\[result\\]." - ], - "args": [ - "Results\u003cNULL,DispatchError\u003e" - ] - }, - { - "lookup": "1e01", - "name": "AnonymousCreated", - "docs": [ - "Anonymous account has been created by new proxy with given", - "disambiguation index and proxy type. \\[anonymous, who, proxy_type, disambiguation_index\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "ProxyType", - "U16" - ] - }, - { - "lookup": "1e02", - "name": "Announced", - "docs": [ - "An announcement was placed to make a call in the future. \\[real, proxy, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 79 - }, - "constants": [ - { - "name": "ProxyDepositBase", - "type": "", - "type_value": 6, - "constants_value": "00f09e544c3900000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating a proxy.", - "", - " This is held for an additional storage item whose value size is", - " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." - ] - }, - { - "name": "ProxyDepositFactor", - "type": "", - "type_value": 6, - "constants_value": "0060aa7714b400000000000000000000", - "docs": [ - " The amount of currency needed per proxy added.", - "", - " This is held for adding 32 bytes plus an instance of `ProxyType` more into a pre-existing", - " storage value. Thus, when configuring `ProxyDepositFactor` one should take into account", - " `32 + proxy_type.encode().len()` bytes of data." - ] - }, - { - "name": "MaxProxies", - "type": "", - "type_value": 4, - "constants_value": "20000000", - "docs": [ - " The maximum amount of proxies allowed for a single account." - ] - }, - { - "name": "MaxPending", - "type": "", - "type_value": 4, - "constants_value": "20000000", - "docs": [ - " The maximum amount of time-delayed announcements that are allowed to be pending." - ] - }, - { - "name": "AnnouncementDepositBase", - "type": "", - "type_value": 6, - "constants_value": "00f09e544c3900000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating an announcement.", - "", - " This is held when a new storage item holding a `Balance` is created (typically 16 bytes)." - ] - }, - { - "name": "AnnouncementDepositFactor", - "type": "", - "type_value": 6, - "constants_value": "00c054ef286801000000000000000000", - "docs": [ - " The amount of currency needed per announcement made.", - "", - " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", - " into a pre-existing storage value." - ] - } - ], - "errors": [ - { - "name": "TooMany", - "doc": [ - "There are too many proxies registered or too many announcements pending." - ] - }, - { - "name": "NotFound", - "doc": [ - "Proxy registration not found." - ] - }, - { - "name": "NotProxy", - "doc": [ - "Sender is not a proxy of the account to be proxied." - ] - }, - { - "name": "Unproxyable", - "doc": [ - "A call which is incompatible with the proxy type's filter was attempted." - ] - }, - { - "name": "Duplicate", - "doc": [ - "Account is already a proxy." - ] - }, - { - "name": "NoPermission", - "doc": [ - "Call may not be made by proxy because it may escalate its privileges." - ] - }, - { - "name": "Unannounced", - "doc": [ - "Announcement, if made at all, was made too recently." - ] - }, - { - "name": "NoSelfProxy", - "doc": [ - "Cannot add self as proxy." - ] - } - ], - "errors_value": { - "type": 458 - }, - "index": 30 - }, - { - "name": "Multisig", - "prefix": "Multisig", - "storage": [ - { - "name": "Multisigs", - "modifier": "Optional", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 0, - "key2": 1, - "hasher": "Twox64Concat", - "key2Hasher": "Blake2_128Concat", - "value": 459 - } - }, - "fallback": "0x00", - "docs": [ - " The set of open multisig operations." - ] - }, - { - "name": "Calls", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 1, - "hasher": "Identity", - "value": 460 - } - }, - "fallback": "0x00", - "docs": null - } - ], - "calls": [ - { - "lookup": "1f00", - "name": "as_multi_threshold_1", - "docs": [ - "Immediately dispatch a multi-signature call using a single approval from the caller.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `other_signatories`: The accounts (other than the sender) who are part of the", - "multi-signature, but do not participate in the approval process.", - "- `call`: The call to be executed.", - "", - "Result is equivalent to the dispatched result.", - "", - "# \u003cweight\u003e", - "O(Z + C) where Z is the length of the call and C its execution weight.", - "-------------------------------", - "- DB Weight: None", - "- Plus Call Weight", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "other_signatories", - "type": "Vec\u003c[U8; 32]\u003e" - }, - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "1f01", - "name": "as_multi", - "docs": [ - "Register approval for a dispatch to be made from a deterministic composite account if", - "approved by a total of `threshold - 1` of `other_signatories`.", - "", - "If there are enough, then dispatch the call.", - "", - "Payment: `DepositBase` will be reserved if this is the first approval, plus", - "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", - "is cancelled.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `threshold`: The total number of approvals for this dispatch before it is executed.", - "- `other_signatories`: The accounts (other than the sender) who can approve this", - "dispatch. May not be empty.", - "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", - "not the first approval, then it must be `Some`, with the timepoint (block number and", - "transaction index) of the first approval transaction.", - "- `call`: The call to be executed.", - "", - "NOTE: Unless this is the final approval, you will generally want to use", - "`approve_as_multi` instead, since it only requires a hash of the call.", - "", - "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", - "on success, result is `Ok` and the result from the interior call, if it was executed,", - "may be found in the deposited `MultisigExecuted` event.", - "", - "# \u003cweight\u003e", - "- `O(S + Z + Call)`.", - "- Up to one balance-reserve or unreserve operation.", - "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", - " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", - "- One call encode \u0026 hash, both of complexity `O(Z)` where `Z` is tx-len.", - "- One encode \u0026 hash, both of complexity `O(S)`.", - "- Up to one binary search and insert (`O(logS + S)`).", - "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", - "- One event.", - "- The weight of the `call`.", - "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a", - " deposit taken for its lifetime of", - " `DepositBase + threshold * DepositFactor`.", - "-------------------------------", - "- DB Weight:", - " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", - " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", - "- Plus Call Weight", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "threshold", - "type": "U16" - }, - { - "name": "other_signatories", - "type": "Vec\u003c[U8; 32]\u003e" - }, - { - "name": "maybe_timepoint", - "type": "option\u003cTimepoint\u003e" - }, - { - "name": "call", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "store_call", - "type": "Bool" - }, - { - "name": "max_weight", - "type": "U64" - } - ] - }, - { - "lookup": "1f02", - "name": "approve_as_multi", - "docs": [ - "Register approval for a dispatch to be made from a deterministic composite account if", - "approved by a total of `threshold - 1` of `other_signatories`.", - "", - "Payment: `DepositBase` will be reserved if this is the first approval, plus", - "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", - "is cancelled.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `threshold`: The total number of approvals for this dispatch before it is executed.", - "- `other_signatories`: The accounts (other than the sender) who can approve this", - "dispatch. May not be empty.", - "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", - "not the first approval, then it must be `Some`, with the timepoint (block number and", - "transaction index) of the first approval transaction.", - "- `call_hash`: The hash of the call to be executed.", - "", - "NOTE: If this is the final approval, you will want to use `as_multi` instead.", - "", - "# \u003cweight\u003e", - "- `O(S)`.", - "- Up to one balance-reserve or unreserve operation.", - "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", - " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", - "- One encode \u0026 hash, both of complexity `O(S)`.", - "- Up to one binary search and insert (`O(logS + S)`).", - "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", - "- One event.", - "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a", - " deposit taken for its lifetime of", - " `DepositBase + threshold * DepositFactor`.", - "----------------------------------", - "- DB Weight:", - " - Read: Multisig Storage, [Caller Account]", - " - Write: Multisig Storage, [Caller Account]", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "threshold", - "type": "U16" - }, - { - "name": "other_signatories", - "type": "Vec\u003c[U8; 32]\u003e" - }, - { - "name": "maybe_timepoint", - "type": "option\u003cTimepoint\u003e" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - }, - { - "name": "max_weight", - "type": "U64" - } - ] - }, - { - "lookup": "1f03", - "name": "cancel_as_multi", - "docs": [ - "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", - "for this operation will be unreserved on success.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "- `threshold`: The total number of approvals for this dispatch before it is executed.", - "- `other_signatories`: The accounts (other than the sender) who can approve this", - "dispatch. May not be empty.", - "- `timepoint`: The timepoint (block number and transaction index) of the first approval", - "transaction for this dispatch.", - "- `call_hash`: The hash of the call to be executed.", - "", - "# \u003cweight\u003e", - "- `O(S)`.", - "- Up to one balance-reserve or unreserve operation.", - "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", - " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", - "- One encode \u0026 hash, both of complexity `O(S)`.", - "- One event.", - "- I/O: 1 read `O(S)`, one remove.", - "- Storage: removes one item.", - "----------------------------------", - "- DB Weight:", - " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", - " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "threshold", - "type": "U16" - }, - { - "name": "other_signatories", - "type": "Vec\u003c[U8; 32]\u003e" - }, - { - "name": "timepoint", - "type": "Timepoint" - }, - { - "name": "call_hash", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 292 - }, - "events": [ - { - "lookup": "1f00", - "name": "NewMultisig", - "docs": [ - "A new multisig operation has begun. \\[approving, multisig, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1f01", - "name": "MultisigApproval", - "docs": [ - "A multisig operation has been approved by someone.", - "\\[approving, timepoint, multisig, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "Timepoint", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "1f02", - "name": "MultisigExecuted", - "docs": [ - "A multisig operation has been executed. \\[approving, timepoint, multisig, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "Timepoint", - "[U8; 32]", - "[U8; 32]", - "Results\u003cNULL,DispatchError\u003e" - ] - }, - { - "lookup": "1f03", - "name": "MultisigCancelled", - "docs": [ - "A multisig operation has been cancelled. \\[cancelling, timepoint, multisig, call_hash\\]" - ], - "args": [ - "[U8; 32]", - "Timepoint", - "[U8; 32]", - "[U8; 32]" - ] - } - ], - "events_value": { - "type": 82 - }, - "constants": [ - { - "name": "DepositBase", - "type": "", - "type_value": 6, - "constants_value": "00f01c0adbed01000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating a multisig execution or to store", - " a dispatch call for later.", - "", - " This is held for an additional storage item whose value size is", - " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", - " `32 + sizeof(AccountId)` bytes." - ] - }, - { - "name": "DepositFactor", - "type": "", - "type_value": 6, - "constants_value": "0000cc7b9fae00000000000000000000", - "docs": [ - " The amount of currency needed per unit threshold when creating a multisig execution.", - "", - " This is held for adding 32 bytes more into a pre-existing storage value." - ] - }, - { - "name": "MaxSignatories", - "type": "", - "type_value": 81, - "constants_value": "6400", - "docs": [ - " The maximum amount of signatories allowed in the multisig." - ] - } - ], - "errors": [ - { - "name": "MinimumThreshold", - "doc": [ - "Threshold must be 2 or greater." - ] - }, - { - "name": "AlreadyApproved", - "doc": [ - "Call is already approved by this signatory." - ] - }, - { - "name": "NoApprovalsNeeded", - "doc": [ - "Call doesn't need any (more) approvals." - ] - }, - { - "name": "TooFewSignatories", - "doc": [ - "There are too few signatories in the list." - ] - }, - { - "name": "TooManySignatories", - "doc": [ - "There are too many signatories in the list." - ] - }, - { - "name": "SignatoriesOutOfOrder", - "doc": [ - "The signatories were provided out of order; they should be ordered." - ] - }, - { - "name": "SenderInSignatories", - "doc": [ - "The sender was contained in the other signatories; it shouldn't be." - ] - }, - { - "name": "NotFound", - "doc": [ - "Multisig operation not found when attempting to cancel." - ] - }, - { - "name": "NotOwner", - "doc": [ - "Only the account that originally created the multisig is able to cancel it." - ] - }, - { - "name": "NoTimepoint", - "doc": [ - "No timepoint was given, yet the multisig operation is already underway." - ] - }, - { - "name": "WrongTimepoint", - "doc": [ - "A different timepoint was given to the multisig operation that is underway." - ] - }, - { - "name": "UnexpectedTimepoint", - "doc": [ - "A timepoint was given, yet no multisig operation is underway." - ] - }, - { - "name": "MaxWeightTooLow", - "doc": [ - "The maximum weight information provided was too low." - ] - }, - { - "name": "AlreadyStored", - "doc": [ - "The data to be stored is already stored." - ] - } - ], - "errors_value": { - "type": 461 - }, - "index": 31 - }, - { - "name": "Bounties", - "prefix": "Treasury", - "storage": [ - { - "name": "BountyCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Number of bounty proposals that have been made." - ] - }, - { - "name": "Bounties", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 462 - } - }, - "fallback": "0x00", - "docs": [ - " Bounties that have been made." - ] - }, - { - "name": "BountyDescriptions", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 10 - } - }, - "fallback": "0x00", - "docs": [ - " The description of each bounty." - ] - }, - { - "name": "BountyApprovals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 92 - }, - "fallback": "0x00", - "docs": [ - " Bounty indices that have been approved but not yet funded." - ] - } - ], - "calls": [ - { - "lookup": "2000", - "name": "propose_bounty", - "docs": [ - "Propose a new bounty.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", - "`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,", - "or slashed when rejected.", - "", - "- `curator`: The curator account whom will manage this bounty.", - "- `fee`: The curator fee.", - "- `value`: The total payment amount of this bounty, curator fee included.", - "- `description`: The description of this bounty." - ], - "args": [ - { - "name": "value", - "type": "compact\u003cU128\u003e" - }, - { - "name": "description", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "2001", - "name": "approve_bounty", - "docs": [ - "Approve a bounty proposal. At a later time, the bounty will be funded and become active", - "and the original deposit will be returned.", - "", - "May only be called from `T::ApproveOrigin`.", - "", - "# \u003cweight\u003e", - "- O(1).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "bounty_id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2002", - "name": "propose_curator", - "docs": [ - "Assign a curator to a funded bounty.", - "", - "May only be called from `T::ApproveOrigin`.", - "", - "# \u003cweight\u003e", - "- O(1).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "bounty_id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "curator", - "type": "MultiAddress" - }, - { - "name": "fee", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "2003", - "name": "unassign_curator", - "docs": [ - "Unassign curator from a bounty.", - "", - "This function can only be called by the `RejectOrigin` a signed origin.", - "", - "If this function is called by the `RejectOrigin`, we assume that the curator is malicious", - "or inactive. As a result, we will slash the curator when possible.", - "", - "If the origin is the curator, we take this as a sign they are unable to do their job and", - "they willingly give up. We could slash them, but for now we allow them to recover their", - "deposit and exit without issue. (We may want to change this if it is abused.)", - "", - "Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows", - "anyone in the community to call out that a curator is not doing their due diligence, and", - "we should pick a new curator. In this case the curator should also be slashed.", - "", - "# \u003cweight\u003e", - "- O(1).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "bounty_id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2004", - "name": "accept_curator", - "docs": [ - "Accept the curator role for a bounty.", - "A deposit will be reserved from curator and refund upon successful payout.", - "", - "May only be called from the curator.", - "", - "# \u003cweight\u003e", - "- O(1).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "bounty_id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2005", - "name": "award_bounty", - "docs": [ - "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds after a delay.", - "", - "The dispatch origin for this call must be the curator of this bounty.", - "", - "- `bounty_id`: Bounty ID to award.", - "- `beneficiary`: The beneficiary account whom will receive the payout.", - "", - "# \u003cweight\u003e", - "- O(1).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "bounty_id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "beneficiary", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "2006", - "name": "claim_bounty", - "docs": [ - "Claim the payout from an awarded bounty after payout delay.", - "", - "The dispatch origin for this call must be the beneficiary of this bounty.", - "", - "- `bounty_id`: Bounty ID to claim.", - "", - "# \u003cweight\u003e", - "- O(1).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "bounty_id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2007", - "name": "close_bounty", - "docs": [ - "Cancel a proposed or active bounty. All the funds will be sent to treasury and", - "the curator deposit will be unreserved if possible.", - "", - "Only `T::RejectOrigin` is able to cancel a bounty.", - "", - "- `bounty_id`: Bounty ID to cancel.", - "", - "# \u003cweight\u003e", - "- O(1).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "bounty_id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2008", - "name": "extend_bounty_expiry", - "docs": [ - "Extend the expiry time of an active bounty.", - "", - "The dispatch origin for this call must be the curator of this bounty.", - "", - "- `bounty_id`: Bounty ID to extend.", - "- `remark`: additional information.", - "", - "# \u003cweight\u003e", - "- O(1).", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "bounty_id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "_remark", - "type": "Vec\u003cU8\u003e" - } - ] - } - ], - "calls_value": { - "type": 294 - }, - "events": [ - { - "lookup": "2000", - "name": "BountyProposed", - "docs": [ - "New bounty proposal. \\[index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2001", - "name": "BountyRejected", - "docs": [ - "A bounty proposal was rejected; funds were slashed. \\[index, bond\\]" - ], - "args": [ - "U32", - "U128" - ] - }, - { - "lookup": "2002", - "name": "BountyBecameActive", - "docs": [ - "A bounty proposal is funded and became active. \\[index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2003", - "name": "BountyAwarded", - "docs": [ - "A bounty is awarded to a beneficiary. \\[index, beneficiary\\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "2004", - "name": "BountyClaimed", - "docs": [ - "A bounty is claimed by beneficiary. \\[index, payout, beneficiary\\]" - ], - "args": [ - "U32", - "U128", - "[U8; 32]" - ] - }, - { - "lookup": "2005", - "name": "BountyCanceled", - "docs": [ - "A bounty is cancelled. \\[index\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2006", - "name": "BountyExtended", - "docs": [ - "A bounty expiry is extended. \\[index\\]" - ], - "args": [ - "U32" - ] - } - ], - "events_value": { - "type": 84 - }, - "constants": [ - { - "name": "DataDepositPerByte", - "type": "", - "type_value": 6, - "constants_value": "0010a5d4e80000000000000000000000", - "docs": [ - " The amount held on deposit per byte within bounty description." - ] - }, - { - "name": "BountyDepositBase", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " The amount held on deposit for placing a bounty proposal." - ] - }, - { - "name": "BountyDepositPayoutDelay", - "type": "", - "type_value": 4, - "constants_value": "80700000", - "docs": [ - " The delay period for which a bounty beneficiary need to wait before claim the payout." - ] - }, - { - "name": "BountyUpdatePeriod", - "type": "", - "type_value": 4, - "constants_value": "00270600", - "docs": [ - " Bounty duration in blocks." - ] - }, - { - "name": "BountyCuratorDeposit", - "type": "", - "type_value": 396, - "constants_value": "20a10700", - "docs": [ - " Percentage of the curator fee that will be reserved upfront as deposit for bounty curator." - ] - }, - { - "name": "BountyValueMinimum", - "type": "", - "type_value": 6, - "constants_value": "00406352bfc601000000000000000000", - "docs": [ - " Minimum value for a bounty." - ] - }, - { - "name": "MaximumReasonLength", - "type": "", - "type_value": 4, - "constants_value": "00400000", - "docs": [ - " Maximum acceptable reason length." - ] - } - ], - "errors": [ - { - "name": "InsufficientProposersBalance", - "doc": [ - "Proposer's balance is too low." - ] - }, - { - "name": "InvalidIndex", - "doc": [ - "No proposal or bounty at that index." - ] - }, - { - "name": "ReasonTooBig", - "doc": [ - "The reason given is just too big." - ] - }, - { - "name": "UnexpectedStatus", - "doc": [ - "The bounty status is unexpected." - ] - }, - { - "name": "RequireCurator", - "doc": [ - "Require bounty curator." - ] - }, - { - "name": "InvalidValue", - "doc": [ - "Invalid bounty value." - ] - }, - { - "name": "InvalidFee", - "doc": [ - "Invalid bounty fee." - ] - }, - { - "name": "PendingPayout", - "doc": [ - "A bounty payout is pending.", - "To cancel the bounty, you must unassign and slash the curator." - ] - }, - { - "name": "Premature", - "doc": [ - "The bounties cannot be claimed/closed because it's still in the countdown period." - ] - } - ], - "errors_value": { - "type": 464 - }, - "index": 32 - }, - { - "name": "Tips", - "prefix": "Treasury", - "storage": [ - { - "name": "Tips", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Twox64Concat", - "value": 465 - } - }, - "fallback": "0x00", - "docs": [ - " TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value.", - " This has the insecure enumerable hash function since the key itself is already", - " guaranteed to be a secure hash." - ] - }, - { - "name": "Reasons", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 9, - "hasher": "Identity", - "value": 10 - } - }, - "fallback": "0x00", - "docs": [ - " Simple preimage lookup from the reason's hash to the original data. Again, has an", - " insecure enumerable hash since the key is guaranteed to be the result of a secure hash." - ] - } - ], - "calls": [ - { - "lookup": "2100", - "name": "report_awesome", - "docs": [ - "Report something `reason` that deserves a tip and claim any eventual the finder's fee.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", - "`DataDepositPerByte` for each byte in `reason`.", - "", - "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be", - " a UTF-8-encoded URL.", - "- `who`: The account which should be credited for the tip.", - "", - "Emits `NewTip` if successful.", - "", - "# \u003cweight\u003e", - "- Complexity: `O(R)` where `R` length of `reason`.", - " - encoding and hashing of 'reason'", - "- DbReads: `Reasons`, `Tips`", - "- DbWrites: `Reasons`, `Tips`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "reason", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "who", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "2101", - "name": "retract_tip", - "docs": [ - "Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.", - "", - "If successful, the original deposit will be unreserved.", - "", - "The dispatch origin for this call must be _Signed_ and the tip identified by `hash`", - "must have been reported by the signing account through `report_awesome` (and not", - "through `tip_new`).", - "", - "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", - " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", - "", - "Emits `TipRetracted` if successful.", - "", - "# \u003cweight\u003e", - "- Complexity: `O(1)`", - " - Depends on the length of `T::Hash` which is fixed.", - "- DbReads: `Tips`, `origin account`", - "- DbWrites: `Reasons`, `Tips`, `origin account`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "2102", - "name": "tip_new", - "docs": [ - "Give a tip for something new; no finder's fee will be taken.", - "", - "The dispatch origin for this call must be _Signed_ and the signing account must be a", - "member of the `Tippers` set.", - "", - "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be", - " a UTF-8-encoded URL.", - "- `who`: The account which should be credited for the tip.", - "- `tip_value`: The amount of tip that the sender would like to give. The median tip", - " value of active tippers will be given to the `who`.", - "", - "Emits `NewTip` if successful.", - "", - "# \u003cweight\u003e", - "- Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.", - " - `O(T)`: decoding `Tipper` vec of length `T`", - " `T` is charged as upper bound given by `ContainsLengthBound`.", - " The actual cost depends on the implementation of `T::Tippers`.", - " - `O(R)`: hashing and encoding of reason of length `R`", - "- DbReads: `Tippers`, `Reasons`", - "- DbWrites: `Reasons`, `Tips`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "reason", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "who", - "type": "[U8; 32]" - }, - { - "name": "tip_value", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "2103", - "name": "tip", - "docs": [ - "Declare a tip value for an already-open tip.", - "", - "The dispatch origin for this call must be _Signed_ and the signing account must be a", - "member of the `Tippers` set.", - "", - "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", - " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary", - " account ID.", - "- `tip_value`: The amount of tip that the sender would like to give. The median tip", - " value of active tippers will be given to the `who`.", - "", - "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period", - "has started.", - "", - "# \u003cweight\u003e", - "- Complexity: `O(T)` where `T` is the number of tippers.", - " decoding `Tipper` vec of length `T`, insert tip and check closing,", - " `T` is charged as upper bound given by `ContainsLengthBound`.", - " The actual cost depends on the implementation of `T::Tippers`.", - "", - " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it", - " is weighted as if almost full i.e of length `T-1`.", - "- DbReads: `Tippers`, `Tips`", - "- DbWrites: `Tips`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "hash", - "type": "[U8; 32]" - }, - { - "name": "tip_value", - "type": "compact\u003cU128\u003e" - } - ] - }, - { - "lookup": "2104", - "name": "close_tip", - "docs": [ - "Close and payout a tip.", - "", - "The dispatch origin for this call must be _Signed_.", - "", - "The tip identified by `hash` must have finished its countdown period.", - "", - "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", - " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", - "", - "# \u003cweight\u003e", - "- Complexity: `O(T)` where `T` is the number of tippers.", - " decoding `Tipper` vec of length `T`.", - " `T` is charged as upper bound given by `ContainsLengthBound`.", - " The actual cost depends on the implementation of `T::Tippers`.", - "- DbReads: `Tips`, `Tippers`, `tip finder`", - "- DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "hash", - "type": "[U8; 32]" - } - ] - }, - { - "lookup": "2105", - "name": "slash_tip", - "docs": [ - "Remove and slash an already-open tip.", - "", - "May only be called from `T::RejectOrigin`.", - "", - "As a result, the finder is slashed and the deposits are lost.", - "", - "Emits `TipSlashed` if successful.", - "", - "# \u003cweight\u003e", - " `T` is charged as upper bound given by `ContainsLengthBound`.", - " The actual cost depends on the implementation of `T::Tippers`.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "hash", - "type": "[U8; 32]" - } - ] - } - ], - "calls_value": { - "type": 295 - }, - "events": [ - { - "lookup": "2100", - "name": "NewTip", - "docs": [ - "A new tip suggestion has been opened. \\[tip_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "2101", - "name": "TipClosing", - "docs": [ - "A tip suggestion has reached threshold and is closing. \\[tip_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "2102", - "name": "TipClosed", - "docs": [ - "A tip suggestion has been closed. \\[tip_hash, who, payout\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "2103", - "name": "TipRetracted", - "docs": [ - "A tip suggestion has been retracted. \\[tip_hash\\]" - ], - "args": [ - "[U8; 32]" - ] - }, - { - "lookup": "2104", - "name": "TipSlashed", - "docs": [ - "A tip suggestion has been slashed. \\[tip_hash, finder, deposit\\]" - ], - "args": [ - "[U8; 32]", - "[U8; 32]", - "U128" - ] - } - ], - "events_value": { - "type": 85 - }, - "constants": [ - { - "name": "TipCountdown", - "type": "", - "type_value": 4, - "constants_value": "80700000", - "docs": [ - " The period for which a tip remains open after is has achieved threshold tippers." - ] - }, - { - "name": "TipFindersFee", - "type": "", - "type_value": 205, - "constants_value": "14", - "docs": [ - " The amount of the final tip which goes to the original reporter of the tip." - ] - }, - { - "name": "TipReportDepositBase", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " The amount held on deposit for placing a tip report." - ] - }, - { - "name": "DataDepositPerByte", - "type": "", - "type_value": 6, - "constants_value": "0010a5d4e80000000000000000000000", - "docs": [ - " The amount held on deposit per byte within the tip report reason." - ] - }, - { - "name": "MaximumReasonLength", - "type": "", - "type_value": 4, - "constants_value": "00400000", - "docs": [ - " Maximum acceptable reason length." - ] - } - ], - "errors": [ - { - "name": "ReasonTooBig", - "doc": [ - "The reason given is just too big." - ] - }, - { - "name": "AlreadyKnown", - "doc": [ - "The tip was already found/started." - ] - }, - { - "name": "UnknownTip", - "doc": [ - "The tip hash is unknown." - ] - }, - { - "name": "NotFinder", - "doc": [ - "The account attempting to retract the tip is not the finder of the tip." - ] - }, - { - "name": "StillOpen", - "doc": [ - "The tip cannot be claimed/closed because there are not enough tippers yet." - ] - }, - { - "name": "Premature", - "doc": [ - "The tip cannot be claimed/closed because it's still in the countdown period." - ] - } - ], - "errors_value": { - "type": 466 - }, - "index": 33 - }, - { - "name": "Assets", - "prefix": "Assets", - "storage": [ - { - "name": "Asset", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "value": 467 - } - }, - "fallback": "0x00", - "docs": [ - " Details of an asset." - ] - }, - { - "name": "Account", - "modifier": "Default", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "key2Hasher": "Blake2_128Concat", - "value": 468 - } - }, - "fallback": "0x00000000000000000000", - "docs": [ - " The number of units of assets held by any given account." - ] - }, - { - "name": "Approvals", - "modifier": "Optional", - "type": { - "origin": "NMapType", - "n_map_type_value": { - "hashers": [ - "Blake2_128Concat", - "Blake2_128Concat", - "Blake2_128Concat" - ], - "key_vec": 469, - "value": 470 - } - }, - "fallback": "0x00", - "docs": [ - " Approved balance transfers. First balance is the amount approved for transfer. Second", - " is the amount of `T::Currency` reserved for storing this.", - " First key is the asset ID, second key is the owner and third key is the delegate." - ] - }, - { - "name": "Metadata", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "value": 471 - } - }, - "fallback": "0x0000000000000000000000000000000000000000", - "docs": [ - " Metadata of an asset." - ] - } - ], - "calls": [ - { - "lookup": "2200", - "name": "create", - "docs": [ - "Issue a new class of fungible assets from a public origin.", - "", - "This new asset class has no assets initially and its owner is the origin.", - "", - "The origin must be Signed and the sender must have sufficient funds free.", - "", - "Funds of sender are reserved by `AssetDeposit`.", - "", - "Parameters:", - "- `id`: The identifier of the new asset. This must not be currently in use to identify", - "an existing asset.", - "- `admin`: The admin of this class of assets. The admin is the initial address of each", - "member of the asset class's admin team.", - "- `min_balance`: The minimum balance of this new asset that any single account must", - "have. If an account's balance is reduced below this, then it collapses to zero.", - "", - "Emits `Created` event when successful.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "admin", - "type": "MultiAddress" - }, - { - "name": "min_balance", - "type": "U64" - } - ] - }, - { - "lookup": "2201", - "name": "force_create", - "docs": [ - "Issue a new class of fungible assets from a privileged origin.", - "", - "This new asset class has no assets initially.", - "", - "The origin must conform to `ForceOrigin`.", - "", - "Unlike `create`, no funds are reserved.", - "", - "- `id`: The identifier of the new asset. This must not be currently in use to identify", - "an existing asset.", - "- `owner`: The owner of this class of assets. The owner has full superuser permissions", - "over this asset, but may later change and configure the permissions using `transfer_ownership`", - "and `set_team`.", - "- `min_balance`: The minimum balance of this new asset that any single account must", - "have. If an account's balance is reduced below this, then it collapses to zero.", - "", - "Emits `ForceCreated` event when successful.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "owner", - "type": "MultiAddress" - }, - { - "name": "is_sufficient", - "type": "Bool" - }, - { - "name": "min_balance", - "type": "compact\u003cU64\u003e" - } - ] - }, - { - "lookup": "2202", - "name": "destroy", - "docs": [ - "Destroy a class of fungible assets.", - "", - "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", - "owner of the asset `id`.", - "", - "- `id`: The identifier of the asset to be destroyed. This must identify an existing", - "asset.", - "", - "Emits `Destroyed` event when successful.", - "", - "NOTE: It can be helpful to first freeze an asset before destroying it so that you", - "can provide accurate witness information and prevent users from manipulating state", - "in a way that can make it harder to destroy.", - "", - "Weight: `O(c + p + a)` where:", - "- `c = (witness.accounts - witness.sufficients)`", - "- `s = witness.sufficients`", - "- `a = witness.approvals`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "witness", - "type": "DestroyWitness" - } - ] - }, - { - "lookup": "2203", - "name": "mint", - "docs": [ - "Mint assets of a particular class.", - "", - "The origin must be Signed and the sender must be the Issuer of the asset `id`.", - "", - "- `id`: The identifier of the asset to have some amount minted.", - "- `beneficiary`: The account to be credited with the minted assets.", - "- `amount`: The amount of the asset to be minted.", - "", - "Emits `Issued` event when successful.", - "", - "Weight: `O(1)`", - "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "beneficiary", - "type": "MultiAddress" - }, - { - "name": "amount", - "type": "compact\u003cU64\u003e" - } - ] - }, - { - "lookup": "2204", - "name": "burn", - "docs": [ - "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", - "", - "Origin must be Signed and the sender should be the Manager of the asset `id`.", - "", - "Bails with `BalanceZero` if the `who` is already dead.", - "", - "- `id`: The identifier of the asset to have some amount burned.", - "- `who`: The account to be debited from.", - "- `amount`: The maximum amount by which `who`'s balance should be reduced.", - "", - "Emits `Burned` with the actual amount burned. If this takes the balance to below the", - "minimum for the asset, then the amount burned is increased to take it to zero.", - "", - "Weight: `O(1)`", - "Modes: Post-existence of `who`; Pre \u0026 post Zombie-status of `who`." - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "who", - "type": "MultiAddress" - }, - { - "name": "amount", - "type": "compact\u003cU64\u003e" - } - ] - }, - { - "lookup": "2205", - "name": "transfer", - "docs": [ - "Move some assets from the sender account to another.", - "", - "Origin must be Signed.", - "", - "- `id`: The identifier of the asset to have some amount transferred.", - "- `target`: The account to be credited.", - "- `amount`: The amount by which the sender's balance of assets should be reduced and", - "`target`'s balance increased. The amount actually transferred may be slightly greater in", - "the case that the transfer would otherwise take the sender balance above zero but below", - "the minimum balance. Must be greater than zero.", - "", - "Emits `Transferred` with the actual amount transferred. If this takes the source balance", - "to below the minimum for the asset, then the amount transferred is increased to take it", - "to zero.", - "", - "Weight: `O(1)`", - "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", - "`target`." - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "target", - "type": "MultiAddress" - }, - { - "name": "amount", - "type": "compact\u003cU64\u003e" - } - ] - }, - { - "lookup": "2206", - "name": "transfer_keep_alive", - "docs": [ - "Move some assets from the sender account to another, keeping the sender account alive.", - "", - "Origin must be Signed.", - "", - "- `id`: The identifier of the asset to have some amount transferred.", - "- `target`: The account to be credited.", - "- `amount`: The amount by which the sender's balance of assets should be reduced and", - "`target`'s balance increased. The amount actually transferred may be slightly greater in", - "the case that the transfer would otherwise take the sender balance above zero but below", - "the minimum balance. Must be greater than zero.", - "", - "Emits `Transferred` with the actual amount transferred. If this takes the source balance", - "to below the minimum for the asset, then the amount transferred is increased to take it", - "to zero.", - "", - "Weight: `O(1)`", - "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", - "`target`." - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "target", - "type": "MultiAddress" - }, - { - "name": "amount", - "type": "compact\u003cU64\u003e" - } - ] - }, - { - "lookup": "2207", - "name": "force_transfer", - "docs": [ - "Move some assets from one account to another.", - "", - "Origin must be Signed and the sender should be the Admin of the asset `id`.", - "", - "- `id`: The identifier of the asset to have some amount transferred.", - "- `source`: The account to be debited.", - "- `dest`: The account to be credited.", - "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", - "`dest`'s balance increased. The amount actually transferred may be slightly greater in", - "the case that the transfer would otherwise take the `source` balance above zero but", - "below the minimum balance. Must be greater than zero.", - "", - "Emits `Transferred` with the actual amount transferred. If this takes the source balance", - "to below the minimum for the asset, then the amount transferred is increased to take it", - "to zero.", - "", - "Weight: `O(1)`", - "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", - "`dest`." - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "source", - "type": "MultiAddress" - }, - { - "name": "dest", - "type": "MultiAddress" - }, - { - "name": "amount", - "type": "compact\u003cU64\u003e" - } - ] - }, - { - "lookup": "2208", - "name": "freeze", - "docs": [ - "Disallow further unprivileged transfers from an account.", - "", - "Origin must be Signed and the sender should be the Freezer of the asset `id`.", - "", - "- `id`: The identifier of the asset to be frozen.", - "- `who`: The account to be frozen.", - "", - "Emits `Frozen`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "who", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "2209", - "name": "thaw", - "docs": [ - "Allow unprivileged transfers from an account again.", - "", - "Origin must be Signed and the sender should be the Admin of the asset `id`.", - "", - "- `id`: The identifier of the asset to be frozen.", - "- `who`: The account to be unfrozen.", - "", - "Emits `Thawed`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "who", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "220a", - "name": "freeze_asset", - "docs": [ - "Disallow further unprivileged transfers for the asset class.", - "", - "Origin must be Signed and the sender should be the Freezer of the asset `id`.", - "", - "- `id`: The identifier of the asset to be frozen.", - "", - "Emits `Frozen`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "220b", - "name": "thaw_asset", - "docs": [ - "Allow unprivileged transfers for the asset again.", - "", - "Origin must be Signed and the sender should be the Admin of the asset `id`.", - "", - "- `id`: The identifier of the asset to be thawed.", - "", - "Emits `Thawed`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "220c", - "name": "transfer_ownership", - "docs": [ - "Change the Owner of an asset.", - "", - "Origin must be Signed and the sender should be the Owner of the asset `id`.", - "", - "- `id`: The identifier of the asset.", - "- `owner`: The new Owner of this asset.", - "", - "Emits `OwnerChanged`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "owner", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "220d", - "name": "set_team", - "docs": [ - "Change the Issuer, Admin and Freezer of an asset.", - "", - "Origin must be Signed and the sender should be the Owner of the asset `id`.", - "", - "- `id`: The identifier of the asset to be frozen.", - "- `issuer`: The new Issuer of this asset.", - "- `admin`: The new Admin of this asset.", - "- `freezer`: The new Freezer of this asset.", - "", - "Emits `TeamChanged`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "issuer", - "type": "MultiAddress" - }, - { - "name": "admin", - "type": "MultiAddress" - }, - { - "name": "freezer", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "220e", - "name": "set_metadata", - "docs": [ - "Set the metadata for an asset.", - "", - "Origin must be Signed and the sender should be the Owner of the asset `id`.", - "", - "Funds of sender are reserved according to the formula:", - "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", - "account any already reserved funds.", - "", - "- `id`: The identifier of the asset to update.", - "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", - "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", - "- `decimals`: The number of decimals this asset uses to represent one unit.", - "", - "Emits `MetadataSet`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "name", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "symbol", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "decimals", - "type": "U8" - } - ] - }, - { - "lookup": "220f", - "name": "clear_metadata", - "docs": [ - "Clear the metadata for an asset.", - "", - "Origin must be Signed and the sender should be the Owner of the asset `id`.", - "", - "Any deposit is freed for the asset owner.", - "", - "- `id`: The identifier of the asset to clear.", - "", - "Emits `MetadataCleared`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2210", - "name": "force_set_metadata", - "docs": [ - "Force the metadata for an asset to some value.", - "", - "Origin must be ForceOrigin.", - "", - "Any deposit is left alone.", - "", - "- `id`: The identifier of the asset to update.", - "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", - "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", - "- `decimals`: The number of decimals this asset uses to represent one unit.", - "", - "Emits `MetadataSet`.", - "", - "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "name", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "symbol", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "decimals", - "type": "U8" - }, - { - "name": "is_frozen", - "type": "Bool" - } - ] - }, - { - "lookup": "2211", - "name": "force_clear_metadata", - "docs": [ - "Clear the metadata for an asset.", - "", - "Origin must be ForceOrigin.", - "", - "Any deposit is returned.", - "", - "- `id`: The identifier of the asset to clear.", - "", - "Emits `MetadataCleared`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2212", - "name": "force_asset_status", - "docs": [ - "Alter the attributes of a given asset.", - "", - "Origin must be `ForceOrigin`.", - "", - "- `id`: The identifier of the asset.", - "- `owner`: The new Owner of this asset.", - "- `issuer`: The new Issuer of this asset.", - "- `admin`: The new Admin of this asset.", - "- `freezer`: The new Freezer of this asset.", - "- `min_balance`: The minimum balance of this new asset that any single account must", - "have. If an account's balance is reduced below this, then it collapses to zero.", - "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", - "value to account for the state bloat associated with its balance storage. If set to", - "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", - "an ED in the Balances pallet or whatever else is used to control user-account state", - "growth).", - "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", - "instructions.", - "", - "Emits `AssetStatusChanged` with the identity of the asset.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "owner", - "type": "MultiAddress" - }, - { - "name": "issuer", - "type": "MultiAddress" - }, - { - "name": "admin", - "type": "MultiAddress" - }, - { - "name": "freezer", - "type": "MultiAddress" - }, - { - "name": "min_balance", - "type": "compact\u003cU64\u003e" - }, - { - "name": "is_sufficient", - "type": "Bool" - }, - { - "name": "is_frozen", - "type": "Bool" - } - ] - }, - { - "lookup": "2213", - "name": "approve_transfer", - "docs": [ - "Approve an amount of asset for transfer by a delegated third-party account.", - "", - "Origin must be Signed.", - "", - "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", - "for the purpose of holding the approval. If some non-zero amount of assets is already", - "approved from signing account to `delegate`, then it is topped up or unreserved to", - "meet the right value.", - "", - "NOTE: The signing account does not need to own `amount` of assets at the point of", - "making this call.", - "", - "- `id`: The identifier of the asset.", - "- `delegate`: The account to delegate permission to transfer asset.", - "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", - "already an approval in place, then this acts additively.", - "", - "Emits `ApprovedTransfer` on success.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "delegate", - "type": "MultiAddress" - }, - { - "name": "amount", - "type": "compact\u003cU64\u003e" - } - ] - }, - { - "lookup": "2214", - "name": "cancel_approval", - "docs": [ - "Cancel all of some asset approved for delegated transfer by a third-party account.", - "", - "Origin must be Signed and there must be an approval in place between signer and", - "`delegate`.", - "", - "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", - "", - "- `id`: The identifier of the asset.", - "- `delegate`: The account delegated permission to transfer asset.", - "", - "Emits `ApprovalCancelled` on success.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "delegate", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "2215", - "name": "force_cancel_approval", - "docs": [ - "Cancel all of some asset approved for delegated transfer by a third-party account.", - "", - "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", - "account of the asset `id`.", - "", - "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", - "", - "- `id`: The identifier of the asset.", - "- `delegate`: The account delegated permission to transfer asset.", - "", - "Emits `ApprovalCancelled` on success.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "owner", - "type": "MultiAddress" - }, - { - "name": "delegate", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "2216", - "name": "transfer_approved", - "docs": [ - "Transfer some asset balance from a previously delegated account to some third-party", - "account.", - "", - "Origin must be Signed and there must be an approval in place by the `owner` to the", - "signer.", - "", - "If the entire amount approved for transfer is transferred, then any deposit previously", - "reserved by `approve_transfer` is unreserved.", - "", - "- `id`: The identifier of the asset.", - "- `owner`: The account which previously approved for a transfer of at least `amount` and", - "from which the asset balance will be withdrawn.", - "- `destination`: The account to which the asset balance of `amount` will be transferred.", - "- `amount`: The amount of assets to transfer.", - "", - "Emits `TransferredApproved` on success.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "id", - "type": "compact\u003cU32\u003e" - }, - { - "name": "owner", - "type": "MultiAddress" - }, - { - "name": "destination", - "type": "MultiAddress" - }, - { - "name": "amount", - "type": "compact\u003cU64\u003e" - } - ] - } - ], - "calls_value": { - "type": 296 - }, - "events": [ - { - "lookup": "2200", - "name": "Created", - "docs": [ - "Some asset class was created. \\[asset_id, creator, owner\\]" - ], - "args": [ - "U32", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "2201", - "name": "Issued", - "docs": [ - "Some assets were issued. \\[asset_id, owner, total_supply\\]" - ], - "args": [ - "U32", - "[U8; 32]", - "U64" - ] - }, - { - "lookup": "2202", - "name": "Transferred", - "docs": [ - "Some assets were transferred. \\[asset_id, from, to, amount\\]" - ], - "args": [ - "U32", - "[U8; 32]", - "[U8; 32]", - "U64" - ] - }, - { - "lookup": "2203", - "name": "Burned", - "docs": [ - "Some assets were destroyed. \\[asset_id, owner, balance\\]" - ], - "args": [ - "U32", - "[U8; 32]", - "U64" - ] - }, - { - "lookup": "2204", - "name": "TeamChanged", - "docs": [ - "The management team changed \\[asset_id, issuer, admin, freezer\\]" - ], - "args": [ - "U32", - "[U8; 32]", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "2205", - "name": "OwnerChanged", - "docs": [ - "The owner changed \\[asset_id, owner\\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "2206", - "name": "Frozen", - "docs": [ - "Some account `who` was frozen. \\[asset_id, who\\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "2207", - "name": "Thawed", - "docs": [ - "Some account `who` was thawed. \\[asset_id, who\\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "2208", - "name": "AssetFrozen", - "docs": [ - "Some asset `asset_id` was frozen. \\[asset_id\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2209", - "name": "AssetThawed", - "docs": [ - "Some asset `asset_id` was thawed. \\[asset_id\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "220a", - "name": "Destroyed", - "docs": [ - "An asset class was destroyed." - ], - "args": [ - "U32" - ] - }, - { - "lookup": "220b", - "name": "ForceCreated", - "docs": [ - "Some asset class was force-created. \\[asset_id, owner\\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "220c", - "name": "MetadataSet", - "docs": [ - "New metadata has been set for an asset. \\[asset_id, name, symbol, decimals, is_frozen\\]" - ], - "args": [ - "U32", - "Vec\u003cU8\u003e", - "Vec\u003cU8\u003e", - "U8", - "Bool" - ] - }, - { - "lookup": "220d", - "name": "MetadataCleared", - "docs": [ - "Metadata has been cleared for an asset. \\[asset_id\\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "220e", - "name": "ApprovedTransfer", - "docs": [ - "(Additional) funds have been approved for transfer to a destination account.", - "\\[asset_id, source, delegate, amount\\]" - ], - "args": [ - "U32", - "[U8; 32]", - "[U8; 32]", - "U64" - ] - }, - { - "lookup": "220f", - "name": "ApprovalCancelled", - "docs": [ - "An approval for account `delegate` was cancelled by `owner`.", - "\\[id, owner, delegate\\]" - ], - "args": [ - "U32", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "2210", - "name": "TransferredApproved", - "docs": [ - "An `amount` was transferred in its entirety from `owner` to `destination` by", - "the approved `delegate`.", - "\\[id, owner, delegate, destination\\]" - ], - "args": [ - "U32", - "[U8; 32]", - "[U8; 32]", - "[U8; 32]", - "U64" - ] - }, - { - "lookup": "2211", - "name": "AssetStatusChanged", - "docs": [ - "An asset has had its attributes changed by the `Force` origin.", - "\\[id\\]" - ], - "args": [ - "U32" - ] - } - ], - "events_value": { - "type": 86 - }, - "constants": [ - { - "name": "AssetDeposit", - "type": "", - "type_value": 6, - "constants_value": "0000c16ff28623000000000000000000", - "docs": [ - " The basic amount of funds that must be reserved for an asset." - ] - }, - { - "name": "MetadataDepositBase", - "type": "", - "type_value": 6, - "constants_value": "0080c6a47e8d03000000000000000000", - "docs": [ - " The basic amount of funds that must be reserved when adding metadata to your asset." - ] - }, - { - "name": "MetadataDepositPerByte", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " The additional funds that must be reserved for the number of bytes you store in your", - " metadata." - ] - }, - { - "name": "ApprovalDeposit", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " The amount of funds that must be reserved when creating a new approval." - ] - }, - { - "name": "StringLimit", - "type": "", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " The maximum length of a name or symbol stored on-chain." - ] - } - ], - "errors": [ - { - "name": "BalanceLow", - "doc": [ - "Account balance must be greater than or equal to the transfer amount." - ] - }, - { - "name": "BalanceZero", - "doc": [ - "Balance should be non-zero." - ] - }, - { - "name": "NoPermission", - "doc": [ - "The signing account has no permission to do the operation." - ] - }, - { - "name": "Unknown", - "doc": [ - "The given asset ID is unknown." - ] - }, - { - "name": "Frozen", - "doc": [ - "The origin account is frozen." - ] - }, - { - "name": "InUse", - "doc": [ - "The asset ID is already taken." - ] - }, - { - "name": "BadWitness", - "doc": [ - "Invalid witness data given." - ] - }, - { - "name": "MinBalanceZero", - "doc": [ - "Minimum balance should be non-zero." - ] - }, - { - "name": "NoProvider", - "doc": [ - "No provider reference exists to allow a non-zero balance of a non-self-sufficient asset." - ] - }, - { - "name": "BadMetadata", - "doc": [ - "Invalid metadata given." - ] - }, - { - "name": "Unapproved", - "doc": [ - "No approval exists that would allow the transfer." - ] - }, - { - "name": "WouldDie", - "doc": [ - "The source account would not survive the transfer and it needs to stay alive." - ] - } - ], - "errors_value": { - "type": 472 - }, - "index": 34 - }, - { - "name": "Mmr", - "prefix": "Mmr", - "storage": [ - { - "name": "RootHash", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 9 - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Latest MMR Root hash." - ] - }, - { - "name": "NumberOfLeaves", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 8 - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current size of the MMR (number of leaves)." - ] - }, - { - "name": "Nodes", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 8, - "hasher": "Identity", - "value": 9 - } - }, - "fallback": "0x00", - "docs": [ - " Hashes of the nodes in the MMR.", - "", - " Note this collection only contains MMR peaks, the inner nodes (and leaves)", - " are pruned and only stored in the Offchain DB." - ] - } - ], - "errors": null, - "errors_value": null, - "index": 35 - }, - { - "name": "Lottery", - "prefix": "Lottery", - "storage": [ - { - "name": "LotteryIndex", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": null - }, - { - "name": "Lottery", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 473 - }, - "fallback": "0x00", - "docs": [ - " The configuration for the current lottery." - ] - }, - { - "name": "Participants", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 0, - "hasher": "Twox64Concat", - "value": 474 - } - }, - "fallback": "0x0000000000", - "docs": [ - " Users who have purchased a ticket. (Lottery Index, Tickets Purchased)" - ] - }, - { - "name": "TicketsCount", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Total number of tickets sold." - ] - }, - { - "name": "Tickets", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Twox64Concat", - "value": 0 - } - }, - "fallback": "0x00", - "docs": [ - " Each ticket's owner.", - "", - " May have residual storage from previous lotteries. Use `TicketsCount` to see which ones", - " are actually valid ticket mappings." - ] - }, - { - "name": "CallIndices", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 475 - }, - "fallback": "0x00", - "docs": [ - " The calls stored in this pallet to be used in an active lottery if configured", - " by `Config::ValidateCall`." - ] - } - ], - "calls": [ - { - "lookup": "2400", - "name": "buy_ticket", - "docs": [ - "Buy a ticket to enter the lottery.", - "", - "This extrinsic acts as a passthrough function for `call`. In all", - "situations where `call` alone would succeed, this extrinsic should", - "succeed.", - "", - "If `call` is successful, then we will attempt to purchase a ticket,", - "which may fail silently. To detect success of a ticket purchase, you", - "should listen for the `TicketBought` event.", - "", - "This extrinsic must be called by a signed origin." - ], - "args": [ - { - "name": "call", - "type": "Call" - } - ] - }, - { - "lookup": "2401", - "name": "set_calls", - "docs": [ - "Set calls in storage which can be used to purchase a lottery ticket.", - "", - "This function only matters if you use the `ValidateCall` implementation", - "provided by this pallet, which uses storage to determine the valid calls.", - "", - "This extrinsic must be called by the Manager origin." - ], - "args": [ - { - "name": "calls", - "type": "Vec\u003cCall\u003e" - } - ] - }, - { - "lookup": "2402", - "name": "start_lottery", - "docs": [ - "Start a lottery using the provided configuration.", - "", - "This extrinsic must be called by the `ManagerOrigin`.", - "", - "Parameters:", - "", - "* `price`: The cost of a single ticket.", - "* `length`: How long the lottery should run for starting at the current block.", - "* `delay`: How long after the lottery end we should wait before picking a winner.", - "* `repeat`: If the lottery should repeat when completed." - ], - "args": [ - { - "name": "price", - "type": "U128" - }, - { - "name": "length", - "type": "U32" - }, - { - "name": "delay", - "type": "U32" - }, - { - "name": "repeat", - "type": "Bool" - } - ] - }, - { - "lookup": "2403", - "name": "stop_repeat", - "docs": [ - "If a lottery is repeating, you can use this to stop the repeat.", - "The lottery will continue to run to completion.", - "", - "This extrinsic must be called by the `ManagerOrigin`." - ], - "args": null - } - ], - "calls_value": { - "type": 298 - }, - "events": [ - { - "lookup": "2400", - "name": "LotteryStarted", - "docs": [ - "A lottery has been started!" - ], - "args": null - }, - { - "lookup": "2401", - "name": "CallsUpdated", - "docs": [ - "A new set of calls have been set!" - ], - "args": null - }, - { - "lookup": "2402", - "name": "Winner", - "docs": [ - "A winner has been chosen!" - ], - "args": [ - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "2403", - "name": "TicketBought", - "docs": [ - "A ticket has been bought!" - ], - "args": [ - "[U8; 32]", - "(U8,U8)" - ] - } - ], - "events_value": { - "type": 87 - }, - "constants": [ - { - "name": "PalletId", - "type": "", - "type_value": 397, - "constants_value": "py/lotto", - "docs": [ - " The Lottery's pallet id" - ] - }, - { - "name": "MaxCalls", - "type": "", - "type_value": 4, - "constants_value": "0a000000", - "docs": [ - " The max number of calls available in a single lottery." - ] - }, - { - "name": "MaxGenerateRandom", - "type": "", - "type_value": 4, - "constants_value": "0a000000", - "docs": [ - " Number of time we should try to generate a random number that has no modulo bias.", - " The larger this number, the more potential computation is used for picking the winner,", - " but also the more likely that the chosen winner is done fairly." - ] - } - ], - "errors": [ - { - "name": "NotConfigured", - "doc": [ - "A lottery has not been configured." - ] - }, - { - "name": "InProgress", - "doc": [ - "A lottery is already in progress." - ] - }, - { - "name": "AlreadyEnded", - "doc": [ - "A lottery has already ended." - ] - }, - { - "name": "InvalidCall", - "doc": [ - "The call is not valid for an open lottery." - ] - }, - { - "name": "AlreadyParticipating", - "doc": [ - "You are already participating in the lottery with this call." - ] - }, - { - "name": "TooManyCalls", - "doc": [ - "Too many calls for a single lottery." - ] - }, - { - "name": "EncodingFailed", - "doc": [ - "Failed to encode calls" - ] - } - ], - "errors_value": { - "type": 476 - }, - "index": 36 - }, - { - "name": "Gilt", - "prefix": "Gilt", - "storage": [ - { - "name": "QueueTotals", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 432 - }, - "fallback": "0x00", - "docs": [ - " The totals of items and balances within each queue. Saves a lot of storage reads in the", - " case of sparsely packed queues.", - "", - " The vector is indexed by duration in `Period`s, offset by one, so information on the queue", - " whose duration is one `Period` would be storage `0`." - ] - }, - { - "name": "Queues", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "value": 477 - } - }, - "fallback": "0x00", - "docs": [ - " The queues of bids ready to become gilts. Indexed by duration (in `Period`s)." - ] - }, - { - "name": "ActiveTotal", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 479 - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Information relating to the gilts currently active." - ] - }, - { - "name": "Active", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "value": 480 - } - }, - "fallback": "0x00", - "docs": [ - " The currently active gilts, indexed according to the order of creation." - ] - } - ], - "calls": [ - { - "lookup": "2500", - "name": "place_bid", - "docs": [ - "Place a bid for a gilt to be issued.", - "", - "Origin must be Signed, and account must have at least `amount` in free balance.", - "", - "- `amount`: The amount of the bid; these funds will be reserved. If the bid is", - "successfully elevated into an issued gilt, then these funds will continue to be", - "reserved until the gilt expires. Must be at least `MinFreeze`.", - "- `duration`: The number of periods for which the funds will be locked if the gilt is", - "issued. It will expire only after this period has elapsed after the point of issuance.", - "Must be greater than 1 and no more than `QueueCount`.", - "", - "Complexities:", - "- `Queues[duration].len()` (just take max)." - ], - "args": [ - { - "name": "amount", - "type": "compact\u003cU128\u003e" - }, - { - "name": "duration", - "type": "U32" - } - ] - }, - { - "lookup": "2501", - "name": "retract_bid", - "docs": [ - "Retract a previously placed bid.", - "", - "Origin must be Signed, and the account should have previously issued a still-active bid", - "of `amount` for `duration`.", - "", - "- `amount`: The amount of the previous bid.", - "- `duration`: The duration of the previous bid." - ], - "args": [ - { - "name": "amount", - "type": "compact\u003cU128\u003e" - }, - { - "name": "duration", - "type": "U32" - } - ] - }, - { - "lookup": "2502", - "name": "set_target", - "docs": [ - "Set target proportion of gilt-funds.", - "", - "Origin must be `AdminOrigin`.", - "", - "- `target`: The target proportion of effective issued funds that should be under gilts", - "at any one time." - ], - "args": [ - { - "name": "target", - "type": "compact\u003cU64\u003e" - } - ] - }, - { - "lookup": "2503", - "name": "thaw", - "docs": [ - "Remove an active but expired gilt. Reserved funds under gilt are freed and balance is", - "adjusted to ensure that the funds grow or shrink to maintain the equivalent proportion", - "of effective total issued funds.", - "", - "Origin must be Signed and the account must be the owner of the gilt of the given index.", - "", - "- `index`: The index of the gilt to be thawed." - ], - "args": [ - { - "name": "index", - "type": "compact\u003cU32\u003e" - } - ] - } - ], - "calls_value": { - "type": 299 - }, - "events": [ - { - "lookup": "2500", - "name": "BidPlaced", - "docs": [ - "A bid was successfully placed.", - "\\[ who, amount, duration \\]" - ], - "args": [ - "[U8; 32]", - "U128", - "U32" - ] - }, - { - "lookup": "2501", - "name": "BidRetracted", - "docs": [ - "A bid was successfully removed (before being accepted as a gilt).", - "\\[ who, amount, duration \\]" - ], - "args": [ - "[U8; 32]", - "U128", - "U32" - ] - }, - { - "lookup": "2502", - "name": "GiltIssued", - "docs": [ - "A bid was accepted as a gilt. The balance may not be released until expiry.", - "\\[ index, expiry, who, amount \\]" - ], - "args": [ - "U32", - "U32", - "[U8; 32]", - "U128" - ] - }, - { - "lookup": "2503", - "name": "GiltThawed", - "docs": [ - "An expired gilt has been thawed.", - "\\[ index, who, original_amount, additional_amount \\]" - ], - "args": [ - "U32", - "[U8; 32]", - "U128", - "U128" - ] - } - ], - "events_value": { - "type": 89 - }, - "constants": [ - { - "name": "IgnoredIssuance", - "type": "", - "type_value": 6, - "constants_value": "9c33ee170e636c010000000000000000", - "docs": [ - " The issuance to ignore. This is subtracted from the `Currency`'s `total_issuance` to get", - " the issuance by which we inflate or deflate the gilt." - ] - }, - { - "name": "QueueCount", - "type": "", - "type_value": 4, - "constants_value": "2c010000", - "docs": [ - " Number of duration queues in total. This sets the maximum duration supported, which is", - " this value multiplied by `Period`." - ] - }, - { - "name": "MaxQueueLen", - "type": "", - "type_value": 4, - "constants_value": "e8030000", - "docs": [ - " Maximum number of items that may be in each duration queue." - ] - }, - { - "name": "FifoQueueLen", - "type": "", - "type_value": 4, - "constants_value": "f4010000", - "docs": [ - " Portion of the queue which is free from ordering and just a FIFO.", - "", - " Must be no greater than `MaxQueueLen`." - ] - }, - { - "name": "Period", - "type": "", - "type_value": 4, - "constants_value": "002f0d00", - "docs": [ - " The base period for the duration queues. This is the common multiple across all", - " supported freezing durations that can be bid upon." - ] - }, - { - "name": "MinFreeze", - "type": "", - "type_value": 6, - "constants_value": "0000c16ff28623000000000000000000", - "docs": [ - " The minimum amount of funds that may be offered to freeze for a gilt. Note that this", - " does not actually limit the amount which may be frozen in a gilt since gilts may be", - " split up in order to satisfy the desired amount of funds under gilts.", - "", - " It should be at least big enough to ensure that there is no possible storage spam attack", - " or queue-filling attack." - ] - }, - { - "name": "IntakePeriod", - "type": "", - "type_value": 4, - "constants_value": "0a000000", - "docs": [ - " The number of blocks between consecutive attempts to issue more gilts in an effort to", - " get to the target amount to be frozen.", - "", - " A larger value results in fewer storage hits each block, but a slower period to get to", - " the target." - ] - }, - { - "name": "MaxIntakeBids", - "type": "", - "type_value": 4, - "constants_value": "0a000000", - "docs": [ - " The maximum amount of bids that can be turned into issued gilts each block. A larger", - " value here means less of the block available for transactions should there be a glut of", - " bids to make into gilts to reach the target." - ] - } - ], - "errors": [ - { - "name": "DurationTooSmall", - "doc": [ - "The duration of the bid is less than one." - ] - }, - { - "name": "DurationTooBig", - "doc": [ - "The duration is the bid is greater than the number of queues." - ] - }, - { - "name": "AmountTooSmall", - "doc": [ - "The amount of the bid is less than the minimum allowed." - ] - }, - { - "name": "BidTooLow", - "doc": [ - "The queue for the bid's duration is full and the amount bid is too low to get in through", - "replacing an existing bid." - ] - }, - { - "name": "Unknown", - "doc": [ - "Gilt index is unknown." - ] - }, - { - "name": "NotOwner", - "doc": [ - "Not the owner of the gilt." - ] - }, - { - "name": "NotExpired", - "doc": [ - "Gilt not yet at expiry date." - ] - }, - { - "name": "NotFound", - "doc": [ - "The given bid for retraction is not found." - ] - } - ], - "errors_value": { - "type": 481 - }, - "index": 37 - }, - { - "name": "Uniques", - "prefix": "Uniques", - "storage": [ - { - "name": "Class", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "value": 482 - } - }, - "fallback": "0x00", - "docs": [ - " Details of an asset class." - ] - }, - { - "name": "Account", - "modifier": "Optional", - "type": { - "origin": "NMapType", - "n_map_type_value": { - "hashers": [ - "Blake2_128Concat", - "Blake2_128Concat", - "Blake2_128Concat" - ], - "key_vec": 483, - "value": 42 - } - }, - "fallback": "0x00", - "docs": [ - " The assets held by any given account; set out this way so that assets owned by a single", - " account can be enumerated." - ] - }, - { - "name": "Asset", - "modifier": "Optional", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "key2": 4, - "hasher": "Blake2_128Concat", - "key2Hasher": "Blake2_128Concat", - "value": 484 - } - }, - "fallback": "0x00", - "docs": [ - " The assets in existence and their ownership details." - ] - }, - { - "name": "ClassMetadataOf", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "value": 485 - } - }, - "fallback": "0x00", - "docs": [ - " Metadata of an asset class." - ] - }, - { - "name": "InstanceMetadataOf", - "modifier": "Optional", - "type": { - "origin": "DoubleMapType", - "double_map_type_value": { - "key": 4, - "key2": 4, - "hasher": "Blake2_128Concat", - "key2Hasher": "Blake2_128Concat", - "value": 486 - } - }, - "fallback": "0x00", - "docs": [ - " Metadata of an asset instance." - ] - }, - { - "name": "Attribute", - "modifier": "Optional", - "type": { - "origin": "NMapType", - "n_map_type_value": { - "hashers": [ - "Blake2_128Concat", - "Blake2_128Concat", - "Blake2_128Concat" - ], - "key_vec": 487, - "value": 488 - } - }, - "fallback": "0x00", - "docs": [ - " Metadata of an asset class." - ] - } - ], - "calls": [ - { - "lookup": "2600", - "name": "create", - "docs": [ - "Issue a new class of non-fungible assets from a public origin.", - "", - "This new asset class has no assets initially and its owner is the origin.", - "", - "The origin must be Signed and the sender must have sufficient funds free.", - "", - "`AssetDeposit` funds of sender are reserved.", - "", - "Parameters:", - "- `class`: The identifier of the new asset class. This must not be currently in use.", - "- `admin`: The admin of this class of assets. The admin is the initial address of each", - "member of the asset class's admin team.", - "", - "Emits `Created` event when successful.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "admin", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "2601", - "name": "force_create", - "docs": [ - "Issue a new class of non-fungible assets from a privileged origin.", - "", - "This new asset class has no assets initially.", - "", - "The origin must conform to `ForceOrigin`.", - "", - "Unlike `create`, no funds are reserved.", - "", - "- `class`: The identifier of the new asset. This must not be currently in use.", - "- `owner`: The owner of this class of assets. The owner has full superuser permissions", - "over this asset, but may later change and configure the permissions using", - "`transfer_ownership` and `set_team`.", - "", - "Emits `ForceCreated` event when successful.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "owner", - "type": "MultiAddress" - }, - { - "name": "free_holding", - "type": "Bool" - } - ] - }, - { - "lookup": "2602", - "name": "destroy", - "docs": [ - "Destroy a class of fungible assets.", - "", - "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", - "owner of the asset `class`.", - "", - "- `class`: The identifier of the asset class to be destroyed.", - "- `witness`: Information on the instances minted in the asset class. This must be", - "correct.", - "", - "Emits `Destroyed` event when successful.", - "", - "Weight: `O(n + m)` where:", - "- `n = witness.instances`", - "- `m = witness.instance_metadatas`", - "- `a = witness.attributes`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "witness", - "type": "DestroyWitness" - } - ] - }, - { - "lookup": "2603", - "name": "mint", - "docs": [ - "Mint an asset instance of a particular class.", - "", - "The origin must be Signed and the sender must be the Issuer of the asset `class`.", - "", - "- `class`: The class of the asset to be minted.", - "- `instance`: The instance value of the asset to be minted.", - "- `beneficiary`: The initial owner of the minted asset.", - "", - "Emits `Issued` event when successful.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instance", - "type": "compact\u003cU32\u003e" - }, - { - "name": "owner", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "2604", - "name": "burn", - "docs": [ - "Destroy a single asset instance.", - "", - "Origin must be Signed and the sender should be the Admin of the asset `class`.", - "", - "- `class`: The class of the asset to be burned.", - "- `instance`: The instance of the asset to be burned.", - "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", - " asset is owned by this value.", - "", - "Emits `Burned` with the actual amount burned.", - "", - "Weight: `O(1)`", - "Modes: `check_owner.is_some()`." - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instance", - "type": "compact\u003cU32\u003e" - }, - { - "name": "check_owner", - "type": "option\u003cMultiAddress\u003e" - } - ] - }, - { - "lookup": "2605", - "name": "transfer", - "docs": [ - "Move an asset from the sender account to another.", - "", - "Origin must be Signed and the signing account must be either:", - "- the Admin of the asset `class`;", - "- the Owner of the asset `instance`;", - "- the approved delegate for the asset `instance` (in this case, the approval is reset).", - "", - "Arguments:", - "- `class`: The class of the asset to be transferred.", - "- `instance`: The instance of the asset to be transferred.", - "- `dest`: The account to receive ownership of the asset.", - "", - "Emits `Transferred`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instance", - "type": "compact\u003cU32\u003e" - }, - { - "name": "dest", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "2606", - "name": "redeposit", - "docs": [ - "Reevaluate the deposits on some assets.", - "", - "Origin must be Signed and the sender should be the Owner of the asset `class`.", - "", - "- `class`: The class of the asset to be frozen.", - "- `instances`: The instances of the asset class whose deposits will be reevaluated.", - "", - "NOTE: This exists as a best-effort function. Any asset instances which are unknown or", - "in the case that the owner account does not have reservable funds to pay for a", - "deposit increase are ignored. Generally the owner isn't going to call this on instances", - "whose existing deposit is less than the refreshed deposit as it would only cost them,", - "so it's of little consequence.", - "", - "It will still return an error in the case that the class is unknown of the signer is", - "not permitted to call it.", - "", - "Weight: `O(instances.len())`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instances", - "type": "Vec\u003cU32\u003e" - } - ] - }, - { - "lookup": "2607", - "name": "freeze", - "docs": [ - "Disallow further unprivileged transfer of an asset instance.", - "", - "Origin must be Signed and the sender should be the Freezer of the asset `class`.", - "", - "- `class`: The class of the asset to be frozen.", - "- `instance`: The instance of the asset to be frozen.", - "", - "Emits `Frozen`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instance", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2608", - "name": "thaw", - "docs": [ - "Re-allow unprivileged transfer of an asset instance.", - "", - "Origin must be Signed and the sender should be the Freezer of the asset `class`.", - "", - "- `class`: The class of the asset to be thawed.", - "- `instance`: The instance of the asset to be thawed.", - "", - "Emits `Thawed`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instance", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2609", - "name": "freeze_class", - "docs": [ - "Disallow further unprivileged transfers for a whole asset class.", - "", - "Origin must be Signed and the sender should be the Freezer of the asset `class`.", - "", - "- `class`: The asset class to be frozen.", - "", - "Emits `ClassFrozen`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "260a", - "name": "thaw_class", - "docs": [ - "Re-allow unprivileged transfers for a whole asset class.", - "", - "Origin must be Signed and the sender should be the Admin of the asset `class`.", - "", - "- `class`: The class to be thawed.", - "", - "Emits `ClassThawed`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "260b", - "name": "transfer_ownership", - "docs": [ - "Change the Owner of an asset class.", - "", - "Origin must be Signed and the sender should be the Owner of the asset `class`.", - "", - "- `class`: The asset class whose owner should be changed.", - "- `owner`: The new Owner of this asset class.", - "", - "Emits `OwnerChanged`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "owner", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "260c", - "name": "set_team", - "docs": [ - "Change the Issuer, Admin and Freezer of an asset class.", - "", - "Origin must be Signed and the sender should be the Owner of the asset `class`.", - "", - "- `class`: The asset class whose team should be changed.", - "- `issuer`: The new Issuer of this asset class.", - "- `admin`: The new Admin of this asset class.", - "- `freezer`: The new Freezer of this asset class.", - "", - "Emits `TeamChanged`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "issuer", - "type": "MultiAddress" - }, - { - "name": "admin", - "type": "MultiAddress" - }, - { - "name": "freezer", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "260d", - "name": "approve_transfer", - "docs": [ - "Approve an instance to be transferred by a delegated third-party account.", - "", - "Origin must be Signed and must be the owner of the asset `instance`.", - "", - "- `class`: The class of the asset to be approved for delegated transfer.", - "- `instance`: The instance of the asset to be approved for delegated transfer.", - "- `delegate`: The account to delegate permission to transfer the asset.", - "", - "Emits `ApprovedTransfer` on success.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instance", - "type": "compact\u003cU32\u003e" - }, - { - "name": "delegate", - "type": "MultiAddress" - } - ] - }, - { - "lookup": "260e", - "name": "cancel_approval", - "docs": [ - "Cancel the prior approval for the transfer of an asset by a delegate.", - "", - "Origin must be either:", - "- the `Force` origin;", - "- `Signed` with the signer being the Admin of the asset `class`;", - "- `Signed` with the signer being the Owner of the asset `instance`;", - "", - "Arguments:", - "- `class`: The class of the asset of whose approval will be cancelled.", - "- `instance`: The instance of the asset of whose approval will be cancelled.", - "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", - " which permission of transfer is delegated.", - "", - "Emits `ApprovalCancelled` on success.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instance", - "type": "compact\u003cU32\u003e" - }, - { - "name": "maybe_check_delegate", - "type": "option\u003cMultiAddress\u003e" - } - ] - }, - { - "lookup": "260f", - "name": "force_asset_status", - "docs": [ - "Alter the attributes of a given asset.", - "", - "Origin must be `ForceOrigin`.", - "", - "- `class`: The identifier of the asset.", - "- `owner`: The new Owner of this asset.", - "- `issuer`: The new Issuer of this asset.", - "- `admin`: The new Admin of this asset.", - "- `freezer`: The new Freezer of this asset.", - "- `free_holding`: Whether a deposit is taken for holding an instance of this asset", - " class.", - "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", - "instructions.", - "", - "Emits `AssetStatusChanged` with the identity of the asset.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "owner", - "type": "MultiAddress" - }, - { - "name": "issuer", - "type": "MultiAddress" - }, - { - "name": "admin", - "type": "MultiAddress" - }, - { - "name": "freezer", - "type": "MultiAddress" - }, - { - "name": "free_holding", - "type": "Bool" - }, - { - "name": "is_frozen", - "type": "Bool" - } - ] - }, - { - "lookup": "2610", - "name": "set_attribute", - "docs": [ - "Set an attribute for an asset class or instance.", - "", - "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", - "asset `class`.", - "", - "If the origin is Signed, then funds of signer are reserved according to the formula:", - "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", - "account any already reserved funds.", - "", - "- `class`: The identifier of the asset class whose instance's metadata to set.", - "- `maybe_instance`: The identifier of the asset instance whose metadata to set.", - "- `key`: The key of the attribute.", - "- `value`: The value to which to set the attribute.", - "", - "Emits `AttributeSet`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "maybe_instance", - "type": "option\u003cU32\u003e" - }, - { - "name": "key", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "value", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "2611", - "name": "clear_attribute", - "docs": [ - "Set an attribute for an asset class or instance.", - "", - "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", - "asset `class`.", - "", - "If the origin is Signed, then funds of signer are reserved according to the formula:", - "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", - "account any already reserved funds.", - "", - "- `class`: The identifier of the asset class whose instance's metadata to set.", - "- `instance`: The identifier of the asset instance whose metadata to set.", - "- `key`: The key of the attribute.", - "- `value`: The value to which to set the attribute.", - "", - "Emits `AttributeSet`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "maybe_instance", - "type": "option\u003cU32\u003e" - }, - { - "name": "key", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "2612", - "name": "set_metadata", - "docs": [ - "Set the metadata for an asset instance.", - "", - "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", - "asset `class`.", - "", - "If the origin is Signed, then funds of signer are reserved according to the formula:", - "`MetadataDepositBase + DepositPerByte * data.len` taking into", - "account any already reserved funds.", - "", - "- `class`: The identifier of the asset class whose instance's metadata to set.", - "- `instance`: The identifier of the asset instance whose metadata to set.", - "- `data`: The general information of this asset. Limited in length by `StringLimit`.", - "- `is_frozen`: Whether the metadata should be frozen against further changes.", - "", - "Emits `MetadataSet`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instance", - "type": "compact\u003cU32\u003e" - }, - { - "name": "data", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "is_frozen", - "type": "Bool" - } - ] - }, - { - "lookup": "2613", - "name": "clear_metadata", - "docs": [ - "Clear the metadata for an asset instance.", - "", - "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", - "asset `instance`.", - "", - "Any deposit is freed for the asset class owner.", - "", - "- `class`: The identifier of the asset class whose instance's metadata to clear.", - "- `instance`: The identifier of the asset instance whose metadata to clear.", - "", - "Emits `MetadataCleared`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "instance", - "type": "compact\u003cU32\u003e" - } - ] - }, - { - "lookup": "2614", - "name": "set_class_metadata", - "docs": [ - "Set the metadata for an asset class.", - "", - "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", - "the asset `class`.", - "", - "If the origin is `Signed`, then funds of signer are reserved according to the formula:", - "`MetadataDepositBase + DepositPerByte * data.len` taking into", - "account any already reserved funds.", - "", - "- `class`: The identifier of the asset whose metadata to update.", - "- `data`: The general information of this asset. Limited in length by `StringLimit`.", - "- `is_frozen`: Whether the metadata should be frozen against further changes.", - "", - "Emits `ClassMetadataSet`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - }, - { - "name": "data", - "type": "Vec\u003cU8\u003e" - }, - { - "name": "is_frozen", - "type": "Bool" - } - ] - }, - { - "lookup": "2615", - "name": "clear_class_metadata", - "docs": [ - "Clear the metadata for an asset class.", - "", - "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", - "the asset `class`.", - "", - "Any deposit is freed for the asset class owner.", - "", - "- `class`: The identifier of the asset class whose metadata to clear.", - "", - "Emits `ClassMetadataCleared`.", - "", - "Weight: `O(1)`" - ], - "args": [ - { - "name": "class", - "type": "compact\u003cU32\u003e" - } - ] - } - ], - "calls_value": { - "type": 302 - }, - "events": [ - { - "lookup": "2600", - "name": "Created", - "docs": [ - "An asset class was created. \\[ class, creator, owner \\]" - ], - "args": [ - "U32", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "2601", - "name": "ForceCreated", - "docs": [ - "An asset class was force-created. \\[ class, owner \\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "2602", - "name": "Destroyed", - "docs": [ - "An asset `class` was destroyed. \\[ class \\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2603", - "name": "Issued", - "docs": [ - "An asset `instace` was issued. \\[ class, instance, owner \\]" - ], - "args": [ - "U32", - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "2604", - "name": "Transferred", - "docs": [ - "An asset `instace` was transferred. \\[ class, instance, from, to \\]" - ], - "args": [ - "U32", - "U32", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "2605", - "name": "Burned", - "docs": [ - "An asset `instance` was destroyed. \\[ class, instance, owner \\]" - ], - "args": [ - "U32", - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "2606", - "name": "Frozen", - "docs": [ - "Some asset `instance` was frozen. \\[ class, instance \\]" - ], - "args": [ - "U32", - "U32" - ] - }, - { - "lookup": "2607", - "name": "Thawed", - "docs": [ - "Some asset `instance` was thawed. \\[ class, instance \\]" - ], - "args": [ - "U32", - "U32" - ] - }, - { - "lookup": "2608", - "name": "ClassFrozen", - "docs": [ - "Some asset `class` was frozen. \\[ class \\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2609", - "name": "ClassThawed", - "docs": [ - "Some asset `class` was thawed. \\[ class \\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "260a", - "name": "OwnerChanged", - "docs": [ - "The owner changed \\[ class, new_owner \\]" - ], - "args": [ - "U32", - "[U8; 32]" - ] - }, - { - "lookup": "260b", - "name": "TeamChanged", - "docs": [ - "The management team changed \\[ class, issuer, admin, freezer \\]" - ], - "args": [ - "U32", - "[U8; 32]", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "260c", - "name": "ApprovedTransfer", - "docs": [ - "An `instance` of an asset `class` has been approved by the `owner` for transfer by a", - "`delegate`.", - "\\[ class, instance, owner, delegate \\]" - ], - "args": [ - "U32", - "U32", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "260d", - "name": "ApprovalCancelled", - "docs": [ - "An approval for a `delegate` account to transfer the `instance` of an asset `class` was", - "cancelled by its `owner`.", - "\\[ class, instance, owner, delegate \\]" - ], - "args": [ - "U32", - "U32", - "[U8; 32]", - "[U8; 32]" - ] - }, - { - "lookup": "260e", - "name": "AssetStatusChanged", - "docs": [ - "An asset `class` has had its attributes changed by the `Force` origin.", - "\\[ class \\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "260f", - "name": "ClassMetadataSet", - "docs": [ - "New metadata has been set for an asset class. \\[ class, data, is_frozen \\]" - ], - "args": [ - "U32", - "Vec\u003cU8\u003e", - "Bool" - ] - }, - { - "lookup": "2610", - "name": "ClassMetadataCleared", - "docs": [ - "Metadata has been cleared for an asset class. \\[ class \\]" - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2611", - "name": "MetadataSet", - "docs": [ - "New metadata has been set for an asset instance.", - "\\[ class, instance, data, is_frozen \\]" - ], - "args": [ - "U32", - "U32", - "Vec\u003cU8\u003e", - "Bool" - ] - }, - { - "lookup": "2612", - "name": "MetadataCleared", - "docs": [ - "Metadata has been cleared for an asset instance. \\[ class, instance \\]" - ], - "args": [ - "U32", - "U32" - ] - }, - { - "lookup": "2613", - "name": "Redeposited", - "docs": [ - "Metadata has been cleared for an asset instance. \\[ class, successful_instances \\]" - ], - "args": [ - "U32", - "Vec\u003cU32\u003e" - ] - }, - { - "lookup": "2614", - "name": "AttributeSet", - "docs": [ - "New attribute metadata has been set for an asset class or instance.", - "\\[ class, maybe_instance, key, value \\]" - ], - "args": [ - "U32", - "option\u003cU32\u003e", - "Vec\u003cU8\u003e", - "Vec\u003cU8\u003e" - ] - }, - { - "lookup": "2615", - "name": "AttributeCleared", - "docs": [ - "Attribute metadata has been cleared for an asset class or instance.", - "\\[ class, maybe_instance, key, maybe_value \\]" - ], - "args": [ - "U32", - "option\u003cU32\u003e", - "Vec\u003cU8\u003e" - ] - } - ], - "events_value": { - "type": 90 - }, - "constants": [ - { - "name": "ClassDeposit", - "type": "", - "type_value": 6, - "constants_value": "0000c16ff28623000000000000000000", - "docs": [ - " The basic amount of funds that must be reserved for an asset class." - ] - }, - { - "name": "InstanceDeposit", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " The basic amount of funds that must be reserved for an asset instance." - ] - }, - { - "name": "MetadataDepositBase", - "type": "", - "type_value": 6, - "constants_value": "0080c6a47e8d03000000000000000000", - "docs": [ - " The basic amount of funds that must be reserved when adding metadata to your asset." - ] - }, - { - "name": "AttributeDepositBase", - "type": "", - "type_value": 6, - "constants_value": "0080c6a47e8d03000000000000000000", - "docs": [ - " The basic amount of funds that must be reserved when adding an attribute to an asset." - ] - }, - { - "name": "DepositPerByte", - "type": "", - "type_value": 6, - "constants_value": "00407a10f35a00000000000000000000", - "docs": [ - " The additional funds that must be reserved for the number of bytes store in metadata,", - " either \"normal\" metadata or attribute metadata." - ] - }, - { - "name": "StringLimit", - "type": "", - "type_value": 4, - "constants_value": "32000000", - "docs": [ - " The maximum length of data stored on-chain." - ] - }, - { - "name": "KeyLimit", - "type": "", - "type_value": 4, - "constants_value": "20000000", - "docs": [ - " The maximum length of an attribute key." - ] - }, - { - "name": "ValueLimit", - "type": "", - "type_value": 4, - "constants_value": "00010000", - "docs": [ - " The maximum length of an attribute value." - ] - } - ], - "errors": [ - { - "name": "NoPermission", - "doc": [ - "The signing account has no permission to do the operation." - ] - }, - { - "name": "Unknown", - "doc": [ - "The given asset ID is unknown." - ] - }, - { - "name": "AlreadyExists", - "doc": [ - "The asset instance ID has already been used for an asset." - ] - }, - { - "name": "WrongOwner", - "doc": [ - "The owner turned out to be different to what was expected." - ] - }, - { - "name": "BadWitness", - "doc": [ - "Invalid witness data given." - ] - }, - { - "name": "InUse", - "doc": [ - "The asset ID is already taken." - ] - }, - { - "name": "Frozen", - "doc": [ - "The asset instance or class is frozen." - ] - }, - { - "name": "WrongDelegate", - "doc": [ - "The delegate turned out to be different to what was expected." - ] - }, - { - "name": "NoDelegate", - "doc": [ - "There is no delegate approved." - ] - }, - { - "name": "Unapproved", - "doc": [ - "No approval exists that would allow the transfer." - ] - } - ], - "errors_value": { - "type": 489 - }, - "index": 38 - }, - { - "name": "TransactionStorage", - "prefix": "TransactionStorage", - "storage": [ - { - "name": "Transactions", - "modifier": "Optional", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "value": 490 - } - }, - "fallback": "0x00", - "docs": [ - " Collection of transaction metadata by block number." - ] - }, - { - "name": "ChunkCount", - "modifier": "Default", - "type": { - "origin": "MapType", - "map_type_value": { - "key": 4, - "hasher": "Blake2_128Concat", - "value": 4 - } - }, - "fallback": "0x00000000", - "docs": [ - " Count indexed chunks for each block." - ] - }, - { - "name": "ByteFee", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 6 - }, - "fallback": "0x00", - "docs": [ - " Storage fee per byte." - ] - }, - { - "name": "EntryFee", - "modifier": "Optional", - "type": { - "origin": "PlainType", - "PlainTypeValue": 6 - }, - "fallback": "0x00", - "docs": [ - " Storage fee per transaction." - ] - }, - { - "name": "MaxTransactionSize", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Maximum data set in a single transaction in bytes." - ] - }, - { - "name": "MaxBlockTransactions", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Maximum number of indexed transactions in the block." - ] - }, - { - "name": "StoragePeriod", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 4 - }, - "fallback": "0x00000000", - "docs": [ - " Storage period for data in blocks. Should match `sp_storage_proof::DEFAULT_STORAGE_PERIOD`", - " for block authoring." - ] - }, - { - "name": "BlockTransactions", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 490 - }, - "fallback": "0x00", - "docs": null - }, - { - "name": "ProofChecked", - "modifier": "Default", - "type": { - "origin": "PlainType", - "PlainTypeValue": 34 - }, - "fallback": "0x00", - "docs": [ - " Was the proof checked in this block?" - ] - } - ], - "calls": [ - { - "lookup": "2700", - "name": "store", - "docs": [ - "Index and store data on chain. Minimum data size is 1 bytes, maximum is `MaxTransactionSize`.", - "Data will be removed after `STORAGE_PERIOD` blocks, unless `renew` is called.", - "# \u003cweight\u003e", - "- n*log(n) of data size, as all data is pushed to an in-memory trie.", - "Additionally contains a DB write.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "data", - "type": "Vec\u003cU8\u003e" - } - ] - }, - { - "lookup": "2701", - "name": "renew", - "docs": [ - "Renew previously stored data. Parameters are the block number that contains", - "previous `store` or `renew` call and transaction index within that block.", - "Transaction index is emitted in the `Stored` or `Renewed` event.", - "Applies same fees as `store`.", - "# \u003cweight\u003e", - "- Constant.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "block", - "type": "U32" - }, - { - "name": "index", - "type": "U32" - } - ] - }, - { - "lookup": "2702", - "name": "check_proof", - "docs": [ - "Check storage proof for block number `block_number() - StoragePeriod`.", - "If such block does not exist the proof is expected to be `None`.", - "# \u003cweight\u003e", - "- Linear w.r.t the number of indexed transactions in the proved block for random probing.", - "There's a DB read for each transaction.", - "Here we assume a maximum of 100 probed transactions.", - "# \u003c/weight\u003e" - ], - "args": [ - { - "name": "proof", - "type": "TransactionStorageProof" - } - ] - } - ], - "calls_value": { - "type": 305 - }, - "events": [ - { - "lookup": "2700", - "name": "Stored", - "docs": [ - "Stored data under specified index." - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2701", - "name": "Renewed", - "docs": [ - "Renewed data under specified index." - ], - "args": [ - "U32" - ] - }, - { - "lookup": "2702", - "name": "ProofChecked", - "docs": [ - "Storage proof was successfully checked." - ], - "args": null - } - ], - "events_value": { - "type": 96 - }, - "errors": [ - { - "name": "InsufficientFunds", - "doc": [ - "Insufficient account balance." - ] - }, - { - "name": "NotConfigured", - "doc": [ - "Invalid configuration." - ] - }, - { - "name": "RenewedNotFound", - "doc": [ - "Renewed extrinsic is not found." - ] - }, - { - "name": "EmptyTransaction", - "doc": [ - "Attempting to store empty transaction" - ] - }, - { - "name": "UnexpectedProof", - "doc": [ - "Proof was not expected in this block." - ] - }, - { - "name": "InvalidProof", - "doc": [ - "Proof failed verification." - ] - }, - { - "name": "MissingProof", - "doc": [ - "Missing storage proof." - ] - }, - { - "name": "MissingStateData", - "doc": [ - "Unable to verify proof becasue state data is missing." - ] - }, - { - "name": "DoubleCheck", - "doc": [ - "Double proof check in the block." - ] - }, - { - "name": "ProofNotChecked", - "doc": [ - "Storage proof was not checked in the block." - ] - }, - { - "name": "TransactionTooLarge", - "doc": [ - "Transaction is too large." - ] - }, - { - "name": "TooManyTransactions", - "doc": [ - "Too many transactions in the block." - ] - }, - { - "name": "BadContext", - "doc": [ - "Attempted to call `store` outside of block execution." - ] - } - ], - "errors_value": { - "type": 492 - }, - "index": 39 - } - ] -} \ No newline at end of file diff --git a/static/v13.json b/static/v13.json deleted file mode 100644 index 4986390..0000000 --- a/static/v13.json +++ /dev/null @@ -1,16222 +0,0 @@ -{ - "magicNumber": 1635018093, - "metadata": { - "v13": { - "modules": [ - { - "name": "System", - "storage": { - "prefix": "System", - "items": [ - { - "name": "Account", - "modifier": "Default", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AccountId", - "value": "AccountInfo", - "linked": false - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The full account information for a particular account ID." - ] - }, - { - "name": "ExtrinsicCount", - "modifier": "Optional", - "type": { - "plain": "u32" - }, - "fallback": "0x00", - "docs": [ - " Total extrinsics count for the current block." - ] - }, - { - "name": "BlockWeight", - "modifier": "Default", - "type": { - "plain": "ConsumedWeight" - }, - "fallback": "0x000000000000000000000000000000000000000000000000", - "docs": [ - " The current weight for the block." - ] - }, - { - "name": "AllExtrinsicsLen", - "modifier": "Optional", - "type": { - "plain": "u32" - }, - "fallback": "0x00", - "docs": [ - " Total length (in bytes) for all extrinsics put together, for the current block." - ] - }, - { - "name": "BlockHash", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "BlockNumber", - "value": "Hash", - "linked": false - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Map of block numbers to block hashes." - ] - }, - { - "name": "ExtrinsicData", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "u32", - "value": "Bytes", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Extrinsics data for the current block (maps an extrinsic's index to its data)." - ] - }, - { - "name": "Number", - "modifier": "Default", - "type": { - "plain": "BlockNumber" - }, - "fallback": "0x00000000", - "docs": [ - " The current block number being processed. Set by `execute_block`." - ] - }, - { - "name": "ParentHash", - "modifier": "Default", - "type": { - "plain": "Hash" - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Hash of the previous block." - ] - }, - { - "name": "Digest", - "modifier": "Default", - "type": { - "plain": "DigestOf" - }, - "fallback": "0x00", - "docs": [ - " Digest of the current block, also part of the block header." - ] - }, - { - "name": "Events", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " Events deposited for the current block." - ] - }, - { - "name": "EventCount", - "modifier": "Default", - "type": { - "plain": "EventIndex" - }, - "fallback": "0x00000000", - "docs": [ - " The number of events in the `Events` list." - ] - }, - { - "name": "EventTopics", - "modifier": "Default", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "Hash", - "value": "Vec<(BlockNumber,EventIndex)>", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Mapping between a topic (represented by T::Hash) and a vector of indexes", - " of events in the `>` list.", - "", - " All topic vectors have deterministic storage locations depending on the topic. This", - " allows light-clients to leverage the changes trie storage tracking mechanism and", - " in case of changes fetch the list of events of interest.", - "", - " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", - " the `EventIndex` then in case if the topic has the same contents on the next block", - " no notification will be triggered thus the event might be lost." - ] - }, - { - "name": "LastRuntimeUpgrade", - "modifier": "Optional", - "type": { - "plain": "LastRuntimeUpgradeInfo" - }, - "fallback": "0x00", - "docs": [ - " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." - ] - }, - { - "name": "UpgradedToU32RefCount", - "modifier": "Default", - "type": { - "plain": "bool" - }, - "fallback": "0x00", - "docs": [ - " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." - ] - }, - { - "name": "UpgradedToTripleRefCount", - "modifier": "Default", - "type": { - "plain": "bool" - }, - "fallback": "0x00", - "docs": [ - " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", - " (default) if not." - ] - }, - { - "name": "ExecutionPhase", - "modifier": "Optional", - "type": { - "plain": "Phase" - }, - "fallback": "0x00", - "docs": [ - " The execution phase of the block." - ] - } - ] - }, - "calls": [ - { - "name": "fill_block", - "args": [ - { - "name": "_ratio", - "type": "Perbill" - } - ], - "docs": [ - " A dispatch that will fill the block weight up to the given ratio." - ] - }, - { - "name": "remark", - "args": [ - { - "name": "_remark", - "type": "Bytes" - } - ], - "docs": [ - " Make some on-chain remark.", - "", - " # ", - " - `O(1)`", - " # " - ] - }, - { - "name": "set_heap_pages", - "args": [ - { - "name": "pages", - "type": "u64" - } - ], - "docs": [ - " Set the number of pages in the WebAssembly environment's heap.", - "", - " # ", - " - `O(1)`", - " - 1 storage write.", - " - Base Weight: 1.405 µs", - " - 1 write to HEAP_PAGES", - " # " - ] - }, - { - "name": "set_code", - "args": [ - { - "name": "code", - "type": "Bytes" - } - ], - "docs": [ - " Set the new runtime code.", - "", - " # ", - " - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", - " - 1 storage write (codec `O(C)`).", - " - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive).", - " - 1 event.", - " The weight of this function is dependent on the runtime, but generally this is very expensive.", - " We will treat this as a full block.", - " # " - ] - }, - { - "name": "set_code_without_checks", - "args": [ - { - "name": "code", - "type": "Bytes" - } - ], - "docs": [ - " Set the new runtime code without doing any checks of the given `code`.", - "", - " # ", - " - `O(C)` where `C` length of `code`", - " - 1 storage write (codec `O(C)`).", - " - 1 event.", - " The weight of this function is dependent on the runtime. We will treat this as a full block.", - " # " - ] - }, - { - "name": "set_changes_trie_config", - "args": [ - { - "name": "changes_trie_config", - "type": "Option" - } - ], - "docs": [ - " Set the new changes trie configuration.", - "", - " # ", - " - `O(1)`", - " - 1 storage write or delete (codec `O(1)`).", - " - 1 call to `deposit_log`: Uses `append` API, so O(1)", - " - Base Weight: 7.218 µs", - " - DB Weight:", - " - Writes: Changes Trie, System Digest", - " # " - ] - }, - { - "name": "set_storage", - "args": [ - { - "name": "items", - "type": "Vec" - } - ], - "docs": [ - " Set some items of storage.", - "", - " # ", - " - `O(I)` where `I` length of `items`", - " - `I` storage writes (`O(1)`).", - " - Base Weight: 0.568 * i µs", - " - Writes: Number of items", - " # " - ] - }, - { - "name": "kill_storage", - "args": [ - { - "name": "keys", - "type": "Vec" - } - ], - "docs": [ - " Kill some items from storage.", - "", - " # ", - " - `O(IK)` where `I` length of `keys` and `K` length of one key", - " - `I` storage deletions.", - " - Base Weight: .378 * i µs", - " - Writes: Number of items", - " # " - ] - }, - { - "name": "kill_prefix", - "args": [ - { - "name": "prefix", - "type": "Key" - }, - { - "name": "_subkeys", - "type": "u32" - } - ], - "docs": [ - " Kill all storage items with a key that starts with the given prefix.", - "", - " **NOTE:** We rely on the Root origin to provide us the number of subkeys under", - " the prefix we are removing to accurately calculate the weight of this function.", - "", - " # ", - " - `O(P)` where `P` amount of keys with prefix `prefix`", - " - `P` storage deletions.", - " - Base Weight: 0.834 * P µs", - " - Writes: Number of subkeys + 1", - " # " - ] - }, - { - "name": "remark_with_event", - "args": [ - { - "name": "remark", - "type": "Bytes" - } - ], - "docs": [ - " Make some on-chain remark and emit event.", - "", - " # ", - " - `O(b)` where b is the length of the remark.", - " - 1 event.", - " # " - ] - } - ], - "events": [ - { - "name": "ExtrinsicSuccess", - "args": [ - "DispatchInfo" - ], - "docs": [ - " An extrinsic completed successfully. \\[info\\]" - ] - }, - { - "name": "ExtrinsicFailed", - "args": [ - "DispatchError", - "DispatchInfo" - ], - "docs": [ - " An extrinsic failed. \\[error, info\\]" - ] - }, - { - "name": "CodeUpdated", - "args": [], - "docs": [ - " `:code` was updated." - ] - }, - { - "name": "NewAccount", - "args": [ - "AccountId" - ], - "docs": [ - " A new \\[account\\] was created." - ] - }, - { - "name": "KilledAccount", - "args": [ - "AccountId" - ], - "docs": [ - " An \\[account\\] was reaped." - ] - }, - { - "name": "Remarked", - "args": [ - "AccountId", - "Hash" - ], - "docs": [ - " On on-chain remark happened. \\[origin, remark_hash\\]" - ] - } - ], - "constants": [ - { - "name": "BlockWeights", - "type": "BlockWeights", - "value": "0x00f2052a0100000000204aa9d1010000405973070000000001c06e96a62e010000010098f73e5d010000010000000000000000405973070000000001c0f6e810a30100000100204aa9d1010000010088526a740000004059730700000000000000", - "docs": [ - " Block & extrinsics weights: base values and limits." - ] - }, - { - "name": "BlockLength", - "type": "BlockLength", - "value": "0x00003c000000500000005000", - "docs": [ - " The maximum length of a block (in bytes)." - ] - }, - { - "name": "BlockHashCount", - "type": "BlockNumber", - "value": "0x60090000", - "docs": [ - " Maximum number of block number to block hash mappings to keep (oldest pruned first)." - ] - }, - { - "name": "DbWeight", - "type": "RuntimeDbWeight", - "value": "0x40787d010000000000e1f50500000000", - "docs": [ - " The weight of runtime database operations the runtime can invoke." - ] - }, - { - "name": "Version", - "type": "RuntimeVersion", - "value": "0x106e6f6465387375627374726174652d6e6f64650a0000000b0100000000000034df6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000ed99c5acb25eedf502000000cbca25e39f14238702000000687ad44ad37f03c201000000bc9d89904f5b923f0100000068b66ba122c93fa70100000037c8bb1350a9a2a80100000091d5df18b0d2cf5801000000ab3c0572291feb8b0100000002000000", - "docs": [ - " Get the chain's current version." - ] - }, - { - "name": "SS58Prefix", - "type": "u16", - "value": "0x2a00", - "docs": [ - " The designated SS85 prefix of this chain.", - "", - " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", - " that the runtime should know about the prefix in order to make use of it as", - " an identifier of the chain." - ] - } - ], - "errors": [ - { - "name": "InvalidSpecName", - "docs": [ - " The name of specification does not match between the current runtime", - " and the new runtime." - ] - }, - { - "name": "SpecVersionNeedsToIncrease", - "docs": [ - " The specification version is not allowed to decrease between the current runtime", - " and the new runtime." - ] - }, - { - "name": "FailedToExtractRuntimeVersion", - "docs": [ - " Failed to extract the runtime version from the new runtime.", - "", - " Either calling `Core_version` or decoding `RuntimeVersion` failed." - ] - }, - { - "name": "NonDefaultComposite", - "docs": [ - " Suicide called when the account has non-default composite data." - ] - }, - { - "name": "NonZeroRefCount", - "docs": [ - " There is a non-zero reference count preventing the account from being purged." - ] - } - ], - "index": 0 - }, - { - "name": "Utility", - "storage": null, - "calls": [ - { - "name": "batch", - "args": [ - { - "name": "calls", - "type": "Vec" - } - ], - "docs": [ - " Send a batch of dispatch calls.", - "", - " May be called from any origin.", - "", - " - `calls`: The calls to be dispatched from the same origin.", - "", - " If origin is root then call are dispatch without checking origin filter. (This includes", - " bypassing `frame_system::Config::BaseCallFilter`).", - "", - " # ", - " - Complexity: O(C) where C is the number of calls to be batched.", - " # ", - "", - " This will return `Ok` in all circumstances. To determine the success of the batch, an", - " event is deposited. If a call failed and the batch was interrupted, then the", - " `BatchInterrupted` event is deposited, along with the number of successful calls made", - " and the error of the failed call. If all were successful, then the `BatchCompleted`", - " event is deposited." - ] - }, - { - "name": "as_derivative", - "args": [ - { - "name": "index", - "type": "u16" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Send a call through an indexed pseudonym of the sender.", - "", - " Filter from origin are passed along. The call will be dispatched with an origin which", - " use the same filter as the origin of this call.", - "", - " NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", - " because you expect `proxy` to have been used prior in the call stack and you do not want", - " the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", - " in the Multisig pallet instead.", - "", - " NOTE: Prior to version *12, this was called `as_limited_sub`.", - "", - " The dispatch origin for this call must be _Signed_." - ] - }, - { - "name": "batch_all", - "args": [ - { - "name": "calls", - "type": "Vec" - } - ], - "docs": [ - " Send a batch of dispatch calls and atomically execute them.", - " The whole transaction will rollback and fail if any of the calls failed.", - "", - " May be called from any origin.", - "", - " - `calls`: The calls to be dispatched from the same origin.", - "", - " If origin is root then call are dispatch without checking origin filter. (This includes", - " bypassing `frame_system::Config::BaseCallFilter`).", - "", - " # ", - " - Complexity: O(C) where C is the number of calls to be batched.", - " # " - ] - } - ], - "events": [ - { - "name": "BatchInterrupted", - "args": [ - "u32", - "DispatchError" - ], - "docs": [ - " Batch of dispatches did not complete fully. Index of first failing dispatch given, as", - " well as the error. \\[index, error\\]" - ] - }, - { - "name": "BatchCompleted", - "args": [], - "docs": [ - " Batch of dispatches completed fully with no error." - ] - } - ], - "constants": [], - "errors": [], - "index": 1 - }, - { - "name": "Babe", - "storage": { - "prefix": "Babe", - "items": [ - { - "name": "EpochIndex", - "modifier": "Default", - "type": { - "plain": "u64" - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current epoch index." - ] - }, - { - "name": "Authorities", - "modifier": "Default", - "type": { - "plain": "Vec<(AuthorityId,BabeAuthorityWeight)>" - }, - "fallback": "0x00", - "docs": [ - " Current epoch authorities." - ] - }, - { - "name": "GenesisSlot", - "modifier": "Default", - "type": { - "plain": "Slot" - }, - "fallback": "0x0000000000000000", - "docs": [ - " The slot at which the first epoch actually started. This is 0", - " until the first block of the chain." - ] - }, - { - "name": "CurrentSlot", - "modifier": "Default", - "type": { - "plain": "Slot" - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current slot number." - ] - }, - { - "name": "Randomness", - "modifier": "Default", - "type": { - "plain": "Randomness" - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The epoch randomness for the *current* epoch.", - "", - " # Security", - "", - " This MUST NOT be used for gambling, as it can be influenced by a", - " malicious validator in the short term. It MAY be used in many", - " cryptographic protocols, however, so long as one remembers that this", - " (like everything else on-chain) it is public. For example, it can be", - " used where a number is needed that cannot have been chosen by an", - " adversary, for purposes such as public-coin zero-knowledge proofs." - ] - }, - { - "name": "PendingEpochConfigChange", - "modifier": "Optional", - "type": { - "plain": "NextConfigDescriptor" - }, - "fallback": "0x00", - "docs": [ - " Pending epoch configuration change that will be applied when the next epoch is enacted." - ] - }, - { - "name": "NextRandomness", - "modifier": "Default", - "type": { - "plain": "Randomness" - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Next epoch randomness." - ] - }, - { - "name": "NextAuthorities", - "modifier": "Default", - "type": { - "plain": "Vec<(AuthorityId,BabeAuthorityWeight)>" - }, - "fallback": "0x00", - "docs": [ - " Next epoch authorities." - ] - }, - { - "name": "SegmentIndex", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " Randomness under construction.", - "", - " We make a tradeoff between storage accesses and list length.", - " We store the under-construction randomness in segments of up to", - " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.", - "", - " Once a segment reaches this length, we begin the next one.", - " We reset all segments and return to `0` at the beginning of every", - " epoch." - ] - }, - { - "name": "UnderConstruction", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "u32", - "value": "Vec", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay." - ] - }, - { - "name": "Initialized", - "modifier": "Optional", - "type": { - "plain": "MaybeRandomness" - }, - "fallback": "0x00", - "docs": [ - " Temporary value (cleared at block finalization) which is `Some`", - " if per-block initialization has already been called for current block." - ] - }, - { - "name": "AuthorVrfRandomness", - "modifier": "Default", - "type": { - "plain": "MaybeRandomness" - }, - "fallback": "0x00", - "docs": [ - " This field should always be populated during block processing unless", - " secondary plain slots are enabled (which don't contain a VRF output).", - "", - " It is set in `on_initialize`, before it will contain the value from the last block." - ] - }, - { - "name": "EpochStart", - "modifier": "Default", - "type": { - "plain": "(BlockNumber,BlockNumber)" - }, - "fallback": "0x0000000000000000", - "docs": [ - " The block numbers when the last and current epoch have started, respectively `N-1` and", - " `N`.", - " NOTE: We track this is in order to annotate the block number when a given pool of", - " entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in", - " slots, which may be skipped, the block numbers may not line up with the slot numbers." - ] - }, - { - "name": "Lateness", - "modifier": "Default", - "type": { - "plain": "BlockNumber" - }, - "fallback": "0x00000000", - "docs": [ - " How late the current block is compared to its parent.", - "", - " This entry is populated as part of block execution and is cleaned up", - " on block finalization. Querying this storage entry outside of block", - " execution context should always yield zero." - ] - }, - { - "name": "EpochConfig", - "modifier": "Optional", - "type": { - "plain": "BabeEpochConfiguration" - }, - "fallback": "0x00", - "docs": [ - " The configuration for the current epoch. Should never be `None` as it is initialized in genesis." - ] - }, - { - "name": "NextEpochConfig", - "modifier": "Optional", - "type": { - "plain": "BabeEpochConfiguration" - }, - "fallback": "0x00", - "docs": [ - " The configuration for the next epoch, `None` if the config will not change", - " (you can fallback to `EpochConfig` instead in that case)." - ] - } - ] - }, - "calls": [ - { - "name": "report_equivocation", - "args": [ - { - "name": "equivocation_proof", - "type": "BabeEquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "KeyOwnerProof" - } - ], - "docs": [ - " Report authority equivocation/misbehavior. This method will verify", - " the equivocation proof and validate the given key ownership proof", - " against the extracted offender. If both are valid, the offence will", - " be reported." - ] - }, - { - "name": "report_equivocation_unsigned", - "args": [ - { - "name": "equivocation_proof", - "type": "BabeEquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "KeyOwnerProof" - } - ], - "docs": [ - " Report authority equivocation/misbehavior. This method will verify", - " the equivocation proof and validate the given key ownership proof", - " against the extracted offender. If both are valid, the offence will", - " be reported.", - " This extrinsic must be called unsigned and it is expected that only", - " block authors will call it (validated in `ValidateUnsigned`), as such", - " if the block author is defined it will be defined as the equivocation", - " reporter." - ] - }, - { - "name": "plan_config_change", - "args": [ - { - "name": "config", - "type": "NextConfigDescriptor" - } - ], - "docs": [ - " Plan an epoch config change. The epoch config change is recorded and will be enacted on", - " the next call to `enact_epoch_change`. The config will be activated one epoch after.", - " Multiple calls to this method will replace any existing planned config change that had", - " not been enacted yet." - ] - } - ], - "events": null, - "constants": [ - { - "name": "EpochDuration", - "type": "u64", - "value": "0xc800000000000000", - "docs": [ - " The amount of time, in slots, that each epoch should last.", - " NOTE: Currently it is not possible to change the epoch duration after", - " the chain has started. Attempting to do so will brick block production." - ] - }, - { - "name": "ExpectedBlockTime", - "type": "Moment", - "value": "0xb80b000000000000", - "docs": [ - " The expected average block time at which BABE should be creating", - " blocks. Since BABE is probabilistic it is not trivial to figure out", - " what the expected average block time should be based on the slot", - " duration and the security parameter `c` (where `1 - c` represents", - " the probability of a slot being empty)." - ] - } - ], - "errors": [ - { - "name": "InvalidEquivocationProof", - "docs": [ - " An equivocation proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "InvalidKeyOwnershipProof", - "docs": [ - " A key ownership proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "DuplicateOffenceReport", - "docs": [ - " A given equivocation report is valid but already previously reported." - ] - } - ], - "index": 2 - }, - { - "name": "Timestamp", - "storage": { - "prefix": "Timestamp", - "items": [ - { - "name": "Now", - "modifier": "Default", - "type": { - "plain": "Moment" - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current time for the current block." - ] - }, - { - "name": "DidUpdate", - "modifier": "Default", - "type": { - "plain": "bool" - }, - "fallback": "0x00", - "docs": [ - " Did the timestamp get updated in this block?" - ] - } - ] - }, - "calls": [ - { - "name": "set", - "args": [ - { - "name": "now", - "type": "Compact" - } - ], - "docs": [ - " Set the current time.", - "", - " This call should be invoked exactly once per block. It will panic at the finalization", - " phase, if this call hasn't been invoked by that time.", - "", - " The timestamp should be greater than the previous one by the amount specified by", - " `MinimumPeriod`.", - "", - " The dispatch origin for this call must be `Inherent`.", - "", - " # ", - " - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", - " - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`)", - " - 1 event handler `on_timestamp_set`. Must be `O(1)`.", - " # " - ] - } - ], - "events": null, - "constants": [ - { - "name": "MinimumPeriod", - "type": "Moment", - "value": "0xdc05000000000000", - "docs": [ - " The minimum period between blocks. Beware that this is different to the *expected* period", - " that the block production apparatus provides. Your chosen consensus system will generally", - " work with this to determine a sensible block time. e.g. For Aura, it will be double this", - " period on default settings." - ] - } - ], - "errors": [], - "index": 3 - }, - { - "name": "Authorship", - "storage": { - "prefix": "Authorship", - "items": [ - { - "name": "Uncles", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " Uncles" - ] - }, - { - "name": "Author", - "modifier": "Optional", - "type": { - "plain": "AccountId" - }, - "fallback": "0x00", - "docs": [ - " Author of current block." - ] - }, - { - "name": "DidSetUncles", - "modifier": "Default", - "type": { - "plain": "bool" - }, - "fallback": "0x00", - "docs": [ - " Whether uncles were already set in this block." - ] - } - ] - }, - "calls": [ - { - "name": "set_uncles", - "args": [ - { - "name": "new_uncles", - "type": "Vec
" - } - ], - "docs": [ - " Provide a set of uncles." - ] - } - ], - "events": null, - "constants": [], - "errors": [ - { - "name": "InvalidUncleParent", - "docs": [ - " The uncle parent not in the chain." - ] - }, - { - "name": "UnclesAlreadySet", - "docs": [ - " Uncles already set in the block." - ] - }, - { - "name": "TooManyUncles", - "docs": [ - " Too many uncles." - ] - }, - { - "name": "GenesisUncle", - "docs": [ - " The uncle is genesis." - ] - }, - { - "name": "TooHighUncle", - "docs": [ - " The uncle is too high in chain." - ] - }, - { - "name": "UncleAlreadyIncluded", - "docs": [ - " The uncle is already included." - ] - }, - { - "name": "OldUncle", - "docs": [ - " The uncle isn't recent enough to be included." - ] - } - ], - "index": 4 - }, - { - "name": "Indices", - "storage": { - "prefix": "Indices", - "items": [ - { - "name": "Accounts", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AccountIndex", - "value": "(AccountId,BalanceOf,bool)", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The lookup from index to account." - ] - } - ] - }, - "calls": [ - { - "name": "claim", - "args": [ - { - "name": "index", - "type": "AccountIndex" - } - ], - "docs": [ - " Assign an previously unassigned index.", - "", - " Payment: `Deposit` is reserved from the sender account.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " - `index`: the index to be claimed. This must not be in use.", - "", - " Emits `IndexAssigned` if successful.", - "", - " # ", - " - `O(1)`.", - " - One storage mutation (codec `O(1)`).", - " - One reserve operation.", - " - One event.", - " -------------------", - " - DB Weight: 1 Read/Write (Accounts)", - " # " - ] - }, - { - "name": "transfer", - "args": [ - { - "name": "new", - "type": "AccountId" - }, - { - "name": "index", - "type": "AccountIndex" - } - ], - "docs": [ - " Assign an index already owned by the sender to another account. The balance reservation", - " is effectively transferred to the new account.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " - `index`: the index to be re-assigned. This must be owned by the sender.", - " - `new`: the new owner of the index. This function is a no-op if it is equal to sender.", - "", - " Emits `IndexAssigned` if successful.", - "", - " # ", - " - `O(1)`.", - " - One storage mutation (codec `O(1)`).", - " - One transfer operation.", - " - One event.", - " -------------------", - " - DB Weight:", - " - Reads: Indices Accounts, System Account (recipient)", - " - Writes: Indices Accounts, System Account (recipient)", - " # " - ] - }, - { - "name": "free", - "args": [ - { - "name": "index", - "type": "AccountIndex" - } - ], - "docs": [ - " Free up an index owned by the sender.", - "", - " Payment: Any previous deposit placed for the index is unreserved in the sender account.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must own the index.", - "", - " - `index`: the index to be freed. This must be owned by the sender.", - "", - " Emits `IndexFreed` if successful.", - "", - " # ", - " - `O(1)`.", - " - One storage mutation (codec `O(1)`).", - " - One reserve operation.", - " - One event.", - " -------------------", - " - DB Weight: 1 Read/Write (Accounts)", - " # " - ] - }, - { - "name": "force_transfer", - "args": [ - { - "name": "new", - "type": "AccountId" - }, - { - "name": "index", - "type": "AccountIndex" - }, - { - "name": "freeze", - "type": "bool" - } - ], - "docs": [ - " Force an index to an account. This doesn't require a deposit. If the index is already", - " held, then any deposit is reimbursed to its current owner.", - "", - " The dispatch origin for this call must be _Root_.", - "", - " - `index`: the index to be (re-)assigned.", - " - `new`: the new owner of the index. This function is a no-op if it is equal to sender.", - " - `freeze`: if set to `true`, will freeze the index so it cannot be transferred.", - "", - " Emits `IndexAssigned` if successful.", - "", - " # ", - " - `O(1)`.", - " - One storage mutation (codec `O(1)`).", - " - Up to one reserve operation.", - " - One event.", - " -------------------", - " - DB Weight:", - " - Reads: Indices Accounts, System Account (original owner)", - " - Writes: Indices Accounts, System Account (original owner)", - " # " - ] - }, - { - "name": "freeze", - "args": [ - { - "name": "index", - "type": "AccountIndex" - } - ], - "docs": [ - " Freeze an index so it will always point to the sender account. This consumes the deposit.", - "", - " The dispatch origin for this call must be _Signed_ and the signing account must have a", - " non-frozen account `index`.", - "", - " - `index`: the index to be frozen in place.", - "", - " Emits `IndexFrozen` if successful.", - "", - " # ", - " - `O(1)`.", - " - One storage mutation (codec `O(1)`).", - " - Up to one slash operation.", - " - One event.", - " -------------------", - " - DB Weight: 1 Read/Write (Accounts)", - " # " - ] - } - ], - "events": [ - { - "name": "IndexAssigned", - "args": [ - "AccountId", - "AccountIndex" - ], - "docs": [ - " A account index was assigned. \\[index, who\\]" - ] - }, - { - "name": "IndexFreed", - "args": [ - "AccountIndex" - ], - "docs": [ - " A account index has been freed up (unassigned). \\[index\\]" - ] - }, - { - "name": "IndexFrozen", - "args": [ - "AccountIndex", - "AccountId" - ], - "docs": [ - " A account index has been frozen to its current account ID. \\[index, who\\]" - ] - } - ], - "constants": [ - { - "name": "Deposit", - "type": "BalanceOf", - "value": "0x00407a10f35a00000000000000000000", - "docs": [ - " The deposit needed for reserving an index." - ] - } - ], - "errors": [ - { - "name": "NotAssigned", - "docs": [ - " The index was not already assigned." - ] - }, - { - "name": "NotOwner", - "docs": [ - " The index is assigned to another account." - ] - }, - { - "name": "InUse", - "docs": [ - " The index was not available." - ] - }, - { - "name": "NotTransfer", - "docs": [ - " The source and destination accounts are identical." - ] - }, - { - "name": "Permanent", - "docs": [ - " The index is permanent and may not be freed/changed." - ] - } - ], - "index": 5 - }, - { - "name": "Balances", - "storage": { - "prefix": "Balances", - "items": [ - { - "name": "TotalIssuance", - "modifier": "Default", - "type": { - "plain": "Balance" - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The total units issued in the system." - ] - }, - { - "name": "Account", - "modifier": "Default", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AccountId", - "value": "AccountData", - "linked": false - } - }, - "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The balance of an account.", - "", - " NOTE: This is only used in the case that this pallet is used to store balances." - ] - }, - { - "name": "Locks", - "modifier": "Default", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AccountId", - "value": "Vec", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Any liquidity locks on some account balances.", - " NOTE: Should only be accessed when setting, changing and freeing a lock." - ] - }, - { - "name": "Reserves", - "modifier": "Default", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AccountId", - "value": "Vec", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Named reserves on some account balances." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "plain": "Releases" - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " This is set to v2.0.0 for new networks." - ] - } - ] - }, - "calls": [ - { - "name": "transfer", - "args": [ - { - "name": "dest", - "type": "LookupSource" - }, - { - "name": "value", - "type": "Compact" - } - ], - "docs": [ - " Transfer some liquid free balance to another account.", - "", - " `transfer` will set the `FreeBalance` of the sender and receiver.", - " It will decrease the total issuance of the system by the `TransferFee`.", - " If the sender's account is below the existential deposit as a result", - " of the transfer, the account will be reaped.", - "", - " The dispatch origin for this call must be `Signed` by the transactor.", - "", - " # ", - " - Dependent on arguments but not critical, given proper implementations for", - " input config types. See related functions below.", - " - It contains a limited number of reads and writes internally and no complex computation.", - "", - " Related functions:", - "", - " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", - " - Transferring balances to accounts that did not exist before will cause", - " `T::OnNewAccount::on_new_account` to be called.", - " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", - " - `transfer_keep_alive` works the same way as `transfer`, but has an additional", - " check that the transfer will not kill the origin account.", - " ---------------------------------", - " - Base Weight: 73.64 µs, worst case scenario (account created, account removed)", - " - DB Weight: 1 Read and 1 Write to destination account", - " - Origin account is already in memory, so no DB operations for them.", - " # " - ] - }, - { - "name": "set_balance", - "args": [ - { - "name": "who", - "type": "LookupSource" - }, - { - "name": "new_free", - "type": "Compact" - }, - { - "name": "new_reserved", - "type": "Compact" - } - ], - "docs": [ - " Set the balances of a given account.", - "", - " This will alter `FreeBalance` and `ReservedBalance` in storage. it will", - " also decrease the total issuance of the system (`TotalIssuance`).", - " If the new free or reserved balance is below the existential deposit,", - " it will reset the account nonce (`frame_system::AccountNonce`).", - "", - " The dispatch origin for this call is `root`.", - "", - " # ", - " - Independent of the arguments.", - " - Contains a limited number of reads and writes.", - " ---------------------", - " - Base Weight:", - " - Creating: 27.56 µs", - " - Killing: 35.11 µs", - " - DB Weight: 1 Read, 1 Write to `who`", - " # " - ] - }, - { - "name": "force_transfer", - "args": [ - { - "name": "source", - "type": "LookupSource" - }, - { - "name": "dest", - "type": "LookupSource" - }, - { - "name": "value", - "type": "Compact" - } - ], - "docs": [ - " Exactly as `transfer`, except the origin must be root and the source account may be", - " specified.", - " # ", - " - Same as transfer, but additional read and write because the source account is", - " not assumed to be in the overlay.", - " # " - ] - }, - { - "name": "transfer_keep_alive", - "args": [ - { - "name": "dest", - "type": "LookupSource" - }, - { - "name": "value", - "type": "Compact" - } - ], - "docs": [ - " Same as the [`transfer`] call, but with a check that the transfer will not kill the", - " origin account.", - "", - " 99% of the time you want [`transfer`] instead.", - "", - " [`transfer`]: struct.Pallet.html#method.transfer", - " # ", - " - Cheaper than transfer because account cannot be killed.", - " - Base Weight: 51.4 µs", - " - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)", - " #" - ] - }, - { - "name": "transfer_all", - "args": [ - { - "name": "dest", - "type": "LookupSource" - }, - { - "name": "keep_alive", - "type": "bool" - } - ], - "docs": [ - " Transfer the entire transferable balance from the caller account.", - "", - " NOTE: This function only attempts to transfer _transferable_ balances. This means that", - " any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", - " transferred by this function. To ensure that this function results in a killed account,", - " you might need to prepare the account by removing any reference counters, storage", - " deposits, etc...", - "", - " The dispatch origin of this call must be Signed.", - "", - " - `dest`: The recipient of the transfer.", - " - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", - " of the funds the account has, causing the sender account to be killed (false), or", - " transfer everything except at least the existential deposit, which will guarantee to", - " keep the sender account alive (true).", - " # ", - " - O(1). Just like transfer, but reading the user's transferable balance first.", - " #" - ] - } - ], - "events": [ - { - "name": "Endowed", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " An account was created with some free balance. \\[account, free_balance\\]" - ] - }, - { - "name": "DustLost", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " An account was removed whose balance was non-zero but below ExistentialDeposit,", - " resulting in an outright loss. \\[account, balance\\]" - ] - }, - { - "name": "Transfer", - "args": [ - "AccountId", - "AccountId", - "Balance" - ], - "docs": [ - " Transfer succeeded. \\[from, to, value\\]" - ] - }, - { - "name": "BalanceSet", - "args": [ - "AccountId", - "Balance", - "Balance" - ], - "docs": [ - " A balance was set by root. \\[who, free, reserved\\]" - ] - }, - { - "name": "Deposit", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " Some amount was deposited (e.g. for transaction fees). \\[who, deposit\\]" - ] - }, - { - "name": "Reserved", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " Some balance was reserved (moved from free to reserved). \\[who, value\\]" - ] - }, - { - "name": "Unreserved", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " Some balance was unreserved (moved from reserved to free). \\[who, value\\]" - ] - }, - { - "name": "ReserveRepatriated", - "args": [ - "AccountId", - "AccountId", - "Balance", - "BalanceStatus" - ], - "docs": [ - " Some balance was moved from the reserve of the first account to the second account.", - " Final argument indicates the destination balance type.", - " \\[from, to, balance, destination_status\\]" - ] - } - ], - "constants": [ - { - "name": "ExistentialDeposit", - "type": "Balance", - "value": "0x00407a10f35a00000000000000000000", - "docs": [ - " The minimum amount required to keep an account open." - ] - } - ], - "errors": [ - { - "name": "VestingBalance", - "docs": [ - " Vesting balance too high to send value" - ] - }, - { - "name": "LiquidityRestrictions", - "docs": [ - " Account liquidity restrictions prevent withdrawal" - ] - }, - { - "name": "InsufficientBalance", - "docs": [ - " Balance too low to send value" - ] - }, - { - "name": "ExistentialDeposit", - "docs": [ - " Value too low to create account due to existential deposit" - ] - }, - { - "name": "KeepAlive", - "docs": [ - " Transfer/payment would kill account" - ] - }, - { - "name": "ExistingVestingSchedule", - "docs": [ - " A vesting schedule already exists for this account" - ] - }, - { - "name": "DeadAccount", - "docs": [ - " Beneficiary account must pre-exist" - ] - }, - { - "name": "TooManyReserves", - "docs": [ - " Number of named reserves exceed MaxReserves" - ] - } - ], - "index": 6 - }, - { - "name": "TransactionPayment", - "storage": { - "prefix": "TransactionPayment", - "items": [ - { - "name": "NextFeeMultiplier", - "modifier": "Default", - "type": { - "plain": "Multiplier" - }, - "fallback": "0x000064a7b3b6e00d0000000000000000", - "docs": [] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "plain": "Releases" - }, - "fallback": "0x00", - "docs": [] - } - ] - }, - "calls": null, - "events": null, - "constants": [ - { - "name": "TransactionByteFee", - "type": "BalanceOf", - "value": "0x00e40b54020000000000000000000000", - "docs": [ - " The fee to be paid for making a transaction; the per-byte portion." - ] - }, - { - "name": "WeightToFee", - "type": "Vec", - "value": "0x0401000000000000000000000000000000000000000001", - "docs": [ - " The polynomial that is applied in order to derive fee from weight." - ] - } - ], - "errors": [], - "index": 7 - }, - { - "name": "ElectionProviderMultiPhase", - "storage": { - "prefix": "ElectionProviderMultiPhase", - "items": [ - { - "name": "Round", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x01000000", - "docs": [ - " Internal counter for the number of rounds.", - "", - " This is useful for de-duplication of transactions submitted to the pool, and general", - " diagnostics of the pallet.", - "", - " This is merely incremented once per every time that an upstream `elect` is called." - ] - }, - { - "name": "CurrentPhase", - "modifier": "Default", - "type": { - "plain": "ElectionPhase" - }, - "fallback": "0x00", - "docs": [ - " Current phase." - ] - }, - { - "name": "QueuedSolution", - "modifier": "Optional", - "type": { - "plain": "ReadySolution" - }, - "fallback": "0x00", - "docs": [ - " Current best solution, signed or unsigned, queued to be returned upon `elect`." - ] - }, - { - "name": "Snapshot", - "modifier": "Optional", - "type": { - "plain": "RoundSnapshot" - }, - "fallback": "0x00", - "docs": [ - " Snapshot data of the round.", - "", - " This is created at the beginning of the signed phase and cleared upon calling `elect`." - ] - }, - { - "name": "DesiredTargets", - "modifier": "Optional", - "type": { - "plain": "u32" - }, - "fallback": "0x00", - "docs": [ - " Desired number of targets to elect for this round.", - "", - " Only exists when [`Snapshot`] is present." - ] - }, - { - "name": "SnapshotMetadata", - "modifier": "Optional", - "type": { - "plain": "SolutionOrSnapshotSize" - }, - "fallback": "0x00", - "docs": [ - " The metadata of the [`RoundSnapshot`]", - "", - " Only exists when [`Snapshot`] is present." - ] - }, - { - "name": "SignedSubmissionNextIndex", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " The next index to be assigned to an incoming signed submission.", - "", - " Every accepted submission is assigned a unique index; that index is bound to that particular", - " submission for the duration of the election. On election finalization, the next index is", - " reset to 0.", - "", - " We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past its", - " capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,", - " because iteration is slow. Instead, we store the value here." - ] - }, - { - "name": "SignedSubmissionIndices", - "modifier": "Default", - "type": { - "plain": "SubmissionIndicesOf" - }, - "fallback": "0x00", - "docs": [ - " A sorted, bounded set of `(score, index)`, where each `index` points to a value in", - " `SignedSubmissions`.", - "", - " We never need to process more than a single signed submission at a time. Signed submissions", - " can be quite large, so we're willing to pay the cost of multiple database accesses to access", - " them one at a time instead of reading and decoding all of them at once." - ] - }, - { - "name": "SignedSubmissionsMap", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "u32", - "value": "SignedSubmissionOf", - "linked": false - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000", - "docs": [ - " Unchecked, signed solutions.", - "", - " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while", - " allowing us to keep only a single one in memory at a time.", - "", - " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or", - " affect; we shouldn't need a cryptographically secure hasher." - ] - }, - { - "name": "MinimumUntrustedScore", - "modifier": "Optional", - "type": { - "plain": "ElectionScore" - }, - "fallback": "0x00", - "docs": [ - " The minimum score that each 'untrusted' solution must attain in order to be considered", - " feasible.", - "", - " Can be set via `set_minimum_untrusted_score`." - ] - } - ] - }, - "calls": [ - { - "name": "submit_unsigned", - "args": [ - { - "name": "solution", - "type": "RawSolution" - }, - { - "name": "witness", - "type": "SolutionOrSnapshotSize" - } - ], - "docs": [ - " Submit a solution for the unsigned phase.", - "", - " The dispatch origin fo this call must be __none__.", - "", - " This submission is checked on the fly. Moreover, this unsigned solution is only", - " validated when submitted to the pool from the **local** node. Effectively, this means", - " that only active validators can submit this transaction when authoring a block (similar", - " to an inherent).", - "", - " To prevent any incorrect solution (and thus wasted time/weight), this transaction will", - " panic if the solution submitted by the validator is invalid in any way, effectively", - " putting their authoring reward at risk.", - "", - " No deposit or reward is associated with this submission." - ] - }, - { - "name": "set_minimum_untrusted_score", - "args": [ - { - "name": "maybe_next_score", - "type": "Option" - } - ], - "docs": [ - " Set a new value for `MinimumUntrustedScore`.", - "", - " Dispatch origin must be aligned with `T::ForceOrigin`.", - "", - " This check can be turned off by setting the value to `None`." - ] - }, - { - "name": "set_emergency_election_result", - "args": [ - { - "name": "supports", - "type": "Supports" - } - ], - "docs": [ - " Set a solution in the queue, to be handed out to the client of this pallet in the next", - " call to `ElectionProvider::elect`.", - "", - " This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`.", - "", - " The solution is not checked for any feasibility and is assumed to be trustworthy, as any", - " feasibility check itself can in principle cause the election process to fail (due to", - " memory/weight constrains)." - ] - }, - { - "name": "submit", - "args": [ - { - "name": "solution", - "type": "RawSolution" - }, - { - "name": "num_signed_submissions", - "type": "u32" - } - ], - "docs": [ - " Submit a solution for the signed phase.", - "", - " The dispatch origin fo this call must be __signed__.", - "", - " The solution is potentially queued, based on the claimed score and processed at the end", - " of the signed phase.", - "", - " A deposit is reserved and recorded for the solution. Based on the outcome, the solution", - " might be rewarded, slashed, or get all or a part of the deposit back.", - "", - " # ", - " Queue size must be provided as witness data.", - " # " - ] - } - ], - "events": [ - { - "name": "SolutionStored", - "args": [ - "ElectionCompute", - "bool" - ], - "docs": [ - " A solution was stored with the given compute.", - "", - " If the solution is signed, this means that it hasn't yet been processed. If the", - " solution is unsigned, this means that it has also been processed.", - "", - " The `bool` is `true` when a previous solution was ejected to make room for this one." - ] - }, - { - "name": "ElectionFinalized", - "args": [ - "Option" - ], - "docs": [ - " The election has been finalized, with `Some` of the given computation, or else if the", - " election failed, `None`." - ] - }, - { - "name": "Rewarded", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " An account has been rewarded for their signed submission being finalized." - ] - }, - { - "name": "Slashed", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " An account has been slashed for submitting an invalid signed submission." - ] - }, - { - "name": "SignedPhaseStarted", - "args": [ - "u32" - ], - "docs": [ - " The signed phase of the given round has started." - ] - }, - { - "name": "UnsignedPhaseStarted", - "args": [ - "u32" - ], - "docs": [ - " The unsigned phase of the given round has started." - ] - } - ], - "constants": [ - { - "name": "UnsignedPhase", - "type": "BlockNumber", - "value": "0x32000000", - "docs": [ - " Duration of the unsigned phase." - ] - }, - { - "name": "SignedPhase", - "type": "BlockNumber", - "value": "0x32000000", - "docs": [ - " Duration of the signed phase." - ] - }, - { - "name": "SolutionImprovementThreshold", - "type": "Perbill", - "value": "0xa0860100", - "docs": [ - " The minimum amount of improvement to the solution score that defines a solution as", - " \"better\" (in any phase)." - ] - }, - { - "name": "OffchainRepeat", - "type": "BlockNumber", - "value": "0x05000000", - "docs": [ - " The repeat threshold of the offchain worker.", - "", - " For example, if it is 5, that means that at least 5 blocks will elapse between attempts", - " to submit the worker's solution." - ] - }, - { - "name": "SignedMaxSubmissions", - "type": "u32", - "value": "0x0a000000", - "docs": [ - " Maximum number of signed submissions that can be queued.", - "", - " It is best to avoid adjusting this during an election, as it impacts downstream data", - " structures. In particular, `SignedSubmissionIndices` is bounded on this value. If you", - " update this value during an election, you _must_ ensure that", - " `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,", - " attempts to submit new solutions may cause a runtime panic." - ] - }, - { - "name": "SignedMaxWeight", - "type": "Weight", - "value": "0xc07c907c2d010000", - "docs": [ - " Maximum weight of a signed solution.", - "", - " This should probably be similar to [`Config::MinerMaxWeight`]." - ] - }, - { - "name": "SignedRewardBase", - "type": "BalanceOf", - "value": "0x00407a10f35a00000000000000000000", - "docs": [ - " Base reward for a signed solution" - ] - }, - { - "name": "SignedDepositBase", - "type": "BalanceOf", - "value": "0x00407a10f35a00000000000000000000", - "docs": [ - " Base deposit for a signed solution." - ] - }, - { - "name": "SignedDepositByte", - "type": "BalanceOf", - "value": "0x0010a5d4e80000000000000000000000", - "docs": [ - " Per-byte deposit for a signed solution." - ] - }, - { - "name": "SignedDepositWeight", - "type": "BalanceOf", - "value": "0x00000000000000000000000000000000", - "docs": [ - " Per-weight deposit for a signed solution." - ] - } - ], - "errors": [ - { - "name": "PreDispatchEarlySubmission", - "docs": [ - " Submission was too early." - ] - }, - { - "name": "PreDispatchWrongWinnerCount", - "docs": [ - " Wrong number of winners presented." - ] - }, - { - "name": "PreDispatchWeakSubmission", - "docs": [ - " Submission was too weak, score-wise." - ] - }, - { - "name": "SignedQueueFull", - "docs": [ - " The queue was full, and the solution was not better than any of the existing ones." - ] - }, - { - "name": "SignedCannotPayDeposit", - "docs": [ - " The origin failed to pay the deposit." - ] - }, - { - "name": "SignedInvalidWitness", - "docs": [ - " Witness data to dispatchable is invalid." - ] - }, - { - "name": "SignedTooMuchWeight", - "docs": [ - " The signed submission consumes too much weight" - ] - }, - { - "name": "OcwCallWrongEra", - "docs": [ - " OCW submitted solution for wrong round" - ] - }, - { - "name": "MissingSnapshotMetadata", - "docs": [ - " Snapshot metadata should exist but didn't." - ] - }, - { - "name": "InvalidSubmissionIndex", - "docs": [ - " `Self::insert_submission` returned an invalid index." - ] - }, - { - "name": "CallNotAllowed", - "docs": [ - " The call is not allowed at this point." - ] - } - ], - "index": 8 - }, - { - "name": "Staking", - "storage": { - "prefix": "Staking", - "items": [ - { - "name": "HistoryDepth", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x54000000", - "docs": [ - " Number of eras to keep in history.", - "", - " Information is kept for eras in `[current_era - history_depth; current_era]`.", - "", - " Must be more than the number of eras delayed by session otherwise. I.e. active era must", - " always be in history. I.e. `active_era > current_era - history_depth` must be", - " guaranteed." - ] - }, - { - "name": "ValidatorCount", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " The ideal number of staking participants." - ] - }, - { - "name": "MinimumValidatorCount", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " Minimum number of staking participants before emergency conditions are imposed." - ] - }, - { - "name": "Invulnerables", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're", - " easy to initialize and the performance hit is minimal (we expect no more than four", - " invulnerables) and restricted to testnets." - ] - }, - { - "name": "Bonded", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "AccountId", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Map from all locked \"stash\" accounts to the controller account." - ] - }, - { - "name": "MinNominatorBond", - "modifier": "Default", - "type": { - "plain": "BalanceOf" - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The minimum active bond to become and maintain the role of a nominator." - ] - }, - { - "name": "MinValidatorBond", - "modifier": "Default", - "type": { - "plain": "BalanceOf" - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The minimum active bond to become and maintain the role of a validator." - ] - }, - { - "name": "Ledger", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AccountId", - "value": "StakingLedger", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Map from all (unlocked) \"controller\" accounts to the info regarding the staking." - ] - }, - { - "name": "Payee", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "RewardDestination", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Where the reward payment should be made. Keyed by stash." - ] - }, - { - "name": "Validators", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "ValidatorPrefs", - "linked": false - } - }, - "fallback": "0x0000", - "docs": [ - " The map from (wannabe) validator stash key to the preferences of that validator.", - "", - " When updating this storage item, you must also update the `CounterForValidators`." - ] - }, - { - "name": "CounterForValidators", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " A tracker to keep count of the number of items in the `Validators` map." - ] - }, - { - "name": "MaxValidatorsCount", - "modifier": "Optional", - "type": { - "plain": "u32" - }, - "fallback": "0x00", - "docs": [ - " The maximum validator count before we stop allowing new validators to join.", - "", - " When this value is not set, no limits are enforced." - ] - }, - { - "name": "Nominators", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "Nominations", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The map from nominator stash key to the set of stash keys of all validators to nominate.", - "", - " When updating this storage item, you must also update the `CounterForNominators`." - ] - }, - { - "name": "CounterForNominators", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " A tracker to keep count of the number of items in the `Nominators` map." - ] - }, - { - "name": "MaxNominatorsCount", - "modifier": "Optional", - "type": { - "plain": "u32" - }, - "fallback": "0x00", - "docs": [ - " The maximum nominator count before we stop allowing new validators to join.", - "", - " When this value is not set, no limits are enforced." - ] - }, - { - "name": "CurrentEra", - "modifier": "Optional", - "type": { - "plain": "EraIndex" - }, - "fallback": "0x00", - "docs": [ - " The current era index.", - "", - " This is the latest planned era, depending on how the Session pallet queues the validator", - " set, it might be active or not." - ] - }, - { - "name": "ActiveEra", - "modifier": "Optional", - "type": { - "plain": "ActiveEraInfo" - }, - "fallback": "0x00", - "docs": [ - " The active era information, it holds index and start.", - "", - " The active era is the era being currently rewarded. Validator set of this era must be", - " equal to [`SessionInterface::validators`]." - ] - }, - { - "name": "ErasStartSessionIndex", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "EraIndex", - "value": "SessionIndex", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The session index at which the era start for the last `HISTORY_DEPTH` eras.", - "", - " Note: This tracks the starting session (i.e. session index when era start being active)", - " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`." - ] - }, - { - "name": "ErasStakers", - "modifier": "Default", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "EraIndex", - "key2": "AccountId", - "value": "Exposure", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x000000", - "docs": [ - " Exposure of validator at era.", - "", - " This is keyed first by the era index to allow bulk deletion and then the stash account.", - "", - " Is it removed after `HISTORY_DEPTH` eras.", - " If stakers hasn't been set or has been removed then empty exposure is returned." - ] - }, - { - "name": "ErasStakersClipped", - "modifier": "Default", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "EraIndex", - "key2": "AccountId", - "value": "Exposure", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x000000", - "docs": [ - " Clipped Exposure of validator at era.", - "", - " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the", - " `T::MaxNominatorRewardedPerValidator` biggest stakers.", - " (Note: the field `total` and `own` of the exposure remains unchanged).", - " This is used to limit the i/o cost for the nominator payout.", - "", - " This is keyed fist by the era index to allow bulk deletion and then the stash account.", - "", - " Is it removed after `HISTORY_DEPTH` eras.", - " If stakers hasn't been set or has been removed then empty exposure is returned." - ] - }, - { - "name": "ErasValidatorPrefs", - "modifier": "Default", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "EraIndex", - "key2": "AccountId", - "value": "ValidatorPrefs", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x0000", - "docs": [ - " Similar to `ErasStakers`, this holds the preferences of validators.", - "", - " This is keyed first by the era index to allow bulk deletion and then the stash account.", - "", - " Is it removed after `HISTORY_DEPTH` eras." - ] - }, - { - "name": "ErasValidatorReward", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "EraIndex", - "value": "BalanceOf", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The total validator era payout for the last `HISTORY_DEPTH` eras.", - "", - " Eras that haven't finished yet or has been removed doesn't have reward." - ] - }, - { - "name": "ErasRewardPoints", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "EraIndex", - "value": "EraRewardPoints", - "linked": false - } - }, - "fallback": "0x0000000000", - "docs": [ - " Rewards for the last `HISTORY_DEPTH` eras.", - " If reward hasn't been set or has been removed then 0 reward is returned." - ] - }, - { - "name": "ErasTotalStake", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "EraIndex", - "value": "BalanceOf", - "linked": false - } - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The total amount staked for the last `HISTORY_DEPTH` eras.", - " If total hasn't been set or has been removed then 0 stake is returned." - ] - }, - { - "name": "ForceEra", - "modifier": "Default", - "type": { - "plain": "Forcing" - }, - "fallback": "0x00", - "docs": [ - " Mode of era forcing." - ] - }, - { - "name": "SlashRewardFraction", - "modifier": "Default", - "type": { - "plain": "Perbill" - }, - "fallback": "0x00000000", - "docs": [ - " The percentage of the slash that is distributed to reporters.", - "", - " The rest of the slashed value is handled by the `Slash`." - ] - }, - { - "name": "CanceledSlashPayout", - "modifier": "Default", - "type": { - "plain": "BalanceOf" - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " The amount of currency given to reporters of a slash event which was", - " canceled by extraordinary circumstances (e.g. governance)." - ] - }, - { - "name": "UnappliedSlashes", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "EraIndex", - "value": "Vec", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " All unapplied slashes that are queued for later." - ] - }, - { - "name": "BondedEras", - "modifier": "Default", - "type": { - "plain": "Vec<(EraIndex,SessionIndex)>" - }, - "fallback": "0x00", - "docs": [ - " A mapping from still-bonded eras to the first session index of that era.", - "", - " Must contains information for eras for the range:", - " `[active_era - bounding_duration; active_era]`" - ] - }, - { - "name": "ValidatorSlashInEra", - "modifier": "Optional", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "EraIndex", - "key2": "AccountId", - "value": "(Perbill,BalanceOf)", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x00", - "docs": [ - " All slashing events on validators, mapped by era to the highest slash proportion", - " and slash value of the era." - ] - }, - { - "name": "NominatorSlashInEra", - "modifier": "Optional", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "EraIndex", - "key2": "AccountId", - "value": "BalanceOf", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x00", - "docs": [ - " All slashing events on nominators, mapped by era to the highest slash value of the era." - ] - }, - { - "name": "SlashingSpans", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "SlashingSpans", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Slashing spans for stash accounts." - ] - }, - { - "name": "SpanSlash", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "(AccountId,SpanIndex)", - "value": "SpanRecord", - "linked": false - } - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Records information about the maximum slash of a stash within a slashing span,", - " as well as how much reward has been paid out." - ] - }, - { - "name": "EarliestUnappliedSlash", - "modifier": "Optional", - "type": { - "plain": "EraIndex" - }, - "fallback": "0x00", - "docs": [ - " The earliest era for which we have a pending, unapplied slash." - ] - }, - { - "name": "CurrentPlannedSession", - "modifier": "Default", - "type": { - "plain": "SessionIndex" - }, - "fallback": "0x00000000", - "docs": [ - " The last planned session scheduled by the session pallet.", - "", - " This is basically in sync with the call to [`SessionManager::new_session`]." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "plain": "Releases" - }, - "fallback": "0x06", - "docs": [ - " True if network has been upgraded to this version.", - " Storage version of the pallet.", - "", - " This is set to v7.0.0 for new networks." - ] - }, - { - "name": "ChillThreshold", - "modifier": "Optional", - "type": { - "plain": "Percent" - }, - "fallback": "0x00", - "docs": [ - " The threshold for when users can start calling `chill_other` for other validators / nominators.", - " The threshold is compared to the actual number of validators / nominators (`CountFor*`) in", - " the system compared to the configured max (`Max*Count`)." - ] - } - ] - }, - "calls": [ - { - "name": "bond", - "args": [ - { - "name": "controller", - "type": "LookupSource" - }, - { - "name": "value", - "type": "Compact" - }, - { - "name": "payee", - "type": "RewardDestination" - } - ], - "docs": [ - " Take the origin account as a stash and lock up `value` of its balance. `controller` will", - " be the account that controls it.", - "", - " `value` must be more than the `minimum_balance` specified by `T::Currency`.", - "", - " The dispatch origin for this call must be _Signed_ by the stash account.", - "", - " Emits `Bonded`.", - " # ", - " - Independent of the arguments. Moderate complexity.", - " - O(1).", - " - Three extra DB entries.", - "", - " NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned", - " unless the `origin` falls below _existential deposit_ and gets removed as dust.", - " ------------------", - " # " - ] - }, - { - "name": "bond_extra", - "args": [ - { - "name": "max_additional", - "type": "Compact" - } - ], - "docs": [ - " Add some extra amount that have appeared in the stash `free_balance` into the balance up", - " for staking.", - "", - " The dispatch origin for this call must be _Signed_ by the stash, not the controller.", - "", - " Use this if there are additional funds in your stash account that you wish to bond.", - " Unlike [`bond`] or [`unbond`] this function does not impose any limitation on the amount", - " that can be added.", - "", - " Emits `Bonded`.", - "", - " # ", - " - Independent of the arguments. Insignificant complexity.", - " - O(1).", - " # " - ] - }, - { - "name": "unbond", - "args": [ - { - "name": "value", - "type": "Compact" - } - ], - "docs": [ - " Schedule a portion of the stash to be unlocked ready for transfer out after the bond", - " period ends. If this leaves an amount actively bonded less than", - " T::Currency::minimum_balance(), then it is increased to the full amount.", - "", - " The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - " Once the unlock period is done, you can call `withdraw_unbonded` to actually move", - " the funds out of management ready for transfer.", - "", - " No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`)", - " can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need", - " to be called first to remove some of the chunks (if possible).", - "", - " If a user encounters the `InsufficientBond` error when calling this extrinsic,", - " they should call `chill` first in order to free up their bonded funds.", - "", - " Emits `Unbonded`.", - "", - " See also [`Call::withdraw_unbonded`]." - ] - }, - { - "name": "withdraw_unbonded", - "args": [ - { - "name": "num_slashing_spans", - "type": "u32" - } - ], - "docs": [ - " Remove any unlocked chunks from the `unlocking` queue from our management.", - "", - " This essentially frees up that balance to be used by the stash account to do", - " whatever it wants.", - "", - " The dispatch origin for this call must be _Signed_ by the controller.", - "", - " Emits `Withdrawn`.", - "", - " See also [`Call::unbond`].", - "", - " # ", - " Complexity O(S) where S is the number of slashing spans to remove", - " NOTE: Weight annotation is the kill scenario, we refund otherwise.", - " # " - ] - }, - { - "name": "validate", - "args": [ - { - "name": "prefs", - "type": "ValidatorPrefs" - } - ], - "docs": [ - " Declare the desire to validate for the origin controller.", - "", - " Effects will be felt at the beginning of the next era.", - "", - " The dispatch origin for this call must be _Signed_ by the controller, not the stash." - ] - }, - { - "name": "nominate", - "args": [ - { - "name": "targets", - "type": "Vec" - } - ], - "docs": [ - " Declare the desire to nominate `targets` for the origin controller.", - "", - " Effects will be felt at the beginning of the next era.", - "", - " The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - " # ", - " - The transaction's complexity is proportional to the size of `targets` (N)", - " which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS).", - " - Both the reads and writes follow a similar pattern.", - " # " - ] - }, - { - "name": "chill", - "args": [], - "docs": [ - " Declare no desire to either validate or nominate.", - "", - " Effects will be felt at the beginning of the next era.", - "", - " The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - " # ", - " - Independent of the arguments. Insignificant complexity.", - " - Contains one read.", - " - Writes are limited to the `origin` account key.", - " # " - ] - }, - { - "name": "set_payee", - "args": [ - { - "name": "payee", - "type": "RewardDestination" - } - ], - "docs": [ - " (Re-)set the payment target for a controller.", - "", - " Effects will be felt at the beginning of the next era.", - "", - " The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - " # ", - " - Independent of the arguments. Insignificant complexity.", - " - Contains a limited number of reads.", - " - Writes are limited to the `origin` account key.", - " ---------", - " - Weight: O(1)", - " - DB Weight:", - " - Read: Ledger", - " - Write: Payee", - " # " - ] - }, - { - "name": "set_controller", - "args": [ - { - "name": "controller", - "type": "LookupSource" - } - ], - "docs": [ - " (Re-)set the controller of a stash.", - "", - " Effects will be felt at the beginning of the next era.", - "", - " The dispatch origin for this call must be _Signed_ by the stash, not the controller.", - "", - " # ", - " - Independent of the arguments. Insignificant complexity.", - " - Contains a limited number of reads.", - " - Writes are limited to the `origin` account key.", - " ----------", - " Weight: O(1)", - " DB Weight:", - " - Read: Bonded, Ledger New Controller, Ledger Old Controller", - " - Write: Bonded, Ledger New Controller, Ledger Old Controller", - " # " - ] - }, - { - "name": "set_validator_count", - "args": [ - { - "name": "new", - "type": "Compact" - } - ], - "docs": [ - " Sets the ideal number of validators.", - "", - " The dispatch origin must be Root.", - "", - " # ", - " Weight: O(1)", - " Write: Validator Count", - " # " - ] - }, - { - "name": "increase_validator_count", - "args": [ - { - "name": "additional", - "type": "Compact" - } - ], - "docs": [ - " Increments the ideal number of validators.", - "", - " The dispatch origin must be Root.", - "", - " # ", - " Same as [`set_validator_count`].", - " # " - ] - }, - { - "name": "scale_validator_count", - "args": [ - { - "name": "factor", - "type": "Percent" - } - ], - "docs": [ - " Scale up the ideal number of validators by a factor.", - "", - " The dispatch origin must be Root.", - "", - " # ", - " Same as [`set_validator_count`].", - " # " - ] - }, - { - "name": "force_no_eras", - "args": [], - "docs": [ - " Force there to be no new eras indefinitely.", - "", - " The dispatch origin must be Root.", - "", - " # Warning", - "", - " The election process starts multiple blocks before the end of the era.", - " Thus the election process may be ongoing when this is called. In this case the", - " election will continue until the next era is triggered.", - "", - " # ", - " - No arguments.", - " - Weight: O(1)", - " - Write: ForceEra", - " # " - ] - }, - { - "name": "force_new_era", - "args": [], - "docs": [ - " Force there to be a new era at the end of the next session. After this, it will be", - " reset to normal (non-forced) behaviour.", - "", - " The dispatch origin must be Root.", - "", - " # Warning", - "", - " The election process starts multiple blocks before the end of the era.", - " If this is called just before a new era is triggered, the election process may not", - " have enough blocks to get a result.", - "", - " # ", - " - No arguments.", - " - Weight: O(1)", - " - Write ForceEra", - " # " - ] - }, - { - "name": "set_invulnerables", - "args": [ - { - "name": "invulnerables", - "type": "Vec" - } - ], - "docs": [ - " Set the validators who cannot be slashed (if any).", - "", - " The dispatch origin must be Root.", - "", - " # ", - " - O(V)", - " - Write: Invulnerables", - " # " - ] - }, - { - "name": "force_unstake", - "args": [ - { - "name": "stash", - "type": "AccountId" - }, - { - "name": "num_slashing_spans", - "type": "u32" - } - ], - "docs": [ - " Force a current staker to become completely unstaked, immediately.", - "", - " The dispatch origin must be Root.", - "", - " # ", - " O(S) where S is the number of slashing spans to be removed", - " Reads: Bonded, Slashing Spans, Account, Locks", - " Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Account, Locks", - " Writes Each: SpanSlash * S", - " # " - ] - }, - { - "name": "force_new_era_always", - "args": [], - "docs": [ - " Force there to be a new era at the end of sessions indefinitely.", - "", - " The dispatch origin must be Root.", - "", - " # Warning", - "", - " The election process starts multiple blocks before the end of the era.", - " If this is called just before a new era is triggered, the election process may not", - " have enough blocks to get a result.", - "", - " # ", - " - Weight: O(1)", - " - Write: ForceEra", - " # " - ] - }, - { - "name": "cancel_deferred_slash", - "args": [ - { - "name": "era", - "type": "EraIndex" - }, - { - "name": "slash_indices", - "type": "Vec" - } - ], - "docs": [ - " Cancel enactment of a deferred slash.", - "", - " Can be called by the `T::SlashCancelOrigin`.", - "", - " Parameters: era and indices of the slashes for that era to kill.", - "", - " # ", - " Complexity: O(U + S)", - " with U unapplied slashes weighted with U=1000", - " and S is the number of slash indices to be canceled.", - " - Read: Unapplied Slashes", - " - Write: Unapplied Slashes", - " # " - ] - }, - { - "name": "payout_stakers", - "args": [ - { - "name": "validator_stash", - "type": "AccountId" - }, - { - "name": "era", - "type": "EraIndex" - } - ], - "docs": [ - " Pay out all the stakers behind a single validator for a single era.", - "", - " - `validator_stash` is the stash account of the validator. Their nominators, up to", - " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards.", - " - `era` may be any era between `[current_era - history_depth; current_era]`.", - "", - " The origin of this call must be _Signed_. Any account can call this function, even if", - " it is not one of the stakers.", - "", - " # ", - " - Time complexity: at most O(MaxNominatorRewardedPerValidator).", - " - Contains a limited number of reads and writes.", - " -----------", - " N is the Number of payouts for the validator (including the validator)", - " Weight:", - " - Reward Destination Staked: O(N)", - " - Reward Destination Controller (Creating): O(N)", - "", - " NOTE: weights are assuming that payouts are made to alive stash account (Staked).", - " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here.", - " # " - ] - }, - { - "name": "rebond", - "args": [ - { - "name": "value", - "type": "Compact" - } - ], - "docs": [ - " Rebond a portion of the stash scheduled to be unlocked.", - "", - " The dispatch origin must be signed by the controller.", - "", - " # ", - " - Time complexity: O(L), where L is unlocking chunks", - " - Bounded by `MAX_UNLOCKING_CHUNKS`.", - " - Storage changes: Can't increase storage, only decrease it.", - " # " - ] - }, - { - "name": "set_history_depth", - "args": [ - { - "name": "new_history_depth", - "type": "Compact" - }, - { - "name": "_era_items_deleted", - "type": "Compact" - } - ], - "docs": [ - " Set `HistoryDepth` value. This function will delete any history information", - " when `HistoryDepth` is reduced.", - "", - " Parameters:", - " - `new_history_depth`: The new history depth you would like to set.", - " - `era_items_deleted`: The number of items that will be deleted by this dispatch.", - " This should report all the storage items that will be deleted by clearing old", - " era history. Needed to report an accurate weight for the dispatch. Trusted by", - " `Root` to report an accurate number.", - "", - " Origin must be root.", - "", - " # ", - " - E: Number of history depths removed, i.e. 10 -> 7 = 3", - " - Weight: O(E)", - " - DB Weight:", - " - Reads: Current Era, History Depth", - " - Writes: History Depth", - " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs", - " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake, ErasStartSessionIndex", - " # " - ] - }, - { - "name": "reap_stash", - "args": [ - { - "name": "stash", - "type": "AccountId" - }, - { - "name": "num_slashing_spans", - "type": "u32" - } - ], - "docs": [ - " Remove all data structure concerning a staker/stash once its balance is at the minimum.", - " This is essentially equivalent to `withdraw_unbonded` except it can be called by anyone", - " and the target `stash` must have no funds left beyond the ED.", - "", - " This can be called from any origin.", - "", - " - `stash`: The stash account to reap. Its balance must be zero.", - "", - " # ", - " Complexity: O(S) where S is the number of slashing spans on the account.", - " DB Weight:", - " - Reads: Stash Account, Bonded, Slashing Spans, Locks", - " - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Stash Account, Locks", - " - Writes Each: SpanSlash * S", - " # " - ] - }, - { - "name": "kick", - "args": [ - { - "name": "who", - "type": "Vec" - } - ], - "docs": [ - " Remove the given nominations from the calling validator.", - "", - " Effects will be felt at the beginning of the next era.", - "", - " The dispatch origin for this call must be _Signed_ by the controller, not the stash.", - "", - " - `who`: A list of nominator stash accounts who are nominating this validator which", - " should no longer be nominating this validator.", - "", - " Note: Making this call only makes sense if you first set the validator preferences to", - " block any further nominations." - ] - }, - { - "name": "set_staking_limits", - "args": [ - { - "name": "min_nominator_bond", - "type": "BalanceOf" - }, - { - "name": "min_validator_bond", - "type": "BalanceOf" - }, - { - "name": "max_nominator_count", - "type": "Option" - }, - { - "name": "max_validator_count", - "type": "Option" - }, - { - "name": "threshold", - "type": "Option" - } - ], - "docs": [ - " Update the various staking limits this pallet.", - "", - " * `min_nominator_bond`: The minimum active bond needed to be a nominator.", - " * `min_validator_bond`: The minimum active bond needed to be a validator.", - " * `max_nominator_count`: The max number of users who can be a nominator at once.", - " When set to `None`, no limit is enforced.", - " * `max_validator_count`: The max number of users who can be a validator at once.", - " When set to `None`, no limit is enforced.", - "", - " Origin must be Root to call this function.", - "", - " NOTE: Existing nominators and validators will not be affected by this update.", - " to kick people under the new limits, `chill_other` should be called." - ] - }, - { - "name": "chill_other", - "args": [ - { - "name": "controller", - "type": "AccountId" - } - ], - "docs": [ - " Declare a `controller` to stop participating as either a validator or nominator.", - "", - " Effects will be felt at the beginning of the next era.", - "", - " The dispatch origin for this call must be _Signed_, but can be called by anyone.", - "", - " If the caller is the same as the controller being targeted, then no further checks are", - " enforced, and this function behaves just like `chill`.", - "", - " If the caller is different than the controller being targeted, the following conditions", - " must be met:", - " * A `ChillThreshold` must be set and checked which defines how close to the max", - " nominators or validators we must reach before users can start chilling one-another.", - " * A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine", - " how close we are to the threshold.", - " * A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines", - " if this is a person that should be chilled because they have not met the threshold", - " bond required.", - "", - " This can be helpful if bond requirements are updated, and we need to remove old users", - " who do not satisfy these requirements.", - "" - ] - } - ], - "events": [ - { - "name": "EraPayout", - "args": [ - "EraIndex", - "Balance", - "Balance" - ], - "docs": [ - " The era payout has been set; the first balance is the validator-payout; the second is", - " the remainder from the maximum amount of reward.", - " \\[era_index, validator_payout, remainder\\]" - ] - }, - { - "name": "Reward", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " The staker has been rewarded by this amount. \\[stash, amount\\]" - ] - }, - { - "name": "Slash", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " One validator (and its nominators) has been slashed by the given amount.", - " \\[validator, amount\\]" - ] - }, - { - "name": "OldSlashingReportDiscarded", - "args": [ - "SessionIndex" - ], - "docs": [ - " An old slashing report from a prior era was discarded because it could", - " not be processed. \\[session_index\\]" - ] - }, - { - "name": "StakingElection", - "args": [], - "docs": [ - " A new set of stakers was elected." - ] - }, - { - "name": "Bonded", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " An account has bonded this amount. \\[stash, amount\\]", - "", - " NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,", - " it will not be emitted for staking rewards when they are added to stake." - ] - }, - { - "name": "Unbonded", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " An account has unbonded this amount. \\[stash, amount\\]" - ] - }, - { - "name": "Withdrawn", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`", - " from the unlocking queue. \\[stash, amount\\]" - ] - }, - { - "name": "Kicked", - "args": [ - "AccountId", - "AccountId" - ], - "docs": [ - " A nominator has been kicked from a validator. \\[nominator, stash\\]" - ] - }, - { - "name": "StakingElectionFailed", - "args": [], - "docs": [ - " The election failed. No new era is planned." - ] - }, - { - "name": "Chilled", - "args": [ - "AccountId" - ], - "docs": [ - " An account has stopped participating as either a validator or nominator.", - " \\[stash\\]" - ] - } - ], - "constants": [ - { - "name": "SessionsPerEra", - "type": "SessionIndex", - "value": "0x06000000", - "docs": [ - " Number of sessions per era." - ] - }, - { - "name": "BondingDuration", - "type": "EraIndex", - "value": "0xa0020000", - "docs": [ - " Number of eras that staked funds must remain bonded for." - ] - }, - { - "name": "SlashDeferDuration", - "type": "EraIndex", - "value": "0xa8000000", - "docs": [ - " Number of eras that slashes are deferred by, after computation.", - "", - " This should be less than the bonding duration. Set to 0 if slashes", - " should be applied immediately, without opportunity for intervention." - ] - }, - { - "name": "MaxNominatorRewardedPerValidator", - "type": "u32", - "value": "0x00010000", - "docs": [ - " The maximum number of nominators rewarded for each validator.", - "", - " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can claim", - " their reward. This used to limit the i/o cost for the nominator payout." - ] - }, - { - "name": "MaxNominations", - "type": "u32", - "value": "0x10000000", - "docs": [] - } - ], - "errors": [ - { - "name": "NotController", - "docs": [ - " Not a controller account." - ] - }, - { - "name": "NotStash", - "docs": [ - " Not a stash account." - ] - }, - { - "name": "AlreadyBonded", - "docs": [ - " Stash is already bonded." - ] - }, - { - "name": "AlreadyPaired", - "docs": [ - " Controller is already paired." - ] - }, - { - "name": "EmptyTargets", - "docs": [ - " Targets cannot be empty." - ] - }, - { - "name": "DuplicateIndex", - "docs": [ - " Duplicate index." - ] - }, - { - "name": "InvalidSlashIndex", - "docs": [ - " Slash record index out of bounds." - ] - }, - { - "name": "InsufficientBond", - "docs": [ - " Can not bond with value less than minimum required." - ] - }, - { - "name": "NoMoreChunks", - "docs": [ - " Can not schedule more unlock chunks." - ] - }, - { - "name": "NoUnlockChunk", - "docs": [ - " Can not rebond without unlocking chunks." - ] - }, - { - "name": "FundedTarget", - "docs": [ - " Attempting to target a stash that still has funds." - ] - }, - { - "name": "InvalidEraToReward", - "docs": [ - " Invalid era to reward." - ] - }, - { - "name": "InvalidNumberOfNominations", - "docs": [ - " Invalid number of nominations." - ] - }, - { - "name": "NotSortedAndUnique", - "docs": [ - " Items are not sorted and unique." - ] - }, - { - "name": "AlreadyClaimed", - "docs": [ - " Rewards for this era have already been claimed for this validator." - ] - }, - { - "name": "IncorrectHistoryDepth", - "docs": [ - " Incorrect previous history depth input provided." - ] - }, - { - "name": "IncorrectSlashingSpans", - "docs": [ - " Incorrect number of slashing spans provided." - ] - }, - { - "name": "BadState", - "docs": [ - " Internal state has become somehow corrupted and the operation cannot continue." - ] - }, - { - "name": "TooManyTargets", - "docs": [ - " Too many nomination targets supplied." - ] - }, - { - "name": "BadTarget", - "docs": [ - " A nomination target was supplied that was blocked or otherwise not a validator." - ] - }, - { - "name": "CannotChillOther", - "docs": [ - " The user has enough bond and thus cannot be chilled forcefully by an external person." - ] - }, - { - "name": "TooManyNominators", - "docs": [ - " There are too many nominators in the system. Governance needs to adjust the staking settings", - " to keep things safe for the runtime." - ] - }, - { - "name": "TooManyValidators", - "docs": [ - " There are too many validators in the system. Governance needs to adjust the staking settings", - " to keep things safe for the runtime." - ] - } - ], - "index": 9 - }, - { - "name": "Session", - "storage": { - "prefix": "Session", - "items": [ - { - "name": "Validators", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current set of validators." - ] - }, - { - "name": "CurrentIndex", - "modifier": "Default", - "type": { - "plain": "SessionIndex" - }, - "fallback": "0x00000000", - "docs": [ - " Current index of the session." - ] - }, - { - "name": "QueuedChanged", - "modifier": "Default", - "type": { - "plain": "bool" - }, - "fallback": "0x00", - "docs": [ - " True if the underlying economic identities or weighting behind the validators", - " has changed in the queued validator set." - ] - }, - { - "name": "QueuedKeys", - "modifier": "Default", - "type": { - "plain": "Vec<(ValidatorId,Keys)>" - }, - "fallback": "0x00", - "docs": [ - " The queued keys for the next session. When the next session begins, these keys", - " will be used to determine the validator's session keys." - ] - }, - { - "name": "DisabledValidators", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " Indices of disabled validators.", - "", - " The set is cleared when `on_session_ending` returns a new set of identities." - ] - }, - { - "name": "NextKeys", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "ValidatorId", - "value": "Keys", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The next session keys for a validator." - ] - }, - { - "name": "KeyOwner", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "(KeyTypeId,Bytes)", - "value": "ValidatorId", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The owner of a key. The key is the `KeyTypeId` + the encoded key." - ] - } - ] - }, - "calls": [ - { - "name": "set_keys", - "args": [ - { - "name": "keys", - "type": "Keys" - }, - { - "name": "proof", - "type": "Bytes" - } - ], - "docs": [ - " Sets the session key(s) of the function caller to `keys`.", - " Allows an account to set its session key prior to becoming a validator.", - " This doesn't take effect until the next session.", - "", - " The dispatch origin of this function must be signed.", - "", - " # ", - " - Complexity: `O(1)`", - " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.", - " - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", - " - DbWrites: `origin account`, `NextKeys`", - " - DbReads per key id: `KeyOwner`", - " - DbWrites per key id: `KeyOwner`", - " # " - ] - }, - { - "name": "purge_keys", - "args": [], - "docs": [ - " Removes any session key(s) of the function caller.", - " This doesn't take effect until the next session.", - "", - " The dispatch origin of this function must be signed.", - "", - " # ", - " - Complexity: `O(1)` in number of key types.", - " Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.", - " - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", - " - DbWrites: `NextKeys`, `origin account`", - " - DbWrites per key id: `KeyOwner`", - " # " - ] - } - ], - "events": [ - { - "name": "NewSession", - "args": [ - "SessionIndex" - ], - "docs": [ - " New session has happened. Note that the argument is the \\[session_index\\], not the block", - " number as the type might suggest." - ] - } - ], - "constants": [], - "errors": [ - { - "name": "InvalidProof", - "docs": [ - " Invalid ownership proof." - ] - }, - { - "name": "NoAssociatedValidatorId", - "docs": [ - " No associated validator ID for account." - ] - }, - { - "name": "DuplicatedKey", - "docs": [ - " Registered duplicate key." - ] - }, - { - "name": "NoKeys", - "docs": [ - " No keys are associated with this account." - ] - }, - { - "name": "NoAccount", - "docs": [ - " Key setting account is not live, so it's impossible to associate keys." - ] - } - ], - "index": 10 - }, - { - "name": "Democracy", - "storage": { - "prefix": "Democracy", - "items": [ - { - "name": "PublicPropCount", - "modifier": "Default", - "type": { - "plain": "PropIndex" - }, - "fallback": "0x00000000", - "docs": [ - " The number of (public) proposals that have been made so far." - ] - }, - { - "name": "PublicProps", - "modifier": "Default", - "type": { - "plain": "Vec<(PropIndex,Hash,AccountId)>" - }, - "fallback": "0x00", - "docs": [ - " The public proposals. Unsorted. The second item is the proposal's hash." - ] - }, - { - "name": "DepositOf", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "PropIndex", - "value": "(Vec,BalanceOf)", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Those who have locked a deposit.", - "", - " TWOX-NOTE: Safe, as increasing integer keys are safe." - ] - }, - { - "name": "Preimages", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "Hash", - "value": "PreimageStatus", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Map of hashes to the proposal preimage, along with who registered it and their deposit.", - " The block number is the block at which it was deposited." - ] - }, - { - "name": "ReferendumCount", - "modifier": "Default", - "type": { - "plain": "ReferendumIndex" - }, - "fallback": "0x00000000", - "docs": [ - " The next free referendum index, aka the number of referenda started so far." - ] - }, - { - "name": "LowestUnbaked", - "modifier": "Default", - "type": { - "plain": "ReferendumIndex" - }, - "fallback": "0x00000000", - "docs": [ - " The lowest referendum index representing an unbaked referendum. Equal to", - " `ReferendumCount` if there isn't a unbaked referendum." - ] - }, - { - "name": "ReferendumInfoOf", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "ReferendumIndex", - "value": "ReferendumInfo", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Information concerning any given referendum.", - "", - " TWOX-NOTE: SAFE as indexes are not under an attacker’s control." - ] - }, - { - "name": "VotingOf", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "Voting", - "linked": false - } - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " All votes for a particular voter. We store the balance for the number of votes that we", - " have recorded. The second item is the total amount of delegations, that will be added.", - "", - " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway." - ] - }, - { - "name": "Locks", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "BlockNumber", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Accounts for which there are locks in action which may be removed at some point in the", - " future. The value is the block number at which the lock expires and may be removed.", - "", - " TWOX-NOTE: OK ― `AccountId` is a secure hash." - ] - }, - { - "name": "LastTabledWasExternal", - "modifier": "Default", - "type": { - "plain": "bool" - }, - "fallback": "0x00", - "docs": [ - " True if the last referendum tabled was submitted externally. False if it was a public", - " proposal." - ] - }, - { - "name": "NextExternal", - "modifier": "Optional", - "type": { - "plain": "(Hash,VoteThreshold)" - }, - "fallback": "0x00", - "docs": [ - " The referendum to be tabled whenever it would be valid to table an external proposal.", - " This happens when a referendum needs to be tabled and one of two conditions are met:", - " - `LastTabledWasExternal` is `false`; or", - " - `PublicProps` is empty." - ] - }, - { - "name": "Blacklist", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "Hash", - "value": "(BlockNumber,Vec)", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " A record of who vetoed what. Maps proposal hash to a possible existent block number", - " (until when it may not be resubmitted) and who vetoed it." - ] - }, - { - "name": "Cancellations", - "modifier": "Default", - "type": { - "map": { - "hasher": "Identity", - "key": "Hash", - "value": "bool", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Record of all proposals that have been subject to emergency cancellation." - ] - }, - { - "name": "StorageVersion", - "modifier": "Optional", - "type": { - "plain": "Releases" - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " New networks start with last version." - ] - } - ] - }, - "calls": [ - { - "name": "propose", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - }, - { - "name": "value", - "type": "Compact" - } - ], - "docs": [ - " Propose a sensitive action to be taken.", - "", - " The dispatch origin of this call must be _Signed_ and the sender must", - " have funds to cover the deposit.", - "", - " - `proposal_hash`: The hash of the proposal preimage.", - " - `value`: The amount of deposit (must be at least `MinimumDeposit`).", - "", - " Emits `Proposed`.", - "", - " Weight: `O(p)`" - ] - }, - { - "name": "second", - "args": [ - { - "name": "proposal", - "type": "Compact" - }, - { - "name": "seconds_upper_bound", - "type": "Compact" - } - ], - "docs": [ - " Signals agreement with a particular proposal.", - "", - " The dispatch origin of this call must be _Signed_ and the sender", - " must have funds to cover the deposit, equal to the original deposit.", - "", - " - `proposal`: The index of the proposal to second.", - " - `seconds_upper_bound`: an upper bound on the current number of seconds on this", - " proposal. Extrinsic is weighted according to this value with no refund.", - "", - " Weight: `O(S)` where S is the number of seconds a proposal already has." - ] - }, - { - "name": "vote", - "args": [ - { - "name": "ref_index", - "type": "Compact" - }, - { - "name": "vote", - "type": "AccountVote" - } - ], - "docs": [ - " Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;", - " otherwise it is a vote to keep the status quo.", - "", - " The dispatch origin of this call must be _Signed_.", - "", - " - `ref_index`: The index of the referendum to vote for.", - " - `vote`: The vote configuration.", - "", - " Weight: `O(R)` where R is the number of referendums the voter has voted on." - ] - }, - { - "name": "emergency_cancel", - "args": [ - { - "name": "ref_index", - "type": "ReferendumIndex" - } - ], - "docs": [ - " Schedule an emergency cancellation of a referendum. Cannot happen twice to the same", - " referendum.", - "", - " The dispatch origin of this call must be `CancellationOrigin`.", - "", - " -`ref_index`: The index of the referendum to cancel.", - "", - " Weight: `O(1)`." - ] - }, - { - "name": "external_propose", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - } - ], - "docs": [ - " Schedule a referendum to be tabled once it is legal to schedule an external", - " referendum.", - "", - " The dispatch origin of this call must be `ExternalOrigin`.", - "", - " - `proposal_hash`: The preimage hash of the proposal.", - "", - " Weight: `O(V)` with V number of vetoers in the blacklist of proposal.", - " Decoding vec of length V. Charged as maximum" - ] - }, - { - "name": "external_propose_majority", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - } - ], - "docs": [ - " Schedule a majority-carries referendum to be tabled next once it is legal to schedule", - " an external referendum.", - "", - " The dispatch of this call must be `ExternalMajorityOrigin`.", - "", - " - `proposal_hash`: The preimage hash of the proposal.", - "", - " Unlike `external_propose`, blacklisting has no effect on this and it may replace a", - " pre-scheduled `external_propose` call.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "external_propose_default", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - } - ], - "docs": [ - " Schedule a negative-turnout-bias referendum to be tabled next once it is legal to", - " schedule an external referendum.", - "", - " The dispatch of this call must be `ExternalDefaultOrigin`.", - "", - " - `proposal_hash`: The preimage hash of the proposal.", - "", - " Unlike `external_propose`, blacklisting has no effect on this and it may replace a", - " pre-scheduled `external_propose` call.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "fast_track", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - }, - { - "name": "voting_period", - "type": "BlockNumber" - }, - { - "name": "delay", - "type": "BlockNumber" - } - ], - "docs": [ - " Schedule the currently externally-proposed majority-carries referendum to be tabled", - " immediately. If there is no externally-proposed referendum currently, or if there is one", - " but it is not a majority-carries referendum then it fails.", - "", - " The dispatch of this call must be `FastTrackOrigin`.", - "", - " - `proposal_hash`: The hash of the current external proposal.", - " - `voting_period`: The period that is allowed for voting on this proposal. Increased to", - " `FastTrackVotingPeriod` if too low.", - " - `delay`: The number of block after voting has ended in approval and this should be", - " enacted. This doesn't have a minimum amount.", - "", - " Emits `Started`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "veto_external", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - } - ], - "docs": [ - " Veto and blacklist the external proposal hash.", - "", - " The dispatch origin of this call must be `VetoOrigin`.", - "", - " - `proposal_hash`: The preimage hash of the proposal to veto and blacklist.", - "", - " Emits `Vetoed`.", - "", - " Weight: `O(V + log(V))` where V is number of `existing vetoers`" - ] - }, - { - "name": "cancel_referendum", - "args": [ - { - "name": "ref_index", - "type": "Compact" - } - ], - "docs": [ - " Remove a referendum.", - "", - " The dispatch origin of this call must be _Root_.", - "", - " - `ref_index`: The index of the referendum to cancel.", - "", - " # Weight: `O(1)`." - ] - }, - { - "name": "cancel_queued", - "args": [ - { - "name": "which", - "type": "ReferendumIndex" - } - ], - "docs": [ - " Cancel a proposal queued for enactment.", - "", - " The dispatch origin of this call must be _Root_.", - "", - " - `which`: The index of the referendum to cancel.", - "", - " Weight: `O(D)` where `D` is the items in the dispatch queue. Weighted as `D = 10`." - ] - }, - { - "name": "delegate", - "args": [ - { - "name": "to", - "type": "AccountId" - }, - { - "name": "conviction", - "type": "Conviction" - }, - { - "name": "balance", - "type": "BalanceOf" - } - ], - "docs": [ - " Delegate the voting power (with some given conviction) of the sending account.", - "", - " The balance delegated is locked for as long as it's delegated, and thereafter for the", - " time appropriate for the conviction's lock period.", - "", - " The dispatch origin of this call must be _Signed_, and the signing account must either:", - " - be delegating already; or", - " - have no voting activity (if there is, then it will need to be removed/consolidated", - " through `reap_vote` or `unvote`).", - "", - " - `to`: The account whose voting the `target` account's voting power will follow.", - " - `conviction`: The conviction that will be attached to the delegated votes. When the", - " account is undelegated, the funds will be locked for the corresponding period.", - " - `balance`: The amount of the account's balance to be used in delegating. This must", - " not be more than the account's current balance.", - "", - " Emits `Delegated`.", - "", - " Weight: `O(R)` where R is the number of referendums the voter delegating to has", - " voted on. Weight is charged as if maximum votes." - ] - }, - { - "name": "undelegate", - "args": [], - "docs": [ - " Undelegate the voting power of the sending account.", - "", - " Tokens may be unlocked following once an amount of time consistent with the lock period", - " of the conviction with which the delegation was issued.", - "", - " The dispatch origin of this call must be _Signed_ and the signing account must be", - " currently delegating.", - "", - " Emits `Undelegated`.", - "", - " Weight: `O(R)` where R is the number of referendums the voter delegating to has", - " voted on. Weight is charged as if maximum votes." - ] - }, - { - "name": "clear_public_proposals", - "args": [], - "docs": [ - " Clears all public proposals.", - "", - " The dispatch origin of this call must be _Root_.", - "", - " Weight: `O(1)`." - ] - }, - { - "name": "note_preimage", - "args": [ - { - "name": "encoded_proposal", - "type": "Bytes" - } - ], - "docs": [ - " Register the preimage for an upcoming proposal. This doesn't require the proposal to be", - " in the dispatch queue but does require a deposit, returned once enacted.", - "", - " The dispatch origin of this call must be _Signed_.", - "", - " - `encoded_proposal`: The preimage of a proposal.", - "", - " Emits `PreimageNoted`.", - "", - " Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)." - ] - }, - { - "name": "note_preimage_operational", - "args": [ - { - "name": "encoded_proposal", - "type": "Bytes" - } - ], - "docs": [ - " Same as `note_preimage` but origin is `OperationalPreimageOrigin`." - ] - }, - { - "name": "note_imminent_preimage", - "args": [ - { - "name": "encoded_proposal", - "type": "Bytes" - } - ], - "docs": [ - " Register the preimage for an upcoming proposal. This requires the proposal to be", - " in the dispatch queue. No deposit is needed. When this call is successful, i.e.", - " the preimage has not been uploaded before and matches some imminent proposal,", - " no fee is paid.", - "", - " The dispatch origin of this call must be _Signed_.", - "", - " - `encoded_proposal`: The preimage of a proposal.", - "", - " Emits `PreimageNoted`.", - "", - " Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit)." - ] - }, - { - "name": "note_imminent_preimage_operational", - "args": [ - { - "name": "encoded_proposal", - "type": "Bytes" - } - ], - "docs": [ - " Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`." - ] - }, - { - "name": "reap_preimage", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - }, - { - "name": "proposal_len_upper_bound", - "type": "Compact" - } - ], - "docs": [ - " Remove an expired proposal preimage and collect the deposit.", - "", - " The dispatch origin of this call must be _Signed_.", - "", - " - `proposal_hash`: The preimage hash of a proposal.", - " - `proposal_length_upper_bound`: an upper bound on length of the proposal.", - " Extrinsic is weighted according to this value with no refund.", - "", - " This will only work after `VotingPeriod` blocks from the time that the preimage was", - " noted, if it's the same account doing it. If it's a different account, then it'll only", - " work an additional `EnactmentPeriod` later.", - "", - " Emits `PreimageReaped`.", - "", - " Weight: `O(D)` where D is length of proposal." - ] - }, - { - "name": "unlock", - "args": [ - { - "name": "target", - "type": "AccountId" - } - ], - "docs": [ - " Unlock tokens that have an expired lock.", - "", - " The dispatch origin of this call must be _Signed_.", - "", - " - `target`: The account to remove the lock on.", - "", - " Weight: `O(R)` with R number of vote of target." - ] - }, - { - "name": "remove_vote", - "args": [ - { - "name": "index", - "type": "ReferendumIndex" - } - ], - "docs": [ - " Remove a vote for a referendum.", - "", - " If:", - " - the referendum was cancelled, or", - " - the referendum is ongoing, or", - " - the referendum has ended such that", - " - the vote of the account was in opposition to the result; or", - " - there was no conviction to the account's vote; or", - " - the account made a split vote", - " ...then the vote is removed cleanly and a following call to `unlock` may result in more", - " funds being available.", - "", - " If, however, the referendum has ended and:", - " - it finished corresponding to the vote of the account, and", - " - the account made a standard vote with conviction, and", - " - the lock period of the conviction is not over", - " ...then the lock will be aggregated into the overall account's lock, which may involve", - " *overlocking* (where the two locks are combined into a single lock that is the maximum", - " of both the amount locked and the time is it locked for).", - "", - " The dispatch origin of this call must be _Signed_, and the signer must have a vote", - " registered for referendum `index`.", - "", - " - `index`: The index of referendum of the vote to be removed.", - "", - " Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", - " Weight is calculated for the maximum number of vote." - ] - }, - { - "name": "remove_other_vote", - "args": [ - { - "name": "target", - "type": "AccountId" - }, - { - "name": "index", - "type": "ReferendumIndex" - } - ], - "docs": [ - " Remove a vote for a referendum.", - "", - " If the `target` is equal to the signer, then this function is exactly equivalent to", - " `remove_vote`. If not equal to the signer, then the vote must have expired,", - " either because the referendum was cancelled, because the voter lost the referendum or", - " because the conviction period is over.", - "", - " The dispatch origin of this call must be _Signed_.", - "", - " - `target`: The account of the vote to be removed; this account must have voted for", - " referendum `index`.", - " - `index`: The index of referendum of the vote to be removed.", - "", - " Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", - " Weight is calculated for the maximum number of vote." - ] - }, - { - "name": "enact_proposal", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - }, - { - "name": "index", - "type": "ReferendumIndex" - } - ], - "docs": [ - " Enact a proposal from a referendum. For now we just make the weight be the maximum." - ] - }, - { - "name": "blacklist", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - }, - { - "name": "maybe_ref_index", - "type": "Option" - } - ], - "docs": [ - " Permanently place a proposal into the blacklist. This prevents it from ever being", - " proposed again.", - "", - " If called on a queued public or external proposal, then this will result in it being", - " removed. If the `ref_index` supplied is an active referendum with the proposal hash,", - " then it will be cancelled.", - "", - " The dispatch origin of this call must be `BlacklistOrigin`.", - "", - " - `proposal_hash`: The proposal hash to blacklist permanently.", - " - `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be", - " cancelled.", - "", - " Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a", - " reasonable value)." - ] - }, - { - "name": "cancel_proposal", - "args": [ - { - "name": "prop_index", - "type": "Compact" - } - ], - "docs": [ - " Remove a proposal.", - "", - " The dispatch origin of this call must be `CancelProposalOrigin`.", - "", - " - `prop_index`: The index of the proposal to cancel.", - "", - " Weight: `O(p)` where `p = PublicProps::::decode_len()`" - ] - } - ], - "events": [ - { - "name": "Proposed", - "args": [ - "PropIndex", - "Balance" - ], - "docs": [ - " A motion has been proposed by a public account. \\[proposal_index, deposit\\]" - ] - }, - { - "name": "Tabled", - "args": [ - "PropIndex", - "Balance", - "Vec" - ], - "docs": [ - " A public proposal has been tabled for referendum vote. \\[proposal_index, deposit, depositors\\]" - ] - }, - { - "name": "ExternalTabled", - "args": [], - "docs": [ - " An external proposal has been tabled." - ] - }, - { - "name": "Started", - "args": [ - "ReferendumIndex", - "VoteThreshold" - ], - "docs": [ - " A referendum has begun. \\[ref_index, threshold\\]" - ] - }, - { - "name": "Passed", - "args": [ - "ReferendumIndex" - ], - "docs": [ - " A proposal has been approved by referendum. \\[ref_index\\]" - ] - }, - { - "name": "NotPassed", - "args": [ - "ReferendumIndex" - ], - "docs": [ - " A proposal has been rejected by referendum. \\[ref_index\\]" - ] - }, - { - "name": "Cancelled", - "args": [ - "ReferendumIndex" - ], - "docs": [ - " A referendum has been cancelled. \\[ref_index\\]" - ] - }, - { - "name": "Executed", - "args": [ - "ReferendumIndex", - "bool" - ], - "docs": [ - " A proposal has been enacted. \\[ref_index, is_ok\\]" - ] - }, - { - "name": "Delegated", - "args": [ - "AccountId", - "AccountId" - ], - "docs": [ - " An account has delegated their vote to another account. \\[who, target\\]" - ] - }, - { - "name": "Undelegated", - "args": [ - "AccountId" - ], - "docs": [ - " An \\[account\\] has cancelled a previous delegation operation." - ] - }, - { - "name": "Vetoed", - "args": [ - "AccountId", - "Hash", - "BlockNumber" - ], - "docs": [ - " An external proposal has been vetoed. \\[who, proposal_hash, until\\]" - ] - }, - { - "name": "PreimageNoted", - "args": [ - "Hash", - "AccountId", - "Balance" - ], - "docs": [ - " A proposal's preimage was noted, and the deposit taken. \\[proposal_hash, who, deposit\\]" - ] - }, - { - "name": "PreimageUsed", - "args": [ - "Hash", - "AccountId", - "Balance" - ], - "docs": [ - " A proposal preimage was removed and used (the deposit was returned).", - " \\[proposal_hash, provider, deposit\\]" - ] - }, - { - "name": "PreimageInvalid", - "args": [ - "Hash", - "ReferendumIndex" - ], - "docs": [ - " A proposal could not be executed because its preimage was invalid.", - " \\[proposal_hash, ref_index\\]" - ] - }, - { - "name": "PreimageMissing", - "args": [ - "Hash", - "ReferendumIndex" - ], - "docs": [ - " A proposal could not be executed because its preimage was missing.", - " \\[proposal_hash, ref_index\\]" - ] - }, - { - "name": "PreimageReaped", - "args": [ - "Hash", - "AccountId", - "Balance", - "AccountId" - ], - "docs": [ - " A registered preimage was removed and the deposit collected by the reaper.", - " \\[proposal_hash, provider, deposit, reaper\\]" - ] - }, - { - "name": "Unlocked", - "args": [ - "AccountId" - ], - "docs": [ - " An \\[account\\] has been unlocked successfully." - ] - }, - { - "name": "Blacklisted", - "args": [ - "Hash" - ], - "docs": [ - " A proposal \\[hash\\] has been blacklisted permanently." - ] - } - ], - "constants": [ - { - "name": "EnactmentPeriod", - "type": "BlockNumber", - "value": "0x002f0d00", - "docs": [ - " The minimum period of locking and the period between a proposal being approved and enacted.", - "", - " It should generally be a little more than the unstake period to ensure that", - " voting stakers have an opportunity to remove themselves from the system in the case where", - " they are on the losing side of a vote." - ] - }, - { - "name": "LaunchPeriod", - "type": "BlockNumber", - "value": "0x004e0c00", - "docs": [ - " How often (in blocks) new public referenda are launched." - ] - }, - { - "name": "VotingPeriod", - "type": "BlockNumber", - "value": "0x004e0c00", - "docs": [ - " How often (in blocks) to check for new votes." - ] - }, - { - "name": "MinimumDeposit", - "type": "BalanceOf", - "value": "0x0000c16ff28623000000000000000000", - "docs": [ - " The minimum amount to be used as a deposit for a public referendum proposal." - ] - }, - { - "name": "FastTrackVotingPeriod", - "type": "BlockNumber", - "value": "0x80510100", - "docs": [ - " Minimum voting period allowed for a fast-track referendum." - ] - }, - { - "name": "CooloffPeriod", - "type": "BlockNumber", - "value": "0x004e0c00", - "docs": [ - " Period in blocks where an external proposal may not be re-submitted after being vetoed." - ] - }, - { - "name": "PreimageByteDeposit", - "type": "BalanceOf", - "value": "0x0010a5d4e80000000000000000000000", - "docs": [ - " The amount of balance that must be deposited per byte of preimage stored." - ] - }, - { - "name": "MaxVotes", - "type": "u32", - "value": "0x64000000", - "docs": [ - " The maximum number of votes for an account.", - "", - " Also used to compute weight, an overly big value can", - " lead to extrinsic with very big weight: see `delegate` for instance." - ] - } - ], - "errors": [ - { - "name": "ValueLow", - "docs": [ - " Value too low" - ] - }, - { - "name": "ProposalMissing", - "docs": [ - " Proposal does not exist" - ] - }, - { - "name": "BadIndex", - "docs": [ - " Unknown index" - ] - }, - { - "name": "AlreadyCanceled", - "docs": [ - " Cannot cancel the same proposal twice" - ] - }, - { - "name": "DuplicateProposal", - "docs": [ - " Proposal already made" - ] - }, - { - "name": "ProposalBlacklisted", - "docs": [ - " Proposal still blacklisted" - ] - }, - { - "name": "NotSimpleMajority", - "docs": [ - " Next external proposal not simple majority" - ] - }, - { - "name": "InvalidHash", - "docs": [ - " Invalid hash" - ] - }, - { - "name": "NoProposal", - "docs": [ - " No external proposal" - ] - }, - { - "name": "AlreadyVetoed", - "docs": [ - " Identity may not veto a proposal twice" - ] - }, - { - "name": "NotDelegated", - "docs": [ - " Not delegated" - ] - }, - { - "name": "DuplicatePreimage", - "docs": [ - " Preimage already noted" - ] - }, - { - "name": "NotImminent", - "docs": [ - " Not imminent" - ] - }, - { - "name": "TooEarly", - "docs": [ - " Too early" - ] - }, - { - "name": "Imminent", - "docs": [ - " Imminent" - ] - }, - { - "name": "PreimageMissing", - "docs": [ - " Preimage not found" - ] - }, - { - "name": "ReferendumInvalid", - "docs": [ - " Vote given for invalid referendum" - ] - }, - { - "name": "PreimageInvalid", - "docs": [ - " Invalid preimage" - ] - }, - { - "name": "NoneWaiting", - "docs": [ - " No proposals waiting" - ] - }, - { - "name": "NotLocked", - "docs": [ - " The target account does not have a lock." - ] - }, - { - "name": "NotExpired", - "docs": [ - " The lock on the account to be unlocked has not yet expired." - ] - }, - { - "name": "NotVoter", - "docs": [ - " The given account did not vote on the referendum." - ] - }, - { - "name": "NoPermission", - "docs": [ - " The actor has no permission to conduct the action." - ] - }, - { - "name": "AlreadyDelegating", - "docs": [ - " The account is already delegating." - ] - }, - { - "name": "InsufficientFunds", - "docs": [ - " Too high a balance was provided that the account cannot afford." - ] - }, - { - "name": "NotDelegating", - "docs": [ - " The account is not currently delegating." - ] - }, - { - "name": "VotesExist", - "docs": [ - " The account currently has votes attached to it and the operation cannot succeed until", - " these are removed, either through `unvote` or `reap_vote`." - ] - }, - { - "name": "InstantNotAllowed", - "docs": [ - " The instant referendum origin is currently disallowed." - ] - }, - { - "name": "Nonsense", - "docs": [ - " Delegation to oneself makes no sense." - ] - }, - { - "name": "WrongUpperBound", - "docs": [ - " Invalid upper bound." - ] - }, - { - "name": "MaxVotesReached", - "docs": [ - " Maximum number of votes reached." - ] - }, - { - "name": "InvalidWitness", - "docs": [ - " The provided witness data is wrong." - ] - }, - { - "name": "TooManyProposals", - "docs": [ - " Maximum number of proposals reached." - ] - } - ], - "index": 11 - }, - { - "name": "Council", - "storage": { - "prefix": "Instance1Collective", - "items": [ - { - "name": "Proposals", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The hashes of the active proposals." - ] - }, - { - "name": "ProposalOf", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "Hash", - "value": "Proposal", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Actual proposal for a given hash, if it's current." - ] - }, - { - "name": "Voting", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "Hash", - "value": "Votes", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Votes on a given proposal, if it is ongoing." - ] - }, - { - "name": "ProposalCount", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " Proposals so far." - ] - }, - { - "name": "Members", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current members of the collective. This is stored sorted (just by value)." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "type": { - "plain": "AccountId" - }, - "fallback": "0x00", - "docs": [ - " The prime member that helps determine the default vote behavior in case of absentations." - ] - } - ] - }, - "calls": [ - { - "name": "set_members", - "args": [ - { - "name": "new_members", - "type": "Vec" - }, - { - "name": "prime", - "type": "Option" - }, - { - "name": "old_count", - "type": "MemberCount" - } - ], - "docs": [ - " Set the collective's membership.", - "", - " - `new_members`: The new member list. Be nice to the chain and provide it sorted.", - " - `prime`: The prime member whose vote sets the default.", - " - `old_count`: The upper bound for the previous number of members in storage.", - " Used for weight estimation.", - "", - " Requires root origin.", - "", - " NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", - " the weight estimations rely on it to estimate dispatchable weight.", - "", - " # ", - " ## Weight", - " - `O(MP + N)` where:", - " - `M` old-members-count (code- and governance-bounded)", - " - `N` new-members-count (code- and governance-bounded)", - " - `P` proposals-count (code-bounded)", - " - DB:", - " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members", - " - 1 storage read (codec `O(P)`) for reading the proposals", - " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal", - " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one", - " # " - ] - }, - { - "name": "execute", - "args": [ - { - "name": "proposal", - "type": "Proposal" - }, - { - "name": "length_bound", - "type": "Compact" - } - ], - "docs": [ - " Dispatch a proposal from a member using the `Member` origin.", - "", - " Origin must be a member of the collective.", - "", - " # ", - " ## Weight", - " - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`", - " - DB: 1 read (codec `O(M)`) + DB access of `proposal`", - " - 1 event", - " # " - ] - }, - { - "name": "propose", - "args": [ - { - "name": "threshold", - "type": "Compact" - }, - { - "name": "proposal", - "type": "Proposal" - }, - { - "name": "length_bound", - "type": "Compact" - } - ], - "docs": [ - " Add a new proposal to either be voted on or executed directly.", - "", - " Requires the sender to be member.", - "", - " `threshold` determines whether `proposal` is executed directly (`threshold < 2`)", - " or put up for voting.", - "", - " # ", - " ## Weight", - " - `O(B + M + P1)` or `O(B + M + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - branching is influenced by `threshold` where:", - " - `P1` is proposal execution complexity (`threshold < 2`)", - " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)", - " - DB:", - " - 1 storage read `is_member` (codec `O(M)`)", - " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)", - " - DB accesses influenced by `threshold`:", - " - EITHER storage accesses done by `proposal` (`threshold < 2`)", - " - OR proposal insertion (`threshold <= 2`)", - " - 1 storage mutation `Proposals` (codec `O(P2)`)", - " - 1 storage mutation `ProposalCount` (codec `O(1)`)", - " - 1 storage write `ProposalOf` (codec `O(B)`)", - " - 1 storage write `Voting` (codec `O(M)`)", - " - 1 event", - " # " - ] - }, - { - "name": "vote", - "args": [ - { - "name": "proposal", - "type": "Hash" - }, - { - "name": "index", - "type": "Compact" - }, - { - "name": "approve", - "type": "bool" - } - ], - "docs": [ - " Add an aye or nay vote for the sender to the given proposal.", - "", - " Requires the sender to be a member.", - "", - " Transaction fees will be waived if the member is voting on any particular proposal", - " for the first time and the call is successful. Subsequent vote changes will charge a fee.", - " # ", - " ## Weight", - " - `O(M)` where `M` is members-count (code- and governance-bounded)", - " - DB:", - " - 1 storage read `Members` (codec `O(M)`)", - " - 1 storage mutation `Voting` (codec `O(M)`)", - " - 1 event", - " # " - ] - }, - { - "name": "close", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - }, - { - "name": "index", - "type": "Compact" - }, - { - "name": "proposal_weight_bound", - "type": "Compact" - }, - { - "name": "length_bound", - "type": "Compact" - } - ], - "docs": [ - " Close a vote that is either approved, disapproved or whose voting period has ended.", - "", - " May be called by any signed account in order to finish voting and close the proposal.", - "", - " If called before the end of the voting period it will only close the vote if it is", - " has enough votes to be approved or disapproved.", - "", - " If called after the end of the voting period abstentions are counted as rejections", - " unless there is a prime member set and the prime member cast an approval.", - "", - " If the close operation completes successfully with disapproval, the transaction fee will", - " be waived. Otherwise execution of the approved operation will be charged to the caller.", - "", - " + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.", - " + `length_bound`: The upper bound for the length of the proposal in storage. Checked via", - " `storage::read` so it is `size_of::() == 4` larger than the pure length.", - "", - " # ", - " ## Weight", - " - `O(B + M + P1 + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - `P1` is the complexity of `proposal` preimage.", - " - `P2` is proposal-count (code-bounded)", - " - DB:", - " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)", - " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)", - " - any mutations done while executing `proposal` (`P1`)", - " - up to 3 events", - " # " - ] - }, - { - "name": "disapprove_proposal", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - } - ], - "docs": [ - " Disapprove a proposal, close, and remove it from the system, regardless of its current state.", - "", - " Must be called by the Root origin.", - "", - " Parameters:", - " * `proposal_hash`: The hash of the proposal that should be disapproved.", - "", - " # ", - " Complexity: O(P) where P is the number of max proposals", - " DB Weight:", - " * Reads: Proposals", - " * Writes: Voting, Proposals, ProposalOf", - " # " - ] - } - ], - "events": [ - { - "name": "Proposed", - "args": [ - "AccountId", - "ProposalIndex", - "Hash", - "MemberCount" - ], - "docs": [ - " A motion (given hash) has been proposed (by given account) with a threshold (given", - " `MemberCount`).", - " \\[account, proposal_index, proposal_hash, threshold\\]" - ] - }, - { - "name": "Voted", - "args": [ - "AccountId", - "Hash", - "bool", - "MemberCount", - "MemberCount" - ], - "docs": [ - " A motion (given hash) has been voted on by given account, leaving", - " a tally (yes votes and no votes given respectively as `MemberCount`).", - " \\[account, proposal_hash, voted, yes, no\\]" - ] - }, - { - "name": "Approved", - "args": [ - "Hash" - ], - "docs": [ - " A motion was approved by the required threshold.", - " \\[proposal_hash\\]" - ] - }, - { - "name": "Disapproved", - "args": [ - "Hash" - ], - "docs": [ - " A motion was not approved by the required threshold.", - " \\[proposal_hash\\]" - ] - }, - { - "name": "Executed", - "args": [ - "Hash", - "DispatchResult" - ], - "docs": [ - " A motion was executed; result will be `Ok` if it returned without error.", - " \\[proposal_hash, result\\]" - ] - }, - { - "name": "MemberExecuted", - "args": [ - "Hash", - "DispatchResult" - ], - "docs": [ - " A single member did some action; result will be `Ok` if it returned without error.", - " \\[proposal_hash, result\\]" - ] - }, - { - "name": "Closed", - "args": [ - "Hash", - "MemberCount", - "MemberCount" - ], - "docs": [ - " A proposal was closed because its threshold was reached or after its duration was up.", - " \\[proposal_hash, yes, no\\]" - ] - } - ], - "constants": [], - "errors": [ - { - "name": "NotMember", - "docs": [ - " Account is not a member" - ] - }, - { - "name": "DuplicateProposal", - "docs": [ - " Duplicate proposals not allowed" - ] - }, - { - "name": "ProposalMissing", - "docs": [ - " Proposal must exist" - ] - }, - { - "name": "WrongIndex", - "docs": [ - " Mismatched index" - ] - }, - { - "name": "DuplicateVote", - "docs": [ - " Duplicate vote ignored" - ] - }, - { - "name": "AlreadyInitialized", - "docs": [ - " Members are already initialized!" - ] - }, - { - "name": "TooEarly", - "docs": [ - " The close call was made too early, before the end of the voting." - ] - }, - { - "name": "TooManyProposals", - "docs": [ - " There can only be a maximum of `MaxProposals` active proposals." - ] - }, - { - "name": "WrongProposalWeight", - "docs": [ - " The given weight bound for the proposal was too low." - ] - }, - { - "name": "WrongProposalLength", - "docs": [ - " The given length bound for the proposal was too low." - ] - } - ], - "index": 12 - }, - { - "name": "TechnicalCommittee", - "storage": { - "prefix": "Instance2Collective", - "items": [ - { - "name": "Proposals", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The hashes of the active proposals." - ] - }, - { - "name": "ProposalOf", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "Hash", - "value": "Proposal", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Actual proposal for a given hash, if it's current." - ] - }, - { - "name": "Voting", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "Hash", - "value": "Votes", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Votes on a given proposal, if it is ongoing." - ] - }, - { - "name": "ProposalCount", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " Proposals so far." - ] - }, - { - "name": "Members", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current members of the collective. This is stored sorted (just by value)." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "type": { - "plain": "AccountId" - }, - "fallback": "0x00", - "docs": [ - " The prime member that helps determine the default vote behavior in case of absentations." - ] - } - ] - }, - "calls": [ - { - "name": "set_members", - "args": [ - { - "name": "new_members", - "type": "Vec" - }, - { - "name": "prime", - "type": "Option" - }, - { - "name": "old_count", - "type": "MemberCount" - } - ], - "docs": [ - " Set the collective's membership.", - "", - " - `new_members`: The new member list. Be nice to the chain and provide it sorted.", - " - `prime`: The prime member whose vote sets the default.", - " - `old_count`: The upper bound for the previous number of members in storage.", - " Used for weight estimation.", - "", - " Requires root origin.", - "", - " NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", - " the weight estimations rely on it to estimate dispatchable weight.", - "", - " # ", - " ## Weight", - " - `O(MP + N)` where:", - " - `M` old-members-count (code- and governance-bounded)", - " - `N` new-members-count (code- and governance-bounded)", - " - `P` proposals-count (code-bounded)", - " - DB:", - " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members", - " - 1 storage read (codec `O(P)`) for reading the proposals", - " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal", - " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one", - " # " - ] - }, - { - "name": "execute", - "args": [ - { - "name": "proposal", - "type": "Proposal" - }, - { - "name": "length_bound", - "type": "Compact" - } - ], - "docs": [ - " Dispatch a proposal from a member using the `Member` origin.", - "", - " Origin must be a member of the collective.", - "", - " # ", - " ## Weight", - " - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`", - " - DB: 1 read (codec `O(M)`) + DB access of `proposal`", - " - 1 event", - " # " - ] - }, - { - "name": "propose", - "args": [ - { - "name": "threshold", - "type": "Compact" - }, - { - "name": "proposal", - "type": "Proposal" - }, - { - "name": "length_bound", - "type": "Compact" - } - ], - "docs": [ - " Add a new proposal to either be voted on or executed directly.", - "", - " Requires the sender to be member.", - "", - " `threshold` determines whether `proposal` is executed directly (`threshold < 2`)", - " or put up for voting.", - "", - " # ", - " ## Weight", - " - `O(B + M + P1)` or `O(B + M + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - branching is influenced by `threshold` where:", - " - `P1` is proposal execution complexity (`threshold < 2`)", - " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)", - " - DB:", - " - 1 storage read `is_member` (codec `O(M)`)", - " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)", - " - DB accesses influenced by `threshold`:", - " - EITHER storage accesses done by `proposal` (`threshold < 2`)", - " - OR proposal insertion (`threshold <= 2`)", - " - 1 storage mutation `Proposals` (codec `O(P2)`)", - " - 1 storage mutation `ProposalCount` (codec `O(1)`)", - " - 1 storage write `ProposalOf` (codec `O(B)`)", - " - 1 storage write `Voting` (codec `O(M)`)", - " - 1 event", - " # " - ] - }, - { - "name": "vote", - "args": [ - { - "name": "proposal", - "type": "Hash" - }, - { - "name": "index", - "type": "Compact" - }, - { - "name": "approve", - "type": "bool" - } - ], - "docs": [ - " Add an aye or nay vote for the sender to the given proposal.", - "", - " Requires the sender to be a member.", - "", - " Transaction fees will be waived if the member is voting on any particular proposal", - " for the first time and the call is successful. Subsequent vote changes will charge a fee.", - " # ", - " ## Weight", - " - `O(M)` where `M` is members-count (code- and governance-bounded)", - " - DB:", - " - 1 storage read `Members` (codec `O(M)`)", - " - 1 storage mutation `Voting` (codec `O(M)`)", - " - 1 event", - " # " - ] - }, - { - "name": "close", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - }, - { - "name": "index", - "type": "Compact" - }, - { - "name": "proposal_weight_bound", - "type": "Compact" - }, - { - "name": "length_bound", - "type": "Compact" - } - ], - "docs": [ - " Close a vote that is either approved, disapproved or whose voting period has ended.", - "", - " May be called by any signed account in order to finish voting and close the proposal.", - "", - " If called before the end of the voting period it will only close the vote if it is", - " has enough votes to be approved or disapproved.", - "", - " If called after the end of the voting period abstentions are counted as rejections", - " unless there is a prime member set and the prime member cast an approval.", - "", - " If the close operation completes successfully with disapproval, the transaction fee will", - " be waived. Otherwise execution of the approved operation will be charged to the caller.", - "", - " + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.", - " + `length_bound`: The upper bound for the length of the proposal in storage. Checked via", - " `storage::read` so it is `size_of::() == 4` larger than the pure length.", - "", - " # ", - " ## Weight", - " - `O(B + M + P1 + P2)` where:", - " - `B` is `proposal` size in bytes (length-fee-bounded)", - " - `M` is members-count (code- and governance-bounded)", - " - `P1` is the complexity of `proposal` preimage.", - " - `P2` is proposal-count (code-bounded)", - " - DB:", - " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)", - " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)", - " - any mutations done while executing `proposal` (`P1`)", - " - up to 3 events", - " # " - ] - }, - { - "name": "disapprove_proposal", - "args": [ - { - "name": "proposal_hash", - "type": "Hash" - } - ], - "docs": [ - " Disapprove a proposal, close, and remove it from the system, regardless of its current state.", - "", - " Must be called by the Root origin.", - "", - " Parameters:", - " * `proposal_hash`: The hash of the proposal that should be disapproved.", - "", - " # ", - " Complexity: O(P) where P is the number of max proposals", - " DB Weight:", - " * Reads: Proposals", - " * Writes: Voting, Proposals, ProposalOf", - " # " - ] - } - ], - "events": [ - { - "name": "Proposed", - "args": [ - "AccountId", - "ProposalIndex", - "Hash", - "MemberCount" - ], - "docs": [ - " A motion (given hash) has been proposed (by given account) with a threshold (given", - " `MemberCount`).", - " \\[account, proposal_index, proposal_hash, threshold\\]" - ] - }, - { - "name": "Voted", - "args": [ - "AccountId", - "Hash", - "bool", - "MemberCount", - "MemberCount" - ], - "docs": [ - " A motion (given hash) has been voted on by given account, leaving", - " a tally (yes votes and no votes given respectively as `MemberCount`).", - " \\[account, proposal_hash, voted, yes, no\\]" - ] - }, - { - "name": "Approved", - "args": [ - "Hash" - ], - "docs": [ - " A motion was approved by the required threshold.", - " \\[proposal_hash\\]" - ] - }, - { - "name": "Disapproved", - "args": [ - "Hash" - ], - "docs": [ - " A motion was not approved by the required threshold.", - " \\[proposal_hash\\]" - ] - }, - { - "name": "Executed", - "args": [ - "Hash", - "DispatchResult" - ], - "docs": [ - " A motion was executed; result will be `Ok` if it returned without error.", - " \\[proposal_hash, result\\]" - ] - }, - { - "name": "MemberExecuted", - "args": [ - "Hash", - "DispatchResult" - ], - "docs": [ - " A single member did some action; result will be `Ok` if it returned without error.", - " \\[proposal_hash, result\\]" - ] - }, - { - "name": "Closed", - "args": [ - "Hash", - "MemberCount", - "MemberCount" - ], - "docs": [ - " A proposal was closed because its threshold was reached or after its duration was up.", - " \\[proposal_hash, yes, no\\]" - ] - } - ], - "constants": [], - "errors": [ - { - "name": "NotMember", - "docs": [ - " Account is not a member" - ] - }, - { - "name": "DuplicateProposal", - "docs": [ - " Duplicate proposals not allowed" - ] - }, - { - "name": "ProposalMissing", - "docs": [ - " Proposal must exist" - ] - }, - { - "name": "WrongIndex", - "docs": [ - " Mismatched index" - ] - }, - { - "name": "DuplicateVote", - "docs": [ - " Duplicate vote ignored" - ] - }, - { - "name": "AlreadyInitialized", - "docs": [ - " Members are already initialized!" - ] - }, - { - "name": "TooEarly", - "docs": [ - " The close call was made too early, before the end of the voting." - ] - }, - { - "name": "TooManyProposals", - "docs": [ - " There can only be a maximum of `MaxProposals` active proposals." - ] - }, - { - "name": "WrongProposalWeight", - "docs": [ - " The given weight bound for the proposal was too low." - ] - }, - { - "name": "WrongProposalLength", - "docs": [ - " The given length bound for the proposal was too low." - ] - } - ], - "index": 13 - }, - { - "name": "Elections", - "storage": { - "prefix": "Elections", - "items": [ - { - "name": "Members", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current elected members.", - "", - " Invariant: Always sorted based on account id." - ] - }, - { - "name": "RunnersUp", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current reserved runners-up.", - "", - " Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the", - " last (i.e. _best_) runner-up will be replaced." - ] - }, - { - "name": "Candidates", - "modifier": "Default", - "type": { - "plain": "Vec<(AccountId,BalanceOf)>" - }, - "fallback": "0x00", - "docs": [ - " The present candidate list. A current member or runner-up can never enter this vector", - " and is always implicitly assumed to be a candidate.", - "", - " Second element is the deposit.", - "", - " Invariant: Always sorted based on account id." - ] - }, - { - "name": "ElectionRounds", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " The total number of vote rounds that have happened, excluding the upcoming one." - ] - }, - { - "name": "Voting", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "Voter", - "linked": false - } - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Votes and locked stake of a particular voter.", - "", - " TWOX-NOTE: SAFE as `AccountId` is a crypto hash." - ] - } - ] - }, - "calls": [ - { - "name": "vote", - "args": [ - { - "name": "votes", - "type": "Vec" - }, - { - "name": "value", - "type": "Compact" - } - ], - "docs": [ - " Vote for a set of candidates for the upcoming round of election. This can be called to", - " set the initial votes, or update already existing votes.", - "", - " Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is", - " reserved. The deposit is based on the number of votes and can be updated over time.", - "", - " The `votes` should:", - " - not be empty.", - " - be less than the number of possible candidates. Note that all current members and", - " runners-up are also automatically candidates for the next round.", - "", - " If `value` is more than `who`'s total balance, then the maximum of the two is used.", - "", - " The dispatch origin of this call must be signed.", - "", - " ### Warning", - "", - " It is the responsibility of the caller to **NOT** place all of their balance into the", - " lock and keep some for further operations.", - "", - " # ", - " We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less.", - " # " - ] - }, - { - "name": "remove_voter", - "args": [], - "docs": [ - " Remove `origin` as a voter.", - "", - " This removes the lock and returns the deposit.", - "", - " The dispatch origin of this call must be signed and be a voter." - ] - }, - { - "name": "submit_candidacy", - "args": [ - { - "name": "candidate_count", - "type": "Compact" - } - ], - "docs": [ - " Submit oneself for candidacy. A fixed amount of deposit is recorded.", - "", - " All candidates are wiped at the end of the term. They either become a member/runner-up,", - " or leave the system while their deposit is slashed.", - "", - " The dispatch origin of this call must be signed.", - "", - " ### Warning", - "", - " Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]", - " to get their deposit back. Losing the spot in an election will always lead to a slash.", - "", - " # ", - " The number of current candidates must be provided as witness data.", - " # " - ] - }, - { - "name": "renounce_candidacy", - "args": [ - { - "name": "renouncing", - "type": "Renouncing" - } - ], - "docs": [ - " Renounce one's intention to be a candidate for the next election round. 3 potential", - " outcomes exist:", - "", - " - `origin` is a candidate and not elected in any set. In this case, the deposit is", - " unreserved, returned and origin is removed as a candidate.", - " - `origin` is a current runner-up. In this case, the deposit is unreserved, returned and", - " origin is removed as a runner-up.", - " - `origin` is a current member. In this case, the deposit is unreserved and origin is", - " removed as a member, consequently not being a candidate for the next round anymore.", - " Similar to [`remove_members`], if replacement runners exists, they are immediately", - " used. If the prime is renouncing, then no prime will exist until the next round.", - "", - " The dispatch origin of this call must be signed, and have one of the above roles.", - "", - " # ", - " The type of renouncing must be provided as witness data.", - " # " - ] - }, - { - "name": "remove_member", - "args": [ - { - "name": "who", - "type": "LookupSource" - }, - { - "name": "has_replacement", - "type": "bool" - } - ], - "docs": [ - " Remove a particular member from the set. This is effective immediately and the bond of", - " the outgoing member is slashed.", - "", - " If a runner-up is available, then the best runner-up will be removed and replaces the", - " outgoing member. Otherwise, a new phragmen election is started.", - "", - " The dispatch origin of this call must be root.", - "", - " Note that this does not affect the designated block number of the next election.", - "", - " # ", - " If we have a replacement, we use a small weight. Else, since this is a root call and", - " will go into phragmen, we assume full block for now.", - " # " - ] - }, - { - "name": "clean_defunct_voters", - "args": [ - { - "name": "_num_voters", - "type": "u32" - }, - { - "name": "_num_defunct", - "type": "u32" - } - ], - "docs": [ - " Clean all voters who are defunct (i.e. they do not serve any purpose at all). The", - " deposit of the removed voters are returned.", - "", - " This is an root function to be used only for cleaning the state.", - "", - " The dispatch origin of this call must be root.", - "", - " # ", - " The total number of voters and those that are defunct must be provided as witness data.", - " # " - ] - } - ], - "events": [ - { - "name": "NewTerm", - "args": [ - "Vec<(AccountId,Balance)>" - ], - "docs": [ - " A new term with \\[new_members\\]. This indicates that enough candidates existed to run", - " the election, not that enough have has been elected. The inner value must be examined", - " for this purpose. A `NewTerm(\\[\\])` indicates that some candidates got their bond", - " slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to", - " begin with." - ] - }, - { - "name": "EmptyTerm", - "args": [], - "docs": [ - " No (or not enough) candidates existed for this round. This is different from", - " `NewTerm(\\[\\])`. See the description of `NewTerm`." - ] - }, - { - "name": "ElectionError", - "args": [], - "docs": [ - " Internal error happened while trying to perform election." - ] - }, - { - "name": "MemberKicked", - "args": [ - "AccountId" - ], - "docs": [ - " A \\[member\\] has been removed. This should always be followed by either `NewTerm` or", - " `EmptyTerm`." - ] - }, - { - "name": "Renounced", - "args": [ - "AccountId" - ], - "docs": [ - " Someone has renounced their candidacy." - ] - }, - { - "name": "CandidateSlashed", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " A \\[candidate\\] was slashed by \\[amount\\] due to failing to obtain a seat as member or", - " runner-up.", - "", - " Note that old members and runners-up are also candidates." - ] - }, - { - "name": "SeatHolderSlashed", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " A \\[seat holder\\] was slashed by \\[amount\\] by being forcefully removed from the set." - ] - } - ], - "constants": [ - { - "name": "PalletId", - "type": "LockIdentifier", - "value": "0x706872656c656374", - "docs": [ - " Identifier for the elections-phragmen pallet's lock" - ] - }, - { - "name": "CandidacyBond", - "type": "BalanceOf", - "value": "0x0080c6a47e8d03000000000000000000", - "docs": [ - " How much should be locked up in order to submit one's candidacy." - ] - }, - { - "name": "VotingBondBase", - "type": "BalanceOf", - "value": "0x00f0436de36a01000000000000000000", - "docs": [ - " Base deposit associated with voting.", - "", - " This should be sensibly high to economically ensure the pallet cannot be attacked by", - " creating a gigantic number of votes." - ] - }, - { - "name": "VotingBondFactor", - "type": "BalanceOf", - "value": "0x0000cc7b9fae00000000000000000000", - "docs": [ - " The amount of bond that need to be locked for each vote (32 bytes)." - ] - }, - { - "name": "DesiredMembers", - "type": "u32", - "value": "0x0d000000", - "docs": [ - " Number of members to elect." - ] - }, - { - "name": "DesiredRunnersUp", - "type": "u32", - "value": "0x07000000", - "docs": [ - " Number of runners_up to keep." - ] - }, - { - "name": "TermDuration", - "type": "BlockNumber", - "value": "0x80130300", - "docs": [ - " How long each seat is kept. This defines the next block number at which an election", - " round will happen. If set to zero, no elections are ever triggered and the module will", - " be in passive mode." - ] - } - ], - "errors": [ - { - "name": "UnableToVote", - "docs": [ - " Cannot vote when no candidates or members exist." - ] - }, - { - "name": "NoVotes", - "docs": [ - " Must vote for at least one candidate." - ] - }, - { - "name": "TooManyVotes", - "docs": [ - " Cannot vote more than candidates." - ] - }, - { - "name": "MaximumVotesExceeded", - "docs": [ - " Cannot vote more than maximum allowed." - ] - }, - { - "name": "LowBalance", - "docs": [ - " Cannot vote with stake less than minimum balance." - ] - }, - { - "name": "UnableToPayBond", - "docs": [ - " Voter can not pay voting bond." - ] - }, - { - "name": "MustBeVoter", - "docs": [ - " Must be a voter." - ] - }, - { - "name": "ReportSelf", - "docs": [ - " Cannot report self." - ] - }, - { - "name": "DuplicatedCandidate", - "docs": [ - " Duplicated candidate submission." - ] - }, - { - "name": "MemberSubmit", - "docs": [ - " Member cannot re-submit candidacy." - ] - }, - { - "name": "RunnerUpSubmit", - "docs": [ - " Runner cannot re-submit candidacy." - ] - }, - { - "name": "InsufficientCandidateFunds", - "docs": [ - " Candidate does not have enough funds." - ] - }, - { - "name": "NotMember", - "docs": [ - " Not a member." - ] - }, - { - "name": "InvalidWitnessData", - "docs": [ - " The provided count of number of candidates is incorrect." - ] - }, - { - "name": "InvalidVoteCount", - "docs": [ - " The provided count of number of votes is incorrect." - ] - }, - { - "name": "InvalidRenouncing", - "docs": [ - " The renouncing origin presented a wrong `Renouncing` parameter." - ] - }, - { - "name": "InvalidReplacement", - "docs": [ - " Prediction regarding replacement after member removal is wrong." - ] - } - ], - "index": 14 - }, - { - "name": "TechnicalMembership", - "storage": { - "prefix": "Instance1Membership", - "items": [ - { - "name": "Members", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current membership, stored as an ordered Vec." - ] - }, - { - "name": "Prime", - "modifier": "Optional", - "type": { - "plain": "AccountId" - }, - "fallback": "0x00", - "docs": [ - " The current prime member, if one exists." - ] - } - ] - }, - "calls": [ - { - "name": "add_member", - "args": [ - { - "name": "who", - "type": "AccountId" - } - ], - "docs": [ - " Add a member `who` to the set.", - "", - " May only be called from `T::AddOrigin`." - ] - }, - { - "name": "remove_member", - "args": [ - { - "name": "who", - "type": "AccountId" - } - ], - "docs": [ - " Remove a member `who` from the set.", - "", - " May only be called from `T::RemoveOrigin`." - ] - }, - { - "name": "swap_member", - "args": [ - { - "name": "remove", - "type": "AccountId" - }, - { - "name": "add", - "type": "AccountId" - } - ], - "docs": [ - " Swap out one member `remove` for another `add`.", - "", - " May only be called from `T::SwapOrigin`.", - "", - " Prime membership is *not* passed from `remove` to `add`, if extant." - ] - }, - { - "name": "reset_members", - "args": [ - { - "name": "members", - "type": "Vec" - } - ], - "docs": [ - " Change the membership to a new set, disregarding the existing membership. Be nice and", - " pass `members` pre-sorted.", - "", - " May only be called from `T::ResetOrigin`." - ] - }, - { - "name": "change_key", - "args": [ - { - "name": "new", - "type": "AccountId" - } - ], - "docs": [ - " Swap out the sending member for some other key `new`.", - "", - " May only be called from `Signed` origin of a current member.", - "", - " Prime membership is passed from the origin account to `new`, if extant." - ] - }, - { - "name": "set_prime", - "args": [ - { - "name": "who", - "type": "AccountId" - } - ], - "docs": [ - " Set the prime member. Must be a current member.", - "", - " May only be called from `T::PrimeOrigin`." - ] - }, - { - "name": "clear_prime", - "args": [], - "docs": [ - " Remove the prime member if it exists.", - "", - " May only be called from `T::PrimeOrigin`." - ] - } - ], - "events": [ - { - "name": "MemberAdded", - "args": [], - "docs": [ - " The given member was added; see the transaction for who." - ] - }, - { - "name": "MemberRemoved", - "args": [], - "docs": [ - " The given member was removed; see the transaction for who." - ] - }, - { - "name": "MembersSwapped", - "args": [], - "docs": [ - " Two members were swapped; see the transaction for who." - ] - }, - { - "name": "MembersReset", - "args": [], - "docs": [ - " The membership was reset; see the transaction for who the new set is." - ] - }, - { - "name": "KeyChanged", - "args": [], - "docs": [ - " One of the members' keys changed." - ] - }, - { - "name": "Dummy", - "args": [ - "PhantomData" - ], - "docs": [ - " Phantom member, never used." - ] - } - ], - "constants": [], - "errors": [ - { - "name": "AlreadyMember", - "docs": [ - " Already a member." - ] - }, - { - "name": "NotMember", - "docs": [ - " Not a member." - ] - } - ], - "index": 15 - }, - { - "name": "Grandpa", - "storage": { - "prefix": "Grandpa", - "items": [ - { - "name": "State", - "modifier": "Default", - "type": { - "plain": "StoredState" - }, - "fallback": "0x00", - "docs": [ - " State of the current authority set." - ] - }, - { - "name": "PendingChange", - "modifier": "Optional", - "type": { - "plain": "StoredPendingChange" - }, - "fallback": "0x00", - "docs": [ - " Pending change: (signaled at, scheduled change)." - ] - }, - { - "name": "NextForced", - "modifier": "Optional", - "type": { - "plain": "BlockNumber" - }, - "fallback": "0x00", - "docs": [ - " next block number where we can force a change." - ] - }, - { - "name": "Stalled", - "modifier": "Optional", - "type": { - "plain": "(BlockNumber,BlockNumber)" - }, - "fallback": "0x00", - "docs": [ - " `true` if we are currently stalled." - ] - }, - { - "name": "CurrentSetId", - "modifier": "Default", - "type": { - "plain": "SetId" - }, - "fallback": "0x0000000000000000", - "docs": [ - " The number of changes (both in terms of keys and underlying economic responsibilities)", - " in the \"set\" of Grandpa validators from genesis." - ] - }, - { - "name": "SetIdSession", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "SetId", - "value": "SessionIndex", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " A mapping from grandpa set ID to the index of the *most recent* session for which its", - " members were responsible.", - "", - " TWOX-NOTE: `SetId` is not under user control." - ] - } - ] - }, - "calls": [ - { - "name": "report_equivocation", - "args": [ - { - "name": "equivocation_proof", - "type": "GrandpaEquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "KeyOwnerProof" - } - ], - "docs": [ - " Report voter equivocation/misbehavior. This method will verify the", - " equivocation proof and validate the given key ownership proof", - " against the extracted offender. If both are valid, the offence", - " will be reported." - ] - }, - { - "name": "report_equivocation_unsigned", - "args": [ - { - "name": "equivocation_proof", - "type": "GrandpaEquivocationProof" - }, - { - "name": "key_owner_proof", - "type": "KeyOwnerProof" - } - ], - "docs": [ - " Report voter equivocation/misbehavior. This method will verify the", - " equivocation proof and validate the given key ownership proof", - " against the extracted offender. If both are valid, the offence", - " will be reported.", - "", - " This extrinsic must be called unsigned and it is expected that only", - " block authors will call it (validated in `ValidateUnsigned`), as such", - " if the block author is defined it will be defined as the equivocation", - " reporter." - ] - }, - { - "name": "note_stalled", - "args": [ - { - "name": "delay", - "type": "BlockNumber" - }, - { - "name": "best_finalized_block_number", - "type": "BlockNumber" - } - ], - "docs": [ - " Note that the current authority set of the GRANDPA finality gadget has", - " stalled. This will trigger a forced authority set change at the beginning", - " of the next session, to be enacted `delay` blocks after that. The delay", - " should be high enough to safely assume that the block signalling the", - " forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters", - " will start the new authority set using the given finalized block as base.", - " Only callable by root." - ] - } - ], - "events": [ - { - "name": "NewAuthorities", - "args": [ - "AuthorityList" - ], - "docs": [ - " New authority set has been applied. \\[authority_set\\]" - ] - }, - { - "name": "Paused", - "args": [], - "docs": [ - " Current authority set has been paused." - ] - }, - { - "name": "Resumed", - "args": [], - "docs": [ - " Current authority set has been resumed." - ] - } - ], - "constants": [], - "errors": [ - { - "name": "PauseFailed", - "docs": [ - " Attempt to signal GRANDPA pause when the authority set isn't live", - " (either paused or already pending pause)." - ] - }, - { - "name": "ResumeFailed", - "docs": [ - " Attempt to signal GRANDPA resume when the authority set isn't paused", - " (either live or already pending resume)." - ] - }, - { - "name": "ChangePending", - "docs": [ - " Attempt to signal GRANDPA change with one already pending." - ] - }, - { - "name": "TooSoon", - "docs": [ - " Cannot signal forced change so soon after last." - ] - }, - { - "name": "InvalidKeyOwnershipProof", - "docs": [ - " A key ownership proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "InvalidEquivocationProof", - "docs": [ - " An equivocation proof provided as part of an equivocation report is invalid." - ] - }, - { - "name": "DuplicateOffenceReport", - "docs": [ - " A given equivocation report is valid but already previously reported." - ] - } - ], - "index": 16 - }, - { - "name": "Treasury", - "storage": { - "prefix": "Treasury", - "items": [ - { - "name": "ProposalCount", - "modifier": "Default", - "type": { - "plain": "ProposalIndex" - }, - "fallback": "0x00000000", - "docs": [ - " Number of proposals that have been made." - ] - }, - { - "name": "Proposals", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "ProposalIndex", - "value": "TreasuryProposal", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Proposals that have been made." - ] - }, - { - "name": "Approvals", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " Proposal indices that have been approved but not yet awarded." - ] - } - ] - }, - "calls": [ - { - "name": "propose_spend", - "args": [ - { - "name": "value", - "type": "Compact" - }, - { - "name": "beneficiary", - "type": "LookupSource" - } - ], - "docs": [ - " Put forward a suggestion for spending. A deposit proportional to the value", - " is reserved and slashed if the proposal is rejected. It is returned once the", - " proposal is awarded.", - "", - " # ", - " - Complexity: O(1)", - " - DbReads: `ProposalCount`, `origin account`", - " - DbWrites: `ProposalCount`, `Proposals`, `origin account`", - " # " - ] - }, - { - "name": "reject_proposal", - "args": [ - { - "name": "proposal_id", - "type": "Compact" - } - ], - "docs": [ - " Reject a proposed spend. The original deposit will be slashed.", - "", - " May only be called from `T::RejectOrigin`.", - "", - " # ", - " - Complexity: O(1)", - " - DbReads: `Proposals`, `rejected proposer account`", - " - DbWrites: `Proposals`, `rejected proposer account`", - " # " - ] - }, - { - "name": "approve_proposal", - "args": [ - { - "name": "proposal_id", - "type": "Compact" - } - ], - "docs": [ - " Approve a proposal. At a later time, the proposal will be allocated to the beneficiary", - " and the original deposit will be returned.", - "", - " May only be called from `T::ApproveOrigin`.", - "", - " # ", - " - Complexity: O(1).", - " - DbReads: `Proposals`, `Approvals`", - " - DbWrite: `Approvals`", - " # " - ] - } - ], - "events": [ - { - "name": "Proposed", - "args": [ - "ProposalIndex" - ], - "docs": [ - " New proposal. \\[proposal_index\\]" - ] - }, - { - "name": "Spending", - "args": [ - "Balance" - ], - "docs": [ - " We have ended a spend period and will now allocate funds. \\[budget_remaining\\]" - ] - }, - { - "name": "Awarded", - "args": [ - "ProposalIndex", - "Balance", - "AccountId" - ], - "docs": [ - " Some funds have been allocated. \\[proposal_index, award, beneficiary\\]" - ] - }, - { - "name": "Rejected", - "args": [ - "ProposalIndex", - "Balance" - ], - "docs": [ - " A proposal was rejected; funds were slashed. \\[proposal_index, slashed\\]" - ] - }, - { - "name": "Burnt", - "args": [ - "Balance" - ], - "docs": [ - " Some of our funds have been burnt. \\[burn\\]" - ] - }, - { - "name": "Rollover", - "args": [ - "Balance" - ], - "docs": [ - " Spending has finished; this is the amount that rolls over until next spend.", - " \\[budget_remaining\\]" - ] - }, - { - "name": "Deposit", - "args": [ - "Balance" - ], - "docs": [ - " Some funds have been deposited. \\[deposit\\]" - ] - } - ], - "constants": [ - { - "name": "ProposalBond", - "type": "Permill", - "value": "0x50c30000", - "docs": [ - " Fraction of a proposal's value that should be bonded in order to place the proposal.", - " An accepted proposal gets these back. A rejected proposal does not." - ] - }, - { - "name": "ProposalBondMinimum", - "type": "BalanceOf", - "value": "0x00407a10f35a00000000000000000000", - "docs": [ - " Minimum amount of funds that should be placed in a deposit for making a proposal." - ] - }, - { - "name": "SpendPeriod", - "type": "BlockNumber", - "value": "0x80700000", - "docs": [ - " Period between successive spends." - ] - }, - { - "name": "Burn", - "type": "Permill", - "value": "0x20a10700", - "docs": [ - " Percentage of spare funds (if any) that are burnt per spend period." - ] - }, - { - "name": "PalletId", - "type": "PalletId", - "value": "0x70792f7472737279", - "docs": [ - " The treasury's module id, used for deriving its sovereign account ID." - ] - } - ], - "errors": [ - { - "name": "InsufficientProposersBalance", - "docs": [ - " Proposer's balance is too low." - ] - }, - { - "name": "InvalidIndex", - "docs": [ - " No proposal or bounty at that index." - ] - }, - { - "name": "TooManyApprovals", - "docs": [ - " Too many approvals in the queue." - ] - } - ], - "index": 17 - }, - { - "name": "Contracts", - "storage": { - "prefix": "Contracts", - "items": [ - { - "name": "PristineCode", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "CodeHash", - "value": "Bytes", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " A mapping from an original code hash to the original code, untouched by instrumentation." - ] - }, - { - "name": "CodeStorage", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "CodeHash", - "value": "PrefabWasmModule", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " A mapping between an original code hash and instrumented wasm code, ready for execution." - ] - }, - { - "name": "AccountCounter", - "modifier": "Default", - "type": { - "plain": "u64" - }, - "fallback": "0x0000000000000000", - "docs": [ - " The subtrie counter." - ] - }, - { - "name": "ContractInfoOf", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "ContractInfo", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The code associated with a given account.", - "", - " TWOX-NOTE: SAFE since `AccountId` is a secure hash." - ] - }, - { - "name": "DeletionQueue", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " Evicted contracts that await child trie deletion.", - "", - " Child trie deletion is a heavy operation depending on the amount of storage items", - " stored in said trie. Therefore this operation is performed lazily in `on_initialize`." - ] - } - ] - }, - "calls": [ - { - "name": "call", - "args": [ - { - "name": "dest", - "type": "LookupSource" - }, - { - "name": "value", - "type": "Compact" - }, - { - "name": "gas_limit", - "type": "Compact" - }, - { - "name": "data", - "type": "Bytes" - } - ], - "docs": [ - " Makes a call to an account, optionally transferring some balance.", - "", - " * If the account is a smart-contract account, the associated code will be", - " executed and any value will be transferred.", - " * If the account is a regular account, any value will be transferred.", - " * If no account exists and the call value is not less than `existential_deposit`,", - " a regular account will be created and any value will be transferred." - ] - }, - { - "name": "instantiate_with_code", - "args": [ - { - "name": "endowment", - "type": "Compact" - }, - { - "name": "gas_limit", - "type": "Compact" - }, - { - "name": "code", - "type": "Bytes" - }, - { - "name": "data", - "type": "Bytes" - }, - { - "name": "salt", - "type": "Bytes" - } - ], - "docs": [ - " Instantiates a new contract from the supplied `code` optionally transferring", - " some balance.", - "", - " This is the only function that can deploy new code to the chain.", - "", - " # Parameters", - "", - " * `endowment`: The balance to transfer from the `origin` to the newly created contract.", - " * `gas_limit`: The gas limit enforced when executing the constructor.", - " * `code`: The contract code to deploy in raw bytes.", - " * `data`: The input data to pass to the contract constructor.", - " * `salt`: Used for the address derivation. See [`Pallet::contract_address`].", - "", - " Instantiation is executed as follows:", - "", - " - The supplied `code` is instrumented, deployed, and a `code_hash` is created for that code.", - " - If the `code_hash` already exists on the chain the underlying `code` will be shared.", - " - The destination address is computed based on the sender, code_hash and the salt.", - " - The smart-contract account is created at the computed address.", - " - The `endowment` is transferred to the new account.", - " - The `deploy` function is executed in the context of the newly-created account." - ] - }, - { - "name": "instantiate", - "args": [ - { - "name": "endowment", - "type": "Compact" - }, - { - "name": "gas_limit", - "type": "Compact" - }, - { - "name": "code_hash", - "type": "CodeHash" - }, - { - "name": "data", - "type": "Bytes" - }, - { - "name": "salt", - "type": "Bytes" - } - ], - "docs": [ - " Instantiates a contract from a previously deployed wasm binary.", - "", - " This function is identical to [`Self::instantiate_with_code`] but without the", - " code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary", - " must be supplied." - ] - }, - { - "name": "claim_surcharge", - "args": [ - { - "name": "dest", - "type": "AccountId" - }, - { - "name": "aux_sender", - "type": "Option" - } - ], - "docs": [ - " Allows block producers to claim a small reward for evicting a contract. If a block", - " producer fails to do so, a regular users will be allowed to claim the reward.", - "", - " In case of a successful eviction no fees are charged from the sender. However, the", - " reward is capped by the total amount of rent that was paid by the contract while", - " it was alive.", - "", - " If contract is not evicted as a result of this call, [`Error::ContractNotEvictable`]", - " is returned and the sender is not eligible for the reward." - ] - } - ], - "events": [ - { - "name": "Instantiated", - "args": [ - "AccountId", - "AccountId" - ], - "docs": [ - " Contract deployed by address at the specified address. \\[deployer, contract\\]" - ] - }, - { - "name": "Evicted", - "args": [ - "AccountId" - ], - "docs": [ - " Contract has been evicted and is now in tombstone state. \\[contract\\]" - ] - }, - { - "name": "Terminated", - "args": [ - "AccountId", - "AccountId" - ], - "docs": [ - " Contract has been terminated without leaving a tombstone.", - " \\[contract, beneficiary\\]", - "", - " # Params", - "", - " - `contract`: The contract that was terminated.", - " - `beneficiary`: The account that received the contracts remaining balance.", - "", - " # Note", - "", - " The only way for a contract to be removed without a tombstone and emitting", - " this event is by calling `seal_terminate`." - ] - }, - { - "name": "Restored", - "args": [ - "AccountId", - "AccountId", - "Hash", - "Balance" - ], - "docs": [ - " Restoration of a contract has been successful.", - " \\[restorer, dest, code_hash, rent_allowance\\]", - "", - " # Params", - "", - " - `restorer`: Account ID of the restoring contract.", - " - `dest`: Account ID of the restored contract.", - " - `code_hash`: Code hash of the restored contract.", - " - `rent_allowance`: Rent allowance of the restored contract." - ] - }, - { - "name": "CodeStored", - "args": [ - "Hash" - ], - "docs": [ - " Code with the specified hash has been stored. \\[code_hash\\]" - ] - }, - { - "name": "ScheduleUpdated", - "args": [ - "u32" - ], - "docs": [ - " Triggered when the current schedule is updated.", - " \\[version\\]", - "", - " # Params", - "", - " - `version`: The version of the newly set schedule." - ] - }, - { - "name": "ContractEmitted", - "args": [ - "AccountId", - "Bytes" - ], - "docs": [ - " A custom event emitted by the contract.", - " \\[contract, data\\]", - "", - " # Params", - "", - " - `contract`: The contract that emitted the event.", - " - `data`: Data supplied by the contract. Metadata generated during contract", - " compilation is needed to decode it." - ] - }, - { - "name": "CodeRemoved", - "args": [ - "Hash" - ], - "docs": [ - " A code with the specified hash was removed.", - " \\[code_hash\\]", - "", - " This happens when the last contract that uses this code hash was removed or evicted." - ] - } - ], - "constants": [ - { - "name": "Schedule", - "type": "Schedule", - "value": "0x0400000000020000000100008000000010000000001000000001000020000000200000000040000000000200020000008e0f0000b04602009a8c0300a9720000767600005e380000ea5e00000753000097000000579e030088130500b60000007a170000c11100005721000099370000483a0000d0110000d8d12c08bc4300005c430000bb2e0000a942000000260000b72300009c370000ad540000de540000ca5400000354000018550000e553000011550000c053000007540000da540000a0530000e85300008d5400004a690000bd680000a56a000096670000b053000013540000055400006a5500009255000060550000f455000033550000cae32900000000007a332a00000000004041290000000000a6fb5d000000000060c02a0000000000e6d6290000000000065329000000000062002a0000000000d425290000000000b0522a00000000005cb3540000000000b41c1600000000008057640000000000000100000000000008f6380000000000710200000000000078d68a210000000098d6de2a000000007c75640900000000466d6f000000000070baac0000000000ec73de07000000007406000000000000922c190000000000fc9f1d00000000008618ee0900000000450200000000000082dc6108000000003e573102000000002704000000000000cc94430b000000009406e1100000000096fa930800000000dc010000000000009c020000000000001843c12400000000f001000000000000b80200000000000094070000000000008a9b2a0000000000561200000000000046432b0000000000ab0c000000000000c08c260000000000b005000000000000acd2260000000000b005000000000000", - "docs": [ - " Cost schedule and limits." - ] - }, - { - "name": "SignedClaimHandicap", - "type": "BlockNumber", - "value": "0x02000000", - "docs": [ - " Number of block delay an extrinsic claim surcharge has.", - "", - " When claim surcharge is called by an extrinsic the rent is checked", - " for current_block - delay" - ] - }, - { - "name": "TombstoneDeposit", - "type": "BalanceOf", - "value": "0x00f0e8857a9c02000000000000000000", - "docs": [ - " The minimum amount required to generate a tombstone." - ] - }, - { - "name": "DepositPerContract", - "type": "BalanceOf", - "value": "0x00f0e8857a9c02000000000000000000", - "docs": [ - " The balance every contract needs to deposit to stay alive indefinitely.", - "", - " This is different from the [`Self::TombstoneDeposit`] because this only needs to be", - " deposited while the contract is alive. Costs for additional storage are added to", - " this base cost.", - "", - " This is a simple way to ensure that contracts with empty storage eventually get deleted by", - " making them pay rent. This creates an incentive to remove them early in order to save rent." - ] - }, - { - "name": "DepositPerStorageByte", - "type": "BalanceOf", - "value": "0x0060defb740500000000000000000000", - "docs": [ - " The balance a contract needs to deposit per storage byte to stay alive indefinitely.", - "", - " Let's suppose the deposit is 1,000 BU (balance units)/byte and the rent is 1 BU/byte/day,", - " then a contract with 1,000,000 BU that uses 1,000 bytes of storage would pay no rent.", - " But if the balance reduced to 500,000 BU and the storage stayed the same at 1,000,", - " then it would pay 500 BU/day." - ] - }, - { - "name": "DepositPerStorageItem", - "type": "BalanceOf", - "value": "0x00f0ab75a40d00000000000000000000", - "docs": [ - " The balance a contract needs to deposit per storage item to stay alive indefinitely.", - "", - " It works the same as [`Self::DepositPerStorageByte`] but for storage items." - ] - }, - { - "name": "RentFraction", - "type": "Perbill", - "value": "0x85040000", - "docs": [ - " The fraction of the deposit that should be used as rent per block.", - "", - " When a contract hasn't enough balance deposited to stay alive indefinitely it needs", - " to pay per block for the storage it consumes that is not covered by the deposit.", - " This determines how high this rent payment is per block as a fraction of the deposit." - ] - }, - { - "name": "SurchargeReward", - "type": "BalanceOf", - "value": "0x005cb2ec220000000000000000000000", - "docs": [ - " Reward that is received by the party whose touch has led", - " to removal of a contract." - ] - }, - { - "name": "DeletionQueueDepth", - "type": "u32", - "value": "0x1a040000", - "docs": [ - " The maximum number of tries that can be queued for deletion." - ] - }, - { - "name": "DeletionWeightLimit", - "type": "Weight", - "value": "0x00d0ed902e000000", - "docs": [ - " The maximum amount of weight that can be consumed per block for lazy trie removal." - ] - } - ], - "errors": [ - { - "name": "InvalidScheduleVersion", - "docs": [ - " A new schedule must have a greater version than the current one." - ] - }, - { - "name": "InvalidSurchargeClaim", - "docs": [ - " An origin must be signed or inherent and auxiliary sender only provided on inherent." - ] - }, - { - "name": "InvalidSourceContract", - "docs": [ - " Cannot restore from nonexisting or tombstone contract." - ] - }, - { - "name": "InvalidDestinationContract", - "docs": [ - " Cannot restore to nonexisting or alive contract." - ] - }, - { - "name": "InvalidTombstone", - "docs": [ - " Tombstones don't match." - ] - }, - { - "name": "InvalidContractOrigin", - "docs": [ - " An origin TrieId written in the current block." - ] - }, - { - "name": "OutOfGas", - "docs": [ - " The executed contract exhausted its gas limit." - ] - }, - { - "name": "OutputBufferTooSmall", - "docs": [ - " The output buffer supplied to a contract API call was too small." - ] - }, - { - "name": "BelowSubsistenceThreshold", - "docs": [ - " Performing the requested transfer would have brought the contract below", - " the subsistence threshold. No transfer is allowed to do this in order to allow", - " for a tombstone to be created. Use `seal_terminate` to remove a contract without", - " leaving a tombstone behind." - ] - }, - { - "name": "NewContractNotFunded", - "docs": [ - " The newly created contract is below the subsistence threshold after executing", - " its contructor. No contracts are allowed to exist below that threshold." - ] - }, - { - "name": "TransferFailed", - "docs": [ - " Performing the requested transfer failed for a reason originating in the", - " chosen currency implementation of the runtime. Most probably the balance is", - " too low or locks are placed on it." - ] - }, - { - "name": "MaxCallDepthReached", - "docs": [ - " Performing a call was denied because the calling depth reached the limit", - " of what is specified in the schedule." - ] - }, - { - "name": "ContractNotFound", - "docs": [ - " No contract was found at the specified address." - ] - }, - { - "name": "ContractIsTombstone", - "docs": [ - " A tombstone exist at the specified address.", - "", - " Tombstone cannot be called. Anyone can use `seal_restore_to` in order to revive", - " the contract, though." - ] - }, - { - "name": "RentNotPaid", - "docs": [ - " The called contract does not have enough balance to pay for its storage.", - "", - " The contract ran out of balance and is therefore eligible for eviction into a", - " tombstone. Anyone can evict the contract by submitting a `claim_surcharge`", - " extrinsic. Alternatively, a plain balance transfer can be used in order to", - " increase the contracts funds so that it can be called again." - ] - }, - { - "name": "CodeTooLarge", - "docs": [ - " The code supplied to `instantiate_with_code` exceeds the limit specified in the", - " current schedule." - ] - }, - { - "name": "CodeNotFound", - "docs": [ - " No code could be found at the supplied code hash." - ] - }, - { - "name": "OutOfBounds", - "docs": [ - " A buffer outside of sandbox memory was passed to a contract API function." - ] - }, - { - "name": "DecodingFailed", - "docs": [ - " Input passed to a contract API function failed to decode as expected type." - ] - }, - { - "name": "ContractTrapped", - "docs": [ - " Contract trapped during execution." - ] - }, - { - "name": "ValueTooLarge", - "docs": [ - " The size defined in `T::MaxValueSize` was exceeded." - ] - }, - { - "name": "TerminatedWhileReentrant", - "docs": [ - " Termination of a contract is not allowed while the contract is already", - " on the call stack. Can be triggered by `seal_terminate` or `seal_restore_to." - ] - }, - { - "name": "InputForwarded", - "docs": [ - " `seal_call` forwarded this contracts input. It therefore is no longer available." - ] - }, - { - "name": "RandomSubjectTooLong", - "docs": [ - " The subject passed to `seal_random` exceeds the limit." - ] - }, - { - "name": "TooManyTopics", - "docs": [ - " The amount of topics passed to `seal_deposit_events` exceeds the limit." - ] - }, - { - "name": "DuplicateTopics", - "docs": [ - " The topics passed to `seal_deposit_events` contains at least one duplicate." - ] - }, - { - "name": "NoChainExtension", - "docs": [ - " The chain does not provide a chain extension. Calling the chain extension results", - " in this error. Note that this usually shouldn't happen as deploying such contracts", - " is rejected." - ] - }, - { - "name": "DeletionQueueFull", - "docs": [ - " Removal of a contract failed because the deletion queue is full.", - "", - " This can happen when either calling [`Pallet::claim_surcharge`] or `seal_terminate`.", - " The queue is filled by deleting contracts and emptied by a fixed amount each block.", - " Trying again during another block is the only way to resolve this issue." - ] - }, - { - "name": "ContractNotEvictable", - "docs": [ - " A contract could not be evicted because it has enough balance to pay rent.", - "", - " This can be returned from [`Pallet::claim_surcharge`] because the target", - " contract has enough balance to pay for its rent." - ] - }, - { - "name": "StorageExhausted", - "docs": [ - " A storage modification exhausted the 32bit type that holds the storage size.", - "", - " This can either happen when the accumulated storage in bytes is too large or", - " when number of storage items is too large." - ] - }, - { - "name": "DuplicateContract", - "docs": [ - " A contract with the same AccountId already exists." - ] - }, - { - "name": "TerminatedInConstructor", - "docs": [ - " A contract self destructed in its constructor.", - "", - " This can be triggered by a call to `seal_terminate` or `seal_restore_to`." - ] - }, - { - "name": "DebugMessageInvalidUTF8", - "docs": [ - " The debug message specified to `seal_debug_message` does contain invalid UTF-8." - ] - }, - { - "name": "ReentranceDenied", - "docs": [ - " A call tried to invoke a contract that is flagged as non-reentrant." - ] - } - ], - "index": 18 - }, - { - "name": "Sudo", - "storage": { - "prefix": "Sudo", - "items": [ - { - "name": "Key", - "modifier": "Default", - "type": { - "plain": "AccountId" - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " The `AccountId` of the sudo key." - ] - } - ] - }, - "calls": [ - { - "name": "sudo", - "args": [ - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Authenticates the sudo key and dispatches a function call with `Root` origin.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " # ", - " - O(1).", - " - Limited storage reads.", - " - One DB write (event).", - " - Weight of derivative `call` execution + 10,000.", - " # " - ] - }, - { - "name": "sudo_unchecked_weight", - "args": [ - { - "name": "call", - "type": "Call" - }, - { - "name": "_weight", - "type": "Weight" - } - ], - "docs": [ - " Authenticates the sudo key and dispatches a function call with `Root` origin.", - " This function does not check the weight of the call, and instead allows the", - " Sudo user to specify the weight of the call.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " # ", - " - O(1).", - " - The weight of this call is defined by the caller.", - " # " - ] - }, - { - "name": "set_key", - "args": [ - { - "name": "new", - "type": "LookupSource" - } - ], - "docs": [ - " Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " # ", - " - O(1).", - " - Limited storage reads.", - " - One DB change.", - " # " - ] - }, - { - "name": "sudo_as", - "args": [ - { - "name": "who", - "type": "LookupSource" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Authenticates the sudo key and dispatches a function call with `Signed` origin from", - " a given account.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " # ", - " - O(1).", - " - Limited storage reads.", - " - One DB write (event).", - " - Weight of derivative `call` execution + 10,000.", - " # " - ] - } - ], - "events": [ - { - "name": "Sudid", - "args": [ - "DispatchResult" - ], - "docs": [ - " A sudo just took place. \\[result\\]" - ] - }, - { - "name": "KeyChanged", - "args": [ - "AccountId" - ], - "docs": [ - " The \\[sudoer\\] just switched identity; the old key is supplied." - ] - }, - { - "name": "SudoAsDone", - "args": [ - "DispatchResult" - ], - "docs": [ - " A sudo just took place. \\[result\\]" - ] - } - ], - "constants": [], - "errors": [ - { - "name": "RequireSudo", - "docs": [ - " Sender must be the Sudo account" - ] - } - ], - "index": 19 - }, - { - "name": "ImOnline", - "storage": { - "prefix": "ImOnline", - "items": [ - { - "name": "HeartbeatAfter", - "modifier": "Default", - "type": { - "plain": "BlockNumber" - }, - "fallback": "0x00000000", - "docs": [ - " The block number after which it's ok to send heartbeats in the current", - " session.", - "", - " At the beginning of each session we set this to a value that should fall", - " roughly in the middle of the session duration. The idea is to first wait for", - " the validators to produce a block in the current session, so that the", - " heartbeat later on will not be necessary.", - "", - " This value will only be used as a fallback if we fail to get a proper session", - " progress estimate from `NextSessionRotation`, as those estimates should be", - " more accurate then the value we calculate for `HeartbeatAfter`." - ] - }, - { - "name": "Keys", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current set of keys that may issue a heartbeat." - ] - }, - { - "name": "ReceivedHeartbeats", - "modifier": "Optional", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "SessionIndex", - "key2": "AuthIndex", - "value": "Bytes", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x00", - "docs": [ - " For each session index, we keep a mapping of `AuthIndex` to", - " `offchain::OpaqueNetworkState`." - ] - }, - { - "name": "AuthoredBlocks", - "modifier": "Default", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "SessionIndex", - "key2": "ValidatorId", - "value": "u32", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x00000000", - "docs": [ - " For each session index, we keep a mapping of `ValidatorId` to the", - " number of blocks authored by the given authority." - ] - } - ] - }, - "calls": [ - { - "name": "heartbeat", - "args": [ - { - "name": "heartbeat", - "type": "Heartbeat" - }, - { - "name": "_signature", - "type": "Signature" - } - ], - "docs": [ - " # ", - " - Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len)", - " and E is length of `heartbeat.network_state.external_address`", - " - `O(K)`: decoding of length `K`", - " - `O(E)`: decoding/encoding of length `E`", - " - DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,", - " `ReceivedHeartbeats`", - " - DbWrites: `ReceivedHeartbeats`", - " # " - ] - } - ], - "events": [ - { - "name": "HeartbeatReceived", - "args": [ - "AuthorityId" - ], - "docs": [ - " A new heartbeat was received from `AuthorityId` \\[authority_id\\]" - ] - }, - { - "name": "AllGood", - "args": [], - "docs": [ - " At the end of the session, no offence was committed." - ] - }, - { - "name": "SomeOffline", - "args": [ - "Vec" - ], - "docs": [ - " At the end of the session, at least one validator was found to be \\[offline\\]." - ] - } - ], - "constants": [], - "errors": [ - { - "name": "InvalidKey", - "docs": [ - " Non existent public key." - ] - }, - { - "name": "DuplicatedHeartbeat", - "docs": [ - " Duplicated heartbeat." - ] - } - ], - "index": 20 - }, - { - "name": "AuthorityDiscovery", - "storage": null, - "calls": null, - "events": null, - "constants": [], - "errors": [], - "index": 21 - }, - { - "name": "Offences", - "storage": { - "prefix": "Offences", - "items": [ - { - "name": "Reports", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "ReportIdOf", - "value": "OffenceDetails", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The primary structure that holds all offence records keyed by report identifiers." - ] - }, - { - "name": "ConcurrentReportsIndex", - "modifier": "Default", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "Kind", - "key2": "OpaqueTimeSlot", - "value": "Vec", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x00", - "docs": [ - " A vector of reports of the same kind that happened at the same time slot." - ] - }, - { - "name": "ReportsByKindIndex", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "Kind", - "value": "Bytes", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Enumerates all reports of a kind along with the time they happened.", - "", - " All reports are sorted by the time of offence.", - "", - " Note that the actual type of this mapping is `Vec`, this is because values of", - " different types are not supported at the moment so we are doing the manual serialization." - ] - } - ] - }, - "calls": null, - "events": [ - { - "name": "Offence", - "args": [ - "Kind", - "OpaqueTimeSlot" - ], - "docs": [ - " There is an offence reported of the given `kind` happened at the `session_index` and", - " (kind-specific) time slot. This event is not deposited for duplicate slashes.", - " \\[kind, timeslot\\]." - ] - } - ], - "constants": [], - "errors": [], - "index": 22 - }, - { - "name": "Historical", - "storage": null, - "calls": null, - "events": null, - "constants": [], - "errors": [], - "index": 23 - }, - { - "name": "RandomnessCollectiveFlip", - "storage": { - "prefix": "RandomnessCollectiveFlip", - "items": [ - { - "name": "RandomMaterial", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " Series of block headers from the last 81 blocks that acts as random seed material. This", - " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of", - " the oldest hash." - ] - } - ] - }, - "calls": null, - "events": null, - "constants": [], - "errors": [], - "index": 24 - }, - { - "name": "Identity", - "storage": { - "prefix": "Identity", - "items": [ - { - "name": "IdentityOf", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "Registration", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Information that is pertinent to identify the entity behind an account.", - "", - " TWOX-NOTE: OK ― `AccountId` is a secure hash." - ] - }, - { - "name": "SuperOf", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AccountId", - "value": "(AccountId,Data)", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The super-identity of an alternative \"sub\" identity together with its name, within that", - " context. If the account is not some other account's sub-identity, then just `None`." - ] - }, - { - "name": "SubsOf", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "(BalanceOf,Vec)", - "linked": false - } - }, - "fallback": "0x0000000000000000000000000000000000", - "docs": [ - " Alternative \"sub\" identities of this account.", - "", - " The first item is the deposit, the second is a vector of the accounts.", - "", - " TWOX-NOTE: OK ― `AccountId` is a secure hash." - ] - }, - { - "name": "Registrars", - "modifier": "Default", - "type": { - "plain": "Vec>" - }, - "fallback": "0x00", - "docs": [ - " The set of registrars. Not expected to get very big as can only be added through a", - " special origin (likely a council motion).", - "", - " The index into this can be cast to `RegistrarIndex` to get a valid value." - ] - } - ] - }, - "calls": [ - { - "name": "add_registrar", - "args": [ - { - "name": "account", - "type": "AccountId" - } - ], - "docs": [ - " Add a registrar to the system.", - "", - " The dispatch origin for this call must be `T::RegistrarOrigin`.", - "", - " - `account`: the account of the registrar.", - "", - " Emits `RegistrarAdded` if successful.", - "", - " # ", - " - `O(R)` where `R` registrar-count (governance-bounded and code-bounded).", - " - One storage mutation (codec `O(R)`).", - " - One event.", - " # " - ] - }, - { - "name": "set_identity", - "args": [ - { - "name": "info", - "type": "IdentityInfo" - } - ], - "docs": [ - " Set an account's identity information and reserve the appropriate deposit.", - "", - " If the account already has identity information, the deposit is taken as part payment", - " for the new deposit.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " - `info`: The identity information.", - "", - " Emits `IdentitySet` if successful.", - "", - " # ", - " - `O(X + X' + R)`", - " - where `X` additional-field-count (deposit-bounded and code-bounded)", - " - where `R` judgements-count (registrar-count-bounded)", - " - One balance reserve operation.", - " - One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`).", - " - One event.", - " # " - ] - }, - { - "name": "set_subs", - "args": [ - { - "name": "subs", - "type": "Vec<(AccountId,Data)>" - } - ], - "docs": [ - " Set the sub-accounts of the sender.", - "", - " Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned", - " and an amount `SubAccountDeposit` will be reserved for each item in `subs`.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must have a registered", - " identity.", - "", - " - `subs`: The identity's (new) sub-accounts.", - "", - " # ", - " - `O(P + S)`", - " - where `P` old-subs-count (hard- and deposit-bounded).", - " - where `S` subs-count (hard- and deposit-bounded).", - " - At most one balance operations.", - " - DB:", - " - `P + S` storage mutations (codec complexity `O(1)`)", - " - One storage read (codec complexity `O(P)`).", - " - One storage write (codec complexity `O(S)`).", - " - One storage-exists (`IdentityOf::contains_key`).", - " # " - ] - }, - { - "name": "clear_identity", - "args": [], - "docs": [ - " Clear an account's identity info and all sub-accounts and return all deposits.", - "", - " Payment: All reserved balances on the account are returned.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must have a registered", - " identity.", - "", - " Emits `IdentityCleared` if successful.", - "", - " # ", - " - `O(R + S + X)`", - " - where `R` registrar-count (governance-bounded).", - " - where `S` subs-count (hard- and deposit-bounded).", - " - where `X` additional-field-count (deposit-bounded and code-bounded).", - " - One balance-unreserve operation.", - " - `2` storage reads and `S + 2` storage deletions.", - " - One event.", - " # " - ] - }, - { - "name": "request_judgement", - "args": [ - { - "name": "reg_index", - "type": "Compact" - }, - { - "name": "max_fee", - "type": "Compact" - } - ], - "docs": [ - " Request a judgement from a registrar.", - "", - " Payment: At most `max_fee` will be reserved for payment to the registrar if judgement", - " given.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must have a", - " registered identity.", - "", - " - `reg_index`: The index of the registrar whose judgement is requested.", - " - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:", - "", - " ```nocompile", - " Self::registrars().get(reg_index).unwrap().fee", - " ```", - "", - " Emits `JudgementRequested` if successful.", - "", - " # ", - " - `O(R + X)`.", - " - One balance-reserve operation.", - " - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.", - " - One event.", - " # " - ] - }, - { - "name": "cancel_request", - "args": [ - { - "name": "reg_index", - "type": "RegistrarIndex" - } - ], - "docs": [ - " Cancel a previous request.", - "", - " Payment: A previously reserved deposit is returned on success.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must have a", - " registered identity.", - "", - " - `reg_index`: The index of the registrar whose judgement is no longer requested.", - "", - " Emits `JudgementUnrequested` if successful.", - "", - " # ", - " - `O(R + X)`.", - " - One balance-reserve operation.", - " - One storage mutation `O(R + X)`.", - " - One event", - " # " - ] - }, - { - "name": "set_fee", - "args": [ - { - "name": "index", - "type": "Compact" - }, - { - "name": "fee", - "type": "Compact" - } - ], - "docs": [ - " Set the fee required for a judgement to be requested from a registrar.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must be the account", - " of the registrar whose index is `index`.", - "", - " - `index`: the index of the registrar whose fee is to be set.", - " - `fee`: the new fee.", - "", - " # ", - " - `O(R)`.", - " - One storage mutation `O(R)`.", - " - Benchmark: 7.315 + R * 0.329 µs (min squares analysis)", - " # " - ] - }, - { - "name": "set_account_id", - "args": [ - { - "name": "index", - "type": "Compact" - }, - { - "name": "new", - "type": "AccountId" - } - ], - "docs": [ - " Change the account associated with a registrar.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must be the account", - " of the registrar whose index is `index`.", - "", - " - `index`: the index of the registrar whose fee is to be set.", - " - `new`: the new account ID.", - "", - " # ", - " - `O(R)`.", - " - One storage mutation `O(R)`.", - " - Benchmark: 8.823 + R * 0.32 µs (min squares analysis)", - " # " - ] - }, - { - "name": "set_fields", - "args": [ - { - "name": "index", - "type": "Compact" - }, - { - "name": "fields", - "type": "IdentityFields" - } - ], - "docs": [ - " Set the field information for a registrar.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must be the account", - " of the registrar whose index is `index`.", - "", - " - `index`: the index of the registrar whose fee is to be set.", - " - `fields`: the fields that the registrar concerns themselves with.", - "", - " # ", - " - `O(R)`.", - " - One storage mutation `O(R)`.", - " - Benchmark: 7.464 + R * 0.325 µs (min squares analysis)", - " # " - ] - }, - { - "name": "provide_judgement", - "args": [ - { - "name": "reg_index", - "type": "Compact" - }, - { - "name": "target", - "type": "LookupSource" - }, - { - "name": "judgement", - "type": "IdentityJudgement" - } - ], - "docs": [ - " Provide a judgement for an account's identity.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must be the account", - " of the registrar whose index is `reg_index`.", - "", - " - `reg_index`: the index of the registrar whose judgement is being made.", - " - `target`: the account whose identity the judgement is upon. This must be an account", - " with a registered identity.", - " - `judgement`: the judgement of the registrar of index `reg_index` about `target`.", - "", - " Emits `JudgementGiven` if successful.", - "", - " # ", - " - `O(R + X)`.", - " - One balance-transfer operation.", - " - Up to one account-lookup operation.", - " - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.", - " - One event.", - " # " - ] - }, - { - "name": "kill_identity", - "args": [ - { - "name": "target", - "type": "LookupSource" - } - ], - "docs": [ - " Remove an account's identity and sub-account information and slash the deposits.", - "", - " Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by", - " `Slash`. Verification request deposits are not returned; they should be cancelled", - " manually using `cancel_request`.", - "", - " The dispatch origin for this call must match `T::ForceOrigin`.", - "", - " - `target`: the account whose identity the judgement is upon. This must be an account", - " with a registered identity.", - "", - " Emits `IdentityKilled` if successful.", - "", - " # ", - " - `O(R + S + X)`.", - " - One balance-reserve operation.", - " - `S + 2` storage mutations.", - " - One event.", - " # " - ] - }, - { - "name": "add_sub", - "args": [ - { - "name": "sub", - "type": "LookupSource" - }, - { - "name": "data", - "type": "Data" - } - ], - "docs": [ - " Add the given account to the sender's subs.", - "", - " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", - " to the sender.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must have a registered", - " sub identity of `sub`." - ] - }, - { - "name": "rename_sub", - "args": [ - { - "name": "sub", - "type": "LookupSource" - }, - { - "name": "data", - "type": "Data" - } - ], - "docs": [ - " Alter the associated name of the given sub-account.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must have a registered", - " sub identity of `sub`." - ] - }, - { - "name": "remove_sub", - "args": [ - { - "name": "sub", - "type": "LookupSource" - } - ], - "docs": [ - " Remove the given account from the sender's subs.", - "", - " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", - " to the sender.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must have a registered", - " sub identity of `sub`." - ] - }, - { - "name": "quit_sub", - "args": [], - "docs": [ - " Remove the sender as a sub-account.", - "", - " Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", - " to the sender (*not* the original depositor).", - "", - " The dispatch origin for this call must be _Signed_ and the sender must have a registered", - " super-identity.", - "", - " NOTE: This should not normally be used, but is provided in the case that the non-", - " controller of an account is maliciously registered as a sub-account." - ] - } - ], - "events": [ - { - "name": "IdentitySet", - "args": [ - "AccountId" - ], - "docs": [ - " A name was set or reset (which will remove all judgements). \\[who\\]" - ] - }, - { - "name": "IdentityCleared", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " A name was cleared, and the given balance returned. \\[who, deposit\\]" - ] - }, - { - "name": "IdentityKilled", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " A name was removed and the given balance slashed. \\[who, deposit\\]" - ] - }, - { - "name": "JudgementRequested", - "args": [ - "AccountId", - "RegistrarIndex" - ], - "docs": [ - " A judgement was asked from a registrar. \\[who, registrar_index\\]" - ] - }, - { - "name": "JudgementUnrequested", - "args": [ - "AccountId", - "RegistrarIndex" - ], - "docs": [ - " A judgement request was retracted. \\[who, registrar_index\\]" - ] - }, - { - "name": "JudgementGiven", - "args": [ - "AccountId", - "RegistrarIndex" - ], - "docs": [ - " A judgement was given by a registrar. \\[target, registrar_index\\]" - ] - }, - { - "name": "RegistrarAdded", - "args": [ - "RegistrarIndex" - ], - "docs": [ - " A registrar was added. \\[registrar_index\\]" - ] - }, - { - "name": "SubIdentityAdded", - "args": [ - "AccountId", - "AccountId", - "Balance" - ], - "docs": [ - " A sub-identity was added to an identity and the deposit paid. \\[sub, main, deposit\\]" - ] - }, - { - "name": "SubIdentityRemoved", - "args": [ - "AccountId", - "AccountId", - "Balance" - ], - "docs": [ - " A sub-identity was removed from an identity and the deposit freed.", - " \\[sub, main, deposit\\]" - ] - }, - { - "name": "SubIdentityRevoked", - "args": [ - "AccountId", - "AccountId", - "Balance" - ], - "docs": [ - " A sub-identity was cleared, and the given deposit repatriated from the", - " main identity account to the sub-identity account. \\[sub, main, deposit\\]" - ] - } - ], - "constants": [ - { - "name": "BasicDeposit", - "type": "BalanceOf", - "value": "0x0080c6a47e8d03000000000000000000", - "docs": [ - " The amount held on deposit for a registered identity" - ] - }, - { - "name": "FieldDeposit", - "type": "BalanceOf", - "value": "0x00a031a95fe300000000000000000000", - "docs": [ - " The amount held on deposit per additional field for a registered identity." - ] - }, - { - "name": "SubAccountDeposit", - "type": "BalanceOf", - "value": "0x0080f420e6b500000000000000000000", - "docs": [ - " The amount held on deposit for a registered subaccount. This should account for the fact", - " that one storage item's value will increase by the size of an account ID, and there will be", - " another trie item whose value is the size of an account ID plus 32 bytes." - ] - }, - { - "name": "MaxSubAccounts", - "type": "u32", - "value": "0x64000000", - "docs": [ - " The maximum number of sub-accounts allowed per identified account." - ] - }, - { - "name": "MaxAdditionalFields", - "type": "u32", - "value": "0x64000000", - "docs": [ - " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O", - " required to access an identity, but can be pretty high." - ] - }, - { - "name": "MaxRegistrars", - "type": "u32", - "value": "0x14000000", - "docs": [ - " Maxmimum number of registrars allowed in the system. Needed to bound the complexity", - " of, e.g., updating judgements." - ] - } - ], - "errors": [ - { - "name": "TooManySubAccounts", - "docs": [ - " Too many subs-accounts." - ] - }, - { - "name": "NotFound", - "docs": [ - " Account isn't found." - ] - }, - { - "name": "NotNamed", - "docs": [ - " Account isn't named." - ] - }, - { - "name": "EmptyIndex", - "docs": [ - " Empty index." - ] - }, - { - "name": "FeeChanged", - "docs": [ - " Fee is changed." - ] - }, - { - "name": "NoIdentity", - "docs": [ - " No identity found." - ] - }, - { - "name": "StickyJudgement", - "docs": [ - " Sticky judgement." - ] - }, - { - "name": "JudgementGiven", - "docs": [ - " Judgement given." - ] - }, - { - "name": "InvalidJudgement", - "docs": [ - " Invalid judgement." - ] - }, - { - "name": "InvalidIndex", - "docs": [ - " The index is invalid." - ] - }, - { - "name": "InvalidTarget", - "docs": [ - " The target is invalid." - ] - }, - { - "name": "TooManyFields", - "docs": [ - " Too many additional fields." - ] - }, - { - "name": "TooManyRegistrars", - "docs": [ - " Maximum amount of registrars reached. Cannot add any more." - ] - }, - { - "name": "AlreadyClaimed", - "docs": [ - " Account ID is already named." - ] - }, - { - "name": "NotSub", - "docs": [ - " Sender is not a sub-account." - ] - }, - { - "name": "NotOwned", - "docs": [ - " Sub-account isn't owned by sender." - ] - } - ], - "index": 25 - }, - { - "name": "Society", - "storage": { - "prefix": "Society", - "items": [ - { - "name": "Founder", - "modifier": "Optional", - "type": { - "plain": "AccountId" - }, - "fallback": "0x00", - "docs": [ - " The first member." - ] - }, - { - "name": "Rules", - "modifier": "Optional", - "type": { - "plain": "Hash" - }, - "fallback": "0x00", - "docs": [ - " A hash of the rules of this society concerning membership. Can only be set once and", - " only by the founder." - ] - }, - { - "name": "Candidates", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current set of candidates; bidders that are attempting to become members." - ] - }, - { - "name": "SuspendedCandidates", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "(BalanceOf,BidKind)", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The set of suspended candidates." - ] - }, - { - "name": "Pot", - "modifier": "Default", - "type": { - "plain": "BalanceOf" - }, - "fallback": "0x00000000000000000000000000000000", - "docs": [ - " Amount of our account balance that is specifically for the next round's bid(s)." - ] - }, - { - "name": "Head", - "modifier": "Optional", - "type": { - "plain": "AccountId" - }, - "fallback": "0x00", - "docs": [ - " The most primary from the most recently approved members." - ] - }, - { - "name": "Members", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current set of members, ordered." - ] - }, - { - "name": "SuspendedMembers", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "bool", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The set of suspended members." - ] - }, - { - "name": "Bids", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The current bids, stored ordered by the value of the bid." - ] - }, - { - "name": "Vouching", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "VouchingStatus", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Members currently vouching or banned from vouching again" - ] - }, - { - "name": "Payouts", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "Vec<(BlockNumber,BalanceOf)>", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Pending payouts; ordered by block number, with the amount that should be paid out." - ] - }, - { - "name": "Strikes", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "StrikeCount", - "linked": false - } - }, - "fallback": "0x00000000", - "docs": [ - " The ongoing number of losing votes cast by the member." - ] - }, - { - "name": "Votes", - "modifier": "Optional", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "AccountId", - "key2": "AccountId", - "value": "SocietyVote", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x00", - "docs": [ - " Double map from Candidate -> Voter -> (Maybe) Vote." - ] - }, - { - "name": "Defender", - "modifier": "Optional", - "type": { - "plain": "AccountId" - }, - "fallback": "0x00", - "docs": [ - " The defending member currently being challenged." - ] - }, - { - "name": "DefenderVotes", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "SocietyVote", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Votes for the defender." - ] - }, - { - "name": "MaxMembers", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " The max number of members for the society at one time." - ] - } - ] - }, - "calls": [ - { - "name": "bid", - "args": [ - { - "name": "value", - "type": "BalanceOf" - } - ], - "docs": [ - " A user outside of the society can make a bid for entry.", - "", - " Payment: `CandidateDeposit` will be reserved for making a bid. It is returned", - " when the bid becomes a member, or if the bid calls `unbid`.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Parameters:", - " - `value`: A one time payment the bid would like to receive when joining the society.", - "", - " # ", - " Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)", - " - Storage Reads:", - " \t- One storage read to check for suspended candidate. O(1)", - " \t- One storage read to check for suspended member. O(1)", - " \t- One storage read to retrieve all current bids. O(B)", - " \t- One storage read to retrieve all current candidates. O(C)", - " \t- One storage read to retrieve all members. O(M)", - " - Storage Writes:", - " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)", - " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)", - " - Notable Computation:", - " \t- O(B + C + log M) search to check user is not already a part of society.", - " \t- O(log B) search to insert the new bid sorted.", - " - External Module Operations:", - " \t- One balance reserve operation. O(X)", - " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.", - " - Events:", - " \t- One event for new bid.", - " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.", - "", - " Total Complexity: O(M + B + C + logM + logB + X)", - " # " - ] - }, - { - "name": "unbid", - "args": [ - { - "name": "pos", - "type": "u32" - } - ], - "docs": [ - " A bidder can remove their bid for entry into society.", - " By doing so, they will have their candidate deposit returned or", - " they will unvouch their voucher.", - "", - " Payment: The bid deposit is unreserved if the user made a bid.", - "", - " The dispatch origin for this call must be _Signed_ and a bidder.", - "", - " Parameters:", - " - `pos`: Position in the `Bids` vector of the bid who wants to unbid.", - "", - " # ", - " Key: B (len of bids), X (balance unreserve)", - " - One storage read and write to retrieve and update the bids. O(B)", - " - Either one unreserve balance action O(X) or one vouching storage removal. O(1)", - " - One event.", - "", - " Total Complexity: O(B + X)", - " # " - ] - }, - { - "name": "vouch", - "args": [ - { - "name": "who", - "type": "AccountId" - }, - { - "name": "value", - "type": "BalanceOf" - }, - { - "name": "tip", - "type": "BalanceOf" - } - ], - "docs": [ - " As a member, vouch for someone to join society by placing a bid on their behalf.", - "", - " There is no deposit required to vouch for a new bid, but a member can only vouch for", - " one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by", - " the suspension judgement origin, the member will be banned from vouching again.", - "", - " As a vouching member, you can claim a tip if the candidate is accepted. This tip will", - " be paid as a portion of the reward the member will receive for joining the society.", - "", - " The dispatch origin for this call must be _Signed_ and a member.", - "", - " Parameters:", - " - `who`: The user who you would like to vouch for.", - " - `value`: The total reward to be paid between you and the candidate if they become", - " a member in the society.", - " - `tip`: Your cut of the total `value` payout when the candidate is inducted into", - " the society. Tips larger than `value` will be saturated upon payout.", - "", - " # ", - " Key: B (len of bids), C (len of candidates), M (len of members)", - " - Storage Reads:", - " \t- One storage read to retrieve all members. O(M)", - " \t- One storage read to check member is not already vouching. O(1)", - " \t- One storage read to check for suspended candidate. O(1)", - " \t- One storage read to check for suspended member. O(1)", - " \t- One storage read to retrieve all current bids. O(B)", - " \t- One storage read to retrieve all current candidates. O(C)", - " - Storage Writes:", - " \t- One storage write to insert vouching status to the member. O(1)", - " \t- One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read)", - " \t- Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)", - " - Notable Computation:", - " \t- O(log M) search to check sender is a member.", - " \t- O(B + C + log M) search to check user is not already a part of society.", - " \t- O(log B) search to insert the new bid sorted.", - " - External Module Operations:", - " \t- One balance reserve operation. O(X)", - " \t- Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.", - " - Events:", - " \t- One event for vouch.", - " \t- Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT.", - "", - " Total Complexity: O(M + B + C + logM + logB + X)", - " # " - ] - }, - { - "name": "unvouch", - "args": [ - { - "name": "pos", - "type": "u32" - } - ], - "docs": [ - " As a vouching member, unvouch a bid. This only works while vouched user is", - " only a bidder (and not a candidate).", - "", - " The dispatch origin for this call must be _Signed_ and a vouching member.", - "", - " Parameters:", - " - `pos`: Position in the `Bids` vector of the bid who should be unvouched.", - "", - " # ", - " Key: B (len of bids)", - " - One storage read O(1) to check the signer is a vouching member.", - " - One storage mutate to retrieve and update the bids. O(B)", - " - One vouching storage removal. O(1)", - " - One event.", - "", - " Total Complexity: O(B)", - " # " - ] - }, - { - "name": "vote", - "args": [ - { - "name": "candidate", - "type": "LookupSource" - }, - { - "name": "approve", - "type": "bool" - } - ], - "docs": [ - " As a member, vote on a candidate.", - "", - " The dispatch origin for this call must be _Signed_ and a member.", - "", - " Parameters:", - " - `candidate`: The candidate that the member would like to bid on.", - " - `approve`: A boolean which says if the candidate should be", - " approved (`true`) or rejected (`false`).", - "", - " # ", - " Key: C (len of candidates), M (len of members)", - " - One storage read O(M) and O(log M) search to check user is a member.", - " - One account lookup.", - " - One storage read O(C) and O(C) search to check that user is a candidate.", - " - One storage write to add vote to votes. O(1)", - " - One event.", - "", - " Total Complexity: O(M + logM + C)", - " # " - ] - }, - { - "name": "defender_vote", - "args": [ - { - "name": "approve", - "type": "bool" - } - ], - "docs": [ - " As a member, vote on the defender.", - "", - " The dispatch origin for this call must be _Signed_ and a member.", - "", - " Parameters:", - " - `approve`: A boolean which says if the candidate should be", - " approved (`true`) or rejected (`false`).", - "", - " # ", - " - Key: M (len of members)", - " - One storage read O(M) and O(log M) search to check user is a member.", - " - One storage write to add vote to votes. O(1)", - " - One event.", - "", - " Total Complexity: O(M + logM)", - " # " - ] - }, - { - "name": "payout", - "args": [], - "docs": [ - " Transfer the first matured payout for the sender and remove it from the records.", - "", - " NOTE: This extrinsic needs to be called multiple times to claim multiple matured payouts.", - "", - " Payment: The member will receive a payment equal to their first matured", - " payout to their free balance.", - "", - " The dispatch origin for this call must be _Signed_ and a member with", - " payouts remaining.", - "", - " # ", - " Key: M (len of members), P (number of payouts for a particular member)", - " - One storage read O(M) and O(log M) search to check signer is a member.", - " - One storage read O(P) to get all payouts for a member.", - " - One storage read O(1) to get the current block number.", - " - One currency transfer call. O(X)", - " - One storage write or removal to update the member's payouts. O(P)", - "", - " Total Complexity: O(M + logM + P + X)", - " # " - ] - }, - { - "name": "found", - "args": [ - { - "name": "founder", - "type": "AccountId" - }, - { - "name": "max_members", - "type": "u32" - }, - { - "name": "rules", - "type": "Bytes" - } - ], - "docs": [ - " Found the society.", - "", - " This is done as a discrete action in order to allow for the", - " module to be included into a running chain and can only be done once.", - "", - " The dispatch origin for this call must be from the _FounderSetOrigin_.", - "", - " Parameters:", - " - `founder` - The first member and head of the newly founded society.", - " - `max_members` - The initial max number of members for the society.", - " - `rules` - The rules of this society concerning membership.", - "", - " # ", - " - Two storage mutates to set `Head` and `Founder`. O(1)", - " - One storage write to add the first member to society. O(1)", - " - One event.", - "", - " Total Complexity: O(1)", - " # " - ] - }, - { - "name": "unfound", - "args": [], - "docs": [ - " Annul the founding of the society.", - "", - " The dispatch origin for this call must be Signed, and the signing account must be both", - " the `Founder` and the `Head`. This implies that it may only be done when there is one", - " member.", - "", - " # ", - " - Two storage reads O(1).", - " - Four storage removals O(1).", - " - One event.", - "", - " Total Complexity: O(1)", - " # " - ] - }, - { - "name": "judge_suspended_member", - "args": [ - { - "name": "who", - "type": "AccountId" - }, - { - "name": "forgive", - "type": "bool" - } - ], - "docs": [ - " Allow suspension judgement origin to make judgement on a suspended member.", - "", - " If a suspended member is forgiven, we simply add them back as a member, not affecting", - " any of the existing storage items for that member.", - "", - " If a suspended member is rejected, remove all associated storage items, including", - " their payouts, and remove any vouched bids they currently have.", - "", - " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", - "", - " Parameters:", - " - `who` - The suspended member to be judged.", - " - `forgive` - A boolean representing whether the suspension judgement origin", - " forgives (`true`) or rejects (`false`) a suspended member.", - "", - " # ", - " Key: B (len of bids), M (len of members)", - " - One storage read to check `who` is a suspended member. O(1)", - " - Up to one storage write O(M) with O(log M) binary search to add a member back to society.", - " - Up to 3 storage removals O(1) to clean up a removed member.", - " - Up to one storage write O(B) with O(B) search to remove vouched bid from bids.", - " - Up to one additional event if unvouch takes place.", - " - One storage removal. O(1)", - " - One event for the judgement.", - "", - " Total Complexity: O(M + logM + B)", - " # " - ] - }, - { - "name": "judge_suspended_candidate", - "args": [ - { - "name": "who", - "type": "AccountId" - }, - { - "name": "judgement", - "type": "SocietyJudgement" - } - ], - "docs": [ - " Allow suspended judgement origin to make judgement on a suspended candidate.", - "", - " If the judgement is `Approve`, we add them to society as a member with the appropriate", - " payment for joining society.", - "", - " If the judgement is `Reject`, we either slash the deposit of the bid, giving it back", - " to the society treasury, or we ban the voucher from vouching again.", - "", - " If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go", - " through the induction process again.", - "", - " The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", - "", - " Parameters:", - " - `who` - The suspended candidate to be judged.", - " - `judgement` - `Approve`, `Reject`, or `Rebid`.", - "", - " # ", - " Key: B (len of bids), M (len of members), X (balance action)", - " - One storage read to check `who` is a suspended candidate.", - " - One storage removal of the suspended candidate.", - " - Approve Logic", - " \t- One storage read to get the available pot to pay users with. O(1)", - " \t- One storage write to update the available pot. O(1)", - " \t- One storage read to get the current block number. O(1)", - " \t- One storage read to get all members. O(M)", - " \t- Up to one unreserve currency action.", - " \t- Up to two new storage writes to payouts.", - " \t- Up to one storage write with O(log M) binary search to add a member to society.", - " - Reject Logic", - " \t- Up to one repatriate reserved currency action. O(X)", - " \t- Up to one storage write to ban the vouching member from vouching again.", - " - Rebid Logic", - " \t- Storage mutate with O(log B) binary search to place the user back into bids.", - " - Up to one additional event if unvouch takes place.", - " - One storage removal.", - " - One event for the judgement.", - "", - " Total Complexity: O(M + logM + B + X)", - " # " - ] - }, - { - "name": "set_max_members", - "args": [ - { - "name": "max", - "type": "u32" - } - ], - "docs": [ - " Allows root origin to change the maximum number of members in society.", - " Max membership count must be greater than 1.", - "", - " The dispatch origin for this call must be from _ROOT_.", - "", - " Parameters:", - " - `max` - The maximum number of members for the society.", - "", - " # ", - " - One storage write to update the max. O(1)", - " - One event.", - "", - " Total Complexity: O(1)", - " # " - ] - } - ], - "events": [ - { - "name": "Founded", - "args": [ - "AccountId" - ], - "docs": [ - " The society is founded by the given identity. \\[founder\\]" - ] - }, - { - "name": "Bid", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " A membership bid just happened. The given account is the candidate's ID and their offer", - " is the second. \\[candidate_id, offer\\]" - ] - }, - { - "name": "Vouch", - "args": [ - "AccountId", - "Balance", - "AccountId" - ], - "docs": [ - " A membership bid just happened by vouching. The given account is the candidate's ID and", - " their offer is the second. The vouching party is the third. \\[candidate_id, offer, vouching\\]" - ] - }, - { - "name": "AutoUnbid", - "args": [ - "AccountId" - ], - "docs": [ - " A \\[candidate\\] was dropped (due to an excess of bids in the system)." - ] - }, - { - "name": "Unbid", - "args": [ - "AccountId" - ], - "docs": [ - " A \\[candidate\\] was dropped (by their request)." - ] - }, - { - "name": "Unvouch", - "args": [ - "AccountId" - ], - "docs": [ - " A \\[candidate\\] was dropped (by request of who vouched for them)." - ] - }, - { - "name": "Inducted", - "args": [ - "AccountId", - "Vec" - ], - "docs": [ - " A group of candidates have been inducted. The batch's primary is the first value, the", - " batch in full is the second. \\[primary, candidates\\]" - ] - }, - { - "name": "SuspendedMemberJudgement", - "args": [ - "AccountId", - "bool" - ], - "docs": [ - " A suspended member has been judged. \\[who, judged\\]" - ] - }, - { - "name": "CandidateSuspended", - "args": [ - "AccountId" - ], - "docs": [ - " A \\[candidate\\] has been suspended" - ] - }, - { - "name": "MemberSuspended", - "args": [ - "AccountId" - ], - "docs": [ - " A \\[member\\] has been suspended" - ] - }, - { - "name": "Challenged", - "args": [ - "AccountId" - ], - "docs": [ - " A \\[member\\] has been challenged" - ] - }, - { - "name": "Vote", - "args": [ - "AccountId", - "AccountId", - "bool" - ], - "docs": [ - " A vote has been placed \\[candidate, voter, vote\\]" - ] - }, - { - "name": "DefenderVote", - "args": [ - "AccountId", - "bool" - ], - "docs": [ - " A vote has been placed for a defending member \\[voter, vote\\]" - ] - }, - { - "name": "NewMaxMembers", - "args": [ - "u32" - ], - "docs": [ - " A new \\[max\\] member count has been set" - ] - }, - { - "name": "Unfounded", - "args": [ - "AccountId" - ], - "docs": [ - " Society is unfounded. \\[founder\\]" - ] - }, - { - "name": "Deposit", - "args": [ - "Balance" - ], - "docs": [ - " Some funds were deposited into the society account. \\[value\\]" - ] - } - ], - "constants": [ - { - "name": "CandidateDeposit", - "type": "BalanceOf", - "value": "0x0080c6a47e8d03000000000000000000", - "docs": [ - " The minimum amount of a deposit required for a bid to be made." - ] - }, - { - "name": "WrongSideDeduction", - "type": "BalanceOf", - "value": "0x0080f420e6b500000000000000000000", - "docs": [ - " The amount of the unpaid reward that gets deducted in the case that either a skeptic", - " doesn't vote or someone votes in the wrong way." - ] - }, - { - "name": "MaxStrikes", - "type": "u32", - "value": "0x0a000000", - "docs": [ - " The number of times a member may vote the wrong way (or not at all, when they are a skeptic)", - " before they become suspended." - ] - }, - { - "name": "PeriodSpend", - "type": "BalanceOf", - "value": "0x0000c52ebca2b1000000000000000000", - "docs": [ - " The amount of incentive paid within each period. Doesn't include VoterTip." - ] - }, - { - "name": "RotationPeriod", - "type": "BlockNumber", - "value": "0x00770100", - "docs": [ - " The number of blocks between candidate/membership rotation periods." - ] - }, - { - "name": "ChallengePeriod", - "type": "BlockNumber", - "value": "0x80130300", - "docs": [ - " The number of blocks between membership challenges." - ] - }, - { - "name": "PalletId", - "type": "PalletId", - "value": "0x70792f736f636965", - "docs": [ - " The societies's module id" - ] - }, - { - "name": "MaxCandidateIntake", - "type": "u32", - "value": "0x0a000000", - "docs": [ - " Maximum candidate intake per round." - ] - } - ], - "errors": [ - { - "name": "BadPosition", - "docs": [ - " An incorrect position was provided." - ] - }, - { - "name": "NotMember", - "docs": [ - " User is not a member." - ] - }, - { - "name": "AlreadyMember", - "docs": [ - " User is already a member." - ] - }, - { - "name": "Suspended", - "docs": [ - " User is suspended." - ] - }, - { - "name": "NotSuspended", - "docs": [ - " User is not suspended." - ] - }, - { - "name": "NoPayout", - "docs": [ - " Nothing to payout." - ] - }, - { - "name": "AlreadyFounded", - "docs": [ - " Society already founded." - ] - }, - { - "name": "InsufficientPot", - "docs": [ - " Not enough in pot to accept candidate." - ] - }, - { - "name": "AlreadyVouching", - "docs": [ - " Member is already vouching or banned from vouching again." - ] - }, - { - "name": "NotVouching", - "docs": [ - " Member is not vouching." - ] - }, - { - "name": "Head", - "docs": [ - " Cannot remove the head of the chain." - ] - }, - { - "name": "Founder", - "docs": [ - " Cannot remove the founder." - ] - }, - { - "name": "AlreadyBid", - "docs": [ - " User has already made a bid." - ] - }, - { - "name": "AlreadyCandidate", - "docs": [ - " User is already a candidate." - ] - }, - { - "name": "NotCandidate", - "docs": [ - " User is not a candidate." - ] - }, - { - "name": "MaxMembers", - "docs": [ - " Too many members in the society." - ] - }, - { - "name": "NotFounder", - "docs": [ - " The caller is not the founder." - ] - }, - { - "name": "NotHead", - "docs": [ - " The caller is not the head." - ] - } - ], - "index": 26 - }, - { - "name": "Recovery", - "storage": { - "prefix": "Recovery", - "items": [ - { - "name": "Recoverable", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "RecoveryConfig", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The set of recoverable accounts and their recovery configuration." - ] - }, - { - "name": "ActiveRecoveries", - "modifier": "Optional", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "AccountId", - "key2": "AccountId", - "value": "ActiveRecovery", - "key2Hasher": "Twox64Concat" - } - }, - "fallback": "0x00", - "docs": [ - " Active recovery attempts.", - "", - " First account is the account to be recovered, and the second account", - " is the user trying to recover the account." - ] - }, - { - "name": "Proxy", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AccountId", - "value": "AccountId", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The list of allowed proxy accounts.", - "", - " Map from the user who can access it to the recovered account." - ] - } - ] - }, - "calls": [ - { - "name": "as_recovered", - "args": [ - { - "name": "account", - "type": "AccountId" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Send a call through a recovered account.", - "", - " The dispatch origin for this call must be _Signed_ and registered to", - " be able to make calls on behalf of the recovered account.", - "", - " Parameters:", - " - `account`: The recovered account you want to make a call on-behalf-of.", - " - `call`: The call you want to make with the recovered account.", - "", - " # ", - " - The weight of the `call` + 10,000.", - " - One storage lookup to check account is recovered by `who`. O(1)", - " # " - ] - }, - { - "name": "set_recovered", - "args": [ - { - "name": "lost", - "type": "AccountId" - }, - { - "name": "rescuer", - "type": "AccountId" - } - ], - "docs": [ - " Allow ROOT to bypass the recovery process and set an a rescuer account", - " for a lost account directly.", - "", - " The dispatch origin for this call must be _ROOT_.", - "", - " Parameters:", - " - `lost`: The \"lost account\" to be recovered.", - " - `rescuer`: The \"rescuer account\" which can call as the lost account.", - "", - " # ", - " - One storage write O(1)", - " - One event", - " # " - ] - }, - { - "name": "create_recovery", - "args": [ - { - "name": "friends", - "type": "Vec" - }, - { - "name": "threshold", - "type": "u16" - }, - { - "name": "delay_period", - "type": "BlockNumber" - } - ], - "docs": [ - " Create a recovery configuration for your account. This makes your account recoverable.", - "", - " Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance", - " will be reserved for storing the recovery configuration. This deposit is returned", - " in full when the user calls `remove_recovery`.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Parameters:", - " - `friends`: A list of friends you trust to vouch for recovery attempts.", - " Should be ordered and contain no duplicate values.", - " - `threshold`: The number of friends that must vouch for a recovery attempt", - " before the account can be recovered. Should be less than or equal to", - " the length of the list of friends.", - " - `delay_period`: The number of blocks after a recovery attempt is initialized", - " that needs to pass before the account can be recovered.", - "", - " # ", - " - Key: F (len of friends)", - " - One storage read to check that account is not already recoverable. O(1).", - " - A check that the friends list is sorted and unique. O(F)", - " - One currency reserve operation. O(X)", - " - One storage write. O(1). Codec O(F).", - " - One event.", - "", - " Total Complexity: O(F + X)", - " # " - ] - }, - { - "name": "initiate_recovery", - "args": [ - { - "name": "account", - "type": "AccountId" - } - ], - "docs": [ - " Initiate the process for recovering a recoverable account.", - "", - " Payment: `RecoveryDeposit` balance will be reserved for initiating the", - " recovery process. This deposit will always be repatriated to the account", - " trying to be recovered. See `close_recovery`.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Parameters:", - " - `account`: The lost account that you want to recover. This account", - " needs to be recoverable (i.e. have a recovery configuration).", - "", - " # ", - " - One storage read to check that account is recoverable. O(F)", - " - One storage read to check that this recovery process hasn't already started. O(1)", - " - One currency reserve operation. O(X)", - " - One storage read to get the current block number. O(1)", - " - One storage write. O(1).", - " - One event.", - "", - " Total Complexity: O(F + X)", - " # " - ] - }, - { - "name": "vouch_recovery", - "args": [ - { - "name": "lost", - "type": "AccountId" - }, - { - "name": "rescuer", - "type": "AccountId" - } - ], - "docs": [ - " Allow a \"friend\" of a recoverable account to vouch for an active recovery", - " process for that account.", - "", - " The dispatch origin for this call must be _Signed_ and must be a \"friend\"", - " for the recoverable account.", - "", - " Parameters:", - " - `lost`: The lost account that you want to recover.", - " - `rescuer`: The account trying to rescue the lost account that you", - " want to vouch for.", - "", - " The combination of these two parameters must point to an active recovery", - " process.", - "", - " # ", - " Key: F (len of friends in config), V (len of vouching friends)", - " - One storage read to get the recovery configuration. O(1), Codec O(F)", - " - One storage read to get the active recovery process. O(1), Codec O(V)", - " - One binary search to confirm caller is a friend. O(logF)", - " - One binary search to confirm caller has not already vouched. O(logV)", - " - One storage write. O(1), Codec O(V).", - " - One event.", - "", - " Total Complexity: O(F + logF + V + logV)", - " # " - ] - }, - { - "name": "claim_recovery", - "args": [ - { - "name": "account", - "type": "AccountId" - } - ], - "docs": [ - " Allow a successful rescuer to claim their recovered account.", - "", - " The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"", - " who has successfully completed the account recovery process: collected", - " `threshold` or more vouches, waited `delay_period` blocks since initiation.", - "", - " Parameters:", - " - `account`: The lost account that you want to claim has been successfully", - " recovered by you.", - "", - " # ", - " Key: F (len of friends in config), V (len of vouching friends)", - " - One storage read to get the recovery configuration. O(1), Codec O(F)", - " - One storage read to get the active recovery process. O(1), Codec O(V)", - " - One storage read to get the current block number. O(1)", - " - One storage write. O(1), Codec O(V).", - " - One event.", - "", - " Total Complexity: O(F + V)", - " # " - ] - }, - { - "name": "close_recovery", - "args": [ - { - "name": "rescuer", - "type": "AccountId" - } - ], - "docs": [ - " As the controller of a recoverable account, close an active recovery", - " process for your account.", - "", - " Payment: By calling this function, the recoverable account will receive", - " the recovery deposit `RecoveryDeposit` placed by the rescuer.", - "", - " The dispatch origin for this call must be _Signed_ and must be a", - " recoverable account with an active recovery process for it.", - "", - " Parameters:", - " - `rescuer`: The account trying to rescue this recoverable account.", - "", - " # ", - " Key: V (len of vouching friends)", - " - One storage read/remove to get the active recovery process. O(1), Codec O(V)", - " - One balance call to repatriate reserved. O(X)", - " - One event.", - "", - " Total Complexity: O(V + X)", - " # " - ] - }, - { - "name": "remove_recovery", - "args": [], - "docs": [ - " Remove the recovery process for your account. Recovered accounts are still accessible.", - "", - " NOTE: The user must make sure to call `close_recovery` on all active", - " recovery attempts before calling this function else it will fail.", - "", - " Payment: By calling this function the recoverable account will unreserve", - " their recovery configuration deposit.", - " (`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)", - "", - " The dispatch origin for this call must be _Signed_ and must be a", - " recoverable account (i.e. has a recovery configuration).", - "", - " # ", - " Key: F (len of friends)", - " - One storage read to get the prefix iterator for active recoveries. O(1)", - " - One storage read/remove to get the recovery configuration. O(1), Codec O(F)", - " - One balance call to unreserved. O(X)", - " - One event.", - "", - " Total Complexity: O(F + X)", - " # " - ] - }, - { - "name": "cancel_recovered", - "args": [ - { - "name": "account", - "type": "AccountId" - } - ], - "docs": [ - " Cancel the ability to use `as_recovered` for `account`.", - "", - " The dispatch origin for this call must be _Signed_ and registered to", - " be able to make calls on behalf of the recovered account.", - "", - " Parameters:", - " - `account`: The recovered account you are able to call on-behalf-of.", - "", - " # ", - " - One storage mutation to check account is recovered by `who`. O(1)", - " # " - ] - } - ], - "events": [ - { - "name": "RecoveryCreated", - "args": [ - "AccountId" - ], - "docs": [ - " A recovery process has been set up for an \\[account\\]." - ] - }, - { - "name": "RecoveryInitiated", - "args": [ - "AccountId", - "AccountId" - ], - "docs": [ - " A recovery process has been initiated for lost account by rescuer account.", - " \\[lost, rescuer\\]" - ] - }, - { - "name": "RecoveryVouched", - "args": [ - "AccountId", - "AccountId", - "AccountId" - ], - "docs": [ - " A recovery process for lost account by rescuer account has been vouched for by sender.", - " \\[lost, rescuer, sender\\]" - ] - }, - { - "name": "RecoveryClosed", - "args": [ - "AccountId", - "AccountId" - ], - "docs": [ - " A recovery process for lost account by rescuer account has been closed.", - " \\[lost, rescuer\\]" - ] - }, - { - "name": "AccountRecovered", - "args": [ - "AccountId", - "AccountId" - ], - "docs": [ - " Lost account has been successfully recovered by rescuer account.", - " \\[lost, rescuer\\]" - ] - }, - { - "name": "RecoveryRemoved", - "args": [ - "AccountId" - ], - "docs": [ - " A recovery process has been removed for an \\[account\\]." - ] - } - ], - "constants": [ - { - "name": "ConfigDepositBase", - "type": "BalanceOf", - "value": "0x00406352bfc601000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating a recovery configuration.", - "", - " This is held for an additional storage item whose value size is", - " `2 + sizeof(BlockNumber, Balance)` bytes." - ] - }, - { - "name": "FriendDepositFactor", - "type": "BalanceOf", - "value": "0x00203d88792d00000000000000000000", - "docs": [ - " The amount of currency needed per additional user when creating a recovery configuration.", - "", - " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage value." - ] - }, - { - "name": "MaxFriends", - "type": "u16", - "value": "0x0900", - "docs": [ - " The maximum amount of friends allowed in a recovery configuration." - ] - }, - { - "name": "RecoveryDeposit", - "type": "BalanceOf", - "value": "0x00406352bfc601000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for starting a recovery.", - "", - " This is primarily held for deterring malicious recovery attempts, and should", - " have a value large enough that a bad actor would choose not to place this", - " deposit. It also acts to fund additional storage item whose value size is", - " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable", - " threshold." - ] - } - ], - "errors": [ - { - "name": "NotAllowed", - "docs": [ - " User is not allowed to make a call on behalf of this account" - ] - }, - { - "name": "ZeroThreshold", - "docs": [ - " Threshold must be greater than zero" - ] - }, - { - "name": "NotEnoughFriends", - "docs": [ - " Friends list must be greater than zero and threshold" - ] - }, - { - "name": "MaxFriends", - "docs": [ - " Friends list must be less than max friends" - ] - }, - { - "name": "NotSorted", - "docs": [ - " Friends list must be sorted and free of duplicates" - ] - }, - { - "name": "NotRecoverable", - "docs": [ - " This account is not set up for recovery" - ] - }, - { - "name": "AlreadyRecoverable", - "docs": [ - " This account is already set up for recovery" - ] - }, - { - "name": "AlreadyStarted", - "docs": [ - " A recovery process has already started for this account" - ] - }, - { - "name": "NotStarted", - "docs": [ - " A recovery process has not started for this rescuer" - ] - }, - { - "name": "NotFriend", - "docs": [ - " This account is not a friend who can vouch" - ] - }, - { - "name": "DelayPeriod", - "docs": [ - " The friend must wait until the delay period to vouch for this recovery" - ] - }, - { - "name": "AlreadyVouched", - "docs": [ - " This user has already vouched for this recovery" - ] - }, - { - "name": "Threshold", - "docs": [ - " The threshold for recovering this account has not been met" - ] - }, - { - "name": "StillActive", - "docs": [ - " There are still active recovery attempts that need to be closed" - ] - }, - { - "name": "AlreadyProxy", - "docs": [ - " This account is already set up for recovery" - ] - }, - { - "name": "BadState", - "docs": [ - " Some internal state is broken." - ] - } - ], - "index": 27 - }, - { - "name": "Vesting", - "storage": { - "prefix": "Vesting", - "items": [ - { - "name": "Vesting", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AccountId", - "value": "VestingInfo", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Information regarding the vesting of a given account." - ] - } - ] - }, - "calls": [ - { - "name": "vest", - "args": [], - "docs": [ - " Unlock any vested funds of the sender account.", - "", - " The dispatch origin for this call must be _Signed_ and the sender must have funds still", - " locked under this pallet.", - "", - " Emits either `VestingCompleted` or `VestingUpdated`.", - "", - " # ", - " - `O(1)`.", - " - DbWeight: 2 Reads, 2 Writes", - " - Reads: Vesting Storage, Balances Locks, [Sender Account]", - " - Writes: Vesting Storage, Balances Locks, [Sender Account]", - " # " - ] - }, - { - "name": "vest_other", - "args": [ - { - "name": "target", - "type": "LookupSource" - } - ], - "docs": [ - " Unlock any vested funds of a `target` account.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " - `target`: The account whose vested funds should be unlocked. Must have funds still", - " locked under this pallet.", - "", - " Emits either `VestingCompleted` or `VestingUpdated`.", - "", - " # ", - " - `O(1)`.", - " - DbWeight: 3 Reads, 3 Writes", - " - Reads: Vesting Storage, Balances Locks, Target Account", - " - Writes: Vesting Storage, Balances Locks, Target Account", - " # " - ] - }, - { - "name": "vested_transfer", - "args": [ - { - "name": "target", - "type": "LookupSource" - }, - { - "name": "schedule", - "type": "VestingInfo" - } - ], - "docs": [ - " Create a vested transfer.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " - `target`: The account that should be transferred the vested funds.", - " - `amount`: The amount of funds to transfer and will be vested.", - " - `schedule`: The vesting schedule attached to the transfer.", - "", - " Emits `VestingCreated`.", - "", - " # ", - " - `O(1)`.", - " - DbWeight: 3 Reads, 3 Writes", - " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]", - " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]", - " # " - ] - }, - { - "name": "force_vested_transfer", - "args": [ - { - "name": "source", - "type": "LookupSource" - }, - { - "name": "target", - "type": "LookupSource" - }, - { - "name": "schedule", - "type": "VestingInfo" - } - ], - "docs": [ - " Force a vested transfer.", - "", - " The dispatch origin for this call must be _Root_.", - "", - " - `source`: The account whose funds should be transferred.", - " - `target`: The account that should be transferred the vested funds.", - " - `amount`: The amount of funds to transfer and will be vested.", - " - `schedule`: The vesting schedule attached to the transfer.", - "", - " Emits `VestingCreated`.", - "", - " # ", - " - `O(1)`.", - " - DbWeight: 4 Reads, 4 Writes", - " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account", - " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account", - " # " - ] - } - ], - "events": [ - { - "name": "VestingUpdated", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " The amount vested has been updated. This could indicate more funds are available. The", - " balance given is the amount which is left unvested (and thus locked).", - " \\[account, unvested\\]" - ] - }, - { - "name": "VestingCompleted", - "args": [ - "AccountId" - ], - "docs": [ - " An \\[account\\] has become fully vested. No further vesting can happen." - ] - } - ], - "constants": [ - { - "name": "MinVestedTransfer", - "type": "BalanceOf", - "value": "0x0000c16ff28623000000000000000000", - "docs": [ - " The minimum amount transferred to call `vested_transfer`." - ] - } - ], - "errors": [ - { - "name": "NotVesting", - "docs": [ - " The account given is not vesting." - ] - }, - { - "name": "ExistingVestingSchedule", - "docs": [ - " An existing vesting schedule already exists for this account that cannot be clobbered." - ] - }, - { - "name": "AmountLow", - "docs": [ - " Amount being transferred is too low to create a vesting schedule." - ] - } - ], - "index": 28 - }, - { - "name": "Scheduler", - "storage": { - "prefix": "Scheduler", - "items": [ - { - "name": "Agenda", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "BlockNumber", - "value": "Vec>", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Items to be executed, indexed by the block number that they should be executed on." - ] - }, - { - "name": "Lookup", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "Bytes", - "value": "TaskAddress", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Lookup from identity to the block number and index of the task." - ] - }, - { - "name": "StorageVersion", - "modifier": "Default", - "type": { - "plain": "Releases" - }, - "fallback": "0x00", - "docs": [ - " Storage version of the pallet.", - "", - " New networks start with last version." - ] - } - ] - }, - "calls": [ - { - "name": "schedule", - "args": [ - { - "name": "when", - "type": "BlockNumber" - }, - { - "name": "maybe_periodic", - "type": "Option" - }, - { - "name": "priority", - "type": "Priority" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Anonymously schedule a task.", - "", - " # ", - " - S = Number of already scheduled calls", - " - Base Weight: 22.29 + .126 * S µs", - " - DB Weight:", - " - Read: Agenda", - " - Write: Agenda", - " - Will use base weight of 25 which should be good for up to 30 scheduled calls", - " # " - ] - }, - { - "name": "cancel", - "args": [ - { - "name": "when", - "type": "BlockNumber" - }, - { - "name": "index", - "type": "u32" - } - ], - "docs": [ - " Cancel an anonymously scheduled task.", - "", - " # ", - " - S = Number of already scheduled calls", - " - Base Weight: 22.15 + 2.869 * S µs", - " - DB Weight:", - " - Read: Agenda", - " - Write: Agenda, Lookup", - " - Will use base weight of 100 which should be good for up to 30 scheduled calls", - " # " - ] - }, - { - "name": "schedule_named", - "args": [ - { - "name": "id", - "type": "Bytes" - }, - { - "name": "when", - "type": "BlockNumber" - }, - { - "name": "maybe_periodic", - "type": "Option" - }, - { - "name": "priority", - "type": "Priority" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Schedule a named task.", - "", - " # ", - " - S = Number of already scheduled calls", - " - Base Weight: 29.6 + .159 * S µs", - " - DB Weight:", - " - Read: Agenda, Lookup", - " - Write: Agenda, Lookup", - " - Will use base weight of 35 which should be good for more than 30 scheduled calls", - " # " - ] - }, - { - "name": "cancel_named", - "args": [ - { - "name": "id", - "type": "Bytes" - } - ], - "docs": [ - " Cancel a named scheduled task.", - "", - " # ", - " - S = Number of already scheduled calls", - " - Base Weight: 24.91 + 2.907 * S µs", - " - DB Weight:", - " - Read: Agenda, Lookup", - " - Write: Agenda, Lookup", - " - Will use base weight of 100 which should be good for up to 30 scheduled calls", - " # " - ] - }, - { - "name": "schedule_after", - "args": [ - { - "name": "after", - "type": "BlockNumber" - }, - { - "name": "maybe_periodic", - "type": "Option" - }, - { - "name": "priority", - "type": "Priority" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Anonymously schedule a task after a delay.", - "", - " # ", - " Same as [`schedule`].", - " # " - ] - }, - { - "name": "schedule_named_after", - "args": [ - { - "name": "id", - "type": "Bytes" - }, - { - "name": "after", - "type": "BlockNumber" - }, - { - "name": "maybe_periodic", - "type": "Option" - }, - { - "name": "priority", - "type": "Priority" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Schedule a named task after a delay.", - "", - " # ", - " Same as [`schedule_named`].", - " # " - ] - } - ], - "events": [ - { - "name": "Scheduled", - "args": [ - "BlockNumber", - "u32" - ], - "docs": [ - " Scheduled some task. \\[when, index\\]" - ] - }, - { - "name": "Canceled", - "args": [ - "BlockNumber", - "u32" - ], - "docs": [ - " Canceled some task. \\[when, index\\]" - ] - }, - { - "name": "Dispatched", - "args": [ - "TaskAddress", - "Option", - "DispatchResult" - ], - "docs": [ - " Dispatched some task. \\[task, id, result\\]" - ] - } - ], - "constants": [], - "errors": [ - { - "name": "FailedToSchedule", - "docs": [ - " Failed to schedule a call" - ] - }, - { - "name": "NotFound", - "docs": [ - " Cannot find the scheduled call." - ] - }, - { - "name": "TargetBlockNumberInPast", - "docs": [ - " Given target block number is in the past." - ] - }, - { - "name": "RescheduleNoChange", - "docs": [ - " Reschedule failed because it does not change scheduled time." - ] - } - ], - "index": 29 - }, - { - "name": "Proxy", - "storage": { - "prefix": "Proxy", - "items": [ - { - "name": "Proxies", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "(Vec,BalanceOf)", - "linked": false - } - }, - "fallback": "0x0000000000000000000000000000000000", - "docs": [ - " The set of account proxies. Maps the account which has delegated to the accounts", - " which are being delegated to, together with the amount held on deposit." - ] - }, - { - "name": "Announcements", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "(Vec,BalanceOf)", - "linked": false - } - }, - "fallback": "0x0000000000000000000000000000000000", - "docs": [ - " The announcements made by the proxy (key)." - ] - } - ] - }, - "calls": [ - { - "name": "proxy", - "args": [ - { - "name": "real", - "type": "AccountId" - }, - { - "name": "force_proxy_type", - "type": "Option" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Dispatch the given `call` from an account that the sender is authorised for through", - " `add_proxy`.", - "", - " Removes any corresponding announcement(s).", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Parameters:", - " - `real`: The account that the proxy will make a call on behalf of.", - " - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", - " - `call`: The call to be made by the `real` account.", - "", - " # ", - " Weight is a function of the number of proxies the user has (P).", - " # " - ] - }, - { - "name": "add_proxy", - "args": [ - { - "name": "delegate", - "type": "AccountId" - }, - { - "name": "proxy_type", - "type": "ProxyType" - }, - { - "name": "delay", - "type": "BlockNumber" - } - ], - "docs": [ - " Register a proxy account for the sender that is able to make calls on its behalf.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Parameters:", - " - `proxy`: The account that the `caller` would like to make a proxy.", - " - `proxy_type`: The permissions allowed for this proxy account.", - " - `delay`: The announcement period required of the initial proxy. Will generally be", - " zero.", - "", - " # ", - " Weight is a function of the number of proxies the user has (P).", - " # " - ] - }, - { - "name": "remove_proxy", - "args": [ - { - "name": "delegate", - "type": "AccountId" - }, - { - "name": "proxy_type", - "type": "ProxyType" - }, - { - "name": "delay", - "type": "BlockNumber" - } - ], - "docs": [ - " Unregister a proxy account for the sender.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Parameters:", - " - `proxy`: The account that the `caller` would like to remove as a proxy.", - " - `proxy_type`: The permissions currently enabled for the removed proxy account.", - "", - " # ", - " Weight is a function of the number of proxies the user has (P).", - " # " - ] - }, - { - "name": "remove_proxies", - "args": [], - "docs": [ - " Unregister all proxy accounts for the sender.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " WARNING: This may be called on accounts created by `anonymous`, however if done, then", - " the unreserved fees will be inaccessible. **All access to this account will be lost.**", - "", - " # ", - " Weight is a function of the number of proxies the user has (P).", - " # " - ] - }, - { - "name": "anonymous", - "args": [ - { - "name": "proxy_type", - "type": "ProxyType" - }, - { - "name": "delay", - "type": "BlockNumber" - }, - { - "name": "index", - "type": "u16" - } - ], - "docs": [ - " Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", - " initialize it with a proxy of `proxy_type` for `origin` sender.", - "", - " Requires a `Signed` origin.", - "", - " - `proxy_type`: The type of the proxy that the sender will be registered as over the", - " new account. This will almost always be the most permissive `ProxyType` possible to", - " allow for maximum flexibility.", - " - `index`: A disambiguation index, in case this is called multiple times in the same", - " transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", - " want to use `0`.", - " - `delay`: The announcement period required of the initial proxy. Will generally be", - " zero.", - "", - " Fails with `Duplicate` if this has already been called in this transaction, from the", - " same sender, with the same parameters.", - "", - " Fails if there are insufficient funds to pay for deposit.", - "", - " # ", - " Weight is a function of the number of proxies the user has (P).", - " # ", - " TODO: Might be over counting 1 read" - ] - }, - { - "name": "kill_anonymous", - "args": [ - { - "name": "spawner", - "type": "AccountId" - }, - { - "name": "proxy_type", - "type": "ProxyType" - }, - { - "name": "index", - "type": "u16" - }, - { - "name": "height", - "type": "Compact" - }, - { - "name": "ext_index", - "type": "Compact" - } - ], - "docs": [ - " Removes a previously spawned anonymous proxy.", - "", - " WARNING: **All access to this account will be lost.** Any funds held in it will be", - " inaccessible.", - "", - " Requires a `Signed` origin, and the sender account must have been created by a call to", - " `anonymous` with corresponding parameters.", - "", - " - `spawner`: The account that originally called `anonymous` to create this account.", - " - `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", - " - `proxy_type`: The proxy type originally passed to `anonymous`.", - " - `height`: The height of the chain when the call to `anonymous` was processed.", - " - `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", - "", - " Fails with `NoPermission` in case the caller is not a previously created anonymous", - " account whose `anonymous` call has corresponding parameters.", - "", - " # ", - " Weight is a function of the number of proxies the user has (P).", - " # " - ] - }, - { - "name": "announce", - "args": [ - { - "name": "real", - "type": "AccountId" - }, - { - "name": "call_hash", - "type": "CallHashOf" - } - ], - "docs": [ - " Publish the hash of a proxy-call that will be made in the future.", - "", - " This must be called some number of blocks before the corresponding `proxy` is attempted", - " if the delay associated with the proxy relationship is greater than zero.", - "", - " No more than `MaxPending` announcements may be made at any one time.", - "", - " This will take a deposit of `AnnouncementDepositFactor` as well as", - " `AnnouncementDepositBase` if there are no other pending announcements.", - "", - " The dispatch origin for this call must be _Signed_ and a proxy of `real`.", - "", - " Parameters:", - " - `real`: The account that the proxy will make a call on behalf of.", - " - `call_hash`: The hash of the call to be made by the `real` account.", - "", - " # ", - " Weight is a function of:", - " - A: the number of announcements made.", - " - P: the number of proxies the user has.", - " # " - ] - }, - { - "name": "remove_announcement", - "args": [ - { - "name": "real", - "type": "AccountId" - }, - { - "name": "call_hash", - "type": "CallHashOf" - } - ], - "docs": [ - " Remove a given announcement.", - "", - " May be called by a proxy account to remove a call they previously announced and return", - " the deposit.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Parameters:", - " - `real`: The account that the proxy will make a call on behalf of.", - " - `call_hash`: The hash of the call to be made by the `real` account.", - "", - " # ", - " Weight is a function of:", - " - A: the number of announcements made.", - " - P: the number of proxies the user has.", - " # " - ] - }, - { - "name": "reject_announcement", - "args": [ - { - "name": "delegate", - "type": "AccountId" - }, - { - "name": "call_hash", - "type": "CallHashOf" - } - ], - "docs": [ - " Remove the given announcement of a delegate.", - "", - " May be called by a target (proxied) account to remove a call that one of their delegates", - " (`delegate`) has announced they want to execute. The deposit is returned.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Parameters:", - " - `delegate`: The account that previously announced the call.", - " - `call_hash`: The hash of the call to be made.", - "", - " # ", - " Weight is a function of:", - " - A: the number of announcements made.", - " - P: the number of proxies the user has.", - " # " - ] - }, - { - "name": "proxy_announced", - "args": [ - { - "name": "delegate", - "type": "AccountId" - }, - { - "name": "real", - "type": "AccountId" - }, - { - "name": "force_proxy_type", - "type": "Option" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Dispatch the given `call` from an account that the sender is authorized for through", - " `add_proxy`.", - "", - " Removes any corresponding announcement(s).", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Parameters:", - " - `real`: The account that the proxy will make a call on behalf of.", - " - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", - " - `call`: The call to be made by the `real` account.", - "", - " # ", - " Weight is a function of:", - " - A: the number of announcements made.", - " - P: the number of proxies the user has.", - " # " - ] - } - ], - "events": [ - { - "name": "ProxyExecuted", - "args": [ - "DispatchResult" - ], - "docs": [ - " A proxy was executed correctly, with the given \\[result\\]." - ] - }, - { - "name": "AnonymousCreated", - "args": [ - "AccountId", - "AccountId", - "ProxyType", - "u16" - ], - "docs": [ - " Anonymous account has been created by new proxy with given", - " disambiguation index and proxy type. \\[anonymous, who, proxy_type, disambiguation_index\\]" - ] - }, - { - "name": "Announced", - "args": [ - "AccountId", - "AccountId", - "Hash" - ], - "docs": [ - " An announcement was placed to make a call in the future. \\[real, proxy, call_hash\\]" - ] - } - ], - "constants": [ - { - "name": "ProxyDepositBase", - "type": "BalanceOf", - "value": "0x00f09e544c3900000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating a proxy.", - "", - " This is held for an additional storage item whose value size is", - " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." - ] - }, - { - "name": "ProxyDepositFactor", - "type": "BalanceOf", - "value": "0x0060aa7714b400000000000000000000", - "docs": [ - " The amount of currency needed per proxy added.", - "", - " This is held for adding 32 bytes plus an instance of `ProxyType` more into a pre-existing", - " storage value. Thus, when configuring `ProxyDepositFactor` one should take into account", - " `32 + proxy_type.encode().len()` bytes of data." - ] - }, - { - "name": "MaxProxies", - "type": "u32", - "value": "0x20000000", - "docs": [ - " The maximum amount of proxies allowed for a single account." - ] - }, - { - "name": "MaxPending", - "type": "u32", - "value": "0x20000000", - "docs": [ - " The maximum amount of time-delayed announcements that are allowed to be pending." - ] - }, - { - "name": "AnnouncementDepositBase", - "type": "BalanceOf", - "value": "0x00f09e544c3900000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating an announcement.", - "", - " This is held when a new storage item holding a `Balance` is created (typically 16 bytes)." - ] - }, - { - "name": "AnnouncementDepositFactor", - "type": "BalanceOf", - "value": "0x00c054ef286801000000000000000000", - "docs": [ - " The amount of currency needed per announcement made.", - "", - " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", - " into a pre-existing storage value." - ] - } - ], - "errors": [ - { - "name": "TooMany", - "docs": [ - " There are too many proxies registered or too many announcements pending." - ] - }, - { - "name": "NotFound", - "docs": [ - " Proxy registration not found." - ] - }, - { - "name": "NotProxy", - "docs": [ - " Sender is not a proxy of the account to be proxied." - ] - }, - { - "name": "Unproxyable", - "docs": [ - " A call which is incompatible with the proxy type's filter was attempted." - ] - }, - { - "name": "Duplicate", - "docs": [ - " Account is already a proxy." - ] - }, - { - "name": "NoPermission", - "docs": [ - " Call may not be made by proxy because it may escalate its privileges." - ] - }, - { - "name": "Unannounced", - "docs": [ - " Announcement, if made at all, was made too recently." - ] - }, - { - "name": "NoSelfProxy", - "docs": [ - " Cannot add self as proxy." - ] - } - ], - "index": 30 - }, - { - "name": "Multisig", - "storage": { - "prefix": "Multisig", - "items": [ - { - "name": "Multisigs", - "modifier": "Optional", - "type": { - "doubleMap": { - "hasher": "Twox64Concat", - "key1": "AccountId", - "key2": "[u8;32]", - "value": "Multisig", - "key2Hasher": "Blake2_128Concat" - } - }, - "fallback": "0x00", - "docs": [ - " The set of open multisig operations." - ] - }, - { - "name": "Calls", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "[u8;32]", - "value": "(OpaqueCall,AccountId,BalanceOf)", - "linked": false - } - }, - "fallback": "0x00", - "docs": [] - } - ] - }, - "calls": [ - { - "name": "as_multi_threshold_1", - "args": [ - { - "name": "other_signatories", - "type": "Vec" - }, - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Immediately dispatch a multi-signature call using a single approval from the caller.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " - `other_signatories`: The accounts (other than the sender) who are part of the", - " multi-signature, but do not participate in the approval process.", - " - `call`: The call to be executed.", - "", - " Result is equivalent to the dispatched result.", - "", - " # ", - " O(Z + C) where Z is the length of the call and C its execution weight.", - " -------------------------------", - " - DB Weight: None", - " - Plus Call Weight", - " # " - ] - }, - { - "name": "as_multi", - "args": [ - { - "name": "threshold", - "type": "u16" - }, - { - "name": "other_signatories", - "type": "Vec" - }, - { - "name": "maybe_timepoint", - "type": "Option" - }, - { - "name": "call", - "type": "OpaqueCall" - }, - { - "name": "store_call", - "type": "bool" - }, - { - "name": "max_weight", - "type": "Weight" - } - ], - "docs": [ - " Register approval for a dispatch to be made from a deterministic composite account if", - " approved by a total of `threshold - 1` of `other_signatories`.", - "", - " If there are enough, then dispatch the call.", - "", - " Payment: `DepositBase` will be reserved if this is the first approval, plus", - " `threshold` times `DepositFactor`. It is returned once this dispatch happens or", - " is cancelled.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " - `threshold`: The total number of approvals for this dispatch before it is executed.", - " - `other_signatories`: The accounts (other than the sender) who can approve this", - " dispatch. May not be empty.", - " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", - " not the first approval, then it must be `Some`, with the timepoint (block number and", - " transaction index) of the first approval transaction.", - " - `call`: The call to be executed.", - "", - " NOTE: Unless this is the final approval, you will generally want to use", - " `approve_as_multi` instead, since it only requires a hash of the call.", - "", - " Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", - " on success, result is `Ok` and the result from the interior call, if it was executed,", - " may be found in the deposited `MultisigExecuted` event.", - "", - " # ", - " - `O(S + Z + Call)`.", - " - Up to one balance-reserve or unreserve operation.", - " - One passthrough operation, one insert, both `O(S)` where `S` is the number of", - " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", - " - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", - " - One encode & hash, both of complexity `O(S)`.", - " - Up to one binary search and insert (`O(logS + S)`).", - " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", - " - One event.", - " - The weight of the `call`.", - " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a", - " deposit taken for its lifetime of", - " `DepositBase + threshold * DepositFactor`.", - " -------------------------------", - " - DB Weight:", - " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", - " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", - " - Plus Call Weight", - " # " - ] - }, - { - "name": "approve_as_multi", - "args": [ - { - "name": "threshold", - "type": "u16" - }, - { - "name": "other_signatories", - "type": "Vec" - }, - { - "name": "maybe_timepoint", - "type": "Option" - }, - { - "name": "call_hash", - "type": "[u8;32]" - }, - { - "name": "max_weight", - "type": "Weight" - } - ], - "docs": [ - " Register approval for a dispatch to be made from a deterministic composite account if", - " approved by a total of `threshold - 1` of `other_signatories`.", - "", - " Payment: `DepositBase` will be reserved if this is the first approval, plus", - " `threshold` times `DepositFactor`. It is returned once this dispatch happens or", - " is cancelled.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " - `threshold`: The total number of approvals for this dispatch before it is executed.", - " - `other_signatories`: The accounts (other than the sender) who can approve this", - " dispatch. May not be empty.", - " - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", - " not the first approval, then it must be `Some`, with the timepoint (block number and", - " transaction index) of the first approval transaction.", - " - `call_hash`: The hash of the call to be executed.", - "", - " NOTE: If this is the final approval, you will want to use `as_multi` instead.", - "", - " # ", - " - `O(S)`.", - " - Up to one balance-reserve or unreserve operation.", - " - One passthrough operation, one insert, both `O(S)` where `S` is the number of", - " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", - " - One encode & hash, both of complexity `O(S)`.", - " - Up to one binary search and insert (`O(logS + S)`).", - " - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", - " - One event.", - " - Storage: inserts one item, value size bounded by `MaxSignatories`, with a", - " deposit taken for its lifetime of", - " `DepositBase + threshold * DepositFactor`.", - " ----------------------------------", - " - DB Weight:", - " - Read: Multisig Storage, [Caller Account]", - " - Write: Multisig Storage, [Caller Account]", - " # " - ] - }, - { - "name": "cancel_as_multi", - "args": [ - { - "name": "threshold", - "type": "u16" - }, - { - "name": "other_signatories", - "type": "Vec" - }, - { - "name": "timepoint", - "type": "Timepoint" - }, - { - "name": "call_hash", - "type": "[u8;32]" - } - ], - "docs": [ - " Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", - " for this operation will be unreserved on success.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " - `threshold`: The total number of approvals for this dispatch before it is executed.", - " - `other_signatories`: The accounts (other than the sender) who can approve this", - " dispatch. May not be empty.", - " - `timepoint`: The timepoint (block number and transaction index) of the first approval", - " transaction for this dispatch.", - " - `call_hash`: The hash of the call to be executed.", - "", - " # ", - " - `O(S)`.", - " - Up to one balance-reserve or unreserve operation.", - " - One passthrough operation, one insert, both `O(S)` where `S` is the number of", - " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", - " - One encode & hash, both of complexity `O(S)`.", - " - One event.", - " - I/O: 1 read `O(S)`, one remove.", - " - Storage: removes one item.", - " ----------------------------------", - " - DB Weight:", - " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", - " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", - " # " - ] - } - ], - "events": [ - { - "name": "NewMultisig", - "args": [ - "AccountId", - "AccountId", - "CallHash" - ], - "docs": [ - " A new multisig operation has begun. \\[approving, multisig, call_hash\\]" - ] - }, - { - "name": "MultisigApproval", - "args": [ - "AccountId", - "Timepoint", - "AccountId", - "CallHash" - ], - "docs": [ - " A multisig operation has been approved by someone.", - " \\[approving, timepoint, multisig, call_hash\\]" - ] - }, - { - "name": "MultisigExecuted", - "args": [ - "AccountId", - "Timepoint", - "AccountId", - "CallHash", - "DispatchResult" - ], - "docs": [ - " A multisig operation has been executed. \\[approving, timepoint, multisig, call_hash\\]" - ] - }, - { - "name": "MultisigCancelled", - "args": [ - "AccountId", - "Timepoint", - "AccountId", - "CallHash" - ], - "docs": [ - " A multisig operation has been cancelled. \\[cancelling, timepoint, multisig, call_hash\\]" - ] - } - ], - "constants": [ - { - "name": "DepositBase", - "type": "BalanceOf", - "value": "0x00f01c0adbed01000000000000000000", - "docs": [ - " The base amount of currency needed to reserve for creating a multisig execution or to store", - " a dispatch call for later.", - "", - " This is held for an additional storage item whose value size is", - " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", - " `32 + sizeof(AccountId)` bytes." - ] - }, - { - "name": "DepositFactor", - "type": "BalanceOf", - "value": "0x0000cc7b9fae00000000000000000000", - "docs": [ - " The amount of currency needed per unit threshold when creating a multisig execution.", - "", - " This is held for adding 32 bytes more into a pre-existing storage value." - ] - }, - { - "name": "MaxSignatories", - "type": "u16", - "value": "0x6400", - "docs": [ - " The maximum amount of signatories allowed in the multisig." - ] - } - ], - "errors": [ - { - "name": "MinimumThreshold", - "docs": [ - " Threshold must be 2 or greater." - ] - }, - { - "name": "AlreadyApproved", - "docs": [ - " Call is already approved by this signatory." - ] - }, - { - "name": "NoApprovalsNeeded", - "docs": [ - " Call doesn't need any (more) approvals." - ] - }, - { - "name": "TooFewSignatories", - "docs": [ - " There are too few signatories in the list." - ] - }, - { - "name": "TooManySignatories", - "docs": [ - " There are too many signatories in the list." - ] - }, - { - "name": "SignatoriesOutOfOrder", - "docs": [ - " The signatories were provided out of order; they should be ordered." - ] - }, - { - "name": "SenderInSignatories", - "docs": [ - " The sender was contained in the other signatories; it shouldn't be." - ] - }, - { - "name": "NotFound", - "docs": [ - " Multisig operation not found when attempting to cancel." - ] - }, - { - "name": "NotOwner", - "docs": [ - " Only the account that originally created the multisig is able to cancel it." - ] - }, - { - "name": "NoTimepoint", - "docs": [ - " No timepoint was given, yet the multisig operation is already underway." - ] - }, - { - "name": "WrongTimepoint", - "docs": [ - " A different timepoint was given to the multisig operation that is underway." - ] - }, - { - "name": "UnexpectedTimepoint", - "docs": [ - " A timepoint was given, yet no multisig operation is underway." - ] - }, - { - "name": "MaxWeightTooLow", - "docs": [ - " The maximum weight information provided was too low." - ] - }, - { - "name": "AlreadyStored", - "docs": [ - " The data to be stored is already stored." - ] - } - ], - "index": 31 - }, - { - "name": "Bounties", - "storage": { - "prefix": "Treasury", - "items": [ - { - "name": "BountyCount", - "modifier": "Default", - "type": { - "plain": "BountyIndex" - }, - "fallback": "0x00000000", - "docs": [ - " Number of bounty proposals that have been made." - ] - }, - { - "name": "Bounties", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "BountyIndex", - "value": "Bounty", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Bounties that have been made." - ] - }, - { - "name": "BountyDescriptions", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "BountyIndex", - "value": "Bytes", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The description of each bounty." - ] - }, - { - "name": "BountyApprovals", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " Bounty indices that have been approved but not yet funded." - ] - } - ] - }, - "calls": [ - { - "name": "propose_bounty", - "args": [ - { - "name": "value", - "type": "Compact" - }, - { - "name": "description", - "type": "Bytes" - } - ], - "docs": [ - " Propose a new bounty.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", - " `DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,", - " or slashed when rejected.", - "", - " - `curator`: The curator account whom will manage this bounty.", - " - `fee`: The curator fee.", - " - `value`: The total payment amount of this bounty, curator fee included.", - " - `description`: The description of this bounty." - ] - }, - { - "name": "approve_bounty", - "args": [ - { - "name": "bounty_id", - "type": "Compact" - } - ], - "docs": [ - " Approve a bounty proposal. At a later time, the bounty will be funded and become active", - " and the original deposit will be returned.", - "", - " May only be called from `T::ApproveOrigin`.", - "", - " # ", - " - O(1).", - " # " - ] - }, - { - "name": "propose_curator", - "args": [ - { - "name": "bounty_id", - "type": "Compact" - }, - { - "name": "curator", - "type": "LookupSource" - }, - { - "name": "fee", - "type": "Compact" - } - ], - "docs": [ - " Assign a curator to a funded bounty.", - "", - " May only be called from `T::ApproveOrigin`.", - "", - " # ", - " - O(1).", - " # " - ] - }, - { - "name": "unassign_curator", - "args": [ - { - "name": "bounty_id", - "type": "Compact" - } - ], - "docs": [ - " Unassign curator from a bounty.", - "", - " This function can only be called by the `RejectOrigin` a signed origin.", - "", - " If this function is called by the `RejectOrigin`, we assume that the curator is malicious", - " or inactive. As a result, we will slash the curator when possible.", - "", - " If the origin is the curator, we take this as a sign they are unable to do their job and", - " they willingly give up. We could slash them, but for now we allow them to recover their", - " deposit and exit without issue. (We may want to change this if it is abused.)", - "", - " Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows", - " anyone in the community to call out that a curator is not doing their due diligence, and", - " we should pick a new curator. In this case the curator should also be slashed.", - "", - " # ", - " - O(1).", - " # " - ] - }, - { - "name": "accept_curator", - "args": [ - { - "name": "bounty_id", - "type": "Compact" - } - ], - "docs": [ - " Accept the curator role for a bounty.", - " A deposit will be reserved from curator and refund upon successful payout.", - "", - " May only be called from the curator.", - "", - " # ", - " - O(1).", - " # " - ] - }, - { - "name": "award_bounty", - "args": [ - { - "name": "bounty_id", - "type": "Compact" - }, - { - "name": "beneficiary", - "type": "LookupSource" - } - ], - "docs": [ - " Award bounty to a beneficiary account. The beneficiary will be able to claim the funds after a delay.", - "", - " The dispatch origin for this call must be the curator of this bounty.", - "", - " - `bounty_id`: Bounty ID to award.", - " - `beneficiary`: The beneficiary account whom will receive the payout.", - "", - " # ", - " - O(1).", - " # " - ] - }, - { - "name": "claim_bounty", - "args": [ - { - "name": "bounty_id", - "type": "Compact" - } - ], - "docs": [ - " Claim the payout from an awarded bounty after payout delay.", - "", - " The dispatch origin for this call must be the beneficiary of this bounty.", - "", - " - `bounty_id`: Bounty ID to claim.", - "", - " # ", - " - O(1).", - " # " - ] - }, - { - "name": "close_bounty", - "args": [ - { - "name": "bounty_id", - "type": "Compact" - } - ], - "docs": [ - " Cancel a proposed or active bounty. All the funds will be sent to treasury and", - " the curator deposit will be unreserved if possible.", - "", - " Only `T::RejectOrigin` is able to cancel a bounty.", - "", - " - `bounty_id`: Bounty ID to cancel.", - "", - " # ", - " - O(1).", - " # " - ] - }, - { - "name": "extend_bounty_expiry", - "args": [ - { - "name": "bounty_id", - "type": "Compact" - }, - { - "name": "_remark", - "type": "Bytes" - } - ], - "docs": [ - " Extend the expiry time of an active bounty.", - "", - " The dispatch origin for this call must be the curator of this bounty.", - "", - " - `bounty_id`: Bounty ID to extend.", - " - `remark`: additional information.", - "", - " # ", - " - O(1).", - " # " - ] - } - ], - "events": [ - { - "name": "BountyProposed", - "args": [ - "BountyIndex" - ], - "docs": [ - " New bounty proposal. \\[index\\]" - ] - }, - { - "name": "BountyRejected", - "args": [ - "BountyIndex", - "Balance" - ], - "docs": [ - " A bounty proposal was rejected; funds were slashed. \\[index, bond\\]" - ] - }, - { - "name": "BountyBecameActive", - "args": [ - "BountyIndex" - ], - "docs": [ - " A bounty proposal is funded and became active. \\[index\\]" - ] - }, - { - "name": "BountyAwarded", - "args": [ - "BountyIndex", - "AccountId" - ], - "docs": [ - " A bounty is awarded to a beneficiary. \\[index, beneficiary\\]" - ] - }, - { - "name": "BountyClaimed", - "args": [ - "BountyIndex", - "Balance", - "AccountId" - ], - "docs": [ - " A bounty is claimed by beneficiary. \\[index, payout, beneficiary\\]" - ] - }, - { - "name": "BountyCanceled", - "args": [ - "BountyIndex" - ], - "docs": [ - " A bounty is cancelled. \\[index\\]" - ] - }, - { - "name": "BountyExtended", - "args": [ - "BountyIndex" - ], - "docs": [ - " A bounty expiry is extended. \\[index\\]" - ] - } - ], - "constants": [ - { - "name": "DataDepositPerByte", - "type": "BalanceOf", - "value": "0x0010a5d4e80000000000000000000000", - "docs": [ - " The amount held on deposit per byte within bounty description." - ] - }, - { - "name": "BountyDepositBase", - "type": "BalanceOf", - "value": "0x00407a10f35a00000000000000000000", - "docs": [ - " The amount held on deposit for placing a bounty proposal." - ] - }, - { - "name": "BountyDepositPayoutDelay", - "type": "BlockNumber", - "value": "0x80700000", - "docs": [ - " The delay period for which a bounty beneficiary need to wait before claim the payout." - ] - }, - { - "name": "BountyUpdatePeriod", - "type": "BlockNumber", - "value": "0x00270600", - "docs": [ - " Bounty duration in blocks." - ] - }, - { - "name": "BountyCuratorDeposit", - "type": "Permill", - "value": "0x20a10700", - "docs": [ - " Percentage of the curator fee that will be reserved upfront as deposit for bounty curator." - ] - }, - { - "name": "BountyValueMinimum", - "type": "BalanceOf", - "value": "0x00406352bfc601000000000000000000", - "docs": [ - " Minimum value for a bounty." - ] - }, - { - "name": "MaximumReasonLength", - "type": "u32", - "value": "0x00400000", - "docs": [ - " Maximum acceptable reason length." - ] - } - ], - "errors": [ - { - "name": "InsufficientProposersBalance", - "docs": [ - " Proposer's balance is too low." - ] - }, - { - "name": "InvalidIndex", - "docs": [ - " No proposal or bounty at that index." - ] - }, - { - "name": "ReasonTooBig", - "docs": [ - " The reason given is just too big." - ] - }, - { - "name": "UnexpectedStatus", - "docs": [ - " The bounty status is unexpected." - ] - }, - { - "name": "RequireCurator", - "docs": [ - " Require bounty curator." - ] - }, - { - "name": "InvalidValue", - "docs": [ - " Invalid bounty value." - ] - }, - { - "name": "InvalidFee", - "docs": [ - " Invalid bounty fee." - ] - }, - { - "name": "PendingPayout", - "docs": [ - " A bounty payout is pending.", - " To cancel the bounty, you must unassign and slash the curator." - ] - }, - { - "name": "Premature", - "docs": [ - " The bounties cannot be claimed/closed because it's still in the countdown period." - ] - } - ], - "index": 32 - }, - { - "name": "Tips", - "storage": { - "prefix": "Treasury", - "items": [ - { - "name": "Tips", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "Hash", - "value": "OpenTip", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value.", - " This has the insecure enumerable hash function since the key itself is already", - " guaranteed to be a secure hash." - ] - }, - { - "name": "Reasons", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "Hash", - "value": "Bytes", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Simple preimage lookup from the reason's hash to the original data. Again, has an", - " insecure enumerable hash since the key is guaranteed to be the result of a secure hash." - ] - } - ] - }, - "calls": [ - { - "name": "report_awesome", - "args": [ - { - "name": "reason", - "type": "Bytes" - }, - { - "name": "who", - "type": "AccountId" - } - ], - "docs": [ - " Report something `reason` that deserves a tip and claim any eventual the finder's fee.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", - " `DataDepositPerByte` for each byte in `reason`.", - "", - " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be", - " a UTF-8-encoded URL.", - " - `who`: The account which should be credited for the tip.", - "", - " Emits `NewTip` if successful.", - "", - " # ", - " - Complexity: `O(R)` where `R` length of `reason`.", - " - encoding and hashing of 'reason'", - " - DbReads: `Reasons`, `Tips`", - " - DbWrites: `Reasons`, `Tips`", - " # " - ] - }, - { - "name": "retract_tip", - "args": [ - { - "name": "hash", - "type": "Hash" - } - ], - "docs": [ - " Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.", - "", - " If successful, the original deposit will be unreserved.", - "", - " The dispatch origin for this call must be _Signed_ and the tip identified by `hash`", - " must have been reported by the signing account through `report_awesome` (and not", - " through `tip_new`).", - "", - " - `hash`: The identity of the open tip for which a tip value is declared. This is formed", - " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", - "", - " Emits `TipRetracted` if successful.", - "", - " # ", - " - Complexity: `O(1)`", - " - Depends on the length of `T::Hash` which is fixed.", - " - DbReads: `Tips`, `origin account`", - " - DbWrites: `Reasons`, `Tips`, `origin account`", - " # " - ] - }, - { - "name": "tip_new", - "args": [ - { - "name": "reason", - "type": "Bytes" - }, - { - "name": "who", - "type": "AccountId" - }, - { - "name": "tip_value", - "type": "Compact" - } - ], - "docs": [ - " Give a tip for something new; no finder's fee will be taken.", - "", - " The dispatch origin for this call must be _Signed_ and the signing account must be a", - " member of the `Tippers` set.", - "", - " - `reason`: The reason for, or the thing that deserves, the tip; generally this will be", - " a UTF-8-encoded URL.", - " - `who`: The account which should be credited for the tip.", - " - `tip_value`: The amount of tip that the sender would like to give. The median tip", - " value of active tippers will be given to the `who`.", - "", - " Emits `NewTip` if successful.", - "", - " # ", - " - Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.", - " - `O(T)`: decoding `Tipper` vec of length `T`", - " `T` is charged as upper bound given by `ContainsLengthBound`.", - " The actual cost depends on the implementation of `T::Tippers`.", - " - `O(R)`: hashing and encoding of reason of length `R`", - " - DbReads: `Tippers`, `Reasons`", - " - DbWrites: `Reasons`, `Tips`", - " # " - ] - }, - { - "name": "tip", - "args": [ - { - "name": "hash", - "type": "Hash" - }, - { - "name": "tip_value", - "type": "Compact" - } - ], - "docs": [ - " Declare a tip value for an already-open tip.", - "", - " The dispatch origin for this call must be _Signed_ and the signing account must be a", - " member of the `Tippers` set.", - "", - " - `hash`: The identity of the open tip for which a tip value is declared. This is formed", - " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary", - " account ID.", - " - `tip_value`: The amount of tip that the sender would like to give. The median tip", - " value of active tippers will be given to the `who`.", - "", - " Emits `TipClosing` if the threshold of tippers has been reached and the countdown period", - " has started.", - "", - " # ", - " - Complexity: `O(T)` where `T` is the number of tippers.", - " decoding `Tipper` vec of length `T`, insert tip and check closing,", - " `T` is charged as upper bound given by `ContainsLengthBound`.", - " The actual cost depends on the implementation of `T::Tippers`.", - "", - " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it", - " is weighted as if almost full i.e of length `T-1`.", - " - DbReads: `Tippers`, `Tips`", - " - DbWrites: `Tips`", - " # " - ] - }, - { - "name": "close_tip", - "args": [ - { - "name": "hash", - "type": "Hash" - } - ], - "docs": [ - " Close and payout a tip.", - "", - " The dispatch origin for this call must be _Signed_.", - "", - " The tip identified by `hash` must have finished its countdown period.", - "", - " - `hash`: The identity of the open tip for which a tip value is declared. This is formed", - " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", - "", - " # ", - " - Complexity: `O(T)` where `T` is the number of tippers.", - " decoding `Tipper` vec of length `T`.", - " `T` is charged as upper bound given by `ContainsLengthBound`.", - " The actual cost depends on the implementation of `T::Tippers`.", - " - DbReads: `Tips`, `Tippers`, `tip finder`", - " - DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`", - " # " - ] - }, - { - "name": "slash_tip", - "args": [ - { - "name": "hash", - "type": "Hash" - } - ], - "docs": [ - " Remove and slash an already-open tip.", - "", - " May only be called from `T::RejectOrigin`.", - "", - " As a result, the finder is slashed and the deposits are lost.", - "", - " Emits `TipSlashed` if successful.", - "", - " # ", - " `T` is charged as upper bound given by `ContainsLengthBound`.", - " The actual cost depends on the implementation of `T::Tippers`.", - " # " - ] - } - ], - "events": [ - { - "name": "NewTip", - "args": [ - "Hash" - ], - "docs": [ - " A new tip suggestion has been opened. \\[tip_hash\\]" - ] - }, - { - "name": "TipClosing", - "args": [ - "Hash" - ], - "docs": [ - " A tip suggestion has reached threshold and is closing. \\[tip_hash\\]" - ] - }, - { - "name": "TipClosed", - "args": [ - "Hash", - "AccountId", - "Balance" - ], - "docs": [ - " A tip suggestion has been closed. \\[tip_hash, who, payout\\]" - ] - }, - { - "name": "TipRetracted", - "args": [ - "Hash" - ], - "docs": [ - " A tip suggestion has been retracted. \\[tip_hash\\]" - ] - }, - { - "name": "TipSlashed", - "args": [ - "Hash", - "AccountId", - "Balance" - ], - "docs": [ - " A tip suggestion has been slashed. \\[tip_hash, finder, deposit\\]" - ] - } - ], - "constants": [ - { - "name": "TipCountdown", - "type": "BlockNumber", - "value": "0x80700000", - "docs": [ - " The period for which a tip remains open after is has achieved threshold tippers." - ] - }, - { - "name": "TipFindersFee", - "type": "Percent", - "value": "0x14", - "docs": [ - " The amount of the final tip which goes to the original reporter of the tip." - ] - }, - { - "name": "TipReportDepositBase", - "type": "BalanceOf", - "value": "0x00407a10f35a00000000000000000000", - "docs": [ - " The amount held on deposit for placing a tip report." - ] - }, - { - "name": "DataDepositPerByte", - "type": "BalanceOf", - "value": "0x0010a5d4e80000000000000000000000", - "docs": [ - " The amount held on deposit per byte within the tip report reason." - ] - }, - { - "name": "MaximumReasonLength", - "type": "u32", - "value": "0x00400000", - "docs": [ - " Maximum acceptable reason length." - ] - } - ], - "errors": [ - { - "name": "ReasonTooBig", - "docs": [ - " The reason given is just too big." - ] - }, - { - "name": "AlreadyKnown", - "docs": [ - " The tip was already found/started." - ] - }, - { - "name": "UnknownTip", - "docs": [ - " The tip hash is unknown." - ] - }, - { - "name": "NotFinder", - "docs": [ - " The account attempting to retract the tip is not the finder of the tip." - ] - }, - { - "name": "StillOpen", - "docs": [ - " The tip cannot be claimed/closed because there are not enough tippers yet." - ] - }, - { - "name": "Premature", - "docs": [ - " The tip cannot be claimed/closed because it's still in the countdown period." - ] - } - ], - "index": 33 - }, - { - "name": "Assets", - "storage": { - "prefix": "Assets", - "items": [ - { - "name": "Asset", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AssetId", - "value": "AssetDetails", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Details of an asset." - ] - }, - { - "name": "Account", - "modifier": "Default", - "type": { - "doubleMap": { - "hasher": "Blake2_128Concat", - "key1": "AssetId", - "key2": "AccountId", - "value": "AssetBalance", - "key2Hasher": "Blake2_128Concat" - } - }, - "fallback": "0x00000000000000000000", - "docs": [ - " The number of units of assets held by any given account." - ] - }, - { - "name": "Approvals", - "modifier": "Optional", - "type": { - "nMap": { - "keyVec": [ - "AssetId", - "AccountId", - "AccountId" - ], - "hashers": [ - "Blake2_128Concat", - "Blake2_128Concat", - "Blake2_128Concat" - ], - "value": "AssetApproval" - } - }, - "fallback": "0x00", - "docs": [ - " Approved balance transfers. First balance is the amount approved for transfer. Second", - " is the amount of `T::Currency` reserved for storing this.", - " First key is the asset ID, second key is the owner and third key is the delegate." - ] - }, - { - "name": "Metadata", - "modifier": "Default", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "AssetId", - "value": "AssetMetadata", - "linked": false - } - }, - "fallback": "0x0000000000000000000000000000000000000000", - "docs": [ - " Metadata of an asset." - ] - } - ] - }, - "calls": [ - { - "name": "create", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "admin", - "type": "LookupSource" - }, - { - "name": "min_balance", - "type": "TAssetBalance" - } - ], - "docs": [ - " Issue a new class of fungible assets from a public origin.", - "", - " This new asset class has no assets initially and its owner is the origin.", - "", - " The origin must be Signed and the sender must have sufficient funds free.", - "", - " Funds of sender are reserved by `AssetDeposit`.", - "", - " Parameters:", - " - `id`: The identifier of the new asset. This must not be currently in use to identify", - " an existing asset.", - " - `admin`: The admin of this class of assets. The admin is the initial address of each", - " member of the asset class's admin team.", - " - `min_balance`: The minimum balance of this new asset that any single account must", - " have. If an account's balance is reduced below this, then it collapses to zero.", - "", - " Emits `Created` event when successful.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "force_create", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "owner", - "type": "LookupSource" - }, - { - "name": "is_sufficient", - "type": "bool" - }, - { - "name": "min_balance", - "type": "Compact" - } - ], - "docs": [ - " Issue a new class of fungible assets from a privileged origin.", - "", - " This new asset class has no assets initially.", - "", - " The origin must conform to `ForceOrigin`.", - "", - " Unlike `create`, no funds are reserved.", - "", - " - `id`: The identifier of the new asset. This must not be currently in use to identify", - " an existing asset.", - " - `owner`: The owner of this class of assets. The owner has full superuser permissions", - " over this asset, but may later change and configure the permissions using `transfer_ownership`", - " and `set_team`.", - " - `min_balance`: The minimum balance of this new asset that any single account must", - " have. If an account's balance is reduced below this, then it collapses to zero.", - "", - " Emits `ForceCreated` event when successful.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "destroy", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "witness", - "type": "AssetDestroyWitness" - } - ], - "docs": [ - " Destroy a class of fungible assets.", - "", - " The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", - " owner of the asset `id`.", - "", - " - `id`: The identifier of the asset to be destroyed. This must identify an existing", - " asset.", - "", - " Emits `Destroyed` event when successful.", - "", - " NOTE: It can be helpful to first freeze an asset before destroying it so that you", - " can provide accurate witness information and prevent users from manipulating state", - " in a way that can make it harder to destroy.", - "", - " Weight: `O(c + p + a)` where:", - " - `c = (witness.accounts - witness.sufficients)`", - " - `s = witness.sufficients`", - " - `a = witness.approvals`" - ] - }, - { - "name": "mint", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "beneficiary", - "type": "LookupSource" - }, - { - "name": "amount", - "type": "Compact" - } - ], - "docs": [ - " Mint assets of a particular class.", - "", - " The origin must be Signed and the sender must be the Issuer of the asset `id`.", - "", - " - `id`: The identifier of the asset to have some amount minted.", - " - `beneficiary`: The account to be credited with the minted assets.", - " - `amount`: The amount of the asset to be minted.", - "", - " Emits `Issued` event when successful.", - "", - " Weight: `O(1)`", - " Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." - ] - }, - { - "name": "burn", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "who", - "type": "LookupSource" - }, - { - "name": "amount", - "type": "Compact" - } - ], - "docs": [ - " Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", - "", - " Origin must be Signed and the sender should be the Manager of the asset `id`.", - "", - " Bails with `BalanceZero` if the `who` is already dead.", - "", - " - `id`: The identifier of the asset to have some amount burned.", - " - `who`: The account to be debited from.", - " - `amount`: The maximum amount by which `who`'s balance should be reduced.", - "", - " Emits `Burned` with the actual amount burned. If this takes the balance to below the", - " minimum for the asset, then the amount burned is increased to take it to zero.", - "", - " Weight: `O(1)`", - " Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." - ] - }, - { - "name": "transfer", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "target", - "type": "LookupSource" - }, - { - "name": "amount", - "type": "Compact" - } - ], - "docs": [ - " Move some assets from the sender account to another.", - "", - " Origin must be Signed.", - "", - " - `id`: The identifier of the asset to have some amount transferred.", - " - `target`: The account to be credited.", - " - `amount`: The amount by which the sender's balance of assets should be reduced and", - " `target`'s balance increased. The amount actually transferred may be slightly greater in", - " the case that the transfer would otherwise take the sender balance above zero but below", - " the minimum balance. Must be greater than zero.", - "", - " Emits `Transferred` with the actual amount transferred. If this takes the source balance", - " to below the minimum for the asset, then the amount transferred is increased to take it", - " to zero.", - "", - " Weight: `O(1)`", - " Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", - " `target`." - ] - }, - { - "name": "transfer_keep_alive", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "target", - "type": "LookupSource" - }, - { - "name": "amount", - "type": "Compact" - } - ], - "docs": [ - " Move some assets from the sender account to another, keeping the sender account alive.", - "", - " Origin must be Signed.", - "", - " - `id`: The identifier of the asset to have some amount transferred.", - " - `target`: The account to be credited.", - " - `amount`: The amount by which the sender's balance of assets should be reduced and", - " `target`'s balance increased. The amount actually transferred may be slightly greater in", - " the case that the transfer would otherwise take the sender balance above zero but below", - " the minimum balance. Must be greater than zero.", - "", - " Emits `Transferred` with the actual amount transferred. If this takes the source balance", - " to below the minimum for the asset, then the amount transferred is increased to take it", - " to zero.", - "", - " Weight: `O(1)`", - " Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", - " `target`." - ] - }, - { - "name": "force_transfer", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "source", - "type": "LookupSource" - }, - { - "name": "dest", - "type": "LookupSource" - }, - { - "name": "amount", - "type": "Compact" - } - ], - "docs": [ - " Move some assets from one account to another.", - "", - " Origin must be Signed and the sender should be the Admin of the asset `id`.", - "", - " - `id`: The identifier of the asset to have some amount transferred.", - " - `source`: The account to be debited.", - " - `dest`: The account to be credited.", - " - `amount`: The amount by which the `source`'s balance of assets should be reduced and", - " `dest`'s balance increased. The amount actually transferred may be slightly greater in", - " the case that the transfer would otherwise take the `source` balance above zero but", - " below the minimum balance. Must be greater than zero.", - "", - " Emits `Transferred` with the actual amount transferred. If this takes the source balance", - " to below the minimum for the asset, then the amount transferred is increased to take it", - " to zero.", - "", - " Weight: `O(1)`", - " Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", - " `dest`." - ] - }, - { - "name": "freeze", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "who", - "type": "LookupSource" - } - ], - "docs": [ - " Disallow further unprivileged transfers from an account.", - "", - " Origin must be Signed and the sender should be the Freezer of the asset `id`.", - "", - " - `id`: The identifier of the asset to be frozen.", - " - `who`: The account to be frozen.", - "", - " Emits `Frozen`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "thaw", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "who", - "type": "LookupSource" - } - ], - "docs": [ - " Allow unprivileged transfers from an account again.", - "", - " Origin must be Signed and the sender should be the Admin of the asset `id`.", - "", - " - `id`: The identifier of the asset to be frozen.", - " - `who`: The account to be unfrozen.", - "", - " Emits `Thawed`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "freeze_asset", - "args": [ - { - "name": "id", - "type": "Compact" - } - ], - "docs": [ - " Disallow further unprivileged transfers for the asset class.", - "", - " Origin must be Signed and the sender should be the Freezer of the asset `id`.", - "", - " - `id`: The identifier of the asset to be frozen.", - "", - " Emits `Frozen`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "thaw_asset", - "args": [ - { - "name": "id", - "type": "Compact" - } - ], - "docs": [ - " Allow unprivileged transfers for the asset again.", - "", - " Origin must be Signed and the sender should be the Admin of the asset `id`.", - "", - " - `id`: The identifier of the asset to be thawed.", - "", - " Emits `Thawed`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "transfer_ownership", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "owner", - "type": "LookupSource" - } - ], - "docs": [ - " Change the Owner of an asset.", - "", - " Origin must be Signed and the sender should be the Owner of the asset `id`.", - "", - " - `id`: The identifier of the asset.", - " - `owner`: The new Owner of this asset.", - "", - " Emits `OwnerChanged`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "set_team", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "issuer", - "type": "LookupSource" - }, - { - "name": "admin", - "type": "LookupSource" - }, - { - "name": "freezer", - "type": "LookupSource" - } - ], - "docs": [ - " Change the Issuer, Admin and Freezer of an asset.", - "", - " Origin must be Signed and the sender should be the Owner of the asset `id`.", - "", - " - `id`: The identifier of the asset to be frozen.", - " - `issuer`: The new Issuer of this asset.", - " - `admin`: The new Admin of this asset.", - " - `freezer`: The new Freezer of this asset.", - "", - " Emits `TeamChanged`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "set_metadata", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "name", - "type": "Bytes" - }, - { - "name": "symbol", - "type": "Bytes" - }, - { - "name": "decimals", - "type": "u8" - } - ], - "docs": [ - " Set the metadata for an asset.", - "", - " Origin must be Signed and the sender should be the Owner of the asset `id`.", - "", - " Funds of sender are reserved according to the formula:", - " `MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", - " account any already reserved funds.", - "", - " - `id`: The identifier of the asset to update.", - " - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", - " - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", - " - `decimals`: The number of decimals this asset uses to represent one unit.", - "", - " Emits `MetadataSet`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "clear_metadata", - "args": [ - { - "name": "id", - "type": "Compact" - } - ], - "docs": [ - " Clear the metadata for an asset.", - "", - " Origin must be Signed and the sender should be the Owner of the asset `id`.", - "", - " Any deposit is freed for the asset owner.", - "", - " - `id`: The identifier of the asset to clear.", - "", - " Emits `MetadataCleared`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "force_set_metadata", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "name", - "type": "Bytes" - }, - { - "name": "symbol", - "type": "Bytes" - }, - { - "name": "decimals", - "type": "u8" - }, - { - "name": "is_frozen", - "type": "bool" - } - ], - "docs": [ - " Force the metadata for an asset to some value.", - "", - " Origin must be ForceOrigin.", - "", - " Any deposit is left alone.", - "", - " - `id`: The identifier of the asset to update.", - " - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", - " - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", - " - `decimals`: The number of decimals this asset uses to represent one unit.", - "", - " Emits `MetadataSet`.", - "", - " Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." - ] - }, - { - "name": "force_clear_metadata", - "args": [ - { - "name": "id", - "type": "Compact" - } - ], - "docs": [ - " Clear the metadata for an asset.", - "", - " Origin must be ForceOrigin.", - "", - " Any deposit is returned.", - "", - " - `id`: The identifier of the asset to clear.", - "", - " Emits `MetadataCleared`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "force_asset_status", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "owner", - "type": "LookupSource" - }, - { - "name": "issuer", - "type": "LookupSource" - }, - { - "name": "admin", - "type": "LookupSource" - }, - { - "name": "freezer", - "type": "LookupSource" - }, - { - "name": "min_balance", - "type": "Compact" - }, - { - "name": "is_sufficient", - "type": "bool" - }, - { - "name": "is_frozen", - "type": "bool" - } - ], - "docs": [ - " Alter the attributes of a given asset.", - "", - " Origin must be `ForceOrigin`.", - "", - " - `id`: The identifier of the asset.", - " - `owner`: The new Owner of this asset.", - " - `issuer`: The new Issuer of this asset.", - " - `admin`: The new Admin of this asset.", - " - `freezer`: The new Freezer of this asset.", - " - `min_balance`: The minimum balance of this new asset that any single account must", - " have. If an account's balance is reduced below this, then it collapses to zero.", - " - `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", - " value to account for the state bloat associated with its balance storage. If set to", - " `true`, then non-zero balances may be stored without a `consumer` reference (and thus", - " an ED in the Balances pallet or whatever else is used to control user-account state", - " growth).", - " - `is_frozen`: Whether this asset class is frozen except for permissioned/admin", - " instructions.", - "", - " Emits `AssetStatusChanged` with the identity of the asset.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "approve_transfer", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "delegate", - "type": "LookupSource" - }, - { - "name": "amount", - "type": "Compact" - } - ], - "docs": [ - " Approve an amount of asset for transfer by a delegated third-party account.", - "", - " Origin must be Signed.", - "", - " Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", - " for the purpose of holding the approval. If some non-zero amount of assets is already", - " approved from signing account to `delegate`, then it is topped up or unreserved to", - " meet the right value.", - "", - " NOTE: The signing account does not need to own `amount` of assets at the point of", - " making this call.", - "", - " - `id`: The identifier of the asset.", - " - `delegate`: The account to delegate permission to transfer asset.", - " - `amount`: The amount of asset that may be transferred by `delegate`. If there is", - " already an approval in place, then this acts additively.", - "", - " Emits `ApprovedTransfer` on success.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "cancel_approval", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "delegate", - "type": "LookupSource" - } - ], - "docs": [ - " Cancel all of some asset approved for delegated transfer by a third-party account.", - "", - " Origin must be Signed and there must be an approval in place between signer and", - " `delegate`.", - "", - " Unreserves any deposit previously reserved by `approve_transfer` for the approval.", - "", - " - `id`: The identifier of the asset.", - " - `delegate`: The account delegated permission to transfer asset.", - "", - " Emits `ApprovalCancelled` on success.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "force_cancel_approval", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "owner", - "type": "LookupSource" - }, - { - "name": "delegate", - "type": "LookupSource" - } - ], - "docs": [ - " Cancel all of some asset approved for delegated transfer by a third-party account.", - "", - " Origin must be either ForceOrigin or Signed origin with the signer being the Admin", - " account of the asset `id`.", - "", - " Unreserves any deposit previously reserved by `approve_transfer` for the approval.", - "", - " - `id`: The identifier of the asset.", - " - `delegate`: The account delegated permission to transfer asset.", - "", - " Emits `ApprovalCancelled` on success.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "transfer_approved", - "args": [ - { - "name": "id", - "type": "Compact" - }, - { - "name": "owner", - "type": "LookupSource" - }, - { - "name": "destination", - "type": "LookupSource" - }, - { - "name": "amount", - "type": "Compact" - } - ], - "docs": [ - " Transfer some asset balance from a previously delegated account to some third-party", - " account.", - "", - " Origin must be Signed and there must be an approval in place by the `owner` to the", - " signer.", - "", - " If the entire amount approved for transfer is transferred, then any deposit previously", - " reserved by `approve_transfer` is unreserved.", - "", - " - `id`: The identifier of the asset.", - " - `owner`: The account which previously approved for a transfer of at least `amount` and", - " from which the asset balance will be withdrawn.", - " - `destination`: The account to which the asset balance of `amount` will be transferred.", - " - `amount`: The amount of assets to transfer.", - "", - " Emits `TransferredApproved` on success.", - "", - " Weight: `O(1)`" - ] - } - ], - "events": [ - { - "name": "Created", - "args": [ - "AssetId", - "AccountId", - "AccountId" - ], - "docs": [ - " Some asset class was created. \\[asset_id, creator, owner\\]" - ] - }, - { - "name": "Issued", - "args": [ - "AssetId", - "AccountId", - "TAssetBalance" - ], - "docs": [ - " Some assets were issued. \\[asset_id, owner, total_supply\\]" - ] - }, - { - "name": "Transferred", - "args": [ - "AssetId", - "AccountId", - "AccountId", - "TAssetBalance" - ], - "docs": [ - " Some assets were transferred. \\[asset_id, from, to, amount\\]" - ] - }, - { - "name": "Burned", - "args": [ - "AssetId", - "AccountId", - "TAssetBalance" - ], - "docs": [ - " Some assets were destroyed. \\[asset_id, owner, balance\\]" - ] - }, - { - "name": "TeamChanged", - "args": [ - "AssetId", - "AccountId", - "AccountId", - "AccountId" - ], - "docs": [ - " The management team changed \\[asset_id, issuer, admin, freezer\\]" - ] - }, - { - "name": "OwnerChanged", - "args": [ - "AssetId", - "AccountId" - ], - "docs": [ - " The owner changed \\[asset_id, owner\\]" - ] - }, - { - "name": "Frozen", - "args": [ - "AssetId", - "AccountId" - ], - "docs": [ - " Some account `who` was frozen. \\[asset_id, who\\]" - ] - }, - { - "name": "Thawed", - "args": [ - "AssetId", - "AccountId" - ], - "docs": [ - " Some account `who` was thawed. \\[asset_id, who\\]" - ] - }, - { - "name": "AssetFrozen", - "args": [ - "AssetId" - ], - "docs": [ - " Some asset `asset_id` was frozen. \\[asset_id\\]" - ] - }, - { - "name": "AssetThawed", - "args": [ - "AssetId" - ], - "docs": [ - " Some asset `asset_id` was thawed. \\[asset_id\\]" - ] - }, - { - "name": "Destroyed", - "args": [ - "AssetId" - ], - "docs": [ - " An asset class was destroyed." - ] - }, - { - "name": "ForceCreated", - "args": [ - "AssetId", - "AccountId" - ], - "docs": [ - " Some asset class was force-created. \\[asset_id, owner\\]" - ] - }, - { - "name": "MetadataSet", - "args": [ - "AssetId", - "Bytes", - "Bytes", - "u8", - "bool" - ], - "docs": [ - " New metadata has been set for an asset. \\[asset_id, name, symbol, decimals, is_frozen\\]" - ] - }, - { - "name": "MetadataCleared", - "args": [ - "AssetId" - ], - "docs": [ - " Metadata has been cleared for an asset. \\[asset_id\\]" - ] - }, - { - "name": "ApprovedTransfer", - "args": [ - "AssetId", - "AccountId", - "AccountId", - "TAssetBalance" - ], - "docs": [ - " (Additional) funds have been approved for transfer to a destination account.", - " \\[asset_id, source, delegate, amount\\]" - ] - }, - { - "name": "ApprovalCancelled", - "args": [ - "AssetId", - "AccountId", - "AccountId" - ], - "docs": [ - " An approval for account `delegate` was cancelled by `owner`.", - " \\[id, owner, delegate\\]" - ] - }, - { - "name": "TransferredApproved", - "args": [ - "AssetId", - "AccountId", - "AccountId", - "AccountId", - "TAssetBalance" - ], - "docs": [ - " An `amount` was transferred in its entirety from `owner` to `destination` by", - " the approved `delegate`.", - " \\[id, owner, delegate, destination\\]" - ] - }, - { - "name": "AssetStatusChanged", - "args": [ - "AssetId" - ], - "docs": [ - " An asset has had its attributes changed by the `Force` origin.", - " \\[id\\]" - ] - } - ], - "constants": [], - "errors": [ - { - "name": "BalanceLow", - "docs": [ - " Account balance must be greater than or equal to the transfer amount." - ] - }, - { - "name": "BalanceZero", - "docs": [ - " Balance should be non-zero." - ] - }, - { - "name": "NoPermission", - "docs": [ - " The signing account has no permission to do the operation." - ] - }, - { - "name": "Unknown", - "docs": [ - " The given asset ID is unknown." - ] - }, - { - "name": "Frozen", - "docs": [ - " The origin account is frozen." - ] - }, - { - "name": "InUse", - "docs": [ - " The asset ID is already taken." - ] - }, - { - "name": "BadWitness", - "docs": [ - " Invalid witness data given." - ] - }, - { - "name": "MinBalanceZero", - "docs": [ - " Minimum balance should be non-zero." - ] - }, - { - "name": "NoProvider", - "docs": [ - " No provider reference exists to allow a non-zero balance of a non-self-sufficient asset." - ] - }, - { - "name": "BadMetadata", - "docs": [ - " Invalid metadata given." - ] - }, - { - "name": "Unapproved", - "docs": [ - " No approval exists that would allow the transfer." - ] - }, - { - "name": "WouldDie", - "docs": [ - " The source account would not survive the transfer and it needs to stay alive." - ] - } - ], - "index": 34 - }, - { - "name": "Mmr", - "storage": { - "prefix": "MerkleMountainRange", - "items": [ - { - "name": "RootHash", - "modifier": "Default", - "type": { - "plain": "Hash" - }, - "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Latest MMR Root hash." - ] - }, - { - "name": "NumberOfLeaves", - "modifier": "Default", - "type": { - "plain": "u64" - }, - "fallback": "0x0000000000000000", - "docs": [ - " Current size of the MMR (number of leaves)." - ] - }, - { - "name": "Nodes", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Identity", - "key": "u64", - "value": "Hash", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Hashes of the nodes in the MMR.", - "", - " Note this collection only contains MMR peaks, the inner nodes (and leaves)", - " are pruned and only stored in the Offchain DB." - ] - } - ] - }, - "calls": null, - "events": null, - "constants": [], - "errors": [], - "index": 35 - }, - { - "name": "Lottery", - "storage": { - "prefix": "Lottery", - "items": [ - { - "name": "LotteryIndex", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [] - }, - { - "name": "Lottery", - "modifier": "Optional", - "type": { - "plain": "LotteryConfig" - }, - "fallback": "0x00", - "docs": [ - " The configuration for the current lottery." - ] - }, - { - "name": "Participants", - "modifier": "Default", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "AccountId", - "value": "(u32,Vec)", - "linked": false - } - }, - "fallback": "0x0000000000", - "docs": [ - " Users who have purchased a ticket. (Lottery Index, Tickets Purchased)" - ] - }, - { - "name": "TicketsCount", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " Total number of tickets sold." - ] - }, - { - "name": "Tickets", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Twox64Concat", - "key": "u32", - "value": "AccountId", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Each ticket's owner.", - "", - " May have residual storage from previous lotteries. Use `TicketsCount` to see which ones", - " are actually valid ticket mappings." - ] - }, - { - "name": "CallIndices", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [ - " The calls stored in this pallet to be used in an active lottery if configured", - " by `Config::ValidateCall`." - ] - } - ] - }, - "calls": [ - { - "name": "buy_ticket", - "args": [ - { - "name": "call", - "type": "Call" - } - ], - "docs": [ - " Buy a ticket to enter the lottery.", - "", - " This extrinsic acts as a passthrough function for `call`. In all", - " situations where `call` alone would succeed, this extrinsic should", - " succeed.", - "", - " If `call` is successful, then we will attempt to purchase a ticket,", - " which may fail silently. To detect success of a ticket purchase, you", - " should listen for the `TicketBought` event.", - "", - " This extrinsic must be called by a signed origin." - ] - }, - { - "name": "set_calls", - "args": [ - { - "name": "calls", - "type": "Vec" - } - ], - "docs": [ - " Set calls in storage which can be used to purchase a lottery ticket.", - "", - " This function only matters if you use the `ValidateCall` implementation", - " provided by this pallet, which uses storage to determine the valid calls.", - "", - " This extrinsic must be called by the Manager origin." - ] - }, - { - "name": "start_lottery", - "args": [ - { - "name": "price", - "type": "BalanceOf" - }, - { - "name": "length", - "type": "BlockNumber" - }, - { - "name": "delay", - "type": "BlockNumber" - }, - { - "name": "repeat", - "type": "bool" - } - ], - "docs": [ - " Start a lottery using the provided configuration.", - "", - " This extrinsic must be called by the `ManagerOrigin`.", - "", - " Parameters:", - "", - " * `price`: The cost of a single ticket.", - " * `length`: How long the lottery should run for starting at the current block.", - " * `delay`: How long after the lottery end we should wait before picking a winner.", - " * `repeat`: If the lottery should repeat when completed." - ] - }, - { - "name": "stop_repeat", - "args": [], - "docs": [ - " If a lottery is repeating, you can use this to stop the repeat.", - " The lottery will continue to run to completion.", - "", - " This extrinsic must be called by the `ManagerOrigin`." - ] - } - ], - "events": [ - { - "name": "LotteryStarted", - "args": [], - "docs": [ - " A lottery has been started!" - ] - }, - { - "name": "CallsUpdated", - "args": [], - "docs": [ - " A new set of calls have been set!" - ] - }, - { - "name": "Winner", - "args": [ - "AccountId", - "Balance" - ], - "docs": [ - " A winner has been chosen!" - ] - }, - { - "name": "TicketBought", - "args": [ - "AccountId", - "CallIndex" - ], - "docs": [ - " A ticket has been bought!" - ] - } - ], - "constants": [ - { - "name": "PalletId", - "type": "PalletId", - "value": "0x70792f6c6f74746f", - "docs": [ - " The Lottery's pallet id" - ] - }, - { - "name": "MaxCalls", - "type": "u32", - "value": "0x0a000000", - "docs": [ - " The max number of calls available in a single lottery." - ] - } - ], - "errors": [ - { - "name": "NotConfigured", - "docs": [ - " A lottery has not been configured." - ] - }, - { - "name": "InProgress", - "docs": [ - " A lottery is already in progress." - ] - }, - { - "name": "AlreadyEnded", - "docs": [ - " A lottery has already ended." - ] - }, - { - "name": "InvalidCall", - "docs": [ - " The call is not valid for an open lottery." - ] - }, - { - "name": "AlreadyParticipating", - "docs": [ - " You are already participating in the lottery with this call." - ] - }, - { - "name": "TooManyCalls", - "docs": [ - " Too many calls for a single lottery." - ] - }, - { - "name": "EncodingFailed", - "docs": [ - " Failed to encode calls" - ] - } - ], - "index": 36 - }, - { - "name": "Gilt", - "storage": { - "prefix": "Gilt", - "items": [ - { - "name": "QueueTotals", - "modifier": "Default", - "type": { - "plain": "Vec<(u32,BalanceOf)>" - }, - "fallback": "0x00", - "docs": [ - " The totals of items and balances within each queue. Saves a lot of storage reads in the", - " case of sparsely packed queues.", - "", - " The vector is indexed by duration in `Period`s, offset by one, so information on the queue", - " whose duration is one `Period` would be storage `0`." - ] - }, - { - "name": "Queues", - "modifier": "Default", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "u32", - "value": "Vec", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The queues of bids ready to become gilts. Indexed by duration (in `Period`s)." - ] - }, - { - "name": "ActiveTotal", - "modifier": "Default", - "type": { - "plain": "ActiveGiltsTotal" - }, - "fallback": "0x000000000000000000000000000000000000000000000000000000000000000000000000", - "docs": [ - " Information relating to the gilts currently active." - ] - }, - { - "name": "Active", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "ActiveIndex", - "value": "ActiveGilt", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " The currently active gilts, indexed according to the order of creation." - ] - } - ] - }, - "calls": [ - { - "name": "place_bid", - "args": [ - { - "name": "amount", - "type": "Compact" - }, - { - "name": "duration", - "type": "u32" - } - ], - "docs": [ - " Place a bid for a gilt to be issued.", - "", - " Origin must be Signed, and account must have at least `amount` in free balance.", - "", - " - `amount`: The amount of the bid; these funds will be reserved. If the bid is", - " successfully elevated into an issued gilt, then these funds will continue to be", - " reserved until the gilt expires. Must be at least `MinFreeze`.", - " - `duration`: The number of periods for which the funds will be locked if the gilt is", - " issued. It will expire only after this period has elapsed after the point of issuance.", - " Must be greater than 1 and no more than `QueueCount`.", - "", - " Complexities:", - " - `Queues[duration].len()` (just take max)." - ] - }, - { - "name": "retract_bid", - "args": [ - { - "name": "amount", - "type": "Compact" - }, - { - "name": "duration", - "type": "u32" - } - ], - "docs": [ - " Retract a previously placed bid.", - "", - " Origin must be Signed, and the account should have previously issued a still-active bid", - " of `amount` for `duration`.", - "", - " - `amount`: The amount of the previous bid.", - " - `duration`: The duration of the previous bid." - ] - }, - { - "name": "set_target", - "args": [ - { - "name": "target", - "type": "Compact" - } - ], - "docs": [ - " Set target proportion of gilt-funds.", - "", - " Origin must be `AdminOrigin`.", - "", - " - `target`: The target proportion of effective issued funds that should be under gilts", - " at any one time." - ] - }, - { - "name": "thaw", - "args": [ - { - "name": "index", - "type": "Compact" - } - ], - "docs": [ - " Remove an active but expired gilt. Reserved funds under gilt are freed and balance is", - " adjusted to ensure that the funds grow or shrink to maintain the equivalent proportion", - " of effective total issued funds.", - "", - " Origin must be Signed and the account must be the owner of the gilt of the given index.", - "", - " - `index`: The index of the gilt to be thawed." - ] - } - ], - "events": [ - { - "name": "BidPlaced", - "args": [ - "AccountId", - "BalanceOf", - "u32" - ], - "docs": [ - " A bid was successfully placed.", - " \\[ who, amount, duration \\]" - ] - }, - { - "name": "BidRetracted", - "args": [ - "AccountId", - "BalanceOf", - "u32" - ], - "docs": [ - " A bid was successfully removed (before being accepted as a gilt).", - " \\[ who, amount, duration \\]" - ] - }, - { - "name": "GiltIssued", - "args": [ - "ActiveIndex", - "BlockNumber", - "AccountId", - "BalanceOf" - ], - "docs": [ - " A bid was accepted as a gilt. The balance may not be released until expiry.", - " \\[ index, expiry, who, amount \\]" - ] - }, - { - "name": "GiltThawed", - "args": [ - "ActiveIndex", - "AccountId", - "BalanceOf", - "BalanceOf" - ], - "docs": [ - " An expired gilt has been thawed.", - " \\[ index, who, original_amount, additional_amount \\]" - ] - } - ], - "constants": [ - { - "name": "QueueCount", - "type": "u32", - "value": "0x2c010000", - "docs": [ - " Number of duration queues in total. This sets the maximum duration supported, which is", - " this value multiplied by `Period`." - ] - }, - { - "name": "MaxQueueLen", - "type": "u32", - "value": "0xe8030000", - "docs": [ - " Maximum number of items that may be in each duration queue." - ] - }, - { - "name": "FifoQueueLen", - "type": "u32", - "value": "0xf4010000", - "docs": [ - " Portion of the queue which is free from ordering and just a FIFO.", - "", - " Must be no greater than `MaxQueueLen`." - ] - }, - { - "name": "Period", - "type": "BlockNumber", - "value": "0x002f0d00", - "docs": [ - " The base period for the duration queues. This is the common multiple across all", - " supported freezing durations that can be bid upon." - ] - }, - { - "name": "MinFreeze", - "type": "BalanceOf", - "value": "0x0000c16ff28623000000000000000000", - "docs": [ - " The minimum amount of funds that may be offered to freeze for a gilt. Note that this", - " does not actually limit the amount which may be frozen in a gilt since gilts may be", - " split up in order to satisfy the desired amount of funds under gilts.", - "", - " It should be at least big enough to ensure that there is no possible storage spam attack", - " or queue-filling attack." - ] - }, - { - "name": "IntakePeriod", - "type": "BlockNumber", - "value": "0x0a000000", - "docs": [ - " The number of blocks between consecutive attempts to issue more gilts in an effort to", - " get to the target amount to be frozen.", - "", - " A larger value results in fewer storage hits each block, but a slower period to get to", - " the target." - ] - }, - { - "name": "MaxIntakeBids", - "type": "u32", - "value": "0x0a000000", - "docs": [ - " The maximum amount of bids that can be turned into issued gilts each block. A larger", - " value here means less of the block available for transactions should there be a glut of", - " bids to make into gilts to reach the target." - ] - } - ], - "errors": [ - { - "name": "DurationTooSmall", - "docs": [ - " The duration of the bid is less than one." - ] - }, - { - "name": "DurationTooBig", - "docs": [ - " The duration is the bid is greater than the number of queues." - ] - }, - { - "name": "AmountTooSmall", - "docs": [ - " The amount of the bid is less than the minimum allowed." - ] - }, - { - "name": "BidTooLow", - "docs": [ - " The queue for the bid's duration is full and the amount bid is too low to get in through", - " replacing an existing bid." - ] - }, - { - "name": "Unknown", - "docs": [ - " Gilt index is unknown." - ] - }, - { - "name": "NotOwner", - "docs": [ - " Not the owner of the gilt." - ] - }, - { - "name": "NotExpired", - "docs": [ - " Gilt not yet at expiry date." - ] - }, - { - "name": "NotFound", - "docs": [ - " The given bid for retraction is not found." - ] - } - ], - "index": 37 - }, - { - "name": "Uniques", - "storage": { - "prefix": "Uniques", - "items": [ - { - "name": "Class", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "ClassId", - "value": "ClassDetails", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Details of an asset class." - ] - }, - { - "name": "Account", - "modifier": "Optional", - "type": { - "nMap": { - "keyVec": [ - "AccountId", - "ClassId", - "InstanceId" - ], - "hashers": [ - "Blake2_128Concat", - "Blake2_128Concat", - "Blake2_128Concat" - ], - "value": "()" - } - }, - "fallback": "0x00", - "docs": [ - " The assets held by any given account; set out this way so that assets owned by a single", - " account can be enumerated." - ] - }, - { - "name": "Asset", - "modifier": "Optional", - "type": { - "doubleMap": { - "hasher": "Blake2_128Concat", - "key1": "ClassId", - "key2": "InstanceId", - "value": "InstanceDetails", - "key2Hasher": "Blake2_128Concat" - } - }, - "fallback": "0x00", - "docs": [ - " The assets in existence and their ownership details." - ] - }, - { - "name": "ClassMetadataOf", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "ClassId", - "value": "ClassMetadata", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Metadata of an asset class." - ] - }, - { - "name": "InstanceMetadataOf", - "modifier": "Optional", - "type": { - "doubleMap": { - "hasher": "Blake2_128Concat", - "key1": "ClassId", - "key2": "InstanceId", - "value": "InstanceMetadata", - "key2Hasher": "Blake2_128Concat" - } - }, - "fallback": "0x00", - "docs": [ - " Metadata of an asset instance." - ] - }, - { - "name": "Attribute", - "modifier": "Optional", - "type": { - "nMap": { - "keyVec": [ - "ClassId", - "Option", - "Bytes" - ], - "hashers": [ - "Blake2_128Concat", - "Blake2_128Concat", - "Blake2_128Concat" - ], - "value": "(Bytes,DepositBalanceOf)" - } - }, - "fallback": "0x00", - "docs": [ - " Metadata of an asset class." - ] - } - ] - }, - "calls": [ - { - "name": "create", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "admin", - "type": "LookupSource" - } - ], - "docs": [ - " Issue a new class of non-fungible assets from a public origin.", - "", - " This new asset class has no assets initially and its owner is the origin.", - "", - " The origin must be Signed and the sender must have sufficient funds free.", - "", - " `AssetDeposit` funds of sender are reserved.", - "", - " Parameters:", - " - `class`: The identifier of the new asset class. This must not be currently in use.", - " - `admin`: The admin of this class of assets. The admin is the initial address of each", - " member of the asset class's admin team.", - "", - " Emits `Created` event when successful.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "force_create", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "owner", - "type": "LookupSource" - }, - { - "name": "free_holding", - "type": "bool" - } - ], - "docs": [ - " Issue a new class of non-fungible assets from a privileged origin.", - "", - " This new asset class has no assets initially.", - "", - " The origin must conform to `ForceOrigin`.", - "", - " Unlike `create`, no funds are reserved.", - "", - " - `class`: The identifier of the new asset. This must not be currently in use.", - " - `owner`: The owner of this class of assets. The owner has full superuser permissions", - " over this asset, but may later change and configure the permissions using", - " `transfer_ownership` and `set_team`.", - "", - " Emits `ForceCreated` event when successful.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "destroy", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "witness", - "type": "DestroyWitness" - } - ], - "docs": [ - " Destroy a class of fungible assets.", - "", - " The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", - " owner of the asset `class`.", - "", - " - `class`: The identifier of the asset class to be destroyed.", - " - `witness`: Information on the instances minted in the asset class. This must be", - " correct.", - "", - " Emits `Destroyed` event when successful.", - "", - " Weight: `O(n + m)` where:", - " - `n = witness.instances`", - " - `m = witness.instance_metadatas`", - " - `a = witness.attributes`" - ] - }, - { - "name": "mint", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instance", - "type": "Compact" - }, - { - "name": "owner", - "type": "LookupSource" - } - ], - "docs": [ - " Mint an asset instance of a particular class.", - "", - " The origin must be Signed and the sender must be the Issuer of the asset `class`.", - "", - " - `class`: The class of the asset to be minted.", - " - `instance`: The instance value of the asset to be minted.", - " - `beneficiary`: The initial owner of the minted asset.", - "", - " Emits `Issued` event when successful.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "burn", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instance", - "type": "Compact" - }, - { - "name": "check_owner", - "type": "Option" - } - ], - "docs": [ - " Destroy a single asset instance.", - "", - " Origin must be Signed and the sender should be the Admin of the asset `class`.", - "", - " - `class`: The class of the asset to be burned.", - " - `instance`: The instance of the asset to be burned.", - " - `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", - " asset is owned by this value.", - "", - " Emits `Burned` with the actual amount burned.", - "", - " Weight: `O(1)`", - " Modes: `check_owner.is_some()`." - ] - }, - { - "name": "transfer", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instance", - "type": "Compact" - }, - { - "name": "dest", - "type": "LookupSource" - } - ], - "docs": [ - " Move an asset from the sender account to another.", - "", - " Origin must be Signed and the signing account must be either:", - " - the Admin of the asset `class`;", - " - the Owner of the asset `instance`;", - " - the approved delegate for the asset `instance` (in this case, the approval is reset).", - "", - " Arguments:", - " - `class`: The class of the asset to be transferred.", - " - `instance`: The instance of the asset to be transferred.", - " - `dest`: The account to receive ownership of the asset.", - "", - " Emits `Transferred`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "redeposit", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instances", - "type": "Vec" - } - ], - "docs": [ - " Reevaluate the deposits on some assets.", - "", - " Origin must be Signed and the sender should be the Owner of the asset `class`.", - "", - " - `class`: The class of the asset to be frozen.", - " - `instances`: The instances of the asset class whose deposits will be reevaluated.", - "", - " NOTE: This exists as a best-effort function. Any asset instances which are unknown or", - " in the case that the owner account does not have reservable funds to pay for a", - " deposit increase are ignored. Generally the owner isn't going to call this on instances", - " whose existing deposit is less than the refreshed deposit as it would only cost them,", - " so it's of little consequence.", - "", - " It will still return an error in the case that the class is unknown of the signer is", - " not permitted to call it.", - "", - " Weight: `O(instances.len())`" - ] - }, - { - "name": "freeze", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instance", - "type": "Compact" - } - ], - "docs": [ - " Disallow further unprivileged transfer of an asset instance.", - "", - " Origin must be Signed and the sender should be the Freezer of the asset `class`.", - "", - " - `class`: The class of the asset to be frozen.", - " - `instance`: The instance of the asset to be frozen.", - "", - " Emits `Frozen`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "thaw", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instance", - "type": "Compact" - } - ], - "docs": [ - " Re-allow unprivileged transfer of an asset instance.", - "", - " Origin must be Signed and the sender should be the Freezer of the asset `class`.", - "", - " - `class`: The class of the asset to be thawed.", - " - `instance`: The instance of the asset to be thawed.", - "", - " Emits `Thawed`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "freeze_class", - "args": [ - { - "name": "class", - "type": "Compact" - } - ], - "docs": [ - " Disallow further unprivileged transfers for a whole asset class.", - "", - " Origin must be Signed and the sender should be the Freezer of the asset `class`.", - "", - " - `class`: The asset class to be frozen.", - "", - " Emits `ClassFrozen`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "thaw_class", - "args": [ - { - "name": "class", - "type": "Compact" - } - ], - "docs": [ - " Re-allow unprivileged transfers for a whole asset class.", - "", - " Origin must be Signed and the sender should be the Admin of the asset `class`.", - "", - " - `class`: The class to be thawed.", - "", - " Emits `ClassThawed`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "transfer_ownership", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "owner", - "type": "LookupSource" - } - ], - "docs": [ - " Change the Owner of an asset class.", - "", - " Origin must be Signed and the sender should be the Owner of the asset `class`.", - "", - " - `class`: The asset class whose owner should be changed.", - " - `owner`: The new Owner of this asset class.", - "", - " Emits `OwnerChanged`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "set_team", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "issuer", - "type": "LookupSource" - }, - { - "name": "admin", - "type": "LookupSource" - }, - { - "name": "freezer", - "type": "LookupSource" - } - ], - "docs": [ - " Change the Issuer, Admin and Freezer of an asset class.", - "", - " Origin must be Signed and the sender should be the Owner of the asset `class`.", - "", - " - `class`: The asset class whose team should be changed.", - " - `issuer`: The new Issuer of this asset class.", - " - `admin`: The new Admin of this asset class.", - " - `freezer`: The new Freezer of this asset class.", - "", - " Emits `TeamChanged`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "approve_transfer", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instance", - "type": "Compact" - }, - { - "name": "delegate", - "type": "LookupSource" - } - ], - "docs": [ - " Approve an instance to be transferred by a delegated third-party account.", - "", - " Origin must be Signed and must be the owner of the asset `instance`.", - "", - " - `class`: The class of the asset to be approved for delegated transfer.", - " - `instance`: The instance of the asset to be approved for delegated transfer.", - " - `delegate`: The account to delegate permission to transfer the asset.", - "", - " Emits `ApprovedTransfer` on success.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "cancel_approval", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instance", - "type": "Compact" - }, - { - "name": "maybe_check_delegate", - "type": "Option" - } - ], - "docs": [ - " Cancel the prior approval for the transfer of an asset by a delegate.", - "", - " Origin must be either:", - " - the `Force` origin;", - " - `Signed` with the signer being the Admin of the asset `class`;", - " - `Signed` with the signer being the Owner of the asset `instance`;", - "", - " Arguments:", - " - `class`: The class of the asset of whose approval will be cancelled.", - " - `instance`: The instance of the asset of whose approval will be cancelled.", - " - `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", - " which permission of transfer is delegated.", - "", - " Emits `ApprovalCancelled` on success.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "force_asset_status", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "owner", - "type": "LookupSource" - }, - { - "name": "issuer", - "type": "LookupSource" - }, - { - "name": "admin", - "type": "LookupSource" - }, - { - "name": "freezer", - "type": "LookupSource" - }, - { - "name": "free_holding", - "type": "bool" - }, - { - "name": "is_frozen", - "type": "bool" - } - ], - "docs": [ - " Alter the attributes of a given asset.", - "", - " Origin must be `ForceOrigin`.", - "", - " - `class`: The identifier of the asset.", - " - `owner`: The new Owner of this asset.", - " - `issuer`: The new Issuer of this asset.", - " - `admin`: The new Admin of this asset.", - " - `freezer`: The new Freezer of this asset.", - " - `free_holding`: Whether a deposit is taken for holding an instance of this asset", - " class.", - " - `is_frozen`: Whether this asset class is frozen except for permissioned/admin", - " instructions.", - "", - " Emits `AssetStatusChanged` with the identity of the asset.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "set_attribute", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "maybe_instance", - "type": "Option" - }, - { - "name": "key", - "type": "Bytes" - }, - { - "name": "value", - "type": "Bytes" - } - ], - "docs": [ - " Set an attribute for an asset class or instance.", - "", - " Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", - " asset `class`.", - "", - " If the origin is Signed, then funds of signer are reserved according to the formula:", - " `MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", - " account any already reserved funds.", - "", - " - `class`: The identifier of the asset class whose instance's metadata to set.", - " - `maybe_instance`: The identifier of the asset instance whose metadata to set.", - " - `key`: The key of the attribute.", - " - `value`: The value to which to set the attribute.", - "", - " Emits `AttributeSet`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "clear_attribute", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "maybe_instance", - "type": "Option" - }, - { - "name": "key", - "type": "Bytes" - } - ], - "docs": [ - " Set an attribute for an asset class or instance.", - "", - " Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", - " asset `class`.", - "", - " If the origin is Signed, then funds of signer are reserved according to the formula:", - " `MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", - " account any already reserved funds.", - "", - " - `class`: The identifier of the asset class whose instance's metadata to set.", - " - `instance`: The identifier of the asset instance whose metadata to set.", - " - `key`: The key of the attribute.", - " - `value`: The value to which to set the attribute.", - "", - " Emits `AttributeSet`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "set_metadata", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instance", - "type": "Compact" - }, - { - "name": "data", - "type": "Bytes" - }, - { - "name": "is_frozen", - "type": "bool" - } - ], - "docs": [ - " Set the metadata for an asset instance.", - "", - " Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", - " asset `class`.", - "", - " If the origin is Signed, then funds of signer are reserved according to the formula:", - " `MetadataDepositBase + DepositPerByte * data.len` taking into", - " account any already reserved funds.", - "", - " - `class`: The identifier of the asset class whose instance's metadata to set.", - " - `instance`: The identifier of the asset instance whose metadata to set.", - " - `data`: The general information of this asset. Limited in length by `StringLimit`.", - " - `is_frozen`: Whether the metadata should be frozen against further changes.", - "", - " Emits `MetadataSet`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "clear_metadata", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "instance", - "type": "Compact" - } - ], - "docs": [ - " Clear the metadata for an asset instance.", - "", - " Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", - " asset `instance`.", - "", - " Any deposit is freed for the asset class owner.", - "", - " - `class`: The identifier of the asset class whose instance's metadata to clear.", - " - `instance`: The identifier of the asset instance whose metadata to clear.", - "", - " Emits `MetadataCleared`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "set_class_metadata", - "args": [ - { - "name": "class", - "type": "Compact" - }, - { - "name": "data", - "type": "Bytes" - }, - { - "name": "is_frozen", - "type": "bool" - } - ], - "docs": [ - " Set the metadata for an asset class.", - "", - " Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", - " the asset `class`.", - "", - " If the origin is `Signed`, then funds of signer are reserved according to the formula:", - " `MetadataDepositBase + DepositPerByte * data.len` taking into", - " account any already reserved funds.", - "", - " - `class`: The identifier of the asset whose metadata to update.", - " - `data`: The general information of this asset. Limited in length by `StringLimit`.", - " - `is_frozen`: Whether the metadata should be frozen against further changes.", - "", - " Emits `ClassMetadataSet`.", - "", - " Weight: `O(1)`" - ] - }, - { - "name": "clear_class_metadata", - "args": [ - { - "name": "class", - "type": "Compact" - } - ], - "docs": [ - " Clear the metadata for an asset class.", - "", - " Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", - " the asset `class`.", - "", - " Any deposit is freed for the asset class owner.", - "", - " - `class`: The identifier of the asset class whose metadata to clear.", - "", - " Emits `ClassMetadataCleared`.", - "", - " Weight: `O(1)`" - ] - } - ], - "events": [ - { - "name": "Created", - "args": [ - "ClassId", - "AccountId", - "AccountId" - ], - "docs": [ - " An asset class was created. \\[ class, creator, owner \\]" - ] - }, - { - "name": "ForceCreated", - "args": [ - "ClassId", - "AccountId" - ], - "docs": [ - " An asset class was force-created. \\[ class, owner \\]" - ] - }, - { - "name": "Destroyed", - "args": [ - "ClassId" - ], - "docs": [ - " An asset `class` was destroyed. \\[ class \\]" - ] - }, - { - "name": "Issued", - "args": [ - "ClassId", - "InstanceId", - "AccountId" - ], - "docs": [ - " An asset `instace` was issued. \\[ class, instance, owner \\]" - ] - }, - { - "name": "Transferred", - "args": [ - "ClassId", - "InstanceId", - "AccountId", - "AccountId" - ], - "docs": [ - " An asset `instace` was transferred. \\[ class, instance, from, to \\]" - ] - }, - { - "name": "Burned", - "args": [ - "ClassId", - "InstanceId", - "AccountId" - ], - "docs": [ - " An asset `instance` was destroyed. \\[ class, instance, owner \\]" - ] - }, - { - "name": "Frozen", - "args": [ - "ClassId", - "InstanceId" - ], - "docs": [ - " Some asset `instance` was frozen. \\[ class, instance \\]" - ] - }, - { - "name": "Thawed", - "args": [ - "ClassId", - "InstanceId" - ], - "docs": [ - " Some asset `instance` was thawed. \\[ class, instance \\]" - ] - }, - { - "name": "ClassFrozen", - "args": [ - "ClassId" - ], - "docs": [ - " Some asset `class` was frozen. \\[ class \\]" - ] - }, - { - "name": "ClassThawed", - "args": [ - "ClassId" - ], - "docs": [ - " Some asset `class` was thawed. \\[ class \\]" - ] - }, - { - "name": "OwnerChanged", - "args": [ - "ClassId", - "AccountId" - ], - "docs": [ - " The owner changed \\[ class, new_owner \\]" - ] - }, - { - "name": "TeamChanged", - "args": [ - "ClassId", - "AccountId", - "AccountId", - "AccountId" - ], - "docs": [ - " The management team changed \\[ class, issuer, admin, freezer \\]" - ] - }, - { - "name": "ApprovedTransfer", - "args": [ - "ClassId", - "InstanceId", - "AccountId", - "AccountId" - ], - "docs": [ - " An `instance` of an asset `class` has been approved by the `owner` for transfer by a", - " `delegate`.", - " \\[ class, instance, owner, delegate \\]" - ] - }, - { - "name": "ApprovalCancelled", - "args": [ - "ClassId", - "InstanceId", - "AccountId", - "AccountId" - ], - "docs": [ - " An approval for a `delegate` account to transfer the `instance` of an asset `class` was", - " cancelled by its `owner`.", - " \\[ class, instance, owner, delegate \\]" - ] - }, - { - "name": "AssetStatusChanged", - "args": [ - "ClassId" - ], - "docs": [ - " An asset `class` has had its attributes changed by the `Force` origin.", - " \\[ class \\]" - ] - }, - { - "name": "ClassMetadataSet", - "args": [ - "ClassId", - "Bytes", - "bool" - ], - "docs": [ - " New metadata has been set for an asset class. \\[ class, data, is_frozen \\]" - ] - }, - { - "name": "ClassMetadataCleared", - "args": [ - "ClassId" - ], - "docs": [ - " Metadata has been cleared for an asset class. \\[ class \\]" - ] - }, - { - "name": "MetadataSet", - "args": [ - "ClassId", - "InstanceId", - "Bytes", - "bool" - ], - "docs": [ - " New metadata has been set for an asset instance.", - " \\[ class, instance, data, is_frozen \\]" - ] - }, - { - "name": "MetadataCleared", - "args": [ - "ClassId", - "InstanceId" - ], - "docs": [ - " Metadata has been cleared for an asset instance. \\[ class, instance \\]" - ] - }, - { - "name": "Redeposited", - "args": [ - "ClassId", - "Vec" - ], - "docs": [ - " Metadata has been cleared for an asset instance. \\[ class, successful_instances \\]" - ] - }, - { - "name": "AttributeSet", - "args": [ - "ClassId", - "Option", - "Bytes", - "Bytes" - ], - "docs": [ - " New attribute metadata has been set for an asset class or instance.", - " \\[ class, maybe_instance, key, value \\]" - ] - }, - { - "name": "AttributeCleared", - "args": [ - "ClassId", - "Option", - "Bytes" - ], - "docs": [ - " Attribute metadata has been cleared for an asset class or instance.", - " \\[ class, maybe_instance, key, maybe_value \\]" - ] - } - ], - "constants": [], - "errors": [ - { - "name": "NoPermission", - "docs": [ - " The signing account has no permission to do the operation." - ] - }, - { - "name": "Unknown", - "docs": [ - " The given asset ID is unknown." - ] - }, - { - "name": "AlreadyExists", - "docs": [ - " The asset instance ID has already been used for an asset." - ] - }, - { - "name": "WrongOwner", - "docs": [ - " The owner turned out to be different to what was expected." - ] - }, - { - "name": "BadWitness", - "docs": [ - " Invalid witness data given." - ] - }, - { - "name": "InUse", - "docs": [ - " The asset ID is already taken." - ] - }, - { - "name": "Frozen", - "docs": [ - " The asset instance or class is frozen." - ] - }, - { - "name": "WrongDelegate", - "docs": [ - " The delegate turned out to be different to what was expected." - ] - }, - { - "name": "NoDelegate", - "docs": [ - " There is no delegate approved." - ] - }, - { - "name": "Unapproved", - "docs": [ - " No approval exists that would allow the transfer." - ] - } - ], - "index": 38 - }, - { - "name": "TransactionStorage", - "storage": { - "prefix": "TransactionStorage", - "items": [ - { - "name": "Transactions", - "modifier": "Optional", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "BlockNumber", - "value": "Vec", - "linked": false - } - }, - "fallback": "0x00", - "docs": [ - " Collection of transaction metadata by block number." - ] - }, - { - "name": "ChunkCount", - "modifier": "Default", - "type": { - "map": { - "hasher": "Blake2_128Concat", - "key": "BlockNumber", - "value": "u32", - "linked": false - } - }, - "fallback": "0x00000000", - "docs": [ - " Count indexed chunks for each block." - ] - }, - { - "name": "ByteFee", - "modifier": "Optional", - "type": { - "plain": "BalanceOf" - }, - "fallback": "0x00", - "docs": [ - " Storage fee per byte." - ] - }, - { - "name": "EntryFee", - "modifier": "Optional", - "type": { - "plain": "BalanceOf" - }, - "fallback": "0x00", - "docs": [ - " Storage fee per transaction." - ] - }, - { - "name": "MaxTransactionSize", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " Maximum data set in a single transaction in bytes." - ] - }, - { - "name": "MaxBlockTransactions", - "modifier": "Default", - "type": { - "plain": "u32" - }, - "fallback": "0x00000000", - "docs": [ - " Maximum number of indexed transactions in the block." - ] - }, - { - "name": "StoragePeriod", - "modifier": "Default", - "type": { - "plain": "BlockNumber" - }, - "fallback": "0x00000000", - "docs": [ - " Storage period for data in blocks. Should match `sp_storage_proof::DEFAULT_STORAGE_PERIOD`", - " for block authoring." - ] - }, - { - "name": "BlockTransactions", - "modifier": "Default", - "type": { - "plain": "Vec" - }, - "fallback": "0x00", - "docs": [] - }, - { - "name": "ProofChecked", - "modifier": "Default", - "type": { - "plain": "bool" - }, - "fallback": "0x00", - "docs": [ - " Was the proof checked in this block?" - ] - } - ] - }, - "calls": [ - { - "name": "store", - "args": [ - { - "name": "data", - "type": "Bytes" - } - ], - "docs": [ - " Index and store data on chain. Minimum data size is 1 bytes, maximum is `MaxTransactionSize`.", - " Data will be removed after `STORAGE_PERIOD` blocks, unless `renew` is called.", - " # ", - " - n*log(n) of data size, as all data is pushed to an in-memory trie.", - " Additionally contains a DB write.", - " # " - ] - }, - { - "name": "renew", - "args": [ - { - "name": "block", - "type": "BlockNumber" - }, - { - "name": "index", - "type": "u32" - } - ], - "docs": [ - " Renew previously stored data. Parameters are the block number that contains", - " previous `store` or `renew` call and transaction index within that block.", - " Transaction index is emitted in the `Stored` or `Renewed` event.", - " Applies same fees as `store`.", - " # ", - " - Constant.", - " # " - ] - }, - { - "name": "check_proof", - "args": [ - { - "name": "proof", - "type": "TransactionStorageProof" - } - ], - "docs": [ - " Check storage proof for block number `block_number() - StoragePeriod`.", - " If such block does not exist the proof is expected to be `None`.", - " # ", - " - Linear w.r.t the number of indexed transactions in the proved block for random probing.", - " There's a DB read for each transaction.", - " Here we assume a maximum of 100 probed transactions.", - " # " - ] - } - ], - "events": [ - { - "name": "Stored", - "args": [ - "u32" - ], - "docs": [ - " Stored data under specified index." - ] - }, - { - "name": "Renewed", - "args": [ - "u32" - ], - "docs": [ - " Renewed data under specified index." - ] - }, - { - "name": "ProofChecked", - "args": [], - "docs": [ - " Storage proof was successfully checked." - ] - } - ], - "constants": [], - "errors": [ - { - "name": "InsufficientFunds", - "docs": [ - " Insufficient account balance." - ] - }, - { - "name": "NotConfigured", - "docs": [ - " Invalid configuration." - ] - }, - { - "name": "RenewedNotFound", - "docs": [ - " Renewed extrinsic is not found." - ] - }, - { - "name": "EmptyTransaction", - "docs": [ - " Attempting to store empty transaction" - ] - }, - { - "name": "UnexpectedProof", - "docs": [ - " Proof was not expected in this block." - ] - }, - { - "name": "InvalidProof", - "docs": [ - " Proof failed verification." - ] - }, - { - "name": "MissingProof", - "docs": [ - " Missing storage proof." - ] - }, - { - "name": "MissingStateData", - "docs": [ - " Unable to verify proof becasue state data is missing." - ] - }, - { - "name": "DoubleCheck", - "docs": [ - " Double proof check in the block." - ] - }, - { - "name": "ProofNotChecked", - "docs": [ - " Storage proof was not checked in the block." - ] - }, - { - "name": "TransactionTooLarge", - "docs": [ - " Transaction is too large." - ] - }, - { - "name": "TooManyTransactions", - "docs": [ - " Too many transactions in the block." - ] - }, - { - "name": "BadContext", - "docs": [ - " Attempted to call `store` outside of block execution." - ] - } - ], - "index": 39 - } - ], - "extrinsic": { - "version": 4, - "signedExtensions": [ - "CheckSpecVersion", - "CheckTxVersion", - "CheckGenesis", - "CheckMortality", - "CheckNonce", - "CheckWeight", - "ChargeTransactionPayment" - ] - } - } - } -} \ No newline at end of file diff --git a/static/westmint-1016005.json b/static/westmint-1016005.json new file mode 100644 index 0000000..61189b0 --- /dev/null +++ b/static/westmint-1016005.json @@ -0,0 +1,43101 @@ +{ + "0": { + "path": [ + "sp_core", + "crypto", + "AccountId32" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ] + } + }, + "docs": null + }, + "1": { + "path": null, + "def": { + "Array": { + "len": 32, + "type": 2 + } + }, + "docs": null + }, + "10": { + "path": [ + "sp_weights", + "weight_v2", + "Weight" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "ref_time", + "type": 11, + "typeName": "u64", + "docs": null + }, + { + "name": "proof_size", + "type": 11, + "typeName": "u64", + "docs": null + } + ] + } + }, + "docs": null + }, + "100": { + "path": [ + "xcm", + "v3", + "junctions", + "Junctions" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Here", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "X1", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "X2", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "X3", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "X4", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "X5", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "X6", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "X7", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "X8", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + }, + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 8, + "docs": null + } + ] + } + }, + "docs": null + }, + "101": { + "path": [ + "xcm", + "v3", + "junction", + "Junction" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Parachain", + "fields": [ + { + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "AccountId32", + "fields": [ + { + "name": "network", + "type": 102, + "typeName": "Option\u003cNetworkId\u003e", + "docs": null + }, + { + "name": "id", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "AccountIndex64", + "fields": [ + { + "name": "network", + "type": 102, + "typeName": "Option\u003cNetworkId\u003e", + "docs": null + }, + { + "name": "index", + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "AccountKey20", + "fields": [ + { + "name": "network", + "type": 102, + "typeName": "Option\u003cNetworkId\u003e", + "docs": null + }, + { + "name": "key", + "type": 45, + "typeName": "[u8; 20]", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "PalletInstance", + "fields": [ + { + "type": 2, + "typeName": "u8", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "GeneralIndex", + "fields": [ + { + "type": 46, + "typeName": "u128", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "GeneralKey", + "fields": [ + { + "name": "length", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "data", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "OnlyChild", + "fields": null, + "index": 7, + "docs": null + }, + { + "name": "Plurality", + "fields": [ + { + "name": "id", + "type": 47, + "typeName": "BodyId", + "docs": null + }, + { + "name": "part", + "type": 48, + "typeName": "BodyPart", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "GlobalConsensus", + "fields": [ + { + "type": 103, + "typeName": "NetworkId", + "docs": null + } + ], + "index": 9, + "docs": null + } + ] + } + }, + "docs": null + }, + "102": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 103 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 103, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "103": { + "path": [ + "xcm", + "v3", + "junction", + "NetworkId" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "ByGenesis", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ByFork", + "fields": [ + { + "name": "block_number", + "type": 12, + "typeName": "u64", + "docs": null + }, + { + "name": "block_hash", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Polkadot", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Kusama", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "Westend", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "Rococo", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "Wococo", + "fields": null, + "index": 6, + "docs": null + }, + { + "name": "Ethereum", + "fields": [ + { + "name": "chain_id", + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "BitcoinCore", + "fields": null, + "index": 8, + "docs": null + }, + { + "name": "BitcoinCash", + "fields": null, + "index": 9, + "docs": null + }, + { + "name": "PolkadotBulletin", + "fields": null, + "index": 10, + "docs": null + } + ] + } + }, + "docs": null + }, + "104": { + "path": [ + "xcm", + "v3", + "multiasset", + "Fungibility" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Fungible", + "fields": [ + { + "type": 46, + "typeName": "u128", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "NonFungible", + "fields": [ + { + "type": 105, + "typeName": "AssetInstance", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "105": { + "path": [ + "xcm", + "v3", + "multiasset", + "AssetInstance" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Undefined", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Index", + "fields": [ + { + "type": 46, + "typeName": "u128", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Array4", + "fields": [ + { + "type": 18, + "typeName": "[u8; 4]", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "Array8", + "fields": [ + { + "type": 72, + "typeName": "[u8; 8]", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "Array16", + "fields": [ + { + "type": 73, + "typeName": "[u8; 16]", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "Array32", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "106": { + "path": [ + "staging_xcm", + "v4", + "asset", + "Assets" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 107, + "typeName": "Vec\u003cAsset\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "107": { + "path": null, + "def": { + "Sequence": { + "type": 108 + } + }, + "docs": null + }, + "108": { + "path": [ + "staging_xcm", + "v4", + "asset", + "Asset" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "id", + "type": 109, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fun", + "type": 123, + "typeName": "Fungibility", + "docs": null + } + ] + } + }, + "docs": null + }, + "109": { + "path": [ + "staging_xcm", + "v4", + "asset", + "AssetId" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 110, + "typeName": "Location", + "docs": null + } + ] + } + }, + "docs": null + }, + "11": { + "path": null, + "def": { + "Compact": { + "type": 12 + } + }, + "docs": null + }, + "110": { + "path": [ + "staging_xcm", + "v4", + "location", + "Location" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "parents", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "interior", + "type": 111, + "typeName": "Junctions", + "docs": null + } + ] + } + }, + "docs": null + }, + "111": { + "path": [ + "staging_xcm", + "v4", + "junctions", + "Junctions" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Here", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "X1", + "fields": [ + { + "type": 112, + "typeName": "Arc\u003c[Junction; 1]\u003e", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "X2", + "fields": [ + { + "type": 116, + "typeName": "Arc\u003c[Junction; 2]\u003e", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "X3", + "fields": [ + { + "type": 117, + "typeName": "Arc\u003c[Junction; 3]\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "X4", + "fields": [ + { + "type": 118, + "typeName": "Arc\u003c[Junction; 4]\u003e", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "X5", + "fields": [ + { + "type": 119, + "typeName": "Arc\u003c[Junction; 5]\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "X6", + "fields": [ + { + "type": 120, + "typeName": "Arc\u003c[Junction; 6]\u003e", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "X7", + "fields": [ + { + "type": 121, + "typeName": "Arc\u003c[Junction; 7]\u003e", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "X8", + "fields": [ + { + "type": 122, + "typeName": "Arc\u003c[Junction; 8]\u003e", + "docs": null + } + ], + "index": 8, + "docs": null + } + ] + } + }, + "docs": null + }, + "112": { + "path": null, + "def": { + "Array": { + "len": 1, + "type": 113 + } + }, + "docs": null + }, + "113": { + "path": [ + "staging_xcm", + "v4", + "junction", + "Junction" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Parachain", + "fields": [ + { + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "AccountId32", + "fields": [ + { + "name": "network", + "type": 114, + "typeName": "Option\u003cNetworkId\u003e", + "docs": null + }, + { + "name": "id", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "AccountIndex64", + "fields": [ + { + "name": "network", + "type": 114, + "typeName": "Option\u003cNetworkId\u003e", + "docs": null + }, + { + "name": "index", + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "AccountKey20", + "fields": [ + { + "name": "network", + "type": 114, + "typeName": "Option\u003cNetworkId\u003e", + "docs": null + }, + { + "name": "key", + "type": 45, + "typeName": "[u8; 20]", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "PalletInstance", + "fields": [ + { + "type": 2, + "typeName": "u8", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "GeneralIndex", + "fields": [ + { + "type": 46, + "typeName": "u128", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "GeneralKey", + "fields": [ + { + "name": "length", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "data", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "OnlyChild", + "fields": null, + "index": 7, + "docs": null + }, + { + "name": "Plurality", + "fields": [ + { + "name": "id", + "type": 47, + "typeName": "BodyId", + "docs": null + }, + { + "name": "part", + "type": 48, + "typeName": "BodyPart", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "GlobalConsensus", + "fields": [ + { + "type": 115, + "typeName": "NetworkId", + "docs": null + } + ], + "index": 9, + "docs": null + } + ] + } + }, + "docs": null + }, + "114": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 115 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 115, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "115": { + "path": [ + "staging_xcm", + "v4", + "junction", + "NetworkId" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "ByGenesis", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ByFork", + "fields": [ + { + "name": "block_number", + "type": 12, + "typeName": "u64", + "docs": null + }, + { + "name": "block_hash", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Polkadot", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Kusama", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "Westend", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "Rococo", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "Wococo", + "fields": null, + "index": 6, + "docs": null + }, + { + "name": "Ethereum", + "fields": [ + { + "name": "chain_id", + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "BitcoinCore", + "fields": null, + "index": 8, + "docs": null + }, + { + "name": "BitcoinCash", + "fields": null, + "index": 9, + "docs": null + }, + { + "name": "PolkadotBulletin", + "fields": null, + "index": 10, + "docs": null + } + ] + } + }, + "docs": null + }, + "116": { + "path": null, + "def": { + "Array": { + "len": 2, + "type": 113 + } + }, + "docs": null + }, + "117": { + "path": null, + "def": { + "Array": { + "len": 3, + "type": 113 + } + }, + "docs": null + }, + "118": { + "path": null, + "def": { + "Array": { + "len": 4, + "type": 113 + } + }, + "docs": null + }, + "119": { + "path": null, + "def": { + "Array": { + "len": 5, + "type": 113 + } + }, + "docs": null + }, + "12": { + "path": null, + "def": { + "Primitive": "U64" + }, + "docs": null + }, + "120": { + "path": null, + "def": { + "Array": { + "len": 6, + "type": 113 + } + }, + "docs": null + }, + "121": { + "path": null, + "def": { + "Array": { + "len": 7, + "type": 113 + } + }, + "docs": null + }, + "122": { + "path": null, + "def": { + "Array": { + "len": 8, + "type": 113 + } + }, + "docs": null + }, + "123": { + "path": [ + "staging_xcm", + "v4", + "asset", + "Fungibility" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Fungible", + "fields": [ + { + "type": 46, + "typeName": "u128", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "NonFungible", + "fields": [ + { + "type": 124, + "typeName": "AssetInstance", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "124": { + "path": [ + "staging_xcm", + "v4", + "asset", + "AssetInstance" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Undefined", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Index", + "fields": [ + { + "type": 46, + "typeName": "u128", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Array4", + "fields": [ + { + "type": 18, + "typeName": "[u8; 4]", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "Array8", + "fields": [ + { + "type": 72, + "typeName": "[u8; 8]", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "Array16", + "fields": [ + { + "type": 73, + "typeName": "[u8; 16]", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "Array32", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "125": { + "path": [ + "xcm", + "VersionedLocation" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "V3", + "fields": [ + { + "type": 99, + "typeName": "v3::MultiLocation", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "V4", + "fields": [ + { + "type": 110, + "typeName": "v4::Location", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "V5", + "fields": [ + { + "type": 38, + "typeName": "v5::Location", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "126": { + "path": [ + "cumulus_pallet_xcm", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "InvalidFormat", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 0, + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ] + }, + { + "name": "UnsupportedVersion", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 1, + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ] + }, + { + "name": "ExecutedDownward", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + }, + { + "type": 61, + "typeName": "Outcome", + "docs": null + } + ], + "index": 2, + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "127": { + "path": [ + "pallet_xcm_bridge_hub_router", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "DeliveryFeeFactorDecreased", + "fields": [ + { + "name": "new_value", + "type": 128, + "typeName": "FixedU128", + "docs": [ + "New value of the `DeliveryFeeFactor`." + ] + } + ], + "index": 0, + "docs": [ + "Delivery fee factor has been decreased." + ] + }, + { + "name": "DeliveryFeeFactorIncreased", + "fields": [ + { + "name": "new_value", + "type": 128, + "typeName": "FixedU128", + "docs": [ + "New value of the `DeliveryFeeFactor`." + ] + } + ], + "index": 1, + "docs": [ + "Delivery fee factor has been increased." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "128": { + "path": [ + "sp_arithmetic", + "fixed_point", + "FixedU128" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 6, + "typeName": "u128", + "docs": null + } + ] + } + }, + "docs": null + }, + "129": { + "path": [ + "pallet_message_queue", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "ProcessingFailed", + "fields": [ + { + "name": "id", + "type": 13, + "typeName": "H256", + "docs": [ + "The `blake2_256` hash of the message." + ] + }, + { + "name": "origin", + "type": 130, + "typeName": "MessageOriginOf\u003cT\u003e", + "docs": [ + "The queue of the message." + ] + }, + { + "name": "error", + "type": 132, + "typeName": "ProcessMessageError", + "docs": [ + "The error that occurred.", + "", + "This error is pretty opaque. More fine-grained errors need to be emitted as events", + "by the `MessageProcessor`." + ] + } + ], + "index": 0, + "docs": [ + "Message discarded due to an error in the `MessageProcessor` (usually a format error)." + ] + }, + { + "name": "Processed", + "fields": [ + { + "name": "id", + "type": 13, + "typeName": "H256", + "docs": [ + "The `blake2_256` hash of the message." + ] + }, + { + "name": "origin", + "type": 130, + "typeName": "MessageOriginOf\u003cT\u003e", + "docs": [ + "The queue of the message." + ] + }, + { + "name": "weight_used", + "type": 10, + "typeName": "Weight", + "docs": [ + "How much weight was used to process the message." + ] + }, + { + "name": "success", + "type": 8, + "typeName": "bool", + "docs": [ + "Whether the message was processed.", + "", + "Note that this does not mean that the underlying `MessageProcessor` was internally", + "successful. It *solely* means that the MQ pallet will treat this as a success", + "condition and discard the message. Any internal error needs to be emitted as events", + "by the `MessageProcessor`." + ] + } + ], + "index": 1, + "docs": [ + "Message is processed." + ] + }, + { + "name": "OverweightEnqueued", + "fields": [ + { + "name": "id", + "type": 1, + "typeName": "[u8; 32]", + "docs": [ + "The `blake2_256` hash of the message." + ] + }, + { + "name": "origin", + "type": 130, + "typeName": "MessageOriginOf\u003cT\u003e", + "docs": [ + "The queue of the message." + ] + }, + { + "name": "page_index", + "type": 4, + "typeName": "PageIndex", + "docs": [ + "The page of the message." + ] + }, + { + "name": "message_index", + "type": 4, + "typeName": "T::Size", + "docs": [ + "The index of the message within the page." + ] + } + ], + "index": 2, + "docs": [ + "Message placed in overweight queue." + ] + }, + { + "name": "PageReaped", + "fields": [ + { + "name": "origin", + "type": 130, + "typeName": "MessageOriginOf\u003cT\u003e", + "docs": [ + "The queue of the page." + ] + }, + { + "name": "index", + "type": 4, + "typeName": "PageIndex", + "docs": [ + "The index of the page." + ] + } + ], + "index": 3, + "docs": [ + "This page was reaped." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "13": { + "path": [ + "primitive_types", + "H256" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ] + } + }, + "docs": null + }, + "130": { + "path": [ + "cumulus_primitives_core", + "AggregateMessageOrigin" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Here", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Parent", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "Sibling", + "fields": [ + { + "type": 131, + "typeName": "ParaId", + "docs": null + } + ], + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "131": { + "path": [ + "polkadot_parachain_primitives", + "primitives", + "Id" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "132": { + "path": [ + "frame_support", + "traits", + "messages", + "ProcessMessageError" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "BadFormat", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Corrupt", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "Unsupported", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Overweight", + "fields": [ + { + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "Yield", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "StackLimitReached", + "fields": null, + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "133": { + "path": [ + "pallet_utility", + "pallet", + "Event" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "BatchInterrupted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "error", + "type": 26, + "typeName": "DispatchError", + "docs": null + } + ], + "index": 0, + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ] + }, + { + "name": "BatchCompleted", + "fields": null, + "index": 1, + "docs": [ + "Batch of dispatches completed fully with no error." + ] + }, + { + "name": "BatchCompletedWithErrors", + "fields": null, + "index": 2, + "docs": [ + "Batch of dispatches completed but has errors." + ] + }, + { + "name": "ItemCompleted", + "fields": null, + "index": 3, + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ] + }, + { + "name": "ItemFailed", + "fields": [ + { + "name": "error", + "type": 26, + "typeName": "DispatchError", + "docs": null + } + ], + "index": 4, + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ] + }, + { + "name": "DispatchedAs", + "fields": [ + { + "name": "result", + "type": 134, + "typeName": "DispatchResult", + "docs": null + } + ], + "index": 5, + "docs": [ + "A call was dispatched." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "134": { + "path": [ + "Result" + ], + "params": [ + { + "name": "T", + "type": 135 + }, + { + "name": "E", + "type": 26 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Ok", + "fields": [ + { + "type": 135, + "typeName": "", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Err", + "fields": [ + { + "type": 26, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "135": { + "path": null, + "def": {}, + "docs": null + }, + "136": { + "path": [ + "pallet_multisig", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "NewMultisig", + "fields": [ + { + "name": "approving", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "multisig", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHash", + "docs": null + } + ], + "index": 0, + "docs": [ + "A new multisig operation has begun." + ] + }, + { + "name": "MultisigApproval", + "fields": [ + { + "name": "approving", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "timepoint", + "type": 137, + "typeName": "Timepoint\u003cBlockNumberFor\u003cT\u003e\u003e", + "docs": null + }, + { + "name": "multisig", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHash", + "docs": null + } + ], + "index": 1, + "docs": [ + "A multisig operation has been approved by someone." + ] + }, + { + "name": "MultisigExecuted", + "fields": [ + { + "name": "approving", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "timepoint", + "type": 137, + "typeName": "Timepoint\u003cBlockNumberFor\u003cT\u003e\u003e", + "docs": null + }, + { + "name": "multisig", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHash", + "docs": null + }, + { + "name": "result", + "type": 134, + "typeName": "DispatchResult", + "docs": null + } + ], + "index": 2, + "docs": [ + "A multisig operation has been executed." + ] + }, + { + "name": "MultisigCancelled", + "fields": [ + { + "name": "cancelling", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "timepoint", + "type": 137, + "typeName": "Timepoint\u003cBlockNumberFor\u003cT\u003e\u003e", + "docs": null + }, + { + "name": "multisig", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHash", + "docs": null + } + ], + "index": 3, + "docs": [ + "A multisig operation has been cancelled." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "137": { + "path": [ + "pallet_multisig", + "Timepoint" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "height", + "type": 4, + "typeName": "BlockNumber", + "docs": null + }, + { + "name": "index", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "138": { + "path": [ + "pallet_proxy", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "ProxyExecuted", + "fields": [ + { + "name": "result", + "type": 134, + "typeName": "DispatchResult", + "docs": null + } + ], + "index": 0, + "docs": [ + "A proxy was executed correctly, with the given." + ] + }, + { + "name": "PureCreated", + "fields": [ + { + "name": "pure", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "proxy_type", + "type": 139, + "typeName": "T::ProxyType", + "docs": null + }, + { + "name": "disambiguation_index", + "type": 140, + "typeName": "u16", + "docs": null + } + ], + "index": 1, + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ] + }, + { + "name": "Announced", + "fields": [ + { + "name": "real", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "proxy", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "call_hash", + "type": 13, + "typeName": "CallHashOf\u003cT\u003e", + "docs": null + } + ], + "index": 2, + "docs": [ + "An announcement was placed to make a call in the future." + ] + }, + { + "name": "ProxyAdded", + "fields": [ + { + "name": "delegator", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegatee", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "proxy_type", + "type": 139, + "typeName": "T::ProxyType", + "docs": null + }, + { + "name": "delay", + "type": 4, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + } + ], + "index": 3, + "docs": [ + "A proxy was added." + ] + }, + { + "name": "ProxyRemoved", + "fields": [ + { + "name": "delegator", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegatee", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "proxy_type", + "type": 139, + "typeName": "T::ProxyType", + "docs": null + }, + { + "name": "delay", + "type": 4, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + } + ], + "index": 4, + "docs": [ + "A proxy was removed." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "139": { + "path": [ + "asset_hub_westend_runtime", + "ProxyType" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Any", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "NonTransfer", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "CancelProxy", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Assets", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "AssetOwner", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "AssetManager", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "Collator", + "fields": null, + "index": 6, + "docs": null + } + ] + } + }, + "docs": null + }, + "14": { + "path": null, + "def": { + "Sequence": { + "type": 2 + } + }, + "docs": null + }, + "140": { + "path": null, + "def": { + "Primitive": "U16" + }, + "docs": null + }, + "141": { + "path": [ + "pallet_assets", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 0, + "docs": [ + "Some asset class was created." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": [ + "Some assets were issued." + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "from", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 2, + "docs": [ + "Some assets were transferred." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 3, + "docs": [ + "Some assets were destroyed." + ] + }, + { + "name": "TeamChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "issuer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "admin", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "freezer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 4, + "docs": [ + "The management team changed." + ] + }, + { + "name": "OwnerChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 5, + "docs": [ + "The owner changed." + ] + }, + { + "name": "Frozen", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 6, + "docs": [ + "Some account `who` was frozen." + ] + }, + { + "name": "Thawed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 7, + "docs": [ + "Some account `who` was thawed." + ] + }, + { + "name": "AssetFrozen", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 8, + "docs": [ + "Some asset `asset_id` was frozen." + ] + }, + { + "name": "AssetThawed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 9, + "docs": [ + "Some asset `asset_id` was thawed." + ] + }, + { + "name": "AccountsDestroyed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "accounts_destroyed", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "accounts_remaining", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 10, + "docs": [ + "Accounts were destroyed for given asset." + ] + }, + { + "name": "ApprovalsDestroyed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "approvals_destroyed", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "approvals_remaining", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 11, + "docs": [ + "Approvals were destroyed for given asset." + ] + }, + { + "name": "DestructionStarted", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 12, + "docs": [ + "An asset class is in the process of being destroyed." + ] + }, + { + "name": "Destroyed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 13, + "docs": [ + "An asset class was destroyed." + ] + }, + { + "name": "ForceCreated", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 14, + "docs": [ + "Some asset class was force-created." + ] + }, + { + "name": "MetadataSet", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "symbol", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": [ + "New metadata has been set for an asset." + ] + }, + { + "name": "MetadataCleared", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 16, + "docs": [ + "Metadata has been cleared for an asset." + ] + }, + { + "name": "ApprovedTransfer", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "source", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 17, + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ] + }, + { + "name": "ApprovalCancelled", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 18, + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ] + }, + { + "name": "TransferredApproved", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "destination", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 19, + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ] + }, + { + "name": "AssetStatusChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 20, + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ] + }, + { + "name": "AssetMinBalanceChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "new_min_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 21, + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ] + }, + { + "name": "Touched", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "depositor", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 22, + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ] + }, + { + "name": "Blocked", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 23, + "docs": [ + "Some account `who` was blocked." + ] + }, + { + "name": "Deposited", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 24, + "docs": [ + "Some assets were deposited (e.g. for transaction fees)." + ] + }, + { + "name": "Withdrawn", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 25, + "docs": [ + "Some assets were withdrawn from the account (e.g. for transaction fees)." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "142": { + "path": [ + "pallet_uniques", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 0, + "docs": [ + "A `collection` was created." + ] + }, + { + "name": "ForceCreated", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 1, + "docs": [ + "A `collection` was force-created." + ] + }, + { + "name": "Destroyed", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 2, + "docs": [ + "A `collection` was destroyed." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 3, + "docs": [ + "An `item` was issued." + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "from", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 4, + "docs": [ + "An `item` was transferred." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 5, + "docs": [ + "An `item` was destroyed." + ] + }, + { + "name": "Frozen", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 6, + "docs": [ + "Some `item` was frozen." + ] + }, + { + "name": "Thawed", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 7, + "docs": [ + "Some `item` was thawed." + ] + }, + { + "name": "CollectionFrozen", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 8, + "docs": [ + "Some `collection` was frozen." + ] + }, + { + "name": "CollectionThawed", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 9, + "docs": [ + "Some `collection` was thawed." + ] + }, + { + "name": "OwnerChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "new_owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 10, + "docs": [ + "The owner changed." + ] + }, + { + "name": "TeamChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "issuer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "admin", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "freezer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 11, + "docs": [ + "The management team changed." + ] + }, + { + "name": "ApprovedTransfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 12, + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ] + }, + { + "name": "ApprovalCancelled", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 13, + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ] + }, + { + "name": "ItemStatusChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 14, + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ] + }, + { + "name": "CollectionMetadataSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "data", + "type": 143, + "typeName": "BoundedVec\u003cu8, T::StringLimit\u003e", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": [ + "New metadata has been set for a `collection`." + ] + }, + { + "name": "CollectionMetadataCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 16, + "docs": [ + "Metadata has been cleared for a `collection`." + ] + }, + { + "name": "MetadataSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "data", + "type": 143, + "typeName": "BoundedVec\u003cu8, T::StringLimit\u003e", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 17, + "docs": [ + "New metadata has been set for an item." + ] + }, + { + "name": "MetadataCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 18, + "docs": [ + "Metadata has been cleared for an item." + ] + }, + { + "name": "Redeposited", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "successful_items", + "type": 144, + "typeName": "Vec\u003cT::ItemId\u003e", + "docs": null + } + ], + "index": 19, + "docs": [ + "Metadata has been cleared for an item." + ] + }, + { + "name": "AttributeSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "key", + "type": 146, + "typeName": "BoundedVec\u003cu8, T::KeyLimit\u003e", + "docs": null + }, + { + "name": "value", + "type": 147, + "typeName": "BoundedVec\u003cu8, T::ValueLimit\u003e", + "docs": null + } + ], + "index": 20, + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ] + }, + { + "name": "AttributeCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "key", + "type": 146, + "typeName": "BoundedVec\u003cu8, T::KeyLimit\u003e", + "docs": null + } + ], + "index": 21, + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ] + }, + { + "name": "OwnershipAcceptanceChanged", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "maybe_collection", + "type": 145, + "typeName": "Option\u003cT::CollectionId\u003e", + "docs": null + } + ], + "index": 22, + "docs": [ + "Ownership acceptance has changed for an account." + ] + }, + { + "name": "CollectionMaxSupplySet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 23, + "docs": [ + "Max supply has been set for a collection." + ] + }, + { + "name": "ItemPriceSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "price", + "type": 6, + "typeName": "ItemPrice\u003cT, I\u003e", + "docs": null + }, + { + "name": "whitelisted_buyer", + "type": 148, + "typeName": "Option\u003cT::AccountId\u003e", + "docs": null + } + ], + "index": 24, + "docs": [ + "The price was set for the instance." + ] + }, + { + "name": "ItemPriceRemoved", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 25, + "docs": [ + "The price for the instance was removed." + ] + }, + { + "name": "ItemBought", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "price", + "type": 6, + "typeName": "ItemPrice\u003cT, I\u003e", + "docs": null + }, + { + "name": "seller", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "buyer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 26, + "docs": [ + "An item was bought." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "143": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "144": { + "path": null, + "def": { + "Sequence": { + "type": 4 + } + }, + "docs": null + }, + "145": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 4 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 4, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "146": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "147": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "148": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 0, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "149": { + "path": [ + "pallet_nfts", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 0, + "docs": [ + "A `collection` was created." + ] + }, + { + "name": "ForceCreated", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 1, + "docs": [ + "A `collection` was force-created." + ] + }, + { + "name": "Destroyed", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 2, + "docs": [ + "A `collection` was destroyed." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 3, + "docs": [ + "An `item` was issued." + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "from", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 4, + "docs": [ + "An `item` was transferred." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 5, + "docs": [ + "An `item` was destroyed." + ] + }, + { + "name": "ItemTransferLocked", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 6, + "docs": [ + "An `item` became non-transferable." + ] + }, + { + "name": "ItemTransferUnlocked", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 7, + "docs": [ + "An `item` became transferable." + ] + }, + { + "name": "ItemPropertiesLocked", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "lock_metadata", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "lock_attributes", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 8, + "docs": [ + "`item` metadata or attributes were locked." + ] + }, + { + "name": "CollectionLocked", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 9, + "docs": [ + "Some `collection` was locked." + ] + }, + { + "name": "OwnerChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "new_owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 10, + "docs": [ + "The owner changed." + ] + }, + { + "name": "TeamChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "issuer", + "type": 148, + "typeName": "Option\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "admin", + "type": 148, + "typeName": "Option\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 148, + "typeName": "Option\u003cT::AccountId\u003e", + "docs": null + } + ], + "index": 11, + "docs": [ + "The management team changed." + ] + }, + { + "name": "TransferApproved", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "deadline", + "type": 145, + "typeName": "Option\u003cBlockNumberFor\u003cT\u003e\u003e", + "docs": null + } + ], + "index": 12, + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ] + }, + { + "name": "ApprovalCancelled", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 13, + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ] + }, + { + "name": "AllApprovalsCancelled", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 14, + "docs": [ + "All approvals of an item got cancelled." + ] + }, + { + "name": "CollectionConfigChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 15, + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ] + }, + { + "name": "CollectionMetadataSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "data", + "type": 150, + "typeName": "BoundedVec\u003cu8, T::StringLimit\u003e", + "docs": null + } + ], + "index": 16, + "docs": [ + "New metadata has been set for a `collection`." + ] + }, + { + "name": "CollectionMetadataCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 17, + "docs": [ + "Metadata has been cleared for a `collection`." + ] + }, + { + "name": "ItemMetadataSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "data", + "type": 150, + "typeName": "BoundedVec\u003cu8, T::StringLimit\u003e", + "docs": null + } + ], + "index": 18, + "docs": [ + "New metadata has been set for an item." + ] + }, + { + "name": "ItemMetadataCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 19, + "docs": [ + "Metadata has been cleared for an item." + ] + }, + { + "name": "Redeposited", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "successful_items", + "type": 144, + "typeName": "Vec\u003cT::ItemId\u003e", + "docs": null + } + ], + "index": 20, + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ] + }, + { + "name": "AttributeSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "key", + "type": 147, + "typeName": "BoundedVec\u003cu8, T::KeyLimit\u003e", + "docs": null + }, + { + "name": "value", + "type": 150, + "typeName": "BoundedVec\u003cu8, T::ValueLimit\u003e", + "docs": null + }, + { + "name": "namespace", + "type": 151, + "typeName": "AttributeNamespace\u003cT::AccountId\u003e", + "docs": null + } + ], + "index": 21, + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ] + }, + { + "name": "AttributeCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "key", + "type": 147, + "typeName": "BoundedVec\u003cu8, T::KeyLimit\u003e", + "docs": null + }, + { + "name": "namespace", + "type": 151, + "typeName": "AttributeNamespace\u003cT::AccountId\u003e", + "docs": null + } + ], + "index": 22, + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ] + }, + { + "name": "ItemAttributesApprovalAdded", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 23, + "docs": [ + "A new approval to modify item attributes was added." + ] + }, + { + "name": "ItemAttributesApprovalRemoved", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 24, + "docs": [ + "A new approval to modify item attributes was removed." + ] + }, + { + "name": "OwnershipAcceptanceChanged", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "maybe_collection", + "type": 145, + "typeName": "Option\u003cT::CollectionId\u003e", + "docs": null + } + ], + "index": 25, + "docs": [ + "Ownership acceptance has changed for an account." + ] + }, + { + "name": "CollectionMaxSupplySet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 26, + "docs": [ + "Max supply has been set for a collection." + ] + }, + { + "name": "CollectionMintSettingsUpdated", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 27, + "docs": [ + "Mint settings for a collection had changed." + ] + }, + { + "name": "NextCollectionIdIncremented", + "fields": [ + { + "name": "next_id", + "type": 145, + "typeName": "Option\u003cT::CollectionId\u003e", + "docs": null + } + ], + "index": 28, + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ] + }, + { + "name": "ItemPriceSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "price", + "type": 6, + "typeName": "ItemPrice\u003cT, I\u003e", + "docs": null + }, + { + "name": "whitelisted_buyer", + "type": 148, + "typeName": "Option\u003cT::AccountId\u003e", + "docs": null + } + ], + "index": 29, + "docs": [ + "The price was set for the item." + ] + }, + { + "name": "ItemPriceRemoved", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 30, + "docs": [ + "The price for the item was removed." + ] + }, + { + "name": "ItemBought", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "price", + "type": 6, + "typeName": "ItemPrice\u003cT, I\u003e", + "docs": null + }, + { + "name": "seller", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "buyer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 31, + "docs": [ + "An item was bought." + ] + }, + { + "name": "TipSent", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "sender", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "receiver", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "DepositBalanceOf\u003cT, I\u003e", + "docs": null + } + ], + "index": 32, + "docs": [ + "A tip was sent." + ] + }, + { + "name": "SwapCreated", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "desired_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "desired_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "price", + "type": 152, + "typeName": "Option\u003cPriceWithDirection\u003cItemPrice\u003cT, I\u003e\u003e\u003e", + "docs": null + }, + { + "name": "deadline", + "type": 4, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + } + ], + "index": 33, + "docs": [ + "An `item` swap intent was created." + ] + }, + { + "name": "SwapCancelled", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "desired_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "desired_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "price", + "type": 152, + "typeName": "Option\u003cPriceWithDirection\u003cItemPrice\u003cT, I\u003e\u003e\u003e", + "docs": null + }, + { + "name": "deadline", + "type": 4, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + } + ], + "index": 34, + "docs": [ + "The swap was cancelled." + ] + }, + { + "name": "SwapClaimed", + "fields": [ + { + "name": "sent_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "sent_item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "sent_item_owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "received_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "received_item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "received_item_owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "price", + "type": 152, + "typeName": "Option\u003cPriceWithDirection\u003cItemPrice\u003cT, I\u003e\u003e\u003e", + "docs": null + }, + { + "name": "deadline", + "type": 4, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + } + ], + "index": 35, + "docs": [ + "The swap has been claimed." + ] + }, + { + "name": "PreSignedAttributesSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "namespace", + "type": 151, + "typeName": "AttributeNamespace\u003cT::AccountId\u003e", + "docs": null + } + ], + "index": 36, + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ] + }, + { + "name": "PalletAttributeSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "attribute", + "type": 155, + "typeName": "PalletAttributes\u003cT::CollectionId\u003e", + "docs": null + }, + { + "name": "value", + "type": 150, + "typeName": "BoundedVec\u003cu8, T::ValueLimit\u003e", + "docs": null + } + ], + "index": 37, + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "15": { + "path": [ + "sp_runtime", + "generic", + "digest", + "Digest" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "logs", + "type": 16, + "typeName": "Vec\u003cDigestItem\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "150": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "151": { + "path": [ + "pallet_nfts", + "types", + "AttributeNamespace" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Pallet", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "CollectionOwner", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "ItemOwner", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Account", + "fields": [ + { + "type": 0, + "typeName": "AccountId", + "docs": null + } + ], + "index": 3, + "docs": null + } + ] + } + }, + "docs": null + }, + "152": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 153 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 153, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "153": { + "path": [ + "pallet_nfts", + "types", + "PriceWithDirection" + ], + "params": [ + { + "name": "Amount", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "Amount", + "docs": null + }, + { + "name": "direction", + "type": 154, + "typeName": "PriceDirection", + "docs": null + } + ] + } + }, + "docs": null + }, + "154": { + "path": [ + "pallet_nfts", + "types", + "PriceDirection" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Send", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Receive", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "155": { + "path": [ + "pallet_nfts", + "types", + "PalletAttributes" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "UsedToClaim", + "fields": [ + { + "type": 4, + "typeName": "CollectionId", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "TransferDisabled", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "156": { + "path": [ + "pallet_assets", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 0, + "docs": [ + "Some asset class was created." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": [ + "Some assets were issued." + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "from", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 2, + "docs": [ + "Some assets were transferred." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 3, + "docs": [ + "Some assets were destroyed." + ] + }, + { + "name": "TeamChanged", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "issuer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "admin", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "freezer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 4, + "docs": [ + "The management team changed." + ] + }, + { + "name": "OwnerChanged", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 5, + "docs": [ + "The owner changed." + ] + }, + { + "name": "Frozen", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 6, + "docs": [ + "Some account `who` was frozen." + ] + }, + { + "name": "Thawed", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 7, + "docs": [ + "Some account `who` was thawed." + ] + }, + { + "name": "AssetFrozen", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 8, + "docs": [ + "Some asset `asset_id` was frozen." + ] + }, + { + "name": "AssetThawed", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 9, + "docs": [ + "Some asset `asset_id` was thawed." + ] + }, + { + "name": "AccountsDestroyed", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "accounts_destroyed", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "accounts_remaining", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 10, + "docs": [ + "Accounts were destroyed for given asset." + ] + }, + { + "name": "ApprovalsDestroyed", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "approvals_destroyed", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "approvals_remaining", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 11, + "docs": [ + "Approvals were destroyed for given asset." + ] + }, + { + "name": "DestructionStarted", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 12, + "docs": [ + "An asset class is in the process of being destroyed." + ] + }, + { + "name": "Destroyed", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 13, + "docs": [ + "An asset class was destroyed." + ] + }, + { + "name": "ForceCreated", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 14, + "docs": [ + "Some asset class was force-created." + ] + }, + { + "name": "MetadataSet", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "symbol", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": [ + "New metadata has been set for an asset." + ] + }, + { + "name": "MetadataCleared", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 16, + "docs": [ + "Metadata has been cleared for an asset." + ] + }, + { + "name": "ApprovedTransfer", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "source", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 17, + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ] + }, + { + "name": "ApprovalCancelled", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 18, + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ] + }, + { + "name": "TransferredApproved", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "destination", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 19, + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ] + }, + { + "name": "AssetStatusChanged", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 20, + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ] + }, + { + "name": "AssetMinBalanceChanged", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "new_min_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 21, + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ] + }, + { + "name": "Touched", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "depositor", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 22, + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ] + }, + { + "name": "Blocked", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 23, + "docs": [ + "Some account `who` was blocked." + ] + }, + { + "name": "Deposited", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 24, + "docs": [ + "Some assets were deposited (e.g. for transaction fees)." + ] + }, + { + "name": "Withdrawn", + "fields": [ + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 25, + "docs": [ + "Some assets were withdrawn from the account (e.g. for transaction fees)." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "157": { + "path": [ + "pallet_nft_fractionalization", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "NftFractionalized", + "fields": [ + { + "name": "nft_collection", + "type": 4, + "typeName": "T::NftCollectionId", + "docs": null + }, + { + "name": "nft", + "type": 4, + "typeName": "T::NftId", + "docs": null + }, + { + "name": "fractions", + "type": 6, + "typeName": "AssetBalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "asset", + "type": 4, + "typeName": "AssetIdOf\u003cT\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 0, + "docs": [ + "An NFT was successfully fractionalized." + ] + }, + { + "name": "NftUnified", + "fields": [ + { + "name": "nft_collection", + "type": 4, + "typeName": "T::NftCollectionId", + "docs": null + }, + { + "name": "nft", + "type": 4, + "typeName": "T::NftId", + "docs": null + }, + { + "name": "asset", + "type": 4, + "typeName": "AssetIdOf\u003cT\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 1, + "docs": [ + "An NFT was successfully returned back." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "158": { + "path": [ + "pallet_assets", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 0, + "docs": [ + "Some asset class was created." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": [ + "Some assets were issued." + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "from", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 2, + "docs": [ + "Some assets were transferred." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 3, + "docs": [ + "Some assets were destroyed." + ] + }, + { + "name": "TeamChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "issuer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "admin", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "freezer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 4, + "docs": [ + "The management team changed." + ] + }, + { + "name": "OwnerChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 5, + "docs": [ + "The owner changed." + ] + }, + { + "name": "Frozen", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 6, + "docs": [ + "Some account `who` was frozen." + ] + }, + { + "name": "Thawed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 7, + "docs": [ + "Some account `who` was thawed." + ] + }, + { + "name": "AssetFrozen", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 8, + "docs": [ + "Some asset `asset_id` was frozen." + ] + }, + { + "name": "AssetThawed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 9, + "docs": [ + "Some asset `asset_id` was thawed." + ] + }, + { + "name": "AccountsDestroyed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "accounts_destroyed", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "accounts_remaining", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 10, + "docs": [ + "Accounts were destroyed for given asset." + ] + }, + { + "name": "ApprovalsDestroyed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "approvals_destroyed", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "approvals_remaining", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 11, + "docs": [ + "Approvals were destroyed for given asset." + ] + }, + { + "name": "DestructionStarted", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 12, + "docs": [ + "An asset class is in the process of being destroyed." + ] + }, + { + "name": "Destroyed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 13, + "docs": [ + "An asset class was destroyed." + ] + }, + { + "name": "ForceCreated", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 14, + "docs": [ + "Some asset class was force-created." + ] + }, + { + "name": "MetadataSet", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "symbol", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": [ + "New metadata has been set for an asset." + ] + }, + { + "name": "MetadataCleared", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 16, + "docs": [ + "Metadata has been cleared for an asset." + ] + }, + { + "name": "ApprovedTransfer", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "source", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 17, + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ] + }, + { + "name": "ApprovalCancelled", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 18, + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ] + }, + { + "name": "TransferredApproved", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "destination", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 19, + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ] + }, + { + "name": "AssetStatusChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 20, + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ] + }, + { + "name": "AssetMinBalanceChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "new_min_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 21, + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ] + }, + { + "name": "Touched", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "depositor", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 22, + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ] + }, + { + "name": "Blocked", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 23, + "docs": [ + "Some account `who` was blocked." + ] + }, + { + "name": "Deposited", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 24, + "docs": [ + "Some assets were deposited (e.g. for transaction fees)." + ] + }, + { + "name": "Withdrawn", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 25, + "docs": [ + "Some assets were withdrawn from the account (e.g. for transaction fees)." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "159": { + "path": [ + "pallet_asset_conversion", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "PoolCreated", + "fields": [ + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that created the pool." + ] + }, + { + "name": "pool_id", + "type": 160, + "typeName": "T::PoolId", + "docs": [ + "The pool id associated with the pool. Note that the order of the assets may not be", + "the same as the order specified in the create pool extrinsic." + ] + }, + { + "name": "pool_account", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account ID of the pool." + ] + }, + { + "name": "lp_token", + "type": 4, + "typeName": "T::PoolAssetId", + "docs": [ + "The id of the liquidity tokens that will be minted when assets are added to this", + "pool." + ] + } + ], + "index": 0, + "docs": [ + "A successful call of the `CreatePool` extrinsic will create this event." + ] + }, + { + "name": "LiquidityAdded", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that the liquidity was taken from." + ] + }, + { + "name": "mint_to", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that the liquidity tokens were minted to." + ] + }, + { + "name": "pool_id", + "type": 160, + "typeName": "T::PoolId", + "docs": [ + "The pool id of the pool that the liquidity was added to." + ] + }, + { + "name": "amount1_provided", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of the first asset that was added to the pool." + ] + }, + { + "name": "amount2_provided", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of the second asset that was added to the pool." + ] + }, + { + "name": "lp_token", + "type": 4, + "typeName": "T::PoolAssetId", + "docs": [ + "The id of the lp token that was minted." + ] + }, + { + "name": "lp_token_minted", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of lp tokens that were minted of that id." + ] + } + ], + "index": 1, + "docs": [ + "A successful call of the `AddLiquidity` extrinsic will create this event." + ] + }, + { + "name": "LiquidityRemoved", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that the liquidity tokens were burned from." + ] + }, + { + "name": "withdraw_to", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that the assets were transferred to." + ] + }, + { + "name": "pool_id", + "type": 160, + "typeName": "T::PoolId", + "docs": [ + "The pool id that the liquidity was removed from." + ] + }, + { + "name": "amount1", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of the first asset that was removed from the pool." + ] + }, + { + "name": "amount2", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of the second asset that was removed from the pool." + ] + }, + { + "name": "lp_token", + "type": 4, + "typeName": "T::PoolAssetId", + "docs": [ + "The id of the lp token that was burned." + ] + }, + { + "name": "lp_token_burned", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of lp tokens that were burned of that id." + ] + }, + { + "name": "withdrawal_fee", + "type": 161, + "typeName": "Permill", + "docs": [ + "Liquidity withdrawal fee (%)." + ] + } + ], + "index": 2, + "docs": [ + "A successful call of the `RemoveLiquidity` extrinsic will create this event." + ] + }, + { + "name": "SwapExecuted", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "Which account was the instigator of the swap." + ] + }, + { + "name": "send_to", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that the assets were transferred to." + ] + }, + { + "name": "amount_in", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of the first asset that was swapped." + ] + }, + { + "name": "amount_out", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of the second asset that was received." + ] + }, + { + "name": "path", + "type": 162, + "typeName": "BalancePath\u003cT\u003e", + "docs": [ + "The route of asset IDs with amounts that the swap went through.", + "E.g. (A, amount_in) -\u003e (Dot, amount_out) -\u003e (B, amount_out)" + ] + } + ], + "index": 3, + "docs": [ + "Assets have been converted from one to another. Both `SwapExactTokenForToken`", + "and `SwapTokenForExactToken` will generate this event." + ] + }, + { + "name": "SwapCreditExecuted", + "fields": [ + { + "name": "amount_in", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of the first asset that was swapped." + ] + }, + { + "name": "amount_out", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The amount of the second asset that was received." + ] + }, + { + "name": "path", + "type": 162, + "typeName": "BalancePath\u003cT\u003e", + "docs": [ + "The route of asset IDs with amounts that the swap went through.", + "E.g. (A, amount_in) -\u003e (Dot, amount_out) -\u003e (B, amount_out)" + ] + } + ], + "index": 4, + "docs": [ + "Assets have been converted from one to another." + ] + }, + { + "name": "Touched", + "fields": [ + { + "name": "pool_id", + "type": 160, + "typeName": "T::PoolId", + "docs": [ + "The ID of the pool." + ] + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account initiating the touch." + ] + } + ], + "index": 5, + "docs": [ + "Pool has been touched in order to fulfill operational requirements." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "16": { + "path": null, + "def": { + "Sequence": { + "type": 17 + } + }, + "docs": null + }, + "160": { + "path": null, + "def": { + "Tuple": [ + 38, + 38 + ] + }, + "docs": null + }, + "161": { + "path": [ + "sp_arithmetic", + "per_things", + "Permill" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "162": { + "path": null, + "def": { + "Sequence": { + "type": 163 + } + }, + "docs": null + }, + "163": { + "path": null, + "def": { + "Tuple": [ + 38, + 6 + ] + }, + "docs": null + }, + "164": { + "path": [ + "pallet_assets_freezer", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Frozen", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Thawed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "165": { + "path": [ + "pallet_assets_freezer", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Frozen", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Thawed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "166": { + "path": [ + "pallet_assets_freezer", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Frozen", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Thawed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "167": { + "path": [ + "pallet_revive", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Instantiated", + "fields": [ + { + "name": "deployer", + "type": 168, + "typeName": "H160", + "docs": null + }, + { + "name": "contract", + "type": 168, + "typeName": "H160", + "docs": null + } + ], + "index": 0, + "docs": [ + "Contract deployed by address at the specified address." + ] + }, + { + "name": "Terminated", + "fields": [ + { + "name": "contract", + "type": 168, + "typeName": "H160", + "docs": [ + "The contract that was terminated." + ] + }, + { + "name": "beneficiary", + "type": 168, + "typeName": "H160", + "docs": [ + "The account that received the contracts remaining balance" + ] + } + ], + "index": 1, + "docs": [ + "Contract has been removed.", + "", + "# Note", + "", + "The only way for a contract to be removed and emitting this event is by calling", + "`seal_terminate`." + ] + }, + { + "name": "CodeStored", + "fields": [ + { + "name": "code_hash", + "type": 13, + "typeName": "H256", + "docs": null + }, + { + "name": "deposit_held", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "uploader", + "type": 168, + "typeName": "H160", + "docs": null + } + ], + "index": 2, + "docs": [ + "Code with the specified hash has been stored." + ] + }, + { + "name": "ContractEmitted", + "fields": [ + { + "name": "contract", + "type": 168, + "typeName": "H160", + "docs": [ + "The contract that emitted the event." + ] + }, + { + "name": "data", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": [ + "Data supplied by the contract. Metadata generated during contract compilation", + "is needed to decode it." + ] + }, + { + "name": "topics", + "type": 169, + "typeName": "Vec\u003cH256\u003e", + "docs": [ + "A list of topics used to index the event.", + "Number of topics is capped by [`limits::NUM_EVENT_TOPICS`]." + ] + } + ], + "index": 3, + "docs": [ + "A custom event emitted by the contract." + ] + }, + { + "name": "CodeRemoved", + "fields": [ + { + "name": "code_hash", + "type": 13, + "typeName": "H256", + "docs": null + }, + { + "name": "deposit_released", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "remover", + "type": 168, + "typeName": "H160", + "docs": null + } + ], + "index": 4, + "docs": [ + "A code with the specified hash was removed." + ] + }, + { + "name": "ContractCodeUpdated", + "fields": [ + { + "name": "contract", + "type": 168, + "typeName": "H160", + "docs": [ + "The contract that has been updated." + ] + }, + { + "name": "new_code_hash", + "type": 13, + "typeName": "H256", + "docs": [ + "New code hash that was set for the contract." + ] + }, + { + "name": "old_code_hash", + "type": 13, + "typeName": "H256", + "docs": [ + "Previous code hash of the contract." + ] + } + ], + "index": 5, + "docs": [ + "A contract's code was updated." + ] + }, + { + "name": "Called", + "fields": [ + { + "name": "caller", + "type": 170, + "typeName": "Origin\u003cT\u003e", + "docs": [ + "The caller of the `contract`." + ] + }, + { + "name": "contract", + "type": 168, + "typeName": "H160", + "docs": [ + "The contract that was called." + ] + } + ], + "index": 6, + "docs": [ + "A contract was called either by a plain account or another contract.", + "", + "# Note", + "", + "Please keep in mind that like all events this is only emitted for successful", + "calls. This is because on failure all storage changes including events are", + "rolled back." + ] + }, + { + "name": "DelegateCalled", + "fields": [ + { + "name": "contract", + "type": 168, + "typeName": "H160", + "docs": [ + "The contract that performed the delegate call and hence in whose context", + "the `code_hash` is executed." + ] + }, + { + "name": "code_hash", + "type": 13, + "typeName": "H256", + "docs": [ + "The code hash that was delegate called." + ] + } + ], + "index": 7, + "docs": [ + "A contract delegate called a code hash.", + "", + "# Note", + "", + "Please keep in mind that like all events this is only emitted for successful", + "calls. This is because on failure all storage changes including events are", + "rolled back." + ] + }, + { + "name": "StorageDepositTransferredAndHeld", + "fields": [ + { + "name": "from", + "type": 168, + "typeName": "H160", + "docs": null + }, + { + "name": "to", + "type": 168, + "typeName": "H160", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 8, + "docs": [ + "Some funds have been transferred and held as storage deposit." + ] + }, + { + "name": "StorageDepositTransferredAndReleased", + "fields": [ + { + "name": "from", + "type": 168, + "typeName": "H160", + "docs": null + }, + { + "name": "to", + "type": 168, + "typeName": "H160", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 9, + "docs": [ + "Some storage deposit funds have been transferred and released." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "168": { + "path": [ + "primitive_types", + "H160" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 45, + "typeName": "[u8; 20]", + "docs": null + } + ] + } + }, + "docs": null + }, + "169": { + "path": null, + "def": { + "Sequence": { + "type": 13 + } + }, + "docs": null + }, + "17": { + "path": [ + "sp_runtime", + "generic", + "digest", + "DigestItem" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "PreRuntime", + "fields": [ + { + "type": 18, + "typeName": "ConsensusEngineId", + "docs": null + }, + { + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "Consensus", + "fields": [ + { + "type": 18, + "typeName": "ConsensusEngineId", + "docs": null + }, + { + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "Seal", + "fields": [ + { + "type": 18, + "typeName": "ConsensusEngineId", + "docs": null + }, + { + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "Other", + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "RuntimeEnvironmentUpdated", + "fields": null, + "index": 8, + "docs": null + } + ] + } + }, + "docs": null + }, + "170": { + "path": [ + "pallet_revive", + "exec", + "Origin" + ], + "params": [ + { + "name": "T", + "type": 171 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Root", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Signed", + "fields": [ + { + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "171": { + "path": [ + "asset_hub_westend_runtime", + "Runtime" + ], + "def": { + "Composite": { + "fields": null + } + }, + "docs": null + }, + "172": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Migrated", + "fields": [ + { + "name": "top", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "child", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "compute", + "type": 173, + "typeName": "MigrationCompute", + "docs": null + } + ], + "index": 0, + "docs": [ + "Given number of `(top, child)` keys were migrated respectively, with the given", + "`compute`." + ] + }, + { + "name": "Slashed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 1, + "docs": [ + "Some account got slashed by the given amount." + ] + }, + { + "name": "AutoMigrationFinished", + "fields": null, + "index": 2, + "docs": [ + "The auto migration task finished." + ] + }, + { + "name": "Halted", + "fields": [ + { + "name": "error", + "type": 174, + "typeName": "Error\u003cT\u003e", + "docs": null + } + ], + "index": 3, + "docs": [ + "Migration got halted due to an error or miss-configuration." + ] + } + ] + } + }, + "docs": [ + "Inner events of this pallet." + ] + }, + "173": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "MigrationCompute" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Signed", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Auto", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "174": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "MaxSignedLimits", + "fields": null, + "index": 0, + "docs": [ + "Max signed limits not respected." + ] + }, + { + "name": "KeyTooLong", + "fields": null, + "index": 1, + "docs": [ + "A key was longer than the configured maximum.", + "", + "This means that the migration halted at the current [`Progress`] and", + "can be resumed with a larger [`crate::Config::MaxKeyLen`] value.", + "Retrying with the same [`crate::Config::MaxKeyLen`] value will not work.", + "The value should only be increased to avoid a storage migration for the currently", + "stored [`crate::Progress::LastKey`]." + ] + }, + { + "name": "NotEnoughFunds", + "fields": null, + "index": 2, + "docs": [ + "submitter does not have enough funds." + ] + }, + { + "name": "BadWitness", + "fields": null, + "index": 3, + "docs": [ + "Bad witness data provided." + ] + }, + { + "name": "SignedMigrationNotAllowed", + "fields": null, + "index": 4, + "docs": [ + "Signed migration is not allowed because the maximum limit is not set yet." + ] + }, + { + "name": "BadChildRoot", + "fields": null, + "index": 5, + "docs": [ + "Bad child root provided." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "175": { + "path": [ + "pallet_asset_conversion_ops", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "MigratedToNewAccount", + "fields": [ + { + "name": "pool_id", + "type": 160, + "typeName": "T::PoolId", + "docs": [ + "Pool's ID." + ] + }, + { + "name": "prior_account", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "Pool's prior account ID." + ] + }, + { + "name": "new_account", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "Pool's new account ID." + ] + } + ], + "index": 0, + "docs": [ + "Indicates that a pool has been migrated to the new account ID." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "176": { + "path": [ + "frame_system", + "Phase" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "ApplyExtrinsic", + "fields": [ + { + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Finalization", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "Initialization", + "fields": null, + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "177": { + "path": null, + "def": { + "Sequence": { + "type": 178 + } + }, + "docs": null + }, + "178": { + "path": null, + "def": { + "Tuple": [ + 4, + 4 + ] + }, + "docs": null + }, + "179": { + "path": [ + "frame_system", + "LastRuntimeUpgradeInfo" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "spec_version", + "type": 42, + "typeName": "codec::Compact\u003cu32\u003e", + "docs": null + }, + { + "name": "spec_name", + "type": 180, + "typeName": "Cow\u003c'static, str\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "18": { + "path": null, + "def": { + "Array": { + "len": 4, + "type": 2 + } + }, + "docs": null + }, + "180": { + "path": [ + "Cow" + ], + "params": [ + { + "name": "T", + "type": 181 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 181, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "181": { + "path": null, + "def": { + "Primitive": "Str" + }, + "docs": null + }, + "182": { + "path": [ + "frame_system", + "CodeUpgradeAuthorization" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "code_hash", + "type": 13, + "typeName": "T::Hash", + "docs": null + }, + { + "name": "check_version", + "type": 8, + "typeName": "bool", + "docs": null + } + ] + } + }, + "docs": null + }, + "183": { + "path": [ + "frame_system", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "remark", + "fields": [ + { + "name": "remark", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Make some on-chain remark.", + "", + "Can be executed by every `origin`." + ] + }, + { + "name": "set_heap_pages", + "fields": [ + { + "name": "pages", + "type": 12, + "typeName": "u64", + "docs": null + } + ], + "index": 1, + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ] + }, + { + "name": "set_code", + "fields": [ + { + "name": "code", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 2, + "docs": [ + "Set the new runtime code." + ] + }, + { + "name": "set_code_without_checks", + "fields": [ + { + "name": "code", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 3, + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "Note that runtime upgrades will not run if this is called with a not-increasing spec", + "version!" + ] + }, + { + "name": "set_storage", + "fields": [ + { + "name": "items", + "type": 184, + "typeName": "Vec\u003cKeyValue\u003e", + "docs": null + } + ], + "index": 4, + "docs": [ + "Set some items of storage." + ] + }, + { + "name": "kill_storage", + "fields": [ + { + "name": "keys", + "type": 186, + "typeName": "Vec\u003cKey\u003e", + "docs": null + } + ], + "index": 5, + "docs": [ + "Kill some items from storage." + ] + }, + { + "name": "kill_prefix", + "fields": [ + { + "name": "prefix", + "type": 14, + "typeName": "Key", + "docs": null + }, + { + "name": "subkeys", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 6, + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ] + }, + { + "name": "remark_with_event", + "fields": [ + { + "name": "remark", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 7, + "docs": [ + "Make some on-chain remark and emit event." + ] + }, + { + "name": "authorize_upgrade", + "fields": [ + { + "name": "code_hash", + "type": 13, + "typeName": "T::Hash", + "docs": null + } + ], + "index": 9, + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "This call requires Root origin." + ] + }, + { + "name": "authorize_upgrade_without_checks", + "fields": [ + { + "name": "code_hash", + "type": 13, + "typeName": "T::Hash", + "docs": null + } + ], + "index": 10, + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "WARNING: This authorizes an upgrade that will take place without any safety checks, for", + "example that the spec name remains the same and that the version number increases. Not", + "recommended for normal use. Use `authorize_upgrade` instead.", + "", + "This call requires Root origin." + ] + }, + { + "name": "apply_authorized_upgrade", + "fields": [ + { + "name": "code", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 11, + "docs": [ + "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized.", + "", + "If the authorization required a version check, this call will ensure the spec name", + "remains unchanged and that the spec version has increased.", + "", + "Depending on the runtime's `OnSetCode` configuration, this function may directly apply", + "the new `code` in the same block or attempt to schedule the upgrade.", + "", + "All origins are allowed." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "184": { + "path": null, + "def": { + "Sequence": { + "type": 185 + } + }, + "docs": null + }, + "185": { + "path": null, + "def": { + "Tuple": [ + 14, + 14 + ] + }, + "docs": null + }, + "186": { + "path": null, + "def": { + "Sequence": { + "type": 14 + } + }, + "docs": null + }, + "187": { + "path": [ + "frame_system", + "limits", + "BlockWeights" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "base_block", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "max_block", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "per_class", + "type": 188, + "typeName": "PerDispatchClass\u003cWeightsPerClass\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "188": { + "path": [ + "frame_support", + "dispatch", + "PerDispatchClass" + ], + "params": [ + { + "name": "T", + "type": 189 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "normal", + "type": 189, + "typeName": "T", + "docs": null + }, + { + "name": "operational", + "type": 189, + "typeName": "T", + "docs": null + }, + { + "name": "mandatory", + "type": 189, + "typeName": "T", + "docs": null + } + ] + } + }, + "docs": null + }, + "189": { + "path": [ + "frame_system", + "limits", + "WeightsPerClass" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "base_extrinsic", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "max_extrinsic", + "type": 190, + "typeName": "Option\u003cWeight\u003e", + "docs": null + }, + { + "name": "max_total", + "type": 190, + "typeName": "Option\u003cWeight\u003e", + "docs": null + }, + { + "name": "reserved", + "type": 190, + "typeName": "Option\u003cWeight\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "19": { + "path": null, + "def": { + "Sequence": { + "type": 20 + } + }, + "docs": null + }, + "190": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 10 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 10, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "191": { + "path": [ + "frame_system", + "limits", + "BlockLength" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "max", + "type": 192, + "typeName": "PerDispatchClass\u003cu32\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "192": { + "path": [ + "frame_support", + "dispatch", + "PerDispatchClass" + ], + "params": [ + { + "name": "T", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "normal", + "type": 4, + "typeName": "T", + "docs": null + }, + { + "name": "operational", + "type": 4, + "typeName": "T", + "docs": null + }, + { + "name": "mandatory", + "type": 4, + "typeName": "T", + "docs": null + } + ] + } + }, + "docs": null + }, + "193": { + "path": [ + "sp_weights", + "RuntimeDbWeight" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "read", + "type": 12, + "typeName": "u64", + "docs": null + }, + { + "name": "write", + "type": 12, + "typeName": "u64", + "docs": null + } + ] + } + }, + "docs": null + }, + "194": { + "path": [ + "sp_version", + "RuntimeVersion" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "spec_name", + "type": 180, + "typeName": "Cow\u003c'static, str\u003e", + "docs": null + }, + { + "name": "impl_name", + "type": 180, + "typeName": "Cow\u003c'static, str\u003e", + "docs": null + }, + { + "name": "authoring_version", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "spec_version", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "impl_version", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "apis", + "type": 195, + "typeName": "ApisVec", + "docs": null + }, + { + "name": "transaction_version", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "system_version", + "type": 2, + "typeName": "u8", + "docs": null + } + ] + } + }, + "docs": null + }, + "195": { + "path": [ + "Cow" + ], + "params": [ + { + "name": "T", + "type": 196 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 196, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "196": { + "path": null, + "def": { + "Sequence": { + "type": 197 + } + }, + "docs": null + }, + "197": { + "path": null, + "def": { + "Tuple": [ + 72, + 4 + ] + }, + "docs": null + }, + "198": { + "path": [ + "frame_system", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "InvalidSpecName", + "fields": null, + "index": 0, + "docs": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "fields": null, + "index": 1, + "docs": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "fields": null, + "index": 2, + "docs": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "fields": null, + "index": 3, + "docs": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "fields": null, + "index": 4, + "docs": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "fields": null, + "index": 5, + "docs": [ + "The origin filter prevent the call to be dispatched." + ] + }, + { + "name": "MultiBlockMigrationsOngoing", + "fields": null, + "index": 6, + "docs": [ + "A multi-block migration is ongoing and prevents the current code from being replaced." + ] + }, + { + "name": "NothingAuthorized", + "fields": null, + "index": 7, + "docs": [ + "No upgrade authorized." + ] + }, + { + "name": "Unauthorized", + "fields": null, + "index": 8, + "docs": [ + "The submitted code is not authorized." + ] + } + ] + } + }, + "docs": [ + "Error for the System pallet" + ] + }, + "199": { + "path": null, + "def": { + "Sequence": { + "type": 200 + } + }, + "docs": null + }, + "2": { + "path": null, + "def": { + "Primitive": "U8" + }, + "docs": null + }, + "20": { + "path": [ + "frame_system", + "EventRecord" + ], + "params": [ + { + "name": "E", + "type": 21 + }, + { + "name": "T", + "type": 13 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "phase", + "type": 176, + "typeName": "Phase", + "docs": null + }, + { + "name": "event", + "type": 21, + "typeName": "E", + "docs": null + }, + { + "name": "topics", + "type": 169, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "200": { + "path": [ + "cumulus_pallet_parachain_system", + "unincluded_segment", + "Ancestor" + ], + "params": [ + { + "name": "H", + "type": 13 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "used_bandwidth", + "type": 201, + "typeName": "UsedBandwidth", + "docs": null + }, + { + "name": "para_head_hash", + "type": 206, + "typeName": "Option\u003cH\u003e", + "docs": null + }, + { + "name": "consumed_go_ahead_signal", + "type": 207, + "typeName": "Option\u003crelay_chain::UpgradeGoAhead\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "201": { + "path": [ + "cumulus_pallet_parachain_system", + "unincluded_segment", + "UsedBandwidth" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "ump_msg_count", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "ump_total_bytes", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "hrmp_outgoing", + "type": 202, + "typeName": "BTreeMap\u003cParaId, HrmpChannelUpdate\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "202": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 131 + }, + { + "name": "V", + "type": 203 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 204, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "203": { + "path": [ + "cumulus_pallet_parachain_system", + "unincluded_segment", + "HrmpChannelUpdate" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "msg_count", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "total_bytes", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "204": { + "path": null, + "def": { + "Sequence": { + "type": 205 + } + }, + "docs": null + }, + "205": { + "path": null, + "def": { + "Tuple": [ + 131, + 203 + ] + }, + "docs": null + }, + "206": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 13 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 13, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "207": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 208 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 208, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "208": { + "path": [ + "polkadot_primitives", + "v8", + "UpgradeGoAhead" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Abort", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "GoAhead", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "209": { + "path": [ + "cumulus_pallet_parachain_system", + "unincluded_segment", + "SegmentTracker" + ], + "params": [ + { + "name": "H", + "type": 13 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "used_bandwidth", + "type": 201, + "typeName": "UsedBandwidth", + "docs": null + }, + { + "name": "hrmp_watermark", + "type": 145, + "typeName": "Option\u003crelay_chain::BlockNumber\u003e", + "docs": null + }, + { + "name": "consumed_go_ahead_signal", + "type": 207, + "typeName": "Option\u003crelay_chain::UpgradeGoAhead\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "21": { + "path": [ + "asset_hub_westend_runtime", + "RuntimeEvent" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "System", + "fields": [ + { + "type": 22, + "typeName": "frame_system::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ParachainSystem", + "fields": [ + { + "type": 32, + "typeName": "cumulus_pallet_parachain_system::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Balances", + "fields": [ + { + "type": 34, + "typeName": "pallet_balances::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 10, + "docs": null + }, + { + "name": "TransactionPayment", + "fields": [ + { + "type": 36, + "typeName": "pallet_transaction_payment::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 11, + "docs": null + }, + { + "name": "AssetTxPayment", + "fields": [ + { + "type": 37, + "typeName": "pallet_asset_conversion_tx_payment::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 13, + "docs": null + }, + { + "name": "CollatorSelection", + "fields": [ + { + "type": 56, + "typeName": "pallet_collator_selection::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "Session", + "fields": [ + { + "type": 58, + "typeName": "pallet_session::Event", + "docs": null + } + ], + "index": 22, + "docs": null + }, + { + "name": "XcmpQueue", + "fields": [ + { + "type": 59, + "typeName": "cumulus_pallet_xcmp_queue::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 30, + "docs": null + }, + { + "name": "PolkadotXcm", + "fields": [ + { + "type": 60, + "typeName": "pallet_xcm::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "CumulusXcm", + "fields": [ + { + "type": 126, + "typeName": "cumulus_pallet_xcm::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "ToRococoXcmRouter", + "fields": [ + { + "type": 127, + "typeName": "pallet_xcm_bridge_hub_router::Event\u003cRuntime, pallet_xcm_bridge_hub_router\n::Instance1\u003e", + "docs": null + } + ], + "index": 34, + "docs": null + }, + { + "name": "MessageQueue", + "fields": [ + { + "type": 129, + "typeName": "pallet_message_queue::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 35, + "docs": null + }, + { + "name": "Utility", + "fields": [ + { + "type": 133, + "typeName": "pallet_utility::Event", + "docs": null + } + ], + "index": 40, + "docs": null + }, + { + "name": "Multisig", + "fields": [ + { + "type": 136, + "typeName": "pallet_multisig::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 41, + "docs": null + }, + { + "name": "Proxy", + "fields": [ + { + "type": 138, + "typeName": "pallet_proxy::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 42, + "docs": null + }, + { + "name": "Assets", + "fields": [ + { + "type": 141, + "typeName": "pallet_assets::Event\u003cRuntime, pallet_assets::Instance1\u003e", + "docs": null + } + ], + "index": 50, + "docs": null + }, + { + "name": "Uniques", + "fields": [ + { + "type": 142, + "typeName": "pallet_uniques::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 51, + "docs": null + }, + { + "name": "Nfts", + "fields": [ + { + "type": 149, + "typeName": "pallet_nfts::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 52, + "docs": null + }, + { + "name": "ForeignAssets", + "fields": [ + { + "type": 156, + "typeName": "pallet_assets::Event\u003cRuntime, pallet_assets::Instance2\u003e", + "docs": null + } + ], + "index": 53, + "docs": null + }, + { + "name": "NftFractionalization", + "fields": [ + { + "type": 157, + "typeName": "pallet_nft_fractionalization::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 54, + "docs": null + }, + { + "name": "PoolAssets", + "fields": [ + { + "type": 158, + "typeName": "pallet_assets::Event\u003cRuntime, pallet_assets::Instance3\u003e", + "docs": null + } + ], + "index": 55, + "docs": null + }, + { + "name": "AssetConversion", + "fields": [ + { + "type": 159, + "typeName": "pallet_asset_conversion::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 56, + "docs": null + }, + { + "name": "AssetsFreezer", + "fields": [ + { + "type": 164, + "typeName": "pallet_assets_freezer::Event\u003cRuntime, pallet_assets_freezer::Instance1\u003e", + "docs": null + } + ], + "index": 57, + "docs": null + }, + { + "name": "ForeignAssetsFreezer", + "fields": [ + { + "type": 165, + "typeName": "pallet_assets_freezer::Event\u003cRuntime, pallet_assets_freezer::Instance2\u003e", + "docs": null + } + ], + "index": 58, + "docs": null + }, + { + "name": "PoolAssetsFreezer", + "fields": [ + { + "type": 166, + "typeName": "pallet_assets_freezer::Event\u003cRuntime, pallet_assets_freezer::Instance3\u003e", + "docs": null + } + ], + "index": 59, + "docs": null + }, + { + "name": "Revive", + "fields": [ + { + "type": 167, + "typeName": "pallet_revive::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 60, + "docs": null + }, + { + "name": "StateTrieMigration", + "fields": [ + { + "type": 172, + "typeName": "pallet_state_trie_migration::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 70, + "docs": null + }, + { + "name": "AssetConversionMigration", + "fields": [ + { + "type": 175, + "typeName": "pallet_asset_conversion_ops::Event\u003cRuntime\u003e", + "docs": null + } + ], + "index": 200, + "docs": null + } + ] + } + }, + "docs": null + }, + "210": { + "path": [ + "polkadot_primitives", + "v8", + "PersistedValidationData" + ], + "params": [ + { + "name": "H", + "type": 13 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "parent_head", + "type": 211, + "typeName": "HeadData", + "docs": null + }, + { + "name": "relay_parent_number", + "type": 4, + "typeName": "N", + "docs": null + }, + { + "name": "relay_parent_storage_root", + "type": 13, + "typeName": "H", + "docs": null + }, + { + "name": "max_pov_size", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "211": { + "path": [ + "polkadot_parachain_primitives", + "primitives", + "HeadData" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "212": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 213 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 213, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "213": { + "path": [ + "polkadot_primitives", + "v8", + "UpgradeRestriction" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Present", + "fields": null, + "index": 0, + "docs": null + } + ] + } + }, + "docs": null + }, + "214": { + "path": [ + "sp_trie", + "storage_proof", + "StorageProof" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "trie_nodes", + "type": 215, + "typeName": "BTreeSet\u003cVec\u003cu8\u003e\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "215": { + "path": [ + "BTreeSet" + ], + "params": [ + { + "name": "T", + "type": 14 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 186, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "216": { + "path": [ + "cumulus_pallet_parachain_system", + "relay_state_snapshot", + "MessagingStateSnapshot" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "dmq_mqc_head", + "type": 13, + "typeName": "relay_chain::Hash", + "docs": null + }, + { + "name": "relay_dispatch_queue_remaining_capacity", + "type": 217, + "typeName": "RelayDispatchQueueRemainingCapacity", + "docs": null + }, + { + "name": "ingress_channels", + "type": 218, + "typeName": "Vec\u003c(ParaId, AbridgedHrmpChannel)\u003e", + "docs": null + }, + { + "name": "egress_channels", + "type": 218, + "typeName": "Vec\u003c(ParaId, AbridgedHrmpChannel)\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "217": { + "path": [ + "cumulus_pallet_parachain_system", + "relay_state_snapshot", + "RelayDispatchQueueRemainingCapacity" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "remaining_count", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "remaining_size", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "218": { + "path": null, + "def": { + "Sequence": { + "type": 219 + } + }, + "docs": null + }, + "219": { + "path": null, + "def": { + "Tuple": [ + 131, + 220 + ] + }, + "docs": null + }, + "22": { + "path": [ + "frame_system", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "ExtrinsicSuccess", + "fields": [ + { + "name": "dispatch_info", + "type": 23, + "typeName": "DispatchEventInfo", + "docs": null + } + ], + "index": 0, + "docs": [ + "An extrinsic completed successfully." + ] + }, + { + "name": "ExtrinsicFailed", + "fields": [ + { + "name": "dispatch_error", + "type": 26, + "typeName": "DispatchError", + "docs": null + }, + { + "name": "dispatch_info", + "type": 23, + "typeName": "DispatchEventInfo", + "docs": null + } + ], + "index": 1, + "docs": [ + "An extrinsic failed." + ] + }, + { + "name": "CodeUpdated", + "fields": null, + "index": 2, + "docs": [ + "`:code` was updated." + ] + }, + { + "name": "NewAccount", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 3, + "docs": [ + "A new account was created." + ] + }, + { + "name": "KilledAccount", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 4, + "docs": [ + "An account was reaped." + ] + }, + { + "name": "Remarked", + "fields": [ + { + "name": "sender", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "hash", + "type": 13, + "typeName": "T::Hash", + "docs": null + } + ], + "index": 5, + "docs": [ + "On on-chain remark happened." + ] + }, + { + "name": "UpgradeAuthorized", + "fields": [ + { + "name": "code_hash", + "type": 13, + "typeName": "T::Hash", + "docs": null + }, + { + "name": "check_version", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 6, + "docs": [ + "An upgrade was authorized." + ] + } + ] + } + }, + "docs": [ + "Event for the System pallet." + ] + }, + "220": { + "path": [ + "polkadot_primitives", + "v8", + "AbridgedHrmpChannel" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "max_capacity", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "max_total_size", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "max_message_size", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "msg_count", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "total_size", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "mqc_head", + "type": 206, + "typeName": "Option\u003cHash\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "221": { + "path": [ + "polkadot_primitives", + "v8", + "AbridgedHostConfiguration" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "max_code_size", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "max_head_data_size", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "max_upward_queue_count", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "max_upward_queue_size", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "max_upward_message_size", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "max_upward_message_num_per_candidate", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "hrmp_max_message_num_per_candidate", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "validation_upgrade_cooldown", + "type": 4, + "typeName": "BlockNumber", + "docs": null + }, + { + "name": "validation_upgrade_delay", + "type": 4, + "typeName": "BlockNumber", + "docs": null + }, + { + "name": "async_backing_params", + "type": 222, + "typeName": "AsyncBackingParams", + "docs": null + } + ] + } + }, + "docs": null + }, + "222": { + "path": [ + "polkadot_primitives", + "v8", + "async_backing", + "AsyncBackingParams" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "max_candidate_depth", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "allowed_ancestry_len", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "223": { + "path": [ + "cumulus_primitives_parachain_inherent", + "MessageQueueChain" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 13, + "typeName": "RelayHash", + "docs": null + } + ] + } + }, + "docs": null + }, + "224": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 131 + }, + { + "name": "V", + "type": 223 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 225, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "225": { + "path": null, + "def": { + "Sequence": { + "type": 226 + } + }, + "docs": null + }, + "226": { + "path": null, + "def": { + "Tuple": [ + 131, + 223 + ] + }, + "docs": null + }, + "227": { + "path": null, + "def": { + "Sequence": { + "type": 228 + } + }, + "docs": null + }, + "228": { + "path": [ + "polkadot_core_primitives", + "OutboundHrmpMessage" + ], + "params": [ + { + "name": "Id", + "type": 131 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "recipient", + "type": 131, + "typeName": "Id", + "docs": null + }, + { + "name": "data", + "type": 14, + "typeName": "alloc::vec::Vec\u003cu8\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "229": { + "path": [ + "cumulus_pallet_parachain_system", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "set_validation_data", + "fields": [ + { + "name": "data", + "type": 230, + "typeName": "ParachainInherentData", + "docs": null + } + ], + "index": 0, + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ] + }, + { + "name": "sudo_send_upward_message", + "fields": [ + { + "name": "message", + "type": 14, + "typeName": "UpwardMessage", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "23": { + "path": [ + "frame_system", + "DispatchEventInfo" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "weight", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "class", + "type": 24, + "typeName": "DispatchClass", + "docs": null + }, + { + "name": "pays_fee", + "type": 25, + "typeName": "Pays", + "docs": null + } + ] + } + }, + "docs": null + }, + "230": { + "path": [ + "cumulus_primitives_parachain_inherent", + "ParachainInherentData" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "validation_data", + "type": 210, + "typeName": "PersistedValidationData", + "docs": null + }, + { + "name": "relay_chain_state", + "type": 214, + "typeName": "sp_trie::StorageProof", + "docs": null + }, + { + "name": "downward_messages", + "type": 231, + "typeName": "Vec\u003cInboundDownwardMessage\u003e", + "docs": null + }, + { + "name": "horizontal_messages", + "type": 233, + "typeName": "BTreeMap\u003cParaId, Vec\u003cInboundHrmpMessage\u003e\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "231": { + "path": null, + "def": { + "Sequence": { + "type": 232 + } + }, + "docs": null + }, + "232": { + "path": [ + "polkadot_core_primitives", + "InboundDownwardMessage" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "sent_at", + "type": 4, + "typeName": "BlockNumber", + "docs": null + }, + { + "name": "msg", + "type": 14, + "typeName": "DownwardMessage", + "docs": null + } + ] + } + }, + "docs": null + }, + "233": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 131 + }, + { + "name": "V", + "type": 234 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 236, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "234": { + "path": null, + "def": { + "Sequence": { + "type": 235 + } + }, + "docs": null + }, + "235": { + "path": [ + "polkadot_core_primitives", + "InboundHrmpMessage" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "sent_at", + "type": 4, + "typeName": "BlockNumber", + "docs": null + }, + { + "name": "data", + "type": 14, + "typeName": "alloc::vec::Vec\u003cu8\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "236": { + "path": null, + "def": { + "Sequence": { + "type": 237 + } + }, + "docs": null + }, + "237": { + "path": null, + "def": { + "Tuple": [ + 131, + 234 + ] + }, + "docs": null + }, + "238": { + "path": [ + "cumulus_pallet_parachain_system", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "OverlappingUpgrades", + "fields": null, + "index": 0, + "docs": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "fields": null, + "index": 1, + "docs": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "fields": null, + "index": 2, + "docs": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "fields": null, + "index": 3, + "docs": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "fields": null, + "index": 4, + "docs": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "fields": null, + "index": 5, + "docs": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "fields": null, + "index": 6, + "docs": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "fields": null, + "index": 7, + "docs": [ + "The given code upgrade has not been authorized." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "239": { + "path": [ + "pallet_timestamp", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "set", + "fields": [ + { + "name": "now", + "type": 11, + "typeName": "T::Moment", + "docs": null + } + ], + "index": 0, + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "[`Config::MinimumPeriod`].", + "", + "The dispatch origin for this call must be _None_.", + "", + "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware", + "that changing the complexity of this call could result exhausting the resources in a", + "block to execute any other calls.", + "", + "## Complexity", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "24": { + "path": [ + "frame_support", + "dispatch", + "DispatchClass" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Normal", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Operational", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "Mandatory", + "fields": null, + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "240": { + "path": [ + "staging_parachain_info", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": null + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "241": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 242 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 244, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "242": { + "path": [ + "pallet_balances", + "types", + "BalanceLock" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "id", + "type": 72, + "typeName": "LockIdentifier", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance", + "docs": null + }, + { + "name": "reasons", + "type": 243, + "typeName": "Reasons", + "docs": null + } + ] + } + }, + "docs": null + }, + "243": { + "path": [ + "pallet_balances", + "types", + "Reasons" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Fee", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Misc", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "All", + "fields": null, + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "244": { + "path": null, + "def": { + "Sequence": { + "type": 242 + } + }, + "docs": null + }, + "245": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 246 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 247, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "246": { + "path": [ + "pallet_balances", + "types", + "ReserveData" + ], + "params": [ + { + "name": "ReserveIdentifier", + "type": 72 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "id", + "type": 72, + "typeName": "ReserveIdentifier", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance", + "docs": null + } + ] + } + }, + "docs": null + }, + "247": { + "path": null, + "def": { + "Sequence": { + "type": 246 + } + }, + "docs": null + }, + "248": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 249 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 254, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "249": { + "path": [ + "frame_support", + "traits", + "tokens", + "misc", + "IdAmount" + ], + "params": [ + { + "name": "Id", + "type": 250 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "id", + "type": 250, + "typeName": "Id", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance", + "docs": null + } + ] + } + }, + "docs": null + }, + "25": { + "path": [ + "frame_support", + "dispatch", + "Pays" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Yes", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "No", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "250": { + "path": [ + "asset_hub_westend_runtime", + "RuntimeHoldReason" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "NftFractionalization", + "fields": [ + { + "type": 251, + "typeName": "pallet_nft_fractionalization::HoldReason", + "docs": null + } + ], + "index": 54, + "docs": null + }, + { + "name": "Revive", + "fields": [ + { + "type": 252, + "typeName": "pallet_revive::HoldReason", + "docs": null + } + ], + "index": 60, + "docs": null + }, + { + "name": "StateTrieMigration", + "fields": [ + { + "type": 253, + "typeName": "pallet_state_trie_migration::HoldReason", + "docs": null + } + ], + "index": 70, + "docs": null + } + ] + } + }, + "docs": null + }, + "251": { + "path": [ + "pallet_nft_fractionalization", + "pallet", + "HoldReason" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Fractionalized", + "fields": null, + "index": 0, + "docs": null + } + ] + } + }, + "docs": null + }, + "252": { + "path": [ + "pallet_revive", + "pallet", + "HoldReason" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "CodeUploadDepositReserve", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "StorageDepositReserve", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "AddressMapping", + "fields": null, + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "253": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "HoldReason" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "SlashForMigrate", + "fields": null, + "index": 0, + "docs": null + } + ] + } + }, + "docs": null + }, + "254": { + "path": null, + "def": { + "Sequence": { + "type": 249 + } + }, + "docs": null + }, + "255": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 256 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 257, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "256": { + "path": [ + "frame_support", + "traits", + "tokens", + "misc", + "IdAmount" + ], + "params": [ + { + "name": "Id", + "type": 135 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "id", + "type": 135, + "typeName": "Id", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance", + "docs": null + } + ] + } + }, + "docs": null + }, + "257": { + "path": null, + "def": { + "Sequence": { + "type": 256 + } + }, + "docs": null + }, + "258": { + "path": [ + "pallet_balances", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "transfer_allow_death", + "fields": [ + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "value", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 0, + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "source", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "value", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 2, + "docs": [ + "Exactly as `transfer_allow_death`, except the origin must be root and the source account", + "may be specified." + ] + }, + { + "name": "transfer_keep_alive", + "fields": [ + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "value", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 3, + "docs": [ + "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not", + "kill the origin account.", + "", + "99% of the time you want [`transfer_allow_death`] instead.", + "", + "[`transfer_allow_death`]: struct.Pallet.html#method.transfer" + ] + }, + { + "name": "transfer_all", + "fields": [ + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "keep_alive", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 4, + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true)." + ] + }, + { + "name": "force_unreserve", + "fields": [ + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 5, + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ] + }, + { + "name": "upgrade_accounts", + "fields": [ + { + "name": "who", + "type": 57, + "typeName": "Vec\u003cT::AccountId\u003e", + "docs": null + } + ], + "index": 6, + "docs": [ + "Upgrade a specified account.", + "", + "- `origin`: Must be `Signed`.", + "- `who`: The account to be upgraded.", + "", + "This will waive the transaction fee if at least all but 10% of the accounts needed to", + "be upgraded. (We let some not have to be upgraded just in order to allow for the", + "possibility of churn)." + ] + }, + { + "name": "force_set_balance", + "fields": [ + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "new_free", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 8, + "docs": [ + "Set the regular balance of a given account.", + "", + "The dispatch origin for this call is `root`." + ] + }, + { + "name": "force_adjust_total_issuance", + "fields": [ + { + "name": "direction", + "type": 261, + "typeName": "AdjustmentDirection", + "docs": null + }, + { + "name": "delta", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 9, + "docs": [ + "Adjust the total issuance in a saturating way.", + "", + "Can only be called by root and always needs a positive `delta`.", + "", + "# Example" + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "value", + "type": 46, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "keep_alive", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 10, + "docs": [ + "Burn the specified liquid free balance from the origin account.", + "", + "If the origin's account ends up below the existential deposit as a result", + "of the burn and `keep_alive` is false, the account will be reaped.", + "", + "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,", + "this `burn` operation will reduce total issuance by the amount _burned_." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "259": { + "path": [ + "sp_runtime", + "multiaddress", + "MultiAddress" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "AccountIndex", + "type": 135 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Id", + "fields": [ + { + "type": 0, + "typeName": "AccountId", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Index", + "fields": [ + { + "type": 260, + "typeName": "AccountIndex", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Raw", + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "Address32", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "Address20", + "fields": [ + { + "type": 45, + "typeName": "[u8; 20]", + "docs": null + } + ], + "index": 4, + "docs": null + } + ] + } + }, + "docs": null + }, + "26": { + "path": [ + "sp_runtime", + "DispatchError" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Other", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "CannotLookup", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "BadOrigin", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Module", + "fields": [ + { + "type": 27, + "typeName": "ModuleError", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "ConsumerRemaining", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "NoProviders", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "TooManyConsumers", + "fields": null, + "index": 6, + "docs": null + }, + { + "name": "Token", + "fields": [ + { + "type": 28, + "typeName": "TokenError", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "Arithmetic", + "fields": [ + { + "type": 29, + "typeName": "ArithmeticError", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "Transactional", + "fields": [ + { + "type": 30, + "typeName": "TransactionalError", + "docs": null + } + ], + "index": 9, + "docs": null + }, + { + "name": "Exhausted", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "Corruption", + "fields": null, + "index": 11, + "docs": null + }, + { + "name": "Unavailable", + "fields": null, + "index": 12, + "docs": null + }, + { + "name": "RootNotAllowed", + "fields": null, + "index": 13, + "docs": null + }, + { + "name": "Trie", + "fields": [ + { + "type": 31, + "typeName": "TrieError", + "docs": null + } + ], + "index": 14, + "docs": null + } + ] + } + }, + "docs": null + }, + "260": { + "path": null, + "def": { + "Compact": { + "type": 135 + } + }, + "docs": null + }, + "261": { + "path": [ + "pallet_balances", + "types", + "AdjustmentDirection" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Increase", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Decrease", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "262": { + "path": [ + "pallet_balances", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "VestingBalance", + "fields": null, + "index": 0, + "docs": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "fields": null, + "index": 1, + "docs": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "fields": null, + "index": 2, + "docs": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "fields": null, + "index": 3, + "docs": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "fields": null, + "index": 4, + "docs": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "fields": null, + "index": 5, + "docs": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "fields": null, + "index": 6, + "docs": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "fields": null, + "index": 7, + "docs": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "fields": null, + "index": 8, + "docs": [ + "Number of holds exceed `VariantCountOf\u003cT::RuntimeHoldReason\u003e`." + ] + }, + { + "name": "TooManyFreezes", + "fields": null, + "index": 9, + "docs": [ + "Number of freezes exceed `MaxFreezes`." + ] + }, + { + "name": "IssuanceDeactivated", + "fields": null, + "index": 10, + "docs": [ + "The issuance cannot be modified since it is already deactivated." + ] + }, + { + "name": "DeltaZero", + "fields": null, + "index": 11, + "docs": [ + "The delta cannot be zero." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "263": { + "path": [ + "pallet_transaction_payment", + "Releases" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "V1Ancient", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "V2", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "264": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 57, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "265": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 266 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 267, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "266": { + "path": [ + "pallet_collator_selection", + "pallet", + "CandidateInfo" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance", + "docs": null + } + ] + } + }, + "docs": null + }, + "267": { + "path": null, + "def": { + "Sequence": { + "type": 266 + } + }, + "docs": null + }, + "268": { + "path": [ + "pallet_collator_selection", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "set_invulnerables", + "fields": [ + { + "name": "new", + "type": 57, + "typeName": "Vec\u003cT::AccountId\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Set the list of invulnerable (fixed) collators. These collators must do some", + "preparation, namely to have registered session keys.", + "", + "The call will remove any accounts that have not registered keys from the set. That is,", + "it is non-atomic; the caller accepts all `AccountId`s passed in `new` _individually_ as", + "acceptable Invulnerables, and is not proposing a _set_ of new Invulnerables.", + "", + "This call does not maintain mutual exclusivity of `Invulnerables` and `Candidates`. It", + "is recommended to use a batch of `add_invulnerable` and `remove_invulnerable` instead. A", + "`batch_all` can also be used to enforce atomicity. If any candidates are included in", + "`new`, they should be removed with `remove_invulnerable_candidate` after execution.", + "", + "Must be called by the `UpdateOrigin`." + ] + }, + { + "name": "set_desired_candidates", + "fields": [ + { + "name": "max", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 1, + "docs": [ + "Set the ideal number of non-invulnerable collators. If lowering this number, then the", + "number of running collators could be higher than this figure. Aside from that edge case,", + "there should be no other way to have more candidates than the desired number.", + "", + "The origin for this call must be the `UpdateOrigin`." + ] + }, + { + "name": "set_candidacy_bond", + "fields": [ + { + "name": "bond", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 2, + "docs": [ + "Set the candidacy bond amount.", + "", + "If the candidacy bond is increased by this call, all current candidates which have a", + "deposit lower than the new bond will be kicked from the list and get their deposits", + "back.", + "", + "The origin for this call must be the `UpdateOrigin`." + ] + }, + { + "name": "register_as_candidate", + "fields": null, + "index": 3, + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ] + }, + { + "name": "leave_intent", + "fields": null, + "index": 4, + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below", + "`MinEligibleCollators`." + ] + }, + { + "name": "add_invulnerable", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 5, + "docs": [ + "Add a new account `who` to the list of `Invulnerables` collators. `who` must have", + "registered session keys. If `who` is a candidate, they will be removed.", + "", + "The origin for this call must be the `UpdateOrigin`." + ] + }, + { + "name": "remove_invulnerable", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 6, + "docs": [ + "Remove an account `who` from the list of `Invulnerables` collators. `Invulnerables` must", + "be sorted.", + "", + "The origin for this call must be the `UpdateOrigin`." + ] + }, + { + "name": "update_bond", + "fields": [ + { + "name": "new_deposit", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 7, + "docs": [ + "Update the candidacy bond of collator candidate `origin` to a new amount `new_deposit`.", + "", + "Setting a `new_deposit` that is lower than the current deposit while `origin` is", + "occupying a top-`DesiredCandidates` slot is not allowed.", + "", + "This call will fail if `origin` is not a collator candidate, the updated bond is lower", + "than the minimum candidacy bond, and/or the amount cannot be reserved." + ] + }, + { + "name": "take_candidate_slot", + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "target", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 8, + "docs": [ + "The caller `origin` replaces a candidate `target` in the collator candidate list by", + "reserving `deposit`. The amount `deposit` reserved by the caller must be greater than", + "the existing bond of the target it is trying to replace.", + "", + "This call will fail if the caller is already a collator candidate or invulnerable, the", + "caller does not have registered session keys, the target is not a collator candidate,", + "and/or the `deposit` amount cannot be reserved." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "269": { + "path": [ + "pallet_collator_selection", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "TooManyCandidates", + "fields": null, + "index": 0, + "docs": [ + "The pallet has too many candidates." + ] + }, + { + "name": "TooFewEligibleCollators", + "fields": null, + "index": 1, + "docs": [ + "Leaving would result in too few candidates." + ] + }, + { + "name": "AlreadyCandidate", + "fields": null, + "index": 2, + "docs": [ + "Account is already a candidate." + ] + }, + { + "name": "NotCandidate", + "fields": null, + "index": 3, + "docs": [ + "Account is not a candidate." + ] + }, + { + "name": "TooManyInvulnerables", + "fields": null, + "index": 4, + "docs": [ + "There are too many Invulnerables." + ] + }, + { + "name": "AlreadyInvulnerable", + "fields": null, + "index": 5, + "docs": [ + "Account is already an Invulnerable." + ] + }, + { + "name": "NotInvulnerable", + "fields": null, + "index": 6, + "docs": [ + "Account is not an Invulnerable." + ] + }, + { + "name": "NoAssociatedValidatorId", + "fields": null, + "index": 7, + "docs": [ + "Account has no associated validator ID." + ] + }, + { + "name": "ValidatorNotRegistered", + "fields": null, + "index": 8, + "docs": [ + "Validator ID is not yet registered." + ] + }, + { + "name": "InsertToCandidateListFailed", + "fields": null, + "index": 9, + "docs": [ + "Could not insert in the candidate list." + ] + }, + { + "name": "RemoveFromCandidateListFailed", + "fields": null, + "index": 10, + "docs": [ + "Could not remove from the candidate list." + ] + }, + { + "name": "DepositTooLow", + "fields": null, + "index": 11, + "docs": [ + "New deposit amount would be below the minimum candidacy bond." + ] + }, + { + "name": "UpdateCandidateListFailed", + "fields": null, + "index": 12, + "docs": [ + "Could not update the candidate list." + ] + }, + { + "name": "InsufficientBond", + "fields": null, + "index": 13, + "docs": [ + "Deposit amount is too low to take the target's slot in the candidate list." + ] + }, + { + "name": "TargetIsNotCandidate", + "fields": null, + "index": 14, + "docs": [ + "The target account to be replaced in the candidate list is not a candidate." + ] + }, + { + "name": "IdenticalDeposit", + "fields": null, + "index": 15, + "docs": [ + "The updated deposit amount is equal to the amount already reserved." + ] + }, + { + "name": "InvalidUnreserve", + "fields": null, + "index": 16, + "docs": [ + "Cannot lower candidacy bond while occupying a future collator slot in the list." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "27": { + "path": [ + "sp_runtime", + "ModuleError" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "index", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "error", + "type": 18, + "typeName": "[u8; MAX_MODULE_ERROR_ENCODED_SIZE]", + "docs": null + } + ] + } + }, + "docs": null + }, + "270": { + "path": null, + "def": { + "Sequence": { + "type": 271 + } + }, + "docs": null + }, + "271": { + "path": null, + "def": { + "Tuple": [ + 0, + 272 + ] + }, + "docs": null + }, + "272": { + "path": [ + "asset_hub_westend_runtime", + "SessionKeys" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "aura", + "type": 273, + "typeName": "\u003cAura as $crate::BoundToRuntimeAppPublic\u003e::Public", + "docs": null + } + ] + } + }, + "docs": null + }, + "273": { + "path": [ + "sp_consensus_aura", + "sr25519", + "app_sr25519", + "Public" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 1, + "typeName": "sr25519::Public", + "docs": null + } + ] + } + }, + "docs": null + }, + "274": { + "path": null, + "def": { + "Tuple": [ + 275, + 14 + ] + }, + "docs": null + }, + "275": { + "path": [ + "sp_core", + "crypto", + "KeyTypeId" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 18, + "typeName": "[u8; 4]", + "docs": null + } + ] + } + }, + "docs": null + }, + "276": { + "path": [ + "pallet_session", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "set_keys", + "fields": [ + { + "name": "keys", + "type": 272, + "typeName": "T::Keys", + "docs": null + }, + { + "name": "proof", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "## Complexity", + "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is", + " fixed." + ] + }, + { + "name": "purge_keys", + "fields": null, + "index": 1, + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "## Complexity", + "- `O(1)` in number of key types. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "277": { + "path": [ + "pallet_session", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "InvalidProof", + "fields": null, + "index": 0, + "docs": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "fields": null, + "index": 1, + "docs": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "fields": null, + "index": 2, + "docs": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "fields": null, + "index": 3, + "docs": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "fields": null, + "index": 4, + "docs": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ] + } + }, + "docs": [ + "Error for the session pallet." + ] + }, + "278": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 273 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 279, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "279": { + "path": null, + "def": { + "Sequence": { + "type": 273 + } + }, + "docs": null + }, + "28": { + "path": [ + "sp_runtime", + "TokenError" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "FundsUnavailable", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "OnlyProvider", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "BelowMinimum", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "CannotCreate", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "UnknownAsset", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "Frozen", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "Unsupported", + "fields": null, + "index": 6, + "docs": null + }, + { + "name": "CannotCreateHold", + "fields": null, + "index": 7, + "docs": null + }, + { + "name": "NotExpendable", + "fields": null, + "index": 8, + "docs": null + }, + { + "name": "Blocked", + "fields": null, + "index": 9, + "docs": null + } + ] + } + }, + "docs": null + }, + "280": { + "path": [ + "sp_consensus_slots", + "Slot" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 12, + "typeName": "u64", + "docs": null + } + ] + } + }, + "docs": null + }, + "281": { + "path": null, + "def": { + "Tuple": [ + 280, + 4 + ] + }, + "docs": null + }, + "282": { + "path": [ + "bounded_collections", + "bounded_btree_set", + "BoundedBTreeSet" + ], + "params": [ + { + "name": "T", + "type": 131 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 283, + "typeName": "BTreeSet\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "283": { + "path": [ + "BTreeSet" + ], + "params": [ + { + "name": "T", + "type": 131 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 284, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "284": { + "path": null, + "def": { + "Sequence": { + "type": 131 + } + }, + "docs": null + }, + "285": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 286 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 288, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "286": { + "path": [ + "cumulus_pallet_xcmp_queue", + "OutboundChannelDetails" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "recipient", + "type": 131, + "typeName": "ParaId", + "docs": null + }, + { + "name": "state", + "type": 287, + "typeName": "OutboundState", + "docs": null + }, + { + "name": "signals_exist", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "first_index", + "type": 140, + "typeName": "u16", + "docs": null + }, + { + "name": "last_index", + "type": 140, + "typeName": "u16", + "docs": null + } + ] + } + }, + "docs": null + }, + "287": { + "path": [ + "cumulus_pallet_xcmp_queue", + "OutboundState" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Ok", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Suspended", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "288": { + "path": null, + "def": { + "Sequence": { + "type": 286 + } + }, + "docs": null + }, + "289": { + "path": null, + "def": { + "Tuple": [ + 131, + 140 + ] + }, + "docs": null + }, + "29": { + "path": [ + "sp_arithmetic", + "ArithmeticError" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Underflow", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Overflow", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "DivisionByZero", + "fields": null, + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "290": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "291": { + "path": [ + "cumulus_pallet_xcmp_queue", + "QueueConfigData" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "suspend_threshold", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "drop_threshold", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "resume_threshold", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "292": { + "path": [ + "cumulus_pallet_xcmp_queue", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "suspend_xcm_execution", + "fields": null, + "index": 1, + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ] + }, + { + "name": "resume_xcm_execution", + "fields": null, + "index": 2, + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ] + }, + { + "name": "update_suspend_threshold", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 3, + "docs": [ + "Overwrites the number of pages which must be in the queue for the other side to be", + "told to suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ] + }, + { + "name": "update_drop_threshold", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 4, + "docs": [ + "Overwrites the number of pages which must be in the queue after which we drop any", + "further messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ] + }, + { + "name": "update_resume_threshold", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 5, + "docs": [ + "Overwrites the number of pages which the queue must be reduced to before it signals", + "that message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "293": { + "path": [ + "cumulus_pallet_xcmp_queue", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "BadQueueConfig", + "fields": null, + "index": 0, + "docs": [ + "Setting the queue config failed since one of its values was invalid." + ] + }, + { + "name": "AlreadySuspended", + "fields": null, + "index": 1, + "docs": [ + "The execution is already suspended." + ] + }, + { + "name": "AlreadyResumed", + "fields": null, + "index": 2, + "docs": [ + "The execution is already resumed." + ] + }, + { + "name": "TooManyActiveOutboundChannels", + "fields": null, + "index": 3, + "docs": [ + "There are too many active outbound channels." + ] + }, + { + "name": "TooBig", + "fields": null, + "index": 4, + "docs": [ + "The message is too big." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "294": { + "path": [ + "pallet_xcm", + "pallet", + "QueryStatus" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Pending", + "fields": [ + { + "name": "responder", + "type": 125, + "typeName": "VersionedLocation", + "docs": null + }, + { + "name": "maybe_match_querier", + "type": 295, + "typeName": "Option\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "maybe_notify", + "type": 296, + "typeName": "Option\u003c(u8, u8)\u003e", + "docs": null + }, + { + "name": "timeout", + "type": 4, + "typeName": "BlockNumber", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "VersionNotifier", + "fields": [ + { + "name": "origin", + "type": 125, + "typeName": "VersionedLocation", + "docs": null + }, + { + "name": "is_active", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Ready", + "fields": [ + { + "name": "response", + "type": 298, + "typeName": "VersionedResponse", + "docs": null + }, + { + "name": "at", + "type": 4, + "typeName": "BlockNumber", + "docs": null + } + ], + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "295": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 125 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 125, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "296": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 297 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 297, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "297": { + "path": null, + "def": { + "Tuple": [ + 2, + 2 + ] + }, + "docs": null + }, + "298": { + "path": [ + "xcm", + "VersionedResponse" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "V3", + "fields": [ + { + "type": 299, + "typeName": "v3::Response", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "V4", + "fields": [ + { + "type": 307, + "typeName": "v4::Response", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "V5", + "fields": [ + { + "type": 74, + "typeName": "v5::Response", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "299": { + "path": [ + "xcm", + "v3", + "Response" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Null", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Assets", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ExecutionResult", + "fields": [ + { + "type": 300, + "typeName": "Option\u003c(u32, Error)\u003e", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "Version", + "fields": [ + { + "type": 4, + "typeName": "super::Version", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "PalletsInfo", + "fields": [ + { + "type": 303, + "typeName": "BoundedVec\u003cPalletInfo, MaxPalletsInfo\u003e", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "DispatchResult", + "fields": [ + { + "type": 81, + "typeName": "MaybeErrorCode", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "3": { + "path": [ + "frame_system", + "AccountInfo" + ], + "params": [ + { + "name": "Nonce", + "type": 4 + }, + { + "name": "AccountData", + "type": 5 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "nonce", + "type": 4, + "typeName": "Nonce", + "docs": null + }, + { + "name": "consumers", + "type": 4, + "typeName": "RefCount", + "docs": null + }, + { + "name": "providers", + "type": 4, + "typeName": "RefCount", + "docs": null + }, + { + "name": "sufficients", + "type": 4, + "typeName": "RefCount", + "docs": null + }, + { + "name": "data", + "type": 5, + "typeName": "AccountData", + "docs": null + } + ] + } + }, + "docs": null + }, + "30": { + "path": [ + "sp_runtime", + "TransactionalError" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "LimitReached", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "NoLayer", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "300": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 301 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 301, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "301": { + "path": null, + "def": { + "Tuple": [ + 4, + 302 + ] + }, + "docs": null + }, + "302": { + "path": [ + "xcm", + "v3", + "traits", + "Error" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Overflow", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Unimplemented", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "UntrustedReserveLocation", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "UntrustedTeleportLocation", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "LocationFull", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "LocationNotInvertible", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "BadOrigin", + "fields": null, + "index": 6, + "docs": null + }, + { + "name": "InvalidLocation", + "fields": null, + "index": 7, + "docs": null + }, + { + "name": "AssetNotFound", + "fields": null, + "index": 8, + "docs": null + }, + { + "name": "FailedToTransactAsset", + "fields": null, + "index": 9, + "docs": null + }, + { + "name": "NotWithdrawable", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "LocationCannotHold", + "fields": null, + "index": 11, + "docs": null + }, + { + "name": "ExceedsMaxMessageSize", + "fields": null, + "index": 12, + "docs": null + }, + { + "name": "DestinationUnsupported", + "fields": null, + "index": 13, + "docs": null + }, + { + "name": "Transport", + "fields": null, + "index": 14, + "docs": null + }, + { + "name": "Unroutable", + "fields": null, + "index": 15, + "docs": null + }, + { + "name": "UnknownClaim", + "fields": null, + "index": 16, + "docs": null + }, + { + "name": "FailedToDecode", + "fields": null, + "index": 17, + "docs": null + }, + { + "name": "MaxWeightInvalid", + "fields": null, + "index": 18, + "docs": null + }, + { + "name": "NotHoldingFees", + "fields": null, + "index": 19, + "docs": null + }, + { + "name": "TooExpensive", + "fields": null, + "index": 20, + "docs": null + }, + { + "name": "Trap", + "fields": [ + { + "type": 12, + "typeName": "u64", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "ExpectationFalse", + "fields": null, + "index": 22, + "docs": null + }, + { + "name": "PalletNotFound", + "fields": null, + "index": 23, + "docs": null + }, + { + "name": "NameMismatch", + "fields": null, + "index": 24, + "docs": null + }, + { + "name": "VersionIncompatible", + "fields": null, + "index": 25, + "docs": null + }, + { + "name": "HoldingWouldOverflow", + "fields": null, + "index": 26, + "docs": null + }, + { + "name": "ExportError", + "fields": null, + "index": 27, + "docs": null + }, + { + "name": "ReanchorFailed", + "fields": null, + "index": 28, + "docs": null + }, + { + "name": "NoDeal", + "fields": null, + "index": 29, + "docs": null + }, + { + "name": "FeesNotMet", + "fields": null, + "index": 30, + "docs": null + }, + { + "name": "LockError", + "fields": null, + "index": 31, + "docs": null + }, + { + "name": "NoPermission", + "fields": null, + "index": 32, + "docs": null + }, + { + "name": "Unanchored", + "fields": null, + "index": 33, + "docs": null + }, + { + "name": "NotDepositable", + "fields": null, + "index": 34, + "docs": null + }, + { + "name": "UnhandledXcmVersion", + "fields": null, + "index": 35, + "docs": null + }, + { + "name": "WeightLimitReached", + "fields": [ + { + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 36, + "docs": null + }, + { + "name": "Barrier", + "fields": null, + "index": 37, + "docs": null + }, + { + "name": "WeightNotComputable", + "fields": null, + "index": 38, + "docs": null + }, + { + "name": "ExceedsStackLimit", + "fields": null, + "index": 39, + "docs": null + } + ] + } + }, + "docs": null + }, + "303": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 304 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 306, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "304": { + "path": [ + "xcm", + "v3", + "PalletInfo" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "index", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "name", + "type": 305, + "typeName": "BoundedVec\u003cu8, MaxPalletNameLen\u003e", + "docs": null + }, + { + "name": "module_name", + "type": 305, + "typeName": "BoundedVec\u003cu8, MaxPalletNameLen\u003e", + "docs": null + }, + { + "name": "major", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "minor", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "patch", + "type": 42, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "305": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "306": { + "path": null, + "def": { + "Sequence": { + "type": 304 + } + }, + "docs": null + }, + "307": { + "path": [ + "staging_xcm", + "v4", + "Response" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Null", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Assets", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ExecutionResult", + "fields": [ + { + "type": 300, + "typeName": "Option\u003c(u32, Error)\u003e", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "Version", + "fields": [ + { + "type": 4, + "typeName": "super::Version", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "PalletsInfo", + "fields": [ + { + "type": 308, + "typeName": "BoundedVec\u003cPalletInfo, MaxPalletsInfo\u003e", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "DispatchResult", + "fields": [ + { + "type": 81, + "typeName": "MaybeErrorCode", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "308": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 309 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 311, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "309": { + "path": [ + "staging_xcm", + "v4", + "PalletInfo" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "index", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "name", + "type": 310, + "typeName": "BoundedVec\u003cu8, MaxPalletNameLen\u003e", + "docs": null + }, + { + "name": "module_name", + "type": 310, + "typeName": "BoundedVec\u003cu8, MaxPalletNameLen\u003e", + "docs": null + }, + { + "name": "major", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "minor", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "patch", + "type": 42, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "31": { + "path": [ + "sp_runtime", + "proving_trie", + "TrieError" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "InvalidStateRoot", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "IncompleteDatabase", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "ValueAtIncompleteKey", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "DecoderError", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "InvalidHash", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "DuplicateKey", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "ExtraneousNode", + "fields": null, + "index": 6, + "docs": null + }, + { + "name": "ExtraneousValue", + "fields": null, + "index": 7, + "docs": null + }, + { + "name": "ExtraneousHashReference", + "fields": null, + "index": 8, + "docs": null + }, + { + "name": "InvalidChildReference", + "fields": null, + "index": 9, + "docs": null + }, + { + "name": "ValueMismatch", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "IncompleteProof", + "fields": null, + "index": 11, + "docs": null + }, + { + "name": "RootMismatch", + "fields": null, + "index": 12, + "docs": null + }, + { + "name": "DecodeError", + "fields": null, + "index": 13, + "docs": null + } + ] + } + }, + "docs": null + }, + "310": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "311": { + "path": null, + "def": { + "Sequence": { + "type": 309 + } + }, + "docs": null + }, + "312": { + "path": null, + "def": { + "Tuple": [ + 4, + 125 + ] + }, + "docs": null + }, + "313": { + "path": null, + "def": { + "Tuple": [ + 12, + 10, + 4 + ] + }, + "docs": null + }, + "314": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 315 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 316, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "315": { + "path": null, + "def": { + "Tuple": [ + 125, + 4 + ] + }, + "docs": null + }, + "316": { + "path": null, + "def": { + "Sequence": { + "type": 315 + } + }, + "docs": null + }, + "317": { + "path": [ + "pallet_xcm", + "pallet", + "VersionMigrationStage" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "MigrateSupportedVersion", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "MigrateVersionNotifiers", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "NotifyCurrentTargets", + "fields": [ + { + "type": 318, + "typeName": "Option\u003cVec\u003cu8\u003e\u003e", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "MigrateAndNotifyOldTargets", + "fields": null, + "index": 3, + "docs": null + } + ] + } + }, + "docs": null + }, + "318": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 14 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 14, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "319": { + "path": null, + "def": { + "Tuple": [ + 4, + 0, + 320 + ] + }, + "docs": null + }, + "32": { + "path": [ + "cumulus_pallet_parachain_system", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "ValidationFunctionStored", + "fields": null, + "index": 0, + "docs": [ + "The validation function has been scheduled to apply." + ] + }, + { + "name": "ValidationFunctionApplied", + "fields": [ + { + "name": "relay_chain_block_num", + "type": 4, + "typeName": "RelayChainBlockNumber", + "docs": null + } + ], + "index": 1, + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ] + }, + { + "name": "ValidationFunctionDiscarded", + "fields": null, + "index": 2, + "docs": [ + "The relay-chain aborted the upgrade process." + ] + }, + { + "name": "DownwardMessagesReceived", + "fields": [ + { + "name": "count", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 3, + "docs": [ + "Some downward messages have been received and will be processed." + ] + }, + { + "name": "DownwardMessagesProcessed", + "fields": [ + { + "name": "weight_used", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "dmq_head", + "type": 13, + "typeName": "relay_chain::Hash", + "docs": null + } + ], + "index": 4, + "docs": [ + "Downward messages were processed using the given weight." + ] + }, + { + "name": "UpwardMessageSent", + "fields": [ + { + "name": "message_hash", + "type": 33, + "typeName": "Option\u003cXcmHash\u003e", + "docs": null + } + ], + "index": 5, + "docs": [ + "An upward message was sent to the relay chain." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "320": { + "path": [ + "xcm", + "VersionedAssetId" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "V3", + "fields": [ + { + "type": 98, + "typeName": "v3::AssetId", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "V4", + "fields": [ + { + "type": 109, + "typeName": "v4::AssetId", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "V5", + "fields": [ + { + "type": 69, + "typeName": "v5::AssetId", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "321": { + "path": [ + "pallet_xcm", + "pallet", + "RemoteLockedFungibleRecord" + ], + "params": [ + { + "name": "ConsumerIdentifier", + "type": 135 + }, + { + "name": "MaxConsumers", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "u128", + "docs": null + }, + { + "name": "owner", + "type": 125, + "typeName": "VersionedLocation", + "docs": null + }, + { + "name": "locker", + "type": 125, + "typeName": "VersionedLocation", + "docs": null + }, + { + "name": "consumers", + "type": 322, + "typeName": "BoundedVec\u003c(ConsumerIdentifier, u128), MaxConsumers\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "322": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 323 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 324, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "323": { + "path": null, + "def": { + "Tuple": [ + 135, + 6 + ] + }, + "docs": null + }, + "324": { + "path": null, + "def": { + "Sequence": { + "type": 323 + } + }, + "docs": null + }, + "325": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 326 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 327, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "326": { + "path": null, + "def": { + "Tuple": [ + 6, + 125 + ] + }, + "docs": null + }, + "327": { + "path": null, + "def": { + "Sequence": { + "type": 326 + } + }, + "docs": null + }, + "328": { + "path": [ + "pallet_xcm", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "send", + "fields": [ + { + "name": "dest", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "message", + "type": 329, + "typeName": "Box\u003cVersionedXcm\u003c()\u003e\u003e", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "teleport_assets", + "fields": [ + { + "name": "dest", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "assets", + "type": 94, + "typeName": "Box\u003cVersionedAssets\u003e", + "docs": null + }, + { + "name": "fee_asset_item", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 1, + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "**This function is deprecated: Use `limited_teleport_assets` instead.**", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` chain.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ] + }, + { + "name": "reserve_transfer_assets", + "fields": [ + { + "name": "dest", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "assets", + "type": 94, + "typeName": "Box\u003cVersionedAssets\u003e", + "docs": null + }, + { + "name": "fee_asset_item", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 2, + "docs": [ + "Transfer some assets from the local chain to the destination chain through their local,", + "destination or remote reserve.", + "", + "`assets` must have same reserve location and may not be teleportable to `dest`.", + " - `assets` have local reserve: transfer assets to sovereign account of destination", + " chain and forward a notification XCM to `dest` to mint and deposit reserve-based", + " assets to `beneficiary`.", + " - `assets` have destination reserve: burn local assets and forward a notification to", + " `dest` chain to withdraw the reserve assets from this chain's sovereign account and", + " deposit them to `beneficiary`.", + " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move", + " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`", + " to mint and deposit reserve-based assets to `beneficiary`.", + "", + "**This function is deprecated: Use `limited_reserve_transfer_assets` instead.**", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ] + }, + { + "name": "execute", + "fields": [ + { + "name": "message", + "type": 346, + "typeName": "Box\u003cVersionedXcm\u003c\u003cT as Config\u003e::RuntimeCall\u003e\u003e", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 3, + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than", + "the maximum amount of weight that the message could take to be executed, then no", + "execution attempt will be made." + ] + }, + { + "name": "force_xcm_version", + "fields": [ + { + "name": "location", + "type": 38, + "typeName": "Box\u003cLocation\u003e", + "docs": null + }, + { + "name": "version", + "type": 4, + "typeName": "XcmVersion", + "docs": null + } + ], + "index": 4, + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ] + }, + { + "name": "force_default_xcm_version", + "fields": [ + { + "name": "maybe_xcm_version", + "type": 145, + "typeName": "Option\u003cXcmVersion\u003e", + "docs": null + } + ], + "index": 5, + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ] + }, + { + "name": "force_subscribe_version_notify", + "fields": [ + { + "name": "location", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + } + ], + "index": 6, + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ] + }, + { + "name": "force_unsubscribe_version_notify", + "fields": [ + { + "name": "location", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + } + ], + "index": 7, + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ] + }, + { + "name": "limited_reserve_transfer_assets", + "fields": [ + { + "name": "dest", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "assets", + "type": 94, + "typeName": "Box\u003cVersionedAssets\u003e", + "docs": null + }, + { + "name": "fee_asset_item", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 8, + "docs": [ + "Transfer some assets from the local chain to the destination chain through their local,", + "destination or remote reserve.", + "", + "`assets` must have same reserve location and may not be teleportable to `dest`.", + " - `assets` have local reserve: transfer assets to sovereign account of destination", + " chain and forward a notification XCM to `dest` to mint and deposit reserve-based", + " assets to `beneficiary`.", + " - `assets` have destination reserve: burn local assets and forward a notification to", + " `dest` chain to withdraw the reserve assets from this chain's sovereign account and", + " deposit them to `beneficiary`.", + " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move", + " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`", + " to mint and deposit reserve-based assets to `beneficiary`.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the sent assets may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ] + }, + { + "name": "limited_teleport_assets", + "fields": [ + { + "name": "dest", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "assets", + "type": 94, + "typeName": "Box\u003cVersionedAssets\u003e", + "docs": null + }, + { + "name": "fee_asset_item", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 9, + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the sent assets may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` chain.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ] + }, + { + "name": "force_suspension", + "fields": [ + { + "name": "suspended", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 10, + "docs": [ + "Set or unset the global suspension state of the XCM executor.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `suspended`: `true` to suspend, `false` to resume." + ] + }, + { + "name": "transfer_assets", + "fields": [ + { + "name": "dest", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "assets", + "type": 94, + "typeName": "Box\u003cVersionedAssets\u003e", + "docs": null + }, + { + "name": "fee_asset_item", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 11, + "docs": [ + "Transfer some assets from the local chain to the destination chain through their local,", + "destination or remote reserve, or through teleports.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item` (hence referred to as `fees`), up to enough to pay for", + "`weight_limit` of weight. If more weight is needed than `weight_limit`, then the", + "operation will fail and the sent assets may be at risk.", + "", + "`assets` (excluding `fees`) must have same reserve location or otherwise be teleportable", + "to `dest`, no limitations imposed on `fees`.", + " - for local reserve: transfer assets to sovereign account of destination chain and", + " forward a notification XCM to `dest` to mint and deposit reserve-based assets to", + " `beneficiary`.", + " - for destination reserve: burn local assets and forward a notification to `dest` chain", + " to withdraw the reserve assets from this chain's sovereign account and deposit them", + " to `beneficiary`.", + " - for remote reserve: burn local assets, forward XCM to reserve chain to move reserves", + " from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` to mint", + " and deposit reserve-based assets to `beneficiary`.", + " - for teleports: burn local assets and forward XCM to `dest` chain to mint/teleport", + " assets and deposit them to `beneficiary`.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent,", + " Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send", + " from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ] + }, + { + "name": "claim_assets", + "fields": [ + { + "name": "assets", + "type": 94, + "typeName": "Box\u003cVersionedAssets\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + } + ], + "index": 12, + "docs": [ + "Claims assets trapped on this pallet because of leftover assets during XCM execution.", + "", + "- `origin`: Anyone can call this extrinsic.", + "- `assets`: The exact assets that were trapped. Use the version to specify what version", + "was the latest when they were trapped.", + "- `beneficiary`: The location/account where the claimed assets will be deposited." + ] + }, + { + "name": "transfer_assets_using_type_and_then", + "fields": [ + { + "name": "dest", + "type": 125, + "typeName": "Box\u003cVersionedLocation\u003e", + "docs": null + }, + { + "name": "assets", + "type": 94, + "typeName": "Box\u003cVersionedAssets\u003e", + "docs": null + }, + { + "name": "assets_transfer_type", + "type": 357, + "typeName": "Box\u003cTransferType\u003e", + "docs": null + }, + { + "name": "remote_fees_id", + "type": 320, + "typeName": "Box\u003cVersionedAssetId\u003e", + "docs": null + }, + { + "name": "fees_transfer_type", + "type": 357, + "typeName": "Box\u003cTransferType\u003e", + "docs": null + }, + { + "name": "custom_xcm_on_dest", + "type": 329, + "typeName": "Box\u003cVersionedXcm\u003c()\u003e\u003e", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 13, + "docs": [ + "Transfer assets from the local chain to the destination chain using explicit transfer", + "types for assets and fees.", + "", + "`assets` must have same reserve location or may be teleportable to `dest`. Caller must", + "provide the `assets_transfer_type` to be used for `assets`:", + " - `TransferType::LocalReserve`: transfer assets to sovereign account of destination", + " chain and forward a notification XCM to `dest` to mint and deposit reserve-based", + " assets to `beneficiary`.", + " - `TransferType::DestinationReserve`: burn local assets and forward a notification to", + " `dest` chain to withdraw the reserve assets from this chain's sovereign account and", + " deposit them to `beneficiary`.", + " - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve`", + " chain to move reserves from this chain's SA to `dest` chain's SA, and forward another", + " XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically", + " the remote `reserve` is Asset Hub.", + " - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to", + " mint/teleport assets and deposit them to `beneficiary`.", + "", + "On the destination chain, as well as any intermediary hops, `BuyExecution` is used to", + "buy execution using transferred `assets` identified by `remote_fees_id`.", + "Make sure enough of the specified `remote_fees_id` asset is included in the given list", + "of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight", + "is needed than `weight_limit`, then the operation will fail and the sent assets may be", + "at risk.", + "", + "`remote_fees_id` may use different transfer type than rest of `assets` and can be", + "specified through `fees_transfer_type`.", + "", + "The caller needs to specify what should happen to the transferred assets once they reach", + "the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which", + "contains the instructions to execute on `dest` as a final step.", + " This is usually as simple as:", + " `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`,", + " but could be something more exotic like sending the `assets` even further.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from", + " parachain across a bridge to another ecosystem destination.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`.", + "- `remote_fees_id`: One of the included `assets` to be used to pay fees.", + "- `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets.", + "- `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the", + " transfer, which also determines what happens to the assets on the destination chain.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "329": { + "path": [ + "xcm", + "VersionedXcm" + ], + "params": [ + { + "name": "RuntimeCall", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "V3", + "fields": [ + { + "type": 330, + "typeName": "v3::Xcm\u003cRuntimeCall\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "V4", + "fields": [ + { + "type": 338, + "typeName": "v4::Xcm\u003cRuntimeCall\u003e", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "V5", + "fields": [ + { + "type": 63, + "typeName": "v5::Xcm\u003cRuntimeCall\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "33": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 1 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 1, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "330": { + "path": [ + "xcm", + "v3", + "Xcm" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 331, + "typeName": "Vec\u003cInstruction\u003cCall\u003e\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "331": { + "path": null, + "def": { + "Sequence": { + "type": 332 + } + }, + "docs": null + }, + "332": { + "path": [ + "xcm", + "v3", + "Instruction" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "response", + "type": 299, + "typeName": "Response", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "querier", + "type": 333, + "typeName": "Option\u003cMultiLocation\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 95, + "typeName": "MultiAssets", + "docs": null + }, + { + "name": "beneficiary", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 95, + "typeName": "MultiAssets", + "docs": null + }, + { + "name": "dest", + "type": 99, + "typeName": "MultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_kind", + "type": 84, + "typeName": "OriginKind", + "docs": null + }, + { + "name": "require_weight_at_most", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "call", + "type": 85, + "typeName": "DoubleEncoded\u003cCall\u003e", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_message_size", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_capacity", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 9, + "docs": null + }, + { + "name": "ClearOrigin", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 100, + "typeName": "InteriorMultiLocation", + "docs": null + } + ], + "index": 11, + "docs": null + }, + { + "name": "ReportError", + "fields": [ + { + "type": 334, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 12, + "docs": null + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "beneficiary", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 13, + "docs": null + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 99, + "typeName": "MultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 14, + "docs": null + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "want", + "type": 95, + "typeName": "MultiAssets", + "docs": null + }, + { + "name": "maximal", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": null + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "reserve", + "type": 99, + "typeName": "MultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 16, + "docs": null + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 99, + "typeName": "MultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 17, + "docs": null + }, + { + "name": "ReportHolding", + "fields": [ + { + "name": "response_info", + "type": 334, + "typeName": "QueryResponseInfo", + "docs": null + }, + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + } + ], + "index": 18, + "docs": null + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 19, + "docs": null + }, + { + "name": "RefundSurplus", + "fields": null, + "index": 20, + "docs": null + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 330, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 330, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 22, + "docs": null + }, + { + "name": "ClearError", + "fields": null, + "index": 23, + "docs": null + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 95, + "typeName": "MultiAssets", + "docs": null + }, + { + "name": "ticket", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 24, + "docs": null + }, + { + "name": "Trap", + "fields": [ + { + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 25, + "docs": null + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 26, + "docs": null + }, + { + "name": "UnsubscribeVersion", + "fields": null, + "index": 27, + "docs": null + }, + { + "name": "BurnAsset", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 28, + "docs": null + }, + { + "name": "ExpectAsset", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 29, + "docs": null + }, + { + "name": "ExpectOrigin", + "fields": [ + { + "type": 333, + "typeName": "Option\u003cMultiLocation\u003e", + "docs": null + } + ], + "index": 30, + "docs": null + }, + { + "name": "ExpectError", + "fields": [ + { + "type": 300, + "typeName": "Option\u003c(u32, Error)\u003e", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "ExpectTransactStatus", + "fields": [ + { + "type": 81, + "typeName": "MaybeErrorCode", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "QueryPallet", + "fields": [ + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "response_info", + "type": 334, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 33, + "docs": null + }, + { + "name": "ExpectPallet", + "fields": [ + { + "name": "index", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "crate_major", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "min_crate_minor", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 34, + "docs": null + }, + { + "name": "ReportTransactStatus", + "fields": [ + { + "type": 334, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 35, + "docs": null + }, + { + "name": "ClearTransactStatus", + "fields": null, + "index": 36, + "docs": null + }, + { + "name": "UniversalOrigin", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 37, + "docs": null + }, + { + "name": "ExportMessage", + "fields": [ + { + "name": "network", + "type": 103, + "typeName": "NetworkId", + "docs": null + }, + { + "name": "destination", + "type": 100, + "typeName": "InteriorMultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 38, + "docs": null + }, + { + "name": "LockAsset", + "fields": [ + { + "name": "asset", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "unlocker", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 39, + "docs": null + }, + { + "name": "UnlockAsset", + "fields": [ + { + "name": "asset", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "target", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 40, + "docs": null + }, + { + "name": "NoteUnlockable", + "fields": [ + { + "name": "asset", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "owner", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 41, + "docs": null + }, + { + "name": "RequestUnlock", + "fields": [ + { + "name": "asset", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "locker", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 42, + "docs": null + }, + { + "name": "SetFeesMode", + "fields": [ + { + "name": "jit_withdraw", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 43, + "docs": null + }, + { + "name": "SetTopic", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 44, + "docs": null + }, + { + "name": "ClearTopic", + "fields": null, + "index": 45, + "docs": null + }, + { + "name": "AliasOrigin", + "fields": [ + { + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 46, + "docs": null + }, + { + "name": "UnpaidExecution", + "fields": [ + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + }, + { + "name": "check_origin", + "type": 333, + "typeName": "Option\u003cMultiLocation\u003e", + "docs": null + } + ], + "index": 47, + "docs": null + } + ] + } + }, + "docs": null + }, + "333": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 99 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 99, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "334": { + "path": [ + "xcm", + "v3", + "QueryResponseInfo" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "destination", + "type": 99, + "typeName": "MultiLocation", + "docs": null + }, + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ] + } + }, + "docs": null + }, + "335": { + "path": [ + "xcm", + "v3", + "multiasset", + "MultiAssetFilter" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Definite", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Wild", + "fields": [ + { + "type": 336, + "typeName": "WildMultiAsset", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "336": { + "path": [ + "xcm", + "v3", + "multiasset", + "WildMultiAsset" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "All", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "AllOf", + "fields": [ + { + "name": "id", + "type": 98, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fun", + "type": 337, + "typeName": "WildFungibility", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "AllCounted", + "fields": [ + { + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "AllOfCounted", + "fields": [ + { + "name": "id", + "type": 98, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fun", + "type": 337, + "typeName": "WildFungibility", + "docs": null + }, + { + "name": "count", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 3, + "docs": null + } + ] + } + }, + "docs": null + }, + "337": { + "path": [ + "xcm", + "v3", + "multiasset", + "WildFungibility" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Fungible", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "NonFungible", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "338": { + "path": [ + "staging_xcm", + "v4", + "Xcm" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 339, + "typeName": "Vec\u003cInstruction\u003cCall\u003e\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "339": { + "path": null, + "def": { + "Sequence": { + "type": 340 + } + }, + "docs": null + }, + "34": { + "path": [ + "pallet_balances", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Endowed", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "free_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 0, + "docs": [ + "An account was created with some free balance." + ] + }, + { + "name": "DustLost", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ] + }, + { + "name": "Transfer", + "fields": [ + { + "name": "from", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 2, + "docs": [ + "Transfer succeeded." + ] + }, + { + "name": "BalanceSet", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "free", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 3, + "docs": [ + "A balance was set by root." + ] + }, + { + "name": "Reserved", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 4, + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ] + }, + { + "name": "Unreserved", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 5, + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ] + }, + { + "name": "ReserveRepatriated", + "fields": [ + { + "name": "from", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "destination_status", + "type": 35, + "typeName": "Status", + "docs": null + } + ], + "index": 6, + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ] + }, + { + "name": "Deposit", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 7, + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ] + }, + { + "name": "Withdraw", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 8, + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ] + }, + { + "name": "Slashed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 9, + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ] + }, + { + "name": "Minted", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 10, + "docs": [ + "Some amount was minted into an account." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 11, + "docs": [ + "Some amount was burned from an account." + ] + }, + { + "name": "Suspended", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 12, + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ] + }, + { + "name": "Restored", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 13, + "docs": [ + "Some amount was restored into an account." + ] + }, + { + "name": "Upgraded", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 14, + "docs": [ + "An account was upgraded." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 15, + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ] + }, + { + "name": "Rescinded", + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 16, + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ] + }, + { + "name": "Locked", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 17, + "docs": [ + "Some balance was locked." + ] + }, + { + "name": "Unlocked", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 18, + "docs": [ + "Some balance was unlocked." + ] + }, + { + "name": "Frozen", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 19, + "docs": [ + "Some balance was frozen." + ] + }, + { + "name": "Thawed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 20, + "docs": [ + "Some balance was thawed." + ] + }, + { + "name": "TotalIssuanceForced", + "fields": [ + { + "name": "old", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "new", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 21, + "docs": [ + "The `TotalIssuance` was forcefully changed." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "340": { + "path": [ + "staging_xcm", + "v4", + "Instruction" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "response", + "type": 307, + "typeName": "Response", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "querier", + "type": 341, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 106, + "typeName": "Assets", + "docs": null + }, + { + "name": "beneficiary", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 106, + "typeName": "Assets", + "docs": null + }, + { + "name": "dest", + "type": 110, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_kind", + "type": 84, + "typeName": "OriginKind", + "docs": null + }, + { + "name": "require_weight_at_most", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "call", + "type": 85, + "typeName": "DoubleEncoded\u003cCall\u003e", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_message_size", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_capacity", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 9, + "docs": null + }, + { + "name": "ClearOrigin", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 111, + "typeName": "InteriorLocation", + "docs": null + } + ], + "index": 11, + "docs": null + }, + { + "name": "ReportError", + "fields": [ + { + "type": 342, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 12, + "docs": null + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "beneficiary", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 13, + "docs": null + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 110, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 14, + "docs": null + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "want", + "type": 106, + "typeName": "Assets", + "docs": null + }, + { + "name": "maximal", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": null + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "reserve", + "type": 110, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 16, + "docs": null + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 110, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 17, + "docs": null + }, + { + "name": "ReportHolding", + "fields": [ + { + "name": "response_info", + "type": 342, + "typeName": "QueryResponseInfo", + "docs": null + }, + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + } + ], + "index": 18, + "docs": null + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 19, + "docs": null + }, + { + "name": "RefundSurplus", + "fields": null, + "index": 20, + "docs": null + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 338, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 338, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 22, + "docs": null + }, + { + "name": "ClearError", + "fields": null, + "index": 23, + "docs": null + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 106, + "typeName": "Assets", + "docs": null + }, + { + "name": "ticket", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 24, + "docs": null + }, + { + "name": "Trap", + "fields": [ + { + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 25, + "docs": null + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 26, + "docs": null + }, + { + "name": "UnsubscribeVersion", + "fields": null, + "index": 27, + "docs": null + }, + { + "name": "BurnAsset", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 28, + "docs": null + }, + { + "name": "ExpectAsset", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 29, + "docs": null + }, + { + "name": "ExpectOrigin", + "fields": [ + { + "type": 341, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 30, + "docs": null + }, + { + "name": "ExpectError", + "fields": [ + { + "type": 300, + "typeName": "Option\u003c(u32, Error)\u003e", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "ExpectTransactStatus", + "fields": [ + { + "type": 81, + "typeName": "MaybeErrorCode", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "QueryPallet", + "fields": [ + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "response_info", + "type": 342, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 33, + "docs": null + }, + { + "name": "ExpectPallet", + "fields": [ + { + "name": "index", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "crate_major", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "min_crate_minor", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 34, + "docs": null + }, + { + "name": "ReportTransactStatus", + "fields": [ + { + "type": 342, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 35, + "docs": null + }, + { + "name": "ClearTransactStatus", + "fields": null, + "index": 36, + "docs": null + }, + { + "name": "UniversalOrigin", + "fields": [ + { + "type": 113, + "typeName": "Junction", + "docs": null + } + ], + "index": 37, + "docs": null + }, + { + "name": "ExportMessage", + "fields": [ + { + "name": "network", + "type": 115, + "typeName": "NetworkId", + "docs": null + }, + { + "name": "destination", + "type": 111, + "typeName": "InteriorLocation", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 38, + "docs": null + }, + { + "name": "LockAsset", + "fields": [ + { + "name": "asset", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "unlocker", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 39, + "docs": null + }, + { + "name": "UnlockAsset", + "fields": [ + { + "name": "asset", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "target", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 40, + "docs": null + }, + { + "name": "NoteUnlockable", + "fields": [ + { + "name": "asset", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "owner", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 41, + "docs": null + }, + { + "name": "RequestUnlock", + "fields": [ + { + "name": "asset", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "locker", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 42, + "docs": null + }, + { + "name": "SetFeesMode", + "fields": [ + { + "name": "jit_withdraw", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 43, + "docs": null + }, + { + "name": "SetTopic", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 44, + "docs": null + }, + { + "name": "ClearTopic", + "fields": null, + "index": 45, + "docs": null + }, + { + "name": "AliasOrigin", + "fields": [ + { + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 46, + "docs": null + }, + { + "name": "UnpaidExecution", + "fields": [ + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + }, + { + "name": "check_origin", + "type": 341, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 47, + "docs": null + } + ] + } + }, + "docs": null + }, + "341": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 110 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 110, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "342": { + "path": [ + "staging_xcm", + "v4", + "QueryResponseInfo" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "destination", + "type": 110, + "typeName": "Location", + "docs": null + }, + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ] + } + }, + "docs": null + }, + "343": { + "path": [ + "staging_xcm", + "v4", + "asset", + "AssetFilter" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Definite", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Wild", + "fields": [ + { + "type": 344, + "typeName": "WildAsset", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "344": { + "path": [ + "staging_xcm", + "v4", + "asset", + "WildAsset" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "All", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "AllOf", + "fields": [ + { + "name": "id", + "type": 109, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fun", + "type": 345, + "typeName": "WildFungibility", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "AllCounted", + "fields": [ + { + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "AllOfCounted", + "fields": [ + { + "name": "id", + "type": 109, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fun", + "type": 345, + "typeName": "WildFungibility", + "docs": null + }, + { + "name": "count", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 3, + "docs": null + } + ] + } + }, + "docs": null + }, + "345": { + "path": [ + "staging_xcm", + "v4", + "asset", + "WildFungibility" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Fungible", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "NonFungible", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "346": { + "path": [ + "xcm", + "VersionedXcm" + ], + "params": [ + { + "name": "RuntimeCall", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "V3", + "fields": [ + { + "type": 347, + "typeName": "v3::Xcm\u003cRuntimeCall\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "V4", + "fields": [ + { + "type": 351, + "typeName": "v4::Xcm\u003cRuntimeCall\u003e", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "V5", + "fields": [ + { + "type": 354, + "typeName": "v5::Xcm\u003cRuntimeCall\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "347": { + "path": [ + "xcm", + "v3", + "Xcm" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 348, + "typeName": "Vec\u003cInstruction\u003cCall\u003e\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "348": { + "path": null, + "def": { + "Sequence": { + "type": 349 + } + }, + "docs": null + }, + "349": { + "path": [ + "xcm", + "v3", + "Instruction" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "response", + "type": 299, + "typeName": "Response", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "querier", + "type": 333, + "typeName": "Option\u003cMultiLocation\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 95, + "typeName": "MultiAssets", + "docs": null + }, + { + "name": "beneficiary", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 95, + "typeName": "MultiAssets", + "docs": null + }, + { + "name": "dest", + "type": 99, + "typeName": "MultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_kind", + "type": 84, + "typeName": "OriginKind", + "docs": null + }, + { + "name": "require_weight_at_most", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "call", + "type": 350, + "typeName": "DoubleEncoded\u003cCall\u003e", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_message_size", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_capacity", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 9, + "docs": null + }, + { + "name": "ClearOrigin", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 100, + "typeName": "InteriorMultiLocation", + "docs": null + } + ], + "index": 11, + "docs": null + }, + { + "name": "ReportError", + "fields": [ + { + "type": 334, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 12, + "docs": null + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "beneficiary", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 13, + "docs": null + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 99, + "typeName": "MultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 14, + "docs": null + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "want", + "type": 95, + "typeName": "MultiAssets", + "docs": null + }, + { + "name": "maximal", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": null + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "reserve", + "type": 99, + "typeName": "MultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 16, + "docs": null + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 99, + "typeName": "MultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 17, + "docs": null + }, + { + "name": "ReportHolding", + "fields": [ + { + "name": "response_info", + "type": 334, + "typeName": "QueryResponseInfo", + "docs": null + }, + { + "name": "assets", + "type": 335, + "typeName": "MultiAssetFilter", + "docs": null + } + ], + "index": 18, + "docs": null + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 19, + "docs": null + }, + { + "name": "RefundSurplus", + "fields": null, + "index": 20, + "docs": null + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 347, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 347, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 22, + "docs": null + }, + { + "name": "ClearError", + "fields": null, + "index": 23, + "docs": null + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 95, + "typeName": "MultiAssets", + "docs": null + }, + { + "name": "ticket", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 24, + "docs": null + }, + { + "name": "Trap", + "fields": [ + { + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 25, + "docs": null + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 26, + "docs": null + }, + { + "name": "UnsubscribeVersion", + "fields": null, + "index": 27, + "docs": null + }, + { + "name": "BurnAsset", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 28, + "docs": null + }, + { + "name": "ExpectAsset", + "fields": [ + { + "type": 95, + "typeName": "MultiAssets", + "docs": null + } + ], + "index": 29, + "docs": null + }, + { + "name": "ExpectOrigin", + "fields": [ + { + "type": 333, + "typeName": "Option\u003cMultiLocation\u003e", + "docs": null + } + ], + "index": 30, + "docs": null + }, + { + "name": "ExpectError", + "fields": [ + { + "type": 300, + "typeName": "Option\u003c(u32, Error)\u003e", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "ExpectTransactStatus", + "fields": [ + { + "type": 81, + "typeName": "MaybeErrorCode", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "QueryPallet", + "fields": [ + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "response_info", + "type": 334, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 33, + "docs": null + }, + { + "name": "ExpectPallet", + "fields": [ + { + "name": "index", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "crate_major", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "min_crate_minor", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 34, + "docs": null + }, + { + "name": "ReportTransactStatus", + "fields": [ + { + "type": 334, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 35, + "docs": null + }, + { + "name": "ClearTransactStatus", + "fields": null, + "index": 36, + "docs": null + }, + { + "name": "UniversalOrigin", + "fields": [ + { + "type": 101, + "typeName": "Junction", + "docs": null + } + ], + "index": 37, + "docs": null + }, + { + "name": "ExportMessage", + "fields": [ + { + "name": "network", + "type": 103, + "typeName": "NetworkId", + "docs": null + }, + { + "name": "destination", + "type": 100, + "typeName": "InteriorMultiLocation", + "docs": null + }, + { + "name": "xcm", + "type": 330, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 38, + "docs": null + }, + { + "name": "LockAsset", + "fields": [ + { + "name": "asset", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "unlocker", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 39, + "docs": null + }, + { + "name": "UnlockAsset", + "fields": [ + { + "name": "asset", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "target", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 40, + "docs": null + }, + { + "name": "NoteUnlockable", + "fields": [ + { + "name": "asset", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "owner", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 41, + "docs": null + }, + { + "name": "RequestUnlock", + "fields": [ + { + "name": "asset", + "type": 97, + "typeName": "MultiAsset", + "docs": null + }, + { + "name": "locker", + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 42, + "docs": null + }, + { + "name": "SetFeesMode", + "fields": [ + { + "name": "jit_withdraw", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 43, + "docs": null + }, + { + "name": "SetTopic", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 44, + "docs": null + }, + { + "name": "ClearTopic", + "fields": null, + "index": 45, + "docs": null + }, + { + "name": "AliasOrigin", + "fields": [ + { + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 46, + "docs": null + }, + { + "name": "UnpaidExecution", + "fields": [ + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + }, + { + "name": "check_origin", + "type": 333, + "typeName": "Option\u003cMultiLocation\u003e", + "docs": null + } + ], + "index": 47, + "docs": null + } + ] + } + }, + "docs": null + }, + "35": { + "path": [ + "frame_support", + "traits", + "tokens", + "misc", + "BalanceStatus" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Free", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Reserved", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "350": { + "path": [ + "xcm", + "double_encoded", + "DoubleEncoded" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "encoded", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "351": { + "path": [ + "staging_xcm", + "v4", + "Xcm" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 352, + "typeName": "Vec\u003cInstruction\u003cCall\u003e\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "352": { + "path": null, + "def": { + "Sequence": { + "type": 353 + } + }, + "docs": null + }, + "353": { + "path": [ + "staging_xcm", + "v4", + "Instruction" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "response", + "type": 307, + "typeName": "Response", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "querier", + "type": 341, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 106, + "typeName": "Assets", + "docs": null + }, + { + "name": "beneficiary", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 106, + "typeName": "Assets", + "docs": null + }, + { + "name": "dest", + "type": 110, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_kind", + "type": 84, + "typeName": "OriginKind", + "docs": null + }, + { + "name": "require_weight_at_most", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "call", + "type": 350, + "typeName": "DoubleEncoded\u003cCall\u003e", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_message_size", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_capacity", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 9, + "docs": null + }, + { + "name": "ClearOrigin", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 111, + "typeName": "InteriorLocation", + "docs": null + } + ], + "index": 11, + "docs": null + }, + { + "name": "ReportError", + "fields": [ + { + "type": 342, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 12, + "docs": null + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "beneficiary", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 13, + "docs": null + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 110, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 14, + "docs": null + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "want", + "type": 106, + "typeName": "Assets", + "docs": null + }, + { + "name": "maximal", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": null + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "reserve", + "type": 110, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 16, + "docs": null + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 110, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 17, + "docs": null + }, + { + "name": "ReportHolding", + "fields": [ + { + "name": "response_info", + "type": 342, + "typeName": "QueryResponseInfo", + "docs": null + }, + { + "name": "assets", + "type": 343, + "typeName": "AssetFilter", + "docs": null + } + ], + "index": 18, + "docs": null + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 19, + "docs": null + }, + { + "name": "RefundSurplus", + "fields": null, + "index": 20, + "docs": null + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 351, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 351, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 22, + "docs": null + }, + { + "name": "ClearError", + "fields": null, + "index": 23, + "docs": null + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 106, + "typeName": "Assets", + "docs": null + }, + { + "name": "ticket", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 24, + "docs": null + }, + { + "name": "Trap", + "fields": [ + { + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 25, + "docs": null + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 26, + "docs": null + }, + { + "name": "UnsubscribeVersion", + "fields": null, + "index": 27, + "docs": null + }, + { + "name": "BurnAsset", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 28, + "docs": null + }, + { + "name": "ExpectAsset", + "fields": [ + { + "type": 106, + "typeName": "Assets", + "docs": null + } + ], + "index": 29, + "docs": null + }, + { + "name": "ExpectOrigin", + "fields": [ + { + "type": 341, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 30, + "docs": null + }, + { + "name": "ExpectError", + "fields": [ + { + "type": 300, + "typeName": "Option\u003c(u32, Error)\u003e", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "ExpectTransactStatus", + "fields": [ + { + "type": 81, + "typeName": "MaybeErrorCode", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "QueryPallet", + "fields": [ + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "response_info", + "type": 342, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 33, + "docs": null + }, + { + "name": "ExpectPallet", + "fields": [ + { + "name": "index", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "crate_major", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "min_crate_minor", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 34, + "docs": null + }, + { + "name": "ReportTransactStatus", + "fields": [ + { + "type": 342, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 35, + "docs": null + }, + { + "name": "ClearTransactStatus", + "fields": null, + "index": 36, + "docs": null + }, + { + "name": "UniversalOrigin", + "fields": [ + { + "type": 113, + "typeName": "Junction", + "docs": null + } + ], + "index": 37, + "docs": null + }, + { + "name": "ExportMessage", + "fields": [ + { + "name": "network", + "type": 115, + "typeName": "NetworkId", + "docs": null + }, + { + "name": "destination", + "type": 111, + "typeName": "InteriorLocation", + "docs": null + }, + { + "name": "xcm", + "type": 338, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 38, + "docs": null + }, + { + "name": "LockAsset", + "fields": [ + { + "name": "asset", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "unlocker", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 39, + "docs": null + }, + { + "name": "UnlockAsset", + "fields": [ + { + "name": "asset", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "target", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 40, + "docs": null + }, + { + "name": "NoteUnlockable", + "fields": [ + { + "name": "asset", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "owner", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 41, + "docs": null + }, + { + "name": "RequestUnlock", + "fields": [ + { + "name": "asset", + "type": 108, + "typeName": "Asset", + "docs": null + }, + { + "name": "locker", + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 42, + "docs": null + }, + { + "name": "SetFeesMode", + "fields": [ + { + "name": "jit_withdraw", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 43, + "docs": null + }, + { + "name": "SetTopic", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 44, + "docs": null + }, + { + "name": "ClearTopic", + "fields": null, + "index": 45, + "docs": null + }, + { + "name": "AliasOrigin", + "fields": [ + { + "type": 110, + "typeName": "Location", + "docs": null + } + ], + "index": 46, + "docs": null + }, + { + "name": "UnpaidExecution", + "fields": [ + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + }, + { + "name": "check_origin", + "type": 341, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 47, + "docs": null + } + ] + } + }, + "docs": null + }, + "354": { + "path": [ + "staging_xcm", + "v5", + "Xcm" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 355, + "typeName": "Vec\u003cInstruction\u003cCall\u003e\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "355": { + "path": null, + "def": { + "Sequence": { + "type": 356 + } + }, + "docs": null + }, + "356": { + "path": [ + "staging_xcm", + "v5", + "Instruction" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "response", + "type": 74, + "typeName": "Response", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "querier", + "type": 83, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "beneficiary", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "dest", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_kind", + "type": 84, + "typeName": "OriginKind", + "docs": null + }, + { + "name": "call", + "type": 350, + "typeName": "DoubleEncoded\u003cCall\u003e", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_message_size", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_capacity", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 9, + "docs": null + }, + { + "name": "ClearOrigin", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 39, + "typeName": "InteriorLocation", + "docs": null + } + ], + "index": 11, + "docs": null + }, + { + "name": "ReportError", + "fields": [ + { + "type": 86, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 12, + "docs": null + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "beneficiary", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 13, + "docs": null + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 14, + "docs": null + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "want", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "maximal", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": null + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "reserve", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 16, + "docs": null + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 17, + "docs": null + }, + { + "name": "ReportHolding", + "fields": [ + { + "name": "response_info", + "type": 86, + "typeName": "QueryResponseInfo", + "docs": null + }, + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + } + ], + "index": 18, + "docs": null + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 19, + "docs": null + }, + { + "name": "RefundSurplus", + "fields": null, + "index": 20, + "docs": null + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 354, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 354, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 22, + "docs": null + }, + { + "name": "ClearError", + "fields": null, + "index": 23, + "docs": null + }, + { + "name": "SetAssetClaimer", + "fields": [ + { + "name": "location", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 24, + "docs": null + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "ticket", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 25, + "docs": null + }, + { + "name": "Trap", + "fields": [ + { + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 26, + "docs": null + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 27, + "docs": null + }, + { + "name": "UnsubscribeVersion", + "fields": null, + "index": 28, + "docs": null + }, + { + "name": "BurnAsset", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 29, + "docs": null + }, + { + "name": "ExpectAsset", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 30, + "docs": null + }, + { + "name": "ExpectOrigin", + "fields": [ + { + "type": 83, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "ExpectError", + "fields": [ + { + "type": 75, + "typeName": "Option\u003c(u32, Error)\u003e", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "ExpectTransactStatus", + "fields": [ + { + "type": 81, + "typeName": "MaybeErrorCode", + "docs": null + } + ], + "index": 33, + "docs": null + }, + { + "name": "QueryPallet", + "fields": [ + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "response_info", + "type": 86, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 34, + "docs": null + }, + { + "name": "ExpectPallet", + "fields": [ + { + "name": "index", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "crate_major", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "min_crate_minor", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 35, + "docs": null + }, + { + "name": "ReportTransactStatus", + "fields": [ + { + "type": 86, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 36, + "docs": null + }, + { + "name": "ClearTransactStatus", + "fields": null, + "index": 37, + "docs": null + }, + { + "name": "UniversalOrigin", + "fields": [ + { + "type": 41, + "typeName": "Junction", + "docs": null + } + ], + "index": 38, + "docs": null + }, + { + "name": "ExportMessage", + "fields": [ + { + "name": "network", + "type": 44, + "typeName": "NetworkId", + "docs": null + }, + { + "name": "destination", + "type": 39, + "typeName": "InteriorLocation", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 39, + "docs": null + }, + { + "name": "LockAsset", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "unlocker", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 40, + "docs": null + }, + { + "name": "UnlockAsset", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "target", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 41, + "docs": null + }, + { + "name": "NoteUnlockable", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "owner", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 42, + "docs": null + }, + { + "name": "RequestUnlock", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "locker", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 43, + "docs": null + }, + { + "name": "SetFeesMode", + "fields": [ + { + "name": "jit_withdraw", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 44, + "docs": null + }, + { + "name": "SetTopic", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 45, + "docs": null + }, + { + "name": "ClearTopic", + "fields": null, + "index": 46, + "docs": null + }, + { + "name": "AliasOrigin", + "fields": [ + { + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 47, + "docs": null + }, + { + "name": "UnpaidExecution", + "fields": [ + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + }, + { + "name": "check_origin", + "type": 83, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 48, + "docs": null + }, + { + "name": "PayFees", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + } + ], + "index": 49, + "docs": null + }, + { + "name": "InitiateTransfer", + "fields": [ + { + "name": "destination", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "remote_fees", + "type": 91, + "typeName": "Option\u003cAssetTransferFilter\u003e", + "docs": null + }, + { + "name": "preserve_origin", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "assets", + "type": 93, + "typeName": "Vec\u003cAssetTransferFilter\u003e", + "docs": null + }, + { + "name": "remote_xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 50, + "docs": null + } + ] + } + }, + "docs": null + }, + "357": { + "path": [ + "staging_xcm_executor", + "traits", + "asset_transfer", + "TransferType" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Teleport", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "LocalReserve", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "DestinationReserve", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "RemoteReserve", + "fields": [ + { + "type": 125, + "typeName": "VersionedLocation", + "docs": null + } + ], + "index": 3, + "docs": null + } + ] + } + }, + "docs": null + }, + "358": { + "path": [ + "pallet_xcm", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Unreachable", + "fields": null, + "index": 0, + "docs": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "fields": null, + "index": 1, + "docs": [ + "There was some other issue (i.e. not to do with routing) in sending the message.", + "Perhaps a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "fields": null, + "index": 2, + "docs": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "fields": null, + "index": 3, + "docs": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "fields": null, + "index": 4, + "docs": [ + "The destination `Location` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "fields": null, + "index": 5, + "docs": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "fields": null, + "index": 6, + "docs": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "fields": null, + "index": 7, + "docs": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "fields": null, + "index": 8, + "docs": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "fields": null, + "index": 9, + "docs": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "fields": null, + "index": 10, + "docs": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "fields": null, + "index": 11, + "docs": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "fields": null, + "index": 12, + "docs": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "CannotCheckOutTeleport", + "fields": null, + "index": 13, + "docs": [ + "Could not check-out the assets for teleportation to the destination chain." + ] + }, + { + "name": "LowBalance", + "fields": null, + "index": 14, + "docs": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "fields": null, + "index": 15, + "docs": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "fields": null, + "index": 16, + "docs": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "fields": null, + "index": 17, + "docs": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "fields": null, + "index": 18, + "docs": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "fields": null, + "index": 19, + "docs": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + }, + { + "name": "InvalidAssetUnknownReserve", + "fields": null, + "index": 21, + "docs": [ + "Invalid asset, reserve chain could not be determined for it." + ] + }, + { + "name": "InvalidAssetUnsupportedReserve", + "fields": null, + "index": 22, + "docs": [ + "Invalid asset, do not support remote asset reserves with different fees reserves." + ] + }, + { + "name": "TooManyReserves", + "fields": null, + "index": 23, + "docs": [ + "Too many assets with different reserve locations have been attempted for transfer." + ] + }, + { + "name": "LocalExecutionIncomplete", + "fields": null, + "index": 24, + "docs": [ + "Local XCM execution incomplete." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "359": { + "path": [ + "cumulus_pallet_xcm", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": null + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "36": { + "path": [ + "pallet_transaction_payment", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "TransactionFeePaid", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "actual_fee", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "tip", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "360": { + "path": [ + "pallet_message_queue", + "BookState" + ], + "params": [ + { + "name": "MessageOrigin", + "type": 130 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "begin", + "type": 4, + "typeName": "PageIndex", + "docs": null + }, + { + "name": "end", + "type": 4, + "typeName": "PageIndex", + "docs": null + }, + { + "name": "count", + "type": 4, + "typeName": "PageIndex", + "docs": null + }, + { + "name": "ready_neighbours", + "type": 361, + "typeName": "Option\u003cNeighbours\u003cMessageOrigin\u003e\u003e", + "docs": null + }, + { + "name": "message_count", + "type": 12, + "typeName": "u64", + "docs": null + }, + { + "name": "size", + "type": 12, + "typeName": "u64", + "docs": null + } + ] + } + }, + "docs": null + }, + "361": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 362 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 362, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "362": { + "path": [ + "pallet_message_queue", + "Neighbours" + ], + "params": [ + { + "name": "MessageOrigin", + "type": 130 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "prev", + "type": 130, + "typeName": "MessageOrigin", + "docs": null + }, + { + "name": "next", + "type": 130, + "typeName": "MessageOrigin", + "docs": null + } + ] + } + }, + "docs": null + }, + "363": { + "path": null, + "def": { + "Tuple": [ + 130, + 4 + ] + }, + "docs": null + }, + "364": { + "path": [ + "pallet_message_queue", + "Page" + ], + "params": [ + { + "name": "Size", + "type": 4 + }, + { + "name": "HeapSize", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "remaining", + "type": 4, + "typeName": "Size", + "docs": null + }, + { + "name": "remaining_size", + "type": 4, + "typeName": "Size", + "docs": null + }, + { + "name": "first_index", + "type": 4, + "typeName": "Size", + "docs": null + }, + { + "name": "first", + "type": 4, + "typeName": "Size", + "docs": null + }, + { + "name": "last", + "type": 4, + "typeName": "Size", + "docs": null + }, + { + "name": "heap", + "type": 365, + "typeName": "BoundedVec\u003cu8, IntoU32\u003cHeapSize, Size\u003e\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "365": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "366": { + "path": [ + "pallet_message_queue", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "reap_page", + "fields": [ + { + "name": "message_origin", + "type": 130, + "typeName": "MessageOriginOf\u003cT\u003e", + "docs": null + }, + { + "name": "page_index", + "type": 4, + "typeName": "PageIndex", + "docs": null + } + ], + "index": 0, + "docs": [ + "Remove a page which has no more messages remaining to be processed or is stale." + ] + }, + { + "name": "execute_overweight", + "fields": [ + { + "name": "message_origin", + "type": 130, + "typeName": "MessageOriginOf\u003cT\u003e", + "docs": null + }, + { + "name": "page", + "type": 4, + "typeName": "PageIndex", + "docs": null + }, + { + "name": "index", + "type": 4, + "typeName": "T::Size", + "docs": null + }, + { + "name": "weight_limit", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 1, + "docs": [ + "Execute an overweight message.", + "", + "Temporary processing errors will be propagated whereas permanent errors are treated", + "as success condition.", + "", + "- `origin`: Must be `Signed`.", + "- `message_origin`: The origin from which the message to be executed arrived.", + "- `page`: The page in the queue in which the message to be executed is sitting.", + "- `index`: The index into the queue of the message to be executed.", + "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution", + " of the message.", + "", + "Benchmark complexity considerations: O(index + weight_limit)." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "367": { + "path": [ + "pallet_message_queue", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "NotReapable", + "fields": null, + "index": 0, + "docs": [ + "Page is not reapable because it has items remaining to be processed and is not old", + "enough." + ] + }, + { + "name": "NoPage", + "fields": null, + "index": 1, + "docs": [ + "Page to be reaped does not exist." + ] + }, + { + "name": "NoMessage", + "fields": null, + "index": 2, + "docs": [ + "The referenced message could not be found." + ] + }, + { + "name": "AlreadyProcessed", + "fields": null, + "index": 3, + "docs": [ + "The message was already processed and cannot be processed again." + ] + }, + { + "name": "Queued", + "fields": null, + "index": 4, + "docs": [ + "The message is queued for future execution." + ] + }, + { + "name": "InsufficientWeight", + "fields": null, + "index": 5, + "docs": [ + "There is temporarily not enough weight to continue servicing messages." + ] + }, + { + "name": "TemporarilyUnprocessable", + "fields": null, + "index": 6, + "docs": [ + "This message is temporarily unprocessable.", + "", + "Such errors are expected, but not guaranteed, to resolve themselves eventually through", + "retrying." + ] + }, + { + "name": "QueuePaused", + "fields": null, + "index": 7, + "docs": [ + "The queue is paused and no message can be executed from it.", + "", + "This can change at any time and may resolve in the future by re-trying." + ] + }, + { + "name": "RecursiveDisallowed", + "fields": null, + "index": 8, + "docs": [ + "Another call is in progress and needs to finish before this call can happen." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "368": { + "path": [ + "pallet_utility", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "batch", + "fields": [ + { + "name": "calls", + "type": 369, + "typeName": "Vec\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched.", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ] + }, + { + "name": "as_derivative", + "fields": [ + { + "name": "index", + "type": 140, + "typeName": "u16", + "docs": null + }, + { + "name": "call", + "type": 370, + "typeName": "Box\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + } + ], + "index": 1, + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ] + }, + { + "name": "batch_all", + "fields": [ + { + "name": "calls", + "type": 369, + "typeName": "Vec\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + } + ], + "index": 2, + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ] + }, + { + "name": "dispatch_as", + "fields": [ + { + "name": "as_origin", + "type": 414, + "typeName": "Box\u003cT::PalletsOrigin\u003e", + "docs": null + }, + { + "name": "call", + "type": 370, + "typeName": "Box\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + } + ], + "index": 3, + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "force_batch", + "fields": [ + { + "name": "calls", + "type": 369, + "typeName": "Vec\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + } + ], + "index": 4, + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatch without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ] + }, + { + "name": "with_weight", + "fields": [ + { + "name": "call", + "type": 370, + "typeName": "Box\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + }, + { + "name": "weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 5, + "docs": [ + "Dispatch a function call with a specified weight.", + "", + "This function does not check the weight of the call, and instead allows the", + "Root origin to specify the weight of the call.", + "", + "The dispatch origin for this call must be _Root_." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "369": { + "path": null, + "def": { + "Sequence": { + "type": 370 + } + }, + "docs": null + }, + "37": { + "path": [ + "pallet_asset_conversion_tx_payment", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "AssetTxFeePaid", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "actual_fee", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "tip", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "asset_id", + "type": 38, + "typeName": "T::AssetId", + "docs": null + } + ], + "index": 0, + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ] + }, + { + "name": "AssetRefundFailed", + "fields": [ + { + "name": "native_amount_kept", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 1, + "docs": [ + "A swap of the refund in native currency back to asset failed." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "370": { + "path": [ + "asset_hub_westend_runtime", + "RuntimeCall" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "System", + "fields": [ + { + "type": 183, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cSystem, Runtime\u003e", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ParachainSystem", + "fields": [ + { + "type": 229, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cParachainSystem, Runtime\u003e", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Timestamp", + "fields": [ + { + "type": 239, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cTimestamp, Runtime\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "ParachainInfo", + "fields": [ + { + "type": 240, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cParachainInfo, Runtime\u003e", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "Balances", + "fields": [ + { + "type": 258, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cBalances, Runtime\u003e", + "docs": null + } + ], + "index": 10, + "docs": null + }, + { + "name": "CollatorSelection", + "fields": [ + { + "type": 268, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cCollatorSelection, Runtime\u003e", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "Session", + "fields": [ + { + "type": 276, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cSession, Runtime\u003e", + "docs": null + } + ], + "index": 22, + "docs": null + }, + { + "name": "XcmpQueue", + "fields": [ + { + "type": 292, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cXcmpQueue, Runtime\u003e", + "docs": null + } + ], + "index": 30, + "docs": null + }, + { + "name": "PolkadotXcm", + "fields": [ + { + "type": 328, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cPolkadotXcm, Runtime\u003e", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "CumulusXcm", + "fields": [ + { + "type": 359, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cCumulusXcm, Runtime\u003e", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "MessageQueue", + "fields": [ + { + "type": 366, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cMessageQueue, Runtime\u003e", + "docs": null + } + ], + "index": 35, + "docs": null + }, + { + "name": "Utility", + "fields": [ + { + "type": 368, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cUtility, Runtime\u003e", + "docs": null + } + ], + "index": 40, + "docs": null + }, + { + "name": "Multisig", + "fields": [ + { + "type": 371, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cMultisig, Runtime\u003e", + "docs": null + } + ], + "index": 41, + "docs": null + }, + { + "name": "Proxy", + "fields": [ + { + "type": 373, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cProxy, Runtime\u003e", + "docs": null + } + ], + "index": 42, + "docs": null + }, + { + "name": "Assets", + "fields": [ + { + "type": 375, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cAssets, Runtime\u003e", + "docs": null + } + ], + "index": 50, + "docs": null + }, + { + "name": "Uniques", + "fields": [ + { + "type": 376, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cUniques, Runtime\u003e", + "docs": null + } + ], + "index": 51, + "docs": null + }, + { + "name": "Nfts", + "fields": [ + { + "type": 380, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cNfts, Runtime\u003e", + "docs": null + } + ], + "index": 52, + "docs": null + }, + { + "name": "ForeignAssets", + "fields": [ + { + "type": 401, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cForeignAssets, Runtime\u003e", + "docs": null + } + ], + "index": 53, + "docs": null + }, + { + "name": "NftFractionalization", + "fields": [ + { + "type": 402, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cNftFractionalization, Runtime\u003e", + "docs": null + } + ], + "index": 54, + "docs": null + }, + { + "name": "PoolAssets", + "fields": [ + { + "type": 403, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cPoolAssets, Runtime\u003e", + "docs": null + } + ], + "index": 55, + "docs": null + }, + { + "name": "AssetConversion", + "fields": [ + { + "type": 404, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cAssetConversion, Runtime\u003e", + "docs": null + } + ], + "index": 56, + "docs": null + }, + { + "name": "Revive", + "fields": [ + { + "type": 406, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cRevive, Runtime\u003e", + "docs": null + } + ], + "index": 60, + "docs": null + }, + { + "name": "StateTrieMigration", + "fields": [ + { + "type": 407, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cStateTrieMigration, Runtime\u003e", + "docs": null + } + ], + "index": 70, + "docs": null + }, + { + "name": "AssetConversionMigration", + "fields": [ + { + "type": 413, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor\u003cAssetConversionMigration, Runtime\u003e", + "docs": null + } + ], + "index": 200, + "docs": null + } + ] + } + }, + "docs": null + }, + "371": { + "path": [ + "pallet_multisig", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "as_multi_threshold_1", + "fields": [ + { + "name": "other_signatories", + "type": 57, + "typeName": "Vec\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "call", + "type": 370, + "typeName": "Box\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "## Complexity", + "O(Z + C) where Z is the length of the call and C its execution weight." + ] + }, + { + "name": "as_multi", + "fields": [ + { + "name": "threshold", + "type": 140, + "typeName": "u16", + "docs": null + }, + { + "name": "other_signatories", + "type": 57, + "typeName": "Vec\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "maybe_timepoint", + "type": 372, + "typeName": "Option\u003cTimepoint\u003cBlockNumberFor\u003cT\u003e\u003e\u003e", + "docs": null + }, + { + "name": "call", + "type": 370, + "typeName": "Box\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 1, + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "## Complexity", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode \u0026 hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode \u0026 hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ] + }, + { + "name": "approve_as_multi", + "fields": [ + { + "name": "threshold", + "type": 140, + "typeName": "u16", + "docs": null + }, + { + "name": "other_signatories", + "type": 57, + "typeName": "Vec\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "maybe_timepoint", + "type": 372, + "typeName": "Option\u003cTimepoint\u003cBlockNumberFor\u003cT\u003e\u003e\u003e", + "docs": null + }, + { + "name": "call_hash", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 2, + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode \u0026 hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ] + }, + { + "name": "cancel_as_multi", + "fields": [ + { + "name": "threshold", + "type": 140, + "typeName": "u16", + "docs": null + }, + { + "name": "other_signatories", + "type": 57, + "typeName": "Vec\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "timepoint", + "type": 137, + "typeName": "Timepoint\u003cBlockNumberFor\u003cT\u003e\u003e", + "docs": null + }, + { + "name": "call_hash", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 3, + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode \u0026 hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "372": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 137 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 137, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "373": { + "path": [ + "pallet_proxy", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "proxy", + "fields": [ + { + "name": "real", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "force_proxy_type", + "type": 374, + "typeName": "Option\u003cT::ProxyType\u003e", + "docs": null + }, + { + "name": "call", + "type": 370, + "typeName": "Box\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ] + }, + { + "name": "add_proxy", + "fields": [ + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "proxy_type", + "type": 139, + "typeName": "T::ProxyType", + "docs": null + }, + { + "name": "delay", + "type": 4, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + } + ], + "index": 1, + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ] + }, + { + "name": "remove_proxy", + "fields": [ + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "proxy_type", + "type": 139, + "typeName": "T::ProxyType", + "docs": null + }, + { + "name": "delay", + "type": 4, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + } + ], + "index": 2, + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ] + }, + { + "name": "remove_proxies", + "fields": null, + "index": 3, + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ] + }, + { + "name": "create_pure", + "fields": [ + { + "name": "proxy_type", + "type": 139, + "typeName": "T::ProxyType", + "docs": null + }, + { + "name": "delay", + "type": 4, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + }, + { + "name": "index", + "type": 140, + "typeName": "u16", + "docs": null + } + ], + "index": 4, + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ] + }, + { + "name": "kill_pure", + "fields": [ + { + "name": "spawner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "proxy_type", + "type": 139, + "typeName": "T::ProxyType", + "docs": null + }, + { + "name": "index", + "type": 140, + "typeName": "u16", + "docs": null + }, + { + "name": "height", + "type": 42, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + }, + { + "name": "ext_index", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 5, + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ] + }, + { + "name": "announce", + "fields": [ + { + "name": "real", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "call_hash", + "type": 13, + "typeName": "CallHashOf\u003cT\u003e", + "docs": null + } + ], + "index": 6, + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ] + }, + { + "name": "remove_announcement", + "fields": [ + { + "name": "real", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "call_hash", + "type": 13, + "typeName": "CallHashOf\u003cT\u003e", + "docs": null + } + ], + "index": 7, + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ] + }, + { + "name": "reject_announcement", + "fields": [ + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "call_hash", + "type": 13, + "typeName": "CallHashOf\u003cT\u003e", + "docs": null + } + ], + "index": 8, + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ] + }, + { + "name": "proxy_announced", + "fields": [ + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "real", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "force_proxy_type", + "type": 374, + "typeName": "Option\u003cT::ProxyType\u003e", + "docs": null + }, + { + "name": "call", + "type": 370, + "typeName": "Box\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + } + ], + "index": 9, + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "374": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 139 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 139, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "375": { + "path": [ + "pallet_assets", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "min_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 0, + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "is_sufficient", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "min_balance", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "start_destroy", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 2, + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset." + ] + }, + { + "name": "destroy_accounts", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 3, + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ] + }, + { + "name": "destroy_approvals", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 4, + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ] + }, + { + "name": "finish_destroy", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 5, + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "beneficiary", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 6, + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 7, + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre \u0026 post Zombie-status of `who`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "target", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 8, + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "transfer_keep_alive", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "target", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 9, + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "source", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 10, + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 11, + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 12, + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "freeze_asset", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 13, + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw_asset", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 14, + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 15, + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "issuer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 16, + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "symbol", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + } + ], + "index": 17, + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 18, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_set_metadata", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "symbol", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 19, + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ] + }, + { + "name": "force_clear_metadata", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 20, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_asset_status", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "issuer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "min_balance", + "type": 46, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "is_sufficient", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 21, + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 22, + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 23, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_cancel_approval", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 24, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_approved", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "destination", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 25, + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "touch", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 26, + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ] + }, + { + "name": "refund", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "allow_burn", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 27, + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ] + }, + { + "name": "set_min_balance", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "min_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 28, + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ] + }, + { + "name": "touch_other", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 29, + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ] + }, + { + "name": "refund_other", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 30, + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ] + }, + { + "name": "block", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 31, + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_all", + "fields": [ + { + "name": "id", + "type": 42, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "keep_alive", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 32, + "docs": [ + "Transfer the entire transferable balance from the caller asset account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the asset account has, causing the sender asset account to be killed", + " (false), or transfer everything except at least the minimum balance, which will", + " guarantee to keep the sender asset account alive (true)." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "376": { + "path": [ + "pallet_uniques", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "free_holding", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 1, + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "destroy", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "witness", + "type": 377, + "typeName": "DestroyWitness", + "docs": null + } + ], + "index": 2, + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 3, + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "check_owner", + "type": 378, + "typeName": "Option\u003cAccountIdLookupOf\u003cT\u003e\u003e", + "docs": null + } + ], + "index": 4, + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 5, + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "redeposit", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "items", + "type": 144, + "typeName": "Vec\u003cT::ItemId\u003e", + "docs": null + } + ], + "index": 6, + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 7, + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 8, + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "freeze_collection", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 9, + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw_collection", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 10, + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "new_owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 11, + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "issuer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 12, + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 13, + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "maybe_check_delegate", + "type": 378, + "typeName": "Option\u003cAccountIdLookupOf\u003cT\u003e\u003e", + "docs": null + } + ], + "index": 14, + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_item_status", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "issuer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "free_holding", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "key", + "type": 146, + "typeName": "BoundedVec\u003cu8, T::KeyLimit\u003e", + "docs": null + }, + { + "name": "value", + "type": 147, + "typeName": "BoundedVec\u003cu8, T::ValueLimit\u003e", + "docs": null + } + ], + "index": 16, + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "key", + "type": 146, + "typeName": "BoundedVec\u003cu8, T::KeyLimit\u003e", + "docs": null + } + ], + "index": 17, + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "data", + "type": 143, + "typeName": "BoundedVec\u003cu8, T::StringLimit\u003e", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 18, + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 19, + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "data", + "type": 143, + "typeName": "BoundedVec\u003cu8, T::StringLimit\u003e", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 20, + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 21, + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_accept_ownership", + "fields": [ + { + "name": "maybe_collection", + "type": 145, + "typeName": "Option\u003cT::CollectionId\u003e", + "docs": null + } + ], + "index": 22, + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ] + }, + { + "name": "set_collection_max_supply", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 23, + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ] + }, + { + "name": "set_price", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "price", + "type": 379, + "typeName": "Option\u003cItemPrice\u003cT, I\u003e\u003e", + "docs": null + }, + { + "name": "whitelisted_buyer", + "type": 378, + "typeName": "Option\u003cAccountIdLookupOf\u003cT\u003e\u003e", + "docs": null + } + ], + "index": 24, + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ] + }, + { + "name": "buy_item", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "bid_price", + "type": 6, + "typeName": "ItemPrice\u003cT, I\u003e", + "docs": null + } + ], + "index": 25, + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "377": { + "path": [ + "pallet_uniques", + "types", + "DestroyWitness" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "items", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "item_metadatas", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "attributes", + "type": 42, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "378": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 259 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 259, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "379": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 6 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 6, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "38": { + "path": [ + "staging_xcm", + "v5", + "location", + "Location" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "parents", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "interior", + "type": 39, + "typeName": "Junctions", + "docs": null + } + ] + } + }, + "docs": null + }, + "380": { + "path": [ + "pallet_nfts", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "config", + "type": 381, + "typeName": "CollectionConfigFor\u003cT, I\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`CollectionDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "config", + "type": 381, + "typeName": "CollectionConfigFor\u003cT, I\u003e", + "docs": null + } + ], + "index": 1, + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions over this item, but may later change and configure the permissions using", + " `transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "destroy", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "witness", + "type": 388, + "typeName": "DestroyWitness", + "docs": null + } + ], + "index": 2, + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "NOTE: The collection must have 0 items to be destroyed.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(m + c + a)` where:", + "- `m = witness.item_metadatas`", + "- `c = witness.item_configs`", + "- `a = witness.attributes`" + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "mint_to", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "witness_data", + "type": 389, + "typeName": "Option\u003cMintWitness\u003cT::ItemId, DepositBalanceOf\u003cT, I\u003e\u003e\u003e", + "docs": null + } + ], + "index": 3, + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must comply with the `mint_settings` rules.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned", + " item_id from that collection needs to be provided within the witness data object. If", + " the mint price is set, then it should be additionally confirmed in the `witness_data`.", + "", + "Note: the deposit will be taken from the `origin` and not the `owner` of the `item`.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_mint", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "mint_to", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "item_config", + "type": 391, + "typeName": "ItemConfig", + "docs": null + } + ], + "index": 4, + "docs": [ + "Mint an item of a particular collection from a privileged origin.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `item_config`: A config of the new item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 5, + "docs": [ + "Destroy a single item.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the signing account must", + "be the owner of the `item`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item to be burned.", + "", + "Emits `Burned`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 6, + "docs": [ + "Move an item from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "redeposit", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "items", + "type": 144, + "typeName": "Vec\u003cT::ItemId\u003e", + "docs": null + } + ], + "index": 7, + "docs": [ + "Re-evaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection of the items to be reevaluated.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown or the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ] + }, + { + "name": "lock_item_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 8, + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become non-transferable.", + "", + "Emits `ItemTransferLocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "unlock_item_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 9, + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become transferable.", + "", + "Emits `ItemTransferUnlocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "lock_collection", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "lock_settings", + "type": 382, + "typeName": "CollectionSettings", + "docs": null + } + ], + "index": 10, + "docs": [ + "Disallows specified settings for the whole collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be locked.", + "- `lock_settings`: The settings to be locked.", + "", + "Note: it's possible to only lock(set) the setting, but not to unset it.", + "", + "Emits `CollectionLocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "new_owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 11, + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "issuer", + "type": 378, + "typeName": "Option\u003cAccountIdLookupOf\u003cT\u003e\u003e", + "docs": null + }, + { + "name": "admin", + "type": 378, + "typeName": "Option\u003cAccountIdLookupOf\u003cT\u003e\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 378, + "typeName": "Option\u003cAccountIdLookupOf\u003cT\u003e\u003e", + "docs": null + } + ], + "index": 12, + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Note: by setting the role to `None` only the `ForceOrigin` will be able to change it", + "after to `Some(account)`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_collection_owner", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 13, + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `owner`: The new Owner of this collection.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_collection_config", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "config", + "type": 381, + "typeName": "CollectionConfigFor\u003cT, I\u003e", + "docs": null + } + ], + "index": 14, + "docs": [ + "Change the config of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `config`: The new config of this collection.", + "", + "Emits `CollectionConfigChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "maybe_deadline", + "type": 145, + "typeName": "Option\u003cBlockNumberFor\u003cT\u003e\u003e", + "docs": null + } + ], + "index": 15, + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "- `maybe_deadline`: Optional deadline for the approval. Specified by providing the", + "\tnumber of blocks after which the approval will expire", + "", + "Emits `TransferApproved` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 16, + "docs": [ + "Cancel one of the transfer approvals for a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the collection of whose approval will be cancelled.", + "- `delegate`: The account that is going to loose their approval.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_all_transfer_approvals", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 17, + "docs": [ + "Cancel all the approvals of a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approvals will be cleared.", + "- `item`: The item of the collection of whose approvals will be cleared.", + "", + "Emits `AllApprovalsCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "lock_item_properties", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "lock_metadata", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "lock_attributes", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 18, + "docs": [ + "Disallows changing the metadata or attributes of the item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin", + "of the `collection`.", + "", + "- `collection`: The collection if the `item`.", + "- `item`: An item to be locked.", + "- `lock_metadata`: Specifies whether the metadata should be locked.", + "- `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace", + " should be locked.", + "", + "Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace only.", + "When the metadata or attributes are locked, it won't be possible the unlock them.", + "", + "Emits `ItemPropertiesLocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "namespace", + "type": 151, + "typeName": "AttributeNamespace\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "key", + "type": 147, + "typeName": "BoundedVec\u003cu8, T::KeyLimit\u003e", + "docs": null + }, + { + "name": "value", + "type": 150, + "typeName": "BoundedVec\u003cu8, T::ValueLimit\u003e", + "docs": null + } + ], + "index": 19, + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be Signed and must conform to the namespace ruleset:", + "- `CollectionOwner` namespace could be modified by the `collection` Admin only;", + "- `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`", + " should be set in that case;", + "- `Account(AccountId)` namespace could be modified only when the `origin` was given a", + " permission to do so;", + "", + "The funds of `origin` are reserved according to the formula:", + "`AttributeDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_set_attribute", + "fields": [ + { + "name": "set_as", + "type": 148, + "typeName": "Option\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "namespace", + "type": 151, + "typeName": "AttributeNamespace\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "key", + "type": 147, + "typeName": "BoundedVec\u003cu8, T::KeyLimit\u003e", + "docs": null + }, + { + "name": "value", + "type": 150, + "typeName": "BoundedVec\u003cu8, T::ValueLimit\u003e", + "docs": null + } + ], + "index": 20, + "docs": [ + "Force-set an attribute for a collection or item.", + "", + "Origin must be `ForceOrigin`.", + "", + "If the attribute already exists and it was set by another account, the deposit", + "will be returned to the previous owner.", + "", + "- `set_as`: An optional owner of the attribute.", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "namespace", + "type": 151, + "typeName": "AttributeNamespace\u003cT::AccountId\u003e", + "docs": null + }, + { + "name": "key", + "type": 147, + "typeName": "BoundedVec\u003cu8, T::KeyLimit\u003e", + "docs": null + } + ], + "index": 21, + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "attribute.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_item_attributes", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 22, + "docs": [ + "Approve item's attributes to be changed by a delegated third-party account.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: A collection of the item.", + "- `item`: The item that holds attributes.", + "- `delegate`: The account to delegate permission to change attributes of the item.", + "", + "Emits `ItemAttributesApprovalAdded` on success." + ] + }, + { + "name": "cancel_item_attributes_approval", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "witness", + "type": 392, + "typeName": "CancelAttributesApprovalWitness", + "docs": null + } + ], + "index": 23, + "docs": [ + "Cancel the previously provided approval to change item's attributes.", + "All the previously set attributes by the `delegate` will be removed.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: Collection that the item is contained within.", + "- `item`: The item that holds attributes.", + "- `delegate`: The previously approved account to remove.", + "", + "Emits `ItemAttributesApprovalRemoved` on success." + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "data", + "type": 150, + "typeName": "BoundedVec\u003cu8, T::StringLimit\u003e", + "docs": null + } + ], + "index": 24, + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `ItemMetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 25, + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `ItemMetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "data", + "type": 150, + "typeName": "BoundedVec\u003cu8, T::StringLimit\u003e", + "docs": null + } + ], + "index": 26, + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + } + ], + "index": 27, + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_accept_ownership", + "fields": [ + { + "name": "maybe_collection", + "type": 145, + "typeName": "Option\u003cT::CollectionId\u003e", + "docs": null + } + ], + "index": 28, + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ] + }, + { + "name": "set_collection_max_supply", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 29, + "docs": [ + "Set the maximum number of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum number of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ] + }, + { + "name": "update_mint_settings", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "mint_settings", + "type": 384, + "typeName": "MintSettings\u003cBalanceOf\u003cT, I\u003e, BlockNumberFor\u003cT\u003e, T::CollectionId\u003e", + "docs": null + } + ], + "index": 30, + "docs": [ + "Update mint settings.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Issuer", + "of the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `mint_settings`: The new mint settings.", + "", + "Emits `CollectionMintSettingsUpdated` event when successful." + ] + }, + { + "name": "set_price", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "price", + "type": 379, + "typeName": "Option\u003cItemPrice\u003cT, I\u003e\u003e", + "docs": null + }, + { + "name": "whitelisted_buyer", + "type": 378, + "typeName": "Option\u003cAccountIdLookupOf\u003cT\u003e\u003e", + "docs": null + } + ], + "index": 31, + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ] + }, + { + "name": "buy_item", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "bid_price", + "type": 6, + "typeName": "ItemPrice\u003cT, I\u003e", + "docs": null + } + ], + "index": 32, + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ] + }, + { + "name": "pay_tips", + "fields": [ + { + "name": "tips", + "type": 393, + "typeName": "BoundedVec\u003cItemTipOf\u003cT, I\u003e, T::MaxTips\u003e", + "docs": null + } + ], + "index": 33, + "docs": [ + "Allows to pay the tips.", + "", + "Origin must be Signed.", + "", + "- `tips`: Tips array.", + "", + "Emits `TipSent` on every tip transfer." + ] + }, + { + "name": "create_swap", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "desired_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "maybe_desired_item", + "type": 145, + "typeName": "Option\u003cT::ItemId\u003e", + "docs": null + }, + { + "name": "maybe_price", + "type": 152, + "typeName": "Option\u003cPriceWithDirection\u003cItemPrice\u003cT, I\u003e\u003e\u003e", + "docs": null + }, + { + "name": "duration", + "type": 4, + "typeName": "BlockNumberFor\u003cT\u003e", + "docs": null + } + ], + "index": 34, + "docs": [ + "Register a new atomic swap, declaring an intention to send an `item` in exchange for", + "`desired_item` from origin to target on the current blockchain.", + "The target can execute the swap during the specified `duration` of blocks (if set).", + "Additionally, the price could be set for the desired `item`.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "- `desired_collection`: The collection of the desired item.", + "- `desired_item`: The desired item an owner wants to receive.", + "- `maybe_price`: The price an owner is willing to pay or receive for the desired `item`.", + "- `duration`: A deadline for the swap. Specified by providing the number of blocks", + "\tafter which the swap will expire.", + "", + "Emits `SwapCreated` on success." + ] + }, + { + "name": "cancel_swap", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + } + ], + "index": 35, + "docs": [ + "Cancel an atomic swap.", + "", + "Origin must be Signed.", + "Origin must be an owner of the `item` if the deadline hasn't expired.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "", + "Emits `SwapCancelled` on success." + ] + }, + { + "name": "claim_swap", + "fields": [ + { + "name": "send_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "send_item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "receive_collection", + "type": 4, + "typeName": "T::CollectionId", + "docs": null + }, + { + "name": "receive_item", + "type": 4, + "typeName": "T::ItemId", + "docs": null + }, + { + "name": "witness_price", + "type": 152, + "typeName": "Option\u003cPriceWithDirection\u003cItemPrice\u003cT, I\u003e\u003e\u003e", + "docs": null + } + ], + "index": 36, + "docs": [ + "Claim an atomic swap.", + "This method executes a pending swap, that was created by a counterpart before.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `send_collection`: The collection of the item to be sent.", + "- `send_item`: The item to be sent.", + "- `receive_collection`: The collection of the item to be received.", + "- `receive_item`: The item to be received.", + "- `witness_price`: A price that was previously agreed on.", + "", + "Emits `SwapClaimed` on success." + ] + }, + { + "name": "mint_pre_signed", + "fields": [ + { + "name": "mint_data", + "type": 396, + "typeName": "Box\u003cPreSignedMintOf\u003cT, I\u003e\u003e", + "docs": null + }, + { + "name": "signature", + "type": 397, + "typeName": "T::OffchainSignature", + "docs": null + }, + { + "name": "signer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 37, + "docs": [ + "Mint an item by providing the pre-signed approval.", + "", + "Origin must be Signed.", + "", + "- `mint_data`: The pre-signed approval that consists of the information about the item,", + " its metadata, attributes, who can mint it (`None` for anyone) and until what block", + " number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an Issuer of the collection.", + "", + "Emits `Issued` on success.", + "Emits `AttributeSet` if the attributes were provided.", + "Emits `ItemMetadataSet` if the metadata was not empty." + ] + }, + { + "name": "set_attributes_pre_signed", + "fields": [ + { + "name": "data", + "type": 400, + "typeName": "PreSignedAttributesOf\u003cT, I\u003e", + "docs": null + }, + { + "name": "signature", + "type": 397, + "typeName": "T::OffchainSignature", + "docs": null + }, + { + "name": "signer", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 38, + "docs": [ + "Set attributes for an item by providing the pre-signed approval.", + "", + "Origin must be Signed and must be an owner of the `data.item`.", + "", + "- `data`: The pre-signed approval that consists of the information about the item,", + " attributes to update and until what block number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an Admin of the collection for the", + " `CollectionOwner` namespace.", + "", + "Emits `AttributeSet` for each provided attribute.", + "Emits `ItemAttributesApprovalAdded` if the approval wasn't set before.", + "Emits `PreSignedAttributesSet` on success." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "381": { + "path": [ + "pallet_nfts", + "types", + "CollectionConfig" + ], + "params": [ + { + "name": "Price", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "settings", + "type": 382, + "typeName": "CollectionSettings", + "docs": null + }, + { + "name": "max_supply", + "type": 145, + "typeName": "Option\u003cu32\u003e", + "docs": null + }, + { + "name": "mint_settings", + "type": 384, + "typeName": "MintSettings\u003cPrice, BlockNumber, CollectionId\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "382": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 383 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 12, + "typeName": "CollectionSetting", + "docs": null + } + ] + } + }, + "docs": null + }, + "383": { + "path": [ + "pallet_nfts", + "types", + "CollectionSetting" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "TransferableItems", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "UnlockedMetadata", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "UnlockedAttributes", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "UnlockedMaxSupply", + "fields": null, + "index": 8, + "docs": null + }, + { + "name": "DepositRequired", + "fields": null, + "index": 16, + "docs": null + } + ] + } + }, + "docs": null + }, + "384": { + "path": [ + "pallet_nfts", + "types", + "MintSettings" + ], + "params": [ + { + "name": "Price", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "mint_type", + "type": 385, + "typeName": "MintType\u003cCollectionId\u003e", + "docs": null + }, + { + "name": "price", + "type": 379, + "typeName": "Option\u003cPrice\u003e", + "docs": null + }, + { + "name": "start_block", + "type": 145, + "typeName": "Option\u003cBlockNumber\u003e", + "docs": null + }, + { + "name": "end_block", + "type": 145, + "typeName": "Option\u003cBlockNumber\u003e", + "docs": null + }, + { + "name": "default_item_settings", + "type": 386, + "typeName": "ItemSettings", + "docs": null + } + ] + } + }, + "docs": null + }, + "385": { + "path": [ + "pallet_nfts", + "types", + "MintType" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Issuer", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Public", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "HolderOf", + "fields": [ + { + "type": 4, + "typeName": "CollectionId", + "docs": null + } + ], + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "386": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 387 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 12, + "typeName": "ItemSetting", + "docs": null + } + ] + } + }, + "docs": null + }, + "387": { + "path": [ + "pallet_nfts", + "types", + "ItemSetting" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Transferable", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "UnlockedMetadata", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "UnlockedAttributes", + "fields": null, + "index": 4, + "docs": null + } + ] + } + }, + "docs": null + }, + "388": { + "path": [ + "pallet_nfts", + "types", + "DestroyWitness" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "item_metadatas", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "item_configs", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "attributes", + "type": 42, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "389": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 390 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 390, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "39": { + "path": [ + "staging_xcm", + "v5", + "junctions", + "Junctions" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Here", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "X1", + "fields": [ + { + "type": 40, + "typeName": "Arc\u003c[Junction; 1]\u003e", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "X2", + "fields": [ + { + "type": 49, + "typeName": "Arc\u003c[Junction; 2]\u003e", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "X3", + "fields": [ + { + "type": 50, + "typeName": "Arc\u003c[Junction; 3]\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "X4", + "fields": [ + { + "type": 51, + "typeName": "Arc\u003c[Junction; 4]\u003e", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "X5", + "fields": [ + { + "type": 52, + "typeName": "Arc\u003c[Junction; 5]\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "X6", + "fields": [ + { + "type": 53, + "typeName": "Arc\u003c[Junction; 6]\u003e", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "X7", + "fields": [ + { + "type": 54, + "typeName": "Arc\u003c[Junction; 7]\u003e", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "X8", + "fields": [ + { + "type": 55, + "typeName": "Arc\u003c[Junction; 8]\u003e", + "docs": null + } + ], + "index": 8, + "docs": null + } + ] + } + }, + "docs": null + }, + "390": { + "path": [ + "pallet_nfts", + "types", + "MintWitness" + ], + "params": [ + { + "name": "ItemId", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "owned_item", + "type": 145, + "typeName": "Option\u003cItemId\u003e", + "docs": null + }, + { + "name": "mint_price", + "type": 379, + "typeName": "Option\u003cBalance\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "391": { + "path": [ + "pallet_nfts", + "types", + "ItemConfig" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "settings", + "type": 386, + "typeName": "ItemSettings", + "docs": null + } + ] + } + }, + "docs": null + }, + "392": { + "path": [ + "pallet_nfts", + "types", + "CancelAttributesApprovalWitness" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "account_attributes", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "393": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 394 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 395, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "394": { + "path": [ + "pallet_nfts", + "types", + "ItemTip" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Amount", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "ItemId", + "docs": null + }, + { + "name": "receiver", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "Amount", + "docs": null + } + ] + } + }, + "docs": null + }, + "395": { + "path": null, + "def": { + "Sequence": { + "type": 394 + } + }, + "docs": null + }, + "396": { + "path": [ + "pallet_nfts", + "types", + "PreSignedMint" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Deadline", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "ItemId", + "docs": null + }, + { + "name": "attributes", + "type": 184, + "typeName": "Vec\u003c(Vec\u003cu8\u003e, Vec\u003cu8\u003e)\u003e", + "docs": null + }, + { + "name": "metadata", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "only_account", + "type": 148, + "typeName": "Option\u003cAccountId\u003e", + "docs": null + }, + { + "name": "deadline", + "type": 4, + "typeName": "Deadline", + "docs": null + }, + { + "name": "mint_price", + "type": 379, + "typeName": "Option\u003cBalance\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "397": { + "path": [ + "sp_runtime", + "MultiSignature" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Ed25519", + "fields": [ + { + "type": 398, + "typeName": "ed25519::Signature", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Sr25519", + "fields": [ + { + "type": 398, + "typeName": "sr25519::Signature", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Ecdsa", + "fields": [ + { + "type": 399, + "typeName": "ecdsa::Signature", + "docs": null + } + ], + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "398": { + "path": null, + "def": { + "Array": { + "len": 64, + "type": 2 + } + }, + "docs": null + }, + "399": { + "path": null, + "def": { + "Array": { + "len": 65, + "type": 2 + } + }, + "docs": null + }, + "4": { + "path": null, + "def": { + "Primitive": "U32" + }, + "docs": null + }, + "40": { + "path": null, + "def": { + "Array": { + "len": 1, + "type": 41 + } + }, + "docs": null + }, + "400": { + "path": [ + "pallet_nfts", + "types", + "PreSignedAttributes" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Deadline", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "CollectionId", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "ItemId", + "docs": null + }, + { + "name": "attributes", + "type": 184, + "typeName": "Vec\u003c(Vec\u003cu8\u003e, Vec\u003cu8\u003e)\u003e", + "docs": null + }, + { + "name": "namespace", + "type": 151, + "typeName": "AttributeNamespace\u003cAccountId\u003e", + "docs": null + }, + { + "name": "deadline", + "type": 4, + "typeName": "Deadline", + "docs": null + } + ] + } + }, + "docs": null + }, + "401": { + "path": [ + "pallet_assets", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "min_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 0, + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "is_sufficient", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "min_balance", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "start_destroy", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 2, + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset." + ] + }, + { + "name": "destroy_accounts", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 3, + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ] + }, + { + "name": "destroy_approvals", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 4, + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ] + }, + { + "name": "finish_destroy", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 5, + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "beneficiary", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 6, + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 7, + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre \u0026 post Zombie-status of `who`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "target", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 8, + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "transfer_keep_alive", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "target", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 9, + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "source", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 10, + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 11, + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 12, + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "freeze_asset", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 13, + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw_asset", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 14, + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 15, + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "issuer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 16, + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "symbol", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + } + ], + "index": 17, + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 18, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_set_metadata", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "symbol", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 19, + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ] + }, + { + "name": "force_clear_metadata", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 20, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_asset_status", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "issuer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "min_balance", + "type": 46, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "is_sufficient", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 21, + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 22, + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 23, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_cancel_approval", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 24, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_approved", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "destination", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 25, + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "touch", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 26, + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ] + }, + { + "name": "refund", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "allow_burn", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 27, + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ] + }, + { + "name": "set_min_balance", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "min_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 28, + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ] + }, + { + "name": "touch_other", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 29, + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ] + }, + { + "name": "refund_other", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 30, + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ] + }, + { + "name": "block", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 31, + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_all", + "fields": [ + { + "name": "id", + "type": 38, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "keep_alive", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 32, + "docs": [ + "Transfer the entire transferable balance from the caller asset account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the asset account has, causing the sender asset account to be killed", + " (false), or transfer everything except at least the minimum balance, which will", + " guarantee to keep the sender asset account alive (true)." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "402": { + "path": [ + "pallet_nft_fractionalization", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "fractionalize", + "fields": [ + { + "name": "nft_collection_id", + "type": 4, + "typeName": "T::NftCollectionId", + "docs": null + }, + { + "name": "nft_id", + "type": 4, + "typeName": "T::NftId", + "docs": null + }, + { + "name": "asset_id", + "type": 4, + "typeName": "AssetIdOf\u003cT\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "fractions", + "type": 6, + "typeName": "AssetBalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Lock the NFT and mint a new fungible asset.", + "", + "The dispatch origin for this call must be Signed.", + "The origin must be the owner of the NFT they are trying to lock.", + "", + "`Deposit` funds of sender are reserved.", + "", + "- `nft_collection_id`: The ID used to identify the collection of the NFT.", + "Is used within the context of `pallet_nfts`.", + "- `nft_id`: The ID used to identify the NFT within the given collection.", + "Is used within the context of `pallet_nfts`.", + "- `asset_id`: The ID of the new asset. It must not exist.", + "Is used within the context of `pallet_assets`.", + "- `beneficiary`: The account that will receive the newly created asset.", + "- `fractions`: The total issuance of the newly created asset class.", + "", + "Emits `NftFractionalized` event when successful." + ] + }, + { + "name": "unify", + "fields": [ + { + "name": "nft_collection_id", + "type": 4, + "typeName": "T::NftCollectionId", + "docs": null + }, + { + "name": "nft_id", + "type": 4, + "typeName": "T::NftId", + "docs": null + }, + { + "name": "asset_id", + "type": 4, + "typeName": "AssetIdOf\u003cT\u003e", + "docs": null + }, + { + "name": "beneficiary", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 1, + "docs": [ + "Burn the total issuance of the fungible asset and return (unlock) the locked NFT.", + "", + "The dispatch origin for this call must be Signed.", + "", + "`Deposit` funds will be returned to `asset_creator`.", + "", + "- `nft_collection_id`: The ID used to identify the collection of the NFT.", + "Is used within the context of `pallet_nfts`.", + "- `nft_id`: The ID used to identify the NFT within the given collection.", + "Is used within the context of `pallet_nfts`.", + "- `asset_id`: The ID of the asset being returned and destroyed. Must match", + "the original ID of the created asset, corresponding to the NFT.", + "Is used within the context of `pallet_assets`.", + "- `beneficiary`: The account that will receive the unified NFT.", + "", + "Emits `NftUnified` event when successful." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "403": { + "path": [ + "pallet_assets", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "min_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 0, + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "is_sufficient", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "min_balance", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 1, + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "start_destroy", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 2, + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset." + ] + }, + { + "name": "destroy_accounts", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 3, + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ] + }, + { + "name": "destroy_approvals", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 4, + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ] + }, + { + "name": "finish_destroy", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 5, + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "beneficiary", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 6, + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 7, + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre \u0026 post Zombie-status of `who`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "target", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 8, + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "transfer_keep_alive", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "target", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 9, + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "source", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 10, + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 11, + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 12, + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "freeze_asset", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 13, + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw_asset", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 14, + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 15, + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "issuer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 16, + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "symbol", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + } + ], + "index": 17, + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 18, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_set_metadata", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "symbol", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 19, + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ] + }, + { + "name": "force_clear_metadata", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 20, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_asset_status", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "issuer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "admin", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "freezer", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "min_balance", + "type": 46, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "is_sufficient", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 21, + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 22, + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 23, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_cancel_approval", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "delegate", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 24, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_approved", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "owner", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "destination", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "amount", + "type": 46, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 25, + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "touch", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + } + ], + "index": 26, + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ] + }, + { + "name": "refund", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "allow_burn", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 27, + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ] + }, + { + "name": "set_min_balance", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "min_balance", + "type": 6, + "typeName": "T::Balance", + "docs": null + } + ], + "index": 28, + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ] + }, + { + "name": "touch_other", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 29, + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ] + }, + { + "name": "refund_other", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 30, + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ] + }, + { + "name": "block", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "who", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + } + ], + "index": 31, + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_all", + "fields": [ + { + "name": "id", + "type": 4, + "typeName": "T::AssetIdParameter", + "docs": null + }, + { + "name": "dest", + "type": 259, + "typeName": "AccountIdLookupOf\u003cT\u003e", + "docs": null + }, + { + "name": "keep_alive", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 32, + "docs": [ + "Transfer the entire transferable balance from the caller asset account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any held, frozen, or minimum balance (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the asset account has, causing the sender asset account to be killed", + " (false), or transfer everything except at least the minimum balance, which will", + " guarantee to keep the sender asset account alive (true)." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "404": { + "path": [ + "pallet_asset_conversion", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "create_pool", + "fields": [ + { + "name": "asset1", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + }, + { + "name": "asset2", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Creates an empty liquidity pool and an associated new `lp_token` asset", + "(the id of which is returned in the `Event::PoolCreated` event).", + "", + "Once a pool is created, someone may [`Pallet::add_liquidity`] to it." + ] + }, + { + "name": "add_liquidity", + "fields": [ + { + "name": "asset1", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + }, + { + "name": "asset2", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + }, + { + "name": "amount1_desired", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "amount2_desired", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "amount1_min", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "amount2_min", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "mint_to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 1, + "docs": [ + "Provide liquidity into the pool of `asset1` and `asset2`.", + "NOTE: an optimal amount of asset1 and asset2 will be calculated and", + "might be different than the provided `amount1_desired`/`amount2_desired`", + "thus you should provide the min amount you're happy to provide.", + "Params `amount1_min`/`amount2_min` represent that.", + "`mint_to` will be sent the liquidity tokens that represent this share of the pool.", + "", + "NOTE: when encountering an incorrect exchange rate and non-withdrawable pool liquidity,", + "batch an atomic call with [`Pallet::add_liquidity`] and", + "[`Pallet::swap_exact_tokens_for_tokens`] or [`Pallet::swap_tokens_for_exact_tokens`]", + "calls to render the liquidity withdrawable and rectify the exchange rate.", + "", + "Once liquidity is added, someone may successfully call", + "[`Pallet::swap_exact_tokens_for_tokens`]." + ] + }, + { + "name": "remove_liquidity", + "fields": [ + { + "name": "asset1", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + }, + { + "name": "asset2", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + }, + { + "name": "lp_token_burn", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "amount1_min_receive", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "amount2_min_receive", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "withdraw_to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 2, + "docs": [ + "Allows you to remove liquidity by providing the `lp_token_burn` tokens that will be", + "burned in the process. With the usage of `amount1_min_receive`/`amount2_min_receive`", + "it's possible to control the min amount of returned tokens you're happy with." + ] + }, + { + "name": "swap_exact_tokens_for_tokens", + "fields": [ + { + "name": "path", + "type": 405, + "typeName": "Vec\u003cBox\u003cT::AssetKind\u003e\u003e", + "docs": null + }, + { + "name": "amount_in", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "amount_out_min", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "send_to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "keep_alive", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 3, + "docs": [ + "Swap the exact amount of `asset1` into `asset2`.", + "`amount_out_min` param allows you to specify the min amount of the `asset2`", + "you're happy to receive.", + "", + "[`AssetConversionApi::quote_price_exact_tokens_for_tokens`] runtime call can be called", + "for a quote." + ] + }, + { + "name": "swap_tokens_for_exact_tokens", + "fields": [ + { + "name": "path", + "type": 405, + "typeName": "Vec\u003cBox\u003cT::AssetKind\u003e\u003e", + "docs": null + }, + { + "name": "amount_out", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "amount_in_max", + "type": 6, + "typeName": "T::Balance", + "docs": null + }, + { + "name": "send_to", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "keep_alive", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 4, + "docs": [ + "Swap any amount of `asset1` to get the exact amount of `asset2`.", + "`amount_in_max` param allows to specify the max amount of the `asset1`", + "you're happy to provide.", + "", + "[`AssetConversionApi::quote_price_tokens_for_exact_tokens`] runtime call can be called", + "for a quote." + ] + }, + { + "name": "touch", + "fields": [ + { + "name": "asset1", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + }, + { + "name": "asset2", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + } + ], + "index": 5, + "docs": [ + "Touch an existing pool to fulfill prerequisites before providing liquidity, such as", + "ensuring that the pool's accounts are in place. It is typically useful when a pool", + "creator removes the pool's accounts and does not provide a liquidity. This action may", + "involve holding assets from the caller as a deposit for creating the pool's accounts.", + "", + "The origin must be Signed.", + "", + "- `asset1`: The asset ID of an existing pool with a pair (asset1, asset2).", + "- `asset2`: The asset ID of an existing pool with a pair (asset1, asset2).", + "", + "Emits `Touched` event when successful." + ] + } + ] + } + }, + "docs": [ + "Pallet's callable functions." + ] + }, + "405": { + "path": null, + "def": { + "Sequence": { + "type": 38 + } + }, + "docs": null + }, + "406": { + "path": [ + "pallet_revive", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "eth_transact", + "fields": [ + { + "name": "payload", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "gas_limit", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "storage_deposit_limit", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "A raw EVM transaction, typically dispatched by an Ethereum JSON-RPC server.", + "", + "# Parameters", + "", + "* `payload`: The RLP-encoded [`crate::evm::TransactionLegacySigned`].", + "* `gas_limit`: The gas limit enforced during contract execution.", + "* `storage_deposit_limit`: The maximum balance that can be charged to the caller for", + " storage usage.", + "", + "# Note", + "", + "This call cannot be dispatched directly; attempting to do so will result in a failed", + "transaction. It serves as a wrapper for an Ethereum transaction. When submitted, the", + "runtime converts it into a [`sp_runtime::generic::CheckedExtrinsic`] by recovering the", + "signer and validating the transaction." + ] + }, + { + "name": "call", + "fields": [ + { + "name": "dest", + "type": 168, + "typeName": "H160", + "docs": null + }, + { + "name": "value", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "gas_limit", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "storage_deposit_limit", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "data", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ], + "index": 1, + "docs": [ + "Makes a call to an account, optionally transferring some balance.", + "", + "# Parameters", + "", + "* `dest`: Address of the contract to call.", + "* `value`: The balance to transfer from the `origin` to `dest`.", + "* `gas_limit`: The gas limit enforced when executing the constructor.", + "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the", + " caller to pay for the storage consumed.", + "* `data`: The input data to pass to the contract.", + "", + "* If the account is a smart-contract account, the associated code will be", + "executed and any value will be transferred.", + "* If the account is a regular account, any value will be transferred.", + "* If no account exists and the call value is not less than `existential_deposit`,", + "a regular account will be created and any value will be transferred." + ] + }, + { + "name": "instantiate", + "fields": [ + { + "name": "value", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "gas_limit", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "storage_deposit_limit", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "code_hash", + "type": 13, + "typeName": "sp_core::H256", + "docs": null + }, + { + "name": "data", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "salt", + "type": 33, + "typeName": "Option\u003c[u8; 32]\u003e", + "docs": null + } + ], + "index": 2, + "docs": [ + "Instantiates a contract from a previously deployed wasm binary.", + "", + "This function is identical to [`Self::instantiate_with_code`] but without the", + "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary", + "must be supplied." + ] + }, + { + "name": "instantiate_with_code", + "fields": [ + { + "name": "value", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "gas_limit", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "storage_deposit_limit", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "code", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "data", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "salt", + "type": 33, + "typeName": "Option\u003c[u8; 32]\u003e", + "docs": null + } + ], + "index": 3, + "docs": [ + "Instantiates a new contract from the supplied `code` optionally transferring", + "some balance.", + "", + "This dispatchable has the same effect as calling [`Self::upload_code`] +", + "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please", + "also check the documentation of [`Self::upload_code`].", + "", + "# Parameters", + "", + "* `value`: The balance to transfer from the `origin` to the newly created contract.", + "* `gas_limit`: The gas limit enforced when executing the constructor.", + "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved", + " from the caller to pay for the storage consumed.", + "* `code`: The contract code to deploy in raw bytes.", + "* `data`: The input data to pass to the contract constructor.", + "* `salt`: Used for the address derivation. If `Some` is supplied then `CREATE2`", + "\tsemantics are used. If `None` then `CRATE1` is used.", + "", + "", + "Instantiation is executed as follows:", + "", + "- The supplied `code` is deployed, and a `code_hash` is created for that code.", + "- If the `code_hash` already exists on the chain the underlying `code` will be shared.", + "- The destination address is computed based on the sender, code_hash and the salt.", + "- The smart-contract account is created at the computed address.", + "- The `value` is transferred to the new account.", + "- The `deploy` function is executed in the context of the newly-created account." + ] + }, + { + "name": "upload_code", + "fields": [ + { + "name": "code", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "storage_deposit_limit", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 4, + "docs": [ + "Upload new `code` without instantiating a contract from it.", + "", + "If the code does not already exist a deposit is reserved from the caller", + "and unreserved only when [`Self::remove_code`] is called. The size of the reserve", + "depends on the size of the supplied `code`.", + "", + "# Note", + "", + "Anyone can instantiate a contract from any uploaded code and thus prevent its removal.", + "To avoid this situation a constructor could employ access control so that it can", + "only be instantiated by permissioned entities. The same is true when uploading", + "through [`Self::instantiate_with_code`]." + ] + }, + { + "name": "remove_code", + "fields": [ + { + "name": "code_hash", + "type": 13, + "typeName": "sp_core::H256", + "docs": null + } + ], + "index": 5, + "docs": [ + "Remove the code stored under `code_hash` and refund the deposit to its owner.", + "", + "A code can only be removed by its original uploader (its owner) and only if it is", + "not used by any contract." + ] + }, + { + "name": "set_code", + "fields": [ + { + "name": "dest", + "type": 168, + "typeName": "H160", + "docs": null + }, + { + "name": "code_hash", + "type": 13, + "typeName": "sp_core::H256", + "docs": null + } + ], + "index": 6, + "docs": [ + "Privileged function that changes the code of an existing contract.", + "", + "This takes care of updating refcounts and all other necessary operations. Returns", + "an error if either the `code_hash` or `dest` do not exist.", + "", + "# Note", + "", + "This does **not** change the address of the contract in question. This means", + "that the contract address is no longer derived from its code hash after calling", + "this dispatchable." + ] + }, + { + "name": "map_account", + "fields": null, + "index": 7, + "docs": [ + "Register the callers account id so that it can be used in contract interactions.", + "", + "This will error if the origin is already mapped or is a eth native `Address20`. It will", + "take a deposit that can be released by calling [`Self::unmap_account`]." + ] + }, + { + "name": "unmap_account", + "fields": null, + "index": 8, + "docs": [ + "Unregister the callers account id in order to free the deposit.", + "", + "There is no reason to ever call this function other than freeing up the deposit.", + "This is only useful when the account should no longer be used." + ] + }, + { + "name": "dispatch_as_fallback_account", + "fields": [ + { + "name": "call", + "type": 370, + "typeName": "Box\u003c\u003cT as Config\u003e::RuntimeCall\u003e", + "docs": null + } + ], + "index": 9, + "docs": [ + "Dispatch an `call` with the origin set to the callers fallback address.", + "", + "Every `AccountId32` can control its corresponding fallback account. The fallback account", + "is the `AccountId20` with the last 12 bytes set to `0xEE`. This is essentially a", + "recovery function in case an `AccountId20` was used without creating a mapping first." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "407": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "control_auto_migration", + "fields": [ + { + "name": "maybe_config", + "type": 408, + "typeName": "Option\u003cMigrationLimits\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Control the automatic migration.", + "", + "The dispatch origin of this call must be [`Config::ControlOrigin`]." + ] + }, + { + "name": "continue_migrate", + "fields": [ + { + "name": "limits", + "type": 409, + "typeName": "MigrationLimits", + "docs": null + }, + { + "name": "real_size_upper", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "witness_task", + "type": 410, + "typeName": "MigrationTask\u003cT\u003e", + "docs": null + } + ], + "index": 1, + "docs": [ + "Continue the migration for the given `limits`.", + "", + "The dispatch origin of this call can be any signed account.", + "", + "This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,", + "Upon successful execution, the transaction fee is returned.", + "", + "The (potentially over-estimated) of the byte length of all the data read must be", + "provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing", + "that executing the current `MigrationTask` with the given `limits` will not exceed", + "`real_size_upper` bytes of read data.", + "", + "The `witness_task` is merely a helper to prevent the caller from being slashed or", + "generally trigger a migration that they do not intend. This parameter is just a message", + "from caller, saying that they believed `witness_task` was the last state of the", + "migration, and they only wish for their transaction to do anything, if this assumption", + "holds. In case `witness_task` does not match, the transaction fails.", + "", + "Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the", + "recommended way of doing this is to pass a `limit` that only bounds `count`, as the", + "`size` limit can always be overwritten." + ] + }, + { + "name": "migrate_custom_top", + "fields": [ + { + "name": "keys", + "type": 186, + "typeName": "Vec\u003cVec\u003cu8\u003e\u003e", + "docs": null + }, + { + "name": "witness_size", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 2, + "docs": [ + "Migrate the list of top keys by iterating each of them one by one.", + "", + "This does not affect the global migration process tracker ([`MigrationProcess`]), and", + "should only be used in case any keys are leftover due to a bug." + ] + }, + { + "name": "migrate_custom_child", + "fields": [ + { + "name": "root", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "child_keys", + "type": 186, + "typeName": "Vec\u003cVec\u003cu8\u003e\u003e", + "docs": null + }, + { + "name": "total_size", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 3, + "docs": [ + "Migrate the list of child keys by iterating each of them one by one.", + "", + "All of the given child keys must be present under one `child_root`.", + "", + "This does not affect the global migration process tracker ([`MigrationProcess`]), and", + "should only be used in case any keys are leftover due to a bug." + ] + }, + { + "name": "set_signed_max_limits", + "fields": [ + { + "name": "limits", + "type": 409, + "typeName": "MigrationLimits", + "docs": null + } + ], + "index": 4, + "docs": [ + "Set the maximum limit of the signed migration." + ] + }, + { + "name": "force_set_progress", + "fields": [ + { + "name": "progress_top", + "type": 411, + "typeName": "ProgressOf\u003cT\u003e", + "docs": null + }, + { + "name": "progress_child", + "type": 411, + "typeName": "ProgressOf\u003cT\u003e", + "docs": null + } + ], + "index": 5, + "docs": [ + "Forcefully set the progress the running migration.", + "", + "This is only useful in one case: the next key to migrate is too big to be migrated with", + "a signed account, in a parachain context, and we simply want to skip it. A reasonable", + "example of this would be `:code:`, which is both very expensive to migrate, and commonly", + "used, so probably it is already migrated.", + "", + "In case you mess things up, you can also, in principle, use this to reset the migration", + "process." + ] + } + ] + } + }, + "docs": [ + "Contains a variant per dispatchable extrinsic that this pallet has." + ] + }, + "408": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 409 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 409, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "409": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "MigrationLimits" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "size", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "item", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "41": { + "path": [ + "staging_xcm", + "v5", + "junction", + "Junction" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Parachain", + "fields": [ + { + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "AccountId32", + "fields": [ + { + "name": "network", + "type": 43, + "typeName": "Option\u003cNetworkId\u003e", + "docs": null + }, + { + "name": "id", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "AccountIndex64", + "fields": [ + { + "name": "network", + "type": 43, + "typeName": "Option\u003cNetworkId\u003e", + "docs": null + }, + { + "name": "index", + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "AccountKey20", + "fields": [ + { + "name": "network", + "type": 43, + "typeName": "Option\u003cNetworkId\u003e", + "docs": null + }, + { + "name": "key", + "type": 45, + "typeName": "[u8; 20]", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "PalletInstance", + "fields": [ + { + "type": 2, + "typeName": "u8", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "GeneralIndex", + "fields": [ + { + "type": 46, + "typeName": "u128", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "GeneralKey", + "fields": [ + { + "name": "length", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "data", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "OnlyChild", + "fields": null, + "index": 7, + "docs": null + }, + { + "name": "Plurality", + "fields": [ + { + "name": "id", + "type": 47, + "typeName": "BodyId", + "docs": null + }, + { + "name": "part", + "type": 48, + "typeName": "BodyPart", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "GlobalConsensus", + "fields": [ + { + "type": 44, + "typeName": "NetworkId", + "docs": null + } + ], + "index": 9, + "docs": null + } + ] + } + }, + "docs": null + }, + "410": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "MigrationTask" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "progress_top", + "type": 411, + "typeName": "ProgressOf\u003cT\u003e", + "docs": null + }, + { + "name": "progress_child", + "type": 411, + "typeName": "ProgressOf\u003cT\u003e", + "docs": null + }, + { + "name": "size", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "top_items", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "child_items", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "411": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Progress" + ], + "params": [ + { + "name": "MaxKeyLen", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "ToStart", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "LastKey", + "fields": [ + { + "type": 412, + "typeName": "BoundedVec\u003cu8, MaxKeyLen\u003e", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Complete", + "fields": null, + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "412": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "413": { + "path": [ + "pallet_asset_conversion_ops", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "migrate_to_new_account", + "fields": [ + { + "name": "asset1", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + }, + { + "name": "asset2", + "type": 38, + "typeName": "Box\u003cT::AssetKind\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "Migrates an existing pool to a new account ID derivation method for a given asset pair.", + "If the migration is successful, transaction fees are refunded to the caller.", + "", + "Must be signed." + ] + } + ] + } + }, + "docs": [ + "Pallet's callable functions." + ] + }, + "414": { + "path": [ + "asset_hub_westend_runtime", + "OriginCaller" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "system", + "fields": [ + { + "type": 415, + "typeName": "frame_system::Origin\u003cRuntime\u003e", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "PolkadotXcm", + "fields": [ + { + "type": 416, + "typeName": "pallet_xcm::Origin", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "CumulusXcm", + "fields": [ + { + "type": 417, + "typeName": "cumulus_pallet_xcm::Origin", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "Void", + "fields": [ + { + "type": 418, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::\n__private::Void", + "docs": null + } + ], + "index": 3, + "docs": null + } + ] + } + }, + "docs": null + }, + "415": { + "path": [ + "frame_support", + "dispatch", + "RawOrigin" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Root", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Signed", + "fields": [ + { + "type": 0, + "typeName": "AccountId", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "None", + "fields": null, + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "416": { + "path": [ + "pallet_xcm", + "pallet", + "Origin" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Xcm", + "fields": [ + { + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Response", + "fields": [ + { + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "417": { + "path": [ + "cumulus_pallet_xcm", + "pallet", + "Origin" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Relay", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "SiblingParachain", + "fields": [ + { + "type": 131, + "typeName": "ParaId", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "418": { + "path": [ + "sp_core", + "Void" + ], + "def": { + "Variant": { + "variants": null + } + }, + "docs": null + }, + "419": { + "path": [ + "pallet_utility", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "TooManyCalls", + "fields": null, + "index": 0, + "docs": [ + "Too many calls batched." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "42": { + "path": null, + "def": { + "Compact": { + "type": 4 + } + }, + "docs": null + }, + "420": { + "path": null, + "def": { + "Tuple": [ + 0, + 1 + ] + }, + "docs": null + }, + "421": { + "path": [ + "pallet_multisig", + "Multisig" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "MaxApprovals", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "when", + "type": 137, + "typeName": "Timepoint\u003cBlockNumber\u003e", + "docs": null + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance", + "docs": null + }, + { + "name": "depositor", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "approvals", + "type": 422, + "typeName": "BoundedVec\u003cAccountId, MaxApprovals\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "422": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 57, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "423": { + "path": [ + "pallet_multisig", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "MinimumThreshold", + "fields": null, + "index": 0, + "docs": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "fields": null, + "index": 1, + "docs": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "fields": null, + "index": 2, + "docs": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "fields": null, + "index": 3, + "docs": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "fields": null, + "index": 4, + "docs": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "fields": null, + "index": 5, + "docs": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "fields": null, + "index": 6, + "docs": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "fields": null, + "index": 7, + "docs": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "fields": null, + "index": 8, + "docs": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "fields": null, + "index": 9, + "docs": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "fields": null, + "index": 10, + "docs": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "fields": null, + "index": 11, + "docs": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "fields": null, + "index": 12, + "docs": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "fields": null, + "index": 13, + "docs": [ + "The data to be stored is already stored." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "424": { + "path": null, + "def": { + "Tuple": [ + 425, + 6 + ] + }, + "docs": null + }, + "425": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 426 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 427, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "426": { + "path": [ + "pallet_proxy", + "ProxyDefinition" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ProxyType", + "type": 139 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "delegate", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "proxy_type", + "type": 139, + "typeName": "ProxyType", + "docs": null + }, + { + "name": "delay", + "type": 4, + "typeName": "BlockNumber", + "docs": null + } + ] + } + }, + "docs": null + }, + "427": { + "path": null, + "def": { + "Sequence": { + "type": 426 + } + }, + "docs": null + }, + "428": { + "path": null, + "def": { + "Tuple": [ + 429, + 6 + ] + }, + "docs": null + }, + "429": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 430 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 431, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "43": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 44 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 44, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "430": { + "path": [ + "pallet_proxy", + "Announcement" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Hash", + "type": 13 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "real", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "call_hash", + "type": 13, + "typeName": "Hash", + "docs": null + }, + { + "name": "height", + "type": 4, + "typeName": "BlockNumber", + "docs": null + } + ] + } + }, + "docs": null + }, + "431": { + "path": null, + "def": { + "Sequence": { + "type": 430 + } + }, + "docs": null + }, + "432": { + "path": [ + "pallet_proxy", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "TooMany", + "fields": null, + "index": 0, + "docs": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "fields": null, + "index": 1, + "docs": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "fields": null, + "index": 2, + "docs": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "fields": null, + "index": 3, + "docs": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "fields": null, + "index": 4, + "docs": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "fields": null, + "index": 5, + "docs": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "fields": null, + "index": 6, + "docs": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "fields": null, + "index": 7, + "docs": [ + "Cannot add self as proxy." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "433": { + "path": [ + "pallet_assets", + "types", + "AssetDetails" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "issuer", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "admin", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "freezer", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "supply", + "type": 6, + "typeName": "Balance", + "docs": null + }, + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + }, + { + "name": "min_balance", + "type": 6, + "typeName": "Balance", + "docs": null + }, + { + "name": "is_sufficient", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "accounts", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "sufficients", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "approvals", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "status", + "type": 434, + "typeName": "AssetStatus", + "docs": null + } + ] + } + }, + "docs": null + }, + "434": { + "path": [ + "pallet_assets", + "types", + "AssetStatus" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Live", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Frozen", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "Destroying", + "fields": null, + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "435": { + "path": null, + "def": { + "Tuple": [ + 4, + 0 + ] + }, + "docs": null + }, + "436": { + "path": [ + "pallet_assets", + "types", + "AssetAccount" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "Extra", + "type": 135 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "balance", + "type": 6, + "typeName": "Balance", + "docs": null + }, + { + "name": "status", + "type": 437, + "typeName": "AccountStatus", + "docs": null + }, + { + "name": "reason", + "type": 438, + "typeName": "ExistenceReason\u003cDepositBalance, AccountId\u003e", + "docs": null + }, + { + "name": "extra", + "type": 135, + "typeName": "Extra", + "docs": null + } + ] + } + }, + "docs": null + }, + "437": { + "path": [ + "pallet_assets", + "types", + "AccountStatus" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Liquid", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Frozen", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "Blocked", + "fields": null, + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "438": { + "path": [ + "pallet_assets", + "types", + "ExistenceReason" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Consumer", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Sufficient", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "DepositHeld", + "fields": [ + { + "type": 6, + "typeName": "Balance", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "DepositRefunded", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "DepositFrom", + "fields": [ + { + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "type": 6, + "typeName": "Balance", + "docs": null + } + ], + "index": 4, + "docs": null + } + ] + } + }, + "docs": null + }, + "439": { + "path": null, + "def": { + "Tuple": [ + 4, + 0, + 0 + ] + }, + "docs": null + }, + "44": { + "path": [ + "staging_xcm", + "v5", + "junction", + "NetworkId" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "ByGenesis", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ByFork", + "fields": [ + { + "name": "block_number", + "type": 12, + "typeName": "u64", + "docs": null + }, + { + "name": "block_hash", + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Polkadot", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Kusama", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "Ethereum", + "fields": [ + { + "name": "chain_id", + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "BitcoinCore", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "BitcoinCash", + "fields": null, + "index": 6, + "docs": null + }, + { + "name": "PolkadotBulletin", + "fields": null, + "index": 7, + "docs": null + } + ] + } + }, + "docs": null + }, + "440": { + "path": [ + "pallet_assets", + "types", + "Approval" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "Balance", + "docs": null + }, + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + } + ] + } + }, + "docs": null + }, + "441": { + "path": [ + "pallet_assets", + "types", + "AssetMetadata" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "BoundedString", + "type": 442 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + }, + { + "name": "name", + "type": 442, + "typeName": "BoundedString", + "docs": null + }, + { + "name": "symbol", + "type": 442, + "typeName": "BoundedString", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ] + } + }, + "docs": null + }, + "442": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "443": { + "path": [ + "pallet_assets", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "BalanceLow", + "fields": null, + "index": 0, + "docs": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "fields": null, + "index": 1, + "docs": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "fields": null, + "index": 2, + "docs": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "fields": null, + "index": 3, + "docs": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "fields": null, + "index": 4, + "docs": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "fields": null, + "index": 5, + "docs": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "fields": null, + "index": 6, + "docs": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "fields": null, + "index": 7, + "docs": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "fields": null, + "index": 8, + "docs": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "fields": null, + "index": 9, + "docs": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "fields": null, + "index": 10, + "docs": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "fields": null, + "index": 11, + "docs": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "fields": null, + "index": 12, + "docs": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "fields": null, + "index": 13, + "docs": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "fields": null, + "index": 14, + "docs": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "fields": null, + "index": 15, + "docs": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "fields": null, + "index": 16, + "docs": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "fields": null, + "index": 17, + "docs": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "fields": null, + "index": 18, + "docs": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "fields": null, + "index": 19, + "docs": [ + "Callback action resulted in error" + ] + }, + { + "name": "BadAssetId", + "fields": null, + "index": 20, + "docs": [ + "The asset ID must be equal to the [`NextAssetId`]." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "444": { + "path": [ + "pallet_uniques", + "types", + "CollectionDetails" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "issuer", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "admin", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "freezer", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "total_deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + }, + { + "name": "free_holding", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "items", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "item_metadatas", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "attributes", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ] + } + }, + "docs": null + }, + "445": { + "path": null, + "def": { + "Tuple": [ + 0, + 4, + 4 + ] + }, + "docs": null + }, + "446": { + "path": null, + "def": { + "Tuple": [ + 0, + 4 + ] + }, + "docs": null + }, + "447": { + "path": [ + "pallet_uniques", + "types", + "ItemDetails" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "approved", + "type": 148, + "typeName": "Option\u003cAccountId\u003e", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + } + ] + } + }, + "docs": null + }, + "448": { + "path": [ + "pallet_uniques", + "types", + "CollectionMetadata" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "StringLimit", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + }, + { + "name": "data", + "type": 143, + "typeName": "BoundedVec\u003cu8, StringLimit\u003e", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ] + } + }, + "docs": null + }, + "449": { + "path": [ + "pallet_uniques", + "types", + "ItemMetadata" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "StringLimit", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + }, + { + "name": "data", + "type": 143, + "typeName": "BoundedVec\u003cu8, StringLimit\u003e", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ] + } + }, + "docs": null + }, + "45": { + "path": null, + "def": { + "Array": { + "len": 20, + "type": 2 + } + }, + "docs": null + }, + "450": { + "path": null, + "def": { + "Tuple": [ + 4, + 145, + 146 + ] + }, + "docs": null + }, + "451": { + "path": null, + "def": { + "Tuple": [ + 147, + 6 + ] + }, + "docs": null + }, + "452": { + "path": null, + "def": { + "Tuple": [ + 6, + 148 + ] + }, + "docs": null + }, + "453": { + "path": [ + "pallet_uniques", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "NoPermission", + "fields": null, + "index": 0, + "docs": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "fields": null, + "index": 1, + "docs": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "fields": null, + "index": 2, + "docs": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "fields": null, + "index": 3, + "docs": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "fields": null, + "index": 4, + "docs": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "fields": null, + "index": 5, + "docs": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "fields": null, + "index": 6, + "docs": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "fields": null, + "index": 7, + "docs": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "fields": null, + "index": 8, + "docs": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "fields": null, + "index": 9, + "docs": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "fields": null, + "index": 10, + "docs": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "fields": null, + "index": 11, + "docs": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "fields": null, + "index": 12, + "docs": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "fields": null, + "index": 13, + "docs": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "fields": null, + "index": 14, + "docs": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "fields": null, + "index": 15, + "docs": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "fields": null, + "index": 16, + "docs": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "fields": null, + "index": 17, + "docs": [ + "The provided bid is too low." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "454": { + "path": [ + "pallet_nfts", + "types", + "CollectionDetails" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "owner_deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + }, + { + "name": "items", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "item_metadatas", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "item_configs", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "attributes", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "455": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 456 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 2, + "typeName": "CollectionRole", + "docs": null + } + ] + } + }, + "docs": null + }, + "456": { + "path": [ + "pallet_nfts", + "types", + "CollectionRole" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Issuer", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "Freezer", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Admin", + "fields": null, + "index": 4, + "docs": null + } + ] + } + }, + "docs": null + }, + "457": { + "path": [ + "pallet_nfts", + "types", + "ItemDetails" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Deposit", + "type": 458 + }, + { + "name": "Approvals", + "type": 459 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "approvals", + "type": 459, + "typeName": "Approvals", + "docs": null + }, + { + "name": "deposit", + "type": 458, + "typeName": "Deposit", + "docs": null + } + ] + } + }, + "docs": null + }, + "458": { + "path": [ + "pallet_nfts", + "types", + "ItemDeposit" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "AccountId", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "DepositBalance", + "docs": null + } + ] + } + }, + "docs": null + }, + "459": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 145 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 460, + "typeName": "BTreeMap\u003cK, V\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "46": { + "path": null, + "def": { + "Compact": { + "type": 6 + } + }, + "docs": null + }, + "460": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 145 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 461, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "461": { + "path": null, + "def": { + "Sequence": { + "type": 462 + } + }, + "docs": null + }, + "462": { + "path": null, + "def": { + "Tuple": [ + 0, + 145 + ] + }, + "docs": null + }, + "463": { + "path": [ + "pallet_nfts", + "types", + "CollectionMetadata" + ], + "params": [ + { + "name": "Deposit", + "type": 6 + }, + { + "name": "StringLimit", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "Deposit", + "docs": null + }, + { + "name": "data", + "type": 150, + "typeName": "BoundedVec\u003cu8, StringLimit\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "464": { + "path": [ + "pallet_nfts", + "types", + "ItemMetadata" + ], + "params": [ + { + "name": "Deposit", + "type": 465 + }, + { + "name": "StringLimit", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "deposit", + "type": 465, + "typeName": "Deposit", + "docs": null + }, + { + "name": "data", + "type": 150, + "typeName": "BoundedVec\u003cu8, StringLimit\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "465": { + "path": [ + "pallet_nfts", + "types", + "ItemMetadataDeposit" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "account", + "type": 148, + "typeName": "Option\u003cAccountId\u003e", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "DepositBalance", + "docs": null + } + ] + } + }, + "docs": null + }, + "466": { + "path": null, + "def": { + "Tuple": [ + 4, + 145, + 151, + 147 + ] + }, + "docs": null + }, + "467": { + "path": null, + "def": { + "Tuple": [ + 150, + 468 + ] + }, + "docs": null + }, + "468": { + "path": [ + "pallet_nfts", + "types", + "AttributeDeposit" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "account", + "type": 148, + "typeName": "Option\u003cAccountId\u003e", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "DepositBalance", + "docs": null + } + ] + } + }, + "docs": null + }, + "469": { + "path": [ + "bounded_collections", + "bounded_btree_set", + "BoundedBTreeSet" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 470, + "typeName": "BTreeSet\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "47": { + "path": [ + "xcm", + "v3", + "junction", + "BodyId" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Unit", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Moniker", + "fields": [ + { + "type": 18, + "typeName": "[u8; 4]", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Index", + "fields": [ + { + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "Executive", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "Technical", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "Legislative", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "Judicial", + "fields": null, + "index": 6, + "docs": null + }, + { + "name": "Defense", + "fields": null, + "index": 7, + "docs": null + }, + { + "name": "Administration", + "fields": null, + "index": 8, + "docs": null + }, + { + "name": "Treasury", + "fields": null, + "index": 9, + "docs": null + } + ] + } + }, + "docs": null + }, + "470": { + "path": [ + "BTreeSet" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 57, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "471": { + "path": [ + "pallet_nfts", + "types", + "PendingSwap" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "ItemPriceWithDirection", + "type": 153 + }, + { + "name": "Deadline", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "desired_collection", + "type": 4, + "typeName": "CollectionId", + "docs": null + }, + { + "name": "desired_item", + "type": 145, + "typeName": "Option\u003cItemId\u003e", + "docs": null + }, + { + "name": "price", + "type": 152, + "typeName": "Option\u003cItemPriceWithDirection\u003e", + "docs": null + }, + { + "name": "deadline", + "type": 4, + "typeName": "Deadline", + "docs": null + } + ] + } + }, + "docs": null + }, + "472": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 473 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 12, + "typeName": "PalletFeature", + "docs": null + } + ] + } + }, + "docs": null + }, + "473": { + "path": [ + "pallet_nfts", + "types", + "PalletFeature" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Trading", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "Attributes", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Approvals", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "Swaps", + "fields": null, + "index": 8, + "docs": null + } + ] + } + }, + "docs": null + }, + "474": { + "path": [ + "pallet_nfts", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "NoPermission", + "fields": null, + "index": 0, + "docs": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "fields": null, + "index": 1, + "docs": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "fields": null, + "index": 2, + "docs": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "fields": null, + "index": 3, + "docs": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "fields": null, + "index": 4, + "docs": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "fields": null, + "index": 5, + "docs": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "fields": null, + "index": 6, + "docs": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "fields": null, + "index": 7, + "docs": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "fields": null, + "index": 8, + "docs": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "fields": null, + "index": 9, + "docs": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "fields": null, + "index": 10, + "docs": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "fields": null, + "index": 11, + "docs": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "fields": null, + "index": 12, + "docs": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "fields": null, + "index": 13, + "docs": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "fields": null, + "index": 14, + "docs": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "fields": null, + "index": 15, + "docs": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "fields": null, + "index": 16, + "docs": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "fields": null, + "index": 17, + "docs": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "fields": null, + "index": 18, + "docs": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "fields": null, + "index": 19, + "docs": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "fields": null, + "index": 20, + "docs": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "fields": null, + "index": 21, + "docs": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "fields": null, + "index": 22, + "docs": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "fields": null, + "index": 23, + "docs": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "fields": null, + "index": 24, + "docs": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "fields": null, + "index": 25, + "docs": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "fields": null, + "index": 26, + "docs": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "fields": null, + "index": 27, + "docs": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "fields": null, + "index": 28, + "docs": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "fields": null, + "index": 29, + "docs": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "fields": null, + "index": 30, + "docs": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "fields": null, + "index": 31, + "docs": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "fields": null, + "index": 32, + "docs": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "fields": null, + "index": 33, + "docs": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "fields": null, + "index": 34, + "docs": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "fields": null, + "index": 35, + "docs": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "fields": null, + "index": 36, + "docs": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "fields": null, + "index": 37, + "docs": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "fields": null, + "index": 38, + "docs": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "fields": null, + "index": 39, + "docs": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "fields": null, + "index": 40, + "docs": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "fields": null, + "index": 41, + "docs": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "fields": null, + "index": 42, + "docs": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "fields": null, + "index": 43, + "docs": [ + "Can't delete non-empty collections." + ] + }, + { + "name": "WitnessRequired", + "fields": null, + "index": 44, + "docs": [ + "The witness data should be provided." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "475": { + "path": null, + "def": { + "Tuple": [ + 38, + 0 + ] + }, + "docs": null + }, + "476": { + "path": null, + "def": { + "Tuple": [ + 38, + 0, + 0 + ] + }, + "docs": null + }, + "477": { + "path": [ + "pallet_assets", + "types", + "AssetMetadata" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "BoundedString", + "type": 478 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + }, + { + "name": "name", + "type": 478, + "typeName": "BoundedString", + "docs": null + }, + { + "name": "symbol", + "type": 478, + "typeName": "BoundedString", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ] + } + }, + "docs": null + }, + "478": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "479": { + "path": [ + "pallet_assets", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "BalanceLow", + "fields": null, + "index": 0, + "docs": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "fields": null, + "index": 1, + "docs": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "fields": null, + "index": 2, + "docs": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "fields": null, + "index": 3, + "docs": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "fields": null, + "index": 4, + "docs": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "fields": null, + "index": 5, + "docs": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "fields": null, + "index": 6, + "docs": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "fields": null, + "index": 7, + "docs": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "fields": null, + "index": 8, + "docs": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "fields": null, + "index": 9, + "docs": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "fields": null, + "index": 10, + "docs": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "fields": null, + "index": 11, + "docs": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "fields": null, + "index": 12, + "docs": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "fields": null, + "index": 13, + "docs": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "fields": null, + "index": 14, + "docs": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "fields": null, + "index": 15, + "docs": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "fields": null, + "index": 16, + "docs": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "fields": null, + "index": 17, + "docs": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "fields": null, + "index": 18, + "docs": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "fields": null, + "index": 19, + "docs": [ + "Callback action resulted in error" + ] + }, + { + "name": "BadAssetId", + "fields": null, + "index": 20, + "docs": [ + "The asset ID must be equal to the [`NextAssetId`]." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "48": { + "path": [ + "xcm", + "v3", + "junction", + "BodyPart" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Voice", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Members", + "fields": [ + { + "name": "count", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Fraction", + "fields": [ + { + "name": "nom", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "denom", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "AtLeastProportion", + "fields": [ + { + "name": "nom", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "denom", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "MoreThanProportion", + "fields": [ + { + "name": "nom", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "denom", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 4, + "docs": null + } + ] + } + }, + "docs": null + }, + "480": { + "path": [ + "pallet_nft_fractionalization", + "types", + "Details" + ], + "params": [ + { + "name": "AssetId", + "type": 4 + }, + { + "name": "Fractions", + "type": 6 + }, + { + "name": "Deposit", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "asset", + "type": 4, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fractions", + "type": 6, + "typeName": "Fractions", + "docs": null + }, + { + "name": "deposit", + "type": 6, + "typeName": "Deposit", + "docs": null + }, + { + "name": "asset_creator", + "type": 0, + "typeName": "AccountId", + "docs": null + } + ] + } + }, + "docs": null + }, + "481": { + "path": [ + "frame_support", + "PalletId" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 72, + "typeName": "[u8; 8]", + "docs": null + } + ] + } + }, + "docs": null + }, + "482": { + "path": [ + "pallet_nft_fractionalization", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "IncorrectAssetId", + "fields": null, + "index": 0, + "docs": [ + "Asset ID does not correspond to locked NFT." + ] + }, + { + "name": "NoPermission", + "fields": null, + "index": 1, + "docs": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "NftNotFound", + "fields": null, + "index": 2, + "docs": [ + "NFT doesn't exist." + ] + }, + { + "name": "NftNotFractionalized", + "fields": null, + "index": 3, + "docs": [ + "NFT has not yet been fractionalised." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "483": { + "path": [ + "pallet_assets", + "types", + "AssetMetadata" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "BoundedString", + "type": 484 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance", + "docs": null + }, + { + "name": "name", + "type": 484, + "typeName": "BoundedString", + "docs": null + }, + { + "name": "symbol", + "type": 484, + "typeName": "BoundedString", + "docs": null + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "is_frozen", + "type": 8, + "typeName": "bool", + "docs": null + } + ] + } + }, + "docs": null + }, + "484": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "485": { + "path": [ + "pallet_assets", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "BalanceLow", + "fields": null, + "index": 0, + "docs": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "fields": null, + "index": 1, + "docs": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "fields": null, + "index": 2, + "docs": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "fields": null, + "index": 3, + "docs": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "fields": null, + "index": 4, + "docs": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "fields": null, + "index": 5, + "docs": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "fields": null, + "index": 6, + "docs": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "fields": null, + "index": 7, + "docs": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "fields": null, + "index": 8, + "docs": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "fields": null, + "index": 9, + "docs": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "fields": null, + "index": 10, + "docs": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "fields": null, + "index": 11, + "docs": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "fields": null, + "index": 12, + "docs": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "fields": null, + "index": 13, + "docs": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "fields": null, + "index": 14, + "docs": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "fields": null, + "index": 15, + "docs": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "fields": null, + "index": 16, + "docs": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "fields": null, + "index": 17, + "docs": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "fields": null, + "index": 18, + "docs": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "fields": null, + "index": 19, + "docs": [ + "Callback action resulted in error" + ] + }, + { + "name": "BadAssetId", + "fields": null, + "index": 20, + "docs": [ + "The asset ID must be equal to the [`NextAssetId`]." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "486": { + "path": [ + "pallet_asset_conversion", + "types", + "PoolInfo" + ], + "params": [ + { + "name": "PoolAssetId", + "type": 4 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "lp_token", + "type": 4, + "typeName": "PoolAssetId", + "docs": null + } + ] + } + }, + "docs": null + }, + "487": { + "path": [ + "pallet_asset_conversion", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "InvalidAssetPair", + "fields": null, + "index": 0, + "docs": [ + "Provided asset pair is not supported for pool." + ] + }, + { + "name": "PoolExists", + "fields": null, + "index": 1, + "docs": [ + "Pool already exists." + ] + }, + { + "name": "WrongDesiredAmount", + "fields": null, + "index": 2, + "docs": [ + "Desired amount can't be zero." + ] + }, + { + "name": "AmountOneLessThanMinimal", + "fields": null, + "index": 3, + "docs": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountTwoLessThanMinimal", + "fields": null, + "index": 4, + "docs": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "ReserveLeftLessThanMinimal", + "fields": null, + "index": 5, + "docs": [ + "Reserve needs to always be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountOutTooHigh", + "fields": null, + "index": 6, + "docs": [ + "Desired amount can't be equal to the pool reserve." + ] + }, + { + "name": "PoolNotFound", + "fields": null, + "index": 7, + "docs": [ + "The pool doesn't exist." + ] + }, + { + "name": "Overflow", + "fields": null, + "index": 8, + "docs": [ + "An overflow happened." + ] + }, + { + "name": "AssetOneDepositDidNotMeetMinimum", + "fields": null, + "index": 9, + "docs": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoDepositDidNotMeetMinimum", + "fields": null, + "index": 10, + "docs": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "AssetOneWithdrawalDidNotMeetMinimum", + "fields": null, + "index": 11, + "docs": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoWithdrawalDidNotMeetMinimum", + "fields": null, + "index": 12, + "docs": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "OptimalAmountLessThanDesired", + "fields": null, + "index": 13, + "docs": [ + "Optimal calculated amount is less than desired." + ] + }, + { + "name": "InsufficientLiquidityMinted", + "fields": null, + "index": 14, + "docs": [ + "Insufficient liquidity minted." + ] + }, + { + "name": "ZeroLiquidity", + "fields": null, + "index": 15, + "docs": [ + "Requested liquidity can't be zero." + ] + }, + { + "name": "ZeroAmount", + "fields": null, + "index": 16, + "docs": [ + "Amount can't be zero." + ] + }, + { + "name": "ProvidedMinimumNotSufficientForSwap", + "fields": null, + "index": 17, + "docs": [ + "Calculated amount out is less than provided minimum amount." + ] + }, + { + "name": "ProvidedMaximumNotSufficientForSwap", + "fields": null, + "index": 18, + "docs": [ + "Provided maximum amount is not sufficient for swap." + ] + }, + { + "name": "InvalidPath", + "fields": null, + "index": 19, + "docs": [ + "The provided path must consists of 2 assets at least." + ] + }, + { + "name": "NonUniquePath", + "fields": null, + "index": 20, + "docs": [ + "The provided path must consists of unique assets." + ] + }, + { + "name": "IncorrectPoolAssetId", + "fields": null, + "index": 21, + "docs": [ + "It was not possible to get or increment the Id of the pool." + ] + }, + { + "name": "BelowMinimum", + "fields": null, + "index": 22, + "docs": [ + "The destination account cannot exist with the swapped funds." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "488": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 489 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 491, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "489": { + "path": [ + "frame_support", + "traits", + "tokens", + "misc", + "IdAmount" + ], + "params": [ + { + "name": "Id", + "type": 490 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "id", + "type": 490, + "typeName": "Id", + "docs": null + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance", + "docs": null + } + ] + } + }, + "docs": null + }, + "49": { + "path": null, + "def": { + "Array": { + "len": 2, + "type": 41 + } + }, + "docs": null + }, + "490": { + "path": [ + "asset_hub_westend_runtime", + "RuntimeFreezeReason" + ], + "def": { + "Variant": { + "variants": null + } + }, + "docs": null + }, + "491": { + "path": null, + "def": { + "Sequence": { + "type": 489 + } + }, + "docs": null + }, + "492": { + "path": [ + "pallet_assets_freezer", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "TooManyFreezes", + "fields": null, + "index": 0, + "docs": [ + "Number of freezes on an account would exceed `MaxFreezes`." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "493": { + "path": [ + "pallet_assets_freezer", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "TooManyFreezes", + "fields": null, + "index": 0, + "docs": [ + "Number of freezes on an account would exceed `MaxFreezes`." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "494": { + "path": [ + "pallet_assets_freezer", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "I", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "TooManyFreezes", + "fields": null, + "index": 0, + "docs": [ + "Number of freezes on an account would exceed `MaxFreezes`." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "495": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "496": { + "path": [ + "pallet_revive", + "wasm", + "CodeInfo" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountIdOf\u003cT\u003e", + "docs": null + }, + { + "name": "deposit", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "refcount", + "type": 11, + "typeName": "u64", + "docs": null + }, + { + "name": "code_len", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "api_version", + "type": 140, + "typeName": "u16", + "docs": null + }, + { + "name": "behaviour_version", + "type": 140, + "typeName": "u16", + "docs": null + } + ] + } + }, + "docs": null + }, + "497": { + "path": [ + "pallet_revive", + "storage", + "ContractInfo" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "trie_id", + "type": 143, + "typeName": "TrieId", + "docs": null + }, + { + "name": "code_hash", + "type": 13, + "typeName": "sp_core::H256", + "docs": null + }, + { + "name": "storage_bytes", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "storage_items", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "storage_byte_deposit", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "storage_item_deposit", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "storage_base_deposit", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "delegate_dependencies", + "type": 498, + "typeName": "DelegateDependencyMap\u003cT\u003e", + "docs": null + }, + { + "name": "immutable_data_len", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "498": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 13 + }, + { + "name": "V", + "type": 6 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 499, + "typeName": "BTreeMap\u003cK, V\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "499": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 13 + }, + { + "name": "V", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 500, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "5": { + "path": [ + "pallet_balances", + "types", + "AccountData" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "free", + "type": 6, + "typeName": "Balance", + "docs": null + }, + { + "name": "reserved", + "type": 6, + "typeName": "Balance", + "docs": null + }, + { + "name": "frozen", + "type": 6, + "typeName": "Balance", + "docs": null + }, + { + "name": "flags", + "type": 7, + "typeName": "ExtraFlags", + "docs": null + } + ] + } + }, + "docs": null + }, + "50": { + "path": null, + "def": { + "Array": { + "len": 3, + "type": 41 + } + }, + "docs": null + }, + "500": { + "path": null, + "def": { + "Sequence": { + "type": 501 + } + }, + "docs": null + }, + "501": { + "path": null, + "def": { + "Tuple": [ + 13, + 6 + ] + }, + "docs": null + }, + "502": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "503": { + "path": [ + "pallet_revive", + "storage", + "DeletionQueueManager" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "insert_counter", + "type": 4, + "typeName": "u32", + "docs": null + }, + { + "name": "delete_counter", + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "504": { + "path": null, + "def": { + "Array": { + "len": 12, + "type": 2 + } + }, + "docs": null + }, + "505": { + "path": [ + "sp_arithmetic", + "per_things", + "Perbill" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 4, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "506": { + "path": [ + "pallet_revive", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "InvalidSchedule", + "fields": null, + "index": 0, + "docs": [ + "Invalid schedule supplied, e.g. with zero weight of a basic operation." + ] + }, + { + "name": "InvalidCallFlags", + "fields": null, + "index": 1, + "docs": [ + "Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`." + ] + }, + { + "name": "OutOfGas", + "fields": null, + "index": 2, + "docs": [ + "The executed contract exhausted its gas limit." + ] + }, + { + "name": "TransferFailed", + "fields": null, + "index": 3, + "docs": [ + "Performing the requested transfer failed. Probably because there isn't enough", + "free balance in the sender's account." + ] + }, + { + "name": "MaxCallDepthReached", + "fields": null, + "index": 4, + "docs": [ + "Performing a call was denied because the calling depth reached the limit", + "of what is specified in the schedule." + ] + }, + { + "name": "ContractNotFound", + "fields": null, + "index": 5, + "docs": [ + "No contract was found at the specified address." + ] + }, + { + "name": "CodeNotFound", + "fields": null, + "index": 6, + "docs": [ + "No code could be found at the supplied code hash." + ] + }, + { + "name": "CodeInfoNotFound", + "fields": null, + "index": 7, + "docs": [ + "No code info could be found at the supplied code hash." + ] + }, + { + "name": "OutOfBounds", + "fields": null, + "index": 8, + "docs": [ + "A buffer outside of sandbox memory was passed to a contract API function." + ] + }, + { + "name": "DecodingFailed", + "fields": null, + "index": 9, + "docs": [ + "Input passed to a contract API function failed to decode as expected type." + ] + }, + { + "name": "ContractTrapped", + "fields": null, + "index": 10, + "docs": [ + "Contract trapped during execution." + ] + }, + { + "name": "ValueTooLarge", + "fields": null, + "index": 11, + "docs": [ + "The size defined in `T::MaxValueSize` was exceeded." + ] + }, + { + "name": "TerminatedWhileReentrant", + "fields": null, + "index": 12, + "docs": [ + "Termination of a contract is not allowed while the contract is already", + "on the call stack. Can be triggered by `seal_terminate`." + ] + }, + { + "name": "InputForwarded", + "fields": null, + "index": 13, + "docs": [ + "`seal_call` forwarded this contracts input. It therefore is no longer available." + ] + }, + { + "name": "TooManyTopics", + "fields": null, + "index": 14, + "docs": [ + "The amount of topics passed to `seal_deposit_events` exceeds the limit." + ] + }, + { + "name": "NoChainExtension", + "fields": null, + "index": 15, + "docs": [ + "The chain does not provide a chain extension. Calling the chain extension results", + "in this error. Note that this usually shouldn't happen as deploying such contracts", + "is rejected." + ] + }, + { + "name": "XCMDecodeFailed", + "fields": null, + "index": 16, + "docs": [ + "Failed to decode the XCM program." + ] + }, + { + "name": "DuplicateContract", + "fields": null, + "index": 17, + "docs": [ + "A contract with the same AccountId already exists." + ] + }, + { + "name": "TerminatedInConstructor", + "fields": null, + "index": 18, + "docs": [ + "A contract self destructed in its constructor.", + "", + "This can be triggered by a call to `seal_terminate`." + ] + }, + { + "name": "ReentranceDenied", + "fields": null, + "index": 19, + "docs": [ + "A call tried to invoke a contract that is flagged as non-reentrant." + ] + }, + { + "name": "ReenteredPallet", + "fields": null, + "index": 20, + "docs": [ + "A contract called into the runtime which then called back into this pallet." + ] + }, + { + "name": "StateChangeDenied", + "fields": null, + "index": 21, + "docs": [ + "A contract attempted to invoke a state modifying API while being in read-only mode." + ] + }, + { + "name": "StorageDepositNotEnoughFunds", + "fields": null, + "index": 22, + "docs": [ + "Origin doesn't have enough balance to pay the required storage deposits." + ] + }, + { + "name": "StorageDepositLimitExhausted", + "fields": null, + "index": 23, + "docs": [ + "More storage was created than allowed by the storage deposit limit." + ] + }, + { + "name": "CodeInUse", + "fields": null, + "index": 24, + "docs": [ + "Code removal was denied because the code is still in use by at least one contract." + ] + }, + { + "name": "ContractReverted", + "fields": null, + "index": 25, + "docs": [ + "The contract ran to completion but decided to revert its storage changes.", + "Please note that this error is only returned from extrinsics. When called directly", + "or via RPC an `Ok` will be returned. In this case the caller needs to inspect the flags", + "to determine whether a reversion has taken place." + ] + }, + { + "name": "CodeRejected", + "fields": null, + "index": 26, + "docs": [ + "The contract failed to compile or is missing the correct entry points.", + "", + "A more detailed error can be found on the node console if debug messages are enabled", + "by supplying `-lruntime::revive=debug`." + ] + }, + { + "name": "BlobTooLarge", + "fields": null, + "index": 27, + "docs": [ + "The code blob supplied is larger than [`limits::code::BLOB_BYTES`]." + ] + }, + { + "name": "StaticMemoryTooLarge", + "fields": null, + "index": 28, + "docs": [ + "The static memory consumption of the blob will be larger than", + "[`limits::code::STATIC_MEMORY_BYTES`]." + ] + }, + { + "name": "BasicBlockTooLarge", + "fields": null, + "index": 29, + "docs": [ + "The program contains a basic block that is larger than allowed." + ] + }, + { + "name": "InvalidInstruction", + "fields": null, + "index": 30, + "docs": [ + "The program contains an invalid instruction." + ] + }, + { + "name": "MaxDelegateDependenciesReached", + "fields": null, + "index": 31, + "docs": [ + "The contract has reached its maximum number of delegate dependencies." + ] + }, + { + "name": "DelegateDependencyNotFound", + "fields": null, + "index": 32, + "docs": [ + "The dependency was not found in the contract's delegate dependencies." + ] + }, + { + "name": "DelegateDependencyAlreadyExists", + "fields": null, + "index": 33, + "docs": [ + "The contract already depends on the given delegate dependency." + ] + }, + { + "name": "CannotAddSelfAsDelegateDependency", + "fields": null, + "index": 34, + "docs": [ + "Can not add a delegate dependency to the code hash of the contract itself." + ] + }, + { + "name": "OutOfTransientStorage", + "fields": null, + "index": 35, + "docs": [ + "Can not add more data to transient storage." + ] + }, + { + "name": "InvalidSyscall", + "fields": null, + "index": 36, + "docs": [ + "The contract tried to call a syscall which does not exist (at its current api level)." + ] + }, + { + "name": "InvalidStorageFlags", + "fields": null, + "index": 37, + "docs": [ + "Invalid storage flags were passed to one of the storage syscalls." + ] + }, + { + "name": "ExecutionFailed", + "fields": null, + "index": 38, + "docs": [ + "PolkaVM failed during code execution. Probably due to a malformed program." + ] + }, + { + "name": "BalanceConversionFailed", + "fields": null, + "index": 39, + "docs": [ + "Failed to convert a U256 to a Balance." + ] + }, + { + "name": "InvalidImmutableAccess", + "fields": null, + "index": 40, + "docs": [ + "Immutable data can only be set during deploys and only be read during calls.", + "Additionally, it is only valid to set the data once and it must not be empty." + ] + }, + { + "name": "AccountUnmapped", + "fields": null, + "index": 41, + "docs": [ + "An `AccountID32` account tried to interact with the pallet without having a mapping.", + "", + "Call [`Pallet::map_account`] in order to create a mapping for the account." + ] + }, + { + "name": "AccountAlreadyMapped", + "fields": null, + "index": 42, + "docs": [ + "Tried to map an account that is already mapped." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "507": { + "path": [ + "pallet_asset_conversion_ops", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "InvalidAssetPair", + "fields": null, + "index": 0, + "docs": [ + "Provided asset pair is not supported for pool." + ] + }, + { + "name": "PoolNotFound", + "fields": null, + "index": 1, + "docs": [ + "The pool doesn't exist." + ] + }, + { + "name": "ZeroBalance", + "fields": null, + "index": 2, + "docs": [ + "Pool's balance cannot be zero." + ] + }, + { + "name": "PartialTransfer", + "fields": null, + "index": 3, + "docs": [ + "Indicates a partial transfer of balance to the new account during a migration." + ] + } + ] + } + }, + "docs": [ + "The `Error` enum of this pallet." + ] + }, + "508": { + "path": [ + "sp_runtime", + "generic", + "unchecked_extrinsic", + "UncheckedExtrinsic" + ], + "params": [ + { + "name": "Address", + "type": 259 + }, + { + "name": "Call", + "type": 370 + }, + { + "name": "Signature", + "type": 397 + }, + { + "name": "Extra", + "type": 509 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "", + "docs": null + } + ] + } + }, + "docs": null + }, + "509": { + "path": null, + "def": { + "Tuple": [ + 510, + 511, + 512, + 513, + 514, + 516, + 517, + 518, + 519, + 520 + ] + }, + "docs": null + }, + "51": { + "path": null, + "def": { + "Array": { + "len": 4, + "type": 41 + } + }, + "docs": null + }, + "510": { + "path": [ + "frame_system", + "extensions", + "check_non_zero_sender", + "CheckNonZeroSender" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": null + } + }, + "docs": null + }, + "511": { + "path": [ + "frame_system", + "extensions", + "check_spec_version", + "CheckSpecVersion" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": null + } + }, + "docs": null + }, + "512": { + "path": [ + "frame_system", + "extensions", + "check_tx_version", + "CheckTxVersion" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": null + } + }, + "docs": null + }, + "513": { + "path": [ + "frame_system", + "extensions", + "check_genesis", + "CheckGenesis" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": null + } + }, + "docs": null + }, + "514": { + "path": [ + "frame_system", + "extensions", + "check_mortality", + "CheckMortality" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 515, + "typeName": "Era", + "docs": null + } + ] + } + }, + "docs": null + }, + "515": { + "path": [ + "sp_runtime", + "generic", + "era", + "Era" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Immortal", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Mortal1", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Mortal2", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "Mortal3", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "Mortal4", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "Mortal5", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "Mortal6", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "Mortal7", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "Mortal8", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "Mortal9", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 9, + "docs": null + }, + { + "name": "Mortal10", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 10, + "docs": null + }, + { + "name": "Mortal11", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 11, + "docs": null + }, + { + "name": "Mortal12", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 12, + "docs": null + }, + { + "name": "Mortal13", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 13, + "docs": null + }, + { + "name": "Mortal14", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 14, + "docs": null + }, + { + "name": "Mortal15", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 15, + "docs": null + }, + { + "name": "Mortal16", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 16, + "docs": null + }, + { + "name": "Mortal17", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 17, + "docs": null + }, + { + "name": "Mortal18", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 18, + "docs": null + }, + { + "name": "Mortal19", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 19, + "docs": null + }, + { + "name": "Mortal20", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 20, + "docs": null + }, + { + "name": "Mortal21", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "Mortal22", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 22, + "docs": null + }, + { + "name": "Mortal23", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 23, + "docs": null + }, + { + "name": "Mortal24", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 24, + "docs": null + }, + { + "name": "Mortal25", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 25, + "docs": null + }, + { + "name": "Mortal26", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 26, + "docs": null + }, + { + "name": "Mortal27", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 27, + "docs": null + }, + { + "name": "Mortal28", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 28, + "docs": null + }, + { + "name": "Mortal29", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 29, + "docs": null + }, + { + "name": "Mortal30", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 30, + "docs": null + }, + { + "name": "Mortal31", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "Mortal32", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "Mortal33", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 33, + "docs": null + }, + { + "name": "Mortal34", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 34, + "docs": null + }, + { + "name": "Mortal35", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 35, + "docs": null + }, + { + "name": "Mortal36", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 36, + "docs": null + }, + { + "name": "Mortal37", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 37, + "docs": null + }, + { + "name": "Mortal38", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 38, + "docs": null + }, + { + "name": "Mortal39", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 39, + "docs": null + }, + { + "name": "Mortal40", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 40, + "docs": null + }, + { + "name": "Mortal41", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 41, + "docs": null + }, + { + "name": "Mortal42", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 42, + "docs": null + }, + { + "name": "Mortal43", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 43, + "docs": null + }, + { + "name": "Mortal44", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 44, + "docs": null + }, + { + "name": "Mortal45", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 45, + "docs": null + }, + { + "name": "Mortal46", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 46, + "docs": null + }, + { + "name": "Mortal47", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 47, + "docs": null + }, + { + "name": "Mortal48", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 48, + "docs": null + }, + { + "name": "Mortal49", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 49, + "docs": null + }, + { + "name": "Mortal50", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 50, + "docs": null + }, + { + "name": "Mortal51", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 51, + "docs": null + }, + { + "name": "Mortal52", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 52, + "docs": null + }, + { + "name": "Mortal53", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 53, + "docs": null + }, + { + "name": "Mortal54", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 54, + "docs": null + }, + { + "name": "Mortal55", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 55, + "docs": null + }, + { + "name": "Mortal56", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 56, + "docs": null + }, + { + "name": "Mortal57", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 57, + "docs": null + }, + { + "name": "Mortal58", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 58, + "docs": null + }, + { + "name": "Mortal59", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 59, + "docs": null + }, + { + "name": "Mortal60", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 60, + "docs": null + }, + { + "name": "Mortal61", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 61, + "docs": null + }, + { + "name": "Mortal62", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 62, + "docs": null + }, + { + "name": "Mortal63", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 63, + "docs": null + }, + { + "name": "Mortal64", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 64, + "docs": null + }, + { + "name": "Mortal65", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 65, + "docs": null + }, + { + "name": "Mortal66", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 66, + "docs": null + }, + { + "name": "Mortal67", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 67, + "docs": null + }, + { + "name": "Mortal68", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 68, + "docs": null + }, + { + "name": "Mortal69", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 69, + "docs": null + }, + { + "name": "Mortal70", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 70, + "docs": null + }, + { + "name": "Mortal71", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 71, + "docs": null + }, + { + "name": "Mortal72", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 72, + "docs": null + }, + { + "name": "Mortal73", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 73, + "docs": null + }, + { + "name": "Mortal74", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 74, + "docs": null + }, + { + "name": "Mortal75", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 75, + "docs": null + }, + { + "name": "Mortal76", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 76, + "docs": null + }, + { + "name": "Mortal77", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 77, + "docs": null + }, + { + "name": "Mortal78", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 78, + "docs": null + }, + { + "name": "Mortal79", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 79, + "docs": null + }, + { + "name": "Mortal80", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 80, + "docs": null + }, + { + "name": "Mortal81", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 81, + "docs": null + }, + { + "name": "Mortal82", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 82, + "docs": null + }, + { + "name": "Mortal83", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 83, + "docs": null + }, + { + "name": "Mortal84", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 84, + "docs": null + }, + { + "name": "Mortal85", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 85, + "docs": null + }, + { + "name": "Mortal86", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 86, + "docs": null + }, + { + "name": "Mortal87", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 87, + "docs": null + }, + { + "name": "Mortal88", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 88, + "docs": null + }, + { + "name": "Mortal89", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 89, + "docs": null + }, + { + "name": "Mortal90", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 90, + "docs": null + }, + { + "name": "Mortal91", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 91, + "docs": null + }, + { + "name": "Mortal92", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 92, + "docs": null + }, + { + "name": "Mortal93", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 93, + "docs": null + }, + { + "name": "Mortal94", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 94, + "docs": null + }, + { + "name": "Mortal95", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 95, + "docs": null + }, + { + "name": "Mortal96", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 96, + "docs": null + }, + { + "name": "Mortal97", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 97, + "docs": null + }, + { + "name": "Mortal98", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 98, + "docs": null + }, + { + "name": "Mortal99", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 99, + "docs": null + }, + { + "name": "Mortal100", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 100, + "docs": null + }, + { + "name": "Mortal101", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 101, + "docs": null + }, + { + "name": "Mortal102", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 102, + "docs": null + }, + { + "name": "Mortal103", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 103, + "docs": null + }, + { + "name": "Mortal104", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 104, + "docs": null + }, + { + "name": "Mortal105", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 105, + "docs": null + }, + { + "name": "Mortal106", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 106, + "docs": null + }, + { + "name": "Mortal107", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 107, + "docs": null + }, + { + "name": "Mortal108", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 108, + "docs": null + }, + { + "name": "Mortal109", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 109, + "docs": null + }, + { + "name": "Mortal110", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 110, + "docs": null + }, + { + "name": "Mortal111", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 111, + "docs": null + }, + { + "name": "Mortal112", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 112, + "docs": null + }, + { + "name": "Mortal113", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 113, + "docs": null + }, + { + "name": "Mortal114", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 114, + "docs": null + }, + { + "name": "Mortal115", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 115, + "docs": null + }, + { + "name": "Mortal116", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 116, + "docs": null + }, + { + "name": "Mortal117", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 117, + "docs": null + }, + { + "name": "Mortal118", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 118, + "docs": null + }, + { + "name": "Mortal119", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 119, + "docs": null + }, + { + "name": "Mortal120", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 120, + "docs": null + }, + { + "name": "Mortal121", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 121, + "docs": null + }, + { + "name": "Mortal122", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 122, + "docs": null + }, + { + "name": "Mortal123", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 123, + "docs": null + }, + { + "name": "Mortal124", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 124, + "docs": null + }, + { + "name": "Mortal125", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 125, + "docs": null + }, + { + "name": "Mortal126", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 126, + "docs": null + }, + { + "name": "Mortal127", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 127, + "docs": null + }, + { + "name": "Mortal128", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 128, + "docs": null + }, + { + "name": "Mortal129", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 129, + "docs": null + }, + { + "name": "Mortal130", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 130, + "docs": null + }, + { + "name": "Mortal131", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 131, + "docs": null + }, + { + "name": "Mortal132", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 132, + "docs": null + }, + { + "name": "Mortal133", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 133, + "docs": null + }, + { + "name": "Mortal134", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 134, + "docs": null + }, + { + "name": "Mortal135", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 135, + "docs": null + }, + { + "name": "Mortal136", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 136, + "docs": null + }, + { + "name": "Mortal137", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 137, + "docs": null + }, + { + "name": "Mortal138", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 138, + "docs": null + }, + { + "name": "Mortal139", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 139, + "docs": null + }, + { + "name": "Mortal140", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 140, + "docs": null + }, + { + "name": "Mortal141", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 141, + "docs": null + }, + { + "name": "Mortal142", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 142, + "docs": null + }, + { + "name": "Mortal143", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 143, + "docs": null + }, + { + "name": "Mortal144", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 144, + "docs": null + }, + { + "name": "Mortal145", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 145, + "docs": null + }, + { + "name": "Mortal146", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 146, + "docs": null + }, + { + "name": "Mortal147", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 147, + "docs": null + }, + { + "name": "Mortal148", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 148, + "docs": null + }, + { + "name": "Mortal149", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 149, + "docs": null + }, + { + "name": "Mortal150", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 150, + "docs": null + }, + { + "name": "Mortal151", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 151, + "docs": null + }, + { + "name": "Mortal152", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 152, + "docs": null + }, + { + "name": "Mortal153", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 153, + "docs": null + }, + { + "name": "Mortal154", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 154, + "docs": null + }, + { + "name": "Mortal155", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 155, + "docs": null + }, + { + "name": "Mortal156", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 156, + "docs": null + }, + { + "name": "Mortal157", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 157, + "docs": null + }, + { + "name": "Mortal158", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 158, + "docs": null + }, + { + "name": "Mortal159", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 159, + "docs": null + }, + { + "name": "Mortal160", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 160, + "docs": null + }, + { + "name": "Mortal161", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 161, + "docs": null + }, + { + "name": "Mortal162", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 162, + "docs": null + }, + { + "name": "Mortal163", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 163, + "docs": null + }, + { + "name": "Mortal164", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 164, + "docs": null + }, + { + "name": "Mortal165", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 165, + "docs": null + }, + { + "name": "Mortal166", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 166, + "docs": null + }, + { + "name": "Mortal167", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 167, + "docs": null + }, + { + "name": "Mortal168", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 168, + "docs": null + }, + { + "name": "Mortal169", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 169, + "docs": null + }, + { + "name": "Mortal170", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 170, + "docs": null + }, + { + "name": "Mortal171", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 171, + "docs": null + }, + { + "name": "Mortal172", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 172, + "docs": null + }, + { + "name": "Mortal173", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 173, + "docs": null + }, + { + "name": "Mortal174", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 174, + "docs": null + }, + { + "name": "Mortal175", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 175, + "docs": null + }, + { + "name": "Mortal176", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 176, + "docs": null + }, + { + "name": "Mortal177", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 177, + "docs": null + }, + { + "name": "Mortal178", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 178, + "docs": null + }, + { + "name": "Mortal179", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 179, + "docs": null + }, + { + "name": "Mortal180", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 180, + "docs": null + }, + { + "name": "Mortal181", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 181, + "docs": null + }, + { + "name": "Mortal182", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 182, + "docs": null + }, + { + "name": "Mortal183", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 183, + "docs": null + }, + { + "name": "Mortal184", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 184, + "docs": null + }, + { + "name": "Mortal185", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 185, + "docs": null + }, + { + "name": "Mortal186", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 186, + "docs": null + }, + { + "name": "Mortal187", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 187, + "docs": null + }, + { + "name": "Mortal188", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 188, + "docs": null + }, + { + "name": "Mortal189", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 189, + "docs": null + }, + { + "name": "Mortal190", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 190, + "docs": null + }, + { + "name": "Mortal191", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 191, + "docs": null + }, + { + "name": "Mortal192", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 192, + "docs": null + }, + { + "name": "Mortal193", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 193, + "docs": null + }, + { + "name": "Mortal194", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 194, + "docs": null + }, + { + "name": "Mortal195", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 195, + "docs": null + }, + { + "name": "Mortal196", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 196, + "docs": null + }, + { + "name": "Mortal197", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 197, + "docs": null + }, + { + "name": "Mortal198", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 198, + "docs": null + }, + { + "name": "Mortal199", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 199, + "docs": null + }, + { + "name": "Mortal200", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 200, + "docs": null + }, + { + "name": "Mortal201", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 201, + "docs": null + }, + { + "name": "Mortal202", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 202, + "docs": null + }, + { + "name": "Mortal203", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 203, + "docs": null + }, + { + "name": "Mortal204", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 204, + "docs": null + }, + { + "name": "Mortal205", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 205, + "docs": null + }, + { + "name": "Mortal206", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 206, + "docs": null + }, + { + "name": "Mortal207", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 207, + "docs": null + }, + { + "name": "Mortal208", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 208, + "docs": null + }, + { + "name": "Mortal209", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 209, + "docs": null + }, + { + "name": "Mortal210", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 210, + "docs": null + }, + { + "name": "Mortal211", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 211, + "docs": null + }, + { + "name": "Mortal212", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 212, + "docs": null + }, + { + "name": "Mortal213", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 213, + "docs": null + }, + { + "name": "Mortal214", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 214, + "docs": null + }, + { + "name": "Mortal215", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 215, + "docs": null + }, + { + "name": "Mortal216", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 216, + "docs": null + }, + { + "name": "Mortal217", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 217, + "docs": null + }, + { + "name": "Mortal218", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 218, + "docs": null + }, + { + "name": "Mortal219", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 219, + "docs": null + }, + { + "name": "Mortal220", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 220, + "docs": null + }, + { + "name": "Mortal221", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 221, + "docs": null + }, + { + "name": "Mortal222", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 222, + "docs": null + }, + { + "name": "Mortal223", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 223, + "docs": null + }, + { + "name": "Mortal224", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 224, + "docs": null + }, + { + "name": "Mortal225", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 225, + "docs": null + }, + { + "name": "Mortal226", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 226, + "docs": null + }, + { + "name": "Mortal227", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 227, + "docs": null + }, + { + "name": "Mortal228", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 228, + "docs": null + }, + { + "name": "Mortal229", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 229, + "docs": null + }, + { + "name": "Mortal230", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 230, + "docs": null + }, + { + "name": "Mortal231", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 231, + "docs": null + }, + { + "name": "Mortal232", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 232, + "docs": null + }, + { + "name": "Mortal233", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 233, + "docs": null + }, + { + "name": "Mortal234", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 234, + "docs": null + }, + { + "name": "Mortal235", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 235, + "docs": null + }, + { + "name": "Mortal236", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 236, + "docs": null + }, + { + "name": "Mortal237", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 237, + "docs": null + }, + { + "name": "Mortal238", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 238, + "docs": null + }, + { + "name": "Mortal239", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 239, + "docs": null + }, + { + "name": "Mortal240", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 240, + "docs": null + }, + { + "name": "Mortal241", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 241, + "docs": null + }, + { + "name": "Mortal242", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 242, + "docs": null + }, + { + "name": "Mortal243", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 243, + "docs": null + }, + { + "name": "Mortal244", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 244, + "docs": null + }, + { + "name": "Mortal245", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 245, + "docs": null + }, + { + "name": "Mortal246", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 246, + "docs": null + }, + { + "name": "Mortal247", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 247, + "docs": null + }, + { + "name": "Mortal248", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 248, + "docs": null + }, + { + "name": "Mortal249", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 249, + "docs": null + }, + { + "name": "Mortal250", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 250, + "docs": null + }, + { + "name": "Mortal251", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 251, + "docs": null + }, + { + "name": "Mortal252", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 252, + "docs": null + }, + { + "name": "Mortal253", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 253, + "docs": null + }, + { + "name": "Mortal254", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 254, + "docs": null + }, + { + "name": "Mortal255", + "fields": [ + { + "type": 2, + "typeName": "", + "docs": null + } + ], + "index": 255, + "docs": null + } + ] + } + }, + "docs": null + }, + "516": { + "path": [ + "frame_system", + "extensions", + "check_nonce", + "CheckNonce" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 42, + "typeName": "T::Nonce", + "docs": null + } + ] + } + }, + "docs": null + }, + "517": { + "path": [ + "frame_system", + "extensions", + "check_weight", + "CheckWeight" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": null + } + }, + "docs": null + }, + "518": { + "path": [ + "pallet_asset_conversion_tx_payment", + "ChargeAssetTxPayment" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "tip", + "type": 46, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + }, + { + "name": "asset_id", + "type": 83, + "typeName": "Option\u003cT::AssetId\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "519": { + "path": [ + "cumulus_primitives_storage_weight_reclaim", + "StorageWeightReclaim" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": null + } + }, + "docs": null + }, + "52": { + "path": null, + "def": { + "Array": { + "len": 5, + "type": 41 + } + }, + "docs": null + }, + "520": { + "path": [ + "frame_metadata_hash_extension", + "CheckMetadataHash" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "mode", + "type": 521, + "typeName": "Mode", + "docs": null + } + ] + } + }, + "docs": null + }, + "521": { + "path": [ + "frame_metadata_hash_extension", + "Mode" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Disabled", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Enabled", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "53": { + "path": null, + "def": { + "Array": { + "len": 6, + "type": 41 + } + }, + "docs": null + }, + "54": { + "path": null, + "def": { + "Array": { + "len": 7, + "type": 41 + } + }, + "docs": null + }, + "55": { + "path": null, + "def": { + "Array": { + "len": 8, + "type": 41 + } + }, + "docs": null + }, + "56": { + "path": [ + "pallet_collator_selection", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "NewInvulnerables", + "fields": [ + { + "name": "invulnerables", + "type": 57, + "typeName": "Vec\u003cT::AccountId\u003e", + "docs": null + } + ], + "index": 0, + "docs": [ + "New Invulnerables were set." + ] + }, + { + "name": "InvulnerableAdded", + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 1, + "docs": [ + "A new Invulnerable was added." + ] + }, + { + "name": "InvulnerableRemoved", + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 2, + "docs": [ + "An Invulnerable was removed." + ] + }, + { + "name": "NewDesiredCandidates", + "fields": [ + { + "name": "desired_candidates", + "type": 4, + "typeName": "u32", + "docs": null + } + ], + "index": 3, + "docs": [ + "The number of desired candidates was set." + ] + }, + { + "name": "NewCandidacyBond", + "fields": [ + { + "name": "bond_amount", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 4, + "docs": [ + "The candidacy bond was set." + ] + }, + { + "name": "CandidateAdded", + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 5, + "docs": [ + "A new candidate joined." + ] + }, + { + "name": "CandidateBondUpdated", + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 6, + "docs": [ + "Bond of a candidate updated." + ] + }, + { + "name": "CandidateRemoved", + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 7, + "docs": [ + "A candidate was removed." + ] + }, + { + "name": "CandidateReplaced", + "fields": [ + { + "name": "old", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "new", + "type": 0, + "typeName": "T::AccountId", + "docs": null + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf\u003cT\u003e", + "docs": null + } + ], + "index": 8, + "docs": [ + "An account was replaced in the candidate list by another one." + ] + }, + { + "name": "InvalidInvulnerableSkipped", + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": null + } + ], + "index": 9, + "docs": [ + "An account was unable to be added to the Invulnerables because they did not have keys", + "registered. Other Invulnerables may have been set." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "57": { + "path": null, + "def": { + "Sequence": { + "type": 0 + } + }, + "docs": null + }, + "58": { + "path": [ + "pallet_session", + "pallet", + "Event" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "NewSession", + "fields": [ + { + "name": "session_index", + "type": 4, + "typeName": "SessionIndex", + "docs": null + } + ], + "index": 0, + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "59": { + "path": [ + "cumulus_pallet_xcmp_queue", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "XcmpMessageSent", + "fields": [ + { + "name": "message_hash", + "type": 1, + "typeName": "XcmHash", + "docs": null + } + ], + "index": 0, + "docs": [ + "An HRMP message was sent to a sibling parachain." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "6": { + "path": null, + "def": { + "Primitive": "U128" + }, + "docs": null + }, + "60": { + "path": [ + "pallet_xcm", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Attempted", + "fields": [ + { + "name": "outcome", + "type": 61, + "typeName": "xcm::latest::Outcome", + "docs": null + } + ], + "index": 0, + "docs": [ + "Execution of an XCM message was attempted." + ] + }, + { + "name": "Sent", + "fields": [ + { + "name": "origin", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "destination", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "message", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + }, + { + "name": "message_id", + "type": 1, + "typeName": "XcmHash", + "docs": null + } + ], + "index": 1, + "docs": [ + "A XCM message was sent." + ] + }, + { + "name": "UnexpectedResponse", + "fields": [ + { + "name": "origin", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + } + ], + "index": 2, + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out." + ] + }, + { + "name": "ResponseReady", + "fields": [ + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + }, + { + "name": "response", + "type": 74, + "typeName": "Response", + "docs": null + } + ], + "index": 3, + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call." + ] + }, + { + "name": "Notified", + "fields": [ + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + }, + { + "name": "pallet_index", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "call_index", + "type": 2, + "typeName": "u8", + "docs": null + } + ], + "index": 4, + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully." + ] + }, + { + "name": "NotifyOverweight", + "fields": [ + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + }, + { + "name": "pallet_index", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "call_index", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "actual_weight", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "max_budgeted_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 5, + "docs": [ + "Query response has been received and query is removed. The registered notification", + "could not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result." + ] + }, + { + "name": "NotifyDispatchError", + "fields": [ + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + }, + { + "name": "pallet_index", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "call_index", + "type": 2, + "typeName": "u8", + "docs": null + } + ], + "index": 6, + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call." + ] + }, + { + "name": "NotifyDecodeFailed", + "fields": [ + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + }, + { + "name": "pallet_index", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "call_index", + "type": 2, + "typeName": "u8", + "docs": null + } + ], + "index": 7, + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`." + ] + }, + { + "name": "InvalidResponder", + "fields": [ + { + "name": "origin", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + }, + { + "name": "expected_location", + "type": 83, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 8, + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ] + }, + { + "name": "InvalidResponderVersion", + "fields": [ + { + "name": "origin", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + } + ], + "index": 9, + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ] + }, + { + "name": "ResponseTaken", + "fields": [ + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + } + ], + "index": 10, + "docs": [ + "Received query response has been read and removed." + ] + }, + { + "name": "AssetsTrapped", + "fields": [ + { + "name": "hash", + "type": 13, + "typeName": "H256", + "docs": null + }, + { + "name": "origin", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "assets", + "type": 94, + "typeName": "VersionedAssets", + "docs": null + } + ], + "index": 11, + "docs": [ + "Some assets have been placed in an asset trap." + ] + }, + { + "name": "VersionChangeNotified", + "fields": [ + { + "name": "destination", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "result", + "type": 4, + "typeName": "XcmVersion", + "docs": null + }, + { + "name": "cost", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "message_id", + "type": 1, + "typeName": "XcmHash", + "docs": null + } + ], + "index": 12, + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included." + ] + }, + { + "name": "SupportedVersionChanged", + "fields": [ + { + "name": "location", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "version", + "type": 4, + "typeName": "XcmVersion", + "docs": null + } + ], + "index": 13, + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention." + ] + }, + { + "name": "NotifyTargetSendFail", + "fields": [ + { + "name": "location", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + }, + { + "name": "error", + "type": 62, + "typeName": "XcmError", + "docs": null + } + ], + "index": 14, + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it." + ] + }, + { + "name": "NotifyTargetMigrationFail", + "fields": [ + { + "name": "location", + "type": 125, + "typeName": "VersionedLocation", + "docs": null + }, + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + } + ], + "index": 15, + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format." + ] + }, + { + "name": "InvalidQuerierVersion", + "fields": [ + { + "name": "origin", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + } + ], + "index": 16, + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ] + }, + { + "name": "InvalidQuerier", + "fields": [ + { + "name": "origin", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "query_id", + "type": 12, + "typeName": "QueryId", + "docs": null + }, + { + "name": "expected_querier", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "maybe_actual_querier", + "type": 83, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 17, + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ] + }, + { + "name": "VersionNotifyStarted", + "fields": [ + { + "name": "destination", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "cost", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "message_id", + "type": 1, + "typeName": "XcmHash", + "docs": null + } + ], + "index": 18, + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included." + ] + }, + { + "name": "VersionNotifyRequested", + "fields": [ + { + "name": "destination", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "cost", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "message_id", + "type": 1, + "typeName": "XcmHash", + "docs": null + } + ], + "index": 19, + "docs": [ + "We have requested that a remote chain send us XCM version change notifications." + ] + }, + { + "name": "VersionNotifyUnrequested", + "fields": [ + { + "name": "destination", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "cost", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "message_id", + "type": 1, + "typeName": "XcmHash", + "docs": null + } + ], + "index": 20, + "docs": [ + "We have requested that a remote chain stops sending us XCM version change", + "notifications." + ] + }, + { + "name": "FeesPaid", + "fields": [ + { + "name": "paying", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "fees", + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 21, + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`)." + ] + }, + { + "name": "AssetsClaimed", + "fields": [ + { + "name": "hash", + "type": 13, + "typeName": "H256", + "docs": null + }, + { + "name": "origin", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "assets", + "type": 94, + "typeName": "VersionedAssets", + "docs": null + } + ], + "index": 22, + "docs": [ + "Some assets have been claimed from an asset trap" + ] + }, + { + "name": "VersionMigrationFinished", + "fields": [ + { + "name": "version", + "type": 4, + "typeName": "XcmVersion", + "docs": null + } + ], + "index": 23, + "docs": [ + "A XCM version migration finished." + ] + } + ] + } + }, + "docs": [ + "The `Event` enum of this pallet" + ] + }, + "61": { + "path": [ + "staging_xcm", + "v5", + "traits", + "Outcome" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Complete", + "fields": [ + { + "name": "used", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Incomplete", + "fields": [ + { + "name": "used", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "error", + "type": 62, + "typeName": "Error", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Error", + "fields": [ + { + "name": "error", + "type": 62, + "typeName": "Error", + "docs": null + } + ], + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "62": { + "path": [ + "xcm", + "v5", + "traits", + "Error" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Overflow", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Unimplemented", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "UntrustedReserveLocation", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "UntrustedTeleportLocation", + "fields": null, + "index": 3, + "docs": null + }, + { + "name": "LocationFull", + "fields": null, + "index": 4, + "docs": null + }, + { + "name": "LocationNotInvertible", + "fields": null, + "index": 5, + "docs": null + }, + { + "name": "BadOrigin", + "fields": null, + "index": 6, + "docs": null + }, + { + "name": "InvalidLocation", + "fields": null, + "index": 7, + "docs": null + }, + { + "name": "AssetNotFound", + "fields": null, + "index": 8, + "docs": null + }, + { + "name": "FailedToTransactAsset", + "fields": null, + "index": 9, + "docs": null + }, + { + "name": "NotWithdrawable", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "LocationCannotHold", + "fields": null, + "index": 11, + "docs": null + }, + { + "name": "ExceedsMaxMessageSize", + "fields": null, + "index": 12, + "docs": null + }, + { + "name": "DestinationUnsupported", + "fields": null, + "index": 13, + "docs": null + }, + { + "name": "Transport", + "fields": null, + "index": 14, + "docs": null + }, + { + "name": "Unroutable", + "fields": null, + "index": 15, + "docs": null + }, + { + "name": "UnknownClaim", + "fields": null, + "index": 16, + "docs": null + }, + { + "name": "FailedToDecode", + "fields": null, + "index": 17, + "docs": null + }, + { + "name": "MaxWeightInvalid", + "fields": null, + "index": 18, + "docs": null + }, + { + "name": "NotHoldingFees", + "fields": null, + "index": 19, + "docs": null + }, + { + "name": "TooExpensive", + "fields": null, + "index": 20, + "docs": null + }, + { + "name": "Trap", + "fields": [ + { + "type": 12, + "typeName": "u64", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "ExpectationFalse", + "fields": null, + "index": 22, + "docs": null + }, + { + "name": "PalletNotFound", + "fields": null, + "index": 23, + "docs": null + }, + { + "name": "NameMismatch", + "fields": null, + "index": 24, + "docs": null + }, + { + "name": "VersionIncompatible", + "fields": null, + "index": 25, + "docs": null + }, + { + "name": "HoldingWouldOverflow", + "fields": null, + "index": 26, + "docs": null + }, + { + "name": "ExportError", + "fields": null, + "index": 27, + "docs": null + }, + { + "name": "ReanchorFailed", + "fields": null, + "index": 28, + "docs": null + }, + { + "name": "NoDeal", + "fields": null, + "index": 29, + "docs": null + }, + { + "name": "FeesNotMet", + "fields": null, + "index": 30, + "docs": null + }, + { + "name": "LockError", + "fields": null, + "index": 31, + "docs": null + }, + { + "name": "NoPermission", + "fields": null, + "index": 32, + "docs": null + }, + { + "name": "Unanchored", + "fields": null, + "index": 33, + "docs": null + }, + { + "name": "NotDepositable", + "fields": null, + "index": 34, + "docs": null + }, + { + "name": "TooManyAssets", + "fields": null, + "index": 35, + "docs": null + }, + { + "name": "UnhandledXcmVersion", + "fields": null, + "index": 36, + "docs": null + }, + { + "name": "WeightLimitReached", + "fields": [ + { + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 37, + "docs": null + }, + { + "name": "Barrier", + "fields": null, + "index": 38, + "docs": null + }, + { + "name": "WeightNotComputable", + "fields": null, + "index": 39, + "docs": null + }, + { + "name": "ExceedsStackLimit", + "fields": null, + "index": 40, + "docs": null + } + ] + } + }, + "docs": null + }, + "63": { + "path": [ + "staging_xcm", + "v5", + "Xcm" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 64, + "typeName": "Vec\u003cInstruction\u003cCall\u003e\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "64": { + "path": null, + "def": { + "Sequence": { + "type": 65 + } + }, + "docs": null + }, + "65": { + "path": [ + "staging_xcm", + "v5", + "Instruction" + ], + "params": [ + { + "name": "Call", + "type": 0 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "response", + "type": 74, + "typeName": "Response", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + }, + { + "name": "querier", + "type": 83, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "beneficiary", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "dest", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 5, + "docs": null + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_kind", + "type": 84, + "typeName": "OriginKind", + "docs": null + }, + { + "name": "call", + "type": 85, + "typeName": "DoubleEncoded\u003cCall\u003e", + "docs": null + } + ], + "index": 6, + "docs": null + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_message_size", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "max_capacity", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 7, + "docs": null + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 8, + "docs": null + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "sender", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "recipient", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 9, + "docs": null + }, + { + "name": "ClearOrigin", + "fields": null, + "index": 10, + "docs": null + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 39, + "typeName": "InteriorLocation", + "docs": null + } + ], + "index": 11, + "docs": null + }, + { + "name": "ReportError", + "fields": [ + { + "type": 86, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 12, + "docs": null + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "beneficiary", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 13, + "docs": null + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 14, + "docs": null + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "want", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "maximal", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 15, + "docs": null + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "reserve", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 16, + "docs": null + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + }, + { + "name": "dest", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 17, + "docs": null + }, + { + "name": "ReportHolding", + "fields": [ + { + "name": "response_info", + "type": 86, + "typeName": "QueryResponseInfo", + "docs": null + }, + { + "name": "assets", + "type": 87, + "typeName": "AssetFilter", + "docs": null + } + ], + "index": 18, + "docs": null + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + } + ], + "index": 19, + "docs": null + }, + { + "name": "RefundSurplus", + "fields": null, + "index": 20, + "docs": null + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 63, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 21, + "docs": null + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 63, + "typeName": "Xcm\u003cCall\u003e", + "docs": null + } + ], + "index": 22, + "docs": null + }, + { + "name": "ClearError", + "fields": null, + "index": 23, + "docs": null + }, + { + "name": "SetAssetClaimer", + "fields": [ + { + "name": "location", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 24, + "docs": null + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 66, + "typeName": "Assets", + "docs": null + }, + { + "name": "ticket", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 25, + "docs": null + }, + { + "name": "Trap", + "fields": [ + { + "type": 11, + "typeName": "u64", + "docs": null + } + ], + "index": 26, + "docs": null + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 27, + "docs": null + }, + { + "name": "UnsubscribeVersion", + "fields": null, + "index": 28, + "docs": null + }, + { + "name": "BurnAsset", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 29, + "docs": null + }, + { + "name": "ExpectAsset", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 30, + "docs": null + }, + { + "name": "ExpectOrigin", + "fields": [ + { + "type": 83, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 31, + "docs": null + }, + { + "name": "ExpectError", + "fields": [ + { + "type": 75, + "typeName": "Option\u003c(u32, Error)\u003e", + "docs": null + } + ], + "index": 32, + "docs": null + }, + { + "name": "ExpectTransactStatus", + "fields": [ + { + "type": 81, + "typeName": "MaybeErrorCode", + "docs": null + } + ], + "index": 33, + "docs": null + }, + { + "name": "QueryPallet", + "fields": [ + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "response_info", + "type": 86, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 34, + "docs": null + }, + { + "name": "ExpectPallet", + "fields": [ + { + "name": "index", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "module_name", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + }, + { + "name": "crate_major", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "min_crate_minor", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 35, + "docs": null + }, + { + "name": "ReportTransactStatus", + "fields": [ + { + "type": 86, + "typeName": "QueryResponseInfo", + "docs": null + } + ], + "index": 36, + "docs": null + }, + { + "name": "ClearTransactStatus", + "fields": null, + "index": 37, + "docs": null + }, + { + "name": "UniversalOrigin", + "fields": [ + { + "type": 41, + "typeName": "Junction", + "docs": null + } + ], + "index": 38, + "docs": null + }, + { + "name": "ExportMessage", + "fields": [ + { + "name": "network", + "type": 44, + "typeName": "NetworkId", + "docs": null + }, + { + "name": "destination", + "type": 39, + "typeName": "InteriorLocation", + "docs": null + }, + { + "name": "xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 39, + "docs": null + }, + { + "name": "LockAsset", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "unlocker", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 40, + "docs": null + }, + { + "name": "UnlockAsset", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "target", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 41, + "docs": null + }, + { + "name": "NoteUnlockable", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "owner", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 42, + "docs": null + }, + { + "name": "RequestUnlock", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + }, + { + "name": "locker", + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 43, + "docs": null + }, + { + "name": "SetFeesMode", + "fields": [ + { + "name": "jit_withdraw", + "type": 8, + "typeName": "bool", + "docs": null + } + ], + "index": 44, + "docs": null + }, + { + "name": "SetTopic", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 45, + "docs": null + }, + { + "name": "ClearTopic", + "fields": null, + "index": 46, + "docs": null + }, + { + "name": "AliasOrigin", + "fields": [ + { + "type": 38, + "typeName": "Location", + "docs": null + } + ], + "index": 47, + "docs": null + }, + { + "name": "UnpaidExecution", + "fields": [ + { + "name": "weight_limit", + "type": 90, + "typeName": "WeightLimit", + "docs": null + }, + { + "name": "check_origin", + "type": 83, + "typeName": "Option\u003cLocation\u003e", + "docs": null + } + ], + "index": 48, + "docs": null + }, + { + "name": "PayFees", + "fields": [ + { + "name": "asset", + "type": 68, + "typeName": "Asset", + "docs": null + } + ], + "index": 49, + "docs": null + }, + { + "name": "InitiateTransfer", + "fields": [ + { + "name": "destination", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "remote_fees", + "type": 91, + "typeName": "Option\u003cAssetTransferFilter\u003e", + "docs": null + }, + { + "name": "preserve_origin", + "type": 8, + "typeName": "bool", + "docs": null + }, + { + "name": "assets", + "type": 93, + "typeName": "Vec\u003cAssetTransferFilter\u003e", + "docs": null + }, + { + "name": "remote_xcm", + "type": 63, + "typeName": "Xcm\u003c()\u003e", + "docs": null + } + ], + "index": 50, + "docs": null + } + ] + } + }, + "docs": null + }, + "66": { + "path": [ + "staging_xcm", + "v5", + "asset", + "Assets" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 67, + "typeName": "Vec\u003cAsset\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "67": { + "path": null, + "def": { + "Sequence": { + "type": 68 + } + }, + "docs": null + }, + "68": { + "path": [ + "staging_xcm", + "v5", + "asset", + "Asset" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "id", + "type": 69, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fun", + "type": 70, + "typeName": "Fungibility", + "docs": null + } + ] + } + }, + "docs": null + }, + "69": { + "path": [ + "staging_xcm", + "v5", + "asset", + "AssetId" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 38, + "typeName": "Location", + "docs": null + } + ] + } + }, + "docs": null + }, + "7": { + "path": [ + "pallet_balances", + "types", + "ExtraFlags" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 6, + "typeName": "u128", + "docs": null + } + ] + } + }, + "docs": null + }, + "70": { + "path": [ + "staging_xcm", + "v5", + "asset", + "Fungibility" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Fungible", + "fields": [ + { + "type": 46, + "typeName": "u128", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "NonFungible", + "fields": [ + { + "type": 71, + "typeName": "AssetInstance", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "71": { + "path": [ + "staging_xcm", + "v5", + "asset", + "AssetInstance" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Undefined", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Index", + "fields": [ + { + "type": 46, + "typeName": "u128", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "Array4", + "fields": [ + { + "type": 18, + "typeName": "[u8; 4]", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "Array8", + "fields": [ + { + "type": 72, + "typeName": "[u8; 8]", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "Array16", + "fields": [ + { + "type": 73, + "typeName": "[u8; 16]", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "Array32", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "72": { + "path": null, + "def": { + "Array": { + "len": 8, + "type": 2 + } + }, + "docs": null + }, + "73": { + "path": null, + "def": { + "Array": { + "len": 16, + "type": 2 + } + }, + "docs": null + }, + "74": { + "path": [ + "staging_xcm", + "v5", + "Response" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Null", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Assets", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ExecutionResult", + "fields": [ + { + "type": 75, + "typeName": "Option\u003c(u32, Error)\u003e", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "Version", + "fields": [ + { + "type": 4, + "typeName": "super::Version", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "PalletsInfo", + "fields": [ + { + "type": 77, + "typeName": "BoundedVec\u003cPalletInfo, MaxPalletsInfo\u003e", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "DispatchResult", + "fields": [ + { + "type": 81, + "typeName": "MaybeErrorCode", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "75": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 76 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 76, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "76": { + "path": null, + "def": { + "Tuple": [ + 4, + 62 + ] + }, + "docs": null + }, + "77": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 78 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 80, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "78": { + "path": [ + "staging_xcm", + "v5", + "PalletInfo" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "index", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "name", + "type": 79, + "typeName": "BoundedVec\u003cu8, MaxPalletNameLen\u003e", + "docs": null + }, + { + "name": "module_name", + "type": 79, + "typeName": "BoundedVec\u003cu8, MaxPalletNameLen\u003e", + "docs": null + }, + { + "name": "major", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "minor", + "type": 42, + "typeName": "u32", + "docs": null + }, + { + "name": "patch", + "type": 42, + "typeName": "u32", + "docs": null + } + ] + } + }, + "docs": null + }, + "79": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "8": { + "path": null, + "def": { + "Primitive": "Bool" + }, + "docs": null + }, + "80": { + "path": null, + "def": { + "Sequence": { + "type": 78 + } + }, + "docs": null + }, + "81": { + "path": [ + "xcm", + "v3", + "MaybeErrorCode" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Success", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Error", + "fields": [ + { + "type": 82, + "typeName": "BoundedVec\u003cu8, MaxDispatchErrorLen\u003e", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "TruncatedError", + "fields": [ + { + "type": 82, + "typeName": "BoundedVec\u003cu8, MaxDispatchErrorLen\u003e", + "docs": null + } + ], + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "82": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "type": 14, + "typeName": "Vec\u003cT\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "83": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 38 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 38, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "84": { + "path": [ + "xcm", + "v3", + "OriginKind" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Native", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "SovereignAccount", + "fields": null, + "index": 1, + "docs": null + }, + { + "name": "Superuser", + "fields": null, + "index": 2, + "docs": null + }, + { + "name": "Xcm", + "fields": null, + "index": 3, + "docs": null + } + ] + } + }, + "docs": null + }, + "85": { + "path": [ + "xcm", + "double_encoded", + "DoubleEncoded" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "encoded", + "type": 14, + "typeName": "Vec\u003cu8\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "86": { + "path": [ + "staging_xcm", + "v5", + "QueryResponseInfo" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "destination", + "type": 38, + "typeName": "Location", + "docs": null + }, + { + "name": "query_id", + "type": 11, + "typeName": "QueryId", + "docs": null + }, + { + "name": "max_weight", + "type": 10, + "typeName": "Weight", + "docs": null + } + ] + } + }, + "docs": null + }, + "87": { + "path": [ + "staging_xcm", + "v5", + "asset", + "AssetFilter" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Definite", + "fields": [ + { + "type": 66, + "typeName": "Assets", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Wild", + "fields": [ + { + "type": 88, + "typeName": "WildAsset", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "88": { + "path": [ + "staging_xcm", + "v5", + "asset", + "WildAsset" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "All", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "AllOf", + "fields": [ + { + "name": "id", + "type": 69, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fun", + "type": 89, + "typeName": "WildFungibility", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "AllCounted", + "fields": [ + { + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 2, + "docs": null + }, + { + "name": "AllOfCounted", + "fields": [ + { + "name": "id", + "type": 69, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fun", + "type": 89, + "typeName": "WildFungibility", + "docs": null + }, + { + "name": "count", + "type": 42, + "typeName": "u32", + "docs": null + } + ], + "index": 3, + "docs": null + } + ] + } + }, + "docs": null + }, + "89": { + "path": [ + "staging_xcm", + "v5", + "asset", + "WildFungibility" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Fungible", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "NonFungible", + "fields": null, + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "9": { + "path": [ + "frame_support", + "dispatch", + "PerDispatchClass" + ], + "params": [ + { + "name": "T", + "type": 10 + } + ], + "def": { + "Composite": { + "fields": [ + { + "name": "normal", + "type": 10, + "typeName": "T", + "docs": null + }, + { + "name": "operational", + "type": 10, + "typeName": "T", + "docs": null + }, + { + "name": "mandatory", + "type": 10, + "typeName": "T", + "docs": null + } + ] + } + }, + "docs": null + }, + "90": { + "path": [ + "xcm", + "v3", + "WeightLimit" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Unlimited", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Limited", + "fields": [ + { + "type": 10, + "typeName": "Weight", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "91": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 92 + } + ], + "def": { + "Variant": { + "variants": [ + { + "name": "None", + "fields": null, + "index": 0, + "docs": null + }, + { + "name": "Some", + "fields": [ + { + "type": 92, + "typeName": "", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "92": { + "path": [ + "staging_xcm", + "v5", + "asset", + "AssetTransferFilter" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Teleport", + "fields": [ + { + "type": 87, + "typeName": "AssetFilter", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "ReserveDeposit", + "fields": [ + { + "type": 87, + "typeName": "AssetFilter", + "docs": null + } + ], + "index": 1, + "docs": null + }, + { + "name": "ReserveWithdraw", + "fields": [ + { + "type": 87, + "typeName": "AssetFilter", + "docs": null + } + ], + "index": 2, + "docs": null + } + ] + } + }, + "docs": null + }, + "93": { + "path": null, + "def": { + "Sequence": { + "type": 92 + } + }, + "docs": null + }, + "94": { + "path": [ + "xcm", + "VersionedAssets" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "V3", + "fields": [ + { + "type": 95, + "typeName": "v3::MultiAssets", + "docs": null + } + ], + "index": 3, + "docs": null + }, + { + "name": "V4", + "fields": [ + { + "type": 106, + "typeName": "v4::Assets", + "docs": null + } + ], + "index": 4, + "docs": null + }, + { + "name": "V5", + "fields": [ + { + "type": 66, + "typeName": "v5::Assets", + "docs": null + } + ], + "index": 5, + "docs": null + } + ] + } + }, + "docs": null + }, + "95": { + "path": [ + "xcm", + "v3", + "multiasset", + "MultiAssets" + ], + "def": { + "Composite": { + "fields": [ + { + "type": 96, + "typeName": "Vec\u003cMultiAsset\u003e", + "docs": null + } + ] + } + }, + "docs": null + }, + "96": { + "path": null, + "def": { + "Sequence": { + "type": 97 + } + }, + "docs": null + }, + "97": { + "path": [ + "xcm", + "v3", + "multiasset", + "MultiAsset" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "id", + "type": 98, + "typeName": "AssetId", + "docs": null + }, + { + "name": "fun", + "type": 104, + "typeName": "Fungibility", + "docs": null + } + ] + } + }, + "docs": null + }, + "98": { + "path": [ + "xcm", + "v3", + "multiasset", + "AssetId" + ], + "def": { + "Variant": { + "variants": [ + { + "name": "Concrete", + "fields": [ + { + "type": 99, + "typeName": "MultiLocation", + "docs": null + } + ], + "index": 0, + "docs": null + }, + { + "name": "Abstract", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]", + "docs": null + } + ], + "index": 1, + "docs": null + } + ] + } + }, + "docs": null + }, + "99": { + "path": [ + "staging_xcm", + "v3", + "multilocation", + "MultiLocation" + ], + "def": { + "Composite": { + "fields": [ + { + "name": "parents", + "type": 2, + "typeName": "u8", + "docs": null + }, + { + "name": "interior", + "type": 100, + "typeName": "Junctions", + "docs": null + } + ] + } + }, + "docs": null + } +} + diff --git a/types/v14.go b/types/v14.go index e04ddd8..630decb 100644 --- a/types/v14.go +++ b/types/v14.go @@ -141,8 +141,12 @@ func (m *MetadataV14Decoder) Process() { ValueId: maps.ValueId, } if t := portable[maps.KeysId].Def.Tuple; t != nil { - for _, v := range *t { - NMapTypeValue.KeyVec = append(NMapTypeValue.KeyVec, metadataSiType[v]) + if len(NMapTypeValue.Hashers) < len(*t) { + NMapTypeValue.KeyVec = []string{metadataSiType[maps.KeysId]} + } else { + for _, v := range *t { + NMapTypeValue.KeyVec = append(NMapTypeValue.KeyVec, metadataSiType[v]) + } } } else { NMapTypeValue.KeyVec = TupleDisassemble(metadataSiType[maps.KeysId])