cargo-contract 2.0.0-alpha.1

Setup and deployment tool for developing Wasm based smart contracts via ink!
meta�sp_corecrypto,AccountId32 [u8; 32] 0frame_system,AccountInfoIndex,AccountDatanonceIndex$consumers RefCount$providers RefCount,sufficients RefCountdata,AccountData<pallet_balances,AccountDataBalancefreeBalance reservedBalance,misc_frozenBalance(fee_frozenBalance4frame_supportweights@PerDispatchClassT normal T,operational T$mandatory T $<primitive_typesH256 [u8; 32](,(sp_runtimegenericdigestDigestlogs0<Vec<DigestItem>044(sp_runtimegenericdigest(DigestItem(PreRuntime8DConsensusEngineId(Vec<u8>$Consensus8DConsensusEngineId(Vec<u8>Seal8DConsensusEngineId(Vec<u8>Other(Vec<u8>dRuntimeEnvironmentUpdated8<@@0frame_system,EventRecordEDT$phase�PhaseeventDEtopics�Vec<T>DXcontracts_node_runtimeEventSystemHpframe_system::Event<Runtime> Balancesl|pallet_balances::Event<Runtime>HTransactionPaymentt�pallet_transaction_payment::Event<Runtime>Sudoxlpallet_sudo::Event<Runtime>$Contracts��pallet_contracts::Event<Runtime>H0frame_systempalletEventT@ExtrinsicSuccess4dispatch_infoL0DispatchInfo�An extrinsic completed successfully.<ExtrinsicFailed8dispatch_errorX4DispatchError4dispatch_infoL0DispatchInfoPAn extrinsic failed.,CodeUpdatedP`:code` was updated.(NewAccountaccount0T::AccountIdhA new account was created.4KilledAccountaccount0T::AccountIdXAn account was reaped. Remarkedsender0T::AccountIdhash$T::HashpOn on-chain remark happened.pEvent for the System pallet.L4frame_supportweights0DispatchInfoweight WeightclassP4DispatchClass pays_feeTPaysP4frame_supportweights4DispatchClassNormal,Operational$MandatoryT4frame_supportweightsPaysYesNoX(sp_runtime4DispatchError(Other0CannotLookup$BadOriginModule\,ModuleErrorDConsumerRemaining,NoProviders@TooManyConsumersToken`(TokenError(Arithmeticd<ArithmeticError4TransactionalhHTransactionalError	\(sp_runtime,ModuleErrorindexu8error8�[u8; MAX_MODULE_ERROR_ENCODED_SIZE]`(sp_runtime(TokenErrorNoFunds WouldDie0BelowMinimum0CannotCreate0UnknownAssetFrozen,Unsupportedd(sp_runtime<ArithmeticError$Underflow Overflow8DivisionByZeroh(sp_runtimeHTransactionalError0LimitReachedNoLayerl<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::Balance reserved(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_statuspStatusMSome 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).�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			p4frame_supporttraitstokensmisc4BalanceStatusFree Reservedt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.
			x,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.
			|ResultT�EXOk�ErrX��OptionTNoneSome�@pallet_contractspalletEventT0Instantiated 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_hash$T::Hash�Code with the specified hash has been stored.<ContractEmitted contract0T::AccountId�The contract that emitted the event.data(Vec<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_hash$T::Hash�A code with the specified hash was removed.LContractCodeUpdated contract0T::AccountId�The contract that has been updated.4new_code_hash$T::Hash�New code hash that was set for the contract.4old_code_hash$T::Hash�Previous code hash of the contract.xA contract's code was updated.�
			The [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted
			by this pallet.
			�0frame_systemPhase8ApplyExtrinsicu320Finalization8Initialization�$����0frame_systemXLastRuntimeUpgradeInfo0spec_version�Lcodec::Compact<u32>$spec_name�dsp_runtime::RuntimeString����0frame_systempalletCallT$(fill_blockratio�PerbillA dispatch that will fill the block weight up to the given ratio.remarkremark(Vec<u8>hMake some on-chain remark.(# <weight> - `O(1)`,# </weight>8set_heap_pagespages u64�Set the number of pages in the WebAssembly environment's heap. set_codecode(Vec<u8>0dSet the new runtime code.(# <weight>1- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`E- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is4  expensive).�- 1 storage write (codec `O(C)`).@- 1 digest item.(- 1 event.MThe weight of this function is dependent on the runtime, but generally this is very�expensive. We will treat this as a full block.,# </weight>\set_code_without_checkscode(Vec<u8>$Set the new runtime code without doing any checks of the given `code`.(# <weight>�- `O(C)` where `C` length of `code`�- 1 storage write (codec `O(C)`).@- 1 digest item.(- 1 event.UThe weight of this function is dependent on the runtime. We will treat this as a fullHblock. # </weight>,set_storageitems�4Vec<KeyValue>hSet some items of storage.0kill_storagekeys� Vec<Key>tKill some items from storage.,kill_prefixprefix(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_eventremark(Vec<u8>�Make some on-chain remark and emit event.%Contains one variant per dispatchable that can be called by an extrinsic.�4sp_arithmetic(per_thingsPerbillu32���((�(�0frame_systemlimits0BlockWeights(base_block Weight$max_block Weight$per_class��PerDispatchClass<WeightsPerClass>�4frame_supportweights@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_supportweights@PerDispatchClassTnormalT,operationalT$mandatoryT�4frame_supportweights<RuntimeDbWeightread Weightwrite Weight�(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�(sp_runtimebounded,bounded_vec(BoundedVecT$S�Vec<T>�@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`.(# <weight>1- `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)`.,# </weight>%Contains one variant per dispatchable that can be called by an extrinsic. (sp_runtimebounded@weak_bounded_vec8WeakBoundedVecT	SVec<T>	<pallet_balances,BalanceLockBalanceid�8LockIdentifieramountBalancereasons
Reasons
<pallet_balancesReasonsFeeMiscAll	(sp_runtimebounded,bounded_vec(BoundedVecTSVec<T><pallet_balances,ReserveDataDReserveIdentifier�Balanceid�DReserveIdentifieramountBalance!<pallet_balances ReleasesV1_0_0V2_0_0%<pallet_balancespalletCallTI transferdest)�<T::Lookup as StaticLookup>::Sourcevalue5(T::Balanced�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.(# <weight>a- 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.�---------------------------------- Origin account is already in memory, so no DB operations for them.,# </weight>,set_balancewho)�<T::Lookup as StaticLookup>::Source new_free5(T::Balance0new_reserved5(T::Balance �Set the balances of a given account.This will alter `FreeBalance` and `ReservedBalance` in storage. it will1also alter the total issuance of the system (`TotalIssuance`) appropriately.If the new free or reserved balance is below the existential deposit,�it will reset the account nonce (`frame_system::AccountNonce`).�The dispatch origin for this call is `root`.8force_transfersource)�<T::Lookup as StaticLookup>::Sourcedest)�<T::Lookup as StaticLookup>::Sourcevalue5(T::BalanceMExactly as `transfer`, except the origin must be root and the source account may be(specified.(# <weight>M- Same as transfer, but additional read and write because the source account is not|  assumed to be in the overlay.,# </weight>Ltransfer_keep_alivedest)�<T::Lookup as StaticLookup>::Sourcevalue5(T::BalanceMSame as the [`transfer`] call, but with a check that the transfer will not kill the<origin account.�99% of the time you want [`transfer`] instead.�[`transfer`]: struct.Pallet.html#method.transfer0transfer_alldest)�<T::Lookup as StaticLookup>::Source(keep_alive�boolDTransfer 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). # <weight>9- O(1). Just like transfer, but reading the user's transferable balance first.0  #</weight><force_unreservewho)�<T::Lookup as StaticLookup>::Sourceamount(T::Balance�Unreserve some balance from a user by force.lCan only be called by ROOT.%Contains one variant per dispatchable that can be called by an extrinsic.)(sp_runtime0multiaddress0MultiAddress$AccountId0AccountIndex�Id$AccountIdIndex-0AccountIndexRaw(Vec<u8>$Address32 [u8; 32]$Address201 [u8; 20]-�159<pallet_balancespalletErrorTI 8VestingBalance�Vesting balance too high to send valueTLiquidityRestrictions�Account liquidity restrictions prevent withdrawalLInsufficientBalancetBalance too low to send valueHExistentialDeposit�Value too low to create account due to existential deposit$KeepAlive�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�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			=(sp_runtimebounded,bounded_vec(BoundedVecTASEVec<T>ADpallet_authorship8UncleEntryItem,BlockNumberHash$Author<InclusionHeight,BlockNumberUncle$Hash�8Option<Author>EAIDpallet_authorshippalletCallT(set_uncles(new_unclesM8Vec<T::Header>`Provide a set of uncles.%Contains one variant per dispatchable that can be called by an extrinsic.MQQ(sp_runtimegenericheaderHeaderNumberHashU,parent_hash$0Hash::Outputnumber�Number(state_root$0Hash::Output<extrinsics_root$0Hash::Outputdigest,DigestU(sp_runtimetraits,BlakeTwo256YDpallet_authorshippalletErrorTHInvalidUncleParent�The uncle parent not in the chain.@UnclesAlreadySet�Uncles already set in the block.4TooManyUncles@Too many uncles.0GenesisUncleTThe uncle is genesis.0TooHighUncle|The uncle is too high in chain.PUncleAlreadyIncludedxThe uncle is already included. OldUncle�The uncle isn't recent enough to be included.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			]4sp_arithmetic,fixed_point$FixedU128u128ahpallet_transaction_payment Releases$V1AncientV2e,pallet_sudopalletCallTsudocalli`Box<<T as Config>::Call>(5Authenticates the sudo key and dispatches a function call with `Root` origin.�The dispatch origin for this call must be _Signed_.(# <weight>- O(1).`- Limited storage reads.\- One DB write (event).�- Weight of derivative `call` execution + 10,000.,# </weight>Tsudo_unchecked_weightcalli`Box<<T as Config>::Call>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_.(# <weight>- O(1).�- The weight of this call is defined by the caller.,# </weight>set_keynew)�<T::Lookup as StaticLookup>::Source(]Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudokey.�The dispatch origin for this call must be _Signed_.(# <weight>- O(1).`- Limited storage reads.@- One DB change.,# </weight>sudo_aswho)�<T::Lookup as StaticLookup>::Sourcecalli`Box<<T as Config>::Call>,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_.(# <weight>- O(1).`- Limited storage reads.\- One DB write (event).�- Weight of derivative `call` execution + 10,000.,# </weight>%Contains one variant per dispatchable that can be called by an extrinsic.iXcontracts_node_runtimeCallSystem��self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<System, 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>(AuthorshipI�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Authorship, Runtime>Sudoe�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Sudo, Runtime>$Contractsm�self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch
::CallableCallFor<Contracts, Runtime>m@pallet_contractspalletCallTcalldest)�<T::Lookup as StaticLookup>::Sourcevalue50BalanceOf<T>$gas_limitWeightTstorage_deposit_limitq�Option<<BalanceOf<T> as codec::HasCompact>::Type>data(Vec<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_codevalue50BalanceOf<T>$gas_limitWeightTstorage_deposit_limitq�Option<<BalanceOf<T> as codec::HasCompact>::Type>code(Vec<u8>data(Vec<u8>salt(Vec<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.,instantiatevalue50BalanceOf<T>$gas_limitWeightTstorage_deposit_limitq�Option<<BalanceOf<T> as codec::HasCompact>::Type>$code_hash$,CodeHash<T>data(Vec<u8>salt(Vec<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.,upload_codecode(Vec<u8>Tstorage_deposit_limitq�Option<<BalanceOf<T> as codec::HasCompact>::Type>@�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).# 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_hash$,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)�<T::Lookup as StaticLookup>::Source$code_hash$,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.%Contains one variant per dispatchable that can be called by an extrinsic.qOptionT5NoneSome5u,pallet_sudopalletErrorT,RequireSudo|Sender must be the Sudo accountdError for the Sudo pallety(sp_runtimebounded,bounded_vec(BoundedVecTS(Vec<T>}@pallet_contractswasm@PrefabWasmModuleTlinstruction_weights_version�u32initial�u32maximum�u32code�DRelaxedCodeVec<T>�(sp_runtimebounded,bounded_vec(BoundedVecTS(Vec<T>�@pallet_contractswasm$OwnerInfoTowner8AccountIdOf<T>deposit50BalanceOf<T> refcountu64�@pallet_contractsstorage<RawContractInfo CodeHash$Balancetrie_id�TrieId$code_hash$ CodeHash<storage_depositBalance�(sp_runtimebounded,bounded_vec(BoundedVecTS(Vec<T>�(sp_runtimebounded,bounded_vec(BoundedVecT�S�Vec<T>�@pallet_contractsstorage<DeletedContracttrie_id�TrieId���@pallet_contracts schedule ScheduleTlimits�LimitsLinstruction_weights�TInstructionWeights<T><host_fn_weights�@HostFnWeights<T>�@pallet_contracts scheduleLimits(0event_topicsu320stack_height�,Option<u32>globalsu32(parametersu320memory_pagesu32(table_sizeu324br_table_sizeu32,subject_lenu32(call_depthu32,payload_lenu32�OptionTNoneSome�@pallet_contracts scheduleHInstructionWeightsT�versionu32 i64constu32i64loadu32 i64storeu32selectu32r#ifu32bru32br_ifu32 br_tableu32Hbr_table_per_entryu32callu324call_indirectu32\call_indirect_per_param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 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 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 Weight�@pallet_contractspalletErrorTtXInvalidScheduleVersionA 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.<DuplicateTopics-The topics passed to `seal_deposit_events` contains at least one duplicate.@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.DDeletionQueueFullRemoval of a contract failed because the deletion queue is full.�This can happen when calling `seal_terminate`.MThe queue is filled by deleting contracts and emptied by a fixed amount each block.!Trying again during another block is the only way to resolve this issue.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`.\DebugMessageInvalidUTF8=The debug message specified to `seal_debug_message` does contain invalid UTF-8.@ReentranceDenied
A call tried to invoke a contract that is flagged as non-reentrant.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.QA more detailed error can be found on the node console if debug messages are enabled�or in the debug buffer which is returned to RPC clients.�
			Custom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)
			of this pallet.
			�(sp_runtimegenericLunchecked_extrinsicHUncheckedExtrinsicAddress)Calli$Signature�Extra�(�(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_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::Index�0frame_system(extensions0check_weight,CheckWeightT�hpallet_transaction_payment`ChargeTransactionPaymentT50BalanceOf<T>�Xcontracts_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.$BlockHash$�� Map of block numbers to block hashes.4ExtrinsicData(= 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`.(ParentHash$�p Hash of the previous block.Digest,� Digest of the current block, also part of the block header.Events<� 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.,EventTopics$�(% 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.�H0BlockWeights���ѩ> J����$p��.��>]��$p�7� 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���h�k�"�?�� Get the chain's current version.(SS58Prefix�*� The designated SS85 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.$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.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.Locks� Any liquidity locks on some account balances.% NOTE: Should only be accessed when setting, changing and freeing a lock. Reserves� Named reserves on some account balances.8StorageVersion!| Storage version of the pallet.� This is set to v2.0.0 for new networks.%lHExistentialDeposit@ʚ;� The minimum amount required to keep an account open. 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.9(Authorship(AuthorshipUncles= UnclesAuthord Author of current block.0DidSetUncles�� Whether uncles were already set in this block.I@UncleGenerations� The number of blocks back we should accept uncles.� This means that we will deal with uncle-parents that are� `UncleGenerations + 1` before `now`.YHTransactionPaymentHTransactionPaymentDNextFeeMultiplier]@d����
8StorageVersionat`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.exu$Contracts$Contracts0PristineCode$ye A mapping from an original code hash to the original code, untouched by instrumentation.,CodeStorage$}e A mapping between an original code hash and instrumented wasm code, ready for execution.,OwnerInfoOf$�
 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 itemsY stored in said trie. Therefore this operation is performed lazily in `on_initialize`.m� Schedule��
�  @���rd(�Z�((�@A^l���"6)�
l'��
�
�
J�	
d
�DD������"�0*-R+�,���:00DQ� &����*z(E��l��Hg�����a��̯$�u�hKM'�s[�-kե9�=:8��![!B5�^��m!�͸H	���[
"���%2���ׅ&�O����C�-T(���J���	� �	�%�Iנ�h Cost schedule and limits.HDeletionQueueDepth�<	 The maximum number of contracts that can be pending for deletion.= When a contract is deleted by calling `seal_terminate` it becomes inaccessibleM immediately, but the deletion of the storage items it has accumulated is performed) later. The contract is put into the deletion queue. This defines how many] contracts can be queued up at the same time. If that limit is reached `seal_terminate` will fail. The action must be retried in a later block in that case.� The reasons for limiting the queue depth are:Y 1. The queue is in storage in order to be persistent between blocks. We want to limit� 	the amount of storage that can be consumed.M 2. The queue is stored in a vector and needs to be decoded as a whole when readingE		it at the end of each block. Longer queues take more weight to decode and hence�		limit the amount of items that can be deleted per block.LDeletionWeightLimit  ��>]M The maximum amount of weight that can be consumed per block for lazy trie removal.] The amount of weight that is dedicated per block to work on the deletion queue. LargerE values allow more trie keys to be deleted in each block but reduce the amount ofA weight that is left for transactions. See [`Self::DeletionQueueDepth`] for more� information about the deletion queue.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.PContractAccessWeight  �]HI The weight per byte of code that is charged when loading a contract from storage.1 Currently, FRAME only charges fees for computation incurred but not for PoV= consumption caused for storage access. This is usually not exploitable because9 accessing storage carries some substantial weight costs, too. However in caseU of contract code very much PoV consumption can be caused while consuming very little) computation. This could be used to keep the chain busy without paying the9 proper fee for it. Until this is resolved we charge from the weight meter forD contract access.] For more information check out: <https://github.com/paritytech/substrate/issues/10301>Q [`DefaultContractAccessWeight`] is a safe default to be used for Polkadot or Kusama0 parachains. # NoteE This is only relevant for parachains. Set to zero in case of a standalone chain.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.�� HCheckNonZeroSender��@CheckSpecVersion�8CheckTxVersion�0CheckGenesis�$8CheckMortality�$(CheckNonce��,CheckWeight��`ChargeTransactionPayment���