polymesh-api 3.14.0

Polymesh Rust API
Documentation
meta�sp_corecrypto,AccountId32 [u8; 32] 0frame_system,AccountInfoNonce,AccountDatanonceNonce$consumers RefCount$providers RefCount,sufficients RefCountdata,AccountData<pallet_balancestypes,AccountDataBalancefreeBalance reservedBalancefrozenBalanceflags(ExtraFlags<pallet_balancestypes(ExtraFlagsu128 $4frame_support dispatch@PerDispatchClassT(normal(T,operational(T$mandatory(T((sp_weights$weight_v2Weight ref_time,u64(proof_size,u64,004<primitive_typesH256 [u8; 32]8<(sp_runtimegenericdigestDigestlogs@<Vec<DigestItem>@DD(sp_runtimegenericdigest(DigestItem(PreRuntimeHDConsensusEngineId8Vec<u8>$ConsensusHDConsensusEngineId8Vec<u8>SealHDConsensusEngineId8Vec<u8>Other8Vec<u8>dRuntimeEnvironmentUpdatedHLPP0frame_system,EventRecordETT4phaseuPhaseeventTEtopicsqVec<T>T`polymesh_runtime_developruntime0RuntimeEvent�SystemXpframe_system::Event<Runtime>Indices�xpallet_indices::Event<Runtime> Balances�|pallet_balances::Event<Runtime>HTransactionPayment��pallet_transaction_payment::Event<Runtime> Identity�|pallet_identity::Event<Runtime>4DidRegistrarsa�pallet_group::Event<Runtime, pallet_group::Instance2>DPolymeshCommitteei�pallet_committee::Event<Runtime, pallet_committee::Instance1>	LCommitteeMembershipy�pallet_group::Event<Runtime, pallet_group::Instance1>
HTechnicalCommittee}�pallet_committee::Event<Runtime, pallet_committee::Instance3>pTechnicalCommitteeMembership��pallet_group::Event<Runtime, pallet_group::Instance3>@UpgradeCommittee��pallet_committee::Event<Runtime, pallet_committee::Instance4>
hUpgradeCommitteeMembership��pallet_group::Event<Runtime, pallet_group::Instance4> MultiSig�|pallet_multisig::Event<Runtime>(Validators��pallet_validators::Event<Runtime>Staking�xpallet_staking::Event<Runtime> Offences�Xpallet_offences::EventSession�xpallet_session::Event<Runtime>Grandpa�Tpallet_grandpa::Event(Historical��pallet_session_historical::Event<Runtime> ImOnline��pallet_im_online::Event<Runtime>Sudo�lpallet_sudo::Event<Runtime>Asset�ppallet_asset::Event<Runtime>LCapitalDistribution��pallet_capital_distribution::Event<Runtime>(Checkpoint��pallet_checkpoint::Event<Runtime>DComplianceManager��pallet_compliance_manager::Event<Runtime><CorporateAction	�pallet_corporate_actions::Event<Runtime><CorporateBallot=�pallet_corporate_ballot::Event<Runtime>Pipsulpallet_pips::Event<Runtime>!$Portfolio��pallet_portfolio::Event<Runtime>",ProtocolFee��pallet_protocol_fee::Event<Runtime>#$Scheduler��pallet_scheduler::Event<Runtime>$(Settlement��pallet_settlement::Event<Runtime>%(Statistics%�pallet_statistics::Event<Runtime>&Stoehpallet_sto::Event<Runtime>' Treasury�|pallet_treasury::Event<Runtime>(Utility�xpallet_utility::Event<Runtime>)8ExternalAgents��pallet_external_agents::Event<Runtime>+Relayer�xpallet_relayer::Event<Runtime>,$Contracts��pallet_contracts::Event<Runtime>.DPolymeshContracts��polymesh_contracts::Event<Runtime>/ Preimage�|pallet_preimage::Event<Runtime>0Nft�hpallet_nft::Event<Runtime>1hElectionProviderMultiPhase��pallet_election_provider_multi_phase::Event<Runtime>2PMultiBlockMigrations��pallet_migrations::Event<Runtime>7HConfidentialAssets��pallet_confidential_assets::Event<Runtime>FReviveitpallet_revive::Event<Runtime>PX0frame_systempalletEventT @ExtrinsicSuccess4dispatch_info\DDispatchEventInfo�An extrinsic completed successfully.<ExtrinsicFailed8dispatch_errorh4DispatchError4dispatch_info\DDispatchEventInfoPAn extrinsic failed.,CodeUpdatedP`:code` was updated.(NewAccountaccount0T::AccountIdhA new account was created.4KilledAccountaccount0T::AccountIdXAn account was reaped. Remarkedsender0T::AccountIdhash4T::HashpOn on-chain remark happened.DUpgradeAuthorized$code_hash4T::Hash4check_version boolhAn upgrade was authorized.�RejectedInvalidAuthorizedUpgrade$code_hash4T::Hasherrorh4DispatchErrorAn invalid authorized upgrade was rejected while trying to apply it.pEvent for the System pallet.\0frame_systemDDispatchEventInfoweight(Weightclass`4DispatchClass pays_feedPays`4frame_support dispatch4DispatchClassNormal,Operational$Mandatoryd4frame_support dispatchPaysYesNoh(sp_runtime4DispatchError<Other0CannotLookup$BadOriginModulel,ModuleErrorDConsumerRemaining,NoProviders@TooManyConsumersTokenp(TokenError(Arithmetict<ArithmeticError4TransactionalxHTransactionalError	$Exhausted
(Corruption,Unavailable8RootNotAllowed
Trie|$TrieErrorl(sp_runtime,ModuleErrorindexu8errorH�[u8; MAX_MODULE_ERROR_ENCODED_SIZE]p(sp_runtime(TokenError(@FundsUnavailable0OnlyProvider0BelowMinimum0CannotCreate0UnknownAssetFrozen,Unsupported@CannotCreateHold4NotExpendableBlocked	t4sp_arithmetic<ArithmeticError$Underflow Overflow8DivisionByZerox(sp_runtimeHTransactionalError0LimitReachedNoLayer|(sp_runtime0proving_trie$TrieError8@InvalidStateRootHIncompleteDatabasePValueAtIncompleteKey0DecoderError,InvalidHash0DuplicateKey8ExtraneousNode<ExtraneousValue\ExtraneousHashReferenceTInvalidChildReference	4ValueMismatch
<IncompleteProof0RootMismatch,DecodeError
�8pallet_indicespalletEventT4IndexAssignedwho0T::AccountIdindex<T::AccountIndextA account index was assigned.(IndexFreedindex<T::AccountIndex�A account index has been freed up (unassigned).,IndexFrozenindex<T::AccountIndexwho0T::AccountId�A account index has been frozen to its current account ID.0DepositPokedwho0T::AccountIdindex<T::AccountIndex,old_deposit0BalanceOf<T>,new_deposit0BalanceOf<T>�A deposit to reserve an index has been poked/reconsidered.|The `Event` enum of this pallet�<pallet_balancespalletEventTI|Endowedaccount0T::AccountId0free_balance(T::Balance�An account was created with some free balance. DustLostaccount0T::AccountIdamount(T::Balance=An account was removed whose balance was non-zero but below ExistentialDeposit,xresulting in an outright loss. Transferfrom0T::AccountIdto0T::AccountIdamount(T::BalanceLTransfer succeeded.(BalanceSetwho0T::AccountIdfree(T::BalancehA balance was set by root. Reservedwho0T::AccountIdamount(T::Balance�Some balance was reserved (moved from free to reserved).(Unreservedwho0T::AccountIdamount(T::Balance�Some balance was unreserved (moved from reserved to free).HReserveRepatriatedfrom0T::AccountIdto0T::AccountIdamount(T::BalanceHdestination_status�StatusMSome balance was moved from the reserve of the first account to the second account.�Final argument indicates the destination balance type.Depositwho0T::AccountIdamount(T::Balance�Some amount was deposited (e.g. for transaction fees). Withdrawwho0T::AccountIdamount(T::BalanceSome amount was withdrawn from the account (e.g. for transaction fees).Slashedwho0T::AccountIdamount(T::Balance	Some amount was removed from the account (e.g. for misbehavior).Mintedwho0T::AccountIdamount(T::Balance
�Some amount was minted into an account.0MintedCreditamount(T::Balance�Some credit was balanced and added to the TotalIssuance.Burnedwho0T::AccountIdamount(T::Balance�Some amount was burned from an account.(BurnedDebtamount(T::Balance
�Some debt has been dropped from the Total Issuance.$Suspendedwho0T::AccountIdamount(T::BalanceSome amount was suspended from an account (it can be restored later). Restoredwho0T::AccountIdamount(T::Balance�Some amount was restored into an account. Upgradedwho0T::AccountId`An account was upgraded.Issuedamount(T::Balance-Total issuance was increased by `amount`, creating a credit to be balanced.$Rescindedamount(T::Balance%Total issuance was decreased by `amount`, creating a debt to be balanced.Lockedwho0T::AccountIdamount(T::Balance`Some balance was locked. Unlockedwho0T::AccountIdamount(T::BalancehSome balance was unlocked.Frozenwho0T::AccountIdamount(T::Balance`Some balance was frozen.Thawedwho0T::AccountIdamount(T::Balance`Some balance was thawed.LTotalIssuanceForcedold(T::Balancenew(T::Balance�The `TotalIssuance` was forcefully changed.Heldreason�PT::RuntimeHoldReasonwho0T::AccountIdamount(T::Balance�Some balance was placed on hold.(BurnedHeldreason�PT::RuntimeHoldReasonwho0T::AccountIdamount(T::Balance�Held balance was burned from an account.8TransferOnHoldreason�PT::RuntimeHoldReasonsource0T::AccountIddest0T::AccountIdamount(T::BalanceA transfer of `amount` on hold from `source` to `dest` was initiated.<TransferAndHoldreason�PT::RuntimeHoldReasonsource0T::AccountIddest0T::AccountId,transferred(T::Balance	The `transferred` balance is placed on hold at the `dest` account. Releasedreason�PT::RuntimeHoldReasonwho0T::AccountIdamount(T::Balance�Some balance was released from hold.(Unexpected�8UnexpectedKind�An unexpected/defensive event was triggered.@TransferWithMemofrom0T::AccountIdto0T::AccountIdamount(T::Balancememo�<Option<T::Memo>tTransfer with memo succeeded.|The `Event` enum of this pallet�4frame_supporttraitstokensmisc4BalanceStatusFree Reserved�`polymesh_runtime_developruntimeDRuntimeHoldReasonStaking�hpallet_staking::HoldReasonSession�hpallet_session::HoldReason$Contracts�ppallet_contracts::HoldReason. Preimage�lpallet_preimage::HoldReason0Revive�dpallet_revive::HoldReasonP�8pallet_stakingpalletpallet(HoldReasonStaking�8pallet_sessionpallet(HoldReasonKeys�@pallet_contractspallet(HoldReason`CodeUploadDepositReserveTStorageDepositReserve�<pallet_preimagepallet(HoldReason Preimage�4pallet_revivepallet(HoldReason`CodeUploadDepositReserveTStorageDepositReserve8AddressMapping�<pallet_balancespallet8UnexpectedKind8BalanceUpdatedTFailedToMutateAccount�OptionT�NoneSome��Lpolymesh_primitivesMemo [u8; 32]�hpallet_transaction_paymentpalletEventTHTransactionFeePaidwho0T::AccountId(actual_fee0BalanceOf<T>tip0BalanceOf<T>YA transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,\has been paid by `who`.|The `Event` enum of this pallet�<pallet_identitypalletEventT@(DidCreated�(IdentityId0T::AccountId�|Vec<SecondaryKey<T::AccountId>>DIdentity created.�(DID, primary key, secondary keys)HSecondaryKeysAdded�(IdentityId�|Vec<SecondaryKey<T::AccountId>>�Secondary keys added to identity.<(DID, new keys)PSecondaryKeysRemoved�(IdentityId!DVec<T::AccountId>�Secondary keys removed from identity.�(DID, the keys that got removed)`SecondaryKeyLeftIdentity�(IdentityId0T::AccountId�A secondary key left their identity.P(DID, secondary key)xSecondaryKeyPermissionsUpdated�(IdentityId0T::AccountId�,Permissions�,Permissions�Secondary key permissions updated.
(DID, updated secondary key, previous permissions, new permissions)DPrimaryKeyUpdated�(IdentityId0T::AccountId0T::AccountId�Primary key of identity changed.�(DID, old primary key account ID, new ID)(ClaimAdded�(IdentityId%4IdentityClaim`Claim added to identity.0(DID, claim)0ClaimRevoked�(IdentityId%4IdentityClaimpClaim revoked from identity.0(DID, claim)HAuthorizationAdded�(IdentityIdEHOption<IdentityId>IPOption<T::AccountId>0u64M|AuthorizationData<T::AccountId>)DOption<T::Moment>`New authorization added.1(authorised_by, target_did, target_key, auth_id, authorization_data, expiry)PAuthorizationRevokedEHOption<IdentityId>IPOption<T::AccountId>0u64	�Authorization revoked by the authorizer.�(authorized_identity, authorized_key, auth_id)TAuthorizationRejectedEHOption<IdentityId>IPOption<T::AccountId>0u64
�Authorization rejected by the user who was authorized.�(authorized_identity, authorized_key, auth_id)TAuthorizationConsumedEHOption<IdentityId>IPOption<T::AccountId>0u64\Authorization consumed.�(authorized_identity, authorized_key, auth_id)xAuthorizationRetryLimitReachedEHOption<IdentityId>IPOption<T::AccountId>0u64�Accepting Authorization retry limit reached.�(authorized_identity, authorized_key, auth_id)LSecondaryKeysFrozen�(IdentityId
�All Secondary keys of the identity ID are frozen.(DID)TSecondaryKeysUnfrozen�(IdentityId�All Secondary keys of the identity ID are unfrozen.(DID)PCustomClaimTypeAdded�(IdentityId=DCustomClaimTypeId8Vec<u8>�A new CustomClaimType was added.<(DID, id, Type)|The `Event` enum of this pallet�Lpolymesh_primitives,identity_id(IdentityId4[u8; DID_LEN]���Lpolymesh_primitives4secondary_key0SecondaryKey$AccountIdkey$AccountId,permissions�,Permissions�Lpolymesh_primitives4secondary_key,Permissionsasset�@AssetPermissions$extrinsic�PExtrinsicPermissions$portfolio	PPortfolioPermissions�Lpolymesh_primitivessubsetDSubsetRestrictionA�WholeThese�,BTreeSet<A>Except�,BTreeSet<A>�Lpolymesh_primitivesassetAssetId� [u8; 16]�� BTreeSetT�����Lpolymesh_primitives4secondary_keyPExtrinsicPermissionsWholeThese��BTreeMap<PalletName, PalletPermissions>Except��BTreeMap<PalletName, PalletPermissions>� BTreeMapK�V��Lpolymesh_primitives(PalletName�String��Lpolymesh_primitives4secondary_keyDPalletPermissions(extrinsics�8ExtrinsicNames�Lpolymesh_primitivessubsetDSubsetRestrictionA�WholeThese�,BTreeSet<A>Except�,BTreeSet<A>�Lpolymesh_primitives4ExtrinsicName�String� BTreeSetT������	Lpolymesh_primitivessubsetDSubsetRestrictionA
WholeThese,BTreeSet<A>Except,BTreeSet<A>
Lpolymesh_primitives,identity_id,PortfolioIddid�(IdentityIdkind4PortfolioKindLpolymesh_primitives,identity_id4PortfolioKindDefaultUser<PortfolioNumberLpolymesh_primitives,identity_id<PortfolioNumber0u64 BTreeSetT

!%Lpolymesh_primitives8identity_claim4IdentityClaim0claim_issuer�(IdentityId4issuance_date0Moment@last_update_date0Momentexpiry)8Option<Moment>claim-Claim)OptionT0NoneSome0-Lpolymesh_primitives8identity_claimClaim((Accredited1Scope$Affiliate1Scope$BuyLockup1Scope(SellLockup1ScopePCustomerDueDiligence5CddId@KnowYourCustomer1Scope0Jurisdiction9,CountryCode1Scope Exempted1ScopeBlocked1ScopeCustom=DCustomClaimTypeIdA4Option<Scope>	1Lpolymesh_primitives8identity_claimScope Identity�(IdentityIdAsset�AssetIdCustom8Vec<u8>5Lpolymesh_primitivescdd_idCddId [u8; 32]9Lpolymesh_primitives0jurisdiction,CountryCode�AFAXALDZASADAOAIAQAG	AR
AMAWAU
ATAZBSBHBDBBBYBEBZBJBMBTBOBABWBVBRVGIO BN!BG"BF#BI$KH%CM&CA'CV(KY)CF*TD+CL,CN-HK.MO/CX0CC1CO2KM3CG4CD5CK6CR7CI8HR9CU:CY;CZ<DK=DJ>DM?DO@ECAEGBSVCGQDEREEEFETGFKHFOIFJJFIKFRLGFMPFNTFOGAPGMQGERDESGHTGIUGRVGLWGDXGPYGUZGT[GG\GN]GW^GY_HT`HMaVAbHNcHUdISeINfIDgIRhIQiIEjIMkILlITmJMnJPoJEpJOqKZrKEsKItKPuKRvKWwKGxLAyLVzLB{LS|LR}LY~LILT�LU�MK�MG�MW�MY�MV�ML�MT�MH�MQ�MR�MU�YT�MX�FM�MD�MC�MN�ME�MS�MA�MZ�MM�NA�NR�NP�NL�AN�NC�NZ�NI�NE�NG�NU�NF�MP�NO�OM�PK�PW�PS�PA�PG�PY�PE�PH�PN�PL�PT�PR�QA�RE�RO�RU�RW�BL�SH�KN�LC�MF�PM�VC�WS�SM�ST�SA�SN�RS�SC�SL�SG�SK�SI�SB�SO�ZA�GS�SS�ES�LK�SD�SR�SJ�SZ�SE�CH�SY�TW�TJ�TZ�TH�TL�TG�TK�TO�TT�TN�TR�TM�TC�TV�UG�UA�AE�GB�US�UM�UY�UZ�VU�VE�VN�VI�WF�EH�YE�ZM�ZW�BQ�CW�SX�=Lpolymesh_primitives8identity_claimDCustomClaimTypeIdu32AOptionT1NoneSome1EOptionT�NoneSome�IOptionTNoneSomeMLpolymesh_primitives4authorizationDAuthorizationData$AccountId(`AttestPrimaryKeyRotation�(IdentityId@RotatePrimaryKey8TransferTickerQTickerDAddMultiSigSigner$AccountIdXTransferAssetOwnership�AssetId0JoinIdentity�,Permissions@PortfolioCustody
,PortfolioId,BecomeAgent�AssetIdY(AgentGroupXOldAddRelayerPayingKey$AccountId$AccountIdBalancelRotatePrimaryKeyToSecondary�,Permissions	QLpolymesh_primitivestickerTickerU@[u8; TICKER_LEN]UYLpolymesh_primitivesagent(AgentGroupFullCustom]AGId(ExceptMeta4PolymeshV1CAA4PolymeshV1PIA]Lpolymesh_primitivesagentAGIdu32a0pallet_grouppalletEventTI,MemberAdded�(IdentityId�(IdentityId�The given member was added; see the transaction for who.lcaller DID, New member DID.4MemberRemoved�(IdentityId�(IdentityId�The given member was removed; see the transaction for who.�caller DID, member DID that get removed.4MemberRevoked�(IdentityId�(IdentityId�The given member has been revoked at specific time-stamp.�caller DID, member DID that get revoked.8MembersSwapped�(IdentityId�(IdentityId�(IdentityId�Two members were swapped; see the transaction for who.�caller DID, Removed DID, New add DID.0MembersReset�(IdentityIde<Vec<IdentityId>The membership was reset; see the transaction for who the new set is.�caller DID, List of new members.HActiveLimitChanged�(IdentityId,MemberCount,MemberCount-The limit of how many active members there can be concurrently was changed.|The `Event` enum of this pallete�i@pallet_committeepalletEventTI( Proposed�(IdentityId4ProposalIndex4�<T as frame_system::Config>::Hash�A motion (given hash) has been proposed (by given account) with a threshold (given `MemberCount`).�Parameters: caller DID, proposal index, proposal hash.Voted�(IdentityId4ProposalIndex4�<T as frame_system::Config>::Hash bool,MemberCount,MemberCount,MemberCountA motion (given hash) has been voted on by given account, leavingIa tally (yes votes, no votes and total seats given respectively as `MemberCount`).�caller DID, Proposal index, Proposal hash, current vote, yay vote count, nay vote count, total seats.4VoteRetracted�(IdentityId4ProposalIndex4�<T as frame_system::Config>::Hash bool�A vote on a motion (given hash) has been retracted.caller DID, ProposalIndex, Proposal hash, vote that was retracted(FinalVotesEHOption<IdentityId>4ProposalIndex4�<T as frame_system::Config>::Hashe<Vec<IdentityId>e<Vec<IdentityId>�Final votes on a motion (given hash)�caller DID, ProposalIndex, Proposal hash, yes voters, no voter ApprovedEHOption<IdentityId>4�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was approved by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. RejectedEHOption<IdentityId>4�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was rejected by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. ExecutedEHOption<IdentityId>4�<T as frame_system::Config>::Hashm8DispatchResult9A motion was executed; `DispatchResult` is `Ok(())` if returned without error.
Parameters: caller DID, proposal hash, result of proposal dispatch.dReleaseCoordinatorUpdatedEHOption<IdentityId>�Release coordinator has been updated.�Parameters: DID of the release coordinator.LExpiresAfterUpdated�(IdentityIdutMaybeBlock<BlockNumberFor<T>>�Proposal expiry time has been updated.�Parameters: caller DID, new expiry time (if any).PVoteThresholdUpdated�(IdentityIdu32u32	�Voting threshold has been updated�Parameters: caller DID, numerator, denominator|The `Event` enum of this palletmResultTqEhOkqErrhquLpolymesh_primitives(MaybeBlock,BlockNumberSome,BlockNumberNoney0pallet_grouppalletEventTI,MemberAdded�(IdentityId�(IdentityId�The given member was added; see the transaction for who.lcaller DID, New member DID.4MemberRemoved�(IdentityId�(IdentityId�The given member was removed; see the transaction for who.�caller DID, member DID that get removed.4MemberRevoked�(IdentityId�(IdentityId�The given member has been revoked at specific time-stamp.�caller DID, member DID that get revoked.8MembersSwapped�(IdentityId�(IdentityId�(IdentityId�Two members were swapped; see the transaction for who.�caller DID, Removed DID, New add DID.0MembersReset�(IdentityIde<Vec<IdentityId>The membership was reset; see the transaction for who the new set is.�caller DID, List of new members.HActiveLimitChanged�(IdentityId,MemberCount,MemberCount-The limit of how many active members there can be concurrently was changed.|The `Event` enum of this pallet}@pallet_committeepalletEventTI( Proposed�(IdentityId4ProposalIndex4�<T as frame_system::Config>::Hash�A motion (given hash) has been proposed (by given account) with a threshold (given `MemberCount`).�Parameters: caller DID, proposal index, proposal hash.Voted�(IdentityId4ProposalIndex4�<T as frame_system::Config>::Hash bool,MemberCount,MemberCount,MemberCountA motion (given hash) has been voted on by given account, leavingIa tally (yes votes, no votes and total seats given respectively as `MemberCount`).�caller DID, Proposal index, Proposal hash, current vote, yay vote count, nay vote count, total seats.4VoteRetracted�(IdentityId4ProposalIndex4�<T as frame_system::Config>::Hash bool�A vote on a motion (given hash) has been retracted.caller DID, ProposalIndex, Proposal hash, vote that was retracted(FinalVotesEHOption<IdentityId>4ProposalIndex4�<T as frame_system::Config>::Hashe<Vec<IdentityId>e<Vec<IdentityId>�Final votes on a motion (given hash)�caller DID, ProposalIndex, Proposal hash, yes voters, no voter ApprovedEHOption<IdentityId>4�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was approved by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. RejectedEHOption<IdentityId>4�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was rejected by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. ExecutedEHOption<IdentityId>4�<T as frame_system::Config>::Hashm8DispatchResult9A motion was executed; `DispatchResult` is `Ok(())` if returned without error.
Parameters: caller DID, proposal hash, result of proposal dispatch.dReleaseCoordinatorUpdatedEHOption<IdentityId>�Release coordinator has been updated.�Parameters: DID of the release coordinator.LExpiresAfterUpdated�(IdentityIdutMaybeBlock<BlockNumberFor<T>>�Proposal expiry time has been updated.�Parameters: caller DID, new expiry time (if any).PVoteThresholdUpdated�(IdentityIdu32u32	�Voting threshold has been updated�Parameters: caller DID, numerator, denominator|The `Event` enum of this pallet�0pallet_grouppalletEventTI,MemberAdded�(IdentityId�(IdentityId�The given member was added; see the transaction for who.lcaller DID, New member DID.4MemberRemoved�(IdentityId�(IdentityId�The given member was removed; see the transaction for who.�caller DID, member DID that get removed.4MemberRevoked�(IdentityId�(IdentityId�The given member has been revoked at specific time-stamp.�caller DID, member DID that get revoked.8MembersSwapped�(IdentityId�(IdentityId�(IdentityId�Two members were swapped; see the transaction for who.�caller DID, Removed DID, New add DID.0MembersReset�(IdentityIde<Vec<IdentityId>The membership was reset; see the transaction for who the new set is.�caller DID, List of new members.HActiveLimitChanged�(IdentityId,MemberCount,MemberCount-The limit of how many active members there can be concurrently was changed.|The `Event` enum of this pallet�@pallet_committeepalletEventTI( Proposed�(IdentityId4ProposalIndex4�<T as frame_system::Config>::Hash�A motion (given hash) has been proposed (by given account) with a threshold (given `MemberCount`).�Parameters: caller DID, proposal index, proposal hash.Voted�(IdentityId4ProposalIndex4�<T as frame_system::Config>::Hash bool,MemberCount,MemberCount,MemberCountA motion (given hash) has been voted on by given account, leavingIa tally (yes votes, no votes and total seats given respectively as `MemberCount`).�caller DID, Proposal index, Proposal hash, current vote, yay vote count, nay vote count, total seats.4VoteRetracted�(IdentityId4ProposalIndex4�<T as frame_system::Config>::Hash bool�A vote on a motion (given hash) has been retracted.caller DID, ProposalIndex, Proposal hash, vote that was retracted(FinalVotesEHOption<IdentityId>4ProposalIndex4�<T as frame_system::Config>::Hashe<Vec<IdentityId>e<Vec<IdentityId>�Final votes on a motion (given hash)�caller DID, ProposalIndex, Proposal hash, yes voters, no voter ApprovedEHOption<IdentityId>4�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was approved by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. RejectedEHOption<IdentityId>4�<T as frame_system::Config>::Hash,MemberCount,MemberCount,MemberCount	A motion was rejected by the required threshold with the followingAtally (yes votes, no votes and total seats given respectively as `MemberCount`).MParameters: caller DID, proposal hash, yay vote count, nay vote count, total seats. ExecutedEHOption<IdentityId>4�<T as frame_system::Config>::Hashm8DispatchResult9A motion was executed; `DispatchResult` is `Ok(())` if returned without error.
Parameters: caller DID, proposal hash, result of proposal dispatch.dReleaseCoordinatorUpdatedEHOption<IdentityId>�Release coordinator has been updated.�Parameters: DID of the release coordinator.LExpiresAfterUpdated�(IdentityIdutMaybeBlock<BlockNumberFor<T>>�Proposal expiry time has been updated.�Parameters: caller DID, new expiry time (if any).PVoteThresholdUpdated�(IdentityIdu32u32	�Voting threshold has been updated�Parameters: caller DID, numerator, denominator|The `Event` enum of this pallet�0pallet_grouppalletEventTI,MemberAdded�(IdentityId�(IdentityId�The given member was added; see the transaction for who.lcaller DID, New member DID.4MemberRemoved�(IdentityId�(IdentityId�The given member was removed; see the transaction for who.�caller DID, member DID that get removed.4MemberRevoked�(IdentityId�(IdentityId�The given member has been revoked at specific time-stamp.�caller DID, member DID that get revoked.8MembersSwapped�(IdentityId�(IdentityId�(IdentityId�Two members were swapped; see the transaction for who.�caller DID, Removed DID, New add DID.0MembersReset�(IdentityIde<Vec<IdentityId>The membership was reset; see the transaction for who the new set is.�caller DID, List of new members.HActiveLimitChanged�(IdentityId,MemberCount,MemberCount-The limit of how many active members there can be concurrently was changed.|The `Event` enum of this pallet�<pallet_multisigpalletEventT8<MultiSigCreated(caller_did�(IdentityId multisig0T::AccountIdcaller0T::AccountIdsigners��BoundedVec<T::AccountId, T::MaxSigners>4sigs_required0u64pA Multisig has been created.4ProposalAdded(caller_didEHOption<IdentityId> multisig0T::AccountId,proposal_id0u64�A Multisig proposal has been created.@ProposalExecuted(caller_didEHOption<IdentityId> multisig0T::AccountId,proposal_id0u64resultm8DispatchResult�A Multisig proposal has been executed.LMultiSigSignerAdded(caller_did�(IdentityId multisig0T::AccountIdsigner0T::AccountId�A new signer has been added to a Multisig.dMultiSigSignersAuthorized(caller_did�(IdentityId multisig0T::AccountIdsigners��BoundedVec<T::AccountId, T::MaxSigners>�New keys have been authorized to be signers on a Multisig.XMultiSigSignersRemoved(caller_did�(IdentityId multisig0T::AccountIdsigners��BoundedVec<T::AccountId, T::MaxSigners>�Signers have been removed from a Multisig.xMultiSigSignersRequiredChanged(caller_didEHOption<IdentityId> multisig0T::AccountId4sigs_required0u64�A Multisig has changed its required number of approvals.PProposalApprovalVote(caller_didEHOption<IdentityId> multisig0T::AccountIdsigner0T::AccountId,proposal_id0u64�A signer has voted to approve a Multisig proposal.TProposalRejectionVote(caller_didEHOption<IdentityId> multisig0T::AccountIdsigner0T::AccountId,proposal_id0u64�A signer has voted to reject a Multisig proposal.@ProposalApproved(caller_didEHOption<IdentityId> multisig0T::AccountId,proposal_id0u64	�A Multisig proposal has been approved.@ProposalRejected(caller_didEHOption<IdentityId> multisig0T::AccountId,proposal_id0u64
�A Multisig proposal has been rejected.HMultiSigAddedAdmin(caller_did�(IdentityId multisig0T::AccountId$admin_did�(IdentityId�A Multisig has added an admin DID.PMultiSigRemovedAdmin(caller_did�(IdentityId multisig0T::AccountId$admin_did�(IdentityId�A Multisig has removed it's admin DID.`MultiSigRemovedPayingDid(caller_did�(IdentityId multisig0T::AccountId(paying_did�(IdentityId
�A Multisig has removed it's paying DID.|The `Event` enum of this pallet�Lbounded_collections,bounded_vec(BoundedVecTS!Vec<T>�Dpallet_validatorspalletEventT$NominatedHnominator_identity�(IdentityIdstash0T::AccountIdtargets!DVec<T::AccountId>�User has updated their nominations.dPermissionedIdentityAdded\governance_councill_did�(IdentityIdLvalidators_identity�(IdentityId�An identity has issued a candidacy for becoming a validator.lPermissionedIdentityRemoved\governance_councill_did�(IdentityIdLvalidators_identity�(IdentityId
An identity has been removed from the permissioned identities pool.TInvalidatedNominators\governance_councill_did�(IdentityIdlgovernance_councill_account�(IdentityIdHexpired_nominators!DVec<T::AccountId>Remove the nominators from the valid nominators when there CDD expired.dSlashingAllowedForChanged<slashing_switch�8SlashingSwitch�Slashing allowed has been updated.�RewardPaymentSchedulingInterrupted(account_id0T::AccountIdera EraIndexerrorh4DispatchErrorxReward scheduling interrupted.PCommissionCapUpdated\governance_councill_did�(IdentityIdHold_commission_cap�PerbillHnew_commission_cap�Perbill�Commission cap has been updated.|The `Event` enum of this pallet�Dpallet_validatorstypes8SlashingSwitch$ValidatorTValidatorAndNominatorNone�4sp_arithmetic(per_thingsPerbillu32�8pallet_stakingpalletpalletEventTLEraPaid$era_index EraIndex@validator_payout0BalanceOf<T>$remainder0BalanceOf<T>UThe era payout has been set; the first balance is the validator-payout; the second is�the remainder from the maximum amount of reward. Rewardedstash0T::AccountIddest�|RewardDestination<T::AccountId>amount0BalanceOf<T>
The nominator has been rewarded by this amount to this destination.Slashedstaker0T::AccountIdamount0BalanceOf<T>A staker (validator or nominator) has been slashed by the given amount.4SlashReported$validator0T::AccountId fraction�Perbill$slash_era EraIndexYA slash for the given validator, for the given percentage of their stake, at the givenTera as been reported.hOldSlashingReportDiscarded4session_index0SessionIndexAn old slashing report from a prior era was discarded because it couldDnot be processed.8StakersElected�A new set of stakers was elected.Bondedstash0T::AccountIdamount0BalanceOf<T>�An account has bonded this amount. \[stash, amount\]MNOTE: 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. Unbondedstash0T::AccountIdamount0BalanceOf<T>�An account has unbonded this amount.$Withdrawnstash0T::AccountIdamount0BalanceOf<T>YAn account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`dfrom the unlocking queue.Kicked$nominator0T::AccountIdstash0T::AccountId	�A nominator has been kicked from a validator.TStakingElectionFailed
�The election failed. No new era is planned.Chilledstash0T::AccountId!An account has stopped participating as either a validator or nominator.4PayoutStarted$era_index EraIndex<validator_stash0T::AccountIdpagePagenext�0Option<Page>YA Page of stakers rewards are getting paid. `next` is `None` if all pages are claimed.DValidatorPrefsSetstash0T::AccountIdprefs�8ValidatorPrefs
�A validator has set their preferences.hSnapshotVotersSizeExceededsizeu32hVoters size limit reached.lSnapshotTargetsSizeExceededsizeu32lTargets size limit reached. ForceEramode�ForcingtA new force era mode was set.dControllerBatchDeprecated failuresu32�Report of a controller batch deprecation.@CurrencyMigratedstash0T::AccountId8force_withdraw0BalanceOf<T>UStaking balance migrated from locks to holds, with any balance that could not be heldLis force withdrawn.|The `Event` enum of this pallet�8pallet_stakingDRewardDestination$AccountIdStakedStash(ControllerAccount$AccountIdNone�OptionTNoneSome�8pallet_staking8ValidatorPrefs(commission�Perbillblocked bool���8pallet_stakingForcing(NotForcing ForceNew$ForceNone,ForceAlways�<pallet_offencespalletEventOffencekind�Kind timeslot88OpaqueTimeSlotQThere is an offence reported of the given `kind` happened at the `session_index` and5(kind-specific) time slot. This event is not deposited for duplicate slashes.L\[kind, timeslot\].0Events type.�8pallet_sessionpalletEventT(NewSession4session_index0SessionIndex9New session has happened. Note that the argument is the session index, not the�block number as the type might suggest.$NewQueuedIThe `NewSession` event in the current block also implies a new validator set to bequeued.DValidatorDisabled$validator8T::ValidatorIdpValidator has been disabled.HValidatorReenabled$validator8T::ValidatorIdxValidator has been re-enabled.|The `Event` enum of this pallet�8pallet_grandpapalletEvent8NewAuthorities4authority_set�4AuthorityList�New authority set has been applied.Paused�Current authority set has been paused.Resumed�Current authority set has been resumed.|The `Event` enum of this pallet����0�Psp_consensus_grandpaappPublic<ed25519::Public�8pallet_session(historicalpalletEventT(RootStoredindex0SessionIndexThe merkle root of the validators of the said session were stored,RootsPrunedup_to0SessionIndex�The merkle roots of up to this session index were pruned|The `Event` enum of this pallet�@pallet_im_onlinepalletEventTDHeartbeatReceived0authority_id�8T::AuthorityId�A new heartbeat was received from `AuthorityId`.AllGood�At the end of the session, no offence was committed.,SomeOfflineoffline�lVec<IdentificationTuple<T>>)At the end of the session, at least one validator was found to be offline.|The `Event` enum of this pallet�@pallet_im_onlinesr25519,app_sr25519Public<sr25519::Public�����(sp_staking Exposure$AccountIdBalancetotal�Balanceown�Balanceothers��Vec<IndividualExposure<AccountId, Balance>>����(sp_stakingHIndividualExposure$AccountIdBalancewho$AccountIdvalue�Balance�,pallet_sudopalletEventTSudid,sudo_resultm8DispatchResult�The result of the call made by the sudo user.pA sudo call just took place.(KeyChangedoldIPOption<T::AccountId>�The old sudo key (if one was previously set).new0T::AccountId�The new sudo key (if one was set).xThe sudo key has been updated.(KeyRemoved�The key was permanently removed.(SudoAsDone,sudo_resultm8DispatchResult�The result of the call made by the sudo user.�A [sudo_as](Pallet::sudo_as) call just took place.|The `Event` enum of this pallet�0pallet_assetpalletEventT�0AssetCreated �(IdentityId�AssetId bool�$AssetType�(IdentityId	$AssetName
PVec<AssetIdentifier>`Option<FundingRoundName>�Event for creation of the asset.�caller DID/ owner DID, AssetId, divisibility, asset type, beneficiary DID, asset name, identifiers, funding roundHIdentifiersUpdated�(IdentityId�AssetId
PVec<AssetIdentifier>�Event emitted when any token identifiers are updated.caller DID, AssetId, a vector of (identifier type, identifier value)LDivisibilityChanged�(IdentityId�AssetId bool�Event for change in divisibility.�caller DID, AssetId, divisibility@TickerRegistered�(IdentityIdQTicker)DOption<T::Moment>|Emit when ticker is registered.�caller DID / ticker owner did, ticker, ticker owner, expiryDTickerTransferred�(IdentityIdQTicker�(IdentityId�Emit when ticker is transferred.�caller DID / ticker transferred to DID, ticker, fromdAssetOwnershipTransferred�(IdentityId�AssetId�(IdentityId�Emit when token ownership is transferred.�caller DID / token ownership transferred to DID, AssetId, from,AssetFrozen�(IdentityId�AssetId�An event emitted when an asset is frozen.|Parameter: caller DID, AssetId.4AssetUnfrozen�(IdentityId�AssetId�An event emitted when an asset is unfrozen.|Parameter: caller DID, AssetId.0AssetRenamed�(IdentityId�AssetId	$AssetName�An event emitted when a token is renamed.�Parameters: caller DID, AssetId, new token name.<FundingRoundSet�(IdentityId�AssetId!@FundingRoundName	An event carrying the name of the current funding round of an asset.�Parameters: caller DID, AssetId, funding round name.4DocumentAdded�(IdentityId�AssetId%(DocumentId) Document
�A new document attached to an asset<DocumentRemoved�(IdentityId�AssetId%(DocumentId�A document removed from an assetHControllerTransfer�(IdentityId�AssetIdU,AssetHolderBalance�Event for when a forced transfer takes place.=caller DID/ controller DID, ExtensionRemoved, Portfolio of token holder, value.TCustomAssetTypeExists�(IdentityIdDCustomAssetTypeId8Vec<u8>
�A custom asset type already exists on-chain.1caller DID, the ID of the custom asset type, the string contents registered.dCustomAssetTypeRegistered�(IdentityIdDCustomAssetTypeId8Vec<u8>�A custom asset type was registered on-chain.1caller DID, the ID of the custom asset type, the string contents registered.TSetAssetMetadataValue�(IdentityId�AssetIdYHAssetMetadataValue]�Option<AssetMetadataValueDetail<T::Moment>>dSet asset metadata value.�(Caller DID, AssetId, metadata value, optional value details)pSetAssetMetadataValueDetails�(IdentityId�AssetIda�AssetMetadataValueDetail<T::Moment>�Set asset metadata value details (expire, lock status).�(Caller DID, AssetId, value details)xRegisterAssetMetadataLocalType�(IdentityId�AssetIdiDAssetMetadataNamemTAssetMetadataLocalKeyqDAssetMetadataSpec�Register asset metadata local type.	(Caller DID, AssetId, Local type name, Local type key, type specs)|RegisterAssetMetadataGlobalTypeiDAssetMetadataName�XAssetMetadataGlobalKeyqDAssetMetadataSpec�Register asset metadata global type.�(Global type name, Global type key, type specs)@AssetTypeChanged�(IdentityId�AssetId�$AssetType�An event emitted when the type of an asset changed.�Parameters: caller DID, AssetId, new token type.\LocalMetadataKeyDeleted�(IdentityId�AssetIdmTAssetMetadataLocalKey�An event emitted when a local metadata key has been removed.�Parameters: caller AssetId, Local type namePMetadataValueDeleted�(IdentityId�AssetId�@AssetMetadataKey�An event emitted when a local metadata value has been removed.�Parameters: caller AssetId, Local type nameLAssetBalanceUpdated�(IdentityId�AssetIdBalance�LOption<AssetHolder>�LOption<AssetHolder>�PHoldingsUpdateReason�Emitted when Tokens were issued, redeemed or transferred.5Contains the [`IdentityId`] of the receiver/issuer/redeemer, the [`AssetId`] for the token, the balance that was issued/transferred/redeemed,�the [`AssetHolder`] of the source, the [`AssetHolder`] of the destination and the [`HoldingsUpdateReason`].dAssetAffirmationExemption�AssetIdmAn asset has been added to the list of pre aprroved receivement (valid for all identities).�Parameters: [`AssetId`] of the pre approved asset.|RemoveAssetAffirmationExemption�AssetId}An asset has been removed from the list of pre aprroved receivement (valid for all identities).�Parameters: [`AssetId`] of the asset.@PreApprovedAsset�(IdentityId�AssetIdAn identity has added an asset to the list of pre aprroved receivement.1Parameters: [`IdentityId`] of caller, [`AssetId`] of the pre approved asset.XRemovePreApprovedAsset�(IdentityId�AssetId%An identity has removed an asset to the list of pre aprroved receivement.�Parameters: [`IdentityId`] of caller, [`AssetId`] of the asset.LAssetMediatorsAdded�(IdentityId�AssetId�PBTreeSet<IdentityId>�An identity has added mandatory mediators to an asset.�Parameters: [`IdentityId`] of caller, [`AssetId`] of the asset, the identity of all mediators added.TAssetMediatorsRemoved�(IdentityId�AssetId�PBTreeSet<IdentityId>�An identity has removed mediators from an asset.�Parameters: [`IdentityId`] of caller, [`AssetId`] of the asset, the identity of all mediators removed.LTickerLinkedToAsset�(IdentityIdQTicker�AssetId�An identity has linked a ticker to an asset.�Parameters: [`IdentityId`] of caller, [`Ticker`] of the asset, the asset identifier [`AssetId`].\TickerUnlinkedFromAsset�(IdentityIdQTicker�AssetId�An identity has unlinked a ticker from an asset.qParameters: [`IdentityId`] of caller, unlinked [`Ticker`], the asset identifier [`AssetId`].dGlobalMetadataSpecUpdatediDAssetMetadataNameqDAssetMetadataSpec�Asset Global Metadata Spec has been Updated.eParameters: [`AssetMetadataName`] of the metadata, [`AssetMetadataSpec`] of the metadata.PCreatedAssetTransfer asset_id�AssetIdfrom0T::AccountIdto0T::AccountIdamountBalancememo�0Option<Memo>Lpending_transfer_id�TOption<InstructionId> �An asset transfer has been created. Approvalowner0T::AccountIdspender0T::AccountId asset_id�AssetIdamountBalance!�A spender allowance was set for an asset.8AllowanceSpentowner0T::AccountIdspender0T::AccountId asset_id�AssetId0amount_spentBalanceLremaining_allowanceBalance"�A spender used part of an allowance.|The `Event` enum of this pallet�Lpolymesh_primitivesasset$AssetType00EquityCommon<EquityPreferred$Commodity,FixedIncomeREITFundTRevenueShareAgreementDStructuredProduct(DerivativeCustomDCustomAssetTypeId	(StableCoin
,NonFungible<NonFungibleTypeLpolymesh_primitivesassetDCustomAssetTypeIdu32Lpolymesh_primitivesasset<NonFungibleType(Derivative,FixedIncomeInvoiceCustomDCustomAssetTypeId	Lpolymesh_primitivesasset$AssetName8Vec<u8>
Lpolymesh_primitives@asset_identifier<AssetIdentifierCUSIP[u8; 9]CINS[u8; 9]ISINU [u8; 12]LEI [u8; 20]FIGIU [u8; 12]	OptionT!NoneSome!!Lpolymesh_primitivesasset@FundingRoundName8Vec<u8>%Lpolymesh_primitives document(DocumentIdu32)Lpolymesh_primitives document Documenturi-,DocumentUri0content_hash10DocumentHashnameI0DocumentName doc_typeMPOption<DocumentType>,filing_date)8Option<Moment>-Lpolymesh_primitives document,DocumentUri8Vec<u8>1Lpolymesh_primitives4document_hash0DocumentHash$NoneH5125 [u8; 64]H3849 [u8; 48]H320= [u8; 40]H256 [u8; 32]H224A [u8; 28]H192E [u8; 24]H160 [u8; 20]H128� [u8; 16]5@90=(AEILpolymesh_primitives document0DocumentName8Vec<u8>MOptionTQNoneSomeQQLpolymesh_primitives document0DocumentType8Vec<u8>ULpolymesh_primitivesasset,AssetHolder$Portfolio
,PortfolioIdAccount,AccountId32YLpolymesh_primitives8asset_metadataHAssetMetadataValue8Vec<u8>]OptionTaNoneSomeaaLpolymesh_primitives8asset_metadata`AssetMetadataValueDetailMoment0expire)8Option<Moment>,lock_statuse|AssetMetadataLockStatus<Moment>eLpolymesh_primitives8asset_metadata\AssetMetadataLockStatusMoment0 UnlockedLocked,LockedUntil0MomentiLpolymesh_primitives8asset_metadataDAssetMetadataName8Vec<u8>mLpolymesh_primitives8asset_metadataTAssetMetadataLocalKey0u64qLpolymesh_primitives8asset_metadataDAssetMetadataSpecurlu,Option<Url>,description}�Option<AssetMetadataDescription> type_def�<Option<Vec<u8>>uOptionTyNoneSomeyyLpolymesh_primitivesUrl8Vec<u8>}OptionT�NoneSome��Lpolymesh_primitives8asset_metadata`AssetMetadataDescription8Vec<u8>�OptionT8NoneSome8�Lpolymesh_primitives8asset_metadataXAssetMetadataGlobalKey0u64�Lpolymesh_primitives8asset_metadata@AssetMetadataKeyGlobal�XAssetMetadataGlobalKeyLocalmTAssetMetadataLocalKey�OptionTUNoneSomeU�Lpolymesh_primitivesassetPHoldingsUpdateReasonIssuedHfunding_round_name`Option<FundingRoundName> Redeemed,Transferred8instruction_id�TOption<InstructionId>@instruction_memo�0Option<Memo>HControllerTransfer�OptionT�NoneSome��Lpolymesh_primitives(settlement4InstructionId0u64� BTreeSetT�e�`pallet_corporate_actions0distributionpalletEventTCreated� EventDid�CAId�0Distribution�A capital distribution, with details included,1was created by the DID (permissioned agent) for the CA identified by `CAId`.�(Agent DID, CA's ID, distribution details)8BenefitClaimed� EventDid� EventDid�CAId�0DistributionBalance�TaxQA token holder's benefit of a capital distribution for the given `CAId` was claimed.�(Caller DID, Holder/Claimant DID, CA's ID, updated distribution details, DID's benefit, DID's tax %)$Reclaimed� EventDid�CAIdBalance�Stats from `push_benefit` was emitted.(Agent DID, CA's ID, max requested DIDs, processed DIDs, failed DIDs)Removed� EventDid�CAId�A capital distribution was removed.P(Agent DID, CA's ID)|The `Event` enum of this pallet�Lpolymesh_primitives(event_only$EventOnlyT��T�`pallet_corporate_actionsCAId asset_id�AssetId local_id�$LocalCAId�`pallet_corporate_actions$LocalCAIdu32�`pallet_corporate_actions0distribution0Distribution from
,PortfolioId currency�AssetId$per_shareBalanceamountBalance$remainingBalance$reclaimed bool(payment_at0Moment(expires_at)8Option<Moment>�4sp_arithmetic(per_thingsPermillu32�0pallet_asset(checkpointpalletEventTDCheckpointCreatedEHOption<IdentityId>�AssetId�0CheckpointIdppolymesh_primitives::Balance0MomentdA checkpoint was created.!(caller DID, AssetId, checkpoint ID, total supply, checkpoint timestamp)�MaximumSchedulesComplexityChanged�(IdentityId0u64%The maximum complexity for an arbitrary asset's schedule set was changed.d(GC DID, the new maximum)<ScheduleCreated�(IdentityId�AssetId�(ScheduleId�LScheduleCheckpoints�A checkpoint schedule was created.�(caller DID, AssetId, schedule id, schedule)<ScheduleRemoved�(IdentityId�AssetId�(ScheduleId�LScheduleCheckpoints�A checkpoint schedule was removed.�(caller DID, AssetId, schedule id, schedule)|The `Event` enum of this pallet�Lpolymesh_primitivesasset0CheckpointId0u64�Lpolymesh_primitives(checkpoint(ScheduleId0u64�Lpolymesh_primitives(checkpointLScheduleCheckpointspending�@BTreeSet<Moment>� BTreeSetT0��0�dpallet_compliance_managerpalletEventT$pComplianceRequirementCreated�(IdentityId�AssetId�TComplianceRequirement�Emitted when new compliance requirement is created.�(caller DID, AssetId, ComplianceRequirement).pComplianceRequirementRemoved�(IdentityId�AssetIdu32�Emitted when a compliance requirement is removed.�(caller DID, AssetId, requirement_id).\AssetComplianceReplaced�(IdentityId�AssetIdhVec<ComplianceRequirement>�Emitted when an asset compliance is replaced.�Parameters: caller DID, AssetId, new asset compliance.PAssetComplianceReset�(IdentityId�AssetId�Emitted when an asset compliance of a asset_id is reset.X(caller DID, AssetId).XAssetComplianceResumed�(IdentityId�AssetId	Emitted when an asset compliance for a given asset_id gets resume.X(caller DID, AssetId).TAssetCompliancePaused�(IdentityId�AssetId	Emitted when an asset compliance for a given asset_id gets paused.X(caller DID, AssetId).pComplianceRequirementChanged�(IdentityId�AssetId�TComplianceRequirement�Emitted when compliance requirement get modified/change.�(caller DID, AssetId, ComplianceRequirement).xTrustedDefaultClaimIssuerAdded�(IdentityId�AssetId�4TrustedIssuerEmitted when default claim issuer list for a given asset_id gets added.�(caller DID, AssetId, Added TrustedIssuer).�TrustedDefaultClaimIssuerRemoved�(IdentityId�AssetId�(IdentityId!Emitted when default claim issuer list for a given asset_id get removed.�(caller DID, AssetId, Removed TrustedIssuer).|The `Event` enum of this pallet�Lpolymesh_primitivesHcompliance_managerTComplianceRequirementDsender_conditions�8Vec<Condition>Lreceiver_conditions�8Vec<Condition>idu32���Lpolymesh_primitives$condition$Condition8condition_type�4ConditionTypeissuers�HVec<TrustedIssuer>�Lpolymesh_primitives$condition4ConditionType$IsPresent-Claim IsAbsent-ClaimIsAnyOf�(Vec<Claim> IsNoneOf�(Vec<Claim>(IsIdentity�8TargetIdentity�-�Lpolymesh_primitives$condition8TargetIdentity4ExternalAgent Specific�(IdentityId���Lpolymesh_primitives$condition4TrustedIssuerissuer�(IdentityId,trusted_for�(TrustedFor�Lpolymesh_primitives$condition(TrustedForAny Specific�8Vec<ClaimType>�Lpolymesh_primitives8identity_claim$ClaimType((Accredited$Affiliate$BuyLockup(SellLockupPCustomerDueDiligence@KnowYourCustomer0Jurisdiction ExemptedBlockedCustom=DCustomClaimTypeId	�	`pallet_corporate_actionspalletEventT \MaxDetailsLengthChanged�(IdentityIdu32�The maximum length of `details` in bytes was changed.P(GC DID, new length)xDefaultTargetIdentitiesChanged�(IdentityId�AssetId
@TargetIdentities�The set of default `TargetIdentities` for the asset changed.�(Agent DID, AssetId, New TargetIdentities)pDefaultWithholdingTaxChanged�(IdentityId�AssetId�Tax�The default withholding tax for the asset changed.x(Agent DID, AssetId, New Tax).`DidWithholdingTaxChanged�(IdentityId�AssetId�(IdentityId,Option<Tax>�The withholding tax specific to a DID for the asset changed.�(Agent DID, AssetId, Taxed DID, New Tax).,CAInitiated� EventDid�CAId<CorporateAction5$CADetailsLA CA was initiated.�(Agent DID, CA id, the CA, the CA details)4CALinkedToDoc�(IdentityId�CAId9<Vec<DocumentId>�A CA was linked to a set of docs.�(Agent DID, CA Id, List of doc identifiers)$CARemoved� EventDid�CAIdDA CA was removed.H(Agent DID, CA Id)DRecordDateChanged� EventDid�CAId<CorporateActionlA CA's record date changed.|The `Event` enum of this pallet
`pallet_corporate_actions@TargetIdentities(identitiese<Vec<IdentityId>$treatment<TargetTreatment`pallet_corporate_actions<TargetTreatmentIncludeExcludeOptionT�NoneSome�`pallet_corporate_actions<CorporateActionkindCAKind$decl_date0Moment,record_date!HOption<RecordDate>targets
@TargetIdentities\default_withholding_tax�Tax<withholding_tax-XVec<(IdentityId, Tax)>`pallet_corporate_actionsCAKindHPredictableBenefitPUnpredictableBenefit0IssuerNotice8ReorganizationOther!OptionT%NoneSome%%`pallet_corporate_actions(RecordDatedate0Moment(checkpoint)0CACheckpoint)`pallet_corporate_actions0CACheckpoint$Scheduled�(ScheduleId0u64 Existing�0CheckpointId-11��5`pallet_corporate_actions$CADetails8Vec<u8>9%=`pallet_corporate_actionsballotpalletEventTCreated�(IdentityId�CAIdA<BallotTimeRangeE(BallotMeta bool|A corporate ballot was created.(Agent DID, CA's ID, Voting start/end, Ballot metadata, RCV enabled?) VoteCast�(IdentityId�CAIde<Vec<BallotVote>�A vote was cast in a corporate ballot.`(voter DID, CAId, Votes)0RangeChanged�(IdentityId�CAIdA<BallotTimeRange�A corporate ballot changed its start/end date range.�(Agent DID, CA's ID, Voting start/end),MetaChanged�(IdentityId�CAIdE(BallotMeta�A corporate ballot changed its metadata.�(Agent DID, CA's ID, New metadata)(RCVChanged�(IdentityId�CAId bool�A corporate ballot changed its RCV support.�(Agent DID, CA's ID, New support)Removed� EventDid�CAId|A corporate ballot was removed.P(Agent DID, CA's ID)|The `Event` enum of this palletA`pallet_corporate_actionsballot<BallotTimeRangestart0Momentend0MomentE`pallet_corporate_actionsballot(BallotMetatitleI,BallotTitlemotionsM,Vec<Motion>I`pallet_corporate_actionsballot,BallotTitle8Vec<u8>MQQ`pallet_corporate_actionsballotMotiontitleU,MotionTitle$info_linkY8MotionInfoLinkchoices]@Vec<ChoiceTitle>U`pallet_corporate_actionsballot,MotionTitle8Vec<u8>Y`pallet_corporate_actionsballot8MotionInfoLink8Vec<u8>]aa`pallet_corporate_actionsballot,ChoiceTitle8Vec<u8>eii`pallet_corporate_actionsballot(BallotVotepowerBalance fallbackm,Option<u16>mOptionTqNoneSomeqqu,pallet_pipspalletEventTPPHistoricalPipsPruned�(IdentityId bool bool�Historical PIPs Pruning has been set.,Parameters:�- `IdentityId`: The DID of the caller.�- `bool`: The old value of the pruning setting.�- `bool`: The new value of the pruning setting.<ProposalCreated �(IdentityIdyXProposer<T::AccountId>�PipIdBalanceu,Option<Url>�XOption<PipDescription>utMaybeBlock<BlockNumberFor<T>>�0ProposalData,�A PIP was created with a specified `Balance` stake.,Parameters:�- `IdentityId`: The DID of the caller.�- `Proposer<T::AccountId>`: The proposer of the PIP.t- `PipId`: The ID of the PIP.�- `Balance`: The deposit amount.�- `Option<Url>`: The URL for proposal discussion.�- `Option<PipDescription>`: The description of the proposal.- `MaybeBlock<T::BlockNumber>`: The expiry time of the proposal.�- `ProposalData`: The data of the proposal.PProposalStateUpdated�(IdentityId�PipId�4ProposalState�The state of a proposal was updated.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.�- `ProposalState`: The new state of the proposal.Voted�(IdentityId0T::AccountId�PipId boolBalance |An account voted on a proposal.,Parameters:�- `IdentityId`: The DID of the caller.�- `T::AccountId`: The account that voted.t- `PipId`: The ID of the PIP.�- `bool`: The vote (true for aye, false for nay).�- `Balance`: The deposit amount of the vote.$PipClosed�(IdentityId�PipId boolDA PIP was closed.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.�- `bool`: Indicates whether the data was pruned.HExecutionScheduled�(IdentityId�PipIdDBlockNumberFor<T>�The execution of a PIP was scheduled.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.9- `BlockNumber`: The block number at which the PIP is scheduled for execution.tDefaultEnactmentPeriodChanged�(IdentityIdDBlockNumberFor<T>DBlockNumberFor<T>�The default enactment period was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `BlockNumber`: The old enactment period.�- `BlockNumber`: The new enactment period.tMinimumProposalDepositChanged�(IdentityIdBalanceBalance�The minimum deposit amount for proposals was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `Balance`: The old deposit amount.�- `Balance`: The new deposit amount.\PendingPipExpiryChanged�(IdentityIdutMaybeBlock<BlockNumberFor<T>>utMaybeBlock<BlockNumberFor<T>>�The expiry time for pending PIPs was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `MaybeBlock<T::BlockNumber>`: The old expiry time.�- `MaybeBlock<T::BlockNumber>`: The new expiry time.XMaxPipSkipCountChanged�(IdentityId0SkippedCount0SkippedCount	�The maximum number of times a PIP can be skipped was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `SkippedCount`: The old skip count.�- `SkippedCount`: The new skip count.TActivePipLimitChanged�(IdentityIdu32u32
�The maximum number of active PIPs was changed.,Parameters:�- `IdentityId`: The DID of the caller.�- `u32`: The old active PIP limit.�- `u32`: The new active PIP limit.8ProposalRefund�(IdentityId�PipIdBalance`A proposal was refunded.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.�- `Balance`: The total amount refunded.<SnapshotCleared�(IdentityId�(SnapshotIddThe snapshot was cleared.,Parameters:�- `IdentityId`: The DID of the caller.�- `SnapshotId`: The ID of the snapshot.4SnapshotTaken�(IdentityId�(SnapshotId�LVec<SnapshottedPip>
dA new snapshot was taken.,Parameters:�- `IdentityId`: The DID of the caller.�- `SnapshotId`: The ID of the snapshot.�- `Vec<SnapshottedPip>`: The list of PIPs in the snapshot.(PipSkipped�(IdentityId�PipId0SkippedCount�A PIP in the snapshot queue was skipped.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.�- `SkippedCount`: The new skip count.XSnapshotResultsEnacted�(IdentityId�HOption<SnapshotId>�hVec<(PipId, SkippedCount)>�(Vec<PipId>�(Vec<PipId> �Results were enacted for some PIPs in the snapshot queue.,Parameters:�- `IdentityId`: The DID of the caller.�- `Option<SnapshotId>`: The ID of the snapshot, if any.Q- `Vec<(PipId, SkippedCount)>`: The list of skipped PIPs with their new skip counts.�- `Vec<PipId>`: The list of rejected PIPs.�- `Vec<PipId>`: The list of approved PIPs.dExecutionSchedulingFailed�(IdentityId�PipIdDBlockNumberFor<T>
Scheduling of the PIP for execution failed in the scheduler pallet.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.=- `BlockNumber`: The block number at which the PIP was scheduled for execution.<ExpiryScheduled�(IdentityId�PipIdDBlockNumberFor<T>�The PIP has been scheduled for expiry.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.-- `BlockNumber`: The block number at which the PIP is scheduled for expiry.XExpirySchedulingFailed�(IdentityId�PipIdDBlockNumberFor<T>Scheduling of the PIP for expiry failed in the scheduler pallet.,Parameters:�- `IdentityId`: The DID of the caller.t- `PipId`: The ID of the PIP.1- `BlockNumber`: The block number at which the PIP was scheduled for expiry.dExecutionCancellingFailed�PipId�Cancelling the PIP execution failed in the scheduler pallet.,Parameters:t- `PipId`: The ID of the PIP.|The `Event` enum of this pallety,pallet_pipstypes Proposer$AccountId$Community$AccountId$Committee}$Committee},pallet_pipstypes$Committee$TechnicalUpgrade�,pallet_pipstypesPipIdu32�OptionT�NoneSome��,pallet_pipstypes8PipDescription8Vec<u8>�,pallet_pipstypes0ProposalDataHash4H256 Proposal8Vec<u8>�,pallet_pipstypes4ProposalStatePending Rejected$ScheduledFailed ExecutedExpired�,pallet_pipstypes(SnapshotIdu32���,pallet_pipstypes8SnapshottedPipid�PipIdweight�<(bool, Balance)� �OptionT�NoneSome��������@pallet_portfoliopalletEventT(@PortfolioCreated�(IdentityId<PortfolioNumber�4PortfolioName�The portfolio has been successfully created.0# Parameters0* origin DIDH* portfolio number@* portfolio name@PortfolioDeleted�(IdentityId<PortfolioNumber�The portfolio has been successfully removed.0# Parameters0* origin DIDH* portfolio number@PortfolioRenamed�(IdentityId<PortfolioNumber�4PortfolioName�The portfolio identified with `num` has been renamed to `name`.0# Parameters0* origin DIDH* portfolio number@* portfolio name8UserPortfolios�(IdentityId��Vec<(PortfolioNumber, PortfolioName)>�All non-default portfolio numbers and names of a DID.0# Parameters0* origin DIDt* vector of number-name pairsdPortfolioCustodianChanged�(IdentityId
,PortfolioId�(IdentityId�Custody of a portfolio has been given to a different identity0# Parameters0* origin DID8* portfolio idd* portfolio custodian didlFundsMovedBetweenPortfolios�(IdentityId
,PortfolioId
,PortfolioId�<FundDescription�0Option<Memo> �Funds have moved between portfolios0# Parameters4* Origin DID.L* Source portfolio.`* Destination portfolio.�* The type of fund that was moved.t* Optional memo for the move.PPreApprovedPortfolio�(IdentityId
,PortfolioId�AssetId�A portfolio has pre approved the receivement of an asset.0# Parameters|* [`IdentityId`] of the caller.!* [`PortfolioId`] that will receive assets without explicit affirmation.)* [`AssetId`] of the asset that has been exempt from explicit affirmation.hRevokePreApprovedPortfolio�(IdentityId
,PortfolioId�AssetId�A portfolio has removed the approval of an asset.0# Parameters|* [`IdentityId`] of the caller.�* [`PortfolioId`] that had its pre approval revoked.�* [`AssetId`] of the asset that had its pre approval revoked.|AllowIdentityToCreatePortfolios�(IdentityId�(IdentityId�Allow another identity to create portfolios.0# Parameters|* [`IdentityId`] of the caller.�* [`IdentityId`] allowed to create portfolios.�RevokeCreatePortfoliosPermission�(IdentityId�(IdentityId	�Revoke another identities permission to create portfolios.0# Parameters|* [`IdentityId`] of the caller.�* [`IdentityId`] permissions to create portfolios is revoked.|The `Event` enum of this pallet�Lpolymesh_primitives,identity_id4PortfolioName8Vec<u8>�����Lpolymesh_primitives$portfolio<FundDescription Fungible asset_id�AssetIdamountBalance,NonFungible�NFTs�Lpolymesh_primitivesnftNFTs asset_id�AssetIdids�(Vec<NFTId>���Lpolymesh_primitivesnftNFTId0u64�Lpallet_protocol_feepalletEventTFeeSet�(IdentityIdBalance�The protocol fee of an operation.8CoefficientSet�(IdentityId� PosRatioPThe fee coefficient.(FeeCharged0T::AccountIdBalance0Fee charged.|The `Event` enum of this pallet�Lpolymesh_primitives PosRatiou32u32�@pallet_schedulerpalletEventT($ScheduledwhenDBlockNumberFor<T>indexu32PScheduled some task. CanceledwhenDBlockNumberFor<T>indexu32LCanceled some task.(Dispatchedtask�xTaskAddress<BlockNumberFor<T>>id�@Option<TaskName>resultm8DispatchResultTDispatched some task. RetrySettask�xTaskAddress<BlockNumberFor<T>>id�@Option<TaskName>periodDBlockNumberFor<T>retriesu8�Set a retry configuration for some task.8RetryCancelledtask�xTaskAddress<BlockNumberFor<T>>id�@Option<TaskName>�Cancel a retry configuration for some task.<CallUnavailabletask�xTaskAddress<BlockNumberFor<T>>id�@Option<TaskName>)The call for the provided hash was not found so the task has been aborted.8PeriodicFailedtask�xTaskAddress<BlockNumberFor<T>>id�@Option<TaskName>=The given task was unable to be renewed since the agenda is full at that block.,RetryFailedtask�xTaskAddress<BlockNumberFor<T>>id�@Option<TaskName>]The given task was unable to be retried since the agenda is full at that block or there�was not enough weight to reschedule it.TPermanentlyOverweighttask�xTaskAddress<BlockNumberFor<T>>id�@Option<TaskName>�The given task can never be executed since it is overweight.@AgendaIncompletewhenDBlockNumberFor<T>	�Agenda is incomplete from `when`.0Events type.��OptionTNoneSome�Dpallet_settlementpalletEventTd0VenueCreated�(IdentityId�VenueId�0VenueDetails�$VenueType�A new venue has been created (did, venue_id, details, type)LVenueDetailsUpdated�(IdentityId�VenueId�0VenueDetailsAn existing venue's details has been updated (did, venue_id, details)@VenueTypeUpdated�(IdentityId�VenueId�$VenueType�An existing venue's type has been updated (did, venue_id, type)LInstructionAffirmed�(IdentityIdU,AssetHolder�4InstructionIdAn instruction has been affirmed (did, asset_holder, instruction_id)PAffirmationWithdrawn�(IdentityIdU,AssetHolder�4InstructionIdAn affirmation has been withdrawn (did, asset_holder, instruction_id)LInstructionRejected�(IdentityId�4InstructionId�An instruction has been rejected (did, instruction_id)8ReceiptClaimed�(IdentityId�4InstructionId�LegId0u640T::AccountId�\Option<ReceiptMetadata>}A receipt has been claimed (did, instruction_id, leg_id, receipt_uid, signer, receipt metadata)8VenueFiltering�(IdentityId�AssetId boolmVenue filtering has been enabled or disabled for an asset (did, AssetId, filtering_enabled)4VenuesAllowed�(IdentityId�AssetId0Vec<VenueId>�Venues added to allow list (did, AssetId, vec<venue_id>)4VenuesBlocked�(IdentityId�AssetId0Vec<VenueId>	�Venues added to block list (did, AssetId, vec<venue_id>)HLegFailedExecution�(IdentityId�4InstructionId�LegId
�Execution of a leg failed (did, instruction_id, leg_id)LInstructionExecuted�(IdentityId�4InstructionId�Instruction executed successfully(did, instruction_id)DVenueUnauthorized�(IdentityId�AssetId�VenueIdVenue not part of the token's allow list (did, AssetId, venue_id)LVenueSignersUpdated�(IdentityId�VenueId	XBTreeSet<T::AccountId> bool
IAn existing venue's signers has been updated (did, venue_id, signers, update_type)hSettlementManuallyExecuted�(IdentityId�4InstructionId�Settlement manually executed (did, id)HInstructionCreated �(IdentityId
<Option<VenueId>�4InstructionId�SettlementType<BlockNumberFor<T>>)DOption<T::Moment>)DOption<T::Moment> Vec<Leg>�0Option<Memo>�A new instruction has been createdQ(did, venue_id, instruction_id, settlement_type, trade_date, value_date, legs, memo)hFailedToExecuteInstruction�4InstructionIdh4DispatchErrorxFailed to execute instruction.�InstructionAutomaticallyAffirmed�(IdentityIdU,AssetHolder�4InstructionId�An instruction has been automatically affirmed.�Parameters: [`IdentityId`] of the caller, [`AssetHolder`] of the receiver, and [`InstructionId`] of the instruction.lMediatorAffirmationReceived�(IdentityId�4InstructionId)DOption<T::Moment>�An instruction has affirmed by a mediator.QParameters: [`IdentityId`] of the mediator and [`InstructionId`] of the instruction.pMediatorAffirmationWithdrawn�(IdentityId�4InstructionId�An instruction affirmation has been withdrawn by a mediator.QParameters: [`IdentityId`] of the mediator and [`InstructionId`] of the instruction.PInstructionMediators�4InstructionId�PBTreeSet<IdentityId>�An instruction with mediators has been created.eParameters: [`InstructionId`] of the instruction and the [`IdentityId`] of all mediators.DInstructionLocked�(IdentityId�4InstructionId�An instruction has been sucessfully locked for execution,Parameters:�- `IdentityId`: The [`IdentityId`] of the caller.�- `InstructionId`: The [`InstructionId`] of the instruction.|MandatoryReceiverAffirmationSet�(IdentityIdXAffirmationRequirementAn identity's mandatory receiver affirmation policy has been updated.LInstructionUnlocked�(IdentityId�4InstructionId�An instruction has been unlocked by a mediator.,Parameters:�- `IdentityId`: The [`IdentityId`] of the mediator.�- `InstructionId`: The [`InstructionId`] of the instruction.@FundsTransferred�(IdentityIdU,AssetHolderU,AssetHolder!FundlFunds have been transferred,Parameters:�- `IdentityId`: The [`IdentityId`] of the caller.�- `AssetHolder`: The source [`AssetHolder`] of the transfer.- `AssetHolder`: The destination [`AssetHolder`] of the transfer.�- `Fund`: The [`Fund`] being transferred.|The `Event` enum of this pallet�Lpolymesh_primitives(settlementVenueId0u64�Lpolymesh_primitives(settlement0VenueDetails8Vec<u8>�Lpolymesh_primitives(settlement$VenueTypeOther0DistributionSto Exchange�Lpolymesh_primitives(settlementLegId0u64�OptionTNoneSomeLpolymesh_primitives(settlement<ReceiptMetadata [u8; 32]�	 BTreeSetT!
OptionT�NoneSome�Lpolymesh_primitives(settlement8SettlementType,BlockNumberLSettleOnAffirmation4SettleOnBlock,BlockNumber0SettleManual,BlockNumber<SettleAfterLockLpolymesh_primitives(settlementLeg FungiblesenderU,AssetHolder receiverU,AssetHolder asset_id�AssetIdamountBalance,NonFungiblesenderU,AssetHolder receiverU,AssetHoldernfts�NFTs OffChain<sender_identity�(IdentityIdDreceiver_identity�(IdentityIdtickerQTickeramountBalanceLpolymesh_primitives(settlementXAffirmationRequirement$Automatic Required!Lpolymesh_primitives$portfolioFund,description�<FundDescriptionmemo�0Option<Memo>%Dpallet_statisticspalletEventT8StatTypesAdded�(IdentityId�AssetId)4Vec<StatType>hStat types added to asset.�(Caller DID, AssetId, Stat types)@StatTypesRemoved�(IdentityId�AssetId)4Vec<StatType>xStat types removed from asset.�(Caller DID, AssetId, Stat types)DAssetStatsUpdated�(IdentityId�AssetId- StatType=<Vec<StatUpdate>PAsset stats updated.�(Caller DID, AssetId, Stat type, Updates)hSetAssetTransferCompliance�(IdentityId�AssetIdUXVec<TransferCondition>�Set Transfer compliance rules for asset.�(Caller DID, AssetId, Transfer conditions)�TransferConditionExemptionsAdded�(IdentityId]hTransferConditionExemptKeye<Vec<IdentityId>Add `IdentityId`s exempt for transfer conditions matching exempt key.�(Caller DID, Exempt key, Entities)�TransferConditionExemptionsRemoved�(IdentityId]hTransferConditionExemptKeye<Vec<IdentityId>!Remove `IdentityId`s exempt for transfer conditions matching exempt key.�(Caller DID, Exempt key, Entities)|The `Event` enum of this pallet)--Lpolymesh_primitives(statistics StatType8operation_type1(StatOpType0claim_issuer5|Option<(ClaimType, IdentityId)>1Lpolymesh_primitives(statistics(StatOpTypeCountBalance5OptionT9NoneSome99�=AALpolymesh_primitives(statistics(StatUpdatekey2E(Stat2ndKeyvalueQ0Option<u128>ELpolymesh_primitives(statistics(Stat2ndKey,NoClaimStatClaimI$StatClaimILpolymesh_primitives(statistics$StatClaim(Accredited bool$Affiliate bool0JurisdictionMLOption<CountryCode>MOptionT9NoneSome9QOptionTNoneSomeUYYLpolymesh_primitivesLtransfer_complianceDTransferCondition@MaxInvestorCount0u64PMaxInvestorOwnership�(Percentage(ClaimCountI$StatClaim�(IdentityId0u64),Option<u64>8ClaimOwnershipI$StatClaim�(IdentityId�(Percentage�(Percentage]Lpolymesh_primitivesLtransfer_compliancehTransferConditionExemptKey asset_id�AssetIdop1(StatOpType(claim_typeaDOption<ClaimType>aOptionTNoneSomee(pallet_stopalletEventTDFundraiserCreated$agent_did�(IdentityId�Identity of the external agent who created the fundraiser.8offering_asset�AssetId�Asset being offered for sale in the fundraiser.4raising_asset�AssetId�Asset being accepted as payment in the fundraiser.4fundraiser_idi0FundraiserId�Unique identifier for the fundraiser.<fundraiser_namem8FundraiserName�Human-readable name of the fundraiser.(fundraiserqTFundraiser<T::Moment>�Complete fundraiser configuration.�A new fundraiser has been created.Y[agent_did, offering_asset, raising_asset, fundraiser_id, fundraiser_name, fundraiser] Invested0investor_did�(IdentityIddIdentity of the investor.8offering_asset�AssetIdXAsset being purchased.4fundraiser_idi0FundraiserId�Fundraiser that was invested in.4funding_asset�0FundingAsset�Type of funding used (on-chain or off-chain).<offering_amountBalance�Amount of offering asset purchased.0raise_amountBalancexAmount of raising asset spent.�An investor successfully invested in the fundraiser.m[investor_did, offering_asset, fundraiser_id, funding_asset, offering_amount, raise_amount]@FundraiserFrozen$agent_did�(IdentityId�Identity of the external agent who froze the fundraiser.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_idi0FundraiserIdlFundraiser that was frozen.�A fundraiser has been frozen, preventing new investments.�[agent_did, offering_asset, fundraiser_id]HFundraiserUnfrozen$agent_did�(IdentityId�Identity of the external agent who unfroze the fundraiser.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_idi0FundraiserIdtFundraiser that was unfrozen.�A fundraiser has been unfrozen, allowing new investments.�[agent_did, offering_asset, fundraiser_id]`FundraiserWindowModified$agent_did� EventDid�Identity of the external agent who modified the window.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_idi0FundraiserId�Fundraiser whose window was modified.$old_start0$T::MomentPPrevious start time.old_end)DOption<T::Moment>lPrevious end time (if any).$new_start0$T::Moment<New start time.new_end)DOption<T::Moment>XNew end time (if any).�A fundraiser's time window has been modified.I[agent_did, offering_asset, fundraiser_id, old_start, old_end, new_start, new_end]@FundraiserClosed$agent_did�(IdentityId�Identity of the external agent who closed the fundraiser.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_idi0FundraiserIdlFundraiser that was closed.�A fundraiser has been permanently closed.�[agent_did, offering_asset, fundraiser_id]�FundraiserOffchainFundingEnabled$agent_did�(IdentityId�Identity of the external agent who enabled off-chain funding.8offering_asset�AssetId�Asset associated with the fundraiser.4fundraiser_idi0FundraiserId�Fundraiser for which off-chain funding was enabled.tickerQTicker�Ticker symbol of the off-chain asset.�Off-chain funding has been enabled for a fundraiser.�[agent_did, offering_asset, fundraiser_id, ticker]|The `Event` enum of this palletiLpolymesh_primitivessto0FundraiserId0u64m(pallet_sto8FundraiserName8Vec<u8>q(pallet_sto(FundraiserMoment0,creator�(IdentityIdHoffering_portfolio
,PortfolioId8offering_asset�AssetIdDraising_portfolio
,PortfolioId4raising_asset�AssetIdtiersuLVec<FundraiserTier> venue_id�VenueIdstart0Momentend)8Option<Moment>status}@FundraiserStatusHminimum_investmentBalanceuyy(pallet_sto8FundraiserTiertotalBalancepriceBalance$remainingBalance}(pallet_sto@FundraiserStatusLiveFrozenClosed,ClosedEarly�(pallet_sto0FundingAssetOnChain�AssetId OffChainQTicker�<pallet_treasurypalletEventTPTreasuryDisbursement�(IdentityId�(IdentityId0T::AccountId0BalanceOf<T>�Disbursement to a target Identity.(treasury identity, target identity, target primary key, amount)hTreasuryDisbursementFailed�(IdentityId�(IdentityId0T::AccountId0BalanceOf<T>�Disbursement to a target Identity failed.(treasury identity, target identity, target primary key, amount)TTreasuryReimbursement�(IdentityId0BalanceOf<T>\Treasury reimbursement.d(source identity, amount)|The `Event` enum of this pallet�8pallet_utilitypalletEventT@BatchInterruptedindexu32errorh4DispatchErrorUBatch of dispatches did not complete fully. Index of first failing dispatch given, asHwell as the error.8BatchCompleted�Batch of dispatches completed fully with no error.`BatchCompletedWithErrors�Batch of dispatches completed but has errors.4ItemCompletedA single item within a Batch of dispatches has completed with no error.(ItemFailederrorh4DispatchErrorA single item within a Batch of dispatches has completed with error.0DispatchedAsresultm8DispatchResultXA call was dispatched.|The `Event` enum of this pallet�Xpallet_external_agentspalletEventT0GroupCreated� EventDid�AssetId]AGId�PExtrinsicPermissionslAn Agent Group was created.�(Caller DID, AG's AssetId, AG's ID, AG's permissions)\GroupPermissionsUpdated� EventDid�AssetId]AGId�PExtrinsicPermissions�An Agent Group's permissions was updated.�(Caller DID, AG's AssetId, AG's ID, AG's new permissions)(AgentAdded� EventDid�AssetIdY(AgentGroupLAn agent was added.�(Caller/Agent DID, Agent's AssetId, Agent's group)0AgentRemoved� EventDid�AssetId�(IdentityIdTAn agent was removed.�(Caller DID, Agent's AssetId, Agent's DID)0GroupChanged� EventDid�AssetId�(IdentityIdY(AgentGrouptAn agent's group was changed.(Caller DID, Agent's AssetId, Agent's DID, The new group of the agent)|The `Event` enum of this pallet�8pallet_relayerpalletEventT<ApprovedSubsidy user_key0T::AccountIdxThe user key to be subsidised.(paying_key0T::AccountId�The paying key that will subsidise the `user_key`.Linitial_polyx_limitBalance�The initial POLYX limit for this subsidy.�A `paying_key` has approved subsidy for a `user_key`.<AcceptedSubsidy user_key0T::AccountIdxThe user key being subsidised.(paying_key0T::AccountId�The paying key that is subsidising the `user_key`.Linitial_polyx_limitBalance�The initial POLYX limit for this subsidy.DAccepted subsidy.8RemovedSubsidy user_key0T::AccountId�The user key that was being subsidised.(paying_key0T::AccountId�The paying key that was subsidising the `user_key`.$remainingBalance�The remaining POLYX for this subsidy.@Removed subsidy.TRemovedPendingSubsidy user_key0T::AccountId�The user key that was being subsidised.(paying_key0T::AccountId�The paying key that was subsidising the `user_key`.Linitial_polyx_limitBalance�The initial POLYX limit for this subsidy.`Removed pending subsidy.DUpdatedPolyxLimit user_key0T::AccountIdxThe user key being subsidised.(paying_key0T::AccountId�The paying key that is subsidising the `user_key`.$remainingBalance�The new remaining POLYX for this subsidy.4old_remainingBalance�The old remaining POLYX for this subsidy.PUpdated polyx limit.8SubsidyDebited user_key0T::AccountIdxThe user key being subsidised.(paying_key0T::AccountId�The paying key that is subsidising the `user_key`.amountBalancepThe amount of POLYX debited.The subsidy fee has been used to pay for a transaction or protocol fee.$RelayedTxcaller0T::AccountIdtarget0T::AccountIdresultm8DispatchResultPRelayed transaction.|The `Event` enum of this pallet�@pallet_contractspalletEventT(0Instantiated deployer0T::AccountId contract0T::AccountId�Contract deployed by address at the specified address.(Terminated contract0T::AccountId�The contract that was terminated.,beneficiary0T::AccountId�The account that received the contracts remaining balancehContract has been removed.# Note=The only way for a contract to be removed and emitting this event is by callingD`seal_terminate`.(CodeStored$code_hash4T::Hash0deposit_held0BalanceOf<T> uploader0T::AccountId�Code with the specified hash has been stored.<ContractEmitted contract0T::AccountId�The contract that emitted the event.data8Vec<u8>5Data supplied by the contract. Metadata generated during contract compilation\is needed to decode it.�A custom event emitted by the contract.,CodeRemoved$code_hash4T::Hash@deposit_released0BalanceOf<T>remover0T::AccountId�A code with the specified hash was removed.LContractCodeUpdated contract0T::AccountId�The contract that has been updated.4new_code_hash4T::Hash�New code hash that was set for the contract.4old_code_hash4T::Hash�Previous code hash of the contract.xA contract's code was updated.Calledcaller�$Origin<T>tThe caller of the `contract`. contract0T::AccountIdtThe contract that was called.A contract was called either by a plain account or another contract.# Note1Please keep in mind that like all events this is only emitted for successful)calls. This is because on failure all storage changes including events are0rolled back.8DelegateCalled contract0T::AccountId!The contract that performed the delegate call and hence in whose contextpthe `code_hash` is executed.$code_hash4,CodeHash<T>�The code hash that was delegate called.�A contract delegate called a code hash.# Note1Please keep in mind that like all events this is only emitted for successful)calls. This is because on failure all storage changes including events are0rolled back.�StorageDepositTransferredAndHeldfrom0T::AccountIdto0T::AccountIdamount0BalanceOf<T>�Some funds have been transferred and held as storage deposit.�StorageDepositTransferredAndReleasedfrom0T::AccountIdto0T::AccountIdamount0BalanceOf<T>	�Some storage deposit funds have been transferred and released.|The `Event` enum of this pallet�@pallet_contractsOriginT�RootSigned0T::AccountId�`polymesh_runtime_developruntimeRuntime�Hpolymesh_contractspalletEventT8ApiHashUpdated�Api�0ChainVersion4,CodeHash<T>�Emitted when a contract starts supporting a new API upgrade.!Contains the [`Api`], [`ChainVersion`], and the bytes for the code hash.4SCRuntimeCall0T::AccountId�,ExtrinsicId�Emitted when a contract calls into the runtime.)Contains the account id set by the contract owner and the [`ExtrinsicId`].|The `Event` enum of this pallet�Hpolymesh_contractsApidescH[u8; 4]majoru32�Hpolymesh_contracts0ChainVersion0spec_versionu32(tx_versionu32�Hpolymesh_contracts<chain_extension,ExtrinsicIdu8u8�<pallet_preimagepalletEventTNotedhash4T::HashhA preimage has been noted.$Requestedhash4T::HashxA preimage has been requested.Clearedhash4T::HashlA preimage has ben cleared.|The `Event` enum of this pallet�(pallet_nftpalletEventTPNftCollectionCreated�(IdentityId�AssetId�<NFTCollectionId�Emitted when a new nft collection is created.HNFTHoldingsUpdated�(IdentityId�NFTs�LOption<AssetHolder>�LOption<AssetHolder>�PHoldingsUpdateReason�Emitted when NFTs were issued, redeemed or transferred.Contains the [`IdentityId`] of the receiver/issuer/redeemer, the [`NFTs`], the [`AssetHolder`] of the source, the [`AssetHolder`]�of the destination and the [`HoldingsUpdateReason`].|The `Event` enum of this pallet�Lpolymesh_primitivesnft<NFTCollectionId0u64��pallet_election_provider_multi_phasepalletEventT8SolutionStoredcompute�<ElectionComputeoriginIPOption<T::AccountId>0prev_ejected bool�A solution was stored with the given compute.QThe `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,Ythe stored solution was submitted in the signed phase by a miner with the `AccountId`.%Otherwise, the solution was stored either during the unsigned phase or byM`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to makeHroom for this one.DElectionFinalizedcompute�<ElectionComputescore�4ElectionScoreThe election has been finalized, with the given computation and score.8ElectionFailedLAn election failed.Not much can be said about which computes failed in the process. Rewardedaccount�<T as frame_system::Config>::AccountIdvalue0BalanceOf<T>%An account has been rewarded for their signed submission being finalized.Slashedaccount�<T as frame_system::Config>::AccountIdvalue0BalanceOf<T>!An account has been slashed for submitting an invalid signed submission.DPhaseTransitionedfrom�`Phase<BlockNumberFor<T>>to�`Phase<BlockNumberFor<T>>roundu32�There was a phase transition in a given round.|The `Event` enum of this pallet��pallet_election_provider_multi_phase<ElectionComputeOnChainSigned Unsigned Fallback$Emergency�Dsp_npos_elections4ElectionScore4minimal_stake<ExtendedBalance$sum_stake<ExtendedBalanceDsum_stake_squared<ExtendedBalance��pallet_election_provider_multi_phasePhaseBnOffSigned Unsigned�((bool, Bn)$Emergency� �Dpallet_migrationspalletEventT 8UpgradeStarted(migrationsu32�The number of migrations that this upgrade contains.AThis can be used to design a progress indicator in combination with counting the�`MigrationCompleted` and `MigrationSkipped` events.hA Runtime upgrade started.�Its end is indicated by `UpgradeCompleted` or `UpgradeFailed`.@UpgradeCompleted�The current runtime upgrade completed.This implies that all of its migrations completed successfully as well.4UpgradeFailed\Runtime upgrade failed.�This is very bad and will require governance intervention.@MigrationSkippedindexu32)The index of the skipped migration within the [`Config::Migrations`] list.	A migration was skipped since it was already executed in the past.DMigrationAdvancedindexu32	The index of the migration within the [`Config::Migrations`] list.tookDBlockNumberFor<T>�The number of blocks that this migration took so far.\A migration progressed.HMigrationCompletedindexu32	The index of the migration within the [`Config::Migrations`] list.tookDBlockNumberFor<T>�The number of blocks that this migration took so far.XA Migration completed.<MigrationFailedindexu32	The index of the migration within the [`Config::Migrations`] list.tookDBlockNumberFor<T>�The number of blocks that this migration took so far.LA Migration failed.MThis implies that the whole upgrade failed and governance intervention is required.<HistoricCleared,next_cursor�<Option<Vec<u8>>�Should be passed to `clear_historic` in a successive call.�The set of historical migrations has been cleared.|The `Event` enum of this pallet�hpallet_confidential_assetspalletEventThDAccountRegistered(caller_did�(IdentityIdHCaller's identity.account�@AccountPublicKey�Confidential account (public key)8encryption_key�LEncryptionPublicKey�Confidential account (encryuption key)�A new Confidential account has been registered.\EncryptionKeyRegistered(caller_did�(IdentityIdHCaller's identity.8encryption_key�LEncryptionPublicKey<Encryption key.�An encryption key has been registered.0AssetCreated (caller_did�(IdentityIdHCaller's identity. asset_idLConfidentialAssetId$Asset ID.$mediators�0MediatorKeys(Mediators. auditors�,AuditorKeys$Auditors.nameName,Asset name.symbolSymbol4Asset symbol. decimalsu8<Asset decimals.data	�BoundedVec<u8, T::MaxAssetDataLength>TExtra asset metadata.�A new Confidential asset has been created.0AssetUpdated(caller_did�(IdentityIdHCaller's identity. asset_idLConfidentialAssetId$Asset ID.$mediators�0MediatorKeys(Mediators. auditors�,AuditorKeys$Auditors.�A Confidential asset has been updated.XAccountAssetRegistered(caller_did�(IdentityIdHCaller's identity.account�@AccountPublicKey�Confidential account (public key) asset_idLConfidentialAssetIdXConfidential asset ID.dAccount asset registered.,AssetMinted(caller_did�(IdentityIdHCaller's identity. asset_idLConfidentialAssetIdXConfidential asset ID.amountBalance8Amount minted.0total_supplyBalancelTotal supply after minting.account�@AccountPublicKey�Confidential account (public key)hMinted Confidential asset.DFeeAccountUpdated(caller_did�(IdentityIdHCaller's identity.account�@AccountPublicKey�Confidential account (public key)<is_registration boolhIs registration or top-up.amount0BalanceOf<T>If this was a registration then `amount` is the initial top-up amount.PFee account updated.This event is emitted for both registration and top-up of fee accounts.DSettlementCreated8settlement_ref
4SettlementRefTSettlement reference.memoBoundedVec<u8,<PolymeshLimits as DartLimits>::MaxSettlementMemoLength>@Settlement memo.@asset_root_blockDBlockNumberFor<T>lAsset CurveTree root_block.legs-BoundedVec<LegEncrypted,<PolymeshLimits as DartLimits>::
MaxSettlementLegs>\Legs in the settlement.LSettlement created.8SenderAffirmedleg_ref%LegRefdSettlement Leg reference.hSender has affirmed a leg.@ReceiverAffirmedleg_ref%LegRefdSettlement Leg reference.	pReceiver has affirmed a leg.@MediatorAffirmedleg_ref%LegRefdSettlement Leg reference.$key_indexu8LMediator key index.
pMediator has affirmed a leg.@MediatorRejectedleg_ref%LegRefdSettlement Leg reference.$key_indexu8LMediator key index.pMediator has rejected a leg.PSenderCounterUpdatedleg_ref%LegRefdSettlement Leg reference.\Sender updated counter.dSenderAffirmationRevertedleg_ref%LegRefdSettlement Leg reference.
�Sender has reverted their affirmation for a leg.lReceiverAffirmationRevertedleg_ref%LegRefdSettlement Leg reference.�Receiver has reverted their affirmation for a leg.<ReceiverClaimedleg_ref%LegRefdSettlement Leg reference.pReceiver has claimed assets.\SettlementStatusUpdated8settlement_ref
4SettlementRefTSettlement reference.status)@SettlementStatustNew status of the settlement.hSettlement status updated.`AccountStateLeafInserted(leaf_index0$LeafIndexLThe new leaf index.Haccount_commitment-XAccountStateCommitment�The new account state commitment.�Account curve tree leaf inserted.�This curve tree is append-only, so we only store the new leaf.lFeeAccountStateLeafInserted(leaf_index0$LeafIndexLThe new leaf index.Xfee_account_commitment1dFeeAccountStateCommitment�The new fee account state commitment.�Fee account curve tree leaf inserted.�This curve tree is append-only, so we only store the new leaf.TAssetStateLeafUpdated(leaf_index0$LeafIndexLThe new leaf index.(asset_leaf5$AssetLeafLThe new asset leaf.�An asset state leaf has been updated.�This curve tree is mutable, so we can update existing leaves.dAssetCurveTreeRootUpdatedroot9lTimestampedAssetTreeRoot<T>4The new root.xAsset curve tree root updated.lAccountCurveTreeRootUpdatedrootUtTimestampedAccountTreeRoot<T>4The new root.�Account curve tree root updated.xFeeAccountCurveTreeRootUpdatedroot]�TimestampedFeeAccountTreeRoot<T>4The new root.�Fee account curve tree root updated.LFeeAccountDepositedsender0T::AccountId<Sender account.amount0BalanceOf<T>DAmount deposited.�POLYX deposited into the fee account.LFeeAccountWithdrawn receiver0T::AccountIdDReceiver account.amount0BalanceOf<T>DAmount withdrawn.�POLYX withdrawn from the fee account.PRelayerBatchedProofsrelayer0T::AccountId@Relayer account.amount0BalanceOf<T>,Fee amount.(batch_hashe$ProofHashhBatch proofs context hash.0batch_resultm8DispatchResult8Batch results.�Relayer submitted batched proofs including fee payment.|The `Event` enum of this pallet�4polymesh_dartbpkeys@AccountPublicKey�@CompressedAffine�4polymesh_dartbpencode@CompressedAffine<CompressedPoint�4polymesh_dartbpkeysLEncryptionPublicKey�@CompressedAffine�Lbounded_collectionsDbounded_btree_map<BoundedBTreeMapK�V�S�8BTreeMap<K, V>� BTreeMapK�V��������Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetT�S�,BTreeSet<T>� BTreeSetT����Lpolymesh_primitiveserc20Name�StringLpolymesh_primitiveserc20Symbol�String	Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>
4polymesh_dartbpleg4SettlementRef [u8; 32]Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>Lbounded_collections,bounded_vec(BoundedVecTS!Vec<T>4polymesh_dartbpleg0LegEncryptedPWrappedLegEncryption@polymesh_dart_bpleg4LegEncryption8!%4polymesh_dartbplegLegRef(settlement
4SettlementRefleg_idLegId)hpallet_confidential_assets(settlement@SettlementStatusPending Executed Rejected$Finalized-4polymesh_dartbpaccountXAccountStateCommitment�@CompressedAffine14polymesh_dartbpfeedFeeAccountStateCommitment�@CompressedAffine54polymesh_dart(curve_treecommonLCompressedLeafValueCpoint�@CompressedAffine9hpallet_confidential_assets(curve_treeLTimestampedTreeRootTRoot=root=Root$timestampQTCurveTreeTimestamp<T>=4polymesh_dart(curve_tree\CompressedCurveTreeRootC,commitmentsAT[CompressedAffine; M]@x_coord_childrenEtVec<[CompressedBaseField; M]>height$NodeLevelA�EIIMM4polymesh_dartbpencodeLCompressedBaseField$BaseFieldQhpallet_confidential_assets(curve_treeHCurveTreeTimestampT$timestamp0$T::Moment0block_numberDBlockNumberFor<T>Uhpallet_confidential_assets(curve_treeLTimestampedTreeRootTRootYrootYRoot$timestampQTCurveTreeTimestamp<T>Y4polymesh_dart(curve_tree\CompressedCurveTreeRootC,commitmentsAT[CompressedAffine; M]@x_coord_childrenEtVec<[CompressedBaseField; M]>height$NodeLevel]hpallet_confidential_assets(curve_treeLTimestampedTreeRootTRootarootaRoot$timestampQTCurveTreeTimestamp<T>a4polymesh_dart(curve_tree\CompressedCurveTreeRootC,commitmentsAT[CompressedAffine; M]@x_coord_childrenEtVec<[CompressedBaseField; M]>height$NodeLevele4polymesh_dartbpbatched$ProofHash [u8; 32]i4pallet_revivepalletEventT<ContractEmitted contractmH160�The contract that emitted the event.data8Vec<u8>5Data supplied by the contract. Metadata generated during contract compilation\is needed to decode it.topicsq$Vec<H256>�A list of topics used to index the event.�Number of topics is capped by [`limits::NUM_EVENT_TOPICS`].�A custom event emitted by the contract.0Instantiated deployermH160 contractmH160�Contract deployed by deployer at the specified address.HEthExtrinsicRevert8dispatch_errorh4DispatchError�Emitted when an Ethereum transaction reverts.)Ethereum transactions always complete successfully at the extrinsic level,�as even reverted calls must store their `ReceiptInfo`.%To distinguish reverted calls from successful ones, this event is emitted�for failed Ethereum transactions.|The `Event` enum of this palletm<primitive_typesH160 [u8; 20]q4u0frame_systemPhase8ApplyExtrinsicu320Finalization8Initializationy�}0frame_systemXLastRuntimeUpgradeInfo0spec_version�Lcodec::Compact<u32>$spec_name�DCow<'static, str>��CowT���0frame_system`CodeUpgradeAuthorizationT$code_hash4T::Hash4check_version bool�0frame_systempalletCallT,remarkremark8Vec<u8>hMake some on-chain remark.�Can be executed by every `origin`.8set_heap_pagespages0u64�Set the number of pages in the WebAssembly environment's heap. set_codecode8Vec<u8>dSet the new runtime code.\set_code_without_checkscode8Vec<u8>Set the new runtime code without doing any checks of the given `code`.QNote that runtime upgrades will not run if this is called with a not-increasing spec version!,set_storageitems�4Vec<KeyValue>hSet some items of storage.0kill_storagekeys� Vec<Key>tKill some items from storage.,kill_prefixprefix8Keysubkeysu32Kill all storage items with a key that starts with the given prefix.9**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.Dremark_with_eventremark8Vec<u8>�Make some on-chain remark and emit event.Dauthorize_upgrade$code_hash4T::Hash	aAuthorize an upgrade to a given `code_hash` for the runtime. The runtime can be suppliedlater.|This call requires Root origin.�authorize_upgrade_without_checks$code_hash4T::Hash
 aAuthorize an upgrade to a given `code_hash` for the runtime. The runtime can be suppliedlater.]WARNING: This authorizes an upgrade that will take place without any safety checks, forYexample 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.`apply_authorized_upgradecode8Vec<u8>$UProvide the preimage (runtime binary) `code` for an upgrade that has been authorized.IIf the authorization required a version check, this call will ensure the spec name�remains unchanged and that the spec version has increased.YDepending on the runtime's `OnSetCode` configuration, this function may directly applythe new `code` in the same block or attempt to schedule the upgrade.`All origins are allowed.
Contains a variant per dispatchable extrinsic that this pallet has.���88�8�0frame_systemlimits0BlockWeights(base_block(Weight$max_block(Weight$per_class��PerDispatchClass<WeightsPerClass>�4frame_support dispatch@PerDispatchClassT�normal�T,operational�T$mandatory�T�0frame_systemlimits<WeightsPerClass8base_extrinsic(Weight4max_extrinsic�8Option<Weight>$max_total�8Option<Weight> reserved�8Option<Weight>�OptionT(NoneSome(�0frame_systemlimits,BlockLengthmax�TPerDispatchClass<u32><max_header_size�,Option<u32>�4frame_support dispatch@PerDispatchClassTnormalT,operationalT$mandatoryT�(sp_weights<RuntimeDbWeightread0u64write0u64�(sp_version8RuntimeVersion $spec_name�DCow<'static, str>$impl_name�DCow<'static, str>Dauthoring_versionu320spec_versionu320impl_versionu32apis�ApisVecLtransaction_versionu328system_versionu8�CowT��������0frame_systempalletErrorT$<InvalidSpecNameThe name of specification does not match between the current runtimePand the new runtime.hSpecVersionNeedsToIncreaseAThe specification version is not allowed to decrease between the current runtimePand the new runtime.tFailedToExtractRuntimeVersion�Failed to extract the runtime version from the new runtime.	Either calling `Core_version` or decoding `RuntimeVersion` failed.LNonDefaultComposite�Suicide called when the account has non-default composite data.<NonZeroRefCount5There is a non-zero reference count preventing the account from being purged.0CallFiltered�The origin filter prevent the call to be dispatched.lMultiBlockMigrationsOngoingUA multi-block migration is ongoing and prevents the current code from being replaced.DNothingAuthorizedXNo upgrade authorized.0Unauthorized�The submitted code is not authorized.lError for the System pallet�Lbounded_collections@weak_bounded_vec8WeakBoundedVecT�S�Vec<T>��0�Dsp_consensus_babeappPublic<sr25519::Public���Hsp_consensus_slotsSlot0u64�Dsp_consensus_babedigestsPNextConfigDescriptorV1c�((u64, u64)4allowed_slots�0AllowedSlots�00�Dsp_consensus_babe0AllowedSlots0PrimarySlotstPrimaryAndSecondaryPlainSlotslPrimaryAndSecondaryVRFSlots�Lbounded_collections,bounded_vec(BoundedVecTS�Vec<T>��OptionT�NoneSome��Dsp_consensus_babedigests$PreDigestPrimary@PrimaryPreDigest8SecondaryPlain	\SecondaryPlainPreDigest0SecondaryVRF
TSecondaryVRFPreDigestDsp_consensus_babedigests@PrimaryPreDigest<authority_indexTsuper::AuthorityIndexslot�Slot4vrf_signature0VrfSignaturesp_coresr25519vrf0VrfSignature(pre_output0VrfPreOutputproof5 VrfProof	Dsp_consensus_babedigests\SecondaryPlainPreDigest<authority_indexTsuper::AuthorityIndexslot�Slot
Dsp_consensus_babedigestsTSecondaryVRFPreDigest<authority_indexTsuper::AuthorityIndexslot�Slot4vrf_signature0VrfSignatureDsp_consensus_babeXBabeEpochConfigurationc�((u64, u64)4allowed_slots�0AllowedSlotsLbounded_collections,bounded_vec(BoundedVecTSVec<T>0!,pallet_babepalletCallTLreport_equivocationHequivocation_proof%�Box<EquivocationProof<HeaderFor<T>>><key_owner_proof-@T::KeyOwnerProof	Report authority equivocation/misbehavior. This method will verifythe equivocation proof and validate the given key ownership proof
against the extracted offender. If both are valid, the offence will0be reported.preport_equivocation_unsignedHequivocation_proof%�Box<EquivocationProof<HeaderFor<T>>><key_owner_proof-@T::KeyOwnerProof 	Report authority equivocation/misbehavior. This method will verifythe equivocation proof and validate the given key ownership proof
against the extracted offender. If both are valid, the offence will0be reported.
This extrinsic must be called unsigned and it is expected that onlyblock authors will call it (validated in `ValidateUnsigned`), as suchif the block author is defined it will be defined as the equivocation$reporter.Hplan_config_changeconfig�PNextConfigDescriptor]Plan an epoch config change. The epoch config change is recorded and will be enacted onQthe next call to `enact_epoch_change`. The config will be activated one epoch after.YMultiple calls to this method will replace any existing planned config change that hadTnot been enacted yet.
Contains a variant per dispatchable extrinsic that this pallet has.%Hsp_consensus_slotsDEquivocationProofHeader)Id� offender�Idslot�Slot0first_header)Header4second_header)Header)(sp_runtimegenericheaderHeaderNumberHash,parent_hash40Hash::Outputnumber�Number(state_root40Hash::Output<extrinsics_root40Hash::Outputdigest<Digest-(sp_session<MembershipProofsession0SessionIndex(trie_nodes�0Vec<Vec<u8>><validator_count8ValidatorCount1,pallet_babepalletErrorT`InvalidEquivocationProof1An equivocation proof provided as part of an equivocation report is invalid.`InvalidKeyOwnershipProof1A key ownership proof provided as part of an equivocation report is invalid.XDuplicateOffenceReportA given equivocation report is valid but already previously reported.PInvalidConfiguration�Submitted configuration is invalid.�The `Error` enum of this pallet.5@pallet_timestamppalletCallTsetnow,$T::MomentLTSet the current time.UThis 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.AThe timestamp should be greater than the previous one by the amount specified byh[`Config::MinimumPeriod`].�The dispatch origin for this call must be _None_.QThis dispatch class is _Mandatory_ to ensure it gets executed in the block. Be awareQthat changing the complexity of this call could result exhausting the resources in a�block to execute any other calls.4## Complexity1- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)U- 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)`.
Contains a variant per dispatchable extrinsic that this pallet has.9 =8pallet_indicespalletCallTclaimindex<T::AccountIndex0�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.4## Complexity$- `O(1)`. transfernewAPAccountIdLookupOf<T>index<T::AccountIndex0]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.4## Complexity$- `O(1)`.freeindex<T::AccountIndex0�Free up an index owned by the sender.]Payment: Any previous deposit placed for the index is unreserved in the sender account.UThe 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.4## Complexity$- `O(1)`.8force_transfernewAPAccountIdLookupOf<T>index<T::AccountIndexfreeze bool4UForce 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.A- `freeze`: if set to `true`, will freeze the index so it cannot be transferred.�Emits `IndexAssigned` if successful.4## Complexity$- `O(1)`.freezeindex<T::AccountIndex0AFreeze an index so it will always point to the sender account. This consumes the deposit.YThe dispatch origin for this call must be _Signed_ and the signing account must have alnon-frozen account `index`.�- `index`: the index to be frozen in place.�Emits `IndexFrozen` if successful.4## Complexity$- `O(1)`.0poke_depositindex<T::AccountIndex(�Poke the deposit reserved for an index.YThe dispatch origin for this call must be _Signed_ and the signing account must have alnon-frozen account `index`.YThe transaction fees is waived if the deposit is changed after poking/reconsideration.�- `index`: the index whose deposit is to be poked/reconsidered.�Emits `DepositPoked` if successful.
Contains a variant per dispatchable extrinsic that this pallet has.A(sp_runtime0multiaddress0MultiAddress$AccountId0AccountIndexId$AccountIdIndex�0AccountIndexRaw8Vec<u8>$Address32 [u8; 32]$Address20 [u8; 20]E8pallet_indicespalletErrorT,NotAssigned�The index was not already assigned. NotOwner�The index is assigned to another account.InUsepThe index was not available.,NotTransfer�The source and destination accounts are identical.$Permanent�The index is permanent and may not be freed/changed.�The `Error` enum of this pallet.ILbounded_collections@weak_bounded_vec8WeakBoundedVecTMSUVec<T>M<pallet_balancestypes,BalanceLockBalanceid�8LockIdentifieramountBalancereasonsQReasonsQ<pallet_balancestypesReasonsFeeMiscAllUMYLbounded_collections,bounded_vec(BoundedVecT]SaVec<T>]<pallet_balancestypes,ReserveDataDReserveIdentifier�Balanceid�DReserveIdentifieramountBalancea]eLbounded_collections,bounded_vec(BoundedVecTiSmVec<T>i4frame_supporttraitstokensmisc IdAmountId�Balanceid�IdamountBalancemiqLbounded_collections,bounded_vec(BoundedVecTuSyVec<T>u4frame_supporttraitstokensmisc IdAmountId�Balanceid�IdamountBalanceyu}<pallet_balancespalletCallTI(Ptransfer_allow_deathdestAPAccountIdLookupOf<T>value�(T::Balance�Transfer some liquid free balance to another account.5`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.8force_transfersourceAPAccountIdLookupOf<T>destAPAccountIdLookupOf<T>value�(T::BalanceaExactly as `transfer_allow_death`, except the origin must be root and the source accountDmay be specified.Ltransfer_keep_alivedestAPAccountIdLookupOf<T>value�(T::BalanceYSame 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.transfer0transfer_alldestAPAccountIdLookupOf<T>(keep_alive bool<Transfer the entire transferable balance from the caller account.YNOTE: This function only attempts to transfer _transferable_ balances. This means thataany 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,Eyou 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.Y- `keep_alive`: A boolean to determine if the `transfer_all` operation should send allM  of the funds the account has, causing the sender account to be killed (false), orY  transfer everything except at least the existential deposit, which will guarantee to�  keep the sender account alive (true).<force_unreservewhoAPAccountIdLookupOf<T>amount(T::Balance�Unreserve some balance from a user by force.lCan only be called by ROOT.@upgrade_accountswho!DVec<T::AccountId> pUpgrade a specified account.t- `origin`: Must be `Signed`.�- `who`: The account to be upgraded.UThis will waive the transaction fee if at least all but 10% of the accounts needed toAbe upgraded. (We let some not have to be upgraded just in order to allow for theXpossibility of churn).Dforce_set_balancewhoAPAccountIdLookupOf<T> new_free�(T::Balance�Set the regular balance of a given account.�The dispatch origin for this call is `root`.lforce_adjust_total_issuance$direction�LAdjustmentDirectiondelta�(T::Balance	�Adjust the total issuance in a saturating way.�Can only be called by root and always needs a positive `delta`.$# Exampleburnvalue�(T::Balance(keep_alive bool
�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.QUnlike sending funds to a _burn_ address, which merely makes the funds inaccessible,!this `burn` operation will reduce total issuance by the amount _burned_.Htransfer_with_memodestAPAccountIdLookupOf<T>value�(T::Balancememo�<Option<T::Memo>(X�Transfer some liquid free balance to another account.`transfer` will set the `FreeBalance` of the sender and receiver.If the sender's account is below the existential deposit as a result�of the transfer, the account will be reaped.The dispatch origin for this call must be `Signed` by the transactor.4## Complexitya- Dependent on arguments but not critical, given proper implementations for input config�  types. See related functions below.1- It contains a limited number of reads and writes internally and no complex8  computation.HRelated functions:M  - `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.
Contains a variant per dispatchable extrinsic that this pallet has.�<pallet_balancestypesLAdjustmentDirection Increase Decrease�<pallet_balancespalletErrorTI<8VestingBalance�Vesting balance too high to send value.TLiquidityRestrictions�Account liquidity restrictions prevent withdrawal.LInsufficientBalancexBalance too low to send value.HExistentialDeposit�Value too low to create account due to existential deposit.4Expendability�Transfer/payment would kill account.\ExistingVestingSchedule�A vesting schedule already exists for this account.,DeadAccount�Beneficiary account must pre-exist.<TooManyReserves�Number of named reserves exceed `MaxReserves`.0TooManyHolds�Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`.8TooManyFreezes	�Number of freezes exceed `MaxFreezes`.LIssuanceDeactivated
The issuance cannot be modified since it is already deactivated.$DeltaZerodThe delta cannot be zero.XLockIdentifierNotFounddLock Identifier not Found Overflow
@Balance Overflow@MaxLocksExceededHMax Locks Exceeded�The `Error` enum of this pallet.�4sp_arithmetic,fixed_point$FixedU128u128�hpallet_transaction_payment Releases$V1AncientV2�4frame_supporttraitsstorageNoDropT��T�4frame_supporttraitstokens fungible$imbalance$ImbalanceBOnDrop8OppositeOnDropamountB�Lpolymesh_primitives identity$DidRecord$AccountId,primary_keyIDOption<AccountId>����<pallet_identitytypes,Claim1stKeytarget�(IdentityId(claim_type$ClaimType�<pallet_identitytypes,Claim2ndKeyissuer�(IdentityIdscopeA4Option<Scope>�Lpolymesh_primitives4secondary_key$KeyRecord$AccountId(PrimaryKey�(IdentityId0SecondaryKey�(IdentityIdDMultiSigSignerKey$AccountId����0�Lpolymesh_primitives4secondary_key$Signatory$AccountId Identity�(IdentityIdAccount$AccountId�Lpolymesh_primitives4authorization4Authorization$AccountIdMoment0Hauthorization_dataMpAuthorizationData<AccountId>4authorized_by�(IdentityIdexpiry)8Option<Moment>auth_id0u64countu32��0�<pallet_identitypalletCallTT@cdd_register_did8target_account0T::AccountId8secondary_keys�|Vec<SecondaryKey<T::AccountId>> �Register `target_account` with a new Identity.$# Failuree- `origin` has to be an active DID registrar. Inactive DID registrars cannot register new,identities.]- `target_account` (primary key of the new Identity) can be linked to just one and only4one identity.�- External secondary keys can be linked to just one identity.Haccept_primary_key@rotation_auth_id0u640eCall this with the new primary key. By invoking this method, caller accepts authorizationeto become the new primary key of the issuing identity. If a CDD service provider approved%this change (or this is not required), primary key of the DID is updated.]The caller (new primary key) must be either a secondary key of the issuing identity, ordunlinked to any identity.]Differs from rotate_primary_key_to_secondary in that it will unlink the old primary key�instead of leaving it as a secondary key.,# Arguments)* `rotation_auth_id` Authorization from the owner who initiated the changePjoin_identity_as_keyauth_id0u64�Join an identity as a secondary key.Tleave_identity_as_key�Leave the secondary key's identity.$add_claimtarget�(IdentityIdclaim-Claimexpiry)DOption<T::Moment>�Adds a new claim record or edits an existing one.�Only called by did_issuer's secondary key.0revoke_claimtarget�(IdentityIdclaim-Claim�Marks the specified claim as revoked.Tfreeze_secondary_keys�It disables all secondary keys at `did` identity. # Errors\unfreeze_secondary_keys	�Re-enables all secondary keys of the caller's identity.Dadd_authorizationtarget�\Signatory<T::AccountId>dataM|AuthorizationData<T::AccountId>expiry)DOption<T::Moment>
XAdds an authorization.Premove_authorizationtarget�\Signatory<T::AccountId>auth_id0u64@auth_issuer_pays booldRemoves an authorization.}`_auth_issuer_pays` determines whether the issuer of the authorisation pays the transaction fee@gc_add_cdd_claimtarget�(IdentityIdEAssuming this is executed by the GC voting majority, adds a new cdd claim record.Lgc_revoke_cdd_claimtarget�(IdentityId
iAssuming this is executed by the GC voting majority, removes an existing cdd claim record.Trevoke_claim_by_indextarget�(IdentityId(claim_type$ClaimTypescopeA4Option<Scope>�Revokes a specific claim using its [Claim Unique Index](/pallet_identity/index.html#claim-unique-index) composed by `target`,h`claim_type`, and `scope`.Please note that `origin` must be the issuer of the target claim.|rotate_primary_key_to_secondaryauth_id0u644eCall this with the new primary key. By invoking this method, caller accepts authorizationeto become the new primary key of the issuing identity. If a CDD service provider approved)this change, (or this is not required), primary key of the DID is updated.]The caller (new primary key) must be either a secondary key of the issuing identity, ordunlinked to any identity.aDiffers from accept_primary_key in that it will leave the old primary key as a secondary�key with the permissions specified in the corresponding RotatePrimaryKeyToSecondary authorization�instead of unlinking the old primary key.,# Arguments* `auth_id` Authorization from the owner who initiated the change�add_secondary_keys_with_authorization<additional_keys��Vec<SecondaryKeyWithAuth<T::AccountId>>(expires_at0$T::Moment4�Adds secondary keys to target identity `id`.9Keys are directly added to identity because each of them has an authorization.,# Arguments�* `origin` which must be the primary key of the identity `id`.�* `additional_keys` which includes secondary keys,�  coupled with authorization data, to add to target identity.�* `expires_at` expiration time for the authorizations. # Errors�* Can only called by primary key owner.�* Keys should be able to linked to any identity.tset_secondary_key_permissionskey0T::AccountIdperms�,Permissions�Sets permissions for an specific `target_key` key.5Only the primary key of an identity is able to set secondary key permissions.Tremove_secondary_keys8keys_to_remove!DVec<T::AccountId>�Removes specified secondary keys of a DID if present. # Errors�The extrinsic can only called by primary key owner.hregister_custom_claim_typety8Vec<u8>lRegister custom claim type. # ErrorsI* `CustomClaimTypeAlreadyExists` The type that is being registered already exists.�* `CounterOverflow` CustomClaimTypeId has overflowed.�* `TooLong` The type being registered is too lang.dcdd_register_did_with_cdd8target_account0T::AccountId8secondary_keys�|Vec<SecondaryKey<T::AccountId>>expiry)DOption<T::Moment> YRegister `target_account` with a new Identity and issue a CDD claim with a blank CddId$# Failuree- `origin` has to be an active DID registrar. Inactive DID registrars cannot register new,identities.]- `target_account` (primary key of the new Identity) can be linked to just one and only4one identity.�- External secondary keys can be linked to just one identity.0register_did8target_account0T::AccountId4�Register a new DID for the target account.�Caller must be a DID registrar (formerly CDD provider).
No CDD claim is added - DID existence is sufficient for onboarding.�Note: This extrinsic does NOT support secondary keys.
Use the deprecated `cdd_register_did` if secondary keys are needed.$# Failuree- `origin` has to be an active DID registrar. Inactive DID registrars cannot register new,identities.]- `target_account` (primary key of the new Identity) can be linked to just one and only4one identity.Dself_register_did$�Register for a new DID for the caller's account.!This is callable by any account that is not already linked to an identity, and will create a new DID with the caller as the primary key.�This allows users to self onboard without needing to go through a DID registrar (formerly CDD provider).
No CDD claim is added - DID existence is sufficient for onboarding. # Errors�- Caller must not already have an identity.
Contains a variant per dispatchable extrinsic that this pallet has.���Lpolymesh_primitives identityPSecondaryKeyWithAuth$AccountId4secondary_key�\SecondaryKey<AccountId>8auth_signature�H512�<primitive_typesH5125 [u8; 64]�<pallet_identitypalletErrorT�4AlreadyLinked�One secondary or primary key can only belong to one DID<MissingIdentityxCaller is missing an identity.0Unauthorized�Signatory is not pre authorized by the identityDInvalidAccountKey�Account Id cannot be extracted from signer`UnAuthorizedDidRegistrarOnly DID registrars (formerly CDD service providers) are allowed.tInvalidAuthorizationFromOwner�An invalid authorization from the owner.�InvalidAuthorizationFromDidRegistrar�An invalid authorization from the DID registrar.hNotDidRegistrarAttestation�Attestation was not by a DID registrar.pAuthorizationsNotForSameDids�Authorizations are not for the same DID.LDidMustAlreadyExist	lThe DID must already exist.PAuthorizationExpired
�The offchain authorization has expired.DTargetDidInactive�The target DID does not exist or is locked.lAuthorizationHasBeenRevoked�Authorization has been explicitly revoked.tInvalidAuthorizationSignature
�An invalid authorization signature.4KeyNotAllowed�This key is not allowed to execute a given operation.4NotPrimaryKeyaOnly the primary key is allowed to revoke an Identity Signatory off-chain authorization.<DidDoesNotExist\The DID does not exist.@DidAlreadyExists\The DID already exists.xSecondaryKeysContainPrimaryKey�The secondary keys contain the primary key.DFailedToChargeFee�Couldn't charge fee for the transaction.(NotASigner�Signer is not a secondary key of the provided identitylCannotDecodeSignerAccountIdCannot convert a `T::AccountId` to `AnySignature::Signer::AccountId`.TAccountKeyIsBeingUsed�The account key is being used, it can't be unlinked.HCustomScopeTooLonglA custom scope is too long.�It can at most be `32` characters long.pCustomClaimTypeAlreadyExists�The custom claim type trying to be registered already exists.lCustomClaimTypeDoesNotExist�The custom claim type does not exist.DClaimDoesNotExistTClaim does not exist.0DuplicateKey�The same key was included multiple times.tExceptNotAllowedForExtrinsics�Cannot use Except when specifying extrinsic permissions.hExceededNumberOfGivenAuths�Maximum number of given authorizations was exceeded.PBadAuthorizationTypemThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.PInvalidAuthorizationAuth identified by an `auth_id` for a given `target` does not exist.The `target` might be wrong or the `auth_id` was never created at all.lUnauthorizedCallerFrozenDid TFrozen secondary key.tUnauthorizedCallerDidInactive!�The DID does not exist or is locked.�UnauthorizedCallerMissingPermissions"�The key does not have permissions to execute the extrinsic.�IdentityNotFoundForAccountPortfolio#�No did was found for the account key.�The `Error` enum of this pallet.���Lpolymesh_primitivestraitsgroup8InactiveMemberMoment0id�(IdentityId8deactivated_at0Momentexpiry)8Option<Moment>�0pallet_grouppalletCallTI`set_active_members_limitlimit,MemberCount5Change this group's limit for how many concurrent active members they may be.,# Arguments
* `limit` - the number of active members there may be concurrently.8disable_memberwho�(IdentityIdexpiry)DOption<T::Moment>at)DOption<T::Moment>@�Disables a member at specific moment.APlease note that if member is already revoked (a "valid member"), its revocationltime-stamp will be updated.MAny disabled member should NOT allow to act like an active member of the group. For]instance, a disabled CDD member should NOT be able to generate a CDD claim. However anygenerated claim issued before `at` would be considered as a valid one.QIf you want to invalidate any generated claim, you should use `Self::remove_member`.,# Arguments|* `at` - Revocation time-stamp.�* `who` - Target member of the group.U* `expiry` - Time-stamp when `who` is removed from CDD. As soon as it is expired, theQgenerated claims will be "invalid" as `who` is not considered a member of the group.(add_memberwho�(IdentityId9Adds a member `who` to the group. May only be called from `AddOrigin` or root.,# Arguments�* `origin` - Origin representing `AddOrigin` or root�* `who` - IdentityId to be added to the group.4remove_memberwho�(IdentityId(QRemoves a member `who` from the set. May only be called from `RemoveOrigin` or root.AAny claim previously generated by this member is not valid as a group claim. ForYinstance, if a CDD member group generated a claim for a target identity and then it isaremoved, that claim will be invalid.  In case you want to keep the validity of generated�claims, you have to use `Self::disable_member` function,# Arguments�* `origin` - Origin representing `RemoveOrigin` or root�* `who` - IdentityId to be removed from the group.,swap_memberremove�(IdentityIdadd�(IdentityId �Swaps out one member `remove` for another member `add`.�May only be called from `SwapOrigin` or root.,# Arguments�* `origin` - Origin representing `SwapOrigin` or root�* `remove` - IdentityId to be removed from the group.�* `add` - IdentityId to be added in place of `remove`.4reset_membersmemberse<Vec<IdentityId>)Changes the membership to a new set, disregarding the existing membership.�May only be called from `ResetOrigin` or root.,# Arguments�* `origin` - Origin representing `ResetOrigin` or root�* `members` - New set of identitiesLabdicate_membership(MAllows the calling member to *unilaterally quit* without this being subject to a GCvote.,# Arguments�* `origin` - Member of committee who wants to quit.# Error�* Only primary key can abdicate.�* Last member of a group cannot abdicate.
Contains a variant per dispatchable extrinsic that this pallet has.�0pallet_grouppalletErrorTITOnlyPrimaryKeyAllowed�Only primary key of the identity is allowed.<DuplicateMember|Group member was added already.0NoSuchMember�Can't remove a member that doesn't exist.PLastMemberCannotQuit�Last member of the committee can not quit.hActiveMembersLimitExceeded]The limit for the number of concurrent active members for this group has been exceeded.hActiveMembersLimitOverflowActive member limit was greater than maximum committee members limit.�The `Error` enum of this pallet.�`polymesh_runtime_developruntime,RuntimeCall�System��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<System, Runtime>Babe!�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Babe, Runtime>$Timestamp5�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Timestamp, Runtime>Indices=�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Indices, Runtime> Balances}�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Balances, Runtime> Identity��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Identity, Runtime>4DidRegistrars��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<DidRegistrars, Runtime>DPolymeshCommittee��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<PolymeshCommittee, Runtime>	LCommitteeMembership��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<CommitteeMembership, Runtime>
HTechnicalCommittee��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<TechnicalCommittee, Runtime>pTechnicalCommitteeMembership�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<TechnicalCommitteeMembership, Runtime>@UpgradeCommittee��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<UpgradeCommittee, Runtime>
hUpgradeCommitteeMembership��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<UpgradeCommitteeMembership, Runtime> MultiSig�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<MultiSig, Runtime>(Validators	�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Validators, Runtime>Staking
�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Staking, Runtime>SessionA�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Session, Runtime>GrandpaU�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Grandpa, Runtime> ImOnline}�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ImOnline, Runtime>Sudo��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Sudo, Runtime>Asset��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Asset, Runtime>LCapitalDistribution��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<CapitalDistribution, Runtime>(Checkpoint��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Checkpoint, Runtime>DComplianceManager��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ComplianceManager, Runtime><CorporateAction��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<CorporateAction, Runtime><CorporateBallot��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<CorporateBallot, Runtime>Pips��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Pips, Runtime>!$Portfolio��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Portfolio, Runtime>",ProtocolFee��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ProtocolFee, Runtime>#$Scheduler��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Scheduler, Runtime>$(Settlement��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Settlement, Runtime>%(Statistics%�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Statistics, Runtime>&Sto5�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Sto, Runtime>' TreasuryI�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Treasury, Runtime>(UtilityU�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Utility, Runtime>)Baseu�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Base, Runtime>*8ExternalAgentsy�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ExternalAgents, Runtime>+Relayer}�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Relayer, Runtime>,$Contracts��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Contracts, Runtime>.DPolymeshContracts��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<PolymeshContracts, Runtime>/ Preimage��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Preimage, Runtime>0Nft��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Nft, Runtime>1hElectionProviderMultiPhase��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ElectionProviderMultiPhase, Runtime>2hPolymeshTransactionPayment�	�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<PolymeshTransactionPayment, Runtime>3Beefy�	�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Beefy, Runtime>4PMultiBlockMigrations�	�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<MultiBlockMigrations, Runtime>7HConfidentialAssets
�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<ConfidentialAssets, Runtime>FReviveE�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Revive, Runtime>P�@pallet_committeepalletCallTIHset_vote_thresholdnu32du32�Change the vote threshold the determines the winning proposal.UFor e.g., for a simple majority use (1, 2) which represents the in-equation ">= 1/2".,# Arguments�* `n` - Numerator of the fraction representing vote threshold.* `d` - Denominator of the fraction representing vote threshold.\set_release_coordinatorid�(IdentityId�Changes the release coordinator.,# Arguments�* `id` - The DID of the new release coordinator. # Errors%* `NotAMember`, If the new coordinator `id` is not part of the committee.Dset_expires_afterexpiryutMaybeBlock<BlockNumberFor<T>>�Changes the time after which a proposal expires.,# Arguments�* `expiry` - The new expiry time.<vote_or_proposeapprove boolcall�|Box<<T as Config<I>>::Proposal>DProposes to the committee that `call` should be executed in its name.]Alternatively, if the hash of `call` has already been recorded, i.e., already proposed,then this call counts as a vote, i.e., as if `vote_by_hash` was called. # Weight-The weight of this dispatchable is that of `call` as well as the complexityxfor recording the vote itself.,# Arguments�* `approve` - is this an approving vote?a  If the proposal doesn't exist, passing `false` will result in error `FirstVoteReject`.�* `call` - the call to propose for execution. # Errors-* `FirstVoteReject`, if `call` hasn't been proposed and `approve == false`.	* `NotAMember`, if the `origin` is not a member of this committee.vote proposal4T::Hashindex4ProposalIndexapprove bool(�Votes `approve`ingly (or not, if `false`)�on an existing `proposal` given by its hash, `index`.,# Arguments�* `proposal` - A hash of the proposal to be voted on.|* `index` - The proposal index.-* `approve` - If `true` than this is a `for` vote, and `against` otherwise. # Errors	* `NotAMember`, if the `origin` is not a member of this committee.
Contains a variant per dispatchable extrinsic that this pallet has.�0pallet_grouppalletCallTI`set_active_members_limitlimit,MemberCount5Change this group's limit for how many concurrent active members they may be.,# Arguments
* `limit` - the number of active members there may be concurrently.8disable_memberwho�(IdentityIdexpiry)DOption<T::Moment>at)DOption<T::Moment>@�Disables a member at specific moment.APlease note that if member is already revoked (a "valid member"), its revocationltime-stamp will be updated.MAny disabled member should NOT allow to act like an active member of the group. For]instance, a disabled CDD member should NOT be able to generate a CDD claim. However anygenerated claim issued before `at` would be considered as a valid one.QIf you want to invalidate any generated claim, you should use `Self::remove_member`.,# Arguments|* `at` - Revocation time-stamp.�* `who` - Target member of the group.U* `expiry` - Time-stamp when `who` is removed from CDD. As soon as it is expired, theQgenerated claims will be "invalid" as `who` is not considered a member of the group.(add_memberwho�(IdentityId9Adds a member `who` to the group. May only be called from `AddOrigin` or root.,# Arguments�* `origin` - Origin representing `AddOrigin` or root�* `who` - IdentityId to be added to the group.4remove_memberwho�(IdentityId(QRemoves a member `who` from the set. May only be called from `RemoveOrigin` or root.AAny claim previously generated by this member is not valid as a group claim. ForYinstance, if a CDD member group generated a claim for a target identity and then it isaremoved, that claim will be invalid.  In case you want to keep the validity of generated�claims, you have to use `Self::disable_member` function,# Arguments�* `origin` - Origin representing `RemoveOrigin` or root�* `who` - IdentityId to be removed from the group.,swap_memberremove�(IdentityIdadd�(IdentityId �Swaps out one member `remove` for another member `add`.�May only be called from `SwapOrigin` or root.,# Arguments�* `origin` - Origin representing `SwapOrigin` or root�* `remove` - IdentityId to be removed from the group.�* `add` - IdentityId to be added in place of `remove`.4reset_membersmemberse<Vec<IdentityId>)Changes the membership to a new set, disregarding the existing membership.�May only be called from `ResetOrigin` or root.,# Arguments�* `origin` - Origin representing `ResetOrigin` or root�* `members` - New set of identitiesLabdicate_membership(MAllows the calling member to *unilaterally quit* without this being subject to a GCvote.,# Arguments�* `origin` - Member of committee who wants to quit.# Error�* Only primary key can abdicate.�* Last member of a group cannot abdicate.
Contains a variant per dispatchable extrinsic that this pallet has.�@pallet_committeepalletCallTIHset_vote_thresholdnu32du32�Change the vote threshold the determines the winning proposal.UFor e.g., for a simple majority use (1, 2) which represents the in-equation ">= 1/2".,# Arguments�* `n` - Numerator of the fraction representing vote threshold.* `d` - Denominator of the fraction representing vote threshold.\set_release_coordinatorid�(IdentityId�Changes the release coordinator.,# Arguments�* `id` - The DID of the new release coordinator. # Errors%* `NotAMember`, If the new coordinator `id` is not part of the committee.Dset_expires_afterexpiryutMaybeBlock<BlockNumberFor<T>>�Changes the time after which a proposal expires.,# Arguments�* `expiry` - The new expiry time.<vote_or_proposeapprove boolcall�|Box<<T as Config<I>>::Proposal>DProposes to the committee that `call` should be executed in its name.]Alternatively, if the hash of `call` has already been recorded, i.e., already proposed,then this call counts as a vote, i.e., as if `vote_by_hash` was called. # Weight-The weight of this dispatchable is that of `call` as well as the complexityxfor recording the vote itself.,# Arguments�* `approve` - is this an approving vote?a  If the proposal doesn't exist, passing `false` will result in error `FirstVoteReject`.�* `call` - the call to propose for execution. # Errors-* `FirstVoteReject`, if `call` hasn't been proposed and `approve == false`.	* `NotAMember`, if the `origin` is not a member of this committee.vote proposal4T::Hashindex4ProposalIndexapprove bool(�Votes `approve`ingly (or not, if `false`)�on an existing `proposal` given by its hash, `index`.,# Arguments�* `proposal` - A hash of the proposal to be voted on.|* `index` - The proposal index.-* `approve` - If `true` than this is a `for` vote, and `against` otherwise. # Errors	* `NotAMember`, if the `origin` is not a member of this committee.
Contains a variant per dispatchable extrinsic that this pallet has.�0pallet_grouppalletCallTI`set_active_members_limitlimit,MemberCount5Change this group's limit for how many concurrent active members they may be.,# Arguments
* `limit` - the number of active members there may be concurrently.8disable_memberwho�(IdentityIdexpiry)DOption<T::Moment>at)DOption<T::Moment>@�Disables a member at specific moment.APlease note that if member is already revoked (a "valid member"), its revocationltime-stamp will be updated.MAny disabled member should NOT allow to act like an active member of the group. For]instance, a disabled CDD member should NOT be able to generate a CDD claim. However anygenerated claim issued before `at` would be considered as a valid one.QIf you want to invalidate any generated claim, you should use `Self::remove_member`.,# Arguments|* `at` - Revocation time-stamp.�* `who` - Target member of the group.U* `expiry` - Time-stamp when `who` is removed from CDD. As soon as it is expired, theQgenerated claims will be "invalid" as `who` is not considered a member of the group.(add_memberwho�(IdentityId9Adds a member `who` to the group. May only be called from `AddOrigin` or root.,# Arguments�* `origin` - Origin representing `AddOrigin` or root�* `who` - IdentityId to be added to the group.4remove_memberwho�(IdentityId(QRemoves a member `who` from the set. May only be called from `RemoveOrigin` or root.AAny claim previously generated by this member is not valid as a group claim. ForYinstance, if a CDD member group generated a claim for a target identity and then it isaremoved, that claim will be invalid.  In case you want to keep the validity of generated�claims, you have to use `Self::disable_member` function,# Arguments�* `origin` - Origin representing `RemoveOrigin` or root�* `who` - IdentityId to be removed from the group.,swap_memberremove�(IdentityIdadd�(IdentityId �Swaps out one member `remove` for another member `add`.�May only be called from `SwapOrigin` or root.,# Arguments�* `origin` - Origin representing `SwapOrigin` or root�* `remove` - IdentityId to be removed from the group.�* `add` - IdentityId to be added in place of `remove`.4reset_membersmemberse<Vec<IdentityId>)Changes the membership to a new set, disregarding the existing membership.�May only be called from `ResetOrigin` or root.,# Arguments�* `origin` - Origin representing `ResetOrigin` or root�* `members` - New set of identitiesLabdicate_membership(MAllows the calling member to *unilaterally quit* without this being subject to a GCvote.,# Arguments�* `origin` - Member of committee who wants to quit.# Error�* Only primary key can abdicate.�* Last member of a group cannot abdicate.
Contains a variant per dispatchable extrinsic that this pallet has.�@pallet_committeepalletCallTIHset_vote_thresholdnu32du32�Change the vote threshold the determines the winning proposal.UFor e.g., for a simple majority use (1, 2) which represents the in-equation ">= 1/2".,# Arguments�* `n` - Numerator of the fraction representing vote threshold.* `d` - Denominator of the fraction representing vote threshold.\set_release_coordinatorid�(IdentityId�Changes the release coordinator.,# Arguments�* `id` - The DID of the new release coordinator. # Errors%* `NotAMember`, If the new coordinator `id` is not part of the committee.Dset_expires_afterexpiryutMaybeBlock<BlockNumberFor<T>>�Changes the time after which a proposal expires.,# Arguments�* `expiry` - The new expiry time.<vote_or_proposeapprove boolcall�|Box<<T as Config<I>>::Proposal>DProposes to the committee that `call` should be executed in its name.]Alternatively, if the hash of `call` has already been recorded, i.e., already proposed,then this call counts as a vote, i.e., as if `vote_by_hash` was called. # Weight-The weight of this dispatchable is that of `call` as well as the complexityxfor recording the vote itself.,# Arguments�* `approve` - is this an approving vote?a  If the proposal doesn't exist, passing `false` will result in error `FirstVoteReject`.�* `call` - the call to propose for execution. # Errors-* `FirstVoteReject`, if `call` hasn't been proposed and `approve == false`.	* `NotAMember`, if the `origin` is not a member of this committee.vote proposal4T::Hashindex4ProposalIndexapprove bool(�Votes `approve`ingly (or not, if `false`)�on an existing `proposal` given by its hash, `index`.,# Arguments�* `proposal` - A hash of the proposal to be voted on.|* `index` - The proposal index.-* `approve` - If `true` than this is a `for` vote, and `against` otherwise. # Errors	* `NotAMember`, if the `origin` is not a member of this committee.
Contains a variant per dispatchable extrinsic that this pallet has.�0pallet_grouppalletCallTI`set_active_members_limitlimit,MemberCount5Change this group's limit for how many concurrent active members they may be.,# Arguments
* `limit` - the number of active members there may be concurrently.8disable_memberwho�(IdentityIdexpiry)DOption<T::Moment>at)DOption<T::Moment>@�Disables a member at specific moment.APlease note that if member is already revoked (a "valid member"), its revocationltime-stamp will be updated.MAny disabled member should NOT allow to act like an active member of the group. For]instance, a disabled CDD member should NOT be able to generate a CDD claim. However anygenerated claim issued before `at` would be considered as a valid one.QIf you want to invalidate any generated claim, you should use `Self::remove_member`.,# Arguments|* `at` - Revocation time-stamp.�* `who` - Target member of the group.U* `expiry` - Time-stamp when `who` is removed from CDD. As soon as it is expired, theQgenerated claims will be "invalid" as `who` is not considered a member of the group.(add_memberwho�(IdentityId9Adds a member `who` to the group. May only be called from `AddOrigin` or root.,# Arguments�* `origin` - Origin representing `AddOrigin` or root�* `who` - IdentityId to be added to the group.4remove_memberwho�(IdentityId(QRemoves a member `who` from the set. May only be called from `RemoveOrigin` or root.AAny claim previously generated by this member is not valid as a group claim. ForYinstance, if a CDD member group generated a claim for a target identity and then it isaremoved, that claim will be invalid.  In case you want to keep the validity of generated�claims, you have to use `Self::disable_member` function,# Arguments�* `origin` - Origin representing `RemoveOrigin` or root�* `who` - IdentityId to be removed from the group.,swap_memberremove�(IdentityIdadd�(IdentityId �Swaps out one member `remove` for another member `add`.�May only be called from `SwapOrigin` or root.,# Arguments�* `origin` - Origin representing `SwapOrigin` or root�* `remove` - IdentityId to be removed from the group.�* `add` - IdentityId to be added in place of `remove`.4reset_membersmemberse<Vec<IdentityId>)Changes the membership to a new set, disregarding the existing membership.�May only be called from `ResetOrigin` or root.,# Arguments�* `origin` - Origin representing `ResetOrigin` or root�* `members` - New set of identitiesLabdicate_membership(MAllows the calling member to *unilaterally quit* without this being subject to a GCvote.,# Arguments�* `origin` - Member of committee who wants to quit.# Error�* Only primary key can abdicate.�* Last member of a group cannot abdicate.
Contains a variant per dispatchable extrinsic that this pallet has.<pallet_multisigpalletCallTH<create_multisigsigners��BoundedVec<T::AccountId, T::MaxSigners>4sigs_required0u64,permissionsLOption<Permissions>HCreates a multisig,# Arguments�* `signers` - Signers of the multisig (They need to accept authorization before they are actually added).* `sigs_required` - Number of sigs required to process a multi-sig tx.�* `permissions` - optional custom permissions.  Only the primary key can provide custom permissions.<create_proposal multisig0T::AccountId proposal�pBox<<T as Config>::Proposal>expiry)DOption<T::Moment> lCreates a multisig proposal,# Arguments�* `multisig` - MultiSig address.�* `proposal` - Proposal to be voted on.�* `expiry` - Optional proposal expiry time.1If this is 1 out of `m` multisig, the proposal will be immediately executed.approve multisig0T::AccountId,proposal_id0u64(max_weight�8Option<Weight> 1Approves a multisig proposal using the caller's secondary key (`AccountId`).,# Arguments�* `multisig` - MultiSig address.�* `proposal_id` - Proposal id to approve.�* `max_weight` - The maximum weight to execute the proposal.If quorum is reached, the proposal will be immediately executed.reject multisig0T::AccountId,proposal_id0u64-Rejects a multisig proposal using the caller's secondary key (`AccountId`).,# Arguments�* `multisig` - MultiSig address.�* `proposal_id` - Proposal id to reject.If quorum is reached, the proposal will be immediately executed.Xaccept_multisig_signerauth_id0u64)Accepts a multisig signer authorization given to signer's key (AccountId).,# Arguments�* `auth_id` - Auth id of the authorization.Padd_multisig_signerssigners��BoundedVec<T::AccountId, T::MaxSigners>)Adds signers to the multisig.  This must be called by the multisig itself.,# Argumentst* `signers` - Signers to add.\remove_multisig_signerssigners��BoundedVec<T::AccountId, T::MaxSigners>=Removes signers from the multisig.  This must be called by the multisig itself.,# Arguments�* `signers` - Signers to remove.xadd_multisig_signers_via_admin multisig0T::AccountIdsigners��BoundedVec<T::AccountId, T::MaxSigners>AAdds a signer to the multisig.  This must be called by the admin identity of the$multisig.,# Arguments�* `multisig` - Address of the multi sigt* `signers` - Signers to add.�remove_multisig_signers_via_admin multisig0T::AccountIdsigners��BoundedVec<T::AccountId, T::MaxSigners>�Removes a signer from the multisig.�This must be called by the admin identity of the multisig.,# Arguments�* `multisig` - Address of the multisig.�* `signers` - Signers to remove.Pchange_sigs_required4sigs_required0u64	QChanges the number of signatures required by a multisig.  This must be called by the@multisig itself.,# Arguments�* `sigs_required` - New number of required signatures.xchange_sigs_required_via_admin multisig0T::AccountIdLsignatures_required0u64
�Changes the number of signatures required by a multisig.  This must be called by the admin of the multisig.,# ArgumentsY* `multisig` - The account identifier ([`AccountId`]) for the multi signature account.�* `signatures_required` - The number of required signatures.$add_admin$admin_did�(IdentityIdMAdd an admin identity to the multisig.  This must be called by the multisig itself.Xremove_admin_via_admin multisig0T::AccountId�Removes the admin identity from the `multisig`.  This must be called by the admin of the multisig.0remove_payer
uRemoves the paying identity from the `multisig`.  This must be called by the multisig itself.Xremove_payer_via_payer multisig0T::AccountId�Removes the paying identity from the `multisig`.  This must be called by the paying identity of the multisig.Tapprove_join_identity multisig0T::AccountIdauth_id0u64�Approves a multisig join identity proposal.,# Arguments�* `multisig` - MultiSig address.�* `auth_id` - The join identity authorization to approve.9If quorum is reached, the join identity proposal will be immediately executed.4join_identityauth_id0u64�Accept a JoinIdentity authorization for this multisig.  This must be called by the multisig itself.0remove_adminqRemoves the admin identity from the `multisig`.  This must be called by the multisig itself.
Contains a variant per dispatchable extrinsic that this pallet has.OptionT�NoneSome�	Dpallet_validatorspalletCallThadd_permissioned_validator identity�(IdentityId8intended_count�,Option<u32>�Adds a permissioned identity and sets its preferences.�The dispatch origin must be Root.tremove_permissioned_validator identity�(IdentityId�Remove an identity from the pool of (wannabe) validator identities. Effects are known in the next session.�The dispatch origin must be Root.,# Arguments�* origin Required origin for removing a potential validator.�* identity Validator's IdentityId.`payout_stakers_by_system<validator_stash0T::AccountIdera EraIndexlchange_slashing_allowed_for<slashing_switch�8SlashingSwitchmSwitch slashing status on the basis of given `slashing_switch`. Can only be called by root.�update_permissioned_validator_intended_count identity�(IdentityIdHnew_intended_countu32%Sets the intended count to `new_intended_count` for the given `identity`.Tchill_from_governance identity�(IdentityId(stash_keys!DVec<T::AccountId>�Governance council forcefully chills a validator. Effects will be felt at the beginning of the next era.Hset_commission_capnew_cap�Perbill!Changes commission rate which applies to all validators. Only Governance�committee is allowed to change this value.,# Arguments�* `new_cap` the new commission cap.
Contains a variant per dispatchable extrinsic that this pallet has.
8pallet_stakingpalletpalletCallT�bondvalue�0BalanceOf<T>payee�|RewardDestination<T::AccountId>@aTake 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`.4## Complexity�- Independent of the arguments. Moderate complexity.- O(1).d- Three extra DB entries.MNOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleanedYunless the `origin` falls below _existential deposit_ (or equal to 0) and gets removed as dust.(bond_extra8max_additional�0BalanceOf<T>8aAdd some extra amount that have appeared in the stash `free_balance` into the balance up0for staking.QThe dispatch origin for this call must be _Signed_ by the stash, not the controller.MUse this if there are additional funds in your stash account that you wish to bond.UUnlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose�any limitation on the amount that can be added.<Emits `Bonded`.4## Complexity�- Independent of the arguments. Insignificant complexity.- O(1).unbondvalue�0BalanceOf<T>TQSchedule 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![`asset::existential_deposit`], then it is increased to the full amount.=The stash may be chilled if the ledger total amount falls to 0 after unbonding.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.EOnce the unlock period is done, you can call `withdraw_unbonded` to actually move�the funds out of management ready for transfer.1No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)Acan co-exists at the same time. If there are no unlocking chunks slots availableE[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible).9If a user encounters the `InsufficientBond` error when calling this extrinsic,they should call `chill` first in order to free up their bonded funds.DEmits `Unbonded`.�See also [`Call::withdraw_unbonded`].Dwithdraw_unbondedHnum_slashing_spansu32\)Remove any unlocked chunks from the `unlocking` queue from our management.UThis 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.HEmits `Withdrawn`.hSee also [`Call::unbond`].4## ParametersQ- `num_slashing_spans` indicates the number of metadata slashing spans to clear whenUthis call results in a complete removal of all the data related to the stash account.=In this case, the `num_slashing_spans` must be larger or equal to the number of]slashing spans associated with the stash account in the [`SlashingSpans`] storage type,%otherwise the call will fail. The call weight is directly proportional toT`num_slashing_spans`.4## Complexity�O(S) where S is the number of slashing spans to remove	NOTE: Weight annotation is the kill scenario, we refund otherwise. validateprefs�8ValidatorPrefs�Declare the desire to validate for the origin controller.�Effects will be felt at the beginning of the next era.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash. nominatetargetsdVec<AccountIdLookupOf<T>>(
Declare the desire to nominate `targets` for the origin controller.�Effects will be felt at the beginning of the next era.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.4## Complexity-- The transaction's complexity is proportional to the size of `targets` (N)which is capped at CompactAssignments::LIMIT (T::MaxNominations).�- Both the reads and writes follow a similar pattern.chill(�Declare no desire to either validate or nominate.�Effects will be felt at the beginning of the next era.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.4## Complexity�- Independent of the arguments. Insignificant complexity.P- Contains one read.�- Writes are limited to the `origin` account key.$set_payeepayee�|RewardDestination<T::AccountId>0�(Re-)set the payment target for a controller.QEffects will be felt instantly (as soon as this function is completed successfully).QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.4## Complexity- O(1)�- Independent of the arguments. Insignificant complexity.�- Contains a limited number of reads.�- Writes are limited to the `origin` account key.$---------8set_controller8E(Re-)sets the controller of a stash to the stash itself. This function previouslyMaccepted a `controller` argument to set the controller to an account other than theYstash itself. This functionality has now been removed, now only setting the controller�to the stash, if it is not already.QEffects will be felt instantly (as soon as this function is completed successfully).QThe dispatch origin for this call must be _Signed_ by the stash, not the controller.4## ComplexityO(1)�- Independent of the arguments. Insignificant complexity.�- Contains a limited number of reads.�- Writes are limited to the `origin` account key.Lset_validator_countnew�u32	�Sets the ideal number of validators.�The dispatch origin must be Root.4## ComplexityO(1)`increase_validator_count(additional�u32
�Increments the ideal number of validators up to maximum of�`ElectionProviderBase::MaxWinners`.�The dispatch origin must be Root.4## Complexity�Same as [`Self::set_validator_count`].Tscale_validator_countfactorPercentScale up the ideal number of validators by a factor up to maximum of�`ElectionProviderBase::MaxWinners`.�The dispatch origin must be Root.4## Complexity�Same as [`Self::set_validator_count`].4force_no_eras4�Force there to be no new eras indefinitely.�The dispatch origin must be Root.$# WarningThe election process starts multiple blocks before the end of the era.9Thus the election process may be ongoing when this is called. In this case the�election will continue until the next era is triggered.4## Complexity<- No arguments.8- Weight: O(1)4force_new_era
8IForce 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.$# WarningThe election process starts multiple blocks before the end of the era.IIf this is called just before a new era is triggered, the election process may not�have enough blocks to get a result.4## Complexity<- No arguments.8- Weight: O(1)Dset_invulnerables4invulnerables!DVec<T::AccountId>�Set the validators who cannot be slashed (if any).�The dispatch origin must be Root.4force_unstakestash0T::AccountIdHnum_slashing_spansu32 	Force a current staker to become completely unstaked, immediately.�The dispatch origin must be Root.4## ParametersE- `num_slashing_spans`: Refer to comments on [`Call::withdraw_unbonded`] for more details.Pforce_new_era_always$Force there to be a new era at the end of sessions indefinitely.�The dispatch origin must be Root.$# WarningThe election process starts multiple blocks before the end of the era.IIf this is called just before a new era is triggered, the election process may not�have enough blocks to get a result.Tcancel_deferred_slashera EraIndex4slash_indices Vec<u32>�Cancel enactment of a deferred slash.�Can be called by the `T::AdminOrigin`.Parameters: era and indices of the slashes for that era to kill.�They **must** be sorted in ascending order, *and* unique.8payout_stakers<validator_stash0T::AccountIdera EraIndex4Pay out next page of the stakers behind a validator for the given era.�- `validator_stash` is the stash account of the validator.1- `era` may be any era between `[current_era - history_depth; current_era]`.UThe origin of this call must be _Signed_. Any account can call this function, even iftit is not one of the stakers.IThe reward payout could be paged in case there are too many nominators backing the]`validator_stash`. This call will payout unpaid pages in an ascending order. To claim a�specific page, use `payout_stakers_by_page`.`�If all pages are claimed, it returns an error `InvalidPage`.rebondvalue�0BalanceOf<T>�Rebond a portion of the stash scheduled to be unlocked.�The dispatch origin must be signed by the controller.4## Complexity�- Time complexity: O(L), where L is unlocking chunks�- Bounded by `MaxUnlockingChunks`.(reap_stashstash0T::AccountIdHnum_slashing_spansu32H]Remove all data structures concerning a staker/stash once it is at a state where it canbe considered `dust` in the staking system. The requirements are:1. the `total_balance` of the stash is below existential deposit.2. or, the `ledger.total` of the stash is below existential deposit.a3. or, existential deposit is zero and either `total_balance` or `ledger.total` is zero.UThe former can happen in cases like a slash; the latter when a fully unbonded account	is still receiving staking rewards in `RewardDestination::Staked`.1It can be called by anyone, as long as `stash` meets the above requirements.�Refunds the transaction fees upon successful execution.4## ParametersE- `num_slashing_spans`: Refer to comments on [`Call::withdraw_unbonded`] for more details.kickwhodVec<AccountIdLookupOf<T>>,�Remove the given nominations from the calling validator.�Effects will be felt at the beginning of the next era.QThe dispatch origin for this call must be _Signed_ by the controller, not the stash.M- `who`: A list of nominator stash accounts who are nominating this validator which�  should no longer be nominating this validator.UNote: Making this call only makes sense if you first set the validator preferences toxblock any further nominations.Lset_staking_configsHmin_nominator_bondXConfigOp<BalanceOf<T>>Hmin_validator_bondXConfigOp<BalanceOf<T>>Lmax_nominator_count!4ConfigOp<u32>Lmax_validator_count!4ConfigOp<u32><chill_threshold%DConfigOp<Percent>8min_commission)DConfigOp<Perbill>Hmax_staked_rewards%DConfigOp<Percent>D�Update the various staking configurations .%* `min_nominator_bond`: The minimum active bond needed to be a nominator.%* `min_validator_bond`: The minimum active bond needed to be a validator.U* `max_nominator_count`: The max number of users who can be a nominator at once. When�  set to `None`, no limit is enforced.U* `max_validator_count`: The max number of users who can be a validator at once. When�  set to `None`, no limit is enforced.Y* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which  should be filled in order for the `chill_other` transaction to work.a* `min_commission`: The minimum amount of commission that each validators must maintain.U  This is checked only upon calling `validate`. Existing validators are not affected.�RuntimeOrigin must be Root to call this function.5NOTE: Existing nominators and validators will not be affected by this update.to kick people under the new limits, `chill_other` should be called.,chill_otherstash0T::AccountIdhADeclare a `controller` to stop participating as either a validator or nominator.�Effects will be felt at the beginning of the next era.AThe dispatch origin for this call must be _Signed_, but can be called by anyone.YIf 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 conditions0must be met:* `controller` must belong to a nominator who has become non-decodable,Or:=* A `ChillThreshold` must be set and checked which defines how close to the maxU  nominators or validators we must reach before users can start chilling one-another.Y* 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 determinesQ  if this is a person that should be chilled because they have not met the threshold@  bond required.UThis can be helpful if bond requirements are updated, and we need to remove old users�who do not satisfy these requirements.hforce_apply_min_commission<validator_stash0T::AccountIdEForce a validator to have at least the minimum commission. This will not affect aavalidator who already has a commission greater than or equal to the minimum. Any account8can call this.Hset_min_commissionnew�Perbill%Sets the minimum amount of commission that each validators must maintain.YThis call has lower privilege requirements than `set_staking_config` and can be called�by the `T::AdminOrigin`. Root can always call this.Xpayout_stakers_by_page<validator_stash0T::AccountIdera EraIndexpagePageD1Pay out a page of the stakers behind a validator for the given era and page.�- `validator_stash` is the stash account of the validator.1- `era` may be any era between `[current_era - history_depth; current_era]`.1- `page` is the page index of nominators to pay out with value between 0 and�  `num_nominators / T::MaxExposurePageSize`.UThe origin of this call must be _Signed_. Any account can call this function, even iftit is not one of the stakers.=If a validator has more than [`Config::MaxExposurePageSize`] nominators backing)them, then the list of nominators is paged, with each page being capped atU[`Config::MaxExposurePageSize`]. If a validator has more than one page of nominators,Ithe call needs to be made for each page separately in order for all the nominatorsUbacking a validator to receive the reward. The nominators are not sorted across pagesaand so it should not be assumed the highest staker would be on the topmost page and viceIversa. If rewards are not claimed in [`Config::HistoryDepth`] eras, they are lost.0update_payee(controller0T::AccountId�Migrates an account's `RewardDestination::Controller` to�`RewardDestination::Account(controller)`.QEffects will be felt instantly (as soon as this function is completed successfully).1This will waive the transaction fee if the `payee` is successfully migrated.hdeprecate_controller_batch,controllers-�BoundedVec<T::AccountId, T::MaxControllersInDeprecationBatch>]Updates a batch of controller accounts to their corresponding stash account if they areanot the same. Ignores any controller accounts that do not exist, and does not operate if�the stash and controller are already the same.QEffects will be felt instantly (as soon as this function is completed successfully).�The dispatch origin must be `T::AdminOrigin`.8restore_ledgerstash0T::AccountId@maybe_controllerIPOption<T::AccountId>,maybe_totalQPOption<BalanceOf<T>><maybe_unlocking1Option<BoundedVec<UnlockChunk<BalanceOf<T>>, T::
MaxUnlockingChunks>>,Restores the state of a ledger which is in an inconsistent state.�The requirements to restore a ledger are the following:d* The stash is bonded; or
* The stash is not bonded but it has a staking lock left behind; or%* If the stash has an associated ledger and its state is inconsistent; or* If the ledger is not corrupted *but* its staking lock is out of sync.aThe `maybe_*` input parameters will overwrite the corresponding data and metadata of theYledger associated with the stash. If the input parameters are not set, the ledger will�be reset values from on-chain state.@migrate_currencystash0T::AccountId�Removes the legacy Staking locks if they exist.QThis removes the legacy lock on the stake with [`Config::OldCurrency`] and creates aUhold on it if needed. If all stake cannot be held, the best effort is made to hold as)much as possible. The remaining stake is forced withdrawn from the ledger.�The fee is waived if the migration is successful.0manual_slash<validator_stash0T::AccountIdera EraIndex8slash_fraction�Perbill!TThis function allows governance to manually slash a validator and is a\**fallback mechanism**.�The dispatch origin must be `T::AdminOrigin`.4## Parameters	- `validator_stash` - The stash account of the validator to slash.�- `era` - The era in which the validator was in the active set.I- `slash_fraction` - The percentage of the stake to slash, expressed as a Perbill.,## Behavior=The slash will be applied using the standard slashing mechanics, respecting the�configured `SlashDeferDuration`.,This means:Q- If the validator was already slashed by a higher percentage for the same era, this�  slash will have no additional effect.Q- If the validator was previously slashed by a lower percentage, only the differenceH  will be applied.=- The slash will be deferred by `SlashDeferDuration` eras before being enacted.
Contains a variant per dispatchable extrinsic that this pallet has.A4sp_arithmetic(per_thingsPercentu88pallet_stakingpalletpallet ConfigOpTNoopSetTRemove!8pallet_stakingpalletpallet ConfigOpTNoopSetTRemove%8pallet_stakingpalletpallet ConfigOpTNoopSetTRemove)8pallet_stakingpalletpallet ConfigOpT�NoopSet�TRemove-Lbounded_collections,bounded_vec(BoundedVecTS!Vec<T>1OptionT5NoneSome55Lbounded_collections,bounded_vec(BoundedVecT9S=Vec<T>98pallet_staking,UnlockChunkBalancevalue�Balanceera� EraIndex=9A8pallet_sessionpalletCallT set_keyskeysET::Keysproof8Vec<u8>,�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.- `origin`: The dispatch origin of this function must be signed.U- `keys`: The new session keys to set. These are the public keys of all sessions keys\  setup in the runtime.A- `proof`: The proof that `origin` has access to the private keys of `keys`. SeeM  [`impl_opaque_keys`](sp_runtime::impl_opaque_keys) for more information about the<  proof format.(purge_keys �Removes any session key(s) of the function caller.�This doesn't take effect until the next session.UThe 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 usuallyQmeans being a controller account) or directly convertible into a validator ID (which�usually means being a stash account).
Contains a variant per dispatchable extrinsic that this pallet has.E`polymesh_runtime_developruntime,SessionKeysgrandpa��<Grandpa as $crate::BoundToRuntimeAppPublic>::Publicbabe��<Babe as $crate::BoundToRuntimeAppPublic>::Public$im_online��<ImOnline as $crate::BoundToRuntimeAppPublic>::PublicLauthority_discoveryI�<AuthorityDiscovery as $crate::BoundToRuntimeAppPublic>::PublicbeefyM�<Beefy as $crate::BoundToRuntimeAppPublic>::PublicIXsp_authority_discoveryappPublic<sr25519::PublicMHsp_consensus_beefy0ecdsa_cryptoPublicQ4ecdsa::PublicQ!U8pallet_grandpapalletCallTLreport_equivocationHequivocation_proofY�Box<EquivocationProof<T::Hash, BlockNumberFor<T>>><key_owner_proof-@T::KeyOwnerProof	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 offenceDwill be reported.preport_equivocation_unsignedHequivocation_proofY�Box<EquivocationProof<T::Hash, BlockNumberFor<T>>><key_owner_proof-@T::KeyOwnerProof$	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 offenceDwill be reported.
This extrinsic must be called unsigned and it is expected that onlyblock authors will call it (validated in `ValidateUnsigned`), as suchif the block author is defined it will be defined as the equivocation$reporter.0note_stalleddelayDBlockNumberFor<T>lbest_finalized_block_numberDBlockNumberFor<T>0=Note that the current authority set of the GRANDPA finality gadget has stalled.aThis will trigger a forced authority set change at the beginning of the next session, toabe enacted `delay` blocks after that. The `delay` should be high enough to safely assumeIthat the block signalling the forced change will not be re-orged e.g. 1000 blocks.]The block production rate (which may be slowed down because of finality lagging) shouldQbe taken into account when choosing the `delay`. The GRANDPA voters based on the newUauthority will start voting on top of `best_finalized_block_number` for new finalizedMblocks. `best_finalized_block_number` should be the highest of the latest finalized�block of all validators of the new authority set.XOnly callable by root.
Contains a variant per dispatchable extrinsic that this pallet has.YPsp_consensus_grandpaDEquivocationProofH4Nset_id0SetId0equivocation]HEquivocation<H, N>]Psp_consensus_grandpa0EquivocationH4NPrevotea�finality_grandpa::Equivocation<AuthorityId, finality_grandpa::Prevote<
H, N>, AuthoritySignature,>$Precommitq�finality_grandpa::Equivocation<AuthorityId, finality_grandpa::Precommit
<H, N>, AuthoritySignature,>a@finality_grandpa0EquivocationId�VeSi0round_number0u64 identity�Idfirstm(V, S)secondm(V, S)e@finality_grandpaPrevoteH4N,target_hash4H4target_numberNiPsp_consensus_grandpaapp$Signature5Hed25519::Signaturemeiq@finality_grandpa0EquivocationId�VuSi0round_number0u64 identity�Idfirsty(V, S)secondy(V, S)u@finality_grandpa$PrecommitH4N,target_hash4H4target_numberNyui}@pallet_im_onlinepalletCallT$heartbeat$heartbeat�pHeartbeat<BlockNumberFor<T>>$signature��<T::AuthorityId as RuntimeAppPublic>::Signature8## Complexity:�- `O(K)` where K is length of `Keys` (heartbeat.validators_len)�  - `O(K)`: decoding of length `K`
Contains a variant per dispatchable extrinsic that this pallet has.�@pallet_im_online$Heartbeat,BlockNumber0block_number,BlockNumber4session_index0SessionIndex<authority_index$AuthIndex8validators_lenu32�@pallet_im_onlinesr25519,app_sr25519$Signature5Hsr25519::Signature�,pallet_sudopalletCallTsudocall�|Box<<T as Config>::RuntimeCall>5Authenticates the sudo key and dispatches a function call with `Root` origin.Tsudo_unchecked_weightcall�|Box<<T as Config>::RuntimeCall>weight(Weight5Authenticates 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_.set_keynewAPAccountIdLookupOf<T>]Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudokey.sudo_aswhoAPAccountIdLookupOf<T>call�|Box<<T as Config>::RuntimeCall>MAuthenticates the sudo key and dispatches a function call with `Signed` origin from@a given account.�The dispatch origin for this call must be _Signed_.(remove_key�Permanently removes the sudo key.l**This cannot be un-done.**
Contains a variant per dispatchable extrinsic that this pallet has.�0pallet_assetpalletCallT�Xregister_unique_tickertickerQTicker@!Registers a unique ticker or extends the validity of an existing ticker.MThis function allows the caller to register a new ticker or extend the registrationAof an existing ticker. The ticker validity does not carry forward when renewing.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `ticker` - The ticker to register. # Events* `TickerRegistered` - When a ticker is successfully registered. # Errors	* `TickerAlreadyRegistered` - If the ticker is already registered.1* `TickerTooLong` - If the ticker length exceeds the maximum allowed length.* `InvalidTickerCharacter` - If the ticker contains invalid characters.Xaccept_ticker_transferauth_id0u64<hAccepts a ticker transfer.-Consumes the authorization `auth_id` (see `pallet_identity::consume_auth`).%NB: To reject the transfer, call remove auth function in identity module.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.* `auth_id` - Authorization ID of ticker transfer authorization. # Events	* `TickerTransferred` - When a ticker is successfully transferred. # Errors%* `TickerRegistrationNotFound` - If the ticker registration is not found.E* `TickerIsAlreadyLinkedToAnAsset` - If the ticker is already linked to an asset.|accept_asset_ownership_transferauth_id0u64<�Accepts an asset ownership transfer.-Consumes the authorization `auth_id` (see `pallet_identity::consume_auth`).%NB: To reject the transfer, call remove auth function in identity module.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.5* `auth_id` - Authorization ID of the asset ownership transfer authorization. # EventsM* `AssetOwnershipTransferred` - When a asset ownership is successfully transferred. # Errors%* `TickerRegistrationNotFound` - If the ticker registration is not found.E* `TickerIsAlreadyLinkedToAnAsset` - If the ticker is already linked to an asset.0create_asset(asset_name	$AssetName$divisible bool(asset_type�$AssetTypeDasset_identifiers
PVec<AssetIdentifier>Hfunding_round_name`Option<FundingRoundName>LPCreates a new asset.=The total supply will initially be zero. To mint tokens, use [`Pallet::issue`].,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_name` - The [`AssetName`] of the new asset.q* `divisible` - Sets [`AssetDetails::divisible`], where `true` means the asset is divisible.�* `asset_type` - The [`AssetType`] of the new asset.�* `asset_identifiers` - A vector of [`AssetIdentifier`].9* `funding_round_name` - The name of the funding round ([`FundingRoundName`]). # Events�* `AssetCreated` - When a new asset is successfully created. # Errors}* `MaxLengthOfAssetNameExceeded` - If the asset name length exceeds the maximum allowed length.* `InvalidCustomAssetTypeId` - If the custom asset type ID is invalid.%* `InvalidAssetIdentifier` - If any of the asset identifiers are invalid.freeze asset_id�AssetIdD�Freezes transfers of a given asset.�This function allows the asset issuer or an external agent to freeze transfers of a given asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The asset to freeze.4# Permissions* Asset # Events�* `AssetFrozen` - When an asset is successfully frozen. # Errors�* `NoSuchAsset` - If the asset does not exist.�* `AlreadyFrozen` - If the asset is already frozen. unfreeze asset_id�AssetIdD�Unfreezes transfers of a given asset.�This function allows the asset issuer or an external agent to unfreeze transfers of a given asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The asset to unfreeze.4# Permissions* Asset # Events�* `AssetUnfrozen` - When an asset is successfully unfrozen. # Errors�* `NoSuchAsset` - If the asset does not exist.�* `NotFrozen` - If the asset is not frozen.0rename_asset asset_id�AssetId(asset_name	$AssetNameH�Updates the [`AssetName`] associated to an asset.iThis function allows the asset issuer or an external agent to update the name of an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.1* `asset_name` - The new [`AssetName`] that will be associated to the asset.4# Permissions* Asset # Events�* `AssetRenamed` - When an asset is successfully renamed. # Errors}* `MaxLengthOfAssetNameExceeded` - If the asset name length exceeds the maximum allowed length.�* `NoSuchAsset` - If the asset does not exist.issue asset_id�AssetIdamountBalanceDasset_holder_kind�<AssetHolderKindTYIssue (i.e mint) new tokens to the caller, which must be an authorized external agent.�This function allows the asset issuer or an external agent to mint new tokens for a given asset.,# Arguments%* `origin`: A signer that has permissions to act as an agent of `ticker`.�* `asset_id`: the [`AssetId`] associated to the asset.�* `amount`: The amount of tokens that will be issued.�* `asset_holder_kind`: The [`AssetHolderKind`] of the portfolio that will receive the minted tokens.4# Permissions* Asset,* Portfolio # Events%* `AssetBalanceUpdated` - When the asset balance is successfully updated. # Errors* `UnexpectedNonFungibleToken` - If the asset is a non-fungible token.m* `InvalidGranularity` - If the amount to issue does not meet the granularity requirements.A* `TotalSupplyOverflow` - If the total supply exceeds the maximum allowed limit.redeem asset_id�AssetIdvalueBalanceDasset_holder_kind�<AssetHolderKindT�Redeems (i.e burns) existing tokens by reducing the balance of the caller's portfolio and the total supply of the asset.}This function allows the asset issuer or an external agent to redeem tokens from a given asset.,# Arguments9* `origin`: is a signer that has permissions to act as an agent of `asset_id`.�* `asset_id`: the [`AssetId`] associated to the asset.�* `value`: amount of tokens to redeem.I* `asset_holder_kind`: the [`AssetHolderKind`] that will have its balance reduced.4# Permissions* Asset,* Portfolio # Events%* `AssetBalanceUpdated` - When the asset balance is successfully updated. # Errors* `UnexpectedNonFungibleToken` - If the asset is a non-fungible token.m* `InvalidGranularity` - If the value to redeem does not meet the granularity requirements.A* `TotalSupplyOverflow` - If the total supply exceeds the maximum allowed limit.8make_divisible asset_id�AssetId	H}If the asset associated to `asset_id` is indivisible, sets [`AssetDetails::divisible`] to true.�This function allows the asset issuer or an external agent to make an indivisible asset divisible.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.4# Permissions* Asset # EventsQ* `DivisibilityChanged` - When the divisibility of an asset is successfully changed. # Errors�* `NoSuchAsset` - If the asset does not exist.* `UnexpectedNonFungibleToken` - If the asset is a non-fungible token.�* `AssetAlreadyDivisible` - If the asset is already divisible.4add_documentsdocs�4Vec<Document> asset_id�AssetId
D�Add documents for a given asset.aThis function allows the asset issuer or an external agent to add documents to an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `docs` - Documents to be attached to the asset.4# Permissions* Asset # Events* `DocumentAdded` - When a document is successfully added to an asset. # Errors�* `CounterOverflow` - If the document ID counter overflows.@remove_documentsdocs_id9<Vec<DocumentId> asset_id�AssetId8�Remove documents for a given asset.uThis function allows the asset issuer or an external agent to remove documents from an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.E* `docs_id` - A vector of all [`DocumentId`] that will be removed from the asset.4# Permissions* Asset # Events1* `DocumentRemoved` - When a document is successfully removed from an asset.Dset_funding_round asset_id�AssetIdHfunding_round_name!@FundingRoundNameD�Sets the name of the current funding round.�This function allows the asset issuer or an external agent to set the name of the current funding round for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.=* `funding_round_name` - The [`FundingRoundName`] of the current funding round.4# Permissions* Asset # Events* `FundingRoundSet` - When the funding round name is successfully set. # Errors�* `FundingRoundNameMaxLengthExceeded` - If the funding round name length exceeds the maximum allowed length.Hupdate_identifiers asset_id�AssetIdDasset_identifiers
PVec<AssetIdentifier>
D�Updates the asset identifiers associated to the asset.�This function allows the asset issuer or an external agent to update the asset identifiers for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.u* `asset_identifiers` - A vector of [`AssetIdentifier`] that will be associated to the asset.4# Permissions* Asset # Events5* `IdentifiersUpdated` - When the asset identifiers are successfully updated. # Errors%* `InvalidAssetIdentifier` - If any of the asset identifiers are invalid.Lcontroller_transfer asset_id�AssetIdvalueBalancesourceU,AssetHolder@destination_kind�<AssetHolderKindXIForces a transfer of tokens from `asset_holder` to the caller's default portfolio.�This function allows the asset issuer or an external agent to force a transfer of tokens from one portfolio to another.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `value` - The [`Balance`] of tokens that will be transferred.* `source` - The [`AssetHolder`] that will have its balance reduced.	* `destination_kind` - The [`AssetHolderKind`] of the destination.4# Permissions* Asset,* Portfolio # Events	* `ControllerTransfer` - When tokens are successfully transferred. # Errors* `UnexpectedNonFungibleToken` - If the asset is a non-fungible token.y* `InvalidGranularity` - If the amount to transfer does not meet the granularity requirements.A* `TotalSupplyOverflow` - If the total supply exceeds the maximum allowed limit.hregister_custom_asset_typety8Vec<u8>0xRegisters a custom asset type.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `ty` - Contains the string representation of the asset type. # Eventsa* `CustomAssetTypeRegistered` - When a new custom asset type is successfully registered.a* `CustomAssetTypeAlreadyRegistered` - When the custom asset type is already registered. # ErrorsE* `TooLong` - If the custom asset type length exceeds the maximum allowed length.tcreate_asset_with_custom_type(asset_name	$AssetName$divisible boolDcustom_asset_type8Vec<u8>Dasset_identifiers
PVec<AssetIdentifier>Hfunding_round_name`Option<FundingRoundName>X�Creates a new asset with a new custom asset type.=The total supply will initially be zero. To mint tokens, use [`Pallet::issue`].,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_name` - The [`AssetName`] of the new asset.q* `divisible` - Sets [`AssetDetails::divisible`], where `true` means the asset is divisible.�* `custom_asset_type` - The custom asset type of the asset.�* `asset_identifiers` - A vector of [`AssetIdentifier`].9* `funding_round_name` - The name of the funding round ([`FundingRoundName`]). # Events�* `AssetCreated` - When a new asset is successfully created.a* `CustomAssetTypeRegistered` - When a new custom asset type is successfully registered.a* `CustomAssetTypeAlreadyRegistered` - When the custom asset type is already registered. # Errors}* `MaxLengthOfAssetNameExceeded` - If the asset name length exceeds the maximum allowed length.* `InvalidCustomAssetTypeId` - If the custom asset type ID is invalid.%* `InvalidAssetIdentifier` - If any of the asset identifiers are invalid.E* `TooLong` - If the custom asset type length exceeds the maximum allowed length.Hset_asset_metadata asset_id�AssetIdkey�@AssetMetadataKeyvalueYHAssetMetadataValuedetail]�Option<AssetMetadataValueDetail<T::Moment>>TdSet asset metadata value.aThis function allows the asset issuer or an external agent to set metadata for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `key` - The [`AssetMetadataKey`] associated to the asset.* `value` - The [`AssetMetadataValue`] of the given metadata key.)* `details` - Optional [`AssetMetadataValueDetail`] (expire, lock status).4# Permissions* Asset # Events9* `SetAssetMetadataValue` - When the asset metadata value is successfully set. # Errors�* `AssetMetadataKeyIsMissing` - If the metadata key is missing.* `AssetMetadataValueIsLocked` - If the metadata value is locked.�* `AssetMetadataValueMaxLengthExceeded` - If the metadata value length exceeds the maximum allowed length.hset_asset_metadata_details asset_id�AssetIdkey�@AssetMetadataKeydetaila�AssetMetadataValueDetail<T::Moment>P�Set asset metadata value details (expire, lock status).�This function allows the asset issuer or an external agent to set metadata details for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `key` - The [`AssetMetadataKey`] associated to the asset.�* `details` - The [`AssetMetadataValueDetail`] (expire, lock status) that will be associated to the asset.4# Permissions* Asset # Eventsy* `SetAssetMetadataValueDetails` - When the asset metadata value details are successfully set. # Errors�* `AssetMetadataKeyIsMissing` - If the metadata key is missing.* `AssetMetadataValueIsLocked` - If the metadata value is locked.�* `AssetMetadataValueIsEmpty` - If the metadata value is empty.�register_and_set_local_asset_metadata asset_id�AssetIdnameiDAssetMetadataNamespecqDAssetMetadataSpecvalueYHAssetMetadataValuedetail]�Option<AssetMetadataValueDetail<T::Moment>>\�Registers and set local asset metadata.�This function allows the asset issuer or an external agent to register and set local metadata for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `name` - The [`AssetMetadataName`].* `spec` - The asset metadata specifications ([`AssetMetadataSpec`]).* `value` - The [`AssetMetadataValue`] of the given metadata key.)* `details` - Optional [`AssetMetadataValueDetail`] (expire, lock status).4# Permissions* Asset # Events�* `RegisterAssetMetadataLocalType` - When the local asset metadata type is successfully registered.9* `SetAssetMetadataValue` - When the asset metadata value is successfully set. # ErrorsI* `AssetMetadataLocalKeyAlreadyExists` - If the local metadata key already exists.* `AssetMetadataValueIsLocked` - If the metadata value is locked.�* `AssetMetadataValueMaxLengthExceeded` - If the metadata value length exceeds the maximum allowed length.�register_asset_metadata_local_type asset_id�AssetIdnameiDAssetMetadataNamespecqDAssetMetadataSpecP�Registers asset metadata local type.�This function allows the asset issuer or an external agent to register a local metadata type for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `name` - The [`AssetMetadataName`].* `spec` - The asset metadata specifications ([`AssetMetadataSpec`]).4# Permissions* Asset # Events�* `RegisterAssetMetadataLocalType` - When the local asset metadata type is successfully registered. # ErrorsI* `AssetMetadataLocalKeyAlreadyExists` - If the local metadata key already exists.�* `AssetMetadataNameMaxLengthExceeded` - If the metadata name length exceeds the maximum allowed length.�* `AssetMetadataTypeDefMaxLengthExceeded` - If the metadata type definition length exceeds the maximum allowed length.�register_asset_metadata_global_typenameiDAssetMetadataNamespecqDAssetMetadataSpec@�Registers asset metadata global type.!This function allows the root origin to register a global metadata type.,# Argumentst* `origin` - The root origin.�* `name` - The [`AssetMetadataName`].* `spec` - The asset metadata specifications ([`AssetMetadataSpec`]). # Events�* `RegisterAssetMetadataGlobalType` - When the global asset metadata type is successfully registered. # ErrorsQ* `AssetMetadataGlobalKeyAlreadyExists` - If the global metadata key already exists.�* `AssetMetadataNameMaxLengthExceeded` - If the metadata name length exceeds the maximum allowed length.�* `AssetMetadataTypeDefMaxLengthExceeded` - If the metadata type definition length exceeds the maximum allowed length.Dupdate_asset_type asset_id�AssetId(asset_type�$AssetTypeLtUpdates the type of an asset.iThis function allows the asset issuer or an external agent to update the type of an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the asset.�* `asset_type` - The new [`AssetType`] of the asset.4# Permissions* Asset # Events
* `AssetTypeChanged` - When the asset type is successfully changed. # Errors�* `NoSuchAsset` - If the asset does not exist.* `InvalidCustomAssetTypeId` - If the custom asset type ID is invalid.�* `IncompatibleAssetTypeUpdate` - If the new asset type is incompatible with the existing asset type.dremove_local_metadata_key asset_id�AssetId$local_keymTAssetMetadataLocalKeyL�Removes the asset metadata key and value of a local key.�This function allows the asset issuer or an external agent to remove a local metadata key and its value for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.* `asset_id` - The [`AssetId`] associated to the local metadata key.
* `local_key` - The [`AssetMetadataLocalKey`] that will be removed.4# Permissions* Asset # EventsI* `LocalMetadataKeyDeleted` - When the local metadata key is successfully deleted. # Errors* `AssetMetadataKeyIsMissing` - If the local metadata key is missing.* `AssetMetadataValueIsLocked` - If the metadata value is locked.y* `AssetMetadataKeyBelongsToNFTCollection` - If the metadata key belongs to an NFT collection.Tremove_metadata_value asset_id�AssetId0metadata_key�@AssetMetadataKeyH�Removes the asset metadata value of a metadata key.�This function allows the asset issuer or an external agent to remove a metadata value for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.�* `asset_id` - The [`AssetId`] associated to the metadata key.5* `metadata_key` - The [`AssetMetadataKey`] that will have its value deleted.4# Permissions* Asset # Events-* `MetadataValueDeleted` - When the metadata value is successfully deleted. # Errors�* `AssetMetadataKeyIsMissing` - If the metadata key is missing.* `AssetMetadataValueIsLocked` - If the metadata value is locked.`exempt_asset_affirmation asset_id�AssetId(�Pre-approves the receivement of the asset for all identities.�This function allows the root origin to pre-approve the receivement of an asset for all identities.,# Argumentst* `origin` - The root origin.* `asset_id` - The [`AssetId`] that will be exempt from affirmation. # Eventse* `AssetAffirmationExemption` - When the asset is successfully exempted from affirmation.�remove_asset_affirmation_exemption asset_id�AssetId(�Removes the pre-approval of the asset for all identities.}This function allows the root origin to remove the pre-approval of an asset for all identities.,# Argumentst* `origin` - The root origin.* `asset_id` - The [`AssetId`] that will have its exemption removed. # Events�* `RemoveAssetAffirmationExemption` - When the asset's affirmation exemption is successfully removed.Dpre_approve_asset asset_id�AssetId,�Pre-approves the receivement of an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.* `asset_id` - The [`AssetId`] that will be exempt from affirmation.4# Permissions* Asset # EventsM* `PreApprovedAsset` - When the asset is successfully pre-approved for receivement.dremove_asset_pre_approval asset_id�AssetId,�Removes the pre-approval of an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.* `asset_id` - The [`AssetId`] that will have its exemption removed.4# Permissions* Asset # EventsM* `RemovePreApprovedAsset` - When the asset's pre-approval is successfully removed.\add_mandatory_mediators asset_id�AssetId$mediators��BoundedBTreeSet<IdentityId, T::MaxAssetMediators>D�Sets all identities in the `mediators` set as mandatory mediators for any instruction transferring `asset_id`.�This function allows the asset issuer or an external agent to add mandatory mediators for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.1* `asset_id` - The [`AssetId`] of the asset that will require the mediators.q* `mediators` - A set of [`IdentityId`] of all the mandatory mediators for the given ticker.4# Permissions* Asset # Events9* `AssetMediatorsAdded` - When the mandatory mediators are successfully added. # Errors�* `NumberOfAssetMediatorsExceeded` - If the number of mandatory mediators exceeds the maximum allowed limit.hremove_mandatory_mediators asset_id�AssetId$mediators��BoundedBTreeSet<IdentityId, T::MaxAssetMediators>8�Removes all identities in the `mediators` set from the mandatory mediators list for the given `asset_id`.�This function allows the asset issuer or an external agent to remove mandatory mediators for an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.5* `asset_id` - The [`AssetId`] of the asset that will have mediators removed.�* `mediators` - A set of [`IdentityId`] of all the mediators that will be removed from the mandatory mediators list.4# Permissions* Asset # EventsI* `AssetMediatorsRemoved` - When the mandatory mediators are successfully removed.\link_ticker_to_asset_idtickerQTicker asset_id�AssetIdT�Establishes a connection between a ticker and an AssetId.aThis function allows the asset issuer or an external agent to link a ticker to an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.!* `ticker` - The [`Ticker`] that will be linked to the given `asset_id`.	* `asset_id` - The [`AssetId`] that will be connected to `ticker`.4# Permissions* Asset # Events9* `TickerLinkedToAsset` - When the ticker is successfully linked to the asset. # ErrorsA* `TickerNotRegisteredToCaller` - If the ticker is not registered to the caller.* `TickerRegistrationExpired` - If the ticker registration has expired.%* `TickerRegistrationNotFound` - If the ticker registration is not found.E* `TickerIsAlreadyLinkedToAnAsset` - If the ticker is already linked to an asset.=* `AssetIsAlreadyLinkedToATicker` - If the asset is already linked to a ticker.lunlink_ticker_from_asset_idtickerQTicker asset_id�AssetId L�Removes the link between a ticker and an asset.qThis function allows the asset issuer or an external agent to unlink a ticker from an asset.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.1* `ticker` - The [`Ticker`] that will be unlinked from the given `asset_id`.
* `asset_id` - The [`AssetId`] that will be unlinked from `ticker`.4# Permissions* Asset # EventsY* `TickerUnlinkedFromAsset` - When the ticker is successfully unlinked from the asset. # ErrorsA* `TickerNotRegisteredToCaller` - If the ticker is not registered to the caller.%* `TickerRegistrationNotFound` - If the ticker registration is not found.-* `TickerIsNotLinkedToTheAsset` - If the ticker is not linked to the asset.lupdate_global_metadata_specLasset_metadata_nameiDAssetMetadataNameLasset_metadata_specqDAssetMetadataSpec!8�Updates the global metadata specification.,# Argumentsy* `origin` - The origin of the call, which can be the primary or secondary key of an identity.a* `asset_metadata_name` - The [`AssetMetadataName`] associated with the global metadata.�* `asset_metadata_spec` - The new [`AssetMetadataSpec`] that will be associated with the global metadata. # Events}* `GlobalMetadataSpecUpdated` - When the global metadata specification is successfully updated. # Errors�* `BadOrigin` - If the origin is not authorized.m* `TooLong` - If the metadata url or description length exceeds the maximum allowed length.�* `AssetMetadataTypeDefMaxLengthExceeded` - If the metadata type definition length exceeds the maximum allowed length.8transfer_asset asset_id�AssetIdto0T::AccountIdamountBalancememo�0Option<Memo>"pyTransfer assets from the caller's default portfolio to the target address's default portfolio.�The settlement engine is used to perform the asset transfer.,# Arguments1* `origin` - The origin of the call, which will be the sender of the assets.�* `asset_id` - The [`AssetId`] associated to the asset.�* `to` - The target address to which the assets will be sent.* `amount` - The [`Balance`] of tokens that will be transferred.E* `memo` - An optional [`Memo`] that can be attached to the transfer instruction.4# Permissions* Asset,* Portfolio # Events%* `CreatedAssetTransfer` - When an asset transfer instruction is created.
* `InstructionCreated` - The asset transfer settlement was created.�* `InstructionAffirmed` - The asset transfer settlement was affirmed by the caller as the sender.)* `InstructionAutomaticallyAffirmed` - If the receiver pre-approved the asset, the instruction is automatically affirmed for the receiver.�* `InstructionExecuted` - The asset transfer settlement was executed successfully (if the receiver pre-approved the asset). # Errors�* `InsufficientBalance` - If the sender's balance is not sufficient to cover the transfer amount.�* `InvalidTransfer` - If the transfer validation check fails.* `ReceiverIdentityNotFound` - If the receiver's identity is not found.* `UnexpectedOFFChainAsset` - If the asset could not be found on-chain.�* `MissingIdentity` - The caller doesn't have an identity.xreceiver_affirm_asset_transfer,transfer_id�4InstructionId#T�Receiver affirms a pending asset transfer.!If someone tries to transfer asset to an account that requires receiver affirmations, then the receiver will need to affirm the transfer�before the transfer is executed.,# Arguments9* `origin` - The origin of the call, which will be the receiver of the assets.-* `transfer_id` - The [`InstructionId`] associated to the pending transfer.4# Permissions* Asset,* Portfolio # Events�* `InstructionAffirmed` - The asset transfer settlement was affirmed by the caller as the receiver.I* `InstructionExecuted` - The asset transfer settlement was executed successfully.�* `AssetBalanceUpdated` - The asset balance was updated for both the sender and receiver portfolios. # Errors}* `UnknownInstruction` - If the instruction associated to the given transfer ID does not exist.�* `InvalidTransfer` - If the transfer validation check fails.Treject_asset_transfer,transfer_id�4InstructionId$H�Reject a pending asset transfer.If someone tries to transfer asset to an account that requires receiver affirmations, then the receiver can reject the transfer.The sender can also reject the transfer before the receiver affirms it.,# ArgumentsA* `origin` - The origin of the call, which can be either the sender or receiver.-* `transfer_id` - The [`InstructionId`] associated to the pending transfer.4# Permissions* Asset,* Portfolio # EventsM* `InstructionRejected` - The asset transfer settlement was rejected by the caller. # Errors�* `InvalidInstructionStatusForRejection` - Either the instruction doesn't exist or it has already been executed or rejected.approve asset_id�AssetIdspender0T::AccountIdamountBalance%D5Set the allowance for `spender` to transfer up to `amount` of `asset_id` fromTthe caller's account.AReplaces any existing allowance for this (owner, spender, asset_id) combination.!Setting `amount` to 0 revokes the allowance (removes the storage entry).9Setting `amount` to `Balance::MAX` grants an unlimited allowance that is neverTdecremented on spend.,# Arguments* `origin` — Signed origin. Caller must have a registered DID.�* `asset_id` — The asset for which the allowance is set.�* `spender` — The AccountId authorized to spend.u* `amount` — Maximum amount the spender may transfer. 0 = revoke. Balance::MAX = unlimited. # Errors�* `BadOrigin` — Unsigned origin.�* `MissingIdentity` — Caller's key is not linked to a DID.
Contains a variant per dispatchable extrinsic that this pallet has.�Lpolymesh_primitivesasset<AssetHolderKindAccount@DefaultPortfolio4UserPortfolio<PortfolioNumber�)�Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetT�S�,BTreeSet<T>�`pallet_corporate_actions0distributionpalletCallT(distributeca_id�CAId$portfolio�\Option<PortfolioNumber> currency�AssetId$per_shareBalanceamountBalance(payment_at0Moment(expires_at)8Option<Moment>�%Start and attach a capital distribution, to the CA identified by `ca_id`,ewith `amount` funds in `currency` withdrawn from `portfolio` belonging to `origin`'s DID.)The distribution will commence at `payment_at` and expire at `expires_at`,�if provided, or if `None`, then there's no expiry.%The funds will be locked in `portfolio` from when `distribute` is called.5When there's no expiry, some funds may be locked indefinitely in `portfolio`,due to claimants not withdrawing or no benefits being pushed to them.)For indivisible currencies, unlocked amounts, of less than one whole unit,�will not be transferable from `portfolio`.MHowever, if we imagine that users `Alice` and `Bob` both are entitled to 1.5 units,Qand only receive `1` units each, then `0.5 + 0.5 = 1` units are left in `portfolio`,lwhich is now transferrable.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.- `ca_id` identifies the CA to start a capital distribution for.Y- `portfolio` specifies the portfolio number of the agent to distribute `amount` from.�- `currency` to withdraw and distribute from the `portfolio`.�- `per_share` amount of `currency` to withdraw and distribute.%   Specified as a per-million, i.e. `1 / 10^6`th of one `currency` token.�- `amount` of `currency` to withdraw and distribute at most.- `payment_at` specifies when benefits may first be pushed or claimed.)- `expires_at` specifies, if provided, when remaining benefits are forfeit�   and may be reclaimed by `origin`. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `ExpiryBeforePayment` if `expires_at.unwrap() <= payment_at`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `NoRecordDate` if CA has no record date.�- `RecordDateAfterStart` if CA's record date > payment_at.1- `UnauthorizedCustodian` if the caller is not the custodian of `portfolio`.U- `InsufficientPortfolioBalance` if `portfolio` has less than `amount` of `currency`.- `InsufficientBalance` if the protocol fee couldn't be charged.E- `CANotBenefit` if the CA is not of kind PredictableBenefit/UnpredictableBenefit�- `DistributionAmountIsZero` if the `amount` is zero.�- `DistributionPerShareIsZero` if the `per_share` is zero.4# Permissions* Asset,* Portfolioclaimca_id�CAId\Claim a benefit of the capital distribution attached to `ca_id`.�Taxes are withheld as specified by the CA.YPost-tax earnings are then transferred to the default portfolio of the `origin`'s DID.All benefits are rounded by truncation, down to first integer below.9Moreover, before post-tax earnings, in indivisible currencies are transferred,�they are rounded down to a whole unit.0## ArgumentsE- `origin` which must be a holder of the asset and eligible for the distribution.- `ca_id` identifies the CA to start a capital distribution for. # Errors%- `HolderAlreadyPaid` if `origin`'s DID has already received its benefit.- `NoSuchDistribution` if there's no capital distribution for `ca_id`.�- `CannotClaimBeforeStart` if `now < payment_at`.�- `CannotClaimAfterExpiry` if `now > expiry_at.unwrap()`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `NotTargetedByCA` if the CA does not target `origin`'s DID.5- `BalanceAmountProductOverflowed` if `ba = balance * amount` would overflow.5- `BalanceAmountProductSupplyDivisionFailed` if `ba * supply` would overflow.!- Other errors can occur if the compliance manager rejects the transfer.0push_benefitca_id�CAIdholder�(IdentityId`�Push benefit of an ongoing distribution to the given `holder`.�Taxes are withheld as specified by the CA.YPost-tax earnings are then transferred to the default portfolio of the `origin`'s DID.All benefits are rounded by truncation, down to first integer below.9Moreover, before post-tax earnings, in indivisible currencies are transferred,�they are rounded down to a whole unit.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.9- `ca_id` identifies the CA with a capital distributions to push benefits for.|- `holder` to push benefits to. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.- `NoSuchDistribution` if there's no capital distribution for `ca_id`.�- `CannotClaimBeforeStart` if `now < payment_at`.�- `CannotClaimAfterExpiry` if `now > expiry_at.unwrap()`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `NotTargetedByCA` if the CA does not target `holder`.5- `BalanceAmountProductOverflowed` if `ba = balance * amount` would overflow.5- `BalanceAmountProductSupplyDivisionFailed` if `ba * supply` would overflow.!- Other errors can occur if the compliance manager rejects the transfer.reclaimca_id�CAId,�Assuming a distribution has expired,�unlock the remaining amount in the distributor portfolio.0## ArgumentsE- `origin` which must be the creator of the capital distribution tied to `ca_id`.- `ca_id` identifies the CA with a capital distribution to reclaim for. # Errors- `NoSuchDistribution` if there's no capital distribution for `ca_id`.-- `AlreadyReclaimed` if this function has already been called successfully.�- `NotExpired` if `now < expiry`.Lremove_distributionca_id�CAId,�Removes a distribution that hasn't started yet,�unlocking the full amount in the distributor portfolio.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.I- `ca_id` identifies the CA with a not-yet-started capital distribution to remove. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.- `NoSuchDistribution` if there's no capital distribution for `ca_id`.�- `DistributionStarted` if `payment_at <= now`.
Contains a variant per dispatchable extrinsic that this pallet has.�OptionTNoneSome�0pallet_asset(checkpointpalletCallTDcreate_checkpoint asset_id�AssetId$�Creates a single checkpoint at the current time.,# Arguments5- `origin` is a signer that has permissions to act as an agent of `asset_id`.�- `asset_id` to create the checkpoint for. # Errors]- `UnauthorizedAgent` if the DID of `origin` isn't a permissioned agent for `asset_id`.
- `CounterOverflow` if the total checkpoint counter would overflow.pset_schedules_max_complexity8max_complexity0u64$aSets the max complexity of a schedule set for an arbitrary asset_id to `max_complexity`.�The new maximum is not enforced retroactively,�and only applies once new schedules are made.�Must be called as a PIP (requires "root").,# Argumentsx- `origin` is the root origin.- `max_complexity` allowed for an arbitrary asset's schedule set.<create_schedule asset_id�AssetId schedule�LScheduleCheckpointsD�Creates a schedule generating checkpoints�in the future at either a fixed time or at intervals.	The schedule starts out with `strong_ref_count(schedule_id) <- 0`.,# Arguments)- `origin` is a signer that has permissions to act as owner of `asset_id`.�- `asset_id` to create the schedule for.�- `schedule` that will generate checkpoints. # Errors]- `UnauthorizedAgent` if the DID of `origin` isn't a permissioned agent for `asset_id`.!- `InsufficientAccountBalance` if the protocol fee could not be charged.M- `CounterOverflow` if the schedule ID or total checkpoint counters would overflow.4# Permissions* Asset<remove_schedule asset_id�AssetIdid�(ScheduleId8�Removes the checkpoint schedule of an asset identified by `id`.,# Arguments)- `origin` is a signer that has permissions to act as owner of `asset_id`.�- `asset_id` to remove the schedule from.	- `id` of the schedule, when it was created by `created_schedule`. # Errors]- `UnauthorizedAgent` if the DID of `origin` isn't a permissioned agent for `asset_id`.I- `NoCheckpointSchedule` if `id` does not identify a schedule for this `asset_id`.�- `ScheduleNotRemovable` if `id` exists but is not removable.4# Permissions* Asset
Contains a variant per dispatchable extrinsic that this pallet has.�dpallet_compliance_managerpalletCallT$hadd_compliance_requirement asset_id�AssetIdDsender_conditions�8Vec<Condition>Lreceiver_conditions�8Vec<Condition>,�Adds a compliance requirement to an asset given by `asset_id`.iIf there are duplicate ClaimTypes for a particular trusted issuer, duplicates are removed.,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset�* sender_conditions - Sender transfer conditions.�* receiver_conditions - Receiver transfer conditions.4# Permissions* Assettremove_compliance_requirement asset_id�AssetIdidu32$�Removes a compliance requirement from an asset's compliance.,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset�* id - Compliance requirement id which is need to be removed4# Permissions* Asset`replace_asset_compliance asset_id�AssetId@asset_compliancehVec<ComplianceRequirement><�Replaces an asset's compliance with a new compliance.�Compliance requirements will be sorted (ascending by id) before�replacing the current requirements.,# Arguments�* `asset_id` - the asset asset_id,�* `asset_compliance - the new asset compliance. # Errors�* `Unauthorized` if `origin` is not the owner of the asset_id.�* `DuplicateAssetCompliance` if `asset_compliance` contains multiple entries with the same `requirement_id`.4# Permissions* AssetXreset_asset_compliance asset_id�AssetId tRemoves an asset's compliance,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset4# Permissions* AssetXpause_asset_compliance asset_id�AssetId Pauses the verification of conditions for `asset_id` during transfers.,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset4# Permissions* Asset\resume_asset_compliance asset_id�AssetId Resumes the verification of conditions for `asset_id` during transfers.,# Arguments)* origin - Signer of the dispatchable. It should be the owner of the asset�* asset_id - Symbol of the asset4# Permissions* Asset�add_default_trusted_claim_issuer asset_id�AssetIdissuer�4TrustedIssuer$�Adds another default trusted claim issuer at the asset level.,# Arguments-* origin - Signer of the dispatchable. It should be the owner of the asset.�* asset_id - Symbol of the asset.�* issuer - IdentityId of the trusted claim issuer.4# Permissions* Asset�remove_default_trusted_claim_issuer asset_id�AssetIdissuer�(IdentityId$qRemoves the given `issuer` from the set of default trusted claim issuers at the asset level.,# Arguments-* origin - Signer of the dispatchable. It should be the owner of the asset.�* asset_id - Symbol of the asset.�* issuer - IdentityId of the trusted claim issuer.4# Permissions* Assettchange_compliance_requirement asset_id�AssetIdnew_req�TComplianceRequirement$�Modify an existing compliance requirement of a given asset.,# Arguments-* origin - Signer of the dispatchable. It should be the owner of the asset.�* asset_id - Symbol of the asset.�* new_req - Compliance requirement.4# Permissions* Asset
Contains a variant per dispatchable extrinsic that this pallet has.�`pallet_corporate_actionspalletCallT(Xset_max_details_lengthlengthu32�Set the max `length` of `details` in terms of bytes.tMay only be called via a PIP.Lset_default_targets asset_id�AssetIdtargets
@TargetIdentities4�Set the default CA `TargetIdentities` to `targets`.0## ArgumentsM- `origin` which must be an external agent of `asset_id` with relevant permissions.�- `asset_id` for which the default identities are changing.�- `targets` the default target identities for a CA.$## Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.1- `TooManyTargetIds` if `targets.identities.len() > T::MaxTargetIds::get()`.4# Permissions* Assetlset_default_withholding_tax asset_id�AssetIdtax�Tax0ESet the default withholding tax for all DIDs and CAs relevant to this `asset_id`.0## ArgumentsM- `origin` which must be an external agent of `asset_id` with relevant permissions.�- `asset_id` that the withholding tax will apply to.- `tax` that should be withheld when distributing dividends, etc.$## Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.4# Permissions* Asset\set_did_withholding_tax asset_id�AssetId$taxed_did�(IdentityIdtax,Option<Tax>@�Set the withholding tax of `asset_id` for `taxed_did` to `tax`.�If `Some(tax)`, this overrides the default withholding tax of `asset_id` to `tax` for `taxed_did`.�Otherwise, if `None`, the default withholding tax will be used.0## ArgumentsM- `origin` which must be an external agent of `asset_id` with relevant permissions.�- `asset_id` that the withholding tax will apply to.�- `taxed_did` that will have its withholding tax updated.- `tax` that should be withheld when distributing dividends, etc.$## Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `TooManyDidTaxes` if `Some(tax)` and adding the override would go over the limit `MaxDidWhts`.4# Permissions* Assetdinitiate_corporate_action  asset_id�AssetIdkindCAKind$decl_date0Moment,record_date�XOption<RecordDateSpec>details5$CADetailstargets�`Option<TargetIdentities>\default_withholding_tax,Option<Tax><withholding_tax�xOption<Vec<(IdentityId, Tax)>>xQInitiates a CA for `asset_id` of `kind` with `details` and other provided arguments.0## ArgumentsM- `origin` which must be an external agent of `asset_id` with relevant permissions.�- `asset_id` that the CA is made for.|- `kind` of CA being initiated.�- `decl_date` of CA bring initialized.�- `record_date`, if any, to calculate the impact of this CA.a   If provided, this results in a scheduled balance snapshot ("checkpoint") at the date.M- `details` of the CA in free-text form, up to a certain number of bytes in length.�- `targets`, if any, which this CA is relevant/irrelevant to.I   Overrides, if provided, the default at the asset level (`set_default_targets`).]- `default_withholding_tax`, if any, is the default withholding tax to use for this CA.i   Overrides, if provided, the default at the asset level (`set_default_withholding_tax`).!- `withholding_tax`, if any, provides per-DID withholding tax overrides.Y   Overrides, if provided, the default at the asset level (`set_did_withholding_tax`). # Errors- `DetailsTooLong` if `details.len()` goes beyond `max_details_length`.-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.q- `CounterOverflow` in the unlikely event that so many CAs were created for this `asset_id`,�  that integer overflow would have occured if instead allowed.u- `TooManyDidTaxes` if `withholding_tax.unwrap().len()` would go over the limit `MaxDidWhts`.- `DuplicateDidTax` if a DID is included more than once in `wt`.U- `TooManyTargetIds` if `targets.unwrap().identities.len() > T::MaxTargetIds::get()`.- `DeclDateInFuture` if the declaration date is not in the past.Q- When `record_date.is_some()`, other errors due to checkpoint scheduling may occur.4# Permissions* Asset,link_ca_docid�CAIddocs9<Vec<DocumentId>H�Link the given CA `id` to the given `docs`.�Any previous links for the CA are removed in favor of `docs`.UThe workflow here is to add the documents and initiating the CA in any order desired.�Once both exist, they can now be linked together.0## ArgumentsY- `origin` which must be an external agent of `id.asset_id` with relevant permissions.�- `id` of the CA to associate with `docs`.�- `docs` to associate with the CA with `id`. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchCA` if `id` does not identify an existing CA.- `NoSuchDoc` if any of `docs` does not identify an existing document.4# Permissions* Asset$remove_caca_id�CAIdH�Removes the CA identified by `ca_id`.�Associated data, such as document links, ballots,�and capital distributions are also removed.�Any schedule associated with the record date will see�`strong_ref_count(schedule_id)` decremented.0## Argumentse- `origin` which must be an external agent of `ca_id.asset_id` with relevant permissions.x- `ca_id` of the CA to remove. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchCA` if `id` does not identify an existing CA.4# Permissions* AssetHchange_record_dateca_id�CAId,record_date�XOption<RecordDateSpec><�Changes the record date of the CA identified by `ca_id`.0## Argumentse- `origin` which must be an external agent of `ca_id.asset_id` with relevant permissions.t- `ca_id` of the CA to alter.�- `record_date`, if any, to calculate the impact of the CA.a   If provided, this results in a scheduled balance snapshot ("checkpoint") at the date. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchCA` if `id` does not identify an existing CA.Q- When `record_date.is_some()`, other errors due to checkpoint scheduling may occur.4# Permissions* Asset�initiate_corporate_action_and_distributeca_args�lInitiateCorporateActionArgs$portfolio�\Option<PortfolioNumber> currency�AssetId$per_shareBalanceamountBalance(payment_at0Moment(expires_at)8Option<Moment>Utility extrinsic to batch `initiate_corporate_action` and `distribute`�initiate_corporate_action_and_ballotca_args�lInitiateCorporateActionArgsDballot_time_rangeA<BallotTimeRange,ballot_metaE(BallotMetarcv bool	
Contains a variant per dispatchable extrinsic that this pallet has.�OptionT�NoneSome��`pallet_corporate_actions8RecordDateSpec$Scheduled0Moment@ExistingSchedule�(ScheduleId Existing�0CheckpointId�OptionT
NoneSome
�OptionT-NoneSome-�`pallet_corporate_actionslInitiateCorporateActionArgs  asset_id�AssetIdkindCAKind$decl_date0Moment,record_date�XOption<RecordDateSpec>details5$CADetailstargets�`Option<TargetIdentities>\default_withholding_tax,Option<Tax><withholding_tax�xOption<Vec<(IdentityId, Tax)>>�`pallet_corporate_actionsballotpalletCallT4attach_ballotca_id�CAIdrangeA<BallotTimeRangemetaE(BallotMetarcv boolh�Attach a corporate ballot to the CA identified by `ca_id`.�The ballot will admit votes within `range`.�The ballot's metadata is provided by `meta`,which includes the ballot title, the motions, their choices, etc.xSee the `BallotMeta` for more.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `ca_id` identifies the CA to attach the ballot to.�- `range` specifies when voting starts and ends.�- `meta` specifies the ballot's metadata as aforementioned.�- `rcv` specifies whether RCV is enabled for this ballot. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `CANotNotice` if the CA is not of the `IssuerNotice` kind.�- `StartAfterEnd` if `range.start > range.end`.)- `NowAfterEnd` if `now > range.end` where `now` is the current timestamp.�- `NoRecordDate` if CA has no record date.Y- `RecordDateAfterStart` if `date > range.start` where `date` is the CA's record date.�- `AlreadyExists` if there's a ballot already.1- `NumberOfChoicesOverflow` if the total choice in `meta` overflows `usize`.	- `TooLong` if any of the embedded strings in `meta` are too long.- `InsufficientBalance` if the protocol fee couldn't be charged.voteca_id�CAIdvotese<Vec<BallotVote>DCast `votes` in the ballot attached to the CA identified by `ca_id`.0## Arguments	- `origin` which must be a permissioned signer targeted by the CA.�- `ca_id` identifies the attached ballot's CA.!- `votes` specifies the balances to assign to each choice in the ballot.U   The full voting power of `origin`'s DID may be used for each motion in the ballot. # Errors�- `NoSuchBallot` if `ca_id` does not identify a ballot.�- `VotingNotStarted` if the voting period hasn't commenced yet.�- `VotingAlreadyEnded` if the voting period has ended.]- `WrongVoteCount` if the number of choices in the ballot does not match `votes.len()`.�- `NoSuchCA` if `ca_id` does not identify an existing CA.�- `NotTargetedByCA` if the CA does not target `origin`'s DID.!- `InsufficientVotes` if the voting power used for any motion in `votes`�   exceeds `origin`'s DID's voting power.(change_endca_id�CAIdend0Moment0Amend the end date of the ballot of the CA identified by `ca_id`.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `ca_id` identifies the attached ballot's CA.�- `end` specifies the new end date of the ballot. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchBallot` if `ca_id` does not identify a ballot.1- `VotingAlreadyStarted` if `start >= now`, where `now` is the current time.�- `StartAfterEnd` if `start > end`.,change_metaca_id�CAIdmetaE(BallotMeta4aAmend the metadata (title, motions, etc.) of the ballot of the CA identified by `ca_id`.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `ca_id` identifies the attached ballot's CA.�- `meta` specifies the new metadata. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchBallot` if `ca_id` does not identify a ballot.1- `VotingAlreadyStarted` if `start >= now`, where `now` is the current time.1- `NumberOfChoicesOverflow` if the total choice in `meta` overflows `usize`.	- `TooLong` if any of the embedded strings in `meta` are too long.(change_rcvca_id�CAIdrcv bool,Amend RCV support for the ballot of the CA identified by `ca_id`.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `ca_id` identifies the attached ballot's CA.�- `rcv` specifies if RCV is to be supported or not. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchBallot` if `ca_id` does not identify a ballot.1- `VotingAlreadyStarted` if `start >= now`, where `now` is the current time.4remove_ballotca_id�CAId(�Remove the ballot of the CA identified by `ca_id`.0## ArgumentsM- `origin` is a signer that has permissions to act as an agent of `ca_id.asset_id`.�- `ca_id` identifies the attached ballot's CA. # Errors-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.�- `NoSuchBallot` if `ca_id` does not identify a ballot.1- `VotingAlreadyStarted` if `start >= now`, where `now` is the current time.
Contains a variant per dispatchable extrinsic that this pallet has.�,pallet_pipspalletCallTDdset_prune_historical_pipsprune bool,�Sets the pruning setting for historical PIPs. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.�* `prune` - A boolean flag indicating whether completed PIPs should be pruned (`true`) or retained (`false`). # Events�* `HistoricalPipsPruned` - Emitted when the pruning setting is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.`set_min_proposal_depositdepositBalance,�Changes the minimum proposal deposit amount required to start a proposal. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.
* `deposit` - The new minimum deposit required to start a proposal. # Events�* `MinimumProposalDepositChanged` - Emitted when the minimum proposal deposit is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.pset_default_enactment_period durationDBlockNumberFor<T>,iChanges the default enactment period. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.�* `period` - The new default enactment period. # Events�* `DefaultEnactmentPeriodChanged` - Emitted when the default enactment period is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.Xset_pending_pip_expiryexpiryutMaybeBlock<BlockNumberFor<T>>,�Sets the expiry duration (in blocks) for pending PIPs. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.Q* `expiry` - The new expiry duration for pending PIPs. If `None`, PIPs never expire. # Events�* `PendingPipExpiryChanged` - Emitted when the pending PIP expiry duration is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.Xset_max_pip_skip_countmax0SkippedCount,�Sets the maximum number of times a PIP can be skipped. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.�* `max` - The new maximum skip count for PIPs. # Events�* `MaxPipSkipCountChanged` - Emitted when the maximum PIP skip count is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.Pset_active_pip_limitlimitu32,�Sets the limit on the number of active PIPs. This function can only be called by the root origin.,# Arguments�* `origin` - The origin of the call, which must be the root.�* `limit` - The new limit on the number of active PIPs. # Events�* `ActivePipLimitChanged` - Emitted when the active PIP limit is changed, containing the old and new values. # Errors�* `BadOrigin` - If the call is not made by the root origin.propose proposal�@Box<T::Proposal>depositBalanceurlu,Option<Url>,description�XOption<PipDescription><)Proposes a new PIP by submitting a dispatchable which changes the network.,# Arguments�* `origin` - The origin of the call.�* `proposal` - The dispatchable call.�* `deposit` - The deposit amount for the proposal.�* `url` - A link to a website for proposal discussion.�* `description` - A short description of the proposal. # EventsP* `ProposalCreated`. # Errors=* `IncorrectDeposit` - If the deposit amount is less than the required minimum.%* `TooManyActivePips` - If the number of active PIPs exceeds the maximum.voteid�PipId(aye_or_nay booldepositBalance\�Casts a vote either in favor or against a PIP with `id`.IThe "conviction" or strength of the vote is given by `deposit`, which is reserved.�Note that `vote` is *not* additive.�That is, `vote(id, true, 50)` followed by `vote(id, true, 40)`Iwill first reserve `50` and then refund `50 - 10`, ending up with `40` in deposit.%To add atop of existing votes, you'll need `existing_deposit + addition`.,# Arguments�* `origin` - The origin of the call.�* `id` - The proposal ID to vote on.Y* `aye_or_nay` - A boolean representing a vote in favor (`true`) or against (`false`).u* `deposit` - The "conviction" or strength of the vote, represented by the amount of deposit. # Events�* `Voted` - Emitted when a vote is successfully cast. # Errors* `NoSuchProposal` - If the `id` does not reference a valid PIP.�* `NotFromCommunity` - If the proposal was made by a committee.	* `IncorrectProposalState` - If the PIP is not in a pending state.9* `InsufficientDeposit` - If the `origin` cannot reserve the required deposit.=* `IncorrectDeposit` - If the deposit amount is less than the required minimum.happrove_committee_proposalid�PipId@�Approves the pending committee PIP given by the `id`.AThis function can only be called by a Governance Committee (GC) voting majority.,# Arguments!* `origin` - The origin of the call, which must be a GC voting majority.�* `id` - The proposal ID of the PIP to be approved. # Errors* `BadOrigin` - If the call is not made by a GC voting majority.
* `NoSuchProposal` - If the PIP with the given `id` does not exist.* `IncorrectProposalState` - If the proposal is not in a pending state.* `NotByCommittee` - If the proposal was not made by a committee.# NotesThis function schedules the PIP for execution if all checks pass.<reject_proposalid�PipId	HQRejects the PIP given by the `id`. Bonded funds will be refunded, assuming it hasn'tlbeen cancelled or executed.AThis function can only be called by a Governance Committee (GC) voting majority.,# Arguments!* `origin` - The origin of the call, which must be a GC voting majority.�* `id` - The proposal ID of the PIP to be rejected. # Errors* `BadOrigin` - If the call is not made by a GC voting majority.
* `NoSuchProposal` - If the PIP with the given `id` does not exist.* `IncorrectProposalState` - If the proposal was cancelled or executed.# NotesAThis function will unschedule the PIP if it was scheduled for execution and willIunsnapshot the PIP if it was part of a snapshot. It will also handle the rejection�of the proposal and refund any bonded funds.8prune_proposalid�PipId
<�Prunes the PIP given by the `id`. The PIP must not be active.!This function is intended for storage garbage collection purposes and can only be called by a Governance Committee (GC) voting majority.,# Arguments!* `origin` - The origin of the call, which must be a GC voting majority.�* `id` - The proposal ID of the PIP to be pruned. # Errors* `BadOrigin` - If the call is not made by a GC voting majority.
* `NoSuchProposal` - If the PIP with the given `id` does not exist.�* `IncorrectProposalState` - If the proposal is active.# NotesUThis function will remove the PIP from storage and refund any remaining bonded funds.Preschedule_executionid�PipIduntil�dOption<BlockNumberFor<T>>4�Updates the execution schedule of the PIP given by `id`.�This function can only be called by the release coordinator.,# Arguments-* `origin` - The origin of the call, which must be the release coordinator.�* `id` - The proposal ID of the PIP to be rescheduled.M* `until` - An optional future block number where the enactment period will finish.   If `None`, the enactment period will finish in the next block. # Errorsm* `RescheduleNotByReleaseCoordinator` - If the call is not made by the release coordinator.%* `IncorrectProposalState` - If the proposal is not in a scheduled state.}* `InvalidFutureBlockNumber` - If the provided block number is not a valid future block number.8clear_snapshot0�Clears the snapshot and emits the event `SnapshotCleared`.This function can only be called by a Governance Committee (GC) member.,# Arguments�* `origin` - The origin of the call, which must be a GC member. # Events�* `SnapshotCleared` - Emitted when the snapshot is successfully cleared, containing the ID of the cleared snapshot. # Errors* `NotACommitteeMember` - If the call is not made by a GC member. snapshotlimitu32
8Takes a new snapshot of the current list of active and pending PIPs.)The PIPs are then sorted into a priority queue based on each PIP's weight.This function can only be called by a Governance Committee (GC) member.,# Arguments�* `origin` - The origin of the call, which must be a GC member.Y* `limit` - Weight witness for the expected queue length (typically the active PIP limit). The actual weight is refunded based on the real queue size. # Events�* `SnapshotTaken` - Emitted when a snapshot is successfully taken, containing the ID of the snapshot and the queue of PIPs. # Errors* `NotACommitteeMember` - If the call is not made by a GC member.Xenact_snapshot_resultsresults�pVec<(PipId, SnapshotResult)>h�Enacts the results for the PIPs in the snapshot queue.)The snapshot will be available for further enactments until it is cleared.�The `results` parameter is a list of `(id, result)` tuples where `result` is applied to the PIP with the given `id`.INote that the snapshot priority queue is encoded with the *lowest priority first*.}For example, `results = [(id, Approve)]` will approve `SnapshotQueue[SnapshotQueue.len() - 1]`.,# Arguments!* `origin` - The origin of the call, which must be a GC voting majority.
* `results` - A vector of tuples where each tuple contains a PIP ID and a `SnapshotResult` (either `Approve`, `Reject`, or `Skip`). # EventsE* `SnapshotResultsEnacted` - Emitted when the snapshot results are successfully enacted, containing the ID of the snapshot and the actions taken. # Errors* `BadOrigin` - If the call is not made by a GC voting majority.-* `CannotSkipPip` - If a given PIP has already been skipped too many times.�* `SnapshotResultTooLarge` - If the length of `results` is greater than the length of the snapshot queue.�* `SnapshotIdMismatch` - If there is a mismatch between the PIP IDs in `results` and the snapshot queue.# NotesLThis function will:�- Update the skip counts for PIPs that are skipped.!- Reject PIPs that are marked for rejection and refund any bonded funds.1- Approve PIPs that are marked for approval and schedule them for execution.Texecute_scheduled_pipid�PipId4�Executes a scheduled PIP (Polymesh Improvement Proposal).,# Arguments�* `origin` - The origin of the call, which must be the root.�* `id` - The unique identifier of the PIP to be executed. # Errors�* `BadOrigin` - If the call is not made by the root origin.# NotesLThis function will:�- Remove the PIP from the scheduling queue.�- Execute the proposal associated with the PIP.Pexpire_scheduled_pipdid�(IdentityIdid�PipId<�Expires a scheduled PIP (Polymesh Improvement Proposal).,# Arguments�* `origin` - The origin of the call, which must be the root.	* `did` - The identity ID of the entity initiating the expiration.�* `id` - The unique identifier of the PIP to be expired. # Errors�* `BadOrigin` - If the call is not made by the root origin.# NotesLThis function will:�- Check if the PIP is in a pending state.�- Unsnapshot the PIP if it was part of a snapshot.�- Prune the PIP data if it is in an expired state.
Contains a variant per dispatchable extrinsic that this pallet has.������,pallet_pipstypes8SnapshotResultApproveRejectSkip�@pallet_portfoliopalletCallT,@create_portfolioname�4PortfolioName�Creates a portfolio with the given `name`.@delete_portfolio@portfolio_number<PortfolioNumber 5Deletes a user portfolio. A portfolio can be deleted only if it has no funds. # ErrorsQ* `PortfolioDoesNotExist` if `portfolio_number` doesn't reference a valid portfolio.�* `PortfolioNotEmpty` if the portfolio still holds any asset4# Permissions,* Portfolio@rename_portfolio@portfolio_number<PortfolioNumberHnew_portfolio_name�4PortfolioName�Renames a non-default portfolio. # ErrorsQ* `PortfolioDoesNotExist` if `portfolio_number` doesn't reference a valid portfolio.4# Permissions,* PortfolioXquit_portfolio_custodypid
,PortfolioId �When called by the custodian of `portfolio_id`,Iallows returning the custody of the portfolio to the portfolio owner unilaterally. # Errors]* `UnauthorizedCustodian` if the caller is not the current custodian of `portfolio_id`.4# Permissions,* Portfolio`accept_portfolio_custodyauth_id0u64Pmove_portfolio_fundsfrom
,PortfolioIdto
,PortfolioIdfunds�$Vec<Fund>H�Moves fungigle an non-fungible tokens from one portfolio of an identity to another portfolio of the same�identity. Must be called by the custodian of the sender.Funds from deleted portfolios can also be recovered via this method.�A short memo can be added to to each token amount moved. # Errorsi* `PortfolioDoesNotExist` if one or both of the portfolios reference an invalid portfolio.Q* `destination_is_same_portfolio` if both sender and receiver portfolio are the same�* `DifferentIdentityPortfolios` if the sender and receiver portfolios belong to different identitiesI* `UnauthorizedCustodian` if the caller is not the custodian of the from portfolioA* `InsufficientPortfolioBalance` if the sender does not have enough free balanceI* `NoDuplicateAssetsAllowed` the same asset can't be repeated in the items vector.U* `InvalidTransferNFTNotOwned` if the caller is trying to move an NFT he doesn't own.1* `InvalidTransferNFTIsLocked` if the caller is trying to move a locked NFT.4# Permissions,* PortfolioTpre_approve_portfolio asset_id�AssetId0portfolio_id
,PortfolioId$�Pre-approves the receivement of an asset to a portfolio.,# Arguments�* `origin` - the secondary key of the sender.* `asset_id` - the [`AssetId`] that will be exempt from affirmation.]* `portfolio_id` - the [`PortfolioId`] that can receive `asset_id` without affirmation.4# Permissions,* Portfoliotremove_portfolio_pre_approval asset_id�AssetId0portfolio_id
,PortfolioId$�Removes the pre approval of an asset to a portfolio.,# Arguments�* `origin` - the secondary key of the sender.* `asset_id` - the [`AssetId`] that will be exempt from affirmation.]* `portfolio_id` - the [`PortfolioId`] that can receive `asset_id` without affirmation.4# Permissions,* Portfolio�allow_identity_to_create_portfolios@trusted_identity�(IdentityId�Adds an identity that will be allowed to create and take custody of a portfolio under the caller's identity.,# Arguments�* `trusted_identity` - the [`IdentityId`] that will be allowed to call `create_custody_portfolio`.�revoke_create_portfolios_permission identity�(IdentityId	�Removes permission of an identity to create and take custody of a portfolio under the caller's identity.,# Arguments�* `identity` - the [`IdentityId`] that will have the permissions to call `create_custody_portfolio` revoked.`create_custody_portfolioHportfolio_owner_id�(IdentityId8portfolio_name�4PortfolioName
�Creates a portfolio under the `portfolio_owner_id` identity and transfers its custody to the caller's identity.,# Arguments1* `portfolio_owner_id` - the [`IdentityId`] that will own the new portfolio.* `portfolio_name` - the [`PortfolioName`] of the new portfolio.
Contains a variant per dispatchable extrinsic that this pallet has.�!�Lpallet_protocol_feepalletCallTHchange_coefficient,coefficient� PosRatio�Changes the fee coefficient for the root origin. # Errors�* `BadOrigin` - Only root allowed.<change_base_feeop�(ProtocolOp base_feeBalance�Changes the a base fee for the root origin. # Errors�* `BadOrigin` - Only root allowed.
Contains a variant per dispatchable extrinsic that this pallet has.�Lpolymesh_primitives0protocol_fee(ProtocolOp<LAssetRegisterTicker(AssetIssueDAssetAddDocuments@AssetCreateAsset`CheckpointCreateSchedule�ComplianceManagerAddComplianceRequirementLIdentityRegisterDid@IdentityAddClaim�IdentityAddSecondaryKeysWithAuthorization,PipsPropose	@ContractsPutCode
lCorporateBallotAttachBallottCapitalDistributionDistributeLNFTCreateCollection
NFTMint�@pallet_schedulerpalletCallT( schedulewhenDBlockNumberFor<T>8maybe_periodic��Option<schedule::Period<BlockNumberFor<T>>> priorityHschedule::Prioritycall�|Box<<T as Config>::RuntimeCall>pAnonymously schedule a task.cancelwhenDBlockNumberFor<T>indexu32aCancel a scheduled task (named or anonymous), by providing the block it is scheduled forexecution in, as well as the index of the task in that block's agenda.5In the case of a named task, it will remove it from the lookup table as well.8schedule_namedid TaskNamewhenDBlockNumberFor<T>8maybe_periodic��Option<schedule::Period<BlockNumberFor<T>>> priorityHschedule::Prioritycall�|Box<<T as Config>::RuntimeCall>XSchedule a named task.0cancel_namedid TaskNamexCancel a named scheduled task.8schedule_afterafterDBlockNumberFor<T>8maybe_periodic��Option<schedule::Period<BlockNumberFor<T>>> priorityHschedule::Prioritycall�|Box<<T as Config>::RuntimeCall>�Anonymously schedule a task after a delay.Pschedule_named_afterid TaskNameafterDBlockNumberFor<T>8maybe_periodic��Option<schedule::Period<BlockNumberFor<T>>> priorityHschedule::Prioritycall�|Box<<T as Config>::RuntimeCall>�Schedule a named task after a delay.$set_retrytask�xTaskAddress<BlockNumberFor<T>>retriesu8periodDBlockNumberFor<T>8YSet a retry configuration for a task so that, in case its scheduled run fails, it willUbe retried after `period` blocks, for a total amount of `retries` retries or until it$succeeds.UTasks which need to be scheduled for a retry are still subject to weight metering andQagenda space, same as a regular task. If a periodic task fails, it will be scheduled�normally while the task is retrying.QTasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic=clones of the original task. Their retry configuration will be derived from theMoriginal task's configuration, but will have a lower value for `remaining` than thedoriginal `total_retries`.-This call **cannot** be used to set a retry configuration for a named task.<set_retry_namedid TaskNameretriesu8periodDBlockNumberFor<T>8]Set a retry configuration for a named task so that, in case its scheduled run fails, it]will be retried after `period` blocks, for a total amount of `retries` retries or until0it succeeds.UTasks which need to be scheduled for a retry are still subject to weight metering andQagenda space, same as a regular task. If a periodic task fails, it will be scheduled�normally while the task is retrying.QTasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic=clones of the original task. Their retry configuration will be derived from theMoriginal task's configuration, but will have a lower value for `remaining` than thedoriginal `total_retries`.
This is the only way to set a retry configuration for a named task.0cancel_retrytask�xTaskAddress<BlockNumberFor<T>>�Removes the retry configuration of a task.Hcancel_retry_namedid TaskName	�Cancel the retry configuration of a named task.
Contains a variant per dispatchable extrinsic that this pallet has.�OptionT�NoneSome��Dpallet_settlementpalletCallTd0create_venuedetails�0VenueDetailssigners	XBTreeSet<T::AccountId>typ�$VenueTypeXRegisters a new venue.�* `details` - Extra details about a venue=* `signers` - Array of signers that are allowed to sign receipts for this venue�* `typ` - Type of venue being createdPupdate_venue_detailsid�VenueIddetails�0VenueDetails\Edit a venue's details.�* `id` specifies the ID of the venue to edit.�* `details` specifies the updated venue details.Dupdate_venue_typeid�VenueIdtyp�$VenueTypePEdit a venue's type.�* `id` specifies the ID of the venue to edit.�* `type` specifies the new type of the venue.Paffirm_with_receiptsid�4InstructionId<receipt_details�	Vec<ReceiptDetails<T::AccountId, T::OffChainSignature, T::Moment>>(holder_set�BoundedBTreeSet<AssetHolder, T::MaxNumberOfAssetHolders>$�Affirms an instruction using receipts for offchain transfers.,# Arguments* `id` - the [`InstructionId`] of the instruction being affirmed.�* `receipt_details` - a vector of [`ReceiptDetails`], which contain the details about the offchain transfer.�* `holder_set` - a vector of [`AssetHolder`] under the caller's control and intended for affirmation.4# PermissionsL* Portfolio/AccountLset_venue_filtering asset_id�AssetIdenabled bool �Enables or disabled venue filtering for a token.,# Arguments�* `asset_id` - AssetId of the token in question.* `enabled` - Boolean that decides if the filtering should be enabled.4# Permissions* Asset0allow_venues asset_id�AssetIdvenues0Vec<VenueId>
Allows additional venues to create instructions involving an asset.�* `asset_id` - AssetId of the token in question.}* `venues` - Array of venues that are allowed to create instructions for the token in question.4# Permissions* Asset<disallow_venues asset_id�AssetIdvenues0Vec<VenueId>iRevokes permission given to venues for creating instructions involving a particular asset.�* `asset_id` - AssetId of the token in question.�* `venues` - Array of venues that are no longer allowed to create instructions for the token in question.4# Permissions* AssetPupdate_venue_signersid�VenueIdsigners	XBTreeSet<T::AccountId>,add_signers bool\Edit a venue's signers.�* `id` specifies the ID of the venue to edit.�* `signers` specifies the signers to add/remove.�* `add_signers` specifies the update type add/remove of venue where add is true and remove is false.hexecute_manual_instructionid�4InstructionId0asset_holder�LOption<AssetHolder>Hfungible_transfersu328nfts_transfersu32Hoffchain_transfersu320weight_limit�8Option<Weight>4�Manually executes an instruction.,# Arguments* `id`: The [`InstructionId`] of the instruction to be executed.�* `asset_holder`:  One of the caller's [`AssetHolder`] which is also a counter patry in the instruction.aIf None, the caller must be the venue creator or a counter party in a [`Leg::OffChain`].* `fungible_transfers`: The number of fungible legs in the instruction.1* `nfts_transfers`: The number of nfts being transferred in the instruction.* `offchain_transfers`: The number of offchain legs in the instruction.�* `weight_limit`: An optional maximum [`Weight`] value to be charged for executing the instruction.qIf the `weight_limit` is less than the required amount, the instruction will fail execution.MNote: calling the rpc method `get_execute_instruction_info` returns an instance of [`ExecuteInstructionInfo`], which contains the count parameters.<add_instruction venue_id
<Option<VenueId><settlement_type�SettlementType<BlockNumberFor<T>>(trade_date)DOption<T::Moment>(value_date)DOption<T::Moment>legs Vec<Leg>@instruction_memo�0Option<Memo>	$\Adds a new instruction.,# ArgumentsA* `venue_id`: The optional [`VenueId`] of the venue this instruction belongs to.y* `settlement_type`: The [`SettlementType`] specifying when the instruction should be settled.M* `trade_date`: Optional date from which people can interact with this instruction.m* `value_date`: Optional date after which the instruction should be settled (not enforced).�* `legs`: A vector of all [`Leg`] included in this instruction.�* `memo`: An optional [`Memo`] field for this instruction.hadd_and_affirm_instruction venue_id
<Option<VenueId><settlement_type�SettlementType<BlockNumberFor<T>>(trade_date)DOption<T::Moment>(value_date)DOption<T::Moment>legs Vec<Leg>(holder_set�BoundedBTreeSet<AssetHolder, T::MaxNumberOfAssetHolders>@instruction_memo�0Option<Memo>
4�Adds and affirms a new instruction.,# Arguments* `venue_id`: The [`VenueId`] of the venue this instruction belongs to.y* `settlement_type`: The [`SettlementType`] specifying when the instruction should be settled.M* `trade_date`: Optional date from which people can interact with this instruction.m* `value_date`: Optional date after which the instruction should be settled (not enforced).�* `legs`: A vector of all [`Leg`] included in this instruction.�* `holder_set`: A set of [`AssetHolder`] under the caller's control and intended for affirmation.�* `memo`: An optional [`Memo`] field for this instruction.4# Permissions,* PortfolioHaffirm_instructionid�4InstructionId(holder_set�BoundedBTreeSet<AssetHolder, T::MaxNumberOfAssetHolders> �Provide affirmation to an existing instruction.,# Arguments* `id` - the [`InstructionId`] of the instruction being affirmed.�* `holder_set` - a set of [`AssetHolder`] under the caller's control and intended for affirmation.4# Permissions,* PortfolioHreject_instructionid�4InstructionId0asset_holderU,AssetHolder
 �Rejects an existing instruction.,# Arguments* `id` - the [`InstructionId`] of the instruction being rejected.m* `asset_holder` - the [`AssetHolder`] that belongs to the instruction and is rejecting it.4# Permissions,* Portfoliotexecute_scheduled_instructionid�4InstructionId0weight_limit(Weight�Root callable extrinsic, used as an internal call to execute a scheduled settlement instruction.|affirm_with_receipts_with_countid�4InstructionId<receipt_details�	Vec<ReceiptDetails<T::AccountId, T::OffChainSignature, T::Moment>>(holder_set�BoundedBTreeSet<AssetHolder, T::MaxNumberOfAssetHolders>@number_of_assets`Option<AffirmationCount>0�Affirms an instruction using receipts for offchain transfers.,# Arguments* `id` - the [`InstructionId`] of the instruction being affirmed.�* `receipt_details` - a vector of [`ReceiptDetails`], which contain the details about the offchain transfer.�* `holder_set` - a vector of [`AssetHolder`] under the caller's control and intended for affirmation.* `number_of_assets` - an optional [`AffirmationCount`] that will be used for a precise fee estimation before executing the extrinsic.�Note: calling the rpc method `get_affirmation_count` returns an instance of [`AffirmationCount`].4# Permissions,* Portfoliotaffirm_instruction_with_countid�4InstructionId(holder_set�BoundedBTreeSet<AssetHolder, T::MaxNumberOfAssetHolders>@number_of_assets`Option<AffirmationCount>,�Provide affirmation to an existing instruction.,# Arguments* `id` - the [`InstructionId`] of the instruction being affirmed.�* `holder_set` - a vector of [`AssetHolder`] under the caller's control and intended for affirmation.* `number_of_assets` - an optional [`AffirmationCount`] that will be used for a precise fee estimation before executing the extrinsic.�Note: calling the rpc method `get_affirmation_count` returns an instance of [`AffirmationCount`].4# Permissions,* Portfoliotreject_instruction_with_countid�4InstructionId0asset_holderU,AssetHolder@number_of_assetsHOption<AssetCount>,�Rejects an existing instruction.,# Arguments* `id` - the [`InstructionId`] of the instruction being rejected.m* `asset_holder` - the [`AssetHolder`] that belongs to the instruction and is rejecting it.* `number_of_assets` - an optional [`AssetCount`] that will be used for a precise fee estimation before executing the extrinsic.5Note: calling the rpc method `get_execute_instruction_info` returns an instance of [`ExecuteInstructionInfo`], which contain the asset count.4# Permissions,* Portfolioxadd_instruction_with_mediators venue_id
<Option<VenueId><settlement_type�SettlementType<BlockNumberFor<T>>(trade_date)DOption<T::Moment>(value_date)DOption<T::Moment>legs Vec<Leg>@instruction_memo�0Option<Memo>$mediators!�BoundedBTreeSet<IdentityId, T::MaxInstructionMediators>(�Adds a new instruction with mediators.,# Arguments* `venue_id`: The [`VenueId`] of the venue this instruction belongs to.y* `settlement_type`: The [`SettlementType`] specifying when the instruction should be settled.M* `trade_date`: Optional date from which people can interact with this instruction.m* `value_date`: Optional date after which the instruction should be settled (not enforced).�* `legs`: A vector of all [`Leg`] included in this instruction.* `instruction_memo`: An optional [`Memo`] field for this instruction.i* `mediators`: A set of [`IdentityId`] of all the mandatory mediators for the instruction.tadd_and_affirm_with_mediators  venue_id
<Option<VenueId><settlement_type�SettlementType<BlockNumberFor<T>>(trade_date)DOption<T::Moment>(value_date)DOption<T::Moment>legs Vec<Leg>(holder_set�BoundedBTreeSet<AssetHolder, T::MaxNumberOfAssetHolders>@instruction_memo�0Option<Memo>$mediators!�BoundedBTreeSet<IdentityId, T::MaxInstructionMediators>8�Adds and affirms a new instruction with mediators.,# Arguments* `venue_id`: The [`VenueId`] of the venue this instruction belongs to.y* `settlement_type`: The [`SettlementType`] specifying when the instruction should be settled.M* `trade_date`: Optional date from which people can interact with this instruction.m* `value_date`: Optional date after which the instruction should be settled (not enforced).�* `legs`: A vector of all [`Leg`] included in this instruction.�* `holder_set`: A set of [`AssetHolder`] under the caller's control and intended for affirmation.* `instruction_memo`: An optional [`Memo`] field for this instruction.i* `mediators`: A set of [`IdentityId`] of all the mandatory mediators for the instruction.4# Permissions,* Portfolioxaffirm_instruction_as_mediator8instruction_id�4InstructionIdexpiry)DOption<T::Moment>�Affirms the instruction as a mediator - should only be called by mediators, otherwise it will fail.,# Arguments�* `origin`: The secondary key of the sender.A* `instruction_id`: The [`InstructionId`] that will be affirmed by the mediator.�* `expiry`: An Optional value for defining when the affirmation will expire (None means it will always be valid).xreject_instruction_as_mediator8instruction_id�4InstructionId@number_of_assetsHOption<AssetCount>uRejects an existing instruction - should only be called by mediators, otherwise it will fail.,# Arguments5* `instruction_id` - the [`InstructionId`] of the instruction being rejected.* `number_of_assets` - an optional [`AssetCount`] that will be used for a precise fee estimation before executing the extrinsic.5Note: calling the rpc method `get_execute_instruction_info` returns an instance of [`ExecuteInstructionInfo`], which contain the asset count.@lock_instructioninst_id�4InstructionId0weight_limit(Weight<]Moves the instruction status to `LockedForExecution`. This function must be called by aUmediator of the instruction and will only suceed if the following conditions are met:�- All affirmations have been received.�- Instruction is pending or has failed at least one time.�- All mediator's affirmations are still valid.�- All assets are in the allowed venue list.- All senders have the right amount of assets being transferred.- All senders and receivers are compliant and have valid CDD claims.�- All assets' statistics are still valid.t- There are no frozen assets.,# Arguments�* `origin` - The origin of the call, specifying the caller.* `inst_id` - The [`InstructionId`] of the instruction to be locked.a* `weight_limit` - A maximum [`Weight`] value to be charged for locking the instruction.�set_mandatory_receiver_affirmation,requirementXAffirmationRequirement�Sets whether the caller's identity requires mandatory receiver affirmation for incoming transfers.�When `require` is `true`, the caller's identity must explicitly affirm any incoming asset transfer.)When `require` is `false` (default), incoming transfers are auto-affirmed. # Eventsy* `MandatoryReceiverAffirmationSet` - When the mandatory receiver affirmation flag is updated.8transfer_fundsfrom�LOption<AssetHolder>toU,AssetHolderfund!Fund\�Transfer assets between accounts and portfolios.tCurrently supports two modes:%- Direct (owner, same-identity): `from` and `to` resolve to the same DID.i  Transfers immediately via `base_transfer` — no settlement instruction, no affirmation.1- Direct (spender): Caller differs from source owner. Spender-approval mode.)  Allowance is checked and decremented. Spender mode is only available for�  `AssetHolder::Account` sources with fungible funds.	When `from` is `None`, defaults to `AssetHolder::Account(caller)`.�# Spender-mode allowance behaviorI- Finite allowance: decremented by transfer amount. Removed when depleted to zero.1- Unlimited allowance (`Balance::MAX`): never decremented, no storage write.A- No `Approval` event emitted on spend. Use the `allowance` Runtime API to queryX  remaining allowance.,# Arguments* `origin` — Signed origin. Caller must have a registered DID.E* `from` — Source. `None` defaults to caller's account. When set to a different�  account, spender-approval mode activates.�* `to` — Destination account or portfolio.]* `fund` — Asset and amount (fungible) or NFT IDs (non-fungible), plus optional memo.Hunlock_instructioninst_id�4InstructionId(!Unlocks an instruction that is currently in `LockedForExecution` status,9moving it back to `Pending`. Only a mediator of the instruction can call this.IAfter unlocking, the mediator must wait at least [`Config::RelockCooldown`] before)locking the instruction again. This gives other parties time to reject the�instruction if they wish to back out.,# Arguments-* `origin` - The origin of the call, must be a mediator of the instruction.* `inst_id` - The [`InstructionId`] of the instruction to unlock.
Contains a variant per dispatchable extrinsic that this pallet has.���Lpolymesh_primitives(settlement8ReceiptDetails$AccountIdDOffChainSignature�Moment0uid0u648instruction_id�4InstructionIdleg_id�LegIdsigner$AccountId$signature�DOffChainSignature(expires_at0Moment metadata�\Option<ReceiptMetadata>�(sp_runtime8MultiSignatureEd255195Hed25519::SignatureSr255195Hsr25519::SignatureEcdsa@ecdsa::SignatureEthXecdsa::KeccakSignatureALbounded_collectionsDbounded_btree_set<BoundedBTreeSetTUS	,BTreeSet<T>	 BTreeSetTU

UOptionTNoneSomeLpolymesh_primitives(settlement@AffirmationCountHsender_asset_count(AssetCountPreceiver_asset_count(AssetCount8offchain_countu32Lpolymesh_primitives(settlement(AssetCount fungibleu320non_fungibleu32$off_chainu32OptionTNoneSome!Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetT�S�,BTreeSet<T>%Dpallet_statisticspalletCallTXset_active_asset_stats asset_id�AssetId(stat_types)HBTreeSet<StatType><�Set the active asset stat_types.,# Arguments1- `origin` - a signer that has permissions to act as an agent of `asset_id`.�- `asset_id` - the [`AssetId`] to change the active stats on.	- `stat_types` - the new stat types to replace any existing types. # Errors)- `StatTypeLimitReached` - too many stat types enabled for the `asset_id`.�- `CannotRemoveStatTypeInUse` - can not remove a stat type that is in use by transfer conditions.-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.4# Permissions- Agent- Asset`batch_update_asset_stats asset_id�AssetId$stat_type- StatTypevalues-PBTreeSet<StatUpdate><�Allow a trusted issuer to init/resync asset/company stats.,# Arguments1- `origin` - a signer that has permissions to act as an agent of `asset_id`.�- `asset_id` - the [`AssetId`] to change the active stats on.�- `stat_type` - stat type to update.�- `values` - Updated values for `stat_type`. # Errors- `StatTypeMissing` - `stat_type` is not enabled for the `asset_id`.-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.4# Permissions- Agent- Assettset_asset_transfer_compliance asset_id�AssetIdLtransfer_conditions1lBTreeSet<TransferCondition><�Set asset transfer compliance rules.,# Arguments1- `origin` - a signer that has permissions to act as an agent of `asset_id`.�- `asset_id` - the [`AssetId`] to change the active stats on.a- `transfer_conditions` - the new transfer condition to replace any existing conditions. # Errorsa- `TransferConditionLimitReached` - too many transfer condititon enabled for `asset_id`.�- `StatTypeMissing` - a transfer condition requires a stat type that is not enabled for the `asset_id`.-- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset_id`.4# Permissions- Agent- AssetLset_entities_exempt$is_exempt bool(exempt_key]hTransferConditionExemptKey entities�PBTreeSet<IdentityId>8Set/unset entities exempt from an asset's transfer compliance rules.,# ArgumentsQ- `origin` - a signer that has permissions to act as an agent of `exempt_key.asset`.�- `is_exempt` - enable/disable exemption for `entities`.- `exempt_key` - the asset and stat type to exempt the `entities` from.�- `entities` - the entities to set/unset the exemption for. # Errors!- `UnauthorizedAgent` if `origin` is not agent-permissioned for `asset`.4# Permissions- Agent- Asset
Contains a variant per dispatchable extrinsic that this pallet has.) BTreeSetT-)- BTreeSetTA=1 BTreeSetTYU5(pallet_stopalletCallTDcreate_fundraiser(Hoffering_portfolio
,PortfolioId8offering_asset�AssetIdDraising_portfolio
,PortfolioId4raising_asset�AssetIdtiers98Vec<PriceTier> venue_id�VenueIdstart)DOption<T::Moment>end)DOption<T::Moment>Hminimum_investmentBalance<fundraiser_namem8FundraiserNamep�Create a new fundraiser for a security token offering.9This function creates a tiered pricing fundraiser where investors can purchase-tokens at different price points. The fundraiser uses Polymesh's settlement�infrastructure to ensure compliant and secure token transfers.0# Parameters=* `offering_portfolio` - Portfolio containing the tokens being offered for sale�* `offering_asset` - Asset ID of the security token being sold* `raising_portfolio` - Portfolio that will receive the raised funds-* `raising_asset` - Asset ID of the payment token (e.g., POLYX, stablecoin)e* `tiers` - Vector of price tiers (1-10 tiers), each with total amount and price per unit9* `venue_id` - STO venue ID for handling settlements (must be owned by caller)%* `start` - Optional start time; if `None`, fundraiser begins immediately* `end` - Optional end time; if `None`, fundraiser runs indefinitelyI* `minimum_investment` - Minimum amount of `raising_asset` required per investment%* `fundraiser_name` - Human-readable name for UI display (length limited)X# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset`�* **Portfolio Custody**: Caller must have custody of both `offering_portfolio` and `raising_portfolio`a* **Venue Ownership**: The specified `venue_id` must be an STO venue owned by the caller # Errors)* `InvalidVenue` - Venue doesn't exist, wrong type, or not owned by callerU* `InvalidPriceTiers` - Invalid tier configuration (0 tiers, >10 tiers, zero amounts)�* `InvalidOfferingWindow` - Start time is after end time�* `Overflow` - Total offering amount calculation overflowedinvest8offering_asset�AssetId4fundraiser_idi0FundraiserIdPinvestment_portfolio
,PortfolioIdfundingA�FundingMethod<T::AccountId, T::OffChainSignature, T::Moment><purchase_amountBalance$max_priceQ<Option<Balance>|�Invest in a fundraiser using on-chain or off-chain funding.1This function allows investors to purchase tokens from an active fundraiser.-The investment is processed through multiple price tiers in order, starting)with the lowest-priced tier. The purchase creates a settlement instructionthat transfers tokens and payment between the appropriate portfolios.0# Parameters
* `offering_asset` - Asset ID of the security token being purchased* `fundraiser_id` - Unique identifier of the fundraiser to invest in5* `investment_portfolio` - Portfolio where purchased tokens will be depositedA* `funding` - Payment method: either `OnChain(portfolio_id)` for on-chain assetsM  or `OffChain(receipt_details)` for off-chain receipts with signature verification
* `purchase_amount` - Number of `offering_asset` tokens to purchaseA* `max_price` - Optional maximum price per token; if specified, investment fails�  if the blended price across tiers exceeds this limitX# Permissions Required-* **Portfolio Custody**: Caller must have custody of `investment_portfolio`1* **Funding Portfolio**: If using on-chain funding, caller must have custody�  of the funding portfolio specified in the `FundingMethod` # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist�* `FundraiserNotLive` - Fundraiser is frozen or closed)* `FundraiserExpired` - Current time is outside fundraiser's active window9* `InsufficientTokensRemaining` - Not enough tokens available across all tiers5* `InvestmentAmountTooLow` - Total cost is below minimum investment threshold-* `MaxPriceExceeded` - Blended price exceeds investor's maximum price limitE* `OffchainFundingNotAllowed` - Off-chain funding not enabled for this fundraiser* `InvalidSignature` - Off-chain receipt signature verification failedDfreeze_fundraiser8offering_asset�AssetId4fundraiser_idi0FundraiserIdH�Temporarily freeze a fundraiser to prevent new investments.%When a fundraiser is frozen, it cannot accept new investments but remainsotherwise intact. This is useful for pausing activity while resolvingissues or during maintenance periods. The fundraiser can be unfrozen�later to resume normal operations.0# Parameters* `offering_asset` - Asset ID associated with the fundraiser to freeze* `fundraiser_id` - Unique identifier of the fundraiser to freezeX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset` # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist* `FundraiserClosed` - Fundraiser has already been permanently closed* `Unauthorized` - Caller lacks required asset agent permissionsLunfreeze_fundraiser8offering_asset�AssetId4fundraiser_idi0FundraiserIdD�Resume a frozen fundraiser to allow new investments.This function unfreezes a previously frozen fundraiser, returning it to
the Live status where it can accept new investments. The fundraiser�must not be permanently closed for this operation to succeed.0# Parameters!* `offering_asset` - Asset ID associated with the fundraiser to unfreeze
* `fundraiser_id` - Unique identifier of the fundraiser to unfreezeX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset` # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't existQ* `FundraiserClosed` - Fundraiser has been permanently closed and cannot be unfrozen* `Unauthorized` - Caller lacks required asset agent permissions`modify_fundraiser_window8offering_asset�AssetId4fundraiser_idi0FundraiserIdstart0$T::Momentend)DOption<T::Moment>X
Modify the time window when a fundraiser is active for investments.!This function allows authorized agents to update the start and end timesof an active fundraiser. This can be useful for extending fundraisingperiods, adjusting launch timing, or responding to market conditions.
The fundraiser must not be permanently closed to modify its window.0# Parameters* `offering_asset` - Asset ID associated with the fundraiser to modify* `fundraiser_id` - Unique identifier of the fundraiser to modify1* `start` - New start time for the fundraiser (can be in the past or future)1* `end` - New optional end time; if `None`, the fundraiser runs indefinitelyX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset` # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist�* `FundraiserClosed` - Fundraiser has been permanently closedM* `FundraiserExpired` - Fundraiser has already expired (past its original end time)* `InvalidOfferingWindow` - New start time is after new end time* `Unauthorized` - Caller lacks required asset agent permissionsstop8offering_asset�AssetId4fundraiser_idi0FundraiserIdL�Permanently stop a fundraiser and unlock remaining tokens.This function permanently closes a fundraiser, preventing any furtherinvestments. Any remaining tokens that haven't been sold are unlocked	and returned to the offering portfolio. Once stopped, a fundraiserPcannot be restarted.0# Parameters* `offering_asset` - Asset ID associated with the fundraiser to stop�* `fundraiser_id` - Unique identifier of the fundraiser to stopX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset`�  OR be the original creator of the fundraiser # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist* `FundraiserClosed` - Fundraiser has already been permanently closed�* `Unauthorized` - Caller lacks required permissions\enable_offchain_funding8offering_asset�AssetId4fundraiser_idi0FundraiserIdtickerQTickerP�Enable off-chain funding support for a fundraiser.This function allows a fundraiser to accept off-chain payments throughcryptographically signed receipts. Once enabled, investors can use the
`invest` function with `FundingMethod::OffChain` to provide payment�receipts instead of on-chain portfolio transfers.0# Parameters�* `offering_asset` - Asset ID associated with the fundraiser]* `fundraiser_id` - Unique identifier of the fundraiser to enable off-chain funding forI* `ticker` - Ticker symbol of the off-chain asset that will be accepted as paymentX# Permissions RequiredM* **Asset Agent**: Caller must be an authorized external agent for `offering_asset`�  OR be the original creator of the fundraiser # Errors�* `FundraiserNotFound` - Specified fundraiser doesn't exist�* `FundraiserClosed` - Fundraiser has been permanently closed�* `Unauthorized` - Caller lacks required permissions
Contains a variant per dispatchable extrinsic that this pallet has.9==(pallet_sto$PriceTiertotalBalancepriceBalanceA(pallet_sto4FundingMethod$AccountIdDOffChainSignature�Moment0OnChain
,PortfolioId OffChainE�FundraiserReceiptDetails<AccountId, OffChainSignature, Moment>ELpolymesh_primitivessto`FundraiserReceiptDetails$AccountIdDOffChainSignature�Moment0uid0u64signer$AccountId$signature�DOffChainSignature(expires_at0Moment metadata�\Option<ReceiptMetadata>I<pallet_treasurypalletCallT0disbursement4beneficiariesMxVec<Beneficiary<BalanceOf<T>>>QIt transfers balances from treasury to each of beneficiaries and the specific amountDfor each of them.# Error�* `BadOrigin`: Only root can execute transaction.]* `InsufficientBalance`: If treasury balances is not enough to cover all beneficiaries.%* `InvalidIdentity`: If one of the beneficiaries has an invalid identity.4reimbursementamount0BalanceOf<T>It transfers the specific `amount` from `origin` account into treasury.IOnly accounts which are associated to an identity can make a donation to treasury.
Contains a variant per dispatchable extrinsic that this pallet has.MQQLpolymesh_primitives,BeneficiaryBalanceid�(IdentityIdamountBalanceU8pallet_utilitypalletCallTbatchcallsY|Vec<<T as Config>::RuntimeCall>H|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 not9  exceed the constant: `batched_calls_limit` (available in constant metadata).UIf origin is root then the calls are dispatched without checking origin filter. (This�includes bypassing `frame_system::Config::BaseCallFilter`).4## Complexity�- O(C) where C is the number of calls to be batched.UThis will return `Ok` in all circumstances. To determine the success of the batch, an1event is deposited. If a call failed and the batch was interrupted, then theU`BatchInterrupted` event is deposited, along with the number of successful calls madeMand the error of the failed call. If all were successful, then the `BatchCompleted`Levent is deposited.$batch_allcallsY|Vec<<T as Config>::RuntimeCall>4�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 not9  exceed the constant: `batched_calls_limit` (available in constant metadata).UIf origin is root then the calls are dispatched without checking origin filter. (This�includes bypassing `frame_system::Config::BaseCallFilter`).4## Complexity�- O(C) where C is the number of calls to be batched.,dispatch_as$as_origin]TBox<T::PalletsOrigin>call�|Box<<T as Config>::RuntimeCall>�Dispatches a function call with a provided origin.�The dispatch origin for this call must be _Root_.4## Complexity- O(1).,force_batchcallsY|Vec<<T as Config>::RuntimeCall>4|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 not9  exceed the constant: `batched_calls_limit` (available in constant metadata).MIf origin is root then the calls are dispatch without checking origin filter. (This�includes bypassing `frame_system::Config::BaseCallFilter`).4## Complexity�- O(C) where C is the number of calls to be batched.,with_weightcall�|Box<<T as Config>::RuntimeCall>weight(Weight�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_.4as_derivativeindexqu16call�|Box<<T as Config>::RuntimeCall>	�Send a call through an indexed pseudonym of the sender.UFilter from origin are passed along. The call will be dispatched with an origin which�use the same filter as the origin of this call.�The dispatch origin for this call must be _Signed_.
Contains a variant per dispatchable extrinsic that this pallet has.Y�]`polymesh_runtime_developruntime0OriginCallersystematframe_system::Origin<Runtime>DPolymeshCommitteee�pallet_committee::Origin<Runtime, pallet_committee::Instance1>	HTechnicalCommitteei�pallet_committee::Origin<Runtime, pallet_committee::Instance3>@UpgradeCommitteem�pallet_committee::Origin<Runtime, pallet_committee::Instance4>
Reviveqxpallet_revive::Origin<Runtime>Pa4frame_support dispatch$RawOrigin$AccountIdRootSigned$AccountIdNone(Authorizede@pallet_committeepallet$RawOrigin$AccountIdI Endorsedi@pallet_committeepallet$RawOrigin$AccountIdI Endorsedm@pallet_committeepallet$RawOrigin$AccountIdI Endorsedq4pallet_revivepalletOriginT�8EthTransaction0T::AccountIdu,pallet_basepalletCallT
Contains a variant per dispatchable extrinsic that this pallet has.yXpallet_external_agentspalletCallT 0create_group asset_id�AssetIdperms�PExtrinsicPermissionsH�Creates a custom agent group (AG) for the given `asset_id`.�The AG will have the permissions as given by `perms`.)This new AG is then assigned `id = AGIdSequence::get() + 1` as its `AGId`,Awhich you can use as `AgentGroup::Custom(id)` when adding agents for `asset_id`.,# Arguments�- `assetID` the [`AssetId] to add the custom group for.�- `perms` that the new AG will have. # Errors9- `UnauthorizedAgent` if `origin` was not authorized as an agent to call this.!- `TooLong` if `perms` had some string or list length that was too long.%- `CounterOverflow` if `AGIdSequence::get() + 1` would exceed `u32::MAX`.4# Permissions* Asset* AgentTset_group_permissions asset_id�AssetIdid]AGIdperms�PExtrinsicPermissions<YUpdates the permissions of the custom AG identified by `id`, for the given `asset_id`.,# Arguments�- `assetID` the [`AssetId] the custom AG belongs to.�- `id` for the custom AG within `asset_id`.�- `perms` to update the custom AG to. # Errors9- `UnauthorizedAgent` if `origin` was not authorized as an agent to call this.!- `TooLong` if `perms` had some string or list length that was too long.�- `NoSuchAG` if `id` does not identify a custom AG.4# Permissions* Asset* Agent0remove_agent asset_id�AssetIdagent�(IdentityId8�Remove the given `agent` from `asset_id`.,# Arguments�- `assetID` the [`AssetId] that has the `agent` to remove.�- `agent` of `asset_id` to remove. # Errors9- `UnauthorizedAgent` if `origin` was not authorized as an agent to call this.�- `NotAnAgent` if `agent` is not an agent of `asset_id`.�- `RemovingLastFullAgent` if `agent` is the last full one.4# Permissions* Asset* Agent abdicate asset_id�AssetId,�Abdicate agentship for `asset_id`.,# Arguments�- `assetID` the [`AssetId] of which the caller is an agent. # Errors�- `NotAnAgent` if the caller is not an agent of `asset_id`.�- `RemovingLastFullAgent` if the caller is the last full agent.4# Permissions* Asset0change_group asset_id�AssetIdagent�(IdentityIdgroupY(AgentGroup@�Change the agent group that `agent` belongs to in `asset_id`.,# Arguments�- `assetID` the [`AssetId] that has the `agent`.�- `agent` of `asset_id` to change the group for.�- `group` that `agent` will belong to in `asset_id`. # Errors9- `UnauthorizedAgent` if `origin` was not authorized as an agent to call this.�- `NoSuchAG` if `id` does not identify a custom AG.�- `NotAnAgent` if `agent` is not an agent of `asset_id`.-- `RemovingLastFullAgent` if `agent` was a `Full` one and is being demoted.4# Permissions* Asset* AgentLaccept_become_agentauth_id0u64@Accept an authorization by an agent "Alice" who issued `auth_id`�to also become an agent of the asset Alice specified.,# Arguments�- `auth_id` identifying the authorization to accept. # ErrorsE- `Error::InvalidAuthorization` if `auth_id` does not exist for the given caller.5- `Error::AuthorizationExpired` if `auth_id` is for an auth that has expired.M- `Error::BadAuthorizationType` if `auth_id` was not for a `BecomeAgent` auth type.%- `UnauthorizedAgent` if "Alice" is not permissioned to provide the auth.
- `NoSuchAG` if the group referred to a custom that does not exist.	- `AlreadyAnAgent` if the caller is already an agent of the asset.4# Permissions* Agentdcreate_group_and_add_auth asset_id�AssetIdperms�PExtrinsicPermissionstarget�(IdentityIdexpiry)DOption<T::Moment>�Utility extrinsic to batch `create_group` and  `add_auth`.4# Permissions* Asset* Agentxcreate_and_change_custom_group asset_id�AssetIdperms�PExtrinsicPermissionsagent�(IdentityIdUUtility extrinsic to batch `create_group` and  `change_group` for custom groups only.4# Permissions* Asset* Agent
Contains a variant per dispatchable extrinsic that this pallet has.}8pallet_relayerpalletCallT <approve_subsidy user_key0T::AccountId,polyx_limitBalance�Approve a subsidy for a `user_key`.,# Arguments�- `user_key` the user key to subsidise.�- `polyx_limit` the initial POLYX limit for this subsidy.8revoke_subsidy user_key0T::AccountId�Revoke a previously approved subsidy.,# Arguments�- `user_key` the user key to revoke the subsidy for.8accept_subsidy(paying_key0T::AccountId�Accepts a subsidy from a `paying_key`.,# Arguments)- `paying_key` the paying key that is subsidising the caller's `user_key`.8remove_subsidy user_key0T::AccountId(paying_key0T::AccountId,�Removes the `paying_key` from a `user_key`.This can only be called by either the `user_key` or the `paying_key`.,# Arguments�- `user_key` the user key to remove the subsidy from.	- `paying_key` the paying key that was subsidising the `user_key`. # Errors�- `NoPayingKey` if the `user_key` doesn't have a `paying_key`.1- `NotPayingKey` if the `paying_key` doesn't match the current `paying_key`.Hupdate_polyx_limit user_key0T::AccountId,polyx_limitBalance$�Updates the available POLYX for a `user_key`.,# Arguments- `user_key` the user key of the subsidy to update the available POLYX.5- `polyx_limit` the amount of POLYX available for subsidising the `user_key`. # Errors�- `NoPayingKey` if the `user_key` doesn't have a `paying_key`.- `NotPayingKey` if `origin` doesn't match the current `paying_key`.Pincrease_polyx_limit user_key0T::AccountIdamountBalance(�Increase the available POLYX for a `user_key`.,# Arguments- `user_key` the user key of the subsidy to update the available POLYX.
- `amount` the amount of POLYX to add to the subsidy of `user_key`. # Errors�- `NoPayingKey` if the `user_key` doesn't have a `paying_key`.- `NotPayingKey` if `origin` doesn't match the current `paying_key`.=- `Overlow` if the subsidy's remaining POLYX would have overflowed `u128::MAX`.Pdecrease_polyx_limit user_key0T::AccountIdamountBalance(�Decrease the available POLYX for a `user_key`.,# Arguments- `user_key` the user key of the subsidy to update the available POLYX.!- `amount` the amount of POLYX to remove from the subsidy of `user_key`. # Errors�- `NoPayingKey` if the `user_key` doesn't have a `paying_key`.- `NotPayingKey` if `origin` doesn't match the current `paying_key`.	- `Overlow` if the subsidy has less then `amount` POLYX remaining. relay_txtarget0T::AccountId$signature�PT::OffChainSignaturecall��Box<<T as pallet_utility::Config>::RuntimeCall>(expires_at0$T::Moment,�Relay a call for a target from an originQRelaying in this context refers to the ability of origin to make a call on behalf oftarget.�Transaction and protocol fees are charged to origin.0# Parameters�- `target`: Account to be relayed�- `signature`: Signature from target authorizing the relay�- `call`: Call to be relayed on behalf of target
Contains a variant per dispatchable extrinsic that this pallet has.�@pallet_contractspalletCallT(<call_old_weightdestAPAccountIdLookupOf<T>value�0BalanceOf<T>$gas_limit,$OldWeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>data8Vec<u8>Deprecated version if [`Self::call`] for use in an in-storage `Call`.�instantiate_with_code_old_weightvalue�0BalanceOf<T>$gas_limit,$OldWeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>code8Vec<u8>data8Vec<u8>salt8Vec<u8>YDeprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`.Xinstantiate_old_weightvalue�0BalanceOf<T>$gas_limit,$OldWeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>$code_hash4,CodeHash<T>data8Vec<u8>salt8Vec<u8>1Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`.,upload_codecode8Vec<u8>Tstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>,determinism�,Determinism`�Upload new `code` without instantiating a contract from it.!If the code does not already exist a deposit is reserved from the callerEand unreserved only when [`Self::remove_code`] is called. The size of the reserve�depends on the size of the supplied `code`.1If the code already exists in storage it will still return `Ok` and upgrades�the in storage version to the current�[`InstructionWeights::version`](InstructionWeights).U- `determinism`: If this is set to any other value but [`Determinism::Enforced`] then]  the only way to use this code is to delegate call into it from an offchain execution.�  Set to [`Determinism::Enforced`] if in doubt.# NoteYAnyone can instantiate a contract from any uploaded code and thus prevent its removal.ATo avoid this situation a constructor could employ access control so that it can9only be instantiated by permissioned entities. The same is true when uploading�through [`Self::instantiate_with_code`].QUse [`Determinism::Relaxed`] exclusively for non-deterministic code. If the uploadedIcode is deterministic, specifying [`Determinism::Relaxed`] will be disregarded andlresult in higher gas costs.,remove_code$code_hash4,CodeHash<T>5Remove the code stored under `code_hash` and refund the deposit to its owner.EA code can only be removed by its original uploader (its owner) and only if it isdnot used by any contract. set_codedestAPAccountIdLookupOf<T>$code_hash4,CodeHash<T>(	Privileged function that changes the code of an existing contract.EThis takes care of updating refcounts and all other necessary operations. Returns�an error if either the `code_hash` or `dest` do not exist.# Note1This 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 callingHthis dispatchable.calldestAPAccountIdLookupOf<T>value�0BalanceOf<T>$gas_limit(WeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>data8Vec<u8>@Makes a call to an account, optionally transferring some balance.0# 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.U* `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.E* 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.Tinstantiate_with_codevalue�0BalanceOf<T>$gas_limit(WeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>code8Vec<u8>data8Vec<u8>salt8Vec<u8>d1Instantiates a new contract from the supplied `code` optionally transferring4some 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`].0# ParametersM* `value`: The balance to transfer from the `origin` to the newly created contract.* `gas_limit`: The gas limit enforced when executing the constructor.U* `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.1* `salt`: Used for the address derivation. See [`Pallet::contract_address`].�Instantiation is executed as follows:9- The supplied `code` is deployed, and a `code_hash` is created for that code.Y- If the `code_hash` already exists on the chain the underlying `code` will be shared.I- 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.A- The `deploy` function is executed in the context of the newly-created account.,instantiatevalue�0BalanceOf<T>$gas_limit(WeightTstorage_deposit_limit��Option<<BalanceOf<T> as codec::HasCompact>::Type>$code_hash4,CodeHash<T>data8Vec<u8>salt8Vec<u8>�Instantiates a contract from a previously deployed wasm binary.5This function is identical to [`Self::instantiate_with_code`] but without theIcode deployment step. Instead, the `code_hash` of an on-chain deployed wasm binaryDmust be supplied.migrate0weight_limit(Weight	YWhen a migration is in progress, this dispatchable can be used to run migration steps.aCalls that contribute to advancing the migration have their fees waived, as it's helpfulEfor the chain. Note that while the migration is in progress, the pallet will also�leverage the `on_idle` hooks to run migration steps.
Contains a variant per dispatchable extrinsic that this pallet has.�OptionT�NoneSome��@pallet_contractswasm,Determinism EnforcedRelaxed�Hpolymesh_contractspalletCallTlinstantiate_with_code_perms$endowmentBalance$gas_limit(WeightTstorage_deposit_limitQ<Option<Balance>code8Vec<u8>data8Vec<u8>salt8Vec<u8>perms�,Permissions`-Instantiates a smart contract defining it with the given `code` and `salt`.�The contract will be attached as a secondary key,�with `perms` as its permissions, to `origin`'s identity.�The contract is transferred `endowment` amount of POLYX.�This is distinct from the `gas_limit`,which controls how much gas the deployment code may at most consume.,# Arguments�- `endowment` amount of POLYX to transfer to the contract.U- `gas_limit` for how much gas the `deploy` code in the contract may at most consume.Q- `storage_deposit_limit` The maximum amount of balance that can be charged/reserved�  from the caller to pay for the storage consumed.�- `code` with the WASM binary defining the smart contract.�- `data` The input data to pass to the contract constructor.�- `salt` used for contract address derivation.!   By varying this, the same `code` can be used under the same identity.�- `perms` that the new secondary key will have. # Errorse- All the errors in `pallet_contracts::Call::instantiate_with_code` can also happen here.�- CDD/Permissions are checked, unlike in `pallet_contracts`.!- Errors that arise when adding a new secondary key can also occur here.linstantiate_with_hash_perms$endowmentBalance$gas_limit(WeightTstorage_deposit_limitQ<Option<Balance>$code_hash4,CodeHash<T>data8Vec<u8>salt8Vec<u8>perms�,Permissionsl9Instantiates a smart contract defining using the given `code_hash` and `salt`.|Unlike `instantiate_with_code`,ithis assumes that at least one contract with the same WASM code has already been uploaded.�The contract will be attached as a secondary key,�with `perms` as its permissions, to `origin`'s identity.�The contract is transferred `endowment` amount of POLYX.�This is distinct from the `gas_limit`,which controls how much gas the deployment code may at most consume.,# Arguments�- `endowment` amount of POLYX to transfer to the contract.U- `gas_limit` for how much gas the `deploy` code in the contract may at most consume.Q- `storage_deposit_limit` The maximum amount of balance that can be charged/reserved�  from the caller to pay for the storage consumed.�- `code_hash` of an already uploaded WASM binary.�- `data` The input data to pass to the contract constructor.�- `salt` used for contract address derivation.!   By varying this, the same `code` can be used under the same identity.�- `perms` that the new secondary key will have. # Errors=- All the errors in `pallet_contracts::Call::instantiate` can also happen here.�- CDD/Permissions are checked, unlike in `pallet_contracts`.!- Errors that arise when adding a new secondary key can also occur here.tupdate_call_runtime_whitelistupdates�`Vec<(ExtrinsicId, bool)>tUpdate CallRuntime whitelist.,# Arguments # Errors,upgrade_apiapi�Api0next_upgrade�8NextUpgrade<T>
Contains a variant per dispatchable extrinsic that this pallet has.���� �Hpolymesh_contracts,NextUpgradeT4chain_version�0ChainVersion api_hash�8ApiCodeHash<T>�Hpolymesh_contracts,ApiCodeHashThash4,CodeHash<T>�<pallet_preimagepalletCallT4note_preimagebytes8Vec<u8>tRegister a preimage on-chain.UIf the preimage was previously requested, no fees or deposits are taken for providingUthe preimage. Otherwise, a deposit is taken proportional to the size of the preimage.<unnote_preimagehash4T::Hash�Clear an unrequested preimage from the runtime storage.�If `len` is provided, then it will be a much cheaper operation.- `hash`: The hash of the preimage to be removed from the store.�- `len`: The length of the preimage of `hash`.@request_preimagehash4T::HashARequest a preimage be uploaded to the chain without paying any fees or deposits.UIf the preimage requests has already been provided on-chain, we unreserve any deposit9a user may have paid, and take the control of the preimage out of their hands.Hunrequest_preimagehash4T::Hash�Clear a previously made request for a preimage.-NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`.8ensure_updatedhashesq0Vec<T::Hash>�Ensure that the bulk of pre-images is upgraded.=The caller pays no fee if at least 90% of pre-images were successfully updated.
Contains a variant per dispatchable extrinsic that this pallet has.�(pallet_nftpalletCallTTcreate_nft_collection asset_id�<Option<AssetId> nft_type�\Option<NonFungibleType><collection_keys�DNFTCollectionKeysDtCretes a new `NFTCollection`.,# Arguments�* `origin` - contains the secondary key of the caller (i.e. who signed the transaction to execute this function).�* `asset_id` - optional [`AssetId`] associated to the new collection. `None` will create a new asset.�* `nft_type` - in case the asset hasn't been created yet, one will be created with the given type.y* `collection_keys` - all mandatory metadata keys that the tokens in the collection must have.$## Errorsq- `CollectionAlredyRegistered` - if the asset_id is already associated to an NFT collection.	- `InvalidAssetType` - if the associated asset is not of type NFT.�- `MaxNumberOfKeysExceeded` - if the number of metadata keys for the collection is greater than the maximum allowed.�- `UnregisteredMetadataKey` - if any of the metadata keys needed for the collection has not been registered.E- `DuplicateMetadataKey` - if a duplicate metadata keys has been passed as input.4# Permissions* Asset$issue_nft asset_id�AssetId\nft_metadata_attributes�dVec<NFTMetadataAttribute>4holdings_kind�<AssetHolderKindDpIssues an NFT to the caller.,# Arguments=* `origin` - is a signer that has permissions to act as an agent of `asset_id`.�* `asset_id` - the [`AssetId`] of the NFT collection.E* `nft_metadata_attributes` - all mandatory metadata keys and values for the NFT.5- `holdings_kind` - the [`AssetHolderKind`] that will receive the minted nft.$## Errors�- `CollectionNotFound` - if the collection associated to the given asset_id has not been created.�- `InvalidMetadataAttribute` - if the number of attributes is not equal to the number set in the collection or attempting to set a value for a key not definied in the collection.E- `DuplicateMetadataKey` - if a duplicate metadata keys has been passed as input.4# Permissions* Asset,* Portfolio(redeem_nft asset_id�AssetIdnft_id�NFTId4holdings_kind�<AssetHolderKind8number_of_keys�(Option<u8><�Redeems the given NFT from the caller's portfolio.,# Arguments=* `origin` - is a signer that has permissions to act as an agent of `asset_id`.�* `asset_id` - the [`AssetId`] of the NFT collection.�* `nft_id` - the id of the NFT to be burned.	* `holdings_kind` - the [`AssetHolderKind`] that contains the nft.$## Errors�- `CollectionNotFound` - if the collection associated to the given asset_id has not been created.
- `NFTNotFound` - if the given NFT does not exist in the portfolio.4# Permissions* Asset,* PortfolioLcontroller_transfernfts�NFTssourceU,AssetHolder@destination_kind�<AssetHolderKind,5Forces the transfer of NFTs from a given portfolio to the caller's portfolio.,# Arguments=* `origin` - is a signer that has permissions to act as an agent of `asset_id`.�* `nft_id` - the [`NFTId`] of the NFT to be transferred.�* `source` - the [`AssetHolder`] that currently holds the NFT.%* `destination_kind` - the [`AssetHolderKind`] of the caller's portfolio.4# Permissions* Asset,* Portfolio0transfer_nftnfts�NFTsto0T::AccountIdmemo�0Option<Memo>0�Transfer NFTs from the caller's account to another account.Same-identity transfers move NFTs directly. Cross-identity transfers�route through the settlement engine.For portfolio-based transfers, use `Settlement::transfer_funds`.,# Arguments* `origin` — Signed origin. Caller must have a registered DID.�* `nfts` — The NFTs to transfer.|* `to` — Destination account.�* `memo` — Optional memo attached to the transfer.
Contains a variant per dispatchable extrinsic that this pallet has.�OptionT�NoneSome��OptionTNoneSome�Lpolymesh_primitivesnftDNFTCollectionKeys�TVec<AssetMetadataKey>�����Lpolymesh_primitivesnftPNFTMetadataAttributekey�@AssetMetadataKeyvalueYHAssetMetadataValue�OptionTNoneSome��pallet_election_provider_multi_phasepalletCallT<submit_unsigned0raw_solution��Box<RawSolution<SolutionOf<T::MinerConfig>>>witness�	XSolutionOrSnapshotSize8�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 onlyUvalidated 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).YTo prevent any incorrect solution (and thus wasted time/weight), this transaction willMpanic 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.lset_minimum_untrusted_score@maybe_next_score�	TOption<ElectionScore>�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`.tset_emergency_election_result supports�	XSupports<T::AccountId> YSet a solution in the queue, to be handed out to the client of this pallet in the next�call to `ElectionProvider::elect`.EThis can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`.aThe solution is not checked for any feasibility and is assumed to be trustworthy, as anyQfeasibility check itself can in principle cause the election process to fail (due tohmemory/weight constrains).submit0raw_solution��Box<RawSolution<SolutionOf<T::MinerConfig>>>$�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 endPof the signed phase.]A deposit is reserved and recorded for the solution. Based on the outcome, the solutionmight be rewarded, slashed, or get all or a part of the deposit back.Lgovernance_fallback�Trigger the governance fallback.IThis can only be called when [`Phase::Emergency`] is enabled, as an alternative to�calling [`Call::set_emergency_election_result`].
Contains a variant per dispatchable extrinsic that this pallet has.��pallet_election_provider_multi_phase,RawSolutionS� solution�Sscore�4ElectionScoreroundu32�\polymesh_runtime_common8NposSolution16@votes1�votes2�votes3�votes4�votes5		votes6	votes7!	votes8-	votes99	votes10E	votes11Q	votes12]	votes13i	votes14u	votes15�	votes16�	������q������������4sp_arithmetic(per_thingsPerU16qu16���������		�	�	�		
	
	�	�	�			�	�	�!	%	%	�)	�)	�-	1	1	�5	�5	�9	=	=	�A	�A	�E	I	I	�M	�M		�Q	U	U	�Y	�Y	
�]	a	a	�e	�e	�i	m	m	�q	�q	�u	y	y	�}	�}	
��	�	�	��	��	��	�	�	��	��	��	�pallet_election_provider_multi_phaseXSolutionOrSnapshotSizevoters�u32targets�u32�	OptionT�NoneSome��	�	�	�	�	Dsp_npos_electionsSupport$AccountIdtotal<ExtendedBalancevoters�	�Vec<(AccountId, ExtendedBalance)>�	�	�	�	ppolymesh_transaction_paymentpalletCallT@set_disable_feesvalue bool
Contains a variant per dispatchable extrinsic that this pallet has.�	0pallet_beefypalletCallTPreport_double_votingHequivocation_proof�	�Box<DoubleVotingProof<BlockNumberFor<T>, T::BeefyId,<T::BeefyId
as RuntimeAppPublic>::Signature,>,><key_owner_proof-@T::KeyOwnerProof	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 offenceDwill be reported.treport_double_voting_unsignedHequivocation_proof�	�Box<DoubleVotingProof<BlockNumberFor<T>, T::BeefyId,<T::BeefyId
as RuntimeAppPublic>::Signature,>,><key_owner_proof-@T::KeyOwnerProof$	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 offenceDwill be reported.
This extrinsic must be called unsigned and it is expected that onlyblock authors will call it (validated in `ValidateUnsigned`), as suchif the block author is defined it will be defined as the equivocation$reporter.<set_new_genesis<delay_in_blocksDBlockNumberFor<T>]Reset BEEFY consensus by setting a new BEEFY genesis at `delay_in_blocks` blocks in thefuture.�Note: `delay_in_blocks` has to be at least 1.Hreport_fork_votingHequivocation_proof�	�Box<ForkVotingProof<HeaderFor<T>, T::BeefyId,<T::AncestryHelper
as AncestryHelper<HeaderFor<T>>>::Proof,>,><key_owner_proof-@T::KeyOwnerProof=Report fork voting equivocation. 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.lreport_fork_voting_unsignedHequivocation_proof�	�Box<ForkVotingProof<HeaderFor<T>, T::BeefyId,<T::AncestryHelper
as AncestryHelper<HeaderFor<T>>>::Proof,>,><key_owner_proof-@T::KeyOwnerProof =Report fork voting equivocation. 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 onlyblock authors will call it (validated in `ValidateUnsigned`), as suchif the block author is defined it will be defined as the equivocation$reporter.hreport_future_block_votingHequivocation_proof�	�Box<FutureBlockVotingProof<BlockNumberFor<T>, T::BeefyId>><key_owner_proof-@T::KeyOwnerProof]Report future block voting equivocation. 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.�report_future_block_voting_unsignedHequivocation_proof�	�Box<FutureBlockVotingProof<BlockNumberFor<T>, T::BeefyId>><key_owner_proof-@T::KeyOwnerProof ]Report future block voting equivocation. 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 onlyblock authors will call it (validated in `ValidateUnsigned`), as suchif the block author is defined it will be defined as the equivocation$reporter.
Contains a variant per dispatchable extrinsic that this pallet has.�	Hsp_consensus_beefyDDoubleVotingProofNumberIdM$Signature�	first�	�VoteMessage<Number, Id, Signature>second�	�VoteMessage<Number, Id, Signature>�	Hsp_consensus_beefy0ecdsa_crypto$Signature@ecdsa::Signature�	Hsp_consensus_beefy,VoteMessageNumberIdM$Signature�	(commitment�	HCommitment<Number>idMId$signature�	$Signature�	Hsp_consensus_beefy(commitment(Commitment0TBlockNumberpayload�	Payload0block_number0TBlockNumber@validator_set_id08ValidatorSetId�	Hsp_consensus_beefypayloadPayload�	xVec<(BeefyPayloadId, Vec<u8>)>�	�	�	�	8�	�	Hsp_consensus_beefy<ForkVotingProofHeader)IdM4AncestryProof�	vote�	�VoteMessage<Header::Number, Id, Id::Signature>8ancestry_proof�	4AncestryProofheader)Header�	Dsp_mmr_primitives4AncestryProofHash4(prev_peaksq$Vec<Hash><prev_leaf_count0u64(leaf_count0$NodeIndexitems�	@Vec<(u64, Hash)>�	�	�	04�	Hsp_consensus_beefyXFutureBlockVotingProofNumberIdMvote�	�VoteMessage<Number, Id, Id::Signature>�	Dpallet_migrationspalletCallT@force_set_cursorcursor�	LOption<CursorOf<T>>]Allows root to set a cursor to forcefully start, stop or forward the migration process.IShould normally not be needed and is only in place as emergency measure. Note thatrestarting the migration process in this manner will not call the-[`MigrationStatusHandler::started`] hook or emit an `UpgradeStarted` event.\force_set_active_cursorindexu320inner_cursor
XOption<RawCursorOf<T>>(started_at�dOption<BlockNumberFor<T>>YAllows root to set an active cursor to forcefully start/forward the migration process.EThis is an edge-case version of [`Self::force_set_cursor`] that allows to set thea`started_at` value to the next block number. Otherwise this would not be possible, sinceE`force_set_cursor` takes an absolute block number. Setting `started_at` to `None`indicates that the current block number plus one should be used.Hforce_onboard_mbms�Forces the onboarding of the migrations.]This process happens automatically on a runtime upgrade. It is in place as an emergency�measurement. The cursor needs to be `None` for this to succeed.8clear_historic selector	
�HistoricCleanupSelector<IdentifierOf<T>>hClears the `Historic` set.
`map_cursor` must be set to the last value that was returned by the]`HistoricCleared` event. The first time `None` can be used. `limit` must be chosen in a�way that will result in a sensible weight.
Contains a variant per dispatchable extrinsic that this pallet has.�	OptionT�	NoneSome�	�	Dpallet_migrations<MigrationCursorCursor�	,BlockNumberActive
�ActiveCursor<Cursor, BlockNumber>Stuck�	Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>
Dpallet_migrations0ActiveCursorCursor�	,BlockNumberindexu320inner_cursor
8Option<Cursor>(started_at,BlockNumber
OptionT�	NoneSome�		
Dpallet_migrations\HistoricCleanupSelectorId
 Specific
Vec<Id> Wildcardlimit�,Option<u32><previous_cursor�<Option<Vec<u8>>
Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>


hpallet_confidential_assetspalletCallTTDregister_accountsproof
�AccountRegistrationProof<PolymeshLimits>$`Register a dart account.,# Arguments�* `account` the dart account to register.�* `encryption_key` the encryption key for the dart account. # Errors�* `BadOrigin` if `origin` isn't signed.Y* `AccountAlreadyCreated` if the dart account or encryption key is already registered.`register_encryption_keysproof1
�EncryptionKeyRegistrationProof<PolymeshLimits>(�Register encryption keys for auditors/mediators.,# Arguments�* `origin` - The origin of the call.�* `proof` - The auditor/mediator encryption registration proof. # Errors�* `BadOrigin` if `origin` isn't signed.=* `EncryptionKeyAlreadyRegistered` if the encryption key is already registered.�* `InvalidProof` if the proof is invalid.0create_assetnameNamesymbolSymbol decimalsu8$mediators�0MediatorKeys auditors�,AuditorKeysdata	�BoundedVec<u8, T::MaxAssetDataLength>$�Create a new Confidential Asset.,# Arguments�* `auditor_or_mediator` - The auditor or mediator public key. # Errors�* `BadOrigin` if `origin` isn't signed.* `AccountMissing` if the auditor or mediator is not registered.q* `EncryptionKeyMissing` if the encryption key of the auditor or mediator is not registered.\register_account_assetsproof=
�BatchedAccountAssetRegistrationProof<PolymeshLimits><�Batch register multiple accounts and assets.�This is used to initialize the first account state commitment of the Confidential asset for the Confidential account.,# Argumentse* `origin` - The origin of the call.  They must be the owner of the Confidential account.�* `proof` - The Batched Account asset registration proof. # Errors�* `BadOrigin` if `origin` isn't signed.* `AccountMissing` if the Confidential account is not registered.�* `AssetMissing` if the Confidential asset is not registered.�* `AccountAssetAlreadyRegistered` if the Confidential account has already registered the Confidential asset.=* `NotAccountOwner` if the caller is not the owner of the Confidential account.�* `InvalidProof` if the proof is invalid.(mint_assetproofQ
�AssetMintingProof<PolymeshLimits><hMint a Confidential asset.,# Arguments�* `origin` - The origin of the call. They must be the owner of the Confidential asset and Confidential account.x* `proof` - The minting proof. # Errors�* `BadOrigin` if `origin` isn't signed.* `AccountMissing` if the Confidential account is not registered.�* `AssetMissing` if the Confidential asset is not registered.=* `NotAccountOwner` if the caller is not the owner of the Confidential account.�* `InvalidProof` if the proof is invalid.-* `NotAssetOwner` if the caller is not the owner of the Confidential asset.�* `MaxTotalSupplyExceeded` if the total supply of the Confidential asset exceeds the maximum total supply.�* `NullifierAlreadyUsed` if the nullifier for the account state commitment has already been used.Dcreate_settlementproof]
|SettlementProof<PolymeshLimits>,`Create a new settlement.,# Arguments�* `origin` - The origin of the call.�* `proof` - The settlement proof. # Errors�* `BadOrigin` if `origin` isn't signed.�* `InvalidProof` if the proof is invalid.�* `SettlementMissingLegs` if the settlement has no legs.M* `SettlementTooManyLegs` if the settlement has more legs than the maximum allowed.Hsender_affirmationproof}
�SenderAffirmationProof<PolymeshLimits>0�Sender affirms a settlement leg.,# Arguments�* `origin` - The origin of the call.�* `proof` - The sender affirmation proof. # Errors�* `BadOrigin` if `origin` isn't signed.�* `SettlementNotPending` if the settlement is not pending.�* `SettlementNotFound` if the settlement is not found.�* `LegNotFound` if the leg is not found in the settlement.* `AlreadyAffirmed` if the leg has already been affirmed by the sender.Preceiver_affirmationproof�
�ReceiverAffirmationProof<PolymeshLimits>0�Receiver affirms a settlement leg.,# Arguments�* `origin` - The origin of the call.�* `proof` - The receiver affirmation proof. # Errors�* `BadOrigin` if `origin` isn't signed.�* `SettlementNotPending` if the settlement is not pending.�* `SettlementNotFound` if the settlement is not found.�* `LegNotFound` if the leg is not found in the settlement.%* `AlreadyAffirmed` if the leg has already been affirmed by the receiver.Pmediator_affirmationproof�
�MediatorAffirmationProof<PolymeshLimits>4�Mediator affirms a settlement leg.,# Arguments�* `origin` - The origin of the call.�* `proof` - The mediator affirmation proof. # Errors�* `BadOrigin` if `origin` isn't signed.�* `SettlementNotPending` if the settlement is not pending.�* `SettlementNotFound` if the settlement is not found.�* `LegNotFound` if the leg is not found in the settlement.%* `AlreadyAffirmed` if the leg has already been affirmed by the mediator.a* `WrongMediatorId` if the mediator ID does not match the expected mediator for the leg.Tsender_update_counterproof�
�SenderCounterUpdateProof<PolymeshLimits>	,	Sender updates their counter after a settlement has been executed.,# Arguments�* `origin` - The origin of the call.�* `proof` - The sender update proof. # Errors�* `BadOrigin` if `origin` isn't signed.	* `SettlementNotExecuted` if the settlement has not been executed.�* `SettlementNotFound` if the settlement is not found.�* `LegNotFound` if the leg is not found in the settlement.dsender_revert_affirmationproof�
�SenderRevertAffirmationProof<PolymeshLimits>
,�Sender reverts their affirmation.,# Arguments�* `origin` - The origin of the call.�* `proof` - The sender revert affirmation proof. # Errors�* `BadOrigin` if `origin` isn't signed.)* `SettlementAlreadyExecuted` if the settlement has already been executed.�* `SettlementNotFound` if the settlement is not found.�* `LegNotFound` if the leg is not found in the settlement.lreceiver_revert_affirmationproof�
�ReceiverRevertAffirmationProof<PolymeshLimits>,�Receiver reverts their affirmation.,# Arguments�* `origin` - The origin of the call.�* `proof` - The receiver revert affirmation proof. # Errors�* `BadOrigin` if `origin` isn't signed.)* `SettlementAlreadyExecuted` if the settlement has already been executed.�* `SettlementNotFound` if the settlement is not found.�* `LegNotFound` if the leg is not found in the settlement.8receiver_claimproof�
�ReceiverClaimProof<PolymeshLimits>,	Receiver claims their assets after a settlement has been executed.,# Arguments�* `origin` - The origin of the call.�* `proof` - The receiver claim proof. # Errors�* `BadOrigin` if `origin` isn't signed.	* `SettlementNotExecuted` if the settlement has not been executed.�* `SettlementNotFound` if the settlement is not found.�* `LegNotFound` if the leg is not found in the settlement.Hbatched_settlementproof�
�BatchedSettlementProof<PolymeshLimits>
,�Create a settlement with batched leg affirmations.,# Arguments�* `origin` - The origin of the call.�* `proof` - The settlement proof with batched leg affirmations. # Errors�* `BadOrigin` if `origin` isn't signed.�* `InvalidProof` if the proof is invalid.�* `SettlementMissingLegs` if the settlement has no legs.M* `SettlementTooManyLegs` if the settlement has more legs than the maximum allowed.Tregister_fee_accountsproof�
�BatchedFeeAccountRegistrationProof<PolymeshLimits><�Batch register multiple fee accounts.1This is used to register fee accounts for Confidential private fee payments.,# Arguments�* `origin` - The origin of the call.�* `proof` - The batched fee account registration proof. # Errors�* `BadOrigin` if `origin` isn't signed.m* `FeeAccountAlreadyRegistered` if the fee account or encryption key is already registered.�* `NullifierAlreadyUsed` if the nullifier for the fee account state commitment has already been used.�* `InvalidFeeAssetId` if the fee asset ID is invalid.�* `InvalidProof` if the proof is invalid.I* `InsufficientBalance` if the caller has insufficient balance to pay the deposit.Htopup_fee_accountsproof�
�BatchedFeeAccountTopupProof<PolymeshLimits>0tToup a batch of fee accounts.,# Arguments�* `origin` - The origin of the call.�* `proof` - The batched fee account topup proof. # Errors�* `BadOrigin` if `origin` isn't signed.�* `FeeAccountMissing` if the fee account is not registered.�* `InvalidFeeAssetId` if the fee asset ID is invalid.�* `InvalidProof` if the proof is invalid.I* `InsufficientBalance` if the caller has insufficient balance to pay the deposit.Tsubmit_batched_proofsprooftBatchedProofs<PolymeshLimits>$dSubmit a batch of proofs.,# Arguments�* `origin` - The origin of the call.|* `proof` - The batched proofs. # Errors�* `BadOrigin` if `origin` isn't signed.�* `InvalidProof` if any of the proofs are invalid.trelayer_submit_batched_proofsproof9�FeePaymentWithBatchedProofs<PolymeshLimits>H	Relayer submit a batch of proofs paid using a private fee payment.�Users can use a Relayer service to submit their Confidential proofs for privacy (i.e., the origin is not the user).�The Relayer is paid/reimbursed using a private fee payment from the user's Confidential fee account.�Relayers can charge a commission fee on top of the transaction fee (i.e. `commission fee + transaction fee = fee amount`).Relayers should verify that the fee payment proof is valid before submitting the batched Confidential proofs.  They are not requiredmto verify the batched Confidential proofs.  If the user's Confidential proofs are invalid, the user is still responsible for paying the fee to the relayer.,# Arguments�* `origin` - The origin of the call.  This is the relayer.	* `proof` - The fee payment proof and batched Confidential proofs. # Errors�* `BadOrigin` if `origin` isn't signed.�* `InvalidFeePaymentProof` if the fee payment proof is invalid.]* `InsufficientFeePayment` if the fee payment is insufficient to cover the relayer fee.hexecute_instant_settlementproof
�InstantSettlementProof<PolymeshLimits>,�Create and execute an instant settlement.,# Arguments�* `origin` - The origin of the call.�* `proof` - The settlement proof with batched leg affirmations. # Errors�* `BadOrigin` if `origin` isn't signed.�* `InvalidProof` if the proof is invalid.�* `SettlementMissingLegs` if the settlement has no legs.M* `SettlementTooManyLegs` if the settlement has more legs than the maximum allowed.hinstant_sender_affirmationproof�InstantSenderAffirmationProof<PolymeshLimits><Sender affirms a settlement leg as the last pending affirmation.�This can only be used when the sender affirmation is the last pending affirmation for the settlement.,# Arguments�* `origin` - The origin of the call.�* `proof` - The instant sender affirmation proof. # Errors�* `BadOrigin` if `origin` isn't signed.�* `SettlementNotPending` if the settlement is not pending.�* `SettlementNotFound` if the settlement is not found.�* `LegNotFound` if the leg is not found in the settlement.* `AlreadyAffirmed` if the leg has already been affirmed by the sender.�* `NotLastPendingAffirmation` if the sender affirmation is not the last pending affirmation for the settlement.pinstant_receiver_affirmationproof!�InstantReceiverAffirmationProof<PolymeshLimits><	Receiver affirms a settlement leg as the last pending affirmation.�This can only be used when the receiver affirmation is the last pending affirmation for the settlement.,# Arguments�* `origin` - The origin of the call.�* `proof` - The instant receiver affirmation proof. # Errors�* `BadOrigin` if `origin` isn't signed.�* `SettlementNotPending` if the settlement is not pending.�* `SettlementNotFound` if the settlement is not found.�* `LegNotFound` if the leg is not found in the settlement.%* `AlreadyAffirmed` if the leg has already been affirmed by the receiver.�* `NotLastPendingAffirmation` if the receiver affirmation is not the last pending affirmation for the settlement.
Contains a variant per dispatchable extrinsic that this pallet has.
4polymesh_dartbpkeys`AccountRegistrationProofT accounts
�BoundedVec<AccountPublicKeys, T::MaxKeysPerRegProof>inner)
9BoundedCanonical<bp_keys::InvestorKeyRegProof<PallasA>, T::
MaxInnerProofSize>
Lbounded_collections,bounded_vec(BoundedVecT!
S%
Vec<T>!
4polymesh_dartbpkeysDAccountPublicKeysenc�LEncryptionPublicKeyacct�@AccountPublicKey%
!
)
@polymesh_dart_bpkeysLInvestorKeyRegProof-
-
Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>1
4polymesh_dartbpkeysxEncryptionKeyRegistrationProofTkeys5
�BoundedVec<EncryptionPublicKey, T::MaxKeysPerRegProof>inner9
%BoundedCanonical<bp_keys::AudMedRegProof<PallasA>, T::
MaxInnerProofSize>5
Lbounded_collections,bounded_vec(BoundedVecT�S�Vec<T>9
@polymesh_dart_bpkeys8AudMedRegProof-
=
4polymesh_dartbpaccount�BatchedAccountAssetRegistrationProofTproofsA
)BoundedVec<AccountAssetRegistrationProof<T>, T::
MaxAccountAssetRegProofs>A
Lbounded_collections,bounded_vec(BoundedVecTE
SM
Vec<T>E
4polymesh_dartbpaccounttAccountAssetRegistrationProofTaccount!
DAccountPublicKeys asset_idAssetIdcounterqTNullifierSkGenCounter`account_state_commitment-XAccountStateCommitmentinnerI
MBoundedCanonical<account_registration::RegTxnProof<PallasA>, T::
MaxInnerProofSize>I
@polymesh_dart_bpPaccount_registration,RegTxnProof-
M
E
Q
4polymesh_dartbpassetDAssetMintingProofTC pk�@AccountPublicKeypk_enc�LEncryptionPublicKey asset_idAssetIdamount0Balance(root_block,BlockNumber�updated_account_state_commitment-XAccountStateCommitment$nullifierU
TAccountStateNullifierinnerY
�BoundedCanonical<BPMintTxnProof<C>, T::MaxInnerProofSize>U
4polymesh_dartbpaccountTAccountStateNullifier�@CompressedAffineY
@polymesh_dart_bpaccountmint0MintTxnProof-
]
4polymesh_dartbpleg<SettlementProofTCmemo�BoundedVec<u8, T::MaxSettlementMemoLength>(root_block,BlockNumberlegsa
�BoundedVec<AnySettlementLegProof<T, C>, T::MaxSettlementLegs>a
Lbounded_collections,bounded_vec(BoundedVecTe
Sy
Vec<T>e
4polymesh_dartbplegTAnySettlementLegProofTC4HiddenAssetIdi
`SettlementLegProof<T, C><RevealedAssetIdq
�SettlementLegProofRevealedAssetId<T>i
4polymesh_dartbplegHSettlementLegProofTCleg_enc0LegEncrypted<public_enc_keys�`Vec<EncryptionPublicKey>innerm
�BoundedCanonical<BPSettlementTxnProof<C>, T::MaxInnerProofSize>m
@polymesh_dart_bpleg$leg_proof@LegCreationProof-
q
4polymesh_dartbpleg�SettlementLegProofRevealedAssetIdT asset_idAssetIdleg_enc0LegEncrypted<public_enc_keys�`Vec<EncryptionPublicKey>inneru
�BoundedCanonical<bp_leg::public_asset_leg_proof::
PublicAssetLegCreationProof<PallasParameters>, T::MaxInnerProofSize,>u
@polymesh_dart_bplegXpublic_asset_leg_prooflPublicAssetLegCreationProof-
y
e
}
4polymesh_dartbpHaffirmation_proofsXSenderAffirmationProofTCleg_ref%LegRef(root_block,BlockNumber�updated_account_state_commitment-XAccountStateCommitment$nullifierU
TAccountStateNullifierinner�
1BoundedCanonical<bp_account::AffirmAsSenderSplitProof<ACCOUNT_TREE_L,<
C as CurveTreeConfig>::F0,<C as CurveTreeConfig>::F1,<C as
CurveTreeConfig>::P0,<C as CurveTreeConfig>::P1,>, T::
MaxInnerProofSize,>�
@polymesh_dart_bpaccount`AffirmAsSenderSplitProof-
�
4polymesh_dartbpHaffirmation_proofs`ReceiverAffirmationProofTCleg_ref%LegRef(root_block,BlockNumber�updated_account_state_commitment-XAccountStateCommitment$nullifierU
TAccountStateNullifierinner�
9BoundedCanonical<bp_account::AffirmAsReceiverSplitProof<ACCOUNT_TREE_L,
<C as CurveTreeConfig>::F0,<C as CurveTreeConfig>::F1,<C as
CurveTreeConfig>::P0,<C as CurveTreeConfig>::P1,>, T::
MaxInnerProofSize,>�
@polymesh_dart_bpaccounthAffirmAsReceiverSplitProof-
�
4polymesh_dartbplegproofs`MediatorAffirmationProofTleg_ref%LegRefaccept bool$key_index(MediatorIdinner�
1BoundedCanonical<mediator::MediatorTxnProof<PallasA>, T::
MaxInnerProofSize>�
@polymesh_dart_bpleg mediator@MediatorTxnProof-
�
4polymesh_dartbpHaffirmation_proofs`SenderCounterUpdateProofTCleg_ref%LegRef(root_block,BlockNumber�updated_account_state_commitment-XAccountStateCommitment$nullifierU
TAccountStateNullifierinner�
IBoundedCanonical<bp_account::SenderCounterUpdateSplitProof<
ACCOUNT_TREE_L,<C as CurveTreeConfig>::F0,<C as CurveTreeConfig>::
F1,<C as CurveTreeConfig>::P0,<C as CurveTreeConfig>::P1,>, T::
MaxInnerProofSize,>�
@polymesh_dart_bpaccounttSenderCounterUpdateSplitProof-
�
4polymesh_dartbpHaffirmation_proofspSenderRevertAffirmationProofTCleg_ref%LegRef(root_block,BlockNumber�updated_account_state_commitment-XAccountStateCommitment$nullifierU
TAccountStateNullifierinner�
)BoundedCanonical<bp_account::SenderReverseSplitProof<ACCOUNT_TREE_L,<C
as CurveTreeConfig>::F0,<C as CurveTreeConfig>::F1,<C as
CurveTreeConfig>::P0,<C as CurveTreeConfig>::P1,>, T::
MaxInnerProofSize,>�
@polymesh_dart_bpaccount\SenderReverseSplitProof-
�
4polymesh_dartbpHaffirmation_proofsxReceiverRevertAffirmationProofTCleg_ref%LegRef(root_block,BlockNumber�updated_account_state_commitment-XAccountStateCommitment$nullifierU
TAccountStateNullifierinner�
QBoundedCanonical<bp_account::ReceiverCounterUpdateSplitProof<
ACCOUNT_TREE_L,<C as CurveTreeConfig>::F0,<C as CurveTreeConfig>::
F1,<C as CurveTreeConfig>::P0,<C as CurveTreeConfig>::P1,>, T::
MaxInnerProofSize,>�
@polymesh_dart_bpaccount|ReceiverCounterUpdateSplitProof-
�
4polymesh_dartbpHaffirmation_proofsHReceiverClaimProofTCleg_ref%LegRef(root_block,BlockNumber�updated_account_state_commitment-XAccountStateCommitment$nullifierU
TAccountStateNullifierinner�
)BoundedCanonical<bp_account::ClaimReceivedSplitProof<ACCOUNT_TREE_L,<C
as CurveTreeConfig>::F0,<C as CurveTreeConfig>::F1,<C as
CurveTreeConfig>::P0,<C as CurveTreeConfig>::P1,>, T::
MaxInnerProofSize,>�
@polymesh_dart_bpaccount\ClaimReceivedSplitProof-
�
4polymesh_dartbplegproofsXBatchedSettlementProofTC�
A�
(settlement]
TSettlementProof<T, C>@leg_affirmations�
%BoundedVec<BatchedSettlementLegAffirmations<T, A>, T::
MaxSettlementLegs>�
4polymesh_dart(curve_tree<AssetTreeConfig�
4polymesh_dart(curve_treeDAccountTreeConfig�
Lbounded_collections,bounded_vec(BoundedVecT�
S�
Vec<T>�
4polymesh_dartbplegproofs�BatchedSettlementLegAffirmationsTC�
sender�
�Option<SenderAffirmationProof<T, C>> receiver�
�Option<ReceiverAffirmationProof<T, C>>�
OptionT}
NoneSome}
�
OptionT�
NoneSome�
�
�
�
4polymesh_dartbpfee�BatchedFeeAccountRegistrationProofTproofs�
BoundedVec<FeeAccountRegistrationProof<T>, T::MaxFeeAccountRegProofs>�
Lbounded_collections,bounded_vec(BoundedVecT�
S�
Vec<T>�
4polymesh_dartbpfeelFeeAccountRegistrationProofTaccount�@AccountPublicKey asset_idAssetIdamount0Balance`account_state_commitment1dFeeAccountStateCommitmentinner�
5BoundedCanonical<bp_fee_account::RegTxnProof<PallasA>, T::
MaxInnerProofSize>�
@polymesh_dart_bp,fee_account,RegTxnProof-
�
�
�
4polymesh_dartbpfeelBatchedFeeAccountTopupProofTC(root_block,BlockNumberproofs�

BoundedVec<FeeAccountTopupProof<T, C>, T::MaxFeeAccountTopupProofs>�
Lbounded_collections,bounded_vec(BoundedVecT�
S�
Vec<T>�
4polymesh_dartbpfeePFeeAccountTopupProofTCaccount�@AccountPublicKey asset_idAssetIdamount0Balance�updated_account_state_commitment1dFeeAccountStateCommitment$nullifier�
`FeeAccountStateNullifierinner�
BoundedCanonical<BPFeeAccountTopupTxnProof<C>, T::MaxInnerProofSize>�
4polymesh_dartbpfee`FeeAccountStateNullifier�@CompressedAffine�
@polymesh_dart_bp,fee_account\FeeAccountTopupTxnProof-
�
�
4polymesh_dartbpbatched4BatchedProofsTproofs�BoundedVec<BatchedProof<T>, T::MaxBatchedProofs>Lbounded_collections,bounded_vec(BoundedVecT	S5Vec<T>	4polymesh_dartbpbatched0BatchedProofT,@CreateSettlement]
HSettlementProof<T>DSenderAffirmation}
dSenderAffirmationProof<T>LReceiverAffirmation�
lReceiverAffirmationProof<T>LMediatorAffirmation�
lMediatorAffirmationProof<T>LSenderCounterUpdate�
lSenderCounterUpdateProof<T>\SenderRevertAffirmation�
|SenderRevertAffirmationProof<T>dReceiverRevertAffirmation�
�ReceiverRevertAffirmationProof<T>4ReceiverClaim�
TReceiverClaimProof<T>`ExecuteInstantSettlement
dInstantSettlementProof<T>`InstantSenderAffirmation�InstantSenderAffirmationProof<T>	hInstantReceiverAffirmation!�InstantReceiverAffirmationProof<T>

4polymesh_dartbpleginstantXInstantSettlementProofTC�
A�
(settlement]
TSettlementProof<T, C>@leg_affirmations%BoundedVec<InstantSettlementLegAffirmations<T, A>, T::
MaxSettlementLegs>Lbounded_collections,bounded_vec(BoundedVecTS1Vec<T>4polymesh_dartbpleginstant�InstantSettlementLegAffirmationsTC�
sender�InstantSenderAffirmationProof<T, C> receiver!�InstantReceiverAffirmationProof<T, C>$mediators)�BoundedVec<MediatorAffirmationProof<T>, T::MaxAssetMediators>4polymesh_dartbpHaffirmation_proofstInstantSenderAffirmationProofTCleg_ref%LegRef(root_block,BlockNumber�updated_account_state_commitment-XAccountStateCommitment$nullifierU
TAccountStateNullifierinnereBoundedCanonical<bp_account::IrreversibleAffirmAsSenderSplitProof<
ACCOUNT_TREE_L,<C as CurveTreeConfig>::F0,<C as CurveTreeConfig>::
F1,<C as CurveTreeConfig>::P0,<C as CurveTreeConfig>::P1,>, T::
MaxInnerProofSize,>@polymesh_dart_bpaccount�IrreversibleAffirmAsSenderSplitProof-
!4polymesh_dartbpHaffirmation_proofs|InstantReceiverAffirmationProofTCleg_ref%LegRef(root_block,BlockNumber�updated_account_state_commitment-XAccountStateCommitment$nullifierU
TAccountStateNullifierinner%mBoundedCanonical<bp_account::IrreversibleAffirmAsReceiverSplitProof<
ACCOUNT_TREE_L,<C as CurveTreeConfig>::F0,<C as CurveTreeConfig>::
F1,<C as CurveTreeConfig>::P0,<C as CurveTreeConfig>::P1,>, T::
MaxInnerProofSize,>%@polymesh_dart_bpaccount�IrreversibleAffirmAsReceiverSplitProof-
)Lbounded_collections,bounded_vec(BoundedVecT�
S-Vec<T>-�
15	94polymesh_dartbpfeelFeePaymentWithBatchedProofsTC,fee_payment=pFeeAccountPaymentProof<T, C>8batched_proofs@BatchedProofs<T>=4polymesh_dartbpfeeXFeeAccountPaymentProofTC asset_idAssetIdamount0Balance(root_block,BlockNumber�updated_account_state_commitment1dFeeAccountStateCommitment$nullifier�
`FeeAccountStateNullifierinnerABoundedCanonical<BPFeePaymentSplitProof<C>, T::MaxInnerProofSize>A@polymesh_dart_bp,fee_accountPFeePaymentSplitProof-
E4pallet_revivepalletCallT40eth_transactpayload8Vec<u8>0-A raw EVM transaction, typically dispatched by an Ethereum JSON-RPC server.0# Parameters�* `payload`: The encoded [`crate::evm::TransactionSigned`].# NoteQThis call cannot be dispatched directly; attempting to do so will result in a failedQtransaction. It serves as a wrapper for an Ethereum transaction. When submitted, theYruntime converts it into a [`sp_runtime::generic::CheckedExtrinsic`] by recovering the�signer and validating the transaction.calldestmH160value�0BalanceOf<T>0weight_limit(WeightTstorage_deposit_limit�0BalanceOf<T>data8Vec<u8>@Makes a call to an account, optionally transferring some balance.0# Parameters�* `dest`: Address of the contract to call.�* `value`: The balance to transfer from the `origin` to `dest`.-* `weight_limit`: The weight limit enforced when executing the constructor.U* `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.E* 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.,instantiatevalue�0BalanceOf<T>0weight_limit(WeightTstorage_deposit_limit�0BalanceOf<T>$code_hash44sp_core::H256data8Vec<u8>salt�@Option<[u8; 32]>�Instantiates a contract from a previously deployed vm binary.5This function is identical to [`Self::instantiate_with_code`] but without theAcode deployment step. Instead, the `code_hash` of an on-chain deployed vm binaryDmust be supplied.Tinstantiate_with_codevalue�0BalanceOf<T>0weight_limit(WeightTstorage_deposit_limit�0BalanceOf<T>code8Vec<u8>data8Vec<u8>salt�@Option<[u8; 32]>l1Instantiates a new contract from the supplied `code` optionally transferring4some 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`].0# ParametersM* `value`: The balance to transfer from the `origin` to the newly created contract.-* `weight_limit`: The weight limit enforced when executing the constructor.U* `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`�	semantics are used. If `None` then `CRATE1` is used.�Instantiation is executed as follows:9- The supplied `code` is deployed, and a `code_hash` is created for that code.Y- If the `code_hash` already exists on the chain the underlying `code` will be shared.I- 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.A- The `deploy` function is executed in the context of the newly-created account.deth_instantiate_with_code valueIU2560weight_limit(Weight4eth_gas_limitIU256code8Vec<u8>data8Vec<u8>Ltransaction_encoded8Vec<u8>Leffective_gas_priceIU256,encoded_lenu32
T=Same as [`Self::instantiate_with_code`], but intended to be dispatched **only**�by an EVM transaction through the EVM compatibility layer.0# ParametersM* `value`: The balance to transfer from the `origin` to the newly created contract.U* `weight_limit`: The gas limit used to derive the transaction weight for transaction$  payment]* `eth_gas_limit`: The Ethereum gas limit governing the resource usage of the execution�* `code`: The contract code to deploy in raw bytes.�* `data`: The input data to pass to the contract constructor.5* `transaction_encoded`: The RLP encoding of the signed Ethereum transaction,]  represented as [crate::evm::TransactionSigned], provided by the Ethereum wallet. This�  is used for building the Ethereum transaction root.�* effective_gas_price: the price of a unit of gas* encoded len: the byte code size of the `eth_transact` extrinsic9Calling this dispatchable ensures that the origin's nonce is bumped only once,avia the `CheckNonce` transaction extension. In contrast, [`Self::instantiate_with_code`]Malso bumps the nonce after contract instantiation, since it may be invoked multiple�times within a batch call transaction. eth_call destmH160valueIU2560weight_limit(Weight4eth_gas_limitIU256data8Vec<u8>Ltransaction_encoded8Vec<u8>Leffective_gas_priceIU256,encoded_lenu32@�Same as [`Self::call`], but intended to be dispatched **only**�by an EVM transaction through the EVM compatibility layer.0# Parameters�* `dest`: The Ethereum address of the account to be calledM* `value`: The balance to transfer from the `origin` to the newly created contract.U* `weight_limit`: The gas limit used to derive the transaction weight for transaction$  payment]* `eth_gas_limit`: The Ethereum gas limit governing the resource usage of the execution�* `data`: The input data to pass to the contract constructor.5* `transaction_encoded`: The RLP encoding of the signed Ethereum transaction,]  represented as [crate::evm::TransactionSigned], provided by the Ethereum wallet. This�  is used for building the Ethereum transaction root.�* effective_gas_price: the price of a unit of gas* encoded len: the byte code size of the `eth_transact` extrinsicHeth_substrate_callcall�|Box<<T as Config>::RuntimeCall>Ltransaction_encoded8Vec<u8>(�Executes a Substrate runtime call from an Ethereum transaction.EThis dispatchable is intended to be called **only** through the EVM compatibilitylayer. The provided call will be dispatched using `RawOrigin::Signed`.0# Parameters�* `origin`: Must be an [`Origin::EthTransaction`] origin.�* `call`: The Substrate runtime call to execute.* `transaction_encoded`: The RLP encoding of the Ethereum transaction,,upload_codecode8Vec<u8>Tstorage_deposit_limit�0BalanceOf<T>8�Upload new `code` without instantiating a contract from it.!If the code does not already exist a deposit is reserved from the caller
The size of the reserve depends on the size of the supplied `code`.# NoteYAnyone can instantiate a contract from any uploaded code and thus prevent its removal.ATo avoid this situation a constructor could employ access control so that it can9only be instantiated by permissioned entities. The same is true when uploading�through [`Self::instantiate_with_code`].EIf the refcount of the code reaches zero after terminating the last contract that�references this code, the code will be removed automatically.,remove_code$code_hash44sp_core::H2565Remove the code stored under `code_hash` and refund the deposit to its owner.EA code can only be removed by its original uploader (its owner) and only if it isdnot used by any contract. set_codedestmH160$code_hash44sp_core::H256(	Privileged function that changes the code of an existing contract.EThis takes care of updating refcounts and all other necessary operations. Returns�an error if either the `code_hash` or `dest` do not exist.# Note1This 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 callingHthis dispatchable.,map_accountARegister 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 willtake a deposit that can be released by calling [`Self::unmap_account`].4unmap_account�Unregister the callers account id in order to free the deposit.AThere 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.pdispatch_as_fallback_accountcall�|Box<<T as Config>::RuntimeCall>	Dispatch an `call` with the origin set to the callers fallback address.aEvery `AccountId32` can control its corresponding fallback account. The fallback accountAis the `AccountId20` with the last 12 bytes set to `0xEE`. This is essentially aUrecovery function in case an `AccountId20` was used without creating a mapping first.
Contains a variant per dispatchable extrinsic that this pallet has.I<primitive_typesU256M [u64; 4]M0Q@pallet_committeepallet4PolymeshVotes,BlockNumberindex4ProposalIndexayese<Vec<IdentityId>nayse<Vec<IdentityId>expiryu\MaybeBlock<BlockNumber>U@pallet_committeepalletErrorTI$4DuplicateVote�Duplicate votes are not allowed.(NotAMember�A DID isn't part of the committee.�The DID may either be a caller or some other context.8NoSuchProposalDNo such proposal.<ProposalExpired�Proposal exists, but it has expired.DDuplicateProposalLDuplicate proposal.TMismatchedVotingIndex`Mismatched voting index.DInvalidProportion�Proportion must be a rational number.<FirstVoteReject�First vote on a proposal creates it, so it must be an approval.All proposals are motions to execute something as "GC majority".�To reject e.g., a PIP, a motion to reject should be *approved*.TProposalsLimitReached�Maximum number of proposals has been reached.�The `Error` enum of this pallet.Y0pallet_grouppalletErrorTITOnlyPrimaryKeyAllowed�Only primary key of the identity is allowed.<DuplicateMember|Group member was added already.0NoSuchMember�Can't remove a member that doesn't exist.PLastMemberCannotQuit�Last member of the committee can not quit.hActiveMembersLimitExceeded]The limit for the number of concurrent active members for this group has been exceeded.hActiveMembersLimitOverflowActive member limit was greater than maximum committee members limit.�The `Error` enum of this pallet.]@pallet_committeepalletErrorTI$4DuplicateVote�Duplicate votes are not allowed.(NotAMember�A DID isn't part of the committee.�The DID may either be a caller or some other context.8NoSuchProposalDNo such proposal.<ProposalExpired�Proposal exists, but it has expired.DDuplicateProposalLDuplicate proposal.TMismatchedVotingIndex`Mismatched voting index.DInvalidProportion�Proportion must be a rational number.<FirstVoteReject�First vote on a proposal creates it, so it must be an approval.All proposals are motions to execute something as "GC majority".�To reject e.g., a PIP, a motion to reject should be *approved*.TProposalsLimitReached�Maximum number of proposals has been reached.�The `Error` enum of this pallet.a0pallet_grouppalletErrorTITOnlyPrimaryKeyAllowed�Only primary key of the identity is allowed.<DuplicateMember|Group member was added already.0NoSuchMember�Can't remove a member that doesn't exist.PLastMemberCannotQuit�Last member of the committee can not quit.hActiveMembersLimitExceeded]The limit for the number of concurrent active members for this group has been exceeded.hActiveMembersLimitOverflowActive member limit was greater than maximum committee members limit.�The `Error` enum of this pallet.e@pallet_committeepalletErrorTI$4DuplicateVote�Duplicate votes are not allowed.(NotAMember�A DID isn't part of the committee.�The DID may either be a caller or some other context.8NoSuchProposalDNo such proposal.<ProposalExpired�Proposal exists, but it has expired.DDuplicateProposalLDuplicate proposal.TMismatchedVotingIndex`Mismatched voting index.DInvalidProportion�Proportion must be a rational number.<FirstVoteReject�First vote on a proposal creates it, so it must be an approval.All proposals are motions to execute something as "GC majority".�To reject e.g., a PIP, a motion to reject should be *approved*.TProposalsLimitReached�Maximum number of proposals has been reached.�The `Error` enum of this pallet.i0pallet_grouppalletErrorTITOnlyPrimaryKeyAllowed�Only primary key of the identity is allowed.<DuplicateMember|Group member was added already.0NoSuchMember�Can't remove a member that doesn't exist.PLastMemberCannotQuit�Last member of the committee can not quit.hActiveMembersLimitExceeded]The limit for the number of concurrent active members for this group has been exceeded.hActiveMembersLimitOverflowActive member limit was greater than maximum committee members limit.�The `Error` enum of this pallet.mq0uqyLpolymesh_primitives multisigDProposalVoteCount$approvals0u64(rejections0u64}Lpolymesh_primitives multisig4ProposalStateMoment0Activeuntil)8Option<Moment>LExecutionSuccessful<ExecutionFailed Rejected�<pallet_multisigVersionu8�<pallet_multisigpalletErrorTd<ProposalMissingpThe proposal does not exist.4DecodingErrorDMultisig address.TRequiredSignersIsZero�Required number of signers must be greater then zero.(NotASigner4Not a signer.8NoSuchMultisigDNo such multisig.@NotEnoughSigners5Not enough signers.  The number of signers has to be greater then or equal to�the required number of signers to approve proposals.4NonceOverflowDA nonce overflow.0AlreadyVoted8Already voted.8AlreadyASignerDAlready a signer.@IdentityNotAdmin	�Identity provided is not the multisig's admin.@IdentityNotPayer
�Identity provided is not the multisig's payer.tSignerAlreadyLinkedToMultisigSigner is an account key that is already associated with a multisig.tSignerAlreadyLinkedToIdentitySigner is an account key that is already associated with an identity.DNestingNotAllowed
�A multisig can't be a signer of another multisig.\ProposalAlreadyRejectedtProposal was rejected earlier<ProposalExpiredPProposal has expired\ProposalAlreadyExecutedtProposal was executed earlier<MaxWeightTooLow�Max weight not enough to execute proposal.\MultisigMissingIdentity�Multisig is not attached to an identity8TooManySigners�Tried to add/remove too many signers.,NoPayingDid�Multisig doesn't have a paying DID.DInvalidExpiryDatetExpiry must be in the future.LInvalidatedProposal�The proposal has been invalidated after a multisg update.4AdminNotFoundXMultisig has no admin.PBadAuthorizationTypemThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.\Multisig module errors.�Dpallet_validatorstypesdPermissionedIdentityPrefs8intended_countu324running_countu32�Dpallet_validatorspalletErrorT$dStashIdentityDoesNotExist�Validator or nominator stash identity does not exist.pStashIdentityNotPermissioned�Validator's stash identity is not permissioned.tIdentityIsAlreadyPermissioned�Permissioned validator already exists.HIdentityIsInactive�Identity does not exist or is locked.�IntendedCountIsExceedingConsensusLimit5When the intended number of validators to run is >= 2/3 of `validator_count`.@IdentityNotFound�Identity was not found in the permissioned identity pool.DValidatorNotFound�No validator was found for the given key.DCommissionTooHigh�Validator commiission is above maximum.LCommissionUnchanged�New commission must be different from previous commission.�The `Error` enum of this pallet.�8pallet_staking4StakingLedgerTstash0T::AccountIdtotal�0BalanceOf<T>active�0BalanceOf<T>$unlocking5�BoundedVec<UnlockChunk<BalanceOf<T>>, T::MaxUnlockingChunks>Xlegacy_claimed_rewards��BoundedVec<EraIndex, T::HistoryDepth>�Lbounded_collections,bounded_vec(BoundedVecTSVec<T>�8pallet_staking,NominationsTtargets��BoundedVec<T::AccountId, MaxNominationsOf<T>>0submitted_in EraIndex(suppressed bool�Lbounded_collections,bounded_vec(BoundedVecTS!Vec<T>�8pallet_staking4ActiveEraInfoindex EraIndexstart),Option<u64>��(sp_stakingTPagedExposureMetadataBalancetotal�Balanceown�Balance<nominator_countu32(page_countPage��(sp_staking0ExposurePage$AccountIdBalance(page_total�Balanceothers��Vec<IndividualExposure<AccountId, Balance>>�8pallet_staking<EraRewardPoints$AccountIdtotal,RewardPoint(individual��BTreeMap<AccountId, RewardPoint>� BTreeMapKV�������8pallet_staking8UnappliedSlash$AccountIdBalance$validator$AccountIdownBalanceothers�	dVec<(AccountId, Balance)>$reporters!8Vec<AccountId>payoutBalance���8pallet_staking slashing4SlashingSpans(span_index$SpanIndex(last_start EraIndexHlast_nonzero_slash EraIndexprior4Vec<EraIndex>�8pallet_staking slashing(SpanRecordBalanceslashedBalance paid_outBalance�8pallet_stakingpalletpalletErrorT�4NotControllerdNot a controller account. NotStashPNot a stash account.4AlreadyBonded`Stash is already bonded.4AlreadyPairedtController is already paired.0EmptyTargets`Targets cannot be empty.8DuplicateIndex@Duplicate index.DInvalidSlashIndex�Slash record index out of bounds.@InsufficientBondYCannot have a validator or nominator role, with value less than the minimum defined by=governance (see `MinValidatorBond` and `MinNominatorBond`). If unbonding is theintention, `chill` first to remove one's role as validator/nominator.0NoMoreChunks�Can not schedule more unlock chunks.4NoUnlockChunk	�Can not rebond without unlocking chunks.0FundedTarget
�Attempting to target a stash that still has funds.HInvalidEraToRewardXInvalid era to reward.hInvalidNumberOfNominationsxInvalid number of nominations.HNotSortedAndUnique
�Items are not sorted and unique.8AlreadyClaimed	Rewards for this era have already been claimed for this validator.,InvalidPage�No nominators exist on this page.TIncorrectHistoryDepth�Incorrect previous history depth input provided.XIncorrectSlashingSpans�Incorrect number of slashing spans provided. BadState9Internal state has become somehow corrupted and the operation cannot continue.8TooManyTargets�Too many nomination targets supplied.$BadTarget=A nomination target was supplied that was blocked or otherwise not a validator.@CannotChillOtherUThe user has enough bond and thus cannot be chilled forcefully by an external person.DTooManyNominatorsMThere are too many nominators in the system. Governance needs to adjust the staking�settings to keep things safe for the runtime.DTooManyValidatorsUThere are too many validator candidates in the system. Governance needs to adjust the�staking settings to keep things safe for the runtime.@CommissionTooLow�Commission is too low. Must be at least `MinCommission`.,BoundNotMetXSome bound is not met.PControllerDeprecatedUsed when attempting to use deprecated controller account logic.LCannotRestoreLedgerXCannot reset a ledger.lRewardDestinationRestricted�Provided reward destination is not allowed.8NotEnoughFunds�Not enough funds available to withdraw.\VirtualStakerNotAllowed�Operation not allowed for virtual stakers.<CannotReapStash�Stash could not be reaped as other pallet might depend on it.<AlreadyMigrated 	The stake of this account is already migrated to `Fungible` holds.(Restricted!YAccount is restricted from participation in staking. This may happen if the account is�staking in another way already, such as via pool.�The `Error` enum of this pallet.�(sp_stakingoffence8OffenceDetails Reporter Offender� offender� Offender$reporters!4Vec<Reporter>��8���E�����(sp_stakingoffence<OffenceSeverity�Perbill��8�sp_corecrypto$KeyTypeIdH[u8; 4]8pallet_sessionpalletErrorT0InvalidProof`Invalid ownership proof.\NoAssociatedValidatorId�No associated validator ID for account.4DuplicatedKeydRegistered duplicate key.NoKeys�No keys are associated with this account.$NoAccountKey setting account is not live, so it's impossible to associate keys.tError for the session pallet.Lbounded_collections@weak_bounded_vec8WeakBoundedVecTIS	Vec<T>	I
8pallet_grandpa,StoredStateNLive0PendingPause0scheduled_atNdelayNPaused4PendingResume0scheduled_atNdelayN8pallet_grandpaLStoredPendingChangeNLimit0scheduled_atNdelayN@next_authoritieslBoundedAuthorityList<Limit>forced�$Option<N>Lbounded_collections@weak_bounded_vec8WeakBoundedVecT�S�Vec<T>8pallet_grandpapalletErrorT,PauseFailedAttempt to signal GRANDPA pause when the authority set isn't live�(either paused or already pending pause).0ResumeFailedAttempt to signal GRANDPA resume when the authority set isn't paused�(either live or already pending resume).4ChangePending�Attempt to signal GRANDPA change with one already pending.TooSoon�Cannot signal forced change so soon after last.`InvalidKeyOwnershipProof1A key ownership proof provided as part of an equivocation report is invalid.`InvalidEquivocationProof1An equivocation proof provided as part of an equivocation report is invalid.XDuplicateOffenceReportA given equivocation report is valid but already previously reported.�The `Error` enum of this pallet.4!Lbounded_collections@weak_bounded_vec8WeakBoundedVecT�S%Vec<T>%�)@pallet_im_onlinepalletErrorT(InvalidKey`Non existent public key.LDuplicatedHeartbeatTDuplicated heartbeat.�The `Error` enum of this pallet.-,pallet_sudopalletErrorT,RequireSudo�Sender must be the Sudo account.hError for the Sudo pallet.10pallet_assettypesHTickerRegistrationT0owner�(IdentityIdexpiry)$Option<T>50pallet_assettypes`TickerRegistrationConfigT0Dmax_ticker_lengthu8Lregistration_length)$Option<T>90pallet_assettypes0AssetDetails0total_supplyBalance$owner_did�(IdentityId$divisible bool(asset_type�$AssetType=̸A�!E�%I̍M�iQ�mU��Y�Q]�a�e0pallet_assetVersionu8i0pallet_assetpalletErrorT�0UnauthorizedlThe user is not authorized.LAssetAlreadyCreated�The token has already been created.4TickerTooLong�The ticker length is over the limit.TTickerNotAlphanumeric�The ticker has non-alphanumeric parts.\TickerAlreadyRegistered�The ticker is already registered to someone else.TTotalSupplyAboveLimit�The total supply is above the limit.,NoSuchAsset�No token associated to the given asset ID.4AlreadyFrozenpThe token is already frozen.(NotAnOwner�Not an owner of the token on Ethereum.<BalanceOverflow	�An overflow while calculating the balance.LTotalSupplyOverflow
�An overflow while calculating the total supply.HInvalidGranularity\An invalid granularity.$NotFrozendThe asset must be frozen.<InvalidTransfer
�Transfer validation check failed.LInsufficientBalance�The sender balance is not sufficient.TAssetAlreadyDivisible|The token is already divisible.`InvalidEthereumSignature�An invalid Ethereum `EcdsaSignature`.dTickerRegistrationExpired�Registration of ticker has expired.PSenderSameAsReceiver�Transfers to self are not allowed$NoSuchDoc�The given Document does not exist.pMaxLengthOfAssetNameExceeded�Maximum length of asset name has been exceeded.�FundingRoundNameMaxLengthExceeded�Maximum length of the funding round name has been exceeded.XInvalidAssetIdentifier�Some `AssetIdentifier` was invalid.�InvestorUniquenessClaimNotAllowed�Investor Uniqueness claims are not allowed for this asset.`InvalidCustomAssetTypeIdpInvalid `CustomAssetTypeId`.�AssetMetadataNameMaxLengthExceededMaximum length of the asset metadata type name has been exceeded.�AssetMetadataValueMaxLengthExceeded�Maximum length of the asset metadata value has been exceeded.�AssetMetadataTypeDefMaxLengthExceededMaximum length of the asset metadata type definition has been exceeded.dAssetMetadataKeyIsMissingxAsset Metadata key is missing.hAssetMetadataValueIsLocked|Asset Metadata value is locked.�AssetMetadataLocalKeyAlreadyExists�Asset Metadata Local type already exists for asset.�AssetMetadataGlobalKeyAlreadyExists�Asset Metadata Global type already exists.\TickerFirstByteNotValid �Tickers should start with at least one valid byte.hUnexpectedNonFungibleToken!!Attempt to call an extrinsic that is only permitted for fungible tokens.lIncompatibleAssetTypeUpdate"}Attempt to update the type of a non fungible token to a fungible token or the other way around.�AssetMetadataKeyBelongsToNFTCollection#�Attempt to delete a key that is needed for an NFT collection.dAssetMetadataValueIsEmpty$�Attempt to lock a metadata value that is empty.xNumberOfAssetMediatorsExceeded%�Number of asset mediators would exceed the maximum allowed.XInvalidTickerCharacter&Invalid ticker character - valid set: A`..`Z` `0`..`9` `_` `-` `.` `/`.hInvalidTransferFrozenAsset'�Failed to transfer the asset - asset is frozen.�InvalidTransferComplianceFailure(�Failed to transfer an NFT - compliance failed.�InvalidTransferInvalidReceiverDID)�Failed to transfer the asset - receiver DID is not active.hTickerRegistrationNotFound*�The ticker registration associated to the ticker was not found.xTickerIsAlreadyLinkedToAnAsset+�The given ticker is already linked to an asset.XAssetIdGenerationError,�An unexpected error when generating a new asset ID.lTickerNotRegisteredToCaller-�The ticker doesn't belong to the caller.tAssetIsAlreadyLinkedToATicker.�The given asset is already linked to a ticker.lTickerIsNotLinkedToTheAsset/�The given ticker is not linked to the given asset.PBadAuthorizationType0mThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.TUnauthorizedHolderKey1�The key does not have permission to access the account.DKeyNotFoundForDid2�No key was found for the Identity`InsufficientTokensLocked3|Insufficient tokens are locked.TInsufficientAllowance4eThe spender's allowance for this asset is insufficient for the requested transfer amount.|SelfOwnershipTransferNotAllowed5�Transfering ownership to the same owner is not allowed.�The `Error` enum of this pallet.m��q`pallet_corporate_actions0distributionVersionu8u`pallet_corporate_actions0distributionpalletErrorT<0CANotBenefit�A capital distribution was made for a non-benefit CA.4AlreadyExists�A distribution already exists for this CA.LExpiryBeforePayment)A distributions provided expiry date was strictly before its payment date.!In other words, everything to distribute would immediately be forfeited.DHolderAlreadyPaid�The token holder has already been paid their benefit.HNoSuchDistribution�A capital distribution doesn't exist for this CA.XCannotClaimBeforeStartaDistribution allotment cannot be claimed as the current time is before start-of-payment.XCannotClaimAfterExpiryiDistribution's expiry has passed. DID cannot claim anymore and has forfeited the benefits.�BalancePerShareProductOverflowed)Multiplication of the balance with the per share payout amount overflowed.XNotDistributionCreator�DID is not the one who created the distribution.@AlreadyReclaimed	�DID who created the distribution already did reclaim.(NotExpired
�Distribution had not expired yet, or there's no expiry date.LDistributionStartedA distribution has been activated, as `payment_at <= now` holds.lInsufficientRemainingAmount-A distribution has insufficient remaining amount of currency to distribute.`DistributionAmountIsZero
�Distribution `amount` cannot be zero.hDistributionPerShareIsZero�Distribution `per_share` cannot be zero.�The `Error` enum of this pallet.y��}y����Lpolymesh_primitives(checkpoint<NextCheckpointsnext_at0Moment4total_pending0u64$schedules�pBTreeMap<ScheduleId, Moment>� BTreeMapK�V0�����0����0pallet_asset(checkpointVersionu8�0pallet_asset(checkpointpalletErrorT8NoSuchSchedule�A checkpoint schedule does not exist for the asset.PScheduleNotRemovableA checkpoint schedule is not removable as `ref_count(schedule_id) > 0`.hSchedulesOverMaxComplexity%The new schedule would put the asset over the maximum complexity allowed.<ScheduleIsEmpty|Can't create an empty schedule.@ScheduleFinished�The schedule has no more checkpoints.tScheduleHasExpiredCheckpoints�The schedule has expired checkpoints.�The `Error` enum of this pallet.�Lpolymesh_primitivesHcompliance_manager<AssetCompliancepaused bool0requirementshVec<ComplianceRequirement>�dpallet_compliance_managerVersionu8�dpallet_compliance_managerpalletErrorT0Unauthorized\User is not authorized.,DidNotExist8Did not exist.xInvalidComplianceRequirementId�Compliance requirement id doesn't exist.�IncorrectOperationOnTrustedIssuer�Issuer exist but trying to add it again.|DuplicateComplianceRequirements�There are duplicate compliance requirements.|ComplianceRequirementTooComplexThe worst case scenario of the compliance requirement is too complex.LWeightLimitExceededThe maximum weight limit for executing the function was exceeded.�The `Error` enum of this pallet.�̱�`pallet_corporate_actionsVersionu8�`pallet_corporate_actionspalletErrorT,8DetailsTooLong�The `details` of a CA exceeded the max allowed length.<DuplicateDidTax!A withholding tax override for a given DID was specified more than once.The chain refused to make a choice, and hence there was an error.<TooManyDidTaxes�Too many withholding tax overrides were specified.@TooManyTargetIds�Too many identities in `TargetIdentities` were specified.HNoSuchCheckpointIdOn CA creation, a checkpoint ID was provided which doesn't exist. NoSuchCA�A CA with the given `CAId` did not exist.0NoRecordDate�The CA did not have a record date.PRecordDateAfterStart�A CA's record date was strictly after the "start" time,�where "start" is context dependent.�For example, it could be the start of a ballot, or the start-of-payment in capital distribution.\DeclDateAfterRecordDate�A CA's declaration date was strictly after its record date.@DeclDateInFuture	�A CA's declaration date occurs in the future.<NotTargetedByCA
lCA does not target the DID.�The `Error` enum of this pallet.�q��`pallet_corporate_actionsballotVersionu8�`pallet_corporate_actionsballotpalletErrorT8,CANotNotice�A corporate ballot was made for a non `IssuerNotice` CA.4AlreadyExists�A corporate ballot already exists for this CA.0NoSuchBallot�A corporate ballot doesn't exist for this CA.4StartAfterEndA corporate ballot's start time was strictly after the ballot's end.,NowAfterEnd
A corporate ballot's end time was strictly before the current time.\NumberOfChoicesOverflow9If some motion in a corporate ballot has more choices than would fit in `u16`.PVotingAlreadyStartedVoting started already. Amending a ballot is no longer possible.@VotingNotStartedhVoting hasn't started yet.HVotingAlreadyEndedTVoting ended already.8WrongVoteCount	Provided list of balances does not match the total number of choices.DInsufficientVotes
=Voting power used by a DID on a motion exceeds that which is available to them.DNoSuchRCVFallback�The RCV fallback of some choice does not exist.0RCVSelfCycle�The RCV fallback points to the origin choice.4RCVNotAllowed
�RCV is not allowed for this ballot.�The `Error` enum of this pallet.�Hpallet_permissionspalletErrorTHUnauthorizedCaller�The caller is not authorized to call the current extrinsic.�The `Error` enum of this pallet.�,pallet_pipstypes0PipsMetadata,BlockNumberid�PipIdurlu,Option<Url>,description�XOption<PipDescription>(created_at,BlockNumberLtransaction_versionu32expiryu\MaybeBlock<BlockNumber>���,pallet_pipstypes,DepositInfo$AccountIdowner$AccountIdamountBalance�,pallet_pipstypesPip Proposal�$AccountIdid�PipId proposal� Proposal proposeryLProposer<AccountId>�,pallet_pipstypes0VotingResult(ayes_countu32(ayes_stakeBalance(nays_countu32(nays_stakeBalance�,pallet_pipstypesVote boolBalance�,pallet_pipstypes@SnapshotMetadata,BlockNumber$AccountId(created_at,BlockNumbermade_by$AccountIdid�(SnapshotId�,pallet_pipsVersionu8�,pallet_pipspalletErrorTP�RescheduleNotByReleaseCoordinator1Only the GC release coordinator is allowed to reschedule proposal execution.@NotFromCommunity�The given dispatchable call is not valid for this proposal.�The proposal must be from the community, but isn't.8NotByCommittee�The given dispatchable call is not valid for this proposal.�The proposal must be from a committee, but isn't.DTooManyActivePips1The current number of active (pending or scheduled) PIPs exceeds the maximum�and the proposal is not by a committee.@IncorrectDeposit�Proposer specifies an incorrect deposit amount.LInsufficientDeposit�Proposer cannot afford to lock the minimum deposit.8NoSuchProposalpThe proposal does not exist.LNotACommitteeMember�The caller is not a member of the governance committee.`InvalidFutureBlockNumberThe specified block number is less than the current block number.TNumberOfVotesExceeded	�The number of votes exceeds the allowed limit.hStakeAmountOfVotesExceeded
�The stake amount of a vote exceeds the allowed limit.XMissingCurrentIdentitylThe current DID is missing.XIncorrectProposalStateThe proposal is not in the correct state for the requested operation.4CannotSkipPip
�When enacting snapshot results, an unskippable PIP was skipped.XSnapshotResultTooLargeTried to enact results for the snapshot queue overflowing its length.HSnapshotIdMismatchiTried to enact result for PIP with an ID different from that at the position in the queue.pScheduledProposalDoesntExist�Execution of a scheduled proposal failed because it is missing.lProposalNotInScheduledState�A proposal that is not in a scheduled state cannot be executed.0InvalidPipIdInvalid PIP ID. Pip id was not expected to be in the live queue.TSnapshotLimitTooSmall�The provided `limit` is less than the actual queue length.�The `Error` enum of this pallet.������
���


��

	
	
��

��
@pallet_portfoliopalletErrorT\TPortfolioDoesNotExistpThe portfolio doesn't exist.pInsufficientPortfolioBalance�Insufficient balance for a transaction.hDestinationIsSamePortfolio�The source and destination portfolios should be different.dPortfolioNameAlreadyInUse1The portfolio couldn't be renamed because the chosen name is already in use.�SecondaryKeyNotAuthorizedForPortfolio�The secondary key is not authorized to access the portfolio(s).TUnauthorizedCustodian�The porfolio's custody is with someone other than the caller.`InsufficientTokensLocked�Can not unlock more tokens than what are lockedDPortfolioNotEmpty�The portfolio still has some asset balance leftlDifferentIdentityPortfolios�The portfolios belong to different identities`NoDuplicateAssetsAllowed	�Duplicate asset among the items.XNFTNotFoundInPortfolio
�The NFT does not exist in the portfolio.@NFTAlreadyLockedhThe NFT is already locked.0NFTNotLockedxThe NFT has never been locked.hInvalidTransferNFTNotOwned
�Only owned NFTs can be moved between portfolios.hInvalidTransferNFTIsLocked�Locked NFTs can not be moved between portfolios.4EmptyTransfer�Trying to move an amount of zero assets.\MissingOwnersPermission9The caller doesn't have permission to create portfolios on the owner's behalf.XSelfAdditionNotAllowed�Adding itself as an AllowedCustodian is not permitted.PBadAuthorizationTypemThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.�DefaultPortfoliosCannotHaveCustodians�Default portfolios cannot have custodians.`UnauthorizedPortfolioKey�The key does not have permission to access the portfolio.PKeyNotFoundForCallerdKey not found for caller.LInsufficientBalance�Insufficient balance (tokens might not exist or are locked).�The `Error` enum of this pallet.
Lpallet_protocol_feepalletErrorThInsufficientAccountBalance�Insufficient account balance to pay the fee.LUnHandledImbalances�Not able to handled the imbalanceshInsufficientSubsidyBalance�Insufficient subsidy balance to pay the fee.�The `Error` enum of this pallet.
Lbounded_collections,bounded_vec(BoundedVecT
S1
Vec<T>
OptionT!
NoneSome!
!
@pallet_scheduler$ScheduledNameCall%
,BlockNumber4PalletsOrigin]$AccountId maybe_id�0Option<Name> priorityHschedule::Prioritycall%
Call8maybe_periodic��Option<schedule::Period<BlockNumber>>origin]4PalletsOrigin%
4frame_supporttraits$preimagesBoundedT�H)
Legacyhash4$H::OutputInline-
4BoundedInlineLookuphash4$H::Outputlenu32)
(sp_runtimetraits,BlakeTwo256-
Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>1

5
@pallet_scheduler,RetryConfigPeriod4total_retriesu8$remainingu8periodPeriod9
@pallet_schedulerpalletErrorT@FailedToScheduledFailed to schedule a call NotFound|Cannot find the scheduled call.\TargetBlockNumberInPast�Given target block number is in the past.HRescheduleNoChange�Reschedule failed because it does not change scheduled time.Named�Attempt to use a non-named function on a named task.�The `Error` enum of this pallet.=
Lpolymesh_primitives(settlementVenuecreator�(IdentityId(venue_type�$VenueTypeA
��E
�I
��M
Lpolymesh_primitives(settlement,InstructionMoment0,BlockNumber8instruction_id�4InstructionId venue_id
<Option<VenueId><settlement_typelSettlementType<BlockNumber>(created_at)8Option<Moment>(trade_date)8Option<Moment>(value_date)8Option<Moment>Q
��U
Lpolymesh_primitives(settlement$LegStatus$AccountId@PendingTokenLock@ExecutionPendingPExecutionToBeSkipped$AccountId0u64Y
�U]
Lpolymesh_primitives(settlementDAffirmationStatusUnknownPending Affirmeda
U�e
��i
Lpolymesh_primitives(settlementDInstructionStatus,BlockNumberUnknownPendingFailedSuccess,BlockNumber Rejected,BlockNumberHLockedForExecutionm
��q
Lpolymesh_primitives(settlementdMediatorAffirmationStatusT0UnknownPending Affirmedexpiry)$Option<T>u
Dpallet_settlementpalletErrorT�0InvalidVenueTVenue does not exist.0Unauthorized�Sender does not have required permissions.XInstructionNotAffirmed�Instruction has not been affirmed.HUnauthorizedSigner�Signer is not authorized by the venue.TReceiptAlreadyClaimedTReceipt already used.DUnauthorizedVenue�Venue does not have required permissions.\InstructionDatesInvalidtInstruction has invalid datespInstructionSettleBlockPassed�Instruction's target settle block reached.@InvalidSignaturexOffchain signature is invalid.HSameSenderReceiver	�Sender and receiver are the same.DSettleOnPastBlock
aThe provided settlement block number is in the past and cannot be used by the scheduler.lUnexpectedAffirmationStatusEThe current instruction affirmation status does not support the requested action.@FailedToSchedule�Scheduling of an instruction fails.HUnknownInstruction
tInstruction status is unknownLSignerAlreadyExists�Signer is already added to venue.HSignerDoesNotExisttSigner is not added to venue.(ZeroAmount�Instruction leg amount can't be zero.�InstructionSettleBlockNotReached�Instruction settlement block has not yet been reached.DCallerIsNotAParty�The caller is not a party of this instruction.\MaxNumberOfNFTsExceededThe number of nfts being transferred in the instruction was exceeded.�NumberOfTransferredNFTsUnderestimated�The given number of nfts being transferred was underestimated.`ReceiptForInvalidLegType�Off-chain receipts can only be used for off-chain leg type.LWeightLimitExceededThe maximum weight limit for executing the function was exceeded.�MaxNumberOfFungibleAssetsExceeded�The maximum number of fungible assets was exceeded.�MaxNumberOfOffChainAssetsExceeded�The maximum number of off-chain assets was exceeded.�NumberOfFungibleTransfersUnderestimated�The given number of fungible transfers was underestimated.\UnexpectedOFFChainAsset�AssetId could not be found on chain.dOffChainAssetCantBeLocked�Off-Chain assets cannot be locked.�NumberOfOffChainTransfersUnderestimated�The given number of off-chain transfers was underestimated.,LegNotFound�No leg with the given id was foundpInputWeightIsLessThanMinimum�The input weight is less than the minimum required.lMaxNumberOfReceiptsExceeded�The maximum number of receipts was exceeded.�NotAllAffirmationsHaveBeenReceived �There are parties who have not affirmed the instruction.�InvalidInstructionStatusForExecution!�Only [`InstructionStatus::Pending`] or [`InstructionStatus::Failed`] instructions can be executed.�FailedToReleaseLockOrTransferAssets"The instruction failed to release asset locks or transfer the assets.LDuplicateReceiptUid#�No duplicate uid are allowed for different receipts.tReceiptInstructionIdMissmatch$The instruction id in all receipts must match the extrinsic parameter.dMultipleReceiptsForOneLeg%�Multiple receipts for the same leg are not allowed.LUnexpectedLegStatus&pAn invalid has been reached.pNumberOfVenueSignersExceeded'�The maximum number of venue signers was exceeded.PCallerIsNotAMediator(�The caller is not a mediator in the instruction.DInvalidExpiryDate)�The mediator's expiry date must be in the future.hMediatorAffirmationExpired*�The expiry date for the mediator's affirmation has passed.pOffChainAssetsMustHaveAVenue+�Offchain assets must have a venue.`UnexpectedSettlementType,lUnexpected settlement type.�InvalidInstructionStatusForRejection-�[`InstructionStatus::Unknow`] can't be rejected.TLockTimestampNotFound.�All locked instructions must register a lock timestamp.pExceededMaximumLockingPeriod/�The instruction has been locked for too much time.�FailedAssetTransferringConditions0�Not all conditions for transferring the asset have been met.�InvalidInstructionStatusForWithdrawal1�Locked instructions can't have affirmations withdrawn.`ReceiverIdentityNotFound2pReceiver identity not found.@InvalidAccountId3LInvalid account id.8ReceiptExpired4�The receipt has expired and can no longer be claimed.PSenderSameAsReceiver5�Source and destination are the exact same AssetHolder.tAllowancesNotSupportedForNFTs6Spender allowances are not supported for non-fungible token transfers.`InstructionAlreadyLocked7!The instruction is already locked. It must be unlocked before relocking.PInstructionNotLocked85The instruction is not in `LockedForExecution` status and cannot be unlocked.`RelockCooldownNotExpired9The relock cooldown period has not expired since the last unlock.XMaxRelockCountExceeded:The maximum number of relocks for this instruction has been exceeded.lMissingInstructionMediators;�At least one mediator is required for this instruction.�The `Error` enum of this pallet.y
Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetT-S),BTreeSet<T>}
�
E�
Lpolymesh_primitives(statistics(Stat1stKey asset_id�AssetId$stat_type- StatType�
Lpolymesh_primitivesLtransfer_compliance\AssetTransferComplianceSpaused bool0requirements�
�BoundedBTreeSet<TransferCondition, S>�
Lbounded_collectionsDbounded_btree_set<BoundedBTreeSetTYS1,BTreeSet<T>�
]��
Dpallet_statisticsVersionu8�
Dpallet_statisticspalletErrorT�InvalidTransferStatisticsFailure�Invalid transfer [`TransferCondition`] not respected.<StatTypeMissing`StatType is not enabled.�StatTypeNeededByTransferCondition�StatType is needed by TransferCondition.dCannotRemoveStatTypeInUse�A Stattype is in use and can't be removed.PStatTypeLimitReached�The limit of StatTypes allowed for an asset has been reached.tTransferConditionLimitReachedThe limit of TransferConditions allowed for an asset has been reached.LWeightLimitExceededThe maximum weight limit for executing the function was exceeded.�The `Error` enum of this pallet.�
�i�
(pallet_stoVersionu8�
(pallet_stopalletErrorT<0UnauthorizedSender does not have required permissions for the requested operation. Overflow�An arithmetic operation resulted in overflow or underflow.lInsufficientTokensRemaining9The fundraiser does not have enough tokens remaining to fulfil the investment.HFundraiserNotFound�The specified fundraiser does not exist for the given asset.DFundraiserNotLiveThe fundraiser is not in a live state (either frozen or stopped).@FundraiserClosed�The fundraiser has been permanently closed or stopped.DFundraiserExpiredAttempting to interact with a fundraiser after its end time has passed.0InvalidVenue5The provided venue is invalid (does not exist, wrong type, or wrong creator).DInvalidPriceTiersMOne or more price tiers have invalid parameters (zero total, too many tiers, etc.).TInvalidOfferingWindow	9The fundraiser time window has invalid parameters (start time after end time).@MaxPriceExceeded
MThe calculated price per token exceeds the maximum price specified by the investor.XInvestmentAmountTooLowQThe investment amount is below the minimum investment threshold for this fundraiser.@InvalidSignatureThe off-chain receipt signature is invalid or could not be verified.dOffchainFundingNotAllowed
�Off-chain funding has not been enabled for this fundraiser.8ReceiptExpired-The off-chain receipt has expired and can no longer be used for investment.�The `Error` enum of this pallet.�
<pallet_treasurypalletErrorTLInsufficientBalancexProposer's balance is too low.<InvalidIdentity�Invalid identity for disbursement.�The `Error` enum of this pallet.�
8pallet_utilitypalletErrorT0TooManyCalls\Too many calls batched.\UnableToDeriveAccountId�Decoding derivative account Id failed.�The `Error` enum of this pallet.�
,pallet_basepalletErrorTTooLong�Exceeded a generic length limit.The limit could be for any sort of lists of things, including a string.<CounterOverflow�The sequence counter for something overflowed.When this happens depends on e.g., the capacity of the identifier type.9For example, we might have `pub struct PipId(u32);`, with `u32::MAX` capacity.YIn practice, these errors will never happen but no code path should result in a panic,�so these corner cases need to be covered with an error variant.@InvalidAccountIdLInvalid account ID.�The `Error` enum of this pallet.�
�]�
Xpallet_external_agentspalletVersionu8�
Xpallet_external_agentspalletErrorT  NoSuchAG�An AG with the given `AGId` did not exist for the `AssetId`.DUnauthorizedAgent�The agent is not authorized to call the current extrinsic.8AlreadyAnAgent�The provided `agent` is already an agent for the `AssetId`.(NotAnAgent�The provided `agent` is not an agent for the `AssetId`.TRemovingLastFullAgent�This agent is the last full one, and it's being removed,hmaking the asset orphaned.�SecondaryKeyNotAuthorizedForAssetThe caller's secondary key does not have the required asset permission.PBadAuthorizationTypemThe extrinsic expected a different `AuthorizationType` than what the `data.auth_type()` is.lExceptPermissionsNotAllowed	Except `ExtrinsicPermissions` are not allowed for external agents.�The `Error` enum of this pallet.�
8pallet_relayerpalletSubsidyAcc(paying_keyAcc$remainingBalance�
8pallet_relayerpalletErrorT,NoPayingKey�The `user_key` doesn't have a `paying_key`.0NotPayingKey�The `user_key` has a different `paying_key`.4NotAuthorized�The signer is not the `paying_key` or the `user_key`. Overflow�The remaining POLYX for `user_key` overflowed.@NoPendingSubsidyThere is no pending subsidy from the `paying_key` for the `user_key`.@InvalidSignaturetOffchain signature is invalid8ExpiredRelayTx�The relay transaction has expired.�The `Error` enum of this pallet.�
Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>�
@pallet_contractswasm CodeInfoTowner8AccountIdOf<T>deposit�0BalanceOf<T> refcount,u64,determinism�,Determinism code_lenu32�
@pallet_contractsstorage0ContractInfoT trie_id-
TrieId$code_hash4,CodeHash<T>4storage_bytesu324storage_itemsu32Pstorage_byte_deposit0BalanceOf<T>Pstorage_item_deposit0BalanceOf<T>Pstorage_base_deposit0BalanceOf<T>Tdelegate_dependencies�
BoundedBTreeMap<CodeHash<T>, BalanceOf<T>, T::
MaxDelegateDependencies>�
Lbounded_collectionsDbounded_btree_map<BoundedBTreeMapK4VS�
8BTreeMap<K, V>�
 BTreeMapK4V�
�
�
�
4�
@pallet_contractsstoragePDeletionQueueManagerT8insert_counteru328delete_counteru32�
Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>�
@pallet_contracts schedule ScheduleTlimits�
LimitsLinstruction_weights�
TInstructionWeights<T>�
@pallet_contracts scheduleLimits0event_topicsu320memory_pagesu32,subject_lenu32,payload_lenu328runtime_memoryu32`validator_runtime_memoryu328event_ref_time0u64�
@pallet_contracts scheduleHInstructionWeightsTbaseu32�
@pallet_contracts,EnvironmentT(account_id�
|EnvironmentType<AccountIdOf<T>>balance�
tEnvironmentType<BalanceOf<T>>hash�EnvironmentType<<T as frame_system::Config>::Hash>hasher�EnvironmentType<<T as frame_system::Config>::Hashing>$timestamp	pEnvironmentType<MomentOf<T>>0block_number
�EnvironmentType<BlockNumberFor<T>>�
@pallet_contracts<EnvironmentTypeT�
@pallet_contracts<EnvironmentTypeT@pallet_contracts<EnvironmentTypeT4@pallet_contracts<EnvironmentTypeT)
	@pallet_contracts<EnvironmentTypeT0
@pallet_contracts<EnvironmentTypeT@pallet_contracts(ApiVersionqu16@pallet_contractspalletErrorT�<InvalidScheduleInvalid schedule supplied, e.g. with zero weight of a basic operation.@InvalidCallFlags5Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`. OutOfGas�The executed contract exhausted its gas limit.POutputBufferTooSmallThe output buffer supplied to a contract API call was too small.8TransferFailed5Performing the requested transfer failed. Probably because there isn't enough�free balance in the sender's account.LMaxCallDepthReached!Performing a call was denied because the calling depth reached the limit�of what is specified in the schedule.@ContractNotFound�No contract was found at the specified address.0CodeTooLarge=The code supplied to `instantiate_with_code` exceeds the limit specified in theDcurrent schedule.0CodeNotFound�No code could be found at the supplied code hash.@CodeInfoNotFound	�No code info could be found at the supplied code hash.,OutOfBounds
%A buffer outside of sandbox memory was passed to a contract API function.8DecodingFailed)Input passed to a contract API function failed to decode as expected type.<ContractTrapped�Contract trapped during execution.4ValueTooLarge
�The size defined in `T::MaxValueSize` was exceeded.`TerminatedWhileReentrantTermination of a contract is not allowed while the contract is already�on the call stack. Can be triggered by `seal_terminate`.8InputForwardedA`seal_call` forwarded this contracts input. It therefore is no longer available.PRandomSubjectTooLong�The subject passed to `seal_random` exceeds the limit.4TooManyTopicsThe amount of topics passed to `seal_deposit_events` exceeds the limit.@NoChainExtensionEThe chain does not provide a chain extension. Calling the chain extension resultsMin this error. Note that this usually  shouldn't happen as deploying such contracts0is rejected.<XCMDecodeFailed�Failed to decode the XCM program.DDuplicateContract�A contract with the same AccountId already exists.\TerminatedInConstructor�A contract self destructed in its constructor.�This can be triggered by a call to `seal_terminate`.@ReentranceDenied
A call tried to invoke a contract that is flagged as non-reentrant.]The only other cause is that a call from a contract into the runtime tried to call backIinto `pallet-contracts`. This would make the whole pallet reentrant with regard to�contract code execution which is not supported.DStateChangeDeniedMA contract attempted to invoke a state modifying API while being in read-only mode.pStorageDepositNotEnoughFunds!Origin doesn't have enough balance to pay the required storage deposits.pStorageDepositLimitExhausted
More storage was created than allowed by the storage deposit limit.$CodeInUseICode removal was denied because the code is still in use by at least one contract.@ContractReverted%The contract ran to completion but decided to revert its storage changes.IPlease 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.0CodeRejected �The contract's code was found to be invalid during validation.MThe most likely cause of this is that an API was used which is not supported by theQnode. This happens if an older node is used with a new version of ink!. Try updating�your node to the newest available version.QA more detailed error can be found on the node console if debug messages are enabled�by supplying `-lruntime::contracts=debug`.<Indeterministic)An indeterministic code was used in a context where this is not permitted.LMigrationInProgress%A pending migration needs to complete before the extrinsic can be called.PNoMigrationPerformed
Migrate dispatch call was attempted but no migration was performed.xMaxDelegateDependenciesReached The contract has reached its maximum number of delegate dependencies.hDelegateDependencyNotFound!The dependency was not found in the contract's delegate dependencies.|DelegateDependencyAlreadyExists"�The contract already depends on the given delegate dependency.�CannotAddSelfAsDelegateDependency#)Can not add a delegate dependency to the code hash of the contract itself.TOutOfTransientStorage$�Can not add more data to transient storage.�The `Error` enum of this pallet.Hpolymesh_contractspalletVersionu8Hpolymesh_contractspalletErrorT$4InvalidFuncId�Invalid `func_id` provided from contract.HInvalidRuntimeCall�Failed to decode a valid `RuntimeCall`.DReadStorageFailed�`ReadStorage` failed to write value into the contract's buffer.TDataLeftAfterDecoding�Data left in input when decoding arguments of a call.4InLenTooLarge9Input data that a contract passed when using the ChainExtension was too large.8OutLenTooLarge�Output data returned from the ChainExtension was too large.DRuntimeCallDenied�Extrinsic is not allowed to be called by contracts.LInvalidChainVersion�Only future chain versions are allowed.LNoUpgradesSupported�There are no api upgrades supported for the contract.�The `Error` enum of this pallet.!<pallet_preimage@OldRequestStatus$AccountIdBalance,Unrequesteddeposit�	P(AccountId, Balance)lenu32$Requesteddeposit%pOption<(AccountId, Balance)>countu32len�,Option<u32>%OptionT�	NoneSome�	)<pallet_preimage4RequestStatus$AccountIdTicket-,Unrequestedticket1L(AccountId, Ticket)lenu32$Requested0maybe_ticket5lOption<(AccountId, Ticket)>countu32$maybe_len�,Option<u32>-4frame_supporttraitstokens fungibleDHoldConsiderationAFRDFp(F::Balance1-5OptionT1NoneSome19Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>=<pallet_preimagepalletErrorT TooBig�Preimage is too large to store on-chain.0AlreadyNoted�Preimage has already been noted on-chain.4NotAuthorized�The user is not authorized to perform this action. NotNoted�The preimage cannot be removed since it has not yet been noted.$Requested	A preimage may not be removed when there are outstanding requests.0NotRequested-The preimage request cannot be removed since no outstanding requests exist.TooManyUMore than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once.TooFew�Too few hashes were requested to be upgraded (i.e. zero).�The `Error` enum of this pallet.ALpolymesh_primitivesnft4NFTCollectionid�<NFTCollectionId asset_id�AssetIdE BTreeSetT��IM�M��Q��ULpolymesh_primitivesnft8NFTOwnerStatus NotOwnedOwner,OwnerLockedY(pallet_nftpalletErrorTt<BalanceOverflow�An overflow while calculating the balance.@BalanceUnderflow�An underflow while calculating the balance.hCollectionAlredyRegistered�The asset_id is already associated to an NFT collection.HCollectionNotFound�The NFT collection does not exist.PDuplicateMetadataKey�A duplicate metadata key has been passed as parameter.<DuplicatedNFTIdxDuplicate ids are not allowed.@InvalidAssetType�The asset must be of type non-fungible.`InvalidMetadataAttribute�Either the number of keys or the key identifier does not match the keys defined for the collection.�InvalidNFTTransferCollectionNotFound�Failed to transfer an NFT - NFT collection not found.|InvalidNFTTransferSamePortfolio		Failed to transfer an NFT - attempt to move to the same portfolio.tInvalidNFTTransferNFTNotOwned
�Failed to transfer an NFT - NFT not found in portfolio.|InvalidNFTTransferCountOverflow�Failed to transfer an NFT - identity count would overflow.�InvalidNFTTransferComplianceFailure�Failed to transfer an NFT - compliance failed.tInvalidNFTTransferFrozenAsset
�Failed to transfer an NFT - asset is frozen.�InvalidNFTTransferInsufficientCount=Failed to transfer an NFT - the number of nfts in the identity is insufficient.\MaxNumberOfKeysExceeded�The maximum number of metadata keys was exceeded.tMaxNumberOfNFTsPerLegExceededThe maximum number of nfts being transferred in one leg was exceeded.,NFTNotFound\The NFT does not exist.\UnregisteredMetadataKey�At least one of the metadata keys has not been registered.$ZeroCount�It is not possible to transferr zero nft.8SupplyOverflow�An overflow while calculating the updated supply.<SupplyUnderflow�An underflow while calculating the updated supply.tInvalidNFTTransferNFTIsLocked�Failed to transfer an NFT - nft is locked.�InvalidNFTTransferSenderDidMatchesReceiverDid�The sender identity can't be the same as the receiver identity.�InvalidNFTTransferInvalidReceiverDID�The receiver has an invalid DID.8InvalidAssetId�There's no asset associated to the given asset_id.,NFTIsLockedHThe NFT is locked.xNumberOfKeysIsLessThanExpected�The number of keys in the collection is greater than the input.8NFTIsNotLockedXThe NFT is not locked.�The `Error` enum of this pallet.]�pallet_election_provider_multi_phase4ReadySolution$AccountId(MaxWinnersLMaxBackersPerWinner supportsa�BoundedSupports<AccountId, MaxWinners, MaxBackersPerWinner>score�4ElectionScorecompute�<ElectionComputea|frame_election_provider_support<BoundedSupports$AccountIdBOuterBInnere	BoundedVec<(AccountId, BoundedSupport<AccountId, BInner>), BOuter>eLbounded_collections,bounded_vec(BoundedVecTiSuVec<T>imm|frame_election_provider_support8BoundedSupport$AccountIdBoundtotal<ExtendedBalancevotersq�BoundedVec<(AccountId, ExtendedBalance), Bound>qLbounded_collections,bounded_vec(BoundedVecT�	S�	Vec<T>uiy�pallet_election_provider_multi_phase4RoundSnapshot$AccountId$VoterType}voters�8Vec<VoterType>targets!8Vec<AccountId>}0��}�Lbounded_collections,bounded_vec(BoundedVecT�S�Vec<T>������pallet_election_provider_multi_phasesigned@SignedSubmission$AccountIdBalance Solution�who$AccountIddepositBalance0raw_solution�TRawSolution<Solution> call_feeBalance��pallet_election_provider_multi_phasepalletErrorT<hPreDispatchEarlySubmissiondSubmission was too early.lPreDispatchWrongWinnerCount�Wrong number of winners presented.dPreDispatchWeakSubmission�Submission was too weak, score-wise.<SignedQueueFullIThe queue was full, and the solution was not better than any of the existing ones.XSignedCannotPayDeposit�The origin failed to pay the deposit.PSignedInvalidWitness�Witness data to dispatchable is invalid.LSignedTooMuchWeight�The signed submission consumes too much weight<OcwCallWrongEra�OCW submitted solution for wrong round\MissingSnapshotMetadata�Snapshot metadata should exist but didn't.XInvalidSubmissionIndex	�`Self::insert_submission` returned an invalid index.8CallNotAllowed
�The call is not allowed at this point.8FallbackFailedLThe fallback failed,BoundNotMetHSome bound not met8TooManyWinners
�Submitted solution has too many winnersdPreDispatchDifferentRound�Submission was prepared for a different round.
Error of the pallet that can be returned in response to dispatches.�Lbounded_collections,bounded_vec(BoundedVecTMS�Vec<T>�M�0pallet_beefypalletErrorT `InvalidKeyOwnershipProof1A key ownership proof provided as part of an equivocation report is invalid.`InvalidDoubleVotingProof1A double voting proof provided as part of an equivocation report is invalid.XInvalidForkVotingProof)A fork voting proof provided as part of an equivocation report is invalid.tInvalidFutureBlockVotingProofIA future block voting proof provided as part of an equivocation report is invalid.|InvalidEquivocationProofSession�The session of the equivocation proof is invalid�InvalidEquivocationProofSessionMemberThe session of the equivocation proof is not in the mapping (anymore)XDuplicateOffenceReportA given equivocation report is valid but already previously reported.PInvalidConfiguration�Submitted configuration is invalid.�The `Error` enum of this pallet.�Hsp_consensus_beefymmrDBeefyAuthoritySetXAuthoritySetCommitment4id0Tcrate::ValidatorSetIdlenu32Dkeyset_commitment4XAuthoritySetCommitment�Dpallet_migrationspalletErrorTOngoing�The operation cannot complete since some MBMs are ongoing.�The `Error` enum of this pallet.�hpallet_confidential_assets0AssetDetailsT0total_supplyBalance$owner_did�(IdentityIddata	�BoundedVec<u8, T::MaxAssetDataLength>�4polymesh_dartbpasset$AssetKeys enc_keys�tBTreeSet<EncryptionPublicKey>$mediators�xBTreeMap<AccountPublicKey, u8>� BTreeMapK�V�������������4polymesh_dart(curve_treecommon0NodeLocationLeaf,$LeafIndexOdd�0NodePositionEven�0NodePosition�4polymesh_dart(curve_treecommon0NodePositionlevel�$NodeLevelindex,$NodeIndex��4polymesh_dart(curve_treecommon<CompressedInnerCis_even bool,commitmentsAT[CompressedAffine; M]�4polymesh_dart(curve_treecommon<CompressedInnerCis_even bool,commitmentsAT[CompressedAffine; M]�4polymesh_dart(curve_treecommon<CompressedInnerCis_even bool,commitmentsAT[CompressedAffine; M]�
�
��hpallet_confidential_assets(settlement8LegAffirmPartySender Receiver Mediator(MediatorId�hpallet_confidential_assets(settlementDAffirmationStatusPending Affirmed Rejected$Finalized�4frame_support PalletId�[u8; 8]�hpallet_confidential_assetspalletErrorT�8AccountMissing�Confidential account hasn't been registered yet.TAccountAlreadyCreated�Confidential account already exists.tAccountAssetAlreadyRegistered�Confidential account has already registered that asset.xEncryptionKeyAlreadyRegistered�Encryption key already registered.DFeeAccountMissing�Confidential fee account hasn't been registered yet.lFeeAccountAlreadyRegistered�Confidential fee account already registered.pInsufficientFeePaymentAmount�Insufficient fee payment amount.XInvalidFeePaymentProofhInvalid Fee Payment proof.HEmptyBatchedProofs|Batch of proofs can't be empty.DInvalidFeeAssetId	TInvalid fee asset id.8AmountOverflow
@Amount overflow.8CurveTreeError@CurveTree error.TCurveTreeRootNotFounddCurveTree root not found.0LeafNotFound
�Leaf not found in the curve tree.0InvalidProof\Invalid proof provided.DAssetStateInvalid\Asset state is invalid.0AssetMissing�Confidential asset hasn't been registered yet.<NotAccountOwner�The caller is not the owner of the Confidential account.4NotAssetOwner�The caller is not the owner of the Confidential asset.XMaxTotalSupplyExceeded�The asset total supply cannot exceed the maximum total supply.PNullifierAlreadyUsedThe nullifier for the account state commitment has already been used.PEncryptionKeyMissing�Encryption key for the Confidential account is missing.\SettlementAlreadyExistshSettlement already exists.TSettlementMissingLegslSettlement is missing legs.TSettlementTooManyLegstSettlement has too many legs.|BatchedSettlementInvalidLegRefs�Batched settlement has invalid leg references.<AlreadyAffirmedDAlready affirmed.<AlreadyRejectedDAlready rejected.@AlreadyFinalizedHAlready finalized.@TooManyMediators�Too many mediators for this leg.<WrongMediatorId|Wrong mediator id for this leg.TNoPendingAffirmations�No pending affirmations for this settlement.HSettlementNotFound TSettlement not found.,LegNotFound!�Leg not found in the settlement.PSettlementNotPending"\Settlement not pending.TSettlementNotExecuted#`Settlement not executed.dSettlementAlreadyExecuted$�Settlement has executed, cannot be reverted.dCurveTreeParametersNotSet%tCurveTree parameters not set.XNoCurrentWorkerSession&hNo current worker session.TNoAuditorsOrMediators'�Confidential assets require at least one mediator or auditor.dNotLastPendingAffirmation(�Not the last pending affirmation for the settlement.<TooManyDecimals)�Too many decimals for the asset.,NameTooLong*pName too long for the asset.4SymbolTooLong+xSymbol too long for the asset.@InvalidAssetName,LInvalid asset name.�InvalidAffirmationStatusTransition-�Invalid affirmation status transition.�The `Error` enum of this pallet.�4pallet_revivevm CodeInfoTowner8AccountIdOf<T>deposit�0BalanceOf<T> refcount,u64 code_lenu32$code_type0BytecodeTypeDbehaviour_versionu324pallet_revivevm0BytecodeTypePvmEvm4pallet_revivestorage,AccountInfoT0account_type	8AccountType<T>dust0u64	4pallet_revivestorage,AccountTypeT Contract
<ContractInfo<T>EOA
4pallet_revivestorage0ContractInfoT trie_id-
TrieId$code_hash44sp_core::H2564storage_bytesu324storage_itemsu32Pstorage_byte_deposit0BalanceOf<T>Pstorage_item_deposit0BalanceOf<T>Pstorage_base_deposit0BalanceOf<T>Himmutable_data_lenu32Lbounded_collections,bounded_vec(BoundedVecTS8Vec<T>4pallet_revivestoragePDeletionQueueManagerT8insert_counteru328delete_counteru324pallet_reviveevmapi4rpc_types_genBlockl@base_fee_per_gasIU2564blob_gas_usedIU256(difficultyIU256<excess_blob_gasIU256(extra_dataBytes$gas_limitIU256 gas_usedIU256hash4H256(logs_bloom! Bytes256minermAddress mix_hash4H256nonce)Bytes8numberIU256`parent_beacon_block_root-0Option<H256>,parent_hash4H2564receipts_root4H2564requests_hash-0Option<H256>0sha_3_uncles4H256sizeIU256(state_root4H256$timestampIU256@total_difficulty10Option<U256>0transactions5`HashesOrTransactionInfosDtransactions_root4H256unclesq$Vec<H256>,withdrawals�<Vec<Withdrawal>@withdrawals_root4H2564pallet_reviveevmapibyteBytes8Vec<u8>!4pallet_reviveevmapibyte Bytes256%$[u8; 256]%)4pallet_reviveevmapibyteBytes8�[u8; 8]-OptionT4NoneSome41OptionTINoneSomeI54pallet_reviveevmapi4rpc_types_gen`HashesOrTransactionInfosHashesq$Vec<H256>@TransactionInfos9PVec<TransactionInfo>9==4pallet_reviveevmapi4rpc_types_gen<TransactionInfo(block_hash4H2560block_numberIU256frommAddresshash4H256Dtransaction_indexIU256Htransaction_signedADTransactionSignedA4pallet_reviveevmapi4rpc_types_genDTransactionSignedTTransaction7702SignedETTransaction7702SignedTTransaction4844Signed]TTransaction4844SignedTTransaction1559SignedeTTransaction1559SignedTTransaction2930SignedqTTransaction2930Signed\TransactionLegacySignedy\TransactionLegacySignedE4pallet_reviveevmapi4rpc_types_genTTransaction7702Signeddtransaction_7702_unsignedI\Transaction7702UnsignedrIU256sIU256v10Option<U256> y_parityIU256I4pallet_reviveevmapi4rpc_types_gen\Transaction7702Unsigned,,access_listM(AccessListHauthorization_listUlVec<AuthorizationListEntry> chain_idIU256gasIU256inputBytes<max_fee_per_gasIU256`max_priority_fee_per_gasIU256nonceIU256tomAddressr#type,TypeEip7702valueIU256MQQ4pallet_reviveevmapi4rpc_types_gen<AccessListEntryaddressmAddress0storage_keysq$Vec<H256>UYY4pallet_reviveevmapi4rpc_types_genXAuthorizationListEntry chain_idIU256addressmAddressnonceIU256 y_parityIU256rIU256sIU256]4pallet_reviveevmapi4rpc_types_genTTransaction4844Signeddtransaction_4844_unsigneda\Transaction4844UnsignedrIU256sIU256 y_parityIU256a4pallet_reviveevmapi4rpc_types_gen\Transaction4844Unsigned0,access_listM(AccessListTblob_versioned_hashesq$Vec<H256> chain_idIU256gasIU256inputBytesPmax_fee_per_blob_gasIU256<max_fee_per_gasIU256`max_priority_fee_per_gasIU256nonceIU256tomAddressr#type,TypeEip4844valueIU256e4pallet_reviveevmapi4rpc_types_genTTransaction1559Signeddtransaction_1559_unsignedi\Transaction1559UnsignedrIU256sIU256v10Option<U256> y_parityIU256i4pallet_reviveevmapi4rpc_types_gen\Transaction1559Unsigned,,access_listM(AccessList chain_idIU256gasIU256$gas_priceIU256inputBytes<max_fee_per_gasIU256`max_priority_fee_per_gasIU256nonceIU256tom<Option<Address>r#type,TypeEip1559valueIU256mOptionTmNoneSomemq4pallet_reviveevmapi4rpc_types_genTTransaction2930Signeddtransaction_2930_unsignedu\Transaction2930UnsignedrIU256sIU256v10Option<U256> y_parityIU256u4pallet_reviveevmapi4rpc_types_gen\Transaction2930Unsigned$,access_listM(AccessList chain_idIU256gasIU256$gas_priceIU256inputBytesnonceIU256tom<Option<Address>r#type,TypeEip2930valueIU256y4pallet_reviveevmapi4rpc_types_gen\TransactionLegacySignedltransaction_legacy_unsigned}dTransactionLegacyUnsignedrIU256sIU256vIU256}4pallet_reviveevmapi4rpc_types_gendTransactionLegacyUnsigned  chain_id10Option<U256>gasIU256$gas_priceIU256inputBytesnonceIU256tom<Option<Address>r#type(TypeLegacyvalueIU256���4pallet_reviveevmapi4rpc_types_gen(WithdrawaladdressmAddressamountIU256indexIU256<validator_indexIU256���4pallet_reviveevm(block_hash8ReceiptGasInfo gas_usedIU256Leffective_gas_priceIU256�4pallet_reviveevm(block_hash4block_builderXEthereumBlockBuilderIRT `transaction_root_builder�`IncrementalHashBuilderIRTreceipts_root_builder�`IncrementalHashBuilderIR@base_fee_per_gasIU256<block_gas_limitIU256 gas_usedIU256(logs_bloom%X[u8; BLOOM_SIZE_BYTES]$tx_hashesq$Vec<H256> gas_info�LVec<ReceiptGasInfo>�4pallet_reviveevm(block_hash0hash_builder`IncrementalHashBuilderIR(key8Vec<u8>(value_typeu84builder_value8Vec<u8>stack�0Vec<Vec<u8>>,state_masks� Vec<u16>(tree_masks� Vec<u16>(hash_masks� Vec<u16>Hstored_in_database boolrlp_buf8Vec<u8>index0u64�OptionT�NoneSome��4pallet_revivedebug4DebugSettingstallow_unlimited_contract_size bool<bypass_eip_3607 bool pvm_logs boolddisable_execution_tracing bool�4pallet_revivepalletErrorT�<InvalidScheduleInvalid schedule supplied, e.g. with zero weight of a basic operation.@InvalidCallFlags5Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`. OutOfGas�The executed contract exhausted its gas limit.8TransferFailed5Performing the requested transfer failed. Probably because there isn't enough�free balance in the sender's account.LMaxCallDepthReached!Performing a call was denied because the calling depth reached the limit�of what is specified in the schedule.@ContractNotFound�No contract was found at the specified address.0CodeNotFound�No code could be found at the supplied code hash.@CodeInfoNotFound�No code info could be found at the supplied code hash.,OutOfBounds	%A buffer outside of sandbox memory was passed to a contract API function.8DecodingFailed
)Input passed to a contract API function failed to decode as expected type.<ContractTrapped�Contract trapped during execution.4ValueTooLarge�Event body or storage item exceeds [`limits::STORAGE_BYTES`].`TerminatedWhileReentrant
Termination of a contract is not allowed while the contract is already�on the call stack. Can be triggered by `seal_terminate`.8InputForwardedA`seal_call` forwarded this contracts input. It therefore is no longer available.4TooManyTopicsThe amount of topics passed to `seal_deposit_events` exceeds the limit.DDuplicateContract�A contract with the same AccountId already exists.\TerminatedInConstructor�A contract self destructed in its constructor.�This can be triggered by a call to `seal_terminate`.@ReentranceDenied
A call tried to invoke a contract that is flagged as non-reentrant.<ReenteredPallet-A contract called into the runtime which then called back into this pallet.DStateChangeDeniedMA contract attempted to invoke a state modifying API while being in read-only mode.pStorageDepositNotEnoughFunds!Origin doesn't have enough balance to pay the required storage deposits.pStorageDepositLimitExhausted
More storage was created than allowed by the storage deposit limit.$CodeInUseICode removal was denied because the code is still in use by at least one contract.@ContractReverted%The contract ran to completion but decided to revert its storage changes.IPlease 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.0CodeRejectedThe contract failed to compile or is missing the correct entry points.QA more detailed error can be found on the node console if debug messages are enabled�by supplying `-lruntime::revive=debug`.0BlobTooLarge
The code blob supplied is larger than [`limits::code::BLOB_BYTES`].PStaticMemoryTooLarge�The contract declares too much memory (ro + rw + stack).HBasicBlockTooLarge�The program contains a basic block that is larger than allowed.HInvalidInstruction�The program contains an invalid instruction.xMaxDelegateDependenciesReached The contract has reached its maximum number of delegate dependencies.hDelegateDependencyNotFound!The dependency was not found in the contract's delegate dependencies.|DelegateDependencyAlreadyExists"�The contract already depends on the given delegate dependency.�CannotAddSelfAsDelegateDependency#)Can not add a delegate dependency to the code hash of the contract itself.TOutOfTransientStorage$�Can not add more data to transient storage.8InvalidSyscall%UThe contract tried to call a syscall which does not exist (at its current api level).LInvalidStorageFlags&Invalid storage flags were passed to one of the storage syscalls.<ExecutionFailed')PolkaVM failed during code execution. Probably due to a malformed program.\BalanceConversionFailed(�Failed to convert a U256 to a Balance.XInvalidImmutableAccess*1Immutable data can only be set during deploys and only be read during calls.5Additionally, it is only valid to set the data once and it must not be empty.<AccountUnmapped+QAn `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.PAccountAlreadyMapped,�Tried to map an account that is already mapped.dInvalidGenericTransaction-�The transaction used to dry-run a contract is invalid.\RefcountOverOrUnderflow.�The refcount of a code either over or underflowed.pUnsupportedPrecompileAddress/|Unsupported precompile address.@CallDataTooLarge0�The calldata exceeds [`limits::CALLDATA_BYTES`].HReturnDataTooLarge1�The return data exceeds [`limits::CALLDATA_BYTES`].,InvalidJump29Invalid jump destination. Dynamic jumps points to invalid not jumpdest opcode.8StackUnderflow3�Attempting to pop a value from an empty stack.4StackOverflow4�Attempting to push a value onto a full stack.4TxFeeOverdraw5Too much deposit was drawn from the shared txfee and deposit credit.1This happens if the passed `gas` inside the ethereum transaction is too low.hEvmConstructorNonEmptyData6�When calling an EVM constructor `data` has to be empty.YEVM constructors do not accept data. Their input data is part of the code blob itself.XEvmConstructedFromHash7�Tried to construct an EVM contract via code hash.!EVM contracts can only be instantiated via code upload as no initcode is@stored on-chain.lStorageRefundNotEnoughFunds8!The contract does not have enough balance to refund the storage deposit.=This is a bug and should never happen. It means the accounting got out of sync.LStorageRefundLocked9]This means there are locks on the contracts storage deposit that prevents refunding it.=This would be the case if the contract used its storage deposits for governance�or other pallets that allow creating locks over held balance.`PrecompileDelegateDenied@�Called a pre-compile that is not allowed to be delegate called.%Some pre-compile functions will trap the caller context if being delegate�called or if their caller was being delegate called.LEcdsaRecoveryFailedA=ECDSA public key recovery failed. Most probably wrong recovery id or signature.�The `Error` enum of this pallet.�(sp_runtimegenericLunchecked_extrinsicHUncheckedExtrinsicAddressACall�$Signature�Extra�8�$����������������0frame_system(extensions8authorize_call4AuthorizeCallT�0frame_system(extensionsTcheck_non_zero_senderHCheckNonZeroSenderT�0frame_system(extensionsHcheck_spec_version@CheckSpecVersionT�0frame_system(extensions@check_tx_version8CheckTxVersionT�0frame_system(extensions4check_genesis0CheckGenesisT�0frame_system(extensions<check_mortality8CheckMortalityT�Era�(sp_runtimegenericeraEra ImmortalMortal1Mortal2Mortal3Mortal4Mortal5Mortal6Mortal7Mortal8Mortal9	 Mortal10
 Mortal11 Mortal12 Mortal13
 Mortal14 Mortal15 Mortal16 Mortal17 Mortal18 Mortal19 Mortal20 Mortal21 Mortal22 Mortal23 Mortal24 Mortal25 Mortal26 Mortal27 Mortal28 Mortal29 Mortal30 Mortal31 Mortal32  Mortal33! Mortal34" Mortal35# Mortal36$ Mortal37% Mortal38& Mortal39' Mortal40( Mortal41) Mortal42* Mortal43+ Mortal44, Mortal45- Mortal46. Mortal47/ Mortal480 Mortal491 Mortal502 Mortal513 Mortal524 Mortal535 Mortal546 Mortal557 Mortal568 Mortal579 Mortal58: Mortal59; Mortal60< Mortal61= Mortal62> Mortal63? Mortal64@ Mortal65A Mortal66B Mortal67C Mortal68D Mortal69E Mortal70F Mortal71G Mortal72H Mortal73I Mortal74J Mortal75K Mortal76L Mortal77M Mortal78N Mortal79O Mortal80P Mortal81Q Mortal82R Mortal83S Mortal84T Mortal85U Mortal86V Mortal87W Mortal88X Mortal89Y Mortal90Z Mortal91[ Mortal92\ Mortal93] Mortal94^ Mortal95_ Mortal96` Mortal97a Mortal98b Mortal99c$Mortal100d$Mortal101e$Mortal102f$Mortal103g$Mortal104h$Mortal105i$Mortal106j$Mortal107k$Mortal108l$Mortal109m$Mortal110n$Mortal111o$Mortal112p$Mortal113q$Mortal114r$Mortal115s$Mortal116t$Mortal117u$Mortal118v$Mortal119w$Mortal120x$Mortal121y$Mortal122z$Mortal123{$Mortal124|$Mortal125}$Mortal126~$Mortal127$Mortal128�$Mortal129�$Mortal130�$Mortal131�$Mortal132�$Mortal133�$Mortal134�$Mortal135�$Mortal136�$Mortal137�$Mortal138�$Mortal139�$Mortal140�$Mortal141�$Mortal142�$Mortal143�$Mortal144�$Mortal145�$Mortal146�$Mortal147�$Mortal148�$Mortal149�$Mortal150�$Mortal151�$Mortal152�$Mortal153�$Mortal154�$Mortal155�$Mortal156�$Mortal157�$Mortal158�$Mortal159�$Mortal160�$Mortal161�$Mortal162�$Mortal163�$Mortal164�$Mortal165�$Mortal166�$Mortal167�$Mortal168�$Mortal169�$Mortal170�$Mortal171�$Mortal172�$Mortal173�$Mortal174�$Mortal175�$Mortal176�$Mortal177�$Mortal178�$Mortal179�$Mortal180�$Mortal181�$Mortal182�$Mortal183�$Mortal184�$Mortal185�$Mortal186�$Mortal187�$Mortal188�$Mortal189�$Mortal190�$Mortal191�$Mortal192�$Mortal193�$Mortal194�$Mortal195�$Mortal196�$Mortal197�$Mortal198�$Mortal199�$Mortal200�$Mortal201�$Mortal202�$Mortal203�$Mortal204�$Mortal205�$Mortal206�$Mortal207�$Mortal208�$Mortal209�$Mortal210�$Mortal211�$Mortal212�$Mortal213�$Mortal214�$Mortal215�$Mortal216�$Mortal217�$Mortal218�$Mortal219�$Mortal220�$Mortal221�$Mortal222�$Mortal223�$Mortal224�$Mortal225�$Mortal226�$Mortal227�$Mortal228�$Mortal229�$Mortal230�$Mortal231�$Mortal232�$Mortal233�$Mortal234�$Mortal235�$Mortal236�$Mortal237�$Mortal238�$Mortal239�$Mortal240�$Mortal241�$Mortal242�$Mortal243�$Mortal244�$Mortal245�$Mortal246�$Mortal247�$Mortal248�$Mortal249�$Mortal250�$Mortal251�$Mortal252�$Mortal253�$Mortal254�$Mortal255��0frame_system(extensions,check_nonce(CheckNonceT� T::Nonce�0frame_system(extensions0check_weight,CheckWeightT�ppolymesh_transaction_payment`ChargeTransactionPaymentT�0BalanceOf<T>�Hpallet_permissionsDStoreCallMetadataT�tframe_metadata_hash_extensionDCheckMetadataHashTmode�Mode�tframe_metadata_hash_extensionMode DisabledEnabled�4pallet_reviveevm0tx_extension$SetOriginT�0frame_system(extensions8weight_reclaim4WeightReclaimT�SystemSystemPAccountA�� The full account information for a particular account ID.8ExtrinsicCount� Total extrinsics count for the current block.@InherentsApplied � Whether all inherents have been applied.,BlockWeight$� The current weight for the block.$BlockSize� Total size (in bytes) of the current block.� Tracks the size of the header and all extrinsics.$BlockHash4�� Map of block numbers to block hashes.4ExtrinsicData8= Extrinsics data for the current block (maps an extrinsic's index to its data).Number	 The current block number being processed. Set by `execute_block`.(ParentHash4�p Hash of the previous block.Digest<� Digest of the current block, also part of the block header.EventsL� Events deposited for the current block. NOTE: The item is unbound and should therefore never be read on chain.� It could otherwise inflate the PoV size of a block.- Events have a large in-memory size. Box the events to not go out-of-memory� just in case someone still reads them from within the runtime.(EventCount� The number of events in the `Events<T>` list.,EventTopics4y(% Mapping between a topic (represented by T::Hash) and a vector of indexes� of events in the `<Events<T>>` list.Q All topic vectors have deterministic storage locations depending on the topic. ThisE allows light-clients to leverage the changes trie storage tracking mechanism and� in case of changes fetch the list of events of interest.Y The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only justM 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.HLastRuntimeUpgrade}U Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.DBlocksTillUpgrade� Number of blocks till the pending code upgrade is applied.TUpgradedToU32RefCount M True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.`UpgradedToTripleRefCount ] True if we have upgraded so that AccountInfo contains three types of `RefCount`. FalseH (default) if not.8ExecutionPhaseu� The execution phase of the block.DAuthorizedUpgrade�� `Some` if a code upgrade has been authorized.`ExtrinsicWeightReclaimed(� The weight reclaimed for the extrinsic.! This information is available until the end of the extrinsic execution.! More precisely this information is removed in `note_applied_extrinsic`.q Logic doing some post dispatch weight reduction must update this storage to avoid duplicate, reduction.�X0BlockWeights��� J���������������K�.fffffff���>]��������������fffffff� J�����������Rjt@���� Block & extrinsics weights: base values and limits.,BlockLength�4x��� The maximum length of a block (in bytes).8BlockHashCountU Maximum number of block number to block hash mappings to keep (oldest pruned first). DbWeight�@�����	 The weight of runtime database operations the runtime can invoke.Version��0polymesh_dev0polymesh_dev
zl�j�h�`�7��|���@�:����Ҽ���Џ��'��?EL�Ŭ�^����%�#�hz�J������O[�?h�k�"�?�7ȻP�����իRpY�<r)��X��{�p2�B�Gs)�}�򎀀�����k�<\�xYZ�L^�����a����S�PA�;F���u�`�9�v����w��G��I�T��������X�@>\J��B� Get the chain's in-code version.(SS58Prefixq*� The designated SS58 prefix of this chain.9 This replaces the "ss58Format" property declared in the chain spec. Reason is1 that the runtime should know about the prefix in order to make use of it asp an identifier of the chain.�BabeBabeD(EpochIndex0 T Current epoch index.,Authorities�l Current epoch authorities.,GenesisSlot� � The slot at which the first epoch actually started. This is 0� until the first block of the chain.,CurrentSlot� T Current slot number.(Randomness�(� 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.`PendingEpochConfigChange�a Pending epoch configuration change that will be applied when the next epoch is enacted.8NextRandomness�\ Next epoch randomness.<NextAuthorities�` Next epoch authorities.0SegmentIndex$| Randomness under construction.� We make a trade-off between storage accesses and list length. We store the under-construction randomness in segments of up to� `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.� Once a segment reaches this length, we begin the next one.	 We reset all segments and return to `0` at the beginning of every epoch.DUnderConstruction� TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay.,Initialized� Temporary value (cleared at block finalization) which is `Some` if per-block initialization has already been called for current block.LAuthorVrfRandomness� This field should always be populated during block processing unless secondary plain slots are enabled (which don't contain a VRF output).I It is set in `on_finalize`, before it will contain the value from the last block.(EpochStart� ] The block numbers when the last and current epoch have started, respectively `N-1` and `N`.I NOTE: We track this is in order to annotate the block number when a given pool ofY entropy was fixed (i.e. it was known to chain observers). Since epochs are defined inY slots, which may be skipped, the block numbers may not line up with the slot numbers. Lateness� 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.,EpochConfiga The configuration for the current epoch. Should never be `None` as it is initialized in$ genesis.<NextEpochConfig- The configuration for the next epoch, `None` if the config will not change� (you can fallback to `EpochConfig` instead in that case).4SkippedEpochs ) A list of the last 100 skipped epochs and the corresponding session indexp when the epoch was skipped.1 This is only used for validating equivocation proofs. An equivocation proof5 must contains a key-ownership proof for a given session, therefore we need a9 way to tie together sessions and epoch indices, i.e. we need to validate that) a validator was the owner of a given key on a given session, and what the� active epoch index was during that session.!4EpochDuration0 ,� 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.DExpectedBlockTime0 p 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).8MaxAuthorities��� Max number of authorities allowed4MaxNominators� The maximum number of nominators for each validator.1$Timestamp$TimestampNow0 � The current time for the current block.$DidUpdate � Whether the timestamp has been updated in this block.U This value is updated to `true` upon successful submission of a timestamp by a node.E It is then checked at the end of each block execution in the `on_finalize` hook.54MinimumPeriod0 �� The minimum period between blocks.M Be aware that this is different to the *expected* period that the block productionI apparatus provides. Your chosen consensus system will generally work with this toa determine a sensible block time. For example, in the Aura pallet it will be double thisp period on default settings.IndicesIndices Accounts9� The lookup from index to account.=�Deposit@@B� The deposit needed for reserving an index.E(Authorship(AuthorshipAuthord Author of current block. Balances Balances4TotalIssuance@� The total units issued in the system.@InactiveIssuance@	 The total units of outstanding deactivated balance in the system.Account�`	 The Balances pallet example of storing the balance of an account.( # Example4 ```nocompile�  impl pallet_balances::Config for Runtime {    type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>  } ``` You can also store the balance of an account in the `System` pallet.( # Example4 ```nocompile�  impl pallet_balances::Config for Runtime {t   type AccountStore = System  } ```Q But this comes with tradeoffs, storing account balances in the system pallet storesm `frame_system` data alongside the account data contrary to storing account balances in the) `Balances` pallet, which uses a `StorageMap` to store balances data only.A NOTE: This is only used in the case that this pallet is used to store balances.LocksI� Any liquidity locks on some account balances.% NOTE: Should only be accessed when setting, changing and freeing a lock.� Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/` ReservesY� Named reserves on some account balances.� Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`Holdsel Holds on account balances.Freezesq� Freeze locks on account balances.}�HExistentialDeposit@ A The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!Y If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` fora this pallet. However, you do so at your own risk: this will open up a major DoS vector.Y In case you have multiple sources of provider references, you may also get unexpected� behaviour if you set this to zero.� Bottom line: Do yourself a favour and make it at least one! MaxLocks2� The maximum number of locks that should exist on an account.� Not strictly enforced, but used for weight estimation.� Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`,MaxReserves2
 The maximum number of named reserves that can exist on an account.� Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`(MaxFreezesa The maximum number of individual freeze locks that can exist on an account at any time.�HTransactionPaymentHTransactionPaymentDNextFeeMultiplier�@d����
8StorageVersion�<TxPaymentCredit�� The `OnChargeTransaction` stores the withdrawn tx fee here.5 Use `withdraw_txfee` and `remaining_txfee` to access from outside the crate.�`OperationalFeeMultiplierTY A fee multiplier for `Operational` extrinsics to compute "virtual tip" to boost their, `priority`Q This value is multiplied by the `final_fee` to obtain a "virtual tip" that is later� added to a tip component in regular `priority` calculations.M It means that a `Normal` transaction can front-run a similarly-sized `Operational`A extrinsic (with no tip), by including a tip value greater than the virtual tip.< ```rust,ignore@ // For `Normal`� let priority = priority_calc(tip);T // For `Operational` let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;� let priority = priority_calc(tip + virtual_tip); ```Q 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 baseda on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`8 transactions. Identity IdentityL(DidRecords��T DID -> identity info,IsDidFrozen� � DID -> bool that indicates if secondary keys are frozen.Claims�%� (Target ID, claim type) (issuer,scope) -> Associated claims0CustomClaims=8� CusotmClaimTypeId -> String constantLCustomClaimsInverse8=� String constant -> CustomClaimTypeIdTCustomClaimIdSequence=x The next `CustomClaimTypeId`.(KeyRecords�) Map from AccountId to `KeyRecord` that holds the key's type and identity.\KeyExtrinsicPermissions�� A secondary key's extrinsic permissions.LKeyAssetPermissions�� A secondary key's asset permissions.\KeyPortfolioPermissions	� A secondary key's portfolio permissions.DidKeys�  A reverse double map to allow finding all keys for an identity.DMultiPurposeNonce0 � Nonce to ensure unique actions. starts from 1.hOffChainAuthorizationNonce�0 � Authorization nonce per Identity. Initially is 0.8Authorizations��� All authorizations that an identity/key hasLAuthorizationsGiven���M All authorizations that an identity has given. (Authorizer, auth_id -> authorized)HAccountKeyRefCount0  � How many "strong" references to the account key.� Strong references will block a key from leaving it's identity.� Pallets using "strong" references to account keys:! * Assets: Updated when an account holds an asset with non-zero balance.� * NFT: Updated when an account owns an NFT.HNumberOfGivenAuths�� Track the number of authorizations given by each identity.XOutdatedAuthorizations�0� Tracks all authorizations that must be deleted4CurrentAuthId0 | Controls the authorization id.��0InitialPOLYX@� POLYX given to primary keys of all new Identities4MaxGivenAuths� Maximum number of authorizations an identity can give.8MaxAuthRetries
� Maximum number of retry attempts allowed for an authorization� before it is considered unusable.�4DidRegistrars4DidRegistrars4ActiveMemberse� The current "active" membership, stored as an ordered Vec.<InactiveMembers�� The current "inactive" membership, stored as an ordered Vec.HActiveMembersLimit� Limit of how many "active" members there can be.�a�DPolymeshCommitteeDPolymeshCommittee $Proposalsq� The hashes of the active proposals.(ProposalOf4�� Actual proposal for a given hash.Voting4Q� PolymeshVotes on a given proposal, if it is ongoing.4ProposalCountH Proposals so far.Memberse� The current members of the committee.4VoteThreshold� � Vote threshold for an approval.HReleaseCoordinator�X Release cooridinator.0ExpiresAfteru� Time after which a proposal will expire.�iU	LCommitteeMembershipLCommitteeMembership4ActiveMemberse� The current "active" membership, stored as an ordered Vec.<InactiveMembers�� The current "inactive" membership, stored as an ordered Vec.HActiveMembersLimit� Limit of how many "active" members there can be.�yY
HTechnicalCommitteeHTechnicalCommittee $Proposalsq� The hashes of the active proposals.(ProposalOf4�� Actual proposal for a given hash.Voting4Q� PolymeshVotes on a given proposal, if it is ongoing.4ProposalCountH Proposals so far.Memberse� The current members of the committee.4VoteThreshold� � Vote threshold for an approval.HReleaseCoordinator�X Release cooridinator.0ExpiresAfteru� Time after which a proposal will expire.�}]pTechnicalCommitteeMembershippTechnicalCommitteeMembership4ActiveMemberse� The current "active" membership, stored as an ordered Vec.<InactiveMembers�� The current "inactive" membership, stored as an ordered Vec.HActiveMembersLimit� Limit of how many "active" members there can be.��a@UpgradeCommittee@UpgradeCommittee $Proposalsq� The hashes of the active proposals.(ProposalOf4�� Actual proposal for a given hash.Voting4Q� PolymeshVotes on a given proposal, if it is ongoing.4ProposalCountH Proposals so far.Memberse� The current members of the committee.4VoteThreshold� � Vote threshold for an approval.HReleaseCoordinator�X Release cooridinator.0ExpiresAfteru� Time after which a proposal will expire.��e
hUpgradeCommitteeMembershiphUpgradeCommitteeMembership4ActiveMemberse� The current "active" membership, stored as an ordered Vec.<InactiveMembers�� The current "inactive" membership, stored as an ordered Vec.HActiveMembersLimit� Limit of how many "active" members there can be.��i MultiSig MultiSig@4MultiSigNonce0 ! Nonce to ensure unique MultiSig addresses are generated; starts from 1.<MultiSigSignersm � Signers of a multisig. (multisig, signer) => bool.<NumberOfSigners0 � Number of approved/accepted signers of a multisig.TMultiSigSignsRequired0 � Confirmations required before processing a multisig tx.8NextProposalId0 � Next proposal id for a multisig.  Starts from 0.t multisig => next proposal id$Proposalsq�� Proposals presented for voting to a multisig.� multisig -> proposal id => Option<Proposal>.Votesu � Individual multisig signer votes.� (multisig, proposal_id) -> signer => vote.$PayingDid�	 The multisig's paying identity.  The primary key of this identity� pays the transaction/protocal fees of the multisig proposals.� multisig -> Option<IdentityId>. AdminDid� The multisig's admin identity.  The primary key of this identity� has admin control over the multisig.� multisig -> Option<IdentityId>.HProposalVoteCountsqy� The count of approvals/rejections of a multisig proposal.� multisig -> proposal id => Option<ProposalVoteCount>.8ProposalStatesq}� The state of a multisig proposal� multisig -> proposal id => Option<ProposalState>.@ExecutionReentry � Proposal execution reentry guard.@AuthToProposalIdq0� Pending join identity authorization proposals.� multisig -> auth id => Option<proposal id>.HTransactionVersion� The last transaction version, used for `on_runtime_upgrade`.LLastInvalidProposal0E The last proposal id before the multisig changed signers or signatures required.� multisig => Option<proposal id>8StorageVersion�D Storage version.�(MaxSigners2 Maximum number of signers that can be added/removed in one call.�(Validators(ValidatorsPPermissionedIdentity��� Entities that are allowed to run operator/validator nodes.HSlashingAllowedFor�� Slashing switch for validators & Nominators.XValidatorCommissionCap�� Allows flexibility in commission. Every validator has commission that should be in the range [0, Cap].	�\MaxValidatorPerIdentity�	� Maximum amount of validators that can run by an identity.� It will be MaxValidatorPerIdentity * Self::validator_count().�MaxVariableInflationTotalIssuance@�Ƥ~� Maximum amount of total issuance after which fixed rewards kicks in.DFixedYearlyReward@�DJT9 Yearly total reward amount that gets distributed when fixed rewards kicks in.�StakingStaking�8ValidatorCount� The ideal number of active validators.TMinimumValidatorCountA Minimum number of staking participants before emergency conditions are imposed.4Invulnerables!Y Any validators that may never be slashed or forcibly kicked. It's a Vec since they'reM easy to initialize and the performance hit is minimal (we expect no more than four� invulnerables) and restricted to testnets.Bonded Map from all locked "stash" accounts to the controller account.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.@MinNominatorBond@! The minimum active bond to become and maintain the role of a nominator.@MinValidatorBond@! The minimum active bond to become and maintain the role of a validator.HMinimumActiveStake@ The minimum active nominator stake of the last successful election.4MinCommission�� The minimum amount of commission that validators can set.� If set to `0`, no limit exists.Ledger�E Map from all (unlocked) "controller" accounts to the info regarding the staking.u Note: All the reads and mutations to this storage *MUST* be done through the methods exposed� by [`StakingLedger`] to ensure data and lock consistency.Payee�� Where the reward payment should be made. Keyed by stash.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.(Validators�E The map from (wannabe) validator stash key to the preferences of that validator.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.PCounterForValidators�Counter for the related counted storage mapHMaxValidatorsCount1 The maximum validator count before we stop allowing new validators to join.� When this value is not set, no limits are enforced.(Nominators�Lu The map from nominator stash key to their nomination preferences, namely the validators thatX they wish to support.9 Note that the keys of this storage map might become non-decodable in case the- account's [`NominationsQuota::MaxNominations`] configuration is decreased.� In this rare case, these nominatorse are still existent in storage, their key is correct and retrievable (i.e. `contains_key`q indicates that they exist), but their value cannot be decoded. Therefore, the non-decodablem nominators will effectively not-exist, until they re-submit their preferences such that it is within the bounds of the newly set `Config::MaxNominations`.a This implies that `::iter_keys().count()` and `::iter().count()` might return differentm values for this map. Moreover, the main `::count()` is aligned with the former, namely thel number of keys that exist.m Lastly, if any of the nominators become non-decodable, they can be chilled immediately via� [`Call::chill_other`] dispatchable by anyone.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.PCounterForNominators�Counter for the related counted storage map8VirtualStakersq� Stakers whose funds are managed by other pallets.u This pallet does not apply any locks on them, therefore they are only virtually bonded. Theym are expected to be keyless accounts and hence should not be allowed to mutate their ledgerq directly via this pallet. Instead, these accounts are managed by other pallets and accessed) via low level apis. We keep track of them to do minimal integrity checks.`CounterForVirtualStakers�Counter for the related counted storage mapHMaxNominatorsCount1 The maximum nominator count before we stop allowing new validators to join.� When this value is not set, no limits are enforced.(CurrentEra\ The current era index.e This is the latest planned era, depending on how the Session pallet queues the validator� set, it might be active or not.$ActiveEra�� The active era information, it holds index and start.Y The active era is the era being currently rewarded. Validator set of this era must be� equal to [`SessionInterface::validators`].TErasStartSessionIndexU The session index at which the era start for the last [`Config::HistoryDepth`] eras.a Note: This tracks the starting session (i.e. session index when era start being active)� for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`.,ErasStakers�� x Exposure of validator at era.a This is keyed first by the era index to allow bulk deletion and then the stash account.� Is it removed after [`Config::HistoryDepth`] eras.A If stakers hasn't been set or has been removed then empty exposure is returned.) Note: Deprecated since v14. Use `EraInfo` instead to work with exposures.LErasStakersOverview��0� Summary of validator exposure at a given era.q This contains the total stake in support of the validator and their own stake. In addition,u it can also be used to get the number of nominators backing this validator and the number ofi exposure pages they are divided into. The page count is useful to determine the number of� pages of rewards that needs to be claimed.a This is keyed first by the era index to allow bulk deletion and then the stash account.� Should only be accessed through `EraInfo`.� Is it removed after [`Config::HistoryDepth`] eras.A If stakers hasn't been set or has been removed then empty overview is returned.HErasStakersClipped��@� Clipped Exposure of validator at era.e Note: This is deprecated, should be used as read-only and will be removed in the future.1 New `Exposure`s are stored in a paged manner in `ErasStakersPaged` instead.Y This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the� `T::MaxExposurePageSize` 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.� It is removed after [`Config::HistoryDepth`] eras.A If stakers hasn't been set or has been removed then empty exposure is returned.) Note: Deprecated since v14. Use `EraInfo` instead to work with exposures.@ErasStakersPaged��� Paginated exposure of a validator at given era.q This is keyed first by the era index to allow bulk deletion, then stash account and finally� the page. Should only be accessed through `EraInfo`.� This is cleared after [`Config::HistoryDepth`] eras.8ClaimedRewards�� History of claimed paged rewards by era and validator.i This is keyed by era and validator stash which maps to the set of page indexes which have8 been claimed.� It is removed after [`Config::HistoryDepth`] eras.HErasValidatorPrefs�� Similar to `ErasStakers`, this holds the preferences of validators.a This is keyed first by the era index to allow bulk deletion and then the stash account.� Is it removed after [`Config::HistoryDepth`] eras.LErasValidatorReward- The total validator era payout for the last [`Config::HistoryDepth`] eras.! Eras that haven't finished yet or has been removed doesn't have reward.@ErasRewardPoints�� Rewards for the last [`Config::HistoryDepth`] eras.% If reward hasn't been set or has been removed then 0 reward is returned.8ErasTotalStake@ The total amount staked for the last [`Config::HistoryDepth`] eras. If total hasn't been set or has been removed then 0 stake is returned. ForceEra�T Mode of era forcing.@MaxStakedRewards Maximum staked rewards, i.e. the percentage of the era inflation thatl is used for stake rewards.� See [Era payout](./index.html#era-payout).LSlashRewardFraction�� The percentage of the slash that is distributed to reporters.� The rest of the slashed value is handled by the `Slash`.LCanceledSlashPayout@ The amount of currency given to reporters of a slash event which was� canceled by extraordinary circumstances (e.g. governance).@UnappliedSlashes�� All unapplied slashes that are queued for later.(BondedErasy% 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]`LValidatorSlashInEra��E All slashing events on validators, mapped by era to the highest slash proportionp and slash value of the era.LNominatorSlashInEra�a All slashing events on nominators, mapped by era to the highest slash value of the era.4SlashingSpans�� Slashing spans for stash accounts.$SpanSlash���= Records information about the maximum slash of a stash within a slashing span,� as well as how much reward has been paid out.TCurrentPlannedSession� The last planned session scheduled by the session pallet.q This is basically in sync with the call to [`pallet_session::SessionManager::new_session`].8ChillThresholdQ The threshold for when users can start calling `chill_other` for other validators /Y nominators. The threshold is compared to the actual number of validators / nominators) (`CountFor*`) in the system compared to the configured max (`Max*Count`).
�0HistoryDepthTP� Number of eras to keep in history.� Following information is kept for eras in `[current_era -	 HistoryDepth, current_era]`: `ErasStakers`, `ErasStakersClipped`, `ErasValidatorPrefs`, `ErasValidatorReward`, `ErasRewardPoints`,E `ErasTotalStake`, `ErasStartSessionIndex`, `ClaimedRewards`, `ErasStakersPaged`,\ `ErasStakersOverview`.� Must be more than the number of eras delayed by session.� I.e. active era must always be in history. I.e. `active_era >� current_era - history_depth` must be guaranteed. If migrating an existing pallet from storage value to config value,� this should be set to same value or greater as in storage. Note: `HistoryDepth` is used as the upper bound for the `BoundedVec`- item `StakingLedger.legacy_claimed_rewards`. Setting this value lower than� the existing value can lead to inconsistencies in the `StakingLedger` and will need to be handled properly in a migration.� The test `reducing_history_depth_abrupt` shows this effect.8SessionsPerErap Number of sessions per era.<BondingDuration� Number of eras that staked funds must remain bonded for.HSlashDeferDuration 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.LMaxExposurePageSize@,� The maximum size of each `T::ExposurePage`.) An `ExposurePage` is weakly bounded to a maximum of `MaxExposurePageSize`0 nominators.! For older non-paged exposure, a reward payout was restricted to the top! `MaxExposurePageSize` nominators. This is to limit the i/o cost for theH nominator payout.Y Note: `MaxExposurePageSize` is used to bound `ClaimedRewards` and is unsafe to reduce� without handling it in a migration.<MaxValidatorSet� The absolute maximum of winner validators this pallet should return.HMaxUnlockingChunks ( The maximum number of `unlocking` chunks a [`StakingLedger`] can	 have. Effectively determines how many unique eras a staker may be8 unbonding in.� Note: `MaxUnlockingChunks` is used as the upper bound for the `BoundedVec` item `StakingLedger.unlocking`. Setting this value lower than the existing value can lead to inconsistencies in the	 `StakingLedger` and will need to be handled properly in a runtime migration. The test `reducing_max_unlocking_chunks_abrupt` shows4 this effect.� Offences OffencesReports4�I The primary structure that holds all offence records keyed by report identifiers.XConcurrentReportsIndex�q) A vector of reports of the same kind that happened at the same time slot.�SessionSession (Validators!| The current set of validators.0CurrentIndexx Current index of the session.4QueuedChanged 9 True if the underlying economic identities or weighting behind the validators� has changed in the queued validator set.(QueuedKeys�= The queued keys for the next session. When the next session begins, these keys� will be used to determine the validator's session keys.HDisabledValidators�� Indices of disabled validators.= The vec is always kept sorted so that we can find whether a given validator is= disabled using binary search. It gets cleared when `on_session_ending` returnsd a new set of identities. NextKeysE� The next session keys for a validator. KeyOwner�	 The owner of a key. The key is the `KeyTypeId` + the encoded key.DExternallySetKeysq1 Accounts whose keys were set via `SessionInterface` (external path) without9 incrementing the consumer reference or placing a key deposit. `do_purge_keys`9 only decrements consumers for accounts that were registered through the local@ session pallet.A�(KeyDeposit@� The amount to be held when setting keys.HAuthorityDiscoveryHAuthorityDiscoveryKeys� Keys of the current authority set. NextKeys� Keys of the next authority set.GrandpaGrandpaState
� State of the current authority set.4PendingChange� Pending change: (signaled at, scheduled change).(NextForced� next block number where we can force a change.Stalled�� `true` if we are currently stalled.0CurrentSetId0 ] The number of changes (both in terms of keys and underlying economic responsibilities)� in the "set" of Grandpa validators from genesis.0SetIdSession0(Y A mapping from grandpa set ID to the index of the *most recent* session for which itsh members were responsible.E This is only used for validating equivocation proofs. An equivocation proof mustM contains a key-ownership proof for a given session, therefore we need a way to tieE together sessions and GRANDPA set ids, i.e. we need to validate that a validatorA was the owner of a given key on a given session, and what the active set ID wasT during that session.� TWOX-NOTE: `SetId` is not under user control.,Authorities� The current list of authorities.U�8MaxAuthorities��\ Max Authorities in use4MaxNominators� The maximum number of nominators for each validator.XMaxSetIdSessionEntries0 9 The maximum number of entries to keep in the set id to session index mapping.1 Since the `SetIdSession` map is only used for validating equivocations this) value should relate to the bonding duration of whatever staking system is5 being used (if any). If equivocation handling is not enabled then this value4 can be zero.(Historical(HistoricalHHistoricalSessions] Mapping from historical session indices to session-data root hash and validator count.,StoredRange�� The range of historical sessions we store. [first, last)� ImOnline ImOnline8HeartbeatAfter, 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 fall5 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.9 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`.Keys!� The current set of keys that may issue a heartbeat.HReceivedHeartbeats� 5 For each session index, we keep a mapping of `SessionIndex` and `AuthIndex`.8AuthoredBlocks� For each session index, we keep a mapping of `ValidatorId<T>` to the� number of blocks authored by the given authority.}�@UnsignedPriority0 ��������� 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.)SudoSudoKey� The `AccountId` of the sudo key.��-AssetAsset�`UniqueTickerRegistrationQ1) Map each [`Ticker`] to its registration details ([`TickerRegistration`]).0TickerConfig5% Returns [`TickerRegistrationConfig`] for assessing if a ticker is valid.Assets�9� Maps each [`AssetId`] to its underling [`AssetDetails`].(AssetNames�	� Maps each [`AssetId`] to its underling [`AssetName`].$BalanceOf=@ Tracks the total [`Balance`] for each [`AssetId`] per [`IdentityId`].@AssetIdentifiers�
 Maps each [`AssetId`] to its asset identifiers ([`AssetIdentifier`]).PCustomTypeIdSequence� The next `AssetType::Custom` ID in the sequence.� Numbers in the sequence start from 1 rather than 0.,CustomTypes8� Maps custom asset type ids to the registered string contents.HCustomTypesInverse8a Inverse map of `CustomTypes`, from registered string contents to custom asset type ids.0FundingRound�!A Maps each [`AssetId`] to the name of its founding round ([`FundingRoundName`]).PIssuedInFundingRoundA@y The total [`Balance`] of tokens issued in all recorded funding rounds ([`FundingRoundName`]).Frozen� I Returns `true` if transfers for the asset are frozen. Otherwise, returns `false`.8AssetDocumentsE)� All [`Document`] attached to an asset.`AssetDocumentsIdSequence�%� [`DocumentId`] counter per [`AssetId`].LAssetMetadataValuesIY| Metatdata values for an asset.dAssetMetadataValueDetailsIa� Details for an asset's Metadata values.lAssetMetadataLocalNameToKeyMm� Asset Metadata Local Name -> Key.pAssetMetadataGlobalNameToKeyi�� Asset Metadata Global Name -> Key.lAssetMetadataLocalKeyToNameQi� Asset Metadata Local Key -> Name.pAssetMetadataGlobalKeyToName�i� Asset Metadata Global Key -> Name.\AssetMetadataLocalSpecsQq� Asset Metadata Local Key specs.`AssetMetadataGlobalSpecs�q� Asset Metadata Global Key specs.lAssetsExemptFromAffirmation�  A list of assets that exempt all users from affirming its receivement.@PreApprovedAssetU % All assets that don't need an affirmation to be received by an identity.HMandatoryMediators̙% Identities that require receiver affirmation for all incoming transfers.� The list of mandatory mediators for every ticker.pCurrentAssetMetadataLocalKey�m� The last [`AssetMetadataLocalKey`] used for [`AssetId`].tCurrentAssetMetadataGlobalKey�� The last [`AssetMetadataGlobalKey`] used for a global key.HTickersOwnedByUserY t All tickers owned by a user.dSecurityTokensOwnedByUserU p All assets owned by a user.4AssetIdTicker�Q� Maps all [`AssetId`] that are mapped to a [`Ticker`].4TickerAssetIdQ�� Maps all [`Ticker`] that are linked to an [`AssetId`].(AssetNonce0  A per account nonce that is used for generating an [`AssetId`].0AssetBalance]@ Tracks the total [`Balance`] held by the account for each [`AssetId`].4LockedBalance]@� Tracks the [`Balance`] of locked tokens for assets that are held by the key (i.e., not in a portfolio).(Allowancesa@	 Maps (owner, spender, asset_id) to the approved allowance amount.5 A non-existent entry returns 0 (via `ValueQuery`), matching ERC-20 behavior.] When an allowance is revoked (set to 0), the entry is removed to bound storage growth.1 Uses `StorageNMap` so that all allowances for a given owner can be iterated0 via prefix.8StorageVersioneD Storage version.��HAssetNameMaxLength�� Max length for the name of an asset.dFundingRoundNameMaxLength�� Max length of the funding round name.hAssetMetadataNameMaxLength� Max length for the Asset Metadata type name.lAssetMetadataValueMaxLength � Max length for the Asset Metadata value.tAssetMetadataTypeDefMaxLength � Max length for the Asset Metadata type definition.DMaxAssetMediators� Maximum number of mediators for an asset.iLCapitalDistributionLCapitalDistribution4Distributions��5 All capital distributions, tied to their respective corporate actions (CAs).\ (CAId) => Distribution(HolderPaidm � Has an asset holder been paid yet?� (CAId, DID) -> Was DID paid in the CAId?8StorageVersionqD Storage version.��u(Checkpoint(Checkpoint0,TotalSupplyy@� Total supply of the token at the checkpoint. ([`AssetId`], checkpointId) -> total supply at given checkpointBalance}@� Balance of a DID at a checkpoint. ([`AssetId`], did, checkpoint ID) -> Balance of a DID at a checkpointPCheckpointIdSequence�� � Checkpoints ID generator sequence.� ID of first checkpoint is 1 instead of 0.� ([`AssetId`]) -> no. of checkpoints8BalanceUpdates=�� Checkpoints where a DID's balance was updated. ([`AssetId`], did) -> [checkpoint ID where user balance changed](Timestampsy0 \ Checkpoint timestamps.	 Every schedule-originated checkpoint maps its ID to its due time.! Every checkpoint manually created maps its ID to the time of recording.� ([`AssetId`]) -> (checkpoint ID) -> checkpoint timestampXSchedulesMaxComplexity0 � The maximum complexity allowed for an asset's schedules.HScheduleIdSequence�� � Checkpoint schedule ID sequence for assets.t ([`AssetId`]) -> schedule IDTCachedNextCheckpoints̅� Cached next checkpoint for each schedule.- This is used to quickly find the next checkpoint from a asset's schedules.� ([`AssetId`]) -> next checkpointsPScheduledCheckpoints��\ Scheduled checkpoints.� ([`AssetId`], schedule ID) -> schedule checkpoints@ScheduleRefCount�  How many "strong" references are there to a given `ScheduleId`?� The presence of a "strong" reference, in the sense of `Rc<T>`,� entails that the referenced schedule cannot be removed.� Thus, as long as `strong_ref_count(schedule_id) > 0`,� `remove_schedule(schedule_id)` will error.� ([`AssetId`], schedule ID) -> strong ref count8SchedulePoints��� All the checkpoints a given schedule originated.� ([`AssetId`], schedule ID) -> [checkpoint ID]8StorageVersion�D Storage version.���DComplianceManagerDComplianceManager@AssetCompliances̡� Compliance for an asset ([`AssetId`] -> [`AssetCompliance`])HTrustedClaimIssuer��� List of trusted claim issuer [`AssetId`] -> Issuer Identity8StorageVersion�D Storage version.��XMaxConditionComplexity2m The maximum claim reads that are allowed to happen in worst case of a condition resolution�<CorporateAction<CorporateAction$@MaxDetailsLength] Determines the maximum number of bytes that the free-form `details` of a CA can store.) Note that this is not the number of `char`s or the number of [graphemes].A While this may be unnatural in terms of human understanding of a text's length,e it more closely reflects actual storage costs (`'a'` is cheaper to store than an emoji).� [graphemes]: https://en.wikipedia.org/wiki/Grapheme\DefaultTargetIdentities�
� The identities targeted by default for CAs for this asset,� either to be excluded or included.| (AssetId => target identities)TDefaultWithholdingTax̹ � The default amount of tax to withhold ("withholding tax", WT) for this asset when distributing dividends.5 To understand withholding tax, e.g., let's assume that you hold ACME shares.� ACME now decides to distribute 100 SEK to Alice.Y Alice lives in Sweden, so Skatteverket (the Swedish tax authority) wants 30% of that.] Then those 100 * 30% are withheld from Alice, and ACME will send them to Skatteverket.l (AssetId => % to withhold)DDidWithholdingTax�-M The amount of tax to withhold ("withholding tax", WT) for a certain AssetId x DID.m If an entry exists for a certain DID, it overrides the default in `DefaultWithholdingTax`.� (AssetId => [(did, % to withhold)]0CAIdSequence̱� The next per-`AssetId` CA ID in the sequence.Q The full ID is defined as a combination of `AssetId` and a number in this sequence.@CorporateActions�l All recorded CAs thus far.� Only generic information is stored here.} Specific `CAKind`s, e.g., benefits and corporate ballots, may use additional on-chain storage.� (AssetId => local ID => the corporate action)$CADocLink�9� Associations from CAs to `Document`s via their IDs.\ (CAId => [DocumentId])	 The `CorporateActions` map stores `AssetId => LocalId => The CA`,) so we can infer `AssetId => CAId`. Therefore, we don't need a double map.Details�5� Associates details in free-form text with a CA by its ID.P (CAId => CADetails)8StorageVersion�D Storage version.�	0MaxTargetIds�� Max number of DID specified in `TargetIdentities`.(MaxDidWhts�� Max number of per-DID withholding tax overrides.�<CorporateBallot<CorporateBallotMetas�E� Metadata of a corporate ballot.T (CAId) => BallotMeta(TimeRanges�A� Time details of a corporate ballot associated with a CA.� The timestamps denote when voting starts and stops.h (CAId) => BallotTimeRange@MotionNumChoices��$� Stores how many choices there are in each motion.% At all times, the invariant holds that `motion_choices[idx]` is equal to1 `metas.unwrap().motions[idx].choices.len()`. That is, this is just a cache, used to avoid fetching all the motions with their associated texts. `u16` choices should be more than enough to fit real use cases.� (CAId) => Number of choices in each motion.RCV� � Is ranked choice voting (RCV) enabled for this ballot?e For an understanding of how RCV is handled, see note on `BallotVote`'s `fallback` field.< (CAId) => boolResults��� Stores the total vote tally on each choice.h RCV is not accounted for,� as there are too many wants to interpret the graph,� and because it would not be efficient.� (CAId) => [current vote weights]Votesme� Stores each DID's votes in a given ballot.� See the documentation of `BallotVote` for notes on semantics.� (CAId) => (DID) => [vote weight] User must enter 0 vote weight if they don't want to vote for a choice.8StorageVersion�D Storage version.�=�,Permissions,PermissionsDCurrentPalletName�� The name of the current pallet (aka module name).\CurrentDispatchableName�� The name of the current function (aka extrinsic).� PipsPips`LPruneHistoricalPips � Set to `true` if historical PIPs data must be removed.XMinimumProposalDeposit@ The minimum amount to be used as a deposit for community PIP creation.XDefaultEnactmentPeriod9 Default enactment period that will be use after a proposal is accepted by GC.@PendingPipExpiryu� Number of blocks it will take, after a `Pending` PIP expires, assuming it has not transitioned to another `ProposalState`.<MaxPipSkipCount� Maximum times a PIP can be skipped before triggering `CannotSkipPip` in `enact_snapshot_results`.8ActivePipLimit� The maximum allowed number for active PIPs. Once reached, new PIPs cannot be proposed by community members.4PipIdSequence�\ Proposal's identifier.HSnapshotIdSequence�X Snaphot's identifier.8ActivePipCount� Total count of pending or scheduled PIPs.@ProposalMetadata��� The [`PipsMetadata`] for each proposal ([`PipId`]). Deposits��� All locked [`DepositInfo`] per [`PipId`] for each account.$Proposals��� The [`Pip`] for each proposal ([`PipId`]).8ProposalResult���� The [`VotingResult`] for each proposal ([`PipId`]).4ProposalVotes�� The Votes ([`Vote`]) for each proposal ([`PipId`]) per account.4PipToSchedule�� Maps PIPs to the block at which they will be executed.$LiveQueue�� A live priority queue (lowest priority at index 0)� of pending PIPs up to the active limit.� Priority is defined by the `weight` in the `SnapshottedPip`.E Unlike `SnapshotQueue`, this queue is live, getting updated with each vote cast.- The snapshot is therefore essentially a point-in-time clone of this queue.4SnapshotQueue�Y The priority queue (lowest priority at index 0) of PIPs at the point of snapshotting.� Priority is defined by the `weight` in the `SnapshottedPip`.	 A queued PIP can be skipped. Doing so bumps the `pip_skip_count`.5 Once a (configurable) threshhold is exceeded, a PIP cannot be skipped again.0SnapshotMeta�h The [`SnapshotMetadata`].0PipSkipCount�� The number of times a certain PIP has been skipped.5 Once a (configurable) threshhold is exceeded, a PIP cannot be skipped again.4CommitteePips�� All existing PIPs where the proposer is a committee.9 This list is a cache of all ids in `Proposals` with `Proposer::Committee(_)`.8ProposalStates��� The ([`ProposalState`]) of a given PIP ([`PipId`]).8PendingRefunds� � All PIPs that still require refunds.<VotesToBePruned� � All PIPs that still require votes to be pruned.8StorageVersion�D Storage version.�u`MaxRefundsAndVotesPruned�� The maximum number of votes that can be pruned at once.�!$Portfolio$Portfolio0LNextPortfolioNumber� � The next portfolio sequence number of an identity.(Portfolios��A The set of existing portfolios with their names. If a certain pair of a DID andY portfolio number maps to `None` then such a portfolio doesn't exist. Conversely, if a5 pair maps to `Some(name)` then such a portfolio exists and is called `name`.0NameToNumber�� Inverse map of `Portfolios` used to ensure bijectivitiy,� and uniqueness of names in `Portfolios`.LPortfolioAssetCount
0 � How many assets with non-zero balance this portfolio contains.XPortfolioAssetBalances�@� The asset balances of portfolios.TPortfolioLockedAssets�@� Amount of assets locked in a portfolio.- These assets show up in portfolio balance but can not be transferred away.HPortfolioCustodian
�� The custodian of a particular portfolio. None implies that the identity owner is the custodian.LPortfoliosInCustody� U Tracks all the portfolios in custody of a particular identity. Only used by the UIs.� When `true` is stored as the value for a given `(did, pid)`, it means that `pid` is in custody of `did`.� `false` values are never explicitly stored in the map, and are instead inferred by the absence of a key.0PortfolioNFT
 � The nft associated to the portfolio.HPortfolioLockedNFT
 � All locked nft for a given portfolio.TPreApprovedPortfolios� E All portfolios that don't need to affirm the receivement of a given [`AssetId`].DAllowedCustodians

 = Custodians allowed to create and take custody of portfolios on an id's behalf.��`MaxNumberOfFungibleMoves
= Maximum number of fungible assets that can be moved in a single transfer call.PMaxNumberOfNFTsMovesd Maximum number of NFTs that can be moved in a single transfer call.
",ProtocolFee,ProtocolFee BaseFees�@ The mapping of operation names to the base fees of those operations.,Coefficient�  The fee coefficient as a positive rational (numerator, denominator).��
#$Scheduler$Scheduler<IncompleteSince� Block number at which the agenda began incomplete execution.Agenda
M Items to be executed, indexed by the block number that they should be executed on.Retries�5
! Retry configurations for items to be executed, indexed by task address.Lookup�� Lookup from a name to the block number and index of the task.Y For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v40 identities.��4MaximumWeight(@�n�t��������) The maximum weight that may be scheduled per block for any dispatchables.PMaxScheduledPerBlock2 The maximum number of scheduled calls in the queue for a single block. NOTE:Q + Dependent pallets' benchmarks might require a higher limit for the setting. Set a� higher limit under `runtime-benchmarks` feature.9
$(Settlement(Settlementd$VenueInfo�=
� Info about a venue. venue_id -> venueDetails��� Free-form text about a venue. venue_id -> `VenueDetails`` Only needed for the UI.DVenueInstructionsA
qp Instructions under a venue.` Only needed for the UI.� venue_id -> instruction_id -> ()0VenueSignersE
 � Signers allowed by the venue. (venue_id, signer) -> bool(UserVenuesI
qx Venues create by an identity.` Only needed for the UI.l identity -> venue_id -> ()HInstructionDetails�M
4 Details about an instruction. instruction_id -> instruction_detailsPInstructionLegStatusQ
U
1 Status of a leg under an instruction. (instruction_id, leg_id) -> LegStatusdInstructionAffirmsPending�0 � Number of affirmations pending before instruction is executed. instruction_id -> affirm_pending<AffirmsReceivedY
]
� Tracks affirmations received for an instruction. (instruction_id, counter_party) -> AffirmationStatuspMandatoryReceiverAffirmation� ) When `true`, the identity has opted in to mandatory receiver affirmation.� Default is `false` (no affirmation required).@UserAffirmationsa
]
U Helps a user track their pending instructions and affirmations (only needed for UI).� (counter_party, instruction_id) -> AffirmationStatus0ReceiptsUsedq  Tracks redemption of receipts. (signer, receipt_uid) -> receipt_used8VenueFiltering�  Tracks if a token has enabled filtering venues that can create instructions involving their token. AssetId -> filtering_enabled8VenueAllowListe
 � Venues that are allowed to create instructions involving a particular asset. Only used if filtering is enabled.� ([`AssetId`], venue_id) -> allowed0VenueCounter�  Number of venues in the system (It's one more than the actual number)HInstructionCounter� 1 Number of instructions in the system (It's one more than the actual number)@InstructionMemos��D Instruction memoLInstructionStatuses�i
� Instruction statuses. instruction_id -> InstructionStatus<InstructionLegsQ
� Legs under an instruction. (instruction_id, leg_id) -> LegPOffChainAffirmationsQ
]
� Tracks the affirmation status for offchain legs in a instruction. [`(InstructionId, LegId)`] -> [`AffirmationStatus`]PNumberOfVenueSigners�� Tracks the number of signers each venue has.�InstructionMediatorsAffirmationsm
q
� The status for the mediators affirmation.<LockedTimestamp�0% The moment the instruction was moved to the `LockedForExecution` status.DUnlockedTimestamp�0q The moment the instruction was unlocked by a mediator. Used to enforce the relock cooldown.XInstructionRelockCount�� The number of times an instruction has been relocked.��(dMaxNumberOfFungibleAssets
 Maximum number of fungible assets that can be in a single instruction.TMaxNumberOfNFTsPerLeg
� Maximum number of NFTs that can be transferred in a leg.<MaxNumberOfNFTsd Maximum number of NFTs that can be transferred in a instruction.dMaxNumberOfOffChainAssets
5 Maximum number of off-chain assets that can be transferred in a instruction.\MaxNumberOfAssetHolders�x Maximum number of portfolios.\MaxNumberOfVenueSigners2� Maximum number of venue signers.\MaxInstructionMediatorsm Maximum number mediators in the instruction level (this does not include asset mediators).DMaximumLockPeriod0 �q The maximum time period that an instruction can be held in the `LockedForExecution` status.8RelockCooldown0 �'	� The minimum cooldown period a mediator must wait after unlocking before relocking an instruction.8MaxRelockCount� The maximum number of times an instruction can be relocked.u
%(Statistics(Statistics@ActiveAssetStats�y
� Maps a set of [`StatType`] for each [`AssetId`].(AssetStats}
@4 Asset stats.`AssetTransferCompliances̅
� The [`AssetTransferCompliance`] for each [`AssetId`].|TransferConditionExemptEntities�
 � Entities exempt from a Transfer Compliance rule.8StorageVersion�
l Storage migration version.%%@MaxStatsPerAsset
� Maximum stats that can be enabled for an Asset.tMaxTransferConditionsPerAsset� Maximum transfer conditions that can be enabled for an Asset.�
&StoSto,Fundraisers�
q� All fundraisers that are currently running.� (AssetId, fundraiser_id) -> Fundraiser<FundraiserCount�i � Total fundraisers created for a token.<FundraiserNames�
m� Name for the Fundraiser. Only used offchain.� (AssetId, fundraiser_id) -> Fundraiser name\FundraiserOffchainAsset�
Q If the fundraiser supports off-chain funding payments using receipts.8StorageVersion�
l Storage migration version.5e�
' TreasuryI��
(UtilityU�Lbatched_calls_limit�*� The limit on the number of batched calls.�
)BaseuMaxLen� The maximum length governing `TooLong`.- How lengths are computed to compare against this value is situation based.e For example, you could halve it, double it, compute a sum for some tree of strings, etc.�
*8ExternalAgents8ExternalAgents0AGIdSequence�]� The next per-asset AG ID in the sequence.Q The full ID is defined as a combination of `AssetId` and a number in this sequence,� which starts from 1, rather than 0.AgentOfUq
 Maps an agent (`IdentityId`) to all assets they belong to, if any.0GroupOfAgent=Y= Maps agents (`IdentityId`) for an `AssetId` to what AG they belong to, if any.4NumFullAgents�� Maps an `AssetId` to the number of `Full` agents for it.@GroupPermissions�
�e For custom AGs of an `AssetId`, maps to what permissions an agent in that AG would have.8StorageVersion�
D Storage version.y��
+RelayerRelayer$Subsidies�
� The subsidy for a `user_key` if they are being subsidised,� as a map `user_key` => `Subsidy`. A key can only have one subsidy at a time.  Accepting a new subsidy� will replace any existing subsidy.@PendingSubsidiesm� Pending subsidies for a `user_key` from a `paying_key`.A This is used to track subsidies that have been authorised but not yet accepted. The paying key can update or cancel the subsidy before it is accepted.4RelayTxNonces0 X Nonce for `relay_tx`.}��
,$Contracts$Contracts0PristineCode4�
� A mapping from a contract's code hash to its code.(CodeInfoOf4�
� A mapping from a contract's code hash to its code info.Nonce0 X This is a **monotonic** counter incremented on contract instantiation. This is used in order to generate unique trie ids for contracts.) The trie id of a new contract is calculated from hash(account_id, nonce).5 The nonce is required because otherwise the following sequence would lead to� a possible collision of storage:h 1. Create a new contract.l 2. Terminate the contract.� 3. Immediately recreate the contract with the same account_id.E This is bad because the contents of a trie are deleted lazily and there might beY storage of the old instantiation still in it when the new contract is created. PleaseY note that we can't replace the counter by the block number because the sequence aboveQ can happen in the same block. We also can't keep the account counter in memory onlyI because storage is the only way to communicate across different extrinsics in the0 same block. # Note= Do not use it to determine the number of contracts. It won't be decremented ifd a contract is destroyed.8ContractInfoOf�
� The code associated with a given account.� TWOX-NOTE: SAFE since `AccountId` is a secure hash.4DeletionQueue-
� Evicted contracts that await child trie deletion.I Child trie deletion is a heavy operation depending on the amount of storage itemsA stored in said trie. Therefore this operation is performed lazily in `on_idle`.PDeletionQueueCounter�
 M A pair of monotonic counters used to track the latest contract marked for deletion� and the latest deleted contract in queue.LMigrationInProgress�
a A migration can span across multiple blocks. This storage defines a cursor to track theM progress of the migration, enabling us to resume from the last completed position.��4 Schedule�
� @ `�h Cost schedule and limits.8DepositPerByte@`� The amount of balance a caller has to pay for each byte of storage. # Note) Changing this value for an existing chain might need a storage migration.LDefaultDepositLimit@�'�E Fallback value to limit the storage deposit if it's not being set by the caller.8DepositPerItem@�I The amount of balance a caller has to pay for each storage item. # Note) Changing this value for an existing chain might need a storage migration.pCodeHashLockupDepositPercent���E The percentage of the storage deposit that should be held for using a code hash.a Instantiating a contract, or calling [`chain_extension::Ext::lock_delegate_dependency`]I protects the code from being removed. In order to prevent abuse these actions are� protected with a percentage of the code deposit.(MaxCodeLen�� The maximum length of a contract code in bytes.Y The value should be chosen carefully taking into the account the overall memory limit� your runtime has, as well as the [maximum allowed callstack] depth](#associatedtype.CallStack). Look into the `integrity_test()` for some insights.@MaxStorageKeyLen�� The maximum allowable length in bytes for storage keys.\MaxTransientStorageSize� The maximum size of the transient storage in bytes.1 This includes keys, values, and previous entries used for storage rollback.\MaxDelegateDependencies ) The maximum number of delegate_dependencies that a contract can lock with� [`chain_extension::Ext::lock_delegate_dependency`].\UnsafeUnstableInterface $ Make contract callable functions marked as `#[unstable]` available.= Contracts that use `#[unstable]` functions won't be able to be uploaded unlessE this is set to `true`. This is only meant for testnets and dev nodes in order tox experiment with new features.( # Warning� Do **not** set to `true` on productions chains.DMaxDebugBufferLen � The maximum length of the debug buffer in bytes.,Environment�
% Type that bundles together all the runtime configurable interface types.5 This is not a real config. We just mention the type here as constant so that� its type appears in the metadata. Only valid value is `()`.(ApiVersion	 The version of the HostFn APIs that are available in the runtime.h Only valid value is `()`..DPolymeshContractsDPolymeshContractsPCallRuntimeWhitelist� � Whitelist of extrinsics allowed to be called from contracts.8StorageVersionD Storage version.8ApiNextUpgrade��
 Stores the chain version and code hash for the next chain upgrade.8CurrentApiHash��� Stores the code hash for the current api.��/ Preimage Preimage$StatusFor4!� The request status of a given hash.@RequestStatusFor4)� The request status of a given hash.,PreimageFor9��=0NftNft(0NumberOfNFTs=0 � The total number of NFTs per identity.<CollectionAsset̹ � The collection id corresponding to each asset.(Collection�A`� All collection details for a given collection id.8CollectionKeys�E� All mandatory metadata keys for a given collection.4MetadataValueIYE The metadata value of an nft given its collection id, token id and metadata key.@NFTsInCollection�0 � The total number of NFTs in a collection.0CurrentNFTId��� The last `NFTId` used for an NFT.LCurrentCollectionId�� The last `NFTCollectionId` used for a collection.$NFTHolderQU� All NFTs associated to the account Key.Owner	
U	 Reverse mapping for allowing to find the owner of a specific NFT.��dMaxNumberOfCollectionKeys�PMaxNumberOfNFTsCount
Y1hElectionProviderMultiPhasehElectionProviderMultiPhase(Round� Internal counter for the number of rounds.U This is useful for de-duplication of transactions submitted to the pool, and generall diagnostics of the pallet.M This is merely incremented once per every time that an upstream `elect` is called.0CurrentPhase�< Current phase.8QueuedSolution]= Current best solution, signed or unsigned, queued to be returned upon `elect`.` Always sorted by score. Snapshotyp Snapshot data of the round.] This is created at the beginning of the signed phase and cleared upon calling `elect`.) Note: This storage type must only be mutated through [`SnapshotWrapper`].8DesiredTargets� Desired number of targets to elect for this round.� Only exists when [`Snapshot`] is present.) Note: This storage type must only be mutated through [`SnapshotWrapper`].@SnapshotMetadata�	� The metadata of the [`RoundSnapshot`]� Only exists when [`Snapshot`] is present.) Note: This storage type must only be mutated through [`SnapshotWrapper`].dSignedSubmissionNextIndex$ The next index to be assigned to an incoming signed submission.u Every accepted submission is assigned a unique index; that index is bound to that particulare submission for the duration of the election. On election finalization, the next index is0 reset to 0.i We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past itsY capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,� because iteration is slow. Instead, we store the value here.\SignedSubmissionIndices�m A sorted, bounded vector of `(score, block_number, index)`, where each `index` points to ax value in `SignedSubmissions`.q We never need to process more than a single signed submission at a time. Signed submissionsu 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.PSignedSubmissionsMap�t Unchecked, signed solutions.i Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while� allowing us to keep only a single one in memory at a time.i 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.TMinimumUntrustedScore�] The minimum score that each 'untrusted' solution must attain in order to be considered( feasible.� Can be set via `set_minimum_untrusted_score`.��<TBetterSignedThreshold�M The minimum amount of improvement to the solution score that defines a solution asx "better" in the Signed phase.8OffchainRepeat� The repeat threshold of the offchain worker.a For example, if it is 5, that means that at least 5 blocks will elapse between attempts� to submit the worker's solution.<MinerTxPriority0 �������% The priority of the unsigned transaction submitted in the unsigned-phasePSignedMaxSubmissions� Maximum number of signed submissions that can be queued.U It is best to avoid adjusting this during an election, as it impacts downstream datae structures. In particular, `SignedSubmissionIndices<T>` is bounded on this value. If you� update this value during an election, you _must_ ensure thatM `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,� attempts to submit new solutions may cause a runtime panic.<SignedMaxWeight(� Maximum weight of a signed solution.] If [`Config::MinerConfig`] is being implemented to submit signed solutions (outside of= this pallet), then [`MinerConfig::solution_weight`] is used to compare against0 this value.@SignedMaxRefunds The maximum amount of unchecked solutions to refund the call fee for.@SignedRewardBase@� Base reward for a signed solutionDSignedDepositByte@� Per-byte deposit for a signed solution.LSignedDepositWeight@� Per-weight deposit for a signed solution.(MaxWinners�� Maximum number of winners that an election supports.Q Note: This must always be greater or equal to `T::DataProvider::desired_targets()`.LMaxBackersPerWinner@�1 Maximum number of voters that can support a winner in an election solution.� This is needed to ensure election computation is bounded.8MinerMaxLengthl8MinerMaxWeight(@��3�)fffffff�TMinerMaxVotesPerVoter<MinerMaxWinners��2hPolymeshTransactionPaymenthPolymeshTransactionPayment0CurrentPayer It stores the current gas fee payer for the current transaction.�	3BeefyBeefy,Authorities�p The current authorities set8ValidatorSetId0 t The current validator set id<NextAuthorities�� Authorities set scheduled to be used with the next session0SetIdSession0(Q A mapping from BEEFY set ID to the index of the *most recent* session for which itsh members were responsible.E This is only used for validating equivocation proofs. An equivocation proof mustM contains a key-ownership proof for a given session, therefore we need a way to tie= together sessions and BEEFY set ids, i.e. we need to validate that a validatorA was the owner of a given key on a given session, and what the active set ID wasT during that session.� TWOX-NOTE: `ValidatorSetId` is not under user control.0GenesisBlock�� Block number where BEEFY consensus is enabled/started.i By changing this (through privileged `set_new_genesis()`), BEEFY consensus is effectively� restarted from the newly set block number.�	8MaxAuthorities��� The maximum number of authorities that can be added.4MaxNominators� The maximum number of nominators for each validator.XMaxSetIdSessionEntries0 9 The maximum number of entries to keep in the set id to session index mapping.1 Since the `SetIdSession` map is only used for validating equivocations this) value should relate to the bonding duration of whatever staking system is5 being used (if any). If equivocation handling is not enabled then this value4 can be zero.�4MmrMmr RootHash4�X Latest MMR Root hash.8NumberOfLeaves0 � Current size of the MMR (number of leaves).Nodes04� 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.5MmrLeafMmrLeaf@BeefyAuthorities��� Details of current BEEFY authority set.PBeefyNextAuthorities��� Details of next BEEFY authority set.Q This storage entry is used as cache for calls to `update_beefy_next_authority_set`.6PMultiBlockMigrationsPMultiBlockMigrationsCursor�	� The currently active migration to run and its cursor.� `None` indicates that no migration is running. Historic
q� Set of all successfully executed migrations.q This is used as blacklist, to not re-execute migrations that have not been removed from the1 codebase yet. Governance can regularly clear this out via `clear_historic`.�	�0CursorMaxLen� The maximal length of an encoded cursor.e A good default needs to selected such that no migration will ever have a cursor with MEL	 above this limit. This is statically checked in `integrity_test`.@IdentifierMaxLen� The maximal length of an encoded identifier.U A good default needs to selected such that no migration will ever have an identifier- with MEL above this limit. This is statically checked in `integrity_test`.�7HConfidentialAssetsHConfidentialAssets�PCachedDartParameters8\ Cache DART parameters.,NextAssetId� Next Asset ID to be used for Confidential assets.Details�� Mapping of Confidential Asset ID to its details.Keys�
 Mapping of Confidential Asset ID to its auditor and mediator keys.Names� A Confidential assets token name.Symbols� A Confidential assets token symbol. Decimals� A Confidential assets token decimals.,OwnerAssets�q� Mapping of asset owner to their assets.@EncryptionKeyDid��� Encryption key to identity mapping.� This is used for the auditor and mediator encryption keys.(AccountDid��� Confidential account to identity mapping.,DidAccounts�q� Mapping of identity to their Confidential accounts.4FeeAccountDid��� Confidential fee account to identity mapping.PAccountEncryptionKey�� Mapping of Confidential account public keys to their encryption keys.PEncryptionKeyAccount��� Mapping of Confidential encryption keys to their public keys.dAccountAssetRegistrations� � Confidential account asset registrations.a The chain must prevent the same account from registering the same asset multiple times.� This is a double map where the first key is the account public key and the second key is the asset ID.,AssetLeaves05� Leaf storage for Confidential assets curve tree.A A counted map is used since we need to support updating the leaves in the tree.TCounterForAssetLeaves�Counter for the related counted storage map<AssetInnerNodes��� Inner node storage for Confidential assets curve tree.dAssetCurveTreeCurrentRoot9� The current CurveTree Root for Confidential assets curve tree.PAssetCurveTreeHeight� The height of the assets curve tree.LAssetCurveTreeRoots9� CurveTree Roots for Confidential assets curve tree.) At the end of each block we will store the root of the assets curve tree.Q The map key is the block number and the value is the root of the assets curve tree.`AssetCurveTreeLastUpdateQ0� The block number of the last asset curve tree root update. This is used to track the last time the asset curve tree was updated.`AssetCurveTreeLastPruned� The block number of the last asset curve tree root pruned.9 For keeping track of the current pruning point of the asset curve tree roots.4AccountLeaves0-� Leaf storage for Confidential accounts curve tree.� The leaves are immutable, so we use a simple storage map.PNextAccountLeafIndex0 � Next leaf index for Confidential accounts curve tree.� This is used to allocate new leaves in the tree.tLastCommittedAccountLeafIndex0  The last committed leaf index for Confidential accounts curve tree.� This is used to do batched inserts into the tree.DAccountInnerNodes��� Inner node storage for Confidential accounts curve tree.lAccountCurveTreeCurrentRootU The current CurveTree Root for Confidential accounts curve tree.XAccountCurveTreeHeight� The height of the accounts curve tree.TAccountCurveTreeRootsU� CurveTree Roots for Confidential accounts curve tree.1 At the end of each block we will store the root of the accounts curve tree.Y The map key is the block number and the value is the root of the accounts curve tree.hAccountCurveTreeLastUpdateQ0� The block number of the last account curve tree root update.! This is used to track the last time the account curve tree was updated.hAccountCurveTreeLastPruned� The block number of the last account curve tree root pruned.A For keeping track of the current pruning point of the account curve tree roots.�AccountStateCommitmentNullifiersU
q� Nullifiers for Confidential account state commitments.Q This is used to ensure that the same account state commitment cannot be used twice.\FeeAccountRegistrations� � Confidential fee account egistrations.5 The chain must prevent the same account from registering the multiple times.@FeeAccountLeaves01� Leaf storage for Confidential fee accounts curve tree.� The leaves are immutable, so we use a simple storage map.\NextFeeAccountLeafIndex0 � Next leaf index for Confidential fee accounts curve tree.� This is used to allocate new leaves in the tree.�LastCommittedFeeAccountLeafIndex0 ! The last committed leaf index for Confidential fee accounts curve tree.� This is used to do batched inserts into the tree.PFeeAccountInnerNodes��� Inner node storage for Confidential fee accounts curve tree.xFeeAccountCurveTreeCurrentRoot] The current CurveTree Root for Confidential fee accounts curve tree.dFeeAccountCurveTreeHeight� The height of the fee accounts curve tree.`FeeAccountCurveTreeRoots]� CurveTree Roots for Confidential fee accounts curve tree.A At the end of each block we will store the root of the fee accounts curve tree.i The map key is the block number and the value is the root of the fee accounts curve tree.tFeeAccountCurveTreeLastUpdateQ0 The block number of the last fee account curve tree root update.1 This is used to track the last time the fee account curve tree was updated.tFeeAccountCurveTreeLastPruned The block number of the last fee account curve tree root pruned.Q For keeping track of the current pruning point of the fee account curve tree roots.�FeeAccountStateCommitmentNullifiers�
q� Nullifiers for Confidential fee account state commitments.a This is used to ensure that the same fee account state commitment cannot be used twice.<SettlementState
)\ The settlement status.8SettlementMemo
T The settlement memo.8SettlementLegs�T The settlement legs.� This is a double map where the first key is the settlement ID and the second key is the leg ID.� The value is the DartSettlementLeg.HSettlementLegCount
�� The number of legs in each settlement.tSettlementPendingAffirmations
� The number of pending affirmations for a settlement.� This is used to track when a settlement can be executed.xSettlementPendingFinalizations
� The number of pending finalizations for a settlement.q This is used to track when a settlement can be finalized and all storage can be cleaned up.PLegAffirmationStatus��� The affirmation status of each party in a settlement leg.i This is a triple map where the first key is the settlement ID, the second key is the leg ID, and the third key is the party (sender, receiver, mediator).XCurrentWorkerSessionId� The WorkerSessionId for the current block.
�H8MaxTotalSupply@������X Maximum total supply.HMaxAssetDataLength l Maximum asset data length.HMaxKeysPerRegProof� The maximum number of keys in an account registration proof.@MaxBatchedProofs
� The maximum number of proofs in a single batched proof.XMaxFeeAccountRegProofs
= The maximum number of fee account registration proofs in a single transaction.`MaxFeeAccountTopupProofs
! The maximum number of fee account topup proofs in a single transaction.`MaxAccountAssetRegProofs
E The maximum number of account asset registration proofs in a single transaction.DMaxSettlementLegs
� The maximum number of legs in a settlement.\MaxSettlementMemoLength� The maximum settlement memo length.@MaxAssetAuditors� The maximum number of asset auditors.DMaxAssetMediators� The maximum number of asset mediators.XMaxAssetEncryptionKeys The maximum number of asset encryption keys (mediators + auditors).xMinCurveTreeRootUpdateInterval0 �'	� The minimum time between curve tree root updates.� If there hasn't been transactions to cause a curve tree root update for a while, a new root will be recorded.`MaxAssetCurveTreeRootAge0 \&� The maximum age of historical asset curve tree roots.hMaxAccountCurveTreeRootAge0 �L
� The maximum age of historical account curve tree roots.tMaxFeeAccountCurveTreeRootAge0 �L
� The maximum age of historical fee account curve tree roots.4pallet_fee_id� pm/dartf� Get the Confidential Assets fee pallet id.8fee_account_id�modlpm/dartf� Get the Confidential Assets fee account id.�FReviveRevive40PristineCode48� A mapping from a contract's code hash to its code.! The code's size is bounded by [`crate::limits::BLOB_BYTES`] for PVM and� [`revm::primitives::eip170::MAX_CODE_SIZE`] for EVM bytecode.(CodeInfoOf4�� A mapping from a contract's code hash to its code info.4AccountInfoOfm� The data associated to a contract or externally owned account.<ImmutableDataOfm� The immutable data associated with a given account.4DeletionQueue-
� Evicted contracts that await child trie deletion.I Child trie deletion is a heavy operation depending on the amount of storage itemsA stored in said trie. Therefore this operation is performed lazily in `on_idle`.PDeletionQueueCounter M A pair of monotonic counters used to track the latest contract marked for deletion� and the latest deleted contract in queue.<OriginalAccountm� Map a Ethereum address to its original `AccountId32`.E When deriving a `H160` from an `AccountId32` we use a hash function. In order to1 reconstruct the original account we need to store the reverse mapping here. Register your `AccountId32` using [`Pallet::map_account`] in order tod use it with this pallet.4EthereumBlock
$ The current Ethereum block that is stored in the `on_finalize` method. # Note) This could be further optimized into the future to store only the minimum information needed to reconstruct the Ethereum block at the RPC level.= Since the block is convenient to have around, and the extra details are capped= by a few hashes and the vector of transaction hashes, we store the block here.$BlockHash4�� Mapping for block number and hashes.q The maximum number of elements stored is capped by the block hash count `BLOCK_HASH_COUNT`.<ReceiptInfoData�� The details needed to reconstruct the receipt info offchain.) This contains valuable information about the gas used by the transaction. NOTE: The item is unbound and should therefore never be read on chain.� It could otherwise inflate the PoV size of a block.DEthBlockBuilderIR�@z�Z��������� Incremental ethereum block builder.hEthBlockBuilderFirstValues�� The first transaction and receipt of the ethereum block.= These values are moved out of the `EthBlockBuilderIR` to avoid serializing and= deserializing them on every transaction. Instead, they are loaded when needed.<DebugSettingsOf�1 Debugging settings that can be configured when DebugEnabled config is true.Ei(8DepositPerByte@`� The amount of balance a caller has to pay for each byte of storage. # Note5 It is safe to change this value on a live chain as all refunds are pro rata.8DepositPerItem@�I The amount of balance a caller has to pay for each storage item. # Note5 It is safe to change this value on a live chain as all refunds are pro rata.\DepositPerChildTrieItem@�$1 The amount of balance a caller has to pay for each child trie storage item.9 Those are the items created by a contract. In Solidity each value is a single9 storage item. This is why we need to set a lower value here than for the main� trie items. Otherwise the storage deposit is too high. # Note5 It is safe to change this value on a live chain as all refunds are pro rata.pCodeHashLockupDepositPercent���E The percentage of the storage deposit that should be held for using a code hash.Q Instantiating a contract, protects the code from being removed. In order to prevent% abuse these actions are protected with a percentage of the code deposit.@AllowEVMBytecode � Allow EVM bytecode to be uploaded and instantiated.ChainId0 Z
 The [EIP-155](https://eips.ethereum.org/EIPS/eip-155) chain ID. This is a unique identifier assigned to each blockchain network,l preventing replay attacks.@NativeToEthRatio0 ���Q The ratio between the decimal representation of the native token and the ETH token.TMaxEthExtrinsicWeight�@�I;q}0M The fraction the maximum extrinsic weight `eth_transact` extrinsics are capped to.Q This is not a security measure but a requirement due to how we map gas to `(Weight,] StorageDeposit)`. The mapping might derive a `Weight` that is too large to fit into an� extrinsic. In this case we cap it to the limit specified here.e `eth_transact` transactions that use more weight than specified will fail with an out ofI gas error during execution. Larger fractions will allow more transactions to run.M Smaller values waste less block space: Choose as small as possible and as large as, necessary.D  Default: `0.5`.0DebugEnabled - Allows debug-mode configuration, such as enabling unlimited contract size. GasScaledD This determines the relative scale of our gas price and gas estimates.U By default, the gas price (in wei) is `FeeInfo::next_fee_multiplier()` multiplied by] `NativeToEthRatio`. `GasScale` allows to scale this value: the actual gas price is the� default gas price multiplied by `GasScale`.Y As a consequence, gas cost (gas estimates and actual gas usage during transaction) isQ scaled down by the same factor. Thus, the total transaction cost is not affected bym `GasScale` – apart from rounding differences: the transaction cost is always a multiplea of the gas price and is derived by rounded up, so that with higher `GasScales` this can lead to higher gas cost as the rounding difference would be larger.e The main purpose of changing the `GasScale` is to tune the gas cost so that it is closerI to standard EVM gas cost and contracts will not run out of gas when tools or codex assume hard coded gas limits.� Requirement: `GasScale` must not be 0�P�44AuthorizeCall�qHCheckNonZeroSender�q@CheckSpecVersion�8CheckTxVersion�0CheckGenesis�48CheckMortality�4(CheckNonce�q,CheckWeight�q`ChargeTransactionPayment�qDStoreCallMetadata�qDCheckMetadataHash��0EthSetOrigin�q4WeightReclaim�q�