cargo-contract 3.0.0

Setup and deployment tool for developing Wasm based smart contracts via ink!
meta5sp_corecrypto,AccountId32 [u8; 32] 0frame_system,AccountInfoIndex,AccountDatanonceIndex$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(,,0<primitive_typesH256 [u8; 32]48(sp_runtimegenericdigestDigestlogs<<Vec<DigestItem><@@(sp_runtimegenericdigest(DigestItem(PreRuntimeDDConsensusEngineId4Vec<u8>$ConsensusDDConsensusEngineId4Vec<u8>SealDDConsensusEngineId4Vec<u8>Other4Vec<u8>dRuntimeEnvironmentUpdatedDHLL0frame_system,EventRecordEPT0phase�PhaseeventPEtopics�Vec<T>PXcontracts_node_runtime0RuntimeEventSystemTpframe_system::Event<Runtime>UtilityxTpallet_utility::Event Balances�|pallet_balances::Event<Runtime>HTransactionPayment��pallet_transaction_payment::Event<Runtime>Sudo�lpallet_sudo::Event<Runtime>$Contracts��pallet_contracts::Event<Runtime>Assets�tpallet_assets::Event<Runtime>	T0frame_systempalletEventT@ExtrinsicSuccess4dispatch_infoX0DispatchInfo�An extrinsic completed successfully.<ExtrinsicFailed8dispatch_errord4DispatchError4dispatch_infoX0DispatchInfoPAn extrinsic failed.,CodeUpdatedP`:code` was updated.(NewAccountaccount0T::AccountIdhA new account was created.4KilledAccountaccount0T::AccountIdXAn account was reaped. Remarkedsender0T::AccountIdhash0T::HashpOn on-chain remark happened.pEvent for the System pallet.X4frame_support dispatch0DispatchInfoweight$Weightclass\4DispatchClass pays_fee`Pays\4frame_support dispatch4DispatchClassNormal,Operational$Mandatory`4frame_support dispatchPaysYesNod(sp_runtime4DispatchError4Other0CannotLookup$BadOriginModuleh,ModuleErrorDConsumerRemaining,NoProviders@TooManyConsumersTokenl(TokenError(Arithmeticp<ArithmeticError4TransactionaltHTransactionalError	$Exhausted
(Corruption,Unavailableh(sp_runtime,ModuleErrorindexu8errorD�[u8; MAX_MODULE_ERROR_ENCODED_SIZE]l(sp_runtime(TokenError$@FundsUnavailable0OnlyProvider0BelowMinimum0CannotCreate0UnknownAssetFrozen,Unsupported@CannotCreateHold4NotExpendablep4sp_arithmetic<ArithmeticError$Underflow Overflow8DivisionByZerot(sp_runtimeHTransactionalError0LimitReachedNoLayerx8pallet_utilitypalletEvent@BatchInterruptedindexu32errord4DispatchErrorUBatch 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.(ItemFailederrord4DispatchErrorA single item within a Batch of dispatches has completed with error.0DispatchedAsresult|8DispatchResultXA call was dispatched.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			|ResultT�EdOk�Errd��<pallet_balancespalletEventTITEndowedaccount0T::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.Burnedwho0T::AccountIdamount(T::Balance�Some amount was burned from an account.$Suspendedwho0T::AccountIdamount(T::BalanceSome 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.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�4frame_supporttraitstokensmisc4BalanceStatusFree Reserved�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](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�,pallet_sudopalletEventTSudid,sudo_result|8DispatchResult�A sudo just took place. \[result\](KeyChanged(old_sudoer�POption<T::AccountId>9The \[sudoer\] just switched identity; the old key is supplied if one existed.(SudoAsDone,sudo_result|8DispatchResult�A sudo just took place. \[result\]�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�OptionTNoneSome�@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_hash0T::Hash�Code with the specified hash has been stored.<ContractEmitted contract0T::AccountId�The contract that emitted the event.data4Vec<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_hash0T::Hash�A code with the specified hash was removed.LContractCodeUpdated contract0T::AccountId�The contract that has been updated.4new_code_hash0T::Hash�New code hash that was set for the contract.4old_code_hash0T::Hash�Previous code hash of the contract.xA contract's code was updated.Calledcaller0T::AccountId�The account that called 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_hash0,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.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�4pallet_assetspalletEventTIXCreated asset_id(T::AssetIdcreator0T::AccountIdowner0T::AccountIdtSome asset class was created.Issued asset_id(T::AssetIdowner0T::AccountIdamount(T::Balance`Some assets were issued.,Transferred asset_id(T::AssetIdfrom0T::AccountIdto0T::AccountIdamount(T::BalancetSome assets were transferred.Burned asset_id(T::AssetIdowner0T::AccountIdbalance(T::BalancelSome assets were destroyed.,TeamChanged asset_id(T::AssetIdissuer0T::AccountIdadmin0T::AccountIdfreezer0T::AccountIdpThe management team changed.0OwnerChanged asset_id(T::AssetIdowner0T::AccountIdHThe owner changed.Frozen asset_id(T::AssetIdwho0T::AccountIdxSome account `who` was frozen.Thawed asset_id(T::AssetIdwho0T::AccountIdxSome account `who` was thawed.,AssetFrozen asset_id(T::AssetId�Some asset `asset_id` was frozen.,AssetThawed asset_id(T::AssetId	�Some asset `asset_id` was thawed.DAccountsDestroyed asset_id(T::AssetIdHaccounts_destroyedu32Haccounts_remainingu32
�Accounts were destroyed for given asset.HApprovalsDestroyed asset_id(T::AssetIdLapprovals_destroyedu32Lapprovals_remainingu32�Approvals were destroyed for given asset.HDestructionStarted asset_id(T::AssetId�An asset class is in the process of being destroyed.$Destroyed asset_id(T::AssetId
tAn asset class was destroyed.0ForceCreated asset_id(T::AssetIdowner0T::AccountId�Some asset class was force-created.,MetadataSet asset_id(T::AssetIdname4Vec<u8>symbol4Vec<u8> decimalsu8$is_frozen�bool�New metadata has been set for an asset.<MetadataCleared asset_id(T::AssetId�Metadata has been cleared for an asset.@ApprovedTransfer asset_id(T::AssetIdsource0T::AccountId delegate0T::AccountIdamount(T::Balance1(Additional) funds have been approved for transfer to a destination account.DApprovalCancelled asset_id(T::AssetIdowner0T::AccountId delegate0T::AccountId�An approval for account `delegate` was cancelled by `owner`.LTransferredApproved asset_id(T::AssetIdowner0T::AccountId delegate0T::AccountId,destination0T::AccountIdamount(T::Balance1An `amount` was transferred in its entirety from `owner` to `destination` by`the approved `delegate`.HAssetStatusChanged asset_id(T::AssetId�An asset has had its attributes changed by the `Force` origin.XAssetMinBalanceChanged asset_id(T::AssetId<new_min_balance(T::BalanceThe min_balance of an asset has been updated by the asset owner.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			��0frame_systemPhase8ApplyExtrinsicu320Finalization8Initialization�0����0frame_systemXLastRuntimeUpgradeInfo0spec_version�Lcodec::Compact<u32>$spec_name�dsp_runtime::RuntimeString���0frame_systempalletCallT remarkremark4Vec<u8>hMake some on-chain remark.4## Complexity - `O(1)`8set_heap_pagespages,u64�Set the number of pages in the WebAssembly environment's heap. set_codecode4Vec<u8>dSet the new runtime code.4## Complexity1- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`\set_code_without_checkscode4Vec<u8>Set the new runtime code without doing any checks of the given `code`.4## Complexity�- `O(C)` where `C` length of `code`,set_storageitems�4Vec<KeyValue>hSet some items of storage.0kill_storagekeys� Vec<Key>tKill some items from storage.,kill_prefixprefix4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_eventremark4Vec<u8>�Make some on-chain remark and emit event.%Contains one variant per dispatchable that can be called by an extrinsic.���44�4�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>�4frame_support dispatch@PerDispatchClassTnormalT,operationalT$mandatoryT�(sp_weights<RuntimeDbWeightread,u64write,u64�(sp_version8RuntimeVersion $spec_name�4RuntimeString$impl_name�4RuntimeStringDauthoring_versionu320spec_versionu320impl_versionu32apis�ApisVecLtransaction_versionu324state_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.lError for the System pallet	Lbounded_collections,bounded_vec(BoundedVecT0S�Vec<T>
8pallet_utilitypalletCallTbatchcalls|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.4as_derivativeindexu16call|Box<<T as Config>::RuntimeCall>4�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.ENOTE: If you need to ensure that any account-based filtering is not honored (i.e.abecause you expect `proxy` to have been used prior in the call stack and you do not wantQthe call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`|in the Multisig pallet instead.�NOTE: Prior to version *12, this was called `as_limited_sub`.�The dispatch origin for this call must be _Signed_.$batch_allcalls|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_originITBox<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_batchcalls|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_.%Contains one variant per dispatchable that can be called by an extrinsic.Xcontracts_node_runtime,RuntimeCallSystem��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<System, Runtime>Utility
�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Utility, Runtime>$Timestamp�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Timestamp, Runtime> Balances�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Balances, Runtime>Sudo5�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Sudo, Runtime>$Contracts9�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Contracts, Runtime>AssetsE�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Assets, Runtime>	@pallet_timestamppalletCallTsetnow($T::Moment<TSet 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 by@`MinimumPeriod`.�The dispatch origin for this call must be `Inherent`.4## Complexity1- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)a- 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 one variant per dispatchable that can be called by an extrinsic.<pallet_balancespalletCallTI$Ptransfer_allow_deathdest!PAccountIdLookupOf<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.Xset_balance_deprecatedwho!PAccountIdLookupOf<T> new_free-(T::Balance0old_reserved-(T::BalanceUSet the regular balance of a given account; it also takes a reserved balance but this�must be the same as the account's current reserved balance.�The dispatch origin for this call is `root`.	WARNING: This call is DEPRECATED! Use `force_set_balance` instead.8force_transfersource!PAccountIdLookupOf<T>dest!PAccountIdLookupOf<T>value-(T::BalanceaExactly as `transfer_allow_death`, except the origin must be root and the source accountDmay be specified.Ltransfer_keep_alivedest!PAccountIdLookupOf<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_alldest!PAccountIdLookupOf<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who!PAccountIdLookupOf<T>amount(T::Balance�Unreserve some balance from a user by force.lCan only be called by ROOT.@upgrade_accountswho1DVec<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 the\possibililty of churn). transferdest!PAccountIdLookupOf<T>value-(T::Balance1Alias for `transfer_allow_death`, provided only for name-wise compatibility.WARNING: DEPRECATED! Will be released in approximately 3 months.Dforce_set_balancewho!PAccountIdLookupOf<T> new_free-(T::Balance�Set the regular balance of a given account.�The dispatch origin for this call is `root`.%Contains one variant per dispatchable that can be called by an extrinsic.!(sp_runtime0multiaddress0MultiAddress$AccountId0AccountIndex�Id$AccountIdIndex%0AccountIndexRaw4Vec<u8>$Address32 [u8; 32]$Address20) [u8; 20]%�)-15,pallet_sudopalletCallTsudocall|Box<<T as Config>::RuntimeCall>5Authenticates the sudo key and dispatches a function call with `Root` origin.�The dispatch origin for this call must be _Signed_.4## Complexity- O(1).Tsudo_unchecked_weightcall|Box<<T as Config>::RuntimeCall>weight$Weight 5Authenticates 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_.4## Complexity- O(1).set_keynew!PAccountIdLookupOf<T>]Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudokey.�The dispatch origin for this call must be _Signed_.4## Complexity- O(1).sudo_aswho!PAccountIdLookupOf<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_.4## Complexity- O(1).%Contains one variant per dispatchable that can be called by an extrinsic.9@pallet_contractspalletCallT$<call_old_weightdest!PAccountIdLookupOf<T>value-0BalanceOf<T>$gas_limit($OldWeightTstorage_deposit_limit=�Option<<BalanceOf<T> as codec::HasCompact>::Type>data4Vec<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>code4Vec<u8>data4Vec<u8>salt4Vec<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_hash0,CodeHash<T>data4Vec<u8>salt4Vec<u8>1Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`.,upload_codecode4Vec<u8>Tstorage_deposit_limit=�Option<<BalanceOf<T> as codec::HasCompact>::Type>,determinismA,DeterminismP�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 instrumented size of the 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`].,remove_code$code_hash0,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_codedest!PAccountIdLookupOf<T>$code_hash0,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.calldest!PAccountIdLookupOf<T>value-0BalanceOf<T>$gas_limit$WeightTstorage_deposit_limit=�Option<<BalanceOf<T> as codec::HasCompact>::Type>data4Vec<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>code4Vec<u8>data4Vec<u8>salt4Vec<u8>h1Instantiates 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:Y- The supplied `code` is instrumented, 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_hash0,CodeHash<T>data4Vec<u8>salt4Vec<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.%Contains one variant per dispatchable that can be called by an extrinsic.=OptionT-NoneSome-A@pallet_contractswasm,Determinism EnforcedRelaxedE4pallet_assetspalletCallTItcreateid�LT::AssetIdParameteradmin!PAccountIdLookupOf<T>,min_balance(T::BalanceL�Issue a new class of fungible assets from a public origin.%This new asset class has no assets initially and its owner is the origin.aThe origin must conform to the configured `CreateOrigin` and have sufficient funds free.�Funds of sender are reserved by `AssetDeposit`.,Parameters:Y- `id`: The identifier of the new asset. This must not be currently in use to identifyHan existing asset.Y- `admin`: The admin of this class of assets. The admin is the initial address of each�member of the asset class's admin team.M- `min_balance`: The minimum balance of this new asset that any single account must=have. If an account's balance is reduced below this, then it collapses to zero.�Emits `Created` event when successful.8Weight: `O(1)`0force_createid�LT::AssetIdParameterowner!PAccountIdLookupOf<T>4is_sufficient�bool,min_balance-(T::BalanceL�Issue a new class of fungible assets from a privileged origin.�This new asset class has no assets initially.�The origin must conform to `ForceOrigin`.�Unlike `create`, no funds are reserved.Y- `id`: The identifier of the new asset. This must not be currently in use to identifyHan existing asset.Y- `owner`: The owner of this class of assets. The owner has full superuser permissions%over this asset, but may later change and configure the permissions using�`transfer_ownership` and `set_team`.M- `min_balance`: The minimum balance of this new asset that any single account must=have. If an account's balance is reduced below this, then it collapses to zero.�Emits `ForceCreated` event when successful.8Weight: `O(1)`4start_destroyid�LT::AssetIdParameter,�Start the process of destroying a fungible asset class.Y`start_destroy` is the first in a series of extrinsics that should be called, to allowxdestruction of an asset class.QThe origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.M- `id`: The identifier of the asset to be destroyed. This must identify an existing   asset.�The asset class must be frozen before calling `start_destroy`.@destroy_accountsid�LT::AssetIdParameter0�Destroy all accounts associated with a given asset.]`destroy_accounts` should only be called after `start_destroy` has been called, and the�asset is in a `Destroying` state.]Due to weight restrictions, this function may need to be called multiple times to fully1destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.M- `id`: The identifier of the asset to be destroyed. This must identify an existing   asset.�Each call emits the `Event::DestroyedAccounts` event.Ddestroy_approvalsid�LT::AssetIdParameter0aDestroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).a`destroy_approvals` should only be called after `start_destroy` has been called, and the�asset is in a `Destroying` state.]Due to weight restrictions, this function may need to be called multiple times to fully9destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.M- `id`: The identifier of the asset to be destroyed. This must identify an existing   asset.�Each call emits the `Event::DestroyedApprovals` event.8finish_destroyid�LT::AssetIdParameter(�Complete destroying asset and unreserve currency.U`finish_destroy` should only be called after `start_destroy` has been called, and theYasset is in a `Destroying` state. All accounts or approvals should be destroyed beforehand.M- `id`: The identifier of the asset to be destroyed. This must identify an existing   asset.�Each successful call emits the `Event::Destroyed` event.mintid�LT::AssetIdParameter,beneficiary!PAccountIdLookupOf<T>amount-(T::Balance0�Mint assets of a particular class.9The origin must be Signed and the sender must be the Issuer of the asset `id`.�- `id`: The identifier of the asset to have some amount minted.
- `beneficiary`: The account to be credited with the minted assets.�- `amount`: The amount of the asset to be minted.�Emits `Issued` event when successful.8Weight: `O(1)`UModes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`.burnid�LT::AssetIdParameterwho!PAccountIdLookupOf<T>amount-(T::Balance<EReduce the balance of `who` by as much as possible up to `amount` assets of `id`.5Origin must be Signed and the sender should be the Manager of the asset `id`.�Bails with `NoAccount` if the `who` is already dead.�- `id`: The identifier of the asset to have some amount burned.�- `who`: The account to be debited from.)- `amount`: The maximum amount by which `who`'s balance should be reduced.QEmits `Burned` with the actual amount burned. If this takes the balance to below the9minimum for the asset, then the amount burned is increased to take it to zero.8Weight: `O(1)`	Modes: Post-existence of `who`; Pre & post Zombie-status of `who`. transferid�LT::AssetIdParametertarget!PAccountIdLookupOf<T>amount-(T::BalanceH�Move some assets from the sender account to another.XOrigin must be Signed.- `id`: The identifier of the asset to have some amount transferred.�- `target`: The account to be credited.Q- `amount`: The amount by which the sender's balance of assets should be reduced anda`target`'s balance increased. The amount actually transferred may be slightly greater in]the case that the transfer would otherwise take the sender balance above zero but below�the minimum balance. Must be greater than zero.aEmits `Transferred` with the actual amount transferred. If this takes the source balance]to below the minimum for the asset, then the amount transferred is increased to take it to zero.8Weight: `O(1)`QModes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of$`target`.Ltransfer_keep_aliveid�LT::AssetIdParametertarget!PAccountIdLookupOf<T>amount-(T::Balance	HYMove some assets from the sender account to another, keeping the sender account alive.XOrigin must be Signed.- `id`: The identifier of the asset to have some amount transferred.�- `target`: The account to be credited.Q- `amount`: The amount by which the sender's balance of assets should be reduced anda`target`'s balance increased. The amount actually transferred may be slightly greater in]the case that the transfer would otherwise take the sender balance above zero but below�the minimum balance. Must be greater than zero.aEmits `Transferred` with the actual amount transferred. If this takes the source balance]to below the minimum for the asset, then the amount transferred is increased to take it to zero.8Weight: `O(1)`QModes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of$`target`.8force_transferid�LT::AssetIdParametersource!PAccountIdLookupOf<T>dest!PAccountIdLookupOf<T>amount-(T::Balance
L�Move some assets from one account to another.-Origin must be Signed and the sender should be the Admin of the asset `id`.- `id`: The identifier of the asset to have some amount transferred.�- `source`: The account to be debited.�- `dest`: The account to be credited.Y- `amount`: The amount by which the `source`'s balance of assets should be reduced andY`dest`'s balance increased. The amount actually transferred may be slightly greater inMthe case that the transfer would otherwise take the `source` balance above zero but�below the minimum balance. Must be greater than zero.aEmits `Transferred` with the actual amount transferred. If this takes the source balance]to below the minimum for the asset, then the amount transferred is increased to take it to zero.8Weight: `O(1)`QModes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of`dest`.freezeid�LT::AssetIdParameterwho!PAccountIdLookupOf<T>(�Disallow further unprivileged transfers from an account.5Origin must be Signed and the sender should be the Freezer of the asset `id`.�- `id`: The identifier of the asset to be frozen.�- `who`: The account to be frozen.<Emits `Frozen`.8Weight: `O(1)`thawid�LT::AssetIdParameterwho!PAccountIdLookupOf<T>(�Allow unprivileged transfers from an account again.-Origin must be Signed and the sender should be the Admin of the asset `id`.�- `id`: The identifier of the asset to be frozen.�- `who`: The account to be unfrozen.<Emits `Thawed`.8Weight: `O(1)`0freeze_assetid�LT::AssetIdParameter
$�Disallow further unprivileged transfers for the asset class.5Origin must be Signed and the sender should be the Freezer of the asset `id`.�- `id`: The identifier of the asset to be frozen.<Emits `Frozen`.8Weight: `O(1)`(thaw_assetid�LT::AssetIdParameter$�Allow unprivileged transfers for the asset again.-Origin must be Signed and the sender should be the Admin of the asset `id`.�- `id`: The identifier of the asset to be thawed.<Emits `Thawed`.8Weight: `O(1)`Htransfer_ownershipid�LT::AssetIdParameterowner!PAccountIdLookupOf<T>(tChange the Owner of an asset.-Origin must be Signed and the sender should be the Owner of the asset `id`.�- `id`: The identifier of the asset.�- `owner`: The new Owner of this asset.TEmits `OwnerChanged`.8Weight: `O(1)` set_teamid�LT::AssetIdParameterissuer!PAccountIdLookupOf<T>admin!PAccountIdLookupOf<T>freezer!PAccountIdLookupOf<T>0�Change the Issuer, Admin and Freezer of an asset.-Origin must be Signed and the sender should be the Owner of the asset `id`.�- `id`: The identifier of the asset to be frozen.�- `issuer`: The new Issuer of this asset.�- `admin`: The new Admin of this asset.�- `freezer`: The new Freezer of this asset.PEmits `TeamChanged`.8Weight: `O(1)`0set_metadataid�LT::AssetIdParametername4Vec<u8>symbol4Vec<u8> decimalsu8@xSet the metadata for an asset.-Origin must be Signed and the sender should be the Owner of the asset `id`.�Funds of sender are reserved according to the formula:Q`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into�account any already reserved funds.�- `id`: The identifier of the asset to update.M- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.M- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.-- `decimals`: The number of decimals this asset uses to represent one unit.PEmits `MetadataSet`.8Weight: `O(1)`8clear_metadataid�LT::AssetIdParameter,�Clear the metadata for an asset.-Origin must be Signed and the sender should be the Owner of the asset `id`.�Any deposit is freed for the asset owner.�- `id`: The identifier of the asset to clear.`Emits `MetadataCleared`.8Weight: `O(1)`Hforce_set_metadataid�LT::AssetIdParametername4Vec<u8>symbol4Vec<u8> decimalsu8$is_frozen�bool8�Force the metadata for an asset to some value.lOrigin must be ForceOrigin.hAny deposit is left alone.�- `id`: The identifier of the asset to update.M- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.M- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.-- `decimals`: The number of decimals this asset uses to represent one unit.PEmits `MetadataSet`.QWeight: `O(N + S)` where N and S are the length of the name and symbol respectively.Pforce_clear_metadataid�LT::AssetIdParameter,�Clear the metadata for an asset.lOrigin must be ForceOrigin.`Any deposit is returned.�- `id`: The identifier of the asset to clear.`Emits `MetadataCleared`.8Weight: `O(1)`Hforce_asset_status id�LT::AssetIdParameterowner!PAccountIdLookupOf<T>issuer!PAccountIdLookupOf<T>admin!PAccountIdLookupOf<T>freezer!PAccountIdLookupOf<T>,min_balance-(T::Balance4is_sufficient�bool$is_frozen�boolX�Alter the attributes of a given asset.tOrigin must be `ForceOrigin`.�- `id`: The identifier of the asset.�- `owner`: The new Owner of this asset.�- `issuer`: The new Issuer of this asset.�- `admin`: The new Admin of this asset.�- `freezer`: The new Freezer of this asset.M- `min_balance`: The minimum balance of this new asset that any single account must=have. If an account's balance is reduced below this, then it collapses to zero.Q- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficientMvalue to account for the state bloat associated with its balance storage. If set toU`true`, then non-zero balances may be stored without a `consumer` reference (and thusMan ED in the Balances pallet or whatever else is used to control user-account state growth).=- `is_frozen`: Whether this asset class is frozen except for permissioned/admin4instructions.�Emits `AssetStatusChanged` with the identity of the asset.8Weight: `O(1)`@approve_transferid�LT::AssetIdParameter delegate!PAccountIdLookupOf<T>amount-(T::BalanceP-Approve an amount of asset for transfer by a delegated third-party account.XOrigin must be Signed.MEnsures that `ApprovalDeposit` worth of `Currency` is reserved from signing accountUfor the purpose of holding the approval. If some non-zero amount of assets is alreadyIapproved from signing account to `delegate`, then it is topped up or unreserved toTmeet the right value.ENOTE: The signing account does not need to own `amount` of assets at the point ofDmaking this call.�- `id`: The identifier of the asset.
- `delegate`: The account to delegate permission to transfer asset.I- `amount`: The amount of asset that may be transferred by `delegate`. If there is�already an approval in place, then this acts additively.�Emits `ApprovedTransfer` on success.8Weight: `O(1)`<cancel_approvalid�LT::AssetIdParameter delegate!PAccountIdLookupOf<T>4ICancel all of some asset approved for delegated transfer by a third-party account.=Origin must be Signed and there must be an approval in place between signer and,`delegate`.IUnreserves any deposit previously reserved by `approve_transfer` for the approval.�- `id`: The identifier of the asset.- `delegate`: The account delegated permission to transfer asset.�Emits `ApprovalCancelled` on success.8Weight: `O(1)`Tforce_cancel_approvalid�LT::AssetIdParameterowner!PAccountIdLookupOf<T> delegate!PAccountIdLookupOf<T>4ICancel all of some asset approved for delegated transfer by a third-party account.IOrigin must be either ForceOrigin or Signed origin with the signer being the Adminhaccount of the asset `id`.IUnreserves any deposit previously reserved by `approve_transfer` for the approval.�- `id`: The identifier of the asset.- `delegate`: The account delegated permission to transfer asset.�Emits `ApprovalCancelled` on success.8Weight: `O(1)`Dtransfer_approvedid�LT::AssetIdParameterowner!PAccountIdLookupOf<T>,destination!PAccountIdLookupOf<T>amount-(T::BalanceHMTransfer some asset balance from a previously delegated account to some third-party account.IOrigin must be Signed and there must be an approval in place by the `owner` to thesigner.YIf the entire amount approved for transfer is transferred, then any deposit previously�reserved by `approve_transfer` is unreserved.�- `id`: The identifier of the asset.a- `owner`: The account which previously approved for a transfer of at least `amount` and�from which the asset balance will be withdrawn.a- `destination`: The account to which the asset balance of `amount` will be transferred.�- `amount`: The amount of assets to transfer.�Emits `TransferredApproved` on success.8Weight: `O(1)`touchid�LT::AssetIdParameter$�Create an asset account for non-provider assets.�A deposit will be taken from the signer account.]- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit8  to be taken.	- `id`: The identifier of the asset for the account to be created.�Emits `Touched` event when successful.refundid�LT::AssetIdParameter(allow_burn�bool �Return the deposit (if any) of an asset account.hThe origin must be Signed.	- `id`: The identifier of the asset for the account to be created.]- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.�Emits `Refunded` event when successful.<set_min_balanceid�LT::AssetIdParameter,min_balance(T::Balance0�Sets the minimum balance of an asset.!Only works if there aren't any accounts that are holding the asset or if�the new value of `min_balance` is less than the old one.�Origin must be Signed and the sender has to be the Owner of the,asset `id`.�- `id`: The identifier of the asset.�- `min_balance`: The new value of `min_balance`.�Emits `AssetMinBalanceChanged` event when successful.%Contains one variant per dispatchable that can be called by an extrinsic.IXcontracts_node_runtime0OriginCallersystemMtframe_system::Origin<Runtime>VoidQself::sp_api_hidden_includes_construct_runtime::hidden_include::VoidM4frame_support dispatch$RawOrigin$AccountIdRootSigned$AccountIdNoneQsp_coreVoidU8pallet_utilitypalletErrorT0TooManyCalls\Too many calls batched.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			YLbounded_collections@weak_bounded_vec8WeakBoundedVecT]SeVec<T>]<pallet_balancestypes,BalanceLockBalanceid�8LockIdentifieramountBalancereasonsaReasonsa<pallet_balancestypesReasonsFeeMiscAlle]iLbounded_collections,bounded_vec(BoundedVecTmSqVec<T>m<pallet_balancestypes,ReserveDataDReserveIdentifier�Balanceid�DReserveIdentifieramountBalanceqmuLbounded_collections,bounded_vec(BoundedVecTyS}Vec<T>y<pallet_balancestypes IdAmountId�Balanceid�IdamountBalance}y�<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 `MaxHolds`.8TooManyFreezes	�Number of freezes exceed `MaxFreezes`.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�4sp_arithmetic,fixed_point$FixedU128u128�hpallet_transaction_payment Releases$V1AncientV2�,pallet_sudopalletErrorT,RequireSudo|Sender must be the Sudo accountdError for the Sudo pallet�Lbounded_collections,bounded_vec(BoundedVecTS4Vec<T>�@pallet_contractswasm@PrefabWasmModuleTlinstruction_weights_version�u32initial�u32maximum�u32code�DRelaxedCodeVec<T>,determinismA,Determinism�Lbounded_collections@weak_bounded_vec8WeakBoundedVecTS4Vec<T>�@pallet_contractswasm$OwnerInfoTowner8AccountIdOf<T>deposit-0BalanceOf<T> refcount(u64�@pallet_contractsstorage0ContractInfoT trie_id�TrieId<deposit_account�DDepositAccount<T>$code_hash0,CodeHash<T>4storage_bytesu324storage_itemsu32Pstorage_byte_deposit0BalanceOf<T>Pstorage_item_deposit0BalanceOf<T>Pstorage_base_deposit0BalanceOf<T>�Lbounded_collections,bounded_vec(BoundedVecTS4Vec<T>�@pallet_contractsstorage8DepositAccountT8AccountIdOf<T>�@pallet_contractsstoragePDeletionQueueManagerT8insert_counteru328delete_counteru32�@pallet_contracts schedule ScheduleTlimits�LimitsLinstruction_weights�TInstructionWeights<T><host_fn_weights�@HostFnWeights<T>�@pallet_contracts scheduleLimits(0event_topicsu32globalsu32localsu32(parametersu320memory_pagesu32(table_sizeu324br_table_sizeu32,subject_lenu32,payload_lenu328runtime_memoryu32�@pallet_contracts scheduleHInstructionWeightsT�versionu32 fallbacku32 i64constu32i64loadu32 i64storeu32selectu32r#ifu32bru32br_ifu32 br_tableu32Hbr_table_per_entryu32callu324call_indirectu328call_per_localu32$local_getu32$local_setu32$local_teeu32(global_getu32(global_setu328memory_currentu32,memory_growu32i64clzu32i64ctzu32$i64popcntu32i64eqzu324i64extendsi32u324i64extendui32u32(i32wrapi64u32i64equ32i64neu32i64ltsu32i64ltuu32i64gtsu32i64gtuu32i64lesu32i64leuu32i64gesu32i64geuu32i64addu32i64subu32i64mulu32i64divsu32i64divuu32i64remsu32i64remuu32i64andu32i64oru32i64xoru32i64shlu32i64shrsu32i64shruu32i64rotlu32i64rotru32�@pallet_contracts schedule4HostFnWeightsT�caller$Weight,is_contract$Weight$code_hash$Weight4own_code_hash$Weight@caller_is_origin$Weightaddress$Weight gas_left$Weightbalance$WeightDvalue_transferred$Weight<minimum_balance$Weight0block_number$Weightnow$Weight4weight_to_fee$Weightgas$Weightinput$Weight8input_per_byte$Weight r#return$Weight<return_per_byte$Weight$terminate$Weightrandom$Weight4deposit_event$Weight\deposit_event_per_topic$WeightXdeposit_event_per_byte$Weight4debug_message$WeightXdebug_message_per_byte$Weight,set_storage$Weight`set_storage_per_new_byte$Weight`set_storage_per_old_byte$Weight4set_code_hash$Weight4clear_storage$WeightXclear_storage_per_byte$Weight@contains_storage$Weightdcontains_storage_per_byte$Weight,get_storage$WeightPget_storage_per_byte$Weight0take_storage$WeightTtake_storage_per_byte$Weight transfer$Weightcall$Weight4delegate_call$Weight\call_transfer_surcharge$WeightPcall_per_cloned_byte$Weight,instantiate$Weightxinstantiate_transfer_surcharge$Weighthinstantiate_per_input_byte$Weightdinstantiate_per_salt_byte$Weight4hash_sha2_256$WeightXhash_sha2_256_per_byte$Weight<hash_keccak_256$Weight`hash_keccak_256_per_byte$Weight<hash_blake2_256$Weight`hash_blake2_256_per_byte$Weight<hash_blake2_128$Weight`hash_blake2_128_per_byte$Weight4ecdsa_recover$WeightPecdsa_to_eth_address$Weight8sr25519_verify$Weight\sr25519_verify_per_byte$Weight@reentrance_count$Weight`account_reentrance_count$WeightLinstantiation_nonce$Weight�@pallet_contractspalletErrorTlXInvalidScheduleVersionA new schedule must have a greater version than the current one.@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.,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.`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.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.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.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 EThe contract's code was found to be invalid during validation or instrumentation.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 indetermistic code was used in a context where this is not permitted.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�4pallet_assetstypes0AssetDetailsBalance$AccountId8DepositBalance0owner$AccountIdissuer$AccountIdadmin$AccountIdfreezer$AccountIdsupplyBalancedeposit8DepositBalance,min_balanceBalance4is_sufficient�bool accountsu32,sufficientsu32$approvalsu32status�,AssetStatus�4pallet_assetstypes,AssetStatusLiveFrozen(Destroying��4pallet_assetstypes0AssetAccountBalance8DepositBalanceExtra�balanceBalance$is_frozen�boolreason�|ExistenceReason<DepositBalance>extra�Extra�4pallet_assetstypes<ExistenceReasonBalance Consumer(Sufficient,DepositHeldBalance<DepositRefunded��4pallet_assetstypes ApprovalBalance8DepositBalanceamountBalancedeposit8DepositBalance�4pallet_assetstypes4AssetMetadata8DepositBalance4BoundedString�deposit8DepositBalancename�4BoundedStringsymbol�4BoundedString decimalsu8$is_frozen�bool�Lbounded_collections,bounded_vec(BoundedVecTS4Vec<T>�4pallet_assetspalletErrorTIP(BalanceLowAccount balance must be greater than or equal to the transfer amount.$NoAccount�The account to alter does not exist.0NoPermission�The signing account has no permission to do the operation.UnknownxThe given asset ID is unknown.FrozentThe origin account is frozen.InUsexThe asset ID is already taken.(BadWitnesslInvalid witness data given.8MinBalanceZero�Minimum balance should be non-zero.LUnavailableConsumerYUnable to increment the consumer reference counters on the account. Either no providerMreference exists to allow a non-zero balance of a non-self-sufficient asset, or one�fewer then the maximum number of consumers has been reached.,BadMetadata	\Invalid metadata given.(Unapproved
�No approval exists that would allow the transfer. WouldDie5The source account would not survive the transfer and it needs to stay alive.4AlreadyExists�The asset-account already exists.$NoDeposit
�The asset-account doesn't have an associated deposit.$WouldBurn�The operation would result in funds being burned.$LiveAssetYThe asset is a live asset and is actively being used. Usually emit for operations suchas `start_destroy` which require the asset to be in a destroying state.0AssetNotLive�The asset is not live, and likely being destroyed.<IncorrectStatus�The asset status is not the expected status.$NotFrozen�The asset should be frozen before the given operation.8CallbackFailed�Callback action resulted in error�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�(sp_runtimegenericLunchecked_extrinsicHUncheckedExtrinsicAddress!Call$Signature�Extra	4�(sp_runtime8MultiSignatureEd25519�Hed25519::SignatureSr25519�Hsr25519::SignatureEcdsa@ecdsa::Signature�sp_coreed25519$Signature� [u8; 64]�@�sp_coresr25519$Signature� [u8; 64]sp_coreecdsa$Signature [u8; 65]A	 
%)-
0frame_system(extensionsTcheck_non_zero_senderHCheckNonZeroSenderT0frame_system(extensionsHcheck_spec_version@CheckSpecVersionT0frame_system(extensions@check_tx_version8CheckTxVersionT0frame_system(extensions4check_genesis0CheckGenesisT0frame_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::Index)0frame_system(extensions0check_weight,CheckWeightT-hpallet_transaction_payment`ChargeTransactionPaymentT-0BalanceOf<T>1Xcontracts_node_runtimeRuntime(SystemSystem@AccountA�� The full account information for a particular account ID.8ExtrinsicCount� Total extrinsics count for the current block.,BlockWeight � The current weight for the block.@AllExtrinsicsLenA Total length (in bytes) for all extrinsics put together, for the current block.$BlockHash0�� Map of block numbers to block hashes.4ExtrinsicData4= 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`.(ParentHash0�p Hash of the previous block.Digest8� Digest of the current block, also part of the block header.EventsH� 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.,EventTopics0�(% 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.M The value has the type `(T::BlockNumber, 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.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.8ExecutionPhase�� The execution phase of the block.�T0BlockWeights���] J��������������C�.fffffff���>]�����������U��fffffff� J�����������Rjt@��� Block & extrinsics weights: base values and limits.,BlockLength�0<PP� The maximum length of a block (in bytes).8BlockHashCount`	U Maximum number of block number to block hash mappings to keep (oldest pruned first). DbWeight�@@x}��	 The weight of runtime database operations the runtime can invoke.Version��`substrate-contracts-node`substrate-contracts-noded(�j�h�`�7��|���@�:����Ҽ���Џ��'��?EL�<r)�����O[�?7ȻP�����իRpYh�k�"�?�� Get the chain's current version.(SS58Prefix*� 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.`RandomnessCollectiveFlip`RandomnessCollectiveFlip8RandomMaterial	a Series of block headers from the last 81 blocks that acts as random seed material. Thisa is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` ofD the oldest hash.Utility
xLbatched_calls_limit�*� The limit on the number of batched calls.U$Timestamp$TimestampNow, � Current time for the current block.$DidUpdate�� Did the timestamp get updated in this block?4MinimumPeriod, M The minimum period between blocks. Beware that this is different to the *expected*] period that the block production apparatus provides. Your chosen consensus system will] generally work with this to determine a sensible block time. e.g. For Aura, it will be� double this period on default settings. 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.LocksY� Any liquidity locks on some account balances.% NOTE: Should only be accessed when setting, changing and freeing a lock. Reservesi� Named reserves on some account balances.Holdsul Holds on account balances.Freezesu� 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.,MaxReserves
 The maximum number of named reserves that can exist on an account. MaxHolds The maximum number of holds that can exist on an account at any time.(MaxFreezesa The maximum number of individual freeze locks that can exist on an account at any time.�(Authorship(AuthorshipAuthord Author of current block.HTransactionPaymentHTransactionPaymentDNextFeeMultiplier�@d����
8StorageVersion��`OperationalFeeMultiplierTY A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their, `priority`M This value is multipled by the `final_fee` to obtain a "virtual tip" that is later� added to a tip component in regular `priority` calculations.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.SudoSudoKey� The `AccountId` of the sudo key.5��$Contracts$Contracts0PristineCode0�e A mapping from an original code hash to the original code, untouched by instrumentation.,CodeStorage0�e A mapping between an original code hash and instrumented wasm code, ready for execution.,OwnerInfoOf0�
 A mapping between an original code hash and its owner information.Nonce, 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.9�  Schedule�i� @�I
��5	�*o>YO��]����� �v��h����"z&��ID���@����2�&�<�m*��}*�
H�yX�"V���֤Q(�'�P-	��i��J����y�l(*��(.rQ1'	6m�;�il¿�FI0¿2�)z�����#�5"�E�m
��.&a'���m�*���T1(���C�P=	��_�UQjG9))��"�" �<��, �0~: 1	 =�	�5��0���T�UI��	���:rh Cost schedule and limits.8DepositPerByte@@KL 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@���aE Fallback value to limit the storage deposit if it's not being set by the caller.8DepositPerItem@�vH 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.(MaxCodeLen] The maximum length of a contract code in bytes. This limit applies to the instrumentedQ version of the code. Therefore `instantiate_with_code` can fail even when supplying� a wasm binary below this maximum size.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.\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.�AssetsAssetsAsset�T Details of an asset.Account��� The holdings of a specific account for a specific asset.$Approvals��Y Approved balance transfers. First balance is the amount approved for transfer. Second� is the amount of `T::Currency` reserved for storing this.I First key is the asset ID, second key is the owner and third key is the delegate. Metadata�PX Metadata of an asset.E�@RemoveItemsLimit�Q Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.9 Must be configured to result in a weight that makes each call fit in a block.0AssetDeposit@�o�#� The basic amount of funds that must be reserved for an asset.LAssetAccountDeposit@@z�ZE The amount of funds that must be reserved for a non-provider asset account to be0 maintained.LMetadataDepositBase@�Ƥ~�Q The basic amount of funds that must be reserved when adding metadata to your asset.XMetadataDepositPerByte@@z�ZU The additional funds that must be reserved for the number of bytes you store in your( metadata.<ApprovalDeposit@@z�Z! The amount of funds that must be reserved when creating a new approval.,StringLimit2� The maximum length of a name or symbol stored on-chain.�	� HCheckNonZeroSender
�@CheckSpecVersion8CheckTxVersion0CheckGenesis08CheckMortality0(CheckNonce%�,CheckWeight)�`ChargeTransactionPayment-�1