AcalaNetwork / Acala

Acala - cross-chain DeFi hub and stablecoin based on Substrate for Polkadot and Kusama.
https://acala.network
GNU General Public License v3.0
736 stars 515 forks source link

Release Checklist: 1.3.0 #1326

Closed xlc closed 3 years ago

xlc commented 3 years ago

New Release Details:

✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool v0.9.16 using the docker image paritytech/srtool:1.53.0:
 Package     : karura-runtime v1.3.0
 GIT commit  : f4dfccd47000a32482b656b05143169177be9b78
 GIT tag     : 1.2.2
 GIT branch  : release-karura-1.3.0
 Rustc       : rustc 1.53.0 (53cb7b09b 2021-06-17)
 Time        : 2021-08-15T23:54:31Z

== Compact
 Version     : karura-1007 (karura-0.tx1.au1)
 Metadata    : V13
 Size        : 2.82 MB (2955133 bytes)
 Proposal    : 0xbc57ffa55a21f023a78567dc3316ee288aca61076c3a487a13e8981ed828ec0d
 IPFS        : QmcrbGW1oUKociQW58osLudno8BNdptsgdKZZdiwm4pxLa
 BLAKE2_256  : 0xacf0d4f3ee3784897e6324550a3db41e01abe1134cf744fdade05c9e82d4916e
 Wasm        : runtime/karura/target/srtool/release/wbuild/karura-runtime/karura_runtime.compact.wasm

== Compressed
 Version     : karura-1007 (karura-0.tx1.au1)
 Metadata    : V13
 Size        : 787.18 KB (806068 bytes)
 Compression : 72.73%
 Proposal    : 0x7dc9a6c5ce4dd616462ee4271fb15f094fce476e9aef54cd456739090d98c64a
 IPFS        : QmTL8GynWxLbnKQv7ZiZ38GRhg1n471u6LKFgw7ge6NeNG
 BLAKE2_256  : 0xd5a5637e5bc5e6658c8afdf03a5a20b677c41fb92918e11397d4931c8174049d
 Wasm        : runtime/karura/target/srtool/release/wbuild/karura-runtime/karura_runtime.compact.compressed.wasm
🏋️  Runtime size:       0.769 MB (806,068 bytes)
🗜  Compressed:          Yes, 72.72%
✨ Reserved meta:        OK - [6D, 65, 74, 61]
🎁 Metadata version:     V13
🔥 Core version:     karura-1007 (karura-0.tx1.au1)
🗳️  system.setCode hash:        0x7dc9a6c5ce4dd616462ee4271fb15f094fce476e9aef54cd456739090d98c64a
🗳️  authorizeUpgrade hash:  0x23200f3fd612718907426d624036a809d6695d4ac5d9a9fc611e3d541855600b
#️⃣  Blake2-256 hash:       0xd5a5637e5bc5e6658c8afdf03a5a20b677c41fb92918e11397d4931c8174049d
📦 IPFS hash:            QmTL8GynWxLbnKQv7ZiZ38GRhg1n471u6LKFgw7ge6NeNG (https://www.ipfs.io/ipfs/QmTL8GynWxLbnKQv7ZiZ38GRhg1n471u6LKFgw7ge6NeNG)

Client Release

Runtime Release

All Releases

Post Release

Compatibility Checklist

SDK & Tools

dApps & Wallets

Other

xlc commented 3 years ago
Running subwasm v0.13.2
  🅰️  Chain(OnchainBlock { endpoint: WebSocket("wss://karura-rpc-2.aca-api.network/ws"), block_ref: None })
  🅱️  File("karura-1007.wasm")
  🅰️  0.765 MB (801,924 bytes)
  🅱️  0.769 MB (806,068 bytes)
Checking metadata versions:
  ✅ Both metadata versions are identical: V13
Checking core versions:
  ❌ The 2 core versions are different:
  🅰️  karura-1006 (karura-0.tx1.au1)
  🅱️  karura-1007 (karura-0.tx1.au1)
Checking runtime metadata:
  ❌  The metadata are different
Comparing V13 with V13
🛠  modules.0.constants.4.value.                       "186B6172757261186B617275726101000000EE0300000000000034DF6ACB689907609B0300000037E397FC7C91F5E40100000040FE3AD401F8959A05000000D2BC9897EED08F1503000000F78B278BE53F454C02000000DD718D5CC53262D401000000AB3C0572291FEB8B01000000BC9D89904F5B923F0100000037C8BB1350A9A2A8010000006EF953004BA30E5901000000F485C9145D3F0AAD01000000E3DF3F2AA8A5CC5701000000EA93E3F16F3D69620100000001000000" --> "186B6172757261186B617275726101000000EF0300000000000034DF6ACB689907609B0300000037E397FC7C91F5E40100000040FE3AD401F8959A05000000D2BC9897EED08F1503000000F78B278BE53F454C02000000DD718D5CC53262D401000000AB3C0572291FEB8B01000000BC9D89904F5B923F0100000037C8BB1350A9A2A8010000006EF953004BA30E5901000000F485C9145D3F0AAD01000000E3DF3F2AA8A5CC5701000000EA93E3F16F3D69620100000001000000"
🛠  modules.7.constants.                                                 "" --> [{"documentation":"","name":"MaxLocks","ty":"u32","value":"32000000"}]
🛠  modules.10.constants.1.value.                      "0C080081008008008200800800830080" --> "0C0C00810082008008008200800800830080"
🛠  modules.10.constants.3.name.                       "MaxSlippageSwapWithDEX" --> "MaxSwapSlippageCompareToOracle"
🛠  modules.10.constants.3.value.                      "0000C16FF28623000000000000000000" --> "00004F8C34E814020000000000000000"
🛠  modules.17.constants.5.value.                                "E0930400" --> "50F80C00"
🛠  modules.38.constants.0.value.                                "302A0000" --> "40380000"
🛠  modules.38.constants.1.value.                                "40380000" --> "A08C0000"
🛠  modules.38.constants.2.value.                                "40380000" --> "A08C0000"
🛠  modules.38.constants.3.value.                      "0080C6A47E8D03000000000000000000" --> "00407A10F35A00000000000000000000"
🛠  modules.44.errors.                                                   "" --> [{"documentation":[" Failed to access price"],"name":"AccessPriceFailed"},{"documentation":[" There's no locked price"],"name":"NoLockedPrice"}]
🛠  modules.45.errors.11.name.                         "ExceedPriceImpactLimit" --> "InsufficientLiquidity"
🛠  modules.45.errors.12.name.                         "InsufficientLiquidity" --> "ZeroSupplyAmount"
🛠  modules.45.errors.13.name.                           "ZeroSupplyAmount" --> "ZeroTargetAmount"
🛠  modules.45.errors.14.name.                           "ZeroTargetAmount" --> "UnacceptableShareIncrement"
🛠  modules.45.errors.15.name.                         "UnacceptableShareIncrement" --> "UnacceptableLiquidityWithdrawn"
🛠  modules.45.errors.16.name.                         "UnacceptableLiquidityWithdrawn" --> "InvariantCheckFailed"
🛠  modules.45.errors.17.name.                         "InvariantCheckFailed" --> "UnqualifiedProvision"
🛠  modules.45.errors.18.name.                         "UnqualifiedProvision" --> "StillProvisioning"
🗑  modules.45.errors.19.                              {"documentation":[" Trading pair is still provisioning"],"name":"StillProvisioning"}
🛠  modules.46.constants.4.value.                        "FEFFFFFFFFFFFFFF" --> "3333333333333333"
🛠  modules.48.calls.1.arguments.1.name.                       "maybe_path" --> "max_collateral_amount"
🛠  modules.48.calls.1.arguments.1.ty.                 "Option<Vec<CurrencyId>>" --> "Balance"
🛠  modules.50.constants.6.name.                       "MaxSlippageSwapWithDEX" --> "MaxSwapSlippageCompareToOracle"
🛠  modules.50.constants.6.value.                      "0000C16FF28623000000000000000000" --> "00004F8C34E814020000000000000000"
🛠  modules.50.constants.7.value.                        "FFFFFFFFFFFFFFFF" --> "FFFFFFFFFFFFFF7F"
🛠  modules.50.errors.4.name.                                    "IsUnsafe" --> "MustBeSafe"
🛠  modules.52.calls.0.arguments.0.name.                   "lp_currency_id" --> "amount"
🛠  modules.52.calls.0.arguments.0.ty.                         "CurrencyId" --> "Balance"
🛠  modules.52.calls.0.arguments.1.name.                           "amount" --> "xcm_dest_weight"
🛠  modules.52.calls.0.arguments.1.ty.                            "Balance" --> "Weight"
🛠  modules.52.calls.0.name.                            "deposit_dex_share" --> "mint"
🛠  modules.52.calls.1.arguments.0.name.                   "lp_currency_id" --> "staking_total"
🛠  modules.52.calls.1.arguments.0.ty.                         "CurrencyId" --> "Balance"
🗑  modules.52.calls.1.arguments.1.                    {"name":"amount","ty":"Balance"}
🛠  modules.52.calls.1.name.                           "withdraw_dex_share" --> "set_total_staking_currency"
🛠  modules.52.calls.2.arguments.0.name.                          "pool_id" --> "new_cap"
🛠  modules.52.calls.2.arguments.0.ty.                 "PoolId<T::RelaychainAccountId>" --> "Balance"
🛠  modules.52.calls.2.name.                                "claim_rewards" --> "set_minting_cap"
🗑  modules.52.calls.3.                                {"arguments":[{"name":"updates","ty":"Vec<(PoolId<T::RelaychainAccountId>, Balance)>"}],"documentation":"","name":"update_incentive_rewards"}
🗑  modules.52.calls.4.                                {"arguments":[{"name":"updates","ty":"Vec<(PoolId<T::RelaychainAccountId>, Rate)>"}],"documentation":"","name":"update_dex_saving_rewards"}
🗑  modules.52.calls.5.                                {"arguments":[{"name":"updates","ty":"Vec<(PoolId<T::RelaychainAccountId>, Rate)>"}],"documentation":"","name":"update_payout_deduction_rates"}
🗑  modules.52.calls.6.                                {"arguments":[{"name":"pool_id","ty":"PoolId<T::RelaychainAccountId>"},{"name":"amount","ty":"Balance"}],"documentation":"","name":"add_allowance"}
🛠  modules.52.constants.0.name.                         "AccumulatePeriod" --> "StakingCurrencyId"
🛠  modules.52.constants.0.ty.                             "T::BlockNumber" --> "CurrencyId"
🛠  modules.52.constants.0.value.                                "05000000" --> "0082"
🛠  modules.52.constants.1.name.                         "NativeCurrencyId" --> "LiquidCurrencyId"
🛠  modules.52.constants.1.value.                                    "0080" --> "0083"
🛠  modules.52.constants.2.name.                         "StableCurrencyId" --> "MinimumMintThreshold"
🛠  modules.52.constants.2.ty.                                 "CurrencyId" --> "Balance"
🛠  modules.52.constants.2.value.                                    "0081" --> "00E87648170000000000000000000000"
🛠  modules.52.constants.3.name.                         "LiquidCurrencyId" --> "SovereignSubAccountLocation"
🛠  modules.52.constants.3.ty.                                 "CurrencyId" --> "MultiLocation"
🛠  modules.52.constants.3.value.                                    "0083" --> "0200020000465D6AB005C2FD8C4E0BF22A60FE3CE5FF035072EC74679F4BABB4C6F00833"
🛠  modules.52.constants.4.name.                       "NativeRewardsSource" --> "DefaultExchangeRate"
🛠  modules.52.constants.4.ty.                               "T::AccountId" --> "ExchangeRate"
🛠  modules.52.constants.4.value.                      "6D6F646C6163612F75726C730000000000000000000000000000000000000000" --> "00008A5D784563010000000000000000"
🛠  modules.52.constants.5.name.                                 "PalletId" --> "MaxRewardPerEra"
🛠  modules.52.constants.5.ty.                                   "PalletId" --> "Permill"
🛠  modules.52.constants.5.value.                        "6163612F696E6374" --> "F4010000"
🛠  modules.52.errors.0.name.                                   "NotEnough" --> "InvalidTotalStakingCurrency"
🛠  modules.52.errors.1.name.                           "InvalidCurrencyId" --> "MintAmountBelowMinimumThreshold"
🛠  modules.52.errors.2.name.                               "InvalidPoolId" --> "ExceededStakingCurrencyMintCap"
🛠  modules.52.errors.3.name.                                 "InvalidRate" --> "XcmTransferFailed"
🛠  modules.52.event.0.arguments.1.                            "CurrencyId" --> "Balance"
🛠  modules.52.event.0.name.                              "DepositDexShare" --> "Minted"
🛠  modules.52.event.1.arguments.0.                             "AccountId" --> "Balance"
🗑  modules.52.event.1.arguments.1.                            "CurrencyId"
🗑  modules.52.event.1.arguments.2.                               "Balance"
🛠  modules.52.event.1.name.                             "WithdrawDexShare" --> "TotalStakingCurrencySet"
🛠  modules.52.event.2.arguments.0.                             "AccountId" --> "Balance"
🗑  modules.52.event.2.arguments.1.                                "PoolId"
🗑  modules.52.event.2.arguments.2.                            "CurrencyId"
🗑  modules.52.event.2.arguments.3.                               "Balance"
🗑  modules.52.event.2.arguments.4.                               "Balance"
🛠  modules.52.event.2.name.                                "PayoutRewards" --> "StakingCurrencyMintCapUpdated"
🗑  modules.52.event.3.                                {"arguments":["PoolId","Balance"],"documentation":[" Incentive reward amount updated. \\[pool_id, reward_amount_per_period\\]"],"name":"IncentiveRewardAmountUpdated"}
🗑  modules.52.event.4.                                {"arguments":["PoolId","Rate"],"documentation":[" Saving reward rate updated. \\[pool_id, reward_rate_per_period\\]"],"name":"SavingRewardRateUpdated"}
🗑  modules.52.event.5.                                {"arguments":["PoolId","Rate"],"documentation":[" Payout deduction rate updated. \\[pool_id, deduction_rate\\]"],"name":"PayoutDeductionRateUpdated"}
🛠  modules.52.index.                                                   120 --> 115
🛠  modules.52.name.                                           "Incentives" --> "HomaLite"
🛠  modules.52.storage.entries.0.name.                 "IncentiveRewardAmount" --> "TotalStakingCurrency"
🗑  modules.52.storage.entries.0.ty.Map.               {"hasher":"Twox64Concat","key":"PoolId<T::RelaychainAccountId>","unused":false,"value":"Balance"}
🛠  modules.52.storage.entries.1.name.                 "DexSavingRewardRate" --> "StakingCurrencyMintCap"
🗑  modules.52.storage.entries.1.ty.Map.               {"hasher":"Twox64Concat","key":"PoolId<T::RelaychainAccountId>","unused":false,"value":"Rate"}
🗑  modules.52.storage.entries.2.                      {"default":"00000000000000000000000000000000","documentation":[" Mapping from pool to its payout deduction rate.",""," PayoutDeductionRates: map PoolId => Rate"],"modifier":"Default","name":"PayoutDeductionRates","ty":{"Map":{"hasher":"Twox64Concat","key":"PoolId<T::RelaychainAccountId>","unused":false,"value":"Rate"}}}
🛠  modules.52.storage.prefix.                                 "Incentives" --> "HomaLite"
🛠  modules.53.calls.0.arguments.0.name.                         "metadata" --> "lp_currency_id"
🛠  modules.53.calls.0.arguments.0.ty.                                "CID" --> "CurrencyId"
🛠  modules.53.calls.0.arguments.1.name.                       "properties" --> "amount"
🛠  modules.53.calls.0.arguments.1.ty.                         "Properties" --> "Balance"
🗑  modules.53.calls.0.arguments.2.                    {"name":"attributes","ty":"Attributes"}
🛠  modules.53.calls.0.name.                                 "create_class" --> "deposit_dex_share"
🛠  modules.53.calls.1.arguments.0.name.                               "to" --> "lp_currency_id"
🛠  modules.53.calls.1.arguments.0.ty.                 "<T::Lookup as StaticLookup>::Source" --> "CurrencyId"
🛠  modules.53.calls.1.arguments.1.name.                         "class_id" --> "amount"
🛠  modules.53.calls.1.arguments.1.ty.                       "ClassIdOf<T>" --> "Balance"
🗑  modules.53.calls.1.arguments.2.                    {"name":"metadata","ty":"CID"}
🗑  modules.53.calls.1.arguments.3.                    {"name":"attributes","ty":"Attributes"}
🗑  modules.53.calls.1.arguments.4.                    {"name":"quantity","ty":"u32"}
🛠  modules.53.calls.1.name.                                         "mint" --> "withdraw_dex_share"
🛠  modules.53.calls.2.arguments.0.name.                               "to" --> "pool_id"
🛠  modules.53.calls.2.arguments.0.ty.                 "<T::Lookup as StaticLookup>::Source" --> "PoolId<T::RelaychainAccountId>"
🗑  modules.53.calls.2.arguments.1.                    {"name":"token","ty":"(ClassIdOf<T>, TokenIdOf<T>)"}
🛠  modules.53.calls.2.name.                                     "transfer" --> "claim_rewards"
🛠  modules.53.calls.3.arguments.0.name.                            "token" --> "updates"
🛠  modules.53.calls.3.arguments.0.ty.                 "(ClassIdOf<T>, TokenIdOf<T>)" --> "Vec<(PoolId<T::RelaychainAccountId>, Balance)>"
🛠  modules.53.calls.3.name.                                         "burn" --> "update_incentive_rewards"
🛠  modules.53.calls.4.arguments.0.name.                            "token" --> "updates"
🛠  modules.53.calls.4.arguments.0.ty.                 "(ClassIdOf<T>, TokenIdOf<T>)" --> "Vec<(PoolId<T::RelaychainAccountId>, Rate)>"
🗑  modules.53.calls.4.arguments.1.                    {"name":"remark","ty":"Vec<u8>"}
🛠  modules.53.calls.4.name.                             "burn_with_remark" --> "update_dex_saving_rewards"
🛠  modules.53.calls.5.arguments.0.name.                         "class_id" --> "updates"
🛠  modules.53.calls.5.arguments.0.ty.                       "ClassIdOf<T>" --> "Vec<(PoolId<T::RelaychainAccountId>, Rate)>"
🗑  modules.53.calls.5.arguments.1.                    {"name":"dest","ty":"<T::Lookup as StaticLookup>::Source"}
🛠  modules.53.calls.5.name.                                "destroy_class" --> "update_payout_deduction_rates"
🛠  modules.53.calls.6.arguments.0.name.                         "class_id" --> "pool_id"
🛠  modules.53.calls.6.arguments.0.ty.                       "ClassIdOf<T>" --> "PoolId<T::RelaychainAccountId>"
🛠  modules.53.calls.6.arguments.1.name.                       "properties" --> "amount"
🛠  modules.53.calls.6.arguments.1.ty.                         "Properties" --> "Balance"
🛠  modules.53.calls.6.name.                           "update_class_properties" --> "add_allowance"
🛠  modules.53.constants.0.name.                       "CreateClassDeposit" --> "AccumulatePeriod"
🛠  modules.53.constants.0.ty.                               "BalanceOf<T>" --> "T::BlockNumber"
🛠  modules.53.constants.0.value.                      "0040E59C301200000000000000000000" --> "05000000"
🛠  modules.53.constants.1.name.                       "CreateTokenDeposit" --> "NativeCurrencyId"
🛠  modules.53.constants.1.ty.                               "BalanceOf<T>" --> "CurrencyId"
🛠  modules.53.constants.1.value.                      "00204AA9D10100000000000000000000" --> "0080"
🛠  modules.53.constants.2.name.                       "DataDepositPerByte" --> "StableCurrencyId"
🛠  modules.53.constants.2.ty.                               "BalanceOf<T>" --> "CurrencyId"
🛠  modules.53.constants.2.value.                      "00A3E111000000000000000000000000" --> "0081"
🛠  modules.53.constants.3.name.                                 "PalletId" --> "LiquidCurrencyId"
🛠  modules.53.constants.3.ty.                                   "PalletId" --> "CurrencyId"
🛠  modules.53.constants.3.value.                        "6163612F614E4654" --> "0083"
🛠  modules.53.constants.4.name.                       "MaxAttributesBytes" --> "NativeRewardsSource"
🛠  modules.53.constants.4.ty.                                        "u32" --> "T::AccountId"
🛠  modules.53.constants.4.value.                                "00080000" --> "6D6F646C6163612F75726C730000000000000000000000000000000000000000"
🛠  modules.53.errors.0.name.                             "ClassIdNotFound" --> "NotEnough"
🛠  modules.53.errors.1.name.                             "TokenIdNotFound" --> "InvalidCurrencyId"
🛠  modules.53.errors.2.name.                                "NoPermission" --> "InvalidPoolId"
🛠  modules.53.errors.3.name.                             "InvalidQuantity" --> "InvalidRate"
🗑  modules.53.errors.4.                               {"documentation":[" Property of class don't support transfer"],"name":"NonTransferable"}
🗑  modules.53.errors.5.                               {"documentation":[" Property of class don't support burn"],"name":"NonBurnable"}
🗑  modules.53.errors.6.                               {"documentation":[" Property of class don't support mint"],"name":"NonMintable"}
🗑  modules.53.errors.7.                               {"documentation":[" Can not destroy class"," Total issuance is not 0"],"name":"CannotDestroyClass"}
🗑  modules.53.errors.8.                               {"documentation":[" Cannot perform mutable action"],"name":"Immutable"}
🗑  modules.53.errors.9.                               {"documentation":[" Attributes too large"],"name":"AttributesTooLarge"}
🛠  modules.53.event.0.arguments.1.                               "ClassId" --> "CurrencyId"
🛠  modules.53.event.0.name.                                 "CreatedClass" --> "DepositDexShare"
🛠  modules.53.event.1.arguments.1.                             "AccountId" --> "CurrencyId"
🛠  modules.53.event.1.arguments.2.                               "ClassId" --> "Balance"
🗑  modules.53.event.1.arguments.3.                                   "u32"
🛠  modules.53.event.1.name.                                  "MintedToken" --> "WithdrawDexShare"
🛠  modules.53.event.2.arguments.1.                             "AccountId" --> "PoolId"
🛠  modules.53.event.2.arguments.2.                               "ClassId" --> "CurrencyId"
🛠  modules.53.event.2.arguments.3.                               "TokenId" --> "Balance"
🛠  modules.53.event.2.name.                             "TransferredToken" --> "ClaimRewards"
🛠  modules.53.event.3.arguments.0.                             "AccountId" --> "PoolId"
🛠  modules.53.event.3.arguments.1.                               "ClassId" --> "Balance"
🗑  modules.53.event.3.arguments.2.                               "TokenId"
🛠  modules.53.event.3.name.                                  "BurnedToken" --> "IncentiveRewardAmountUpdated"
🛠  modules.53.event.4.arguments.0.                             "AccountId" --> "PoolId"
🛠  modules.53.event.4.arguments.1.                               "ClassId" --> "Rate"
🗑  modules.53.event.4.arguments.2.                               "TokenId"
🗑  modules.53.event.4.arguments.3.                                  "Hash"
🛠  modules.53.event.4.name.                           "BurnedTokenWithRemark" --> "SavingRewardRateUpdated"
🛠  modules.53.event.5.arguments.0.                             "AccountId" --> "PoolId"
🛠  modules.53.event.5.arguments.1.                               "ClassId" --> "Rate"
🛠  modules.53.event.5.name.                               "DestroyedClass" --> "PayoutDeductionRateUpdated"
🛠  modules.53.index.                                                   121 --> 120
🛠  modules.53.name.                                                  "NFT" --> "Incentives"
🛠  modules.53.storage.                                                null --> {"entries":[{"default":"00000000000000000000000000000000","documentation":[" Mapping from pool to its fixed reward amount per period.",""," IncentiveRewardAmount: map PoolId => Balance"],"modifier":"Default","name":"IncentiveRewardAmount","ty":{"Map":{"hasher":"Twox64Concat","key":"PoolId<T::RelaychainAccountId>","unused":false,"value":"Balance"}}},{"default":"00000000000000000000000000000000","documentation":[" Mapping from pool to its fixed reward rate per period.",""," DexSavingRewardRate: map PoolId => Rate"],"modifier":"Default","name":"DexSavingRewardRate","ty":{"Map":{"hasher":"Twox64Concat","key":"PoolId<T::RelaychainAccountId>","unused":false,"value":"Rate"}}},{"default":"00000000000000000000000000000000","documentation":[" Mapping from pool to its payout deduction rate.",""," PayoutDeductionRates: map PoolId => Rate"],"modifier":"Default","name":"PayoutDeductionRates","ty":{"Map":{"hasher":"Twox64Concat","key":"PoolId<T::RelaychainAccountId>","unused":false,"value":"Rate"}}},{"default":"00000000000000000000000000000000","documentation":[" The pending rewards amount, actual available rewards amount may be deducted",""," PendingRewards: double_map PoolId, AccountId => Balance"],"modifier":"Default","name":"PendingRewards","ty":{"DoubleMap":{"hasher":"Twox64Concat","key1":"PoolId<T::RelaychainAccountId>","key2":"T::AccountId","key2_hasher":"Twox64Concat","value":"Balance"}}}],"prefix":"Incentives"}
🛠  modules.54.calls.0.arguments.0.name.                           "target" --> "metadata"
🛠  modules.54.calls.0.arguments.0.ty.                         "EvmAddress" --> "CID"
🛠  modules.54.calls.0.arguments.1.name.                            "input" --> "properties"
🛠  modules.54.calls.0.arguments.1.ty.                            "Vec<u8>" --> "Properties"
🛠  modules.54.calls.0.arguments.2.name.                            "value" --> "attributes"
🛠  modules.54.calls.0.arguments.2.ty.                       "BalanceOf<T>" --> "Attributes"
🗑  modules.54.calls.0.arguments.3.                    {"name":"gas_limit","ty":"u64"}
🗑  modules.54.calls.0.arguments.4.                    {"name":"storage_limit","ty":"u32"}
🛠  modules.54.calls.0.name.                                         "call" --> "create_class"
🛠  modules.54.calls.1.arguments.0.name.                             "from" --> "to"
🛠  modules.54.calls.1.arguments.0.ty.                         "EvmAddress" --> "<T::Lookup as StaticLookup>::Source"
🛠  modules.54.calls.1.arguments.1.name.                           "target" --> "class_id"
🛠  modules.54.calls.1.arguments.1.ty.                         "EvmAddress" --> "ClassIdOf<T>"
🛠  modules.54.calls.1.arguments.2.name.                            "input" --> "metadata"
🛠  modules.54.calls.1.arguments.2.ty.                            "Vec<u8>" --> "CID"
🛠  modules.54.calls.1.arguments.3.name.                            "value" --> "attributes"
🛠  modules.54.calls.1.arguments.3.ty.                       "BalanceOf<T>" --> "Attributes"
🛠  modules.54.calls.1.arguments.4.name.                        "gas_limit" --> "quantity"
🛠  modules.54.calls.1.arguments.4.ty.                                "u64" --> "u32"
🗑  modules.54.calls.1.arguments.5.                    {"name":"storage_limit","ty":"u32"}
🛠  modules.54.calls.1.name.                               "scheduled_call" --> "mint"
🛠  modules.54.calls.2.arguments.0.name.                             "init" --> "to"
🛠  modules.54.calls.2.arguments.0.ty.                            "Vec<u8>" --> "<T::Lookup as StaticLookup>::Source"
🛠  modules.54.calls.2.arguments.1.name.                            "value" --> "token"
🛠  modules.54.calls.2.arguments.1.ty.                       "BalanceOf<T>" --> "(ClassIdOf<T>, TokenIdOf<T>)"
🗑  modules.54.calls.2.arguments.2.                    {"name":"gas_limit","ty":"u64"}
🗑  modules.54.calls.2.arguments.3.                    {"name":"storage_limit","ty":"u32"}
🛠  modules.54.calls.2.name.                                       "create" --> "transfer"
🛠  modules.54.calls.3.arguments.0.name.                             "init" --> "token"
🛠  modules.54.calls.3.arguments.0.ty.                            "Vec<u8>" --> "(ClassIdOf<T>, TokenIdOf<T>)"
🗑  modules.54.calls.3.arguments.1.                    {"name":"salt","ty":"H256"}
🗑  modules.54.calls.3.arguments.2.                    {"name":"value","ty":"BalanceOf<T>"}
🗑  modules.54.calls.3.arguments.3.                    {"name":"gas_limit","ty":"u64"}
🗑  modules.54.calls.3.arguments.4.                    {"name":"storage_limit","ty":"u32"}
🛠  modules.54.calls.3.name.                                      "create2" --> "burn"
🛠  modules.54.calls.4.arguments.0.name.                             "init" --> "token"
🛠  modules.54.calls.4.arguments.0.ty.                            "Vec<u8>" --> "(ClassIdOf<T>, TokenIdOf<T>)"
🛠  modules.54.calls.4.arguments.1.name.                            "value" --> "remark"
🛠  modules.54.calls.4.arguments.1.ty.                       "BalanceOf<T>" --> "Vec<u8>"
🗑  modules.54.calls.4.arguments.2.                    {"name":"gas_limit","ty":"u64"}
🗑  modules.54.calls.4.arguments.3.                    {"name":"storage_limit","ty":"u32"}
🛠  modules.54.calls.4.name.                           "create_network_contract" --> "burn_with_remark"
🛠  modules.54.calls.5.arguments.0.name.                         "contract" --> "class_id"
🛠  modules.54.calls.5.arguments.0.ty.                         "EvmAddress" --> "ClassIdOf<T>"
🛠  modules.54.calls.5.arguments.1.name.                   "new_maintainer" --> "dest"
🛠  modules.54.calls.5.arguments.1.ty.                         "EvmAddress" --> "<T::Lookup as StaticLookup>::Source"
🛠  modules.54.calls.5.name.                           "transfer_maintainer" --> "destroy_class"
🛠  modules.54.calls.6.arguments.0.name.                         "contract" --> "class_id"
🛠  modules.54.calls.6.arguments.0.ty.                         "EvmAddress" --> "ClassIdOf<T>"
🛠  modules.54.calls.6.name.                                       "deploy" --> "update_class_properties"
🗑  modules.54.calls.7.                                {"arguments":[{"name":"contract","ty":"EvmAddress"}],"documentation":[" Mark a given contract as deployed without paying the deployment fee",""," - `contract`: The contract to mark as deployed, the caller must be the contract's","   maintainer."],"name":"deploy_free"}
🗑  modules.54.calls.8.                                {"arguments":"","documentation":[" Mark the caller's address to allow contract development."," This allows the address to interact with non-deployed contracts."],"name":"enable_contract_development"}
🗑  modules.54.calls.9.                                {"arguments":"","documentation":[" Mark the caller's address to disable contract development."," This disallows the address to interact with non-deployed contracts."],"name":"disable_contract_development"}
🗑  modules.54.calls.10.                               {"arguments":[{"name":"contract","ty":"EvmAddress"},{"name":"code","ty":"Vec<u8>"}],"documentation":[" Set the code of a contract at a given address.",""," - `contract`: The contract whose code is being set, must not be marked as deployed"," - `code`: The new ABI bundle for the contract"],"name":"set_code"}
🗑  modules.54.calls.11.                               {"arguments":[{"name":"contract","ty":"EvmAddress"}],"documentation":[" Remove a contract at a given address.",""," - `contract`: The contract to remove, must not be marked as deployed"],"name":"selfdestruct"}
🛠  modules.54.constants.0.name.                       "NewContractExtraBytes" --> "CreateClassDeposit"
🛠  modules.54.constants.0.ty.                                        "u32" --> "BalanceOf<T>"
🛠  modules.54.constants.0.value.                                "10270000" --> "00203D88792D00000000000000000000"
🛠  modules.54.constants.1.name.                       "StorageDepositPerByte" --> "CreateTokenDeposit"
🛠  modules.54.constants.1.value.                      "00A3E111000000000000000000000000" --> "00D0ED902E0000000000000000000000"
🛠  modules.54.constants.2.name.                              "MaxCodeSize" --> "DataDepositPerByte"
🛠  modules.54.constants.2.ty.                                        "u32" --> "BalanceOf<T>"
🛠  modules.54.constants.2.value.                                "00600000" --> "00A3E111000000000000000000000000"
🛠  modules.54.constants.3.name.                                  "ChainId" --> "PalletId"
🛠  modules.54.constants.3.ty.                                        "u64" --> "PalletId"
🛠  modules.54.constants.3.value.                        "AE02000000000000" --> "6163612F614E4654"
🛠  modules.54.constants.4.name.                       "NetworkContractSource" --> "MaxAttributesBytes"
🛠  modules.54.constants.4.ty.                                 "EvmAddress" --> "u32"
🛠  modules.54.constants.4.value.                      "0000000000000000000000000000000000000000" --> "00080000"
🗑  modules.54.constants.5.                            {"documentation":[" Deposit for the developer."],"name":"DeveloperDeposit","ty":"BalanceOf<T>","value":"00407A10F35A00000000000000000000"}
🗑  modules.54.constants.6.                            {"documentation":[" The fee for deploying the contract."],"name":"DeploymentFee","ty":"BalanceOf<T>","value":"0000C16FF28623000000000000000000"}
🗑  modules.54.constants.7.                            {"documentation":"","name":"TreasuryAccount","ty":"T::AccountId","value":"6D6F646C6163612F747273790000000000000000000000000000000000000000"}
🛠  modules.54.errors.0.name.                            "AddressNotMapped" --> "ClassIdNotFound"
🛠  modules.54.errors.1.name.                            "ContractNotFound" --> "TokenIdNotFound"
🛠  modules.54.errors.3.name.                               "NumOutOfBound" --> "InvalidQuantity"
🛠  modules.54.errors.4.name.                          "StorageExceedsStorageLimit" --> "NonTransferable"
🛠  modules.54.errors.5.name.                          "ContractDevelopmentNotEnabled" --> "NonBurnable"
🛠  modules.54.errors.6.name.                          "ContractDevelopmentAlreadyEnabled" --> "NonMintable"
🛠  modules.54.errors.7.name.                          "ContractAlreadyDeployed" --> "CannotDestroyClass"
🛠  modules.54.errors.8.name.                          "ContractExceedsMaxCodeSize" --> "Immutable"
🛠  modules.54.errors.9.name.                                "OutOfStorage" --> "AttributesTooLarge"
🗑  modules.54.errors.10.                              {"documentation":[" Charge fee failed"],"name":"ChargeFeeFailed"}
🗑  modules.54.errors.11.                              {"documentation":[" Contract cannot be killed due to reference count"],"name":"CannotKillContract"}
🗑  modules.54.errors.12.                              {"documentation":[" Contract address conflicts with the system contract"],"name":"ConflictContractAddress"}
🛠  modules.54.event.0.arguments.0.                                   "Log" --> "AccountId"
🛠  modules.54.event.0.name.                                          "Log" --> "CreatedClass"
🛠  modules.54.event.1.arguments.0.                            "EvmAddress" --> "AccountId"
🛠  modules.54.event.1.name.                                      "Created" --> "MintedToken"
🛠  modules.54.event.2.arguments.0.                            "EvmAddress" --> "AccountId"
🛠  modules.54.event.2.arguments.1.                            "ExitReason" --> "AccountId"
🛠  modules.54.event.2.arguments.2.                               "Vec<u8>" --> "ClassId"
🛠  modules.54.event.2.name.                                "CreatedFailed" --> "TransferredToken"
🛠  modules.54.event.3.arguments.0.                            "EvmAddress" --> "AccountId"
🛠  modules.54.event.3.name.                                     "Executed" --> "BurnedToken"
🛠  modules.54.event.4.arguments.0.                            "EvmAddress" --> "AccountId"
🛠  modules.54.event.4.arguments.1.                            "ExitReason" --> "ClassId"
🛠  modules.54.event.4.arguments.2.                               "Vec<u8>" --> "TokenId"
🛠  modules.54.event.4.name.                               "ExecutedFailed" --> "BurnedTokenWithRemark"
🛠  modules.54.event.5.arguments.1.                            "EvmAddress" --> "ClassId"
🗑  modules.54.event.5.arguments.2.                                  "U256"
🛠  modules.54.event.5.name.                               "BalanceDeposit" --> "DestroyedClass"
🗑  modules.54.event.6.                                {"arguments":["AccountId","EvmAddress","U256"],"documentation":[" A withdrawal has been made from a given address. \\[sender, address,"," value\\]"],"name":"BalanceWithdraw"}
🗑  modules.54.event.7.                                {"arguments":["EvmAddress","u32"],"documentation":[" A quota has been added at a given address. \\[address, bytes\\]"],"name":"AddStorageQuota"}
🗑  modules.54.event.8.                                {"arguments":["EvmAddress","u32"],"documentation":[" A quota has been removed at a given address. \\[address, bytes\\]"],"name":"RemoveStorageQuota"}
🗑  modules.54.event.9.                                {"arguments":["EvmAddress","EvmAddress"],"documentation":[" Transferred maintainer. \\[contract, address\\]"],"name":"TransferredMaintainer"}
🗑  modules.54.event.10.                               {"arguments":["EvmAddress","EvmAddress"],"documentation":[" Canceled the transfer maintainer. \\[contract, address\\]"],"name":"CanceledTransferMaintainer"}
🗑  modules.54.event.11.                               {"arguments":["EvmAddress","EvmAddress"],"documentation":[" Confirmed the transfer maintainer. \\[contract, address\\]"],"name":"ConfirmedTransferMaintainer"}
🗑  modules.54.event.12.                               {"arguments":["EvmAddress","EvmAddress"],"documentation":[" Rejected the transfer maintainer. \\[contract, address\\]"],"name":"RejectedTransferMaintainer"}
🗑  modules.54.event.13.                               {"arguments":["AccountId"],"documentation":[" Enabled contract development. \\[who\\]"],"name":"ContractDevelopmentEnabled"}
🗑  modules.54.event.14.                               {"arguments":["AccountId"],"documentation":[" Disabled contract development. \\[who\\]"],"name":"ContractDevelopmentDisabled"}
🗑  modules.54.event.15.                               {"arguments":["EvmAddress"],"documentation":[" Deployed contract. \\[contract\\]"],"name":"ContractDeployed"}
🗑  modules.54.event.16.                               {"arguments":["EvmAddress"],"documentation":[" Set contract code. \\[contract\\]"],"name":"ContractSetCode"}
🗑  modules.54.event.17.                               {"arguments":["EvmAddress"],"documentation":[" Selfdestructed contract code. \\[contract\\]"],"name":"ContractSelfdestructed"}
🛠  modules.54.index.                                                   130 --> 121
🛠  modules.54.name.                                                  "EVM" --> "NFT"
🛠  modules.54.storage.                                {"entries":[{"default":"00","documentation":[" The EVM accounts info.",""," Accounts: map EvmAddress => Option<AccountInfo<T>>"],"modifier":"Optional","name":"Accounts","ty":{"Map":{"hasher":"Twox64Concat","key":"EvmAddress","unused":false,"value":"AccountInfo<T>"}}},{"default":"00000000","documentation":[" The storage usage for contracts. Including code size, extra bytes and total AccountStorages"," size.",""," Accounts: map EvmAddress => u32"],"modifier":"Default","name":"ContractStorageSizes","ty":{"Map":{"hasher":"Twox64Concat","key":"EvmAddress","unused":false,"value":"u32"}}},{"default":"0000000000000000000000000000000000000000000000000000000000000000","documentation":[" The storages for EVM contracts.",""," AccountStorages: double_map EvmAddress, H256 => H256"],"modifier":"Default","name":"AccountStorages","ty":{"DoubleMap":{"hasher":"Twox64Concat","key1":"EvmAddress","key2":"H256","key2_hasher":"Blake2_128Concat","value":"H256"}}},{"default":"00","documentation":[" The code for EVM contracts."," Key is Keccak256 hash of code.",""," Codes: H256 => Vec<u8>"],"modifier":"Default","name":"Codes","ty":{"Map":{"hasher":"Identity","key":"H256","unused":false,"value":"BoundedVec<u8, T::MaxCodeSize>"}}},{"default":"00","documentation":[" The code info for EVM contracts."," Key is Keccak256 hash of code.",""," CodeInfos: H256 => Option<CodeInfo>"],"modifier":"Optional","name":"CodeInfos","ty":{"Map":{"hasher":"Identity","key":"H256","unused":false,"value":"CodeInfo"}}},{"default":"0000000000000000","documentation":[" Next available system contract address.",""," NetworkContractIndex: u64"],"modifier":"Default","name":"NetworkContractIndex","ty":{"Plain":"u64"}},{"default":"00","documentation":[" Extrinsics origin for the current transaction.",""," ExtrinsicOrigin: Option<AccountId>"],"modifier":"Optional","name":"ExtrinsicOrigin","ty":{"Plain":"T::AccountId"}}],"prefix":"EVM"} --> null
🛠  modules.55.calls.                                                  null --> [{"arguments":[{"name":"target","ty":"EvmAddress"},{"name":"input","ty":"Vec<u8>"},{"name":"value","ty":"BalanceOf<T>"},{"name":"gas_limit","ty":"u64"},{"name":"storage_limit","ty":"u32"}],"documentation":[" Issue an EVM call operation. This is similar to a message call"," transaction in Ethereum.",""," - `target`: the contract address to call"," - `input`: the data supplied for the call"," - `value`: the amount sent for payable calls"," - `gas_limit`: the maximum gas the call can use"," - `storage_limit`: the total bytes the contract's storage can increase by"],"name":"call"},{"arguments":[{"name":"from","ty":"EvmAddress"},{"name":"target","ty":"EvmAddress"},{"name":"input","ty":"Vec<u8>"},{"name":"value","ty":"BalanceOf<T>"},{"name":"gas_limit","ty":"u64"},{"name":"storage_limit","ty":"u32"}],"documentation":[" Issue an EVM call operation on a scheduled contract call, and"," refund the unused gas reserved when the call was scheduled.",""," - `from`: the address the scheduled call originates from"," - `target`: the contract address to call"," - `input`: the data supplied for the call"," - `value`: the amount sent for payable calls"," - `gas_limit`: the maximum gas the call can use"," - `storage_limit`: the total bytes the contract's storage can increase by"],"name":"scheduled_call"},{"arguments":[{"name":"init","ty":"Vec<u8>"},{"name":"value","ty":"BalanceOf<T>"},{"name":"gas_limit","ty":"u64"},{"name":"storage_limit","ty":"u32"}],"documentation":[" Issue an EVM create operation. This is similar to a contract"," creation transaction in Ethereum.",""," - `init`: the data supplied for the contract's constructor"," - `value`: the amount sent to the contract upon creation"," - `gas_limit`: the maximum gas the call can use"," - `storage_limit`: the total bytes the contract's storage can increase by"],"name":"create"},{"arguments":[{"name":"init","ty":"Vec<u8>"},{"name":"salt","ty":"H256"},{"name":"value","ty":"BalanceOf<T>"},{"name":"gas_limit","ty":"u64"},{"name":"storage_limit","ty":"u32"}],"documentation":[" Issue an EVM create2 operation.",""," - `target`: the contract address to call"," - `init`: the data supplied for the contract's constructor"," - `salt`: used for generating the new contract's address"," - `value`: the amount sent for payable calls"," - `gas_limit`: the maximum gas the call can use"," - `storage_limit`: the total bytes the contract's storage can increase by"],"name":"create2"},{"arguments":[{"name":"init","ty":"Vec<u8>"},{"name":"value","ty":"BalanceOf<T>"},{"name":"gas_limit","ty":"u64"},{"name":"storage_limit","ty":"u32"}],"documentation":[" Issue an EVM create operation. The next available system contract"," address will be used as created contract address.",""," - `init`: the data supplied for the contract's constructor"," - `value`: the amount sent for payable calls"," - `gas_limit`: the maximum gas the call can use"," - `storage_limit`: the total bytes the contract's storage can increase by"],"name":"create_network_contract"},{"arguments":[{"name":"contract","ty":"EvmAddress"},{"name":"new_maintainer","ty":"EvmAddress"}],"documentation":[" Transfers Contract maintainership to a new EVM Address.",""," - `contract`: the contract whose maintainership is being transferred, the caller must be","   the contract's maintainer"," - `new_maintainer`: the address of the new maintainer"],"name":"transfer_maintainer"},{"arguments":[{"name":"contract","ty":"EvmAddress"}],"documentation":[" Mark a given contract as deployed.",""," - `contract`: The contract to mark as deployed, the caller must the contract's","   maintainer"],"name":"deploy"},{"arguments":[{"name":"contract","ty":"EvmAddress"}],"documentation":[" Mark a given contract as deployed without paying the deployment fee",""," - `contract`: The contract to mark as deployed, the caller must be the contract's","   maintainer."],"name":"deploy_free"},{"arguments":"","documentation":[" Mark the caller's address to allow contract development."," This allows the address to interact with non-deployed contracts."],"name":"enable_contract_development"},{"arguments":"","documentation":[" Mark the caller's address to disable contract development."," This disallows the address to interact with non-deployed contracts."],"name":"disable_contract_development"},{"arguments":[{"name":"contract","ty":"EvmAddress"},{"name":"code","ty":"Vec<u8>"}],"documentation":[" Set the code of a contract at a given address.",""," - `contract`: The contract whose code is being set, must not be marked as deployed"," - `code`: The new ABI bundle for the contract"],"name":"set_code"},{"arguments":[{"name":"contract","ty":"EvmAddress"}],"documentation":[" Remove a contract at a given address.",""," - `contract`: The contract to remove, must not be marked as deployed"],"name":"selfdestruct"}]
🛠  modules.55.constants.                                                "" --> [{"documentation":[" Charge extra bytes for creating a contract, would be reserved until"," the contract deleted."],"name":"NewContractExtraBytes","ty":"u32","value":"10270000"},{"documentation":[" Storage required for per byte."],"name":"StorageDepositPerByte","ty":"BalanceOf<T>","value":"00A3E111000000000000000000000000"},{"documentation":[" Contract max code size."],"name":"MaxCodeSize","ty":"u32","value":"00600000"},{"documentation":[" Chain ID of EVM."],"name":"ChainId","ty":"u64","value":"AE02000000000000"},{"documentation":[" The EVM address for creating system contract."],"name":"NetworkContractSource","ty":"EvmAddress","value":"0000000000000000000000000000000000000000"},{"documentation":[" Deposit for the developer."],"name":"DeveloperDeposit","ty":"BalanceOf<T>","value":"00407A10F35A00000000000000000000"},{"documentation":[" The fee for deploying the contract."],"name":"DeploymentFee","ty":"BalanceOf<T>","value":"0000C16FF28623000000000000000000"},{"documentation":"","name":"TreasuryAccount","ty":"T::AccountId","value":"6D6F646C6163612F747273790000000000000000000000000000000000000000"}]
🛠  modules.55.errors.0.name.                               "ExecutionFail" --> "AddressNotMapped"
🛠  modules.55.errors.1.name.                             "ExecutionRevert" --> "ContractNotFound"
🛠  modules.55.errors.2.name.                              "ExecutionFatal" --> "NoPermission"
🛠  modules.55.errors.3.name.                              "ExecutionError" --> "NumOutOfBound"
🛠  modules.55.errors.4.name.                          "InvalidReturnValue" --> "StorageExceedsStorageLimit"
🛠  modules.55.event.                                                  null --> [{"arguments":["Log"],"documentation":[" Ethereum events from contracts."],"name":"Log"},{"arguments":["EvmAddress"],"documentation":[" A contract has been created at given \\[address\\]."],"name":"Created"},{"arguments":["EvmAddress","ExitReason","Vec<u8>"],"documentation":[" A contract was attempted to be created, but the execution failed."," \\[contract, exit_reason, output\\]"],"name":"CreatedFailed"},{"arguments":["EvmAddress"],"documentation":[" A \\[contract\\] has been executed successfully with states applied."],"name":"Executed"},{"arguments":["EvmAddress","ExitReason","Vec<u8>"],"documentation":[" A contract has been executed with errors. States are reverted with"," only gas fees applied. \\[contract, exit_reason, output\\]"],"name":"ExecutedFailed"},{"arguments":["AccountId","EvmAddress","U256"],"documentation":[" A deposit has been made at a given address. \\[sender, address,"," value\\]"],"name":"BalanceDeposit"},{"arguments":["AccountId","EvmAddress","U256"],"documentation":[" A withdrawal has been made from a given address. \\[sender, address,"," value\\]"],"name":"BalanceWithdraw"},{"arguments":["EvmAddress","u32"],"documentation":[" A quota has been added at a given address. \\[address, bytes\\]"],"name":"AddStorageQuota"},{"arguments":["EvmAddress","u32"],"documentation":[" A quota has been removed at a given address. \\[address, bytes\\]"],"name":"RemoveStorageQuota"},{"arguments":["EvmAddress","EvmAddress"],"documentation":[" Transferred maintainer. \\[contract, address\\]"],"name":"TransferredMaintainer"},{"arguments":["EvmAddress","EvmAddress"],"documentation":[" Canceled the transfer maintainer. \\[contract, address\\]"],"name":"CanceledTransferMaintainer"},{"arguments":["EvmAddress","EvmAddress"],"documentation":[" Confirmed the transfer maintainer. \\[contract, address\\]"],"name":"ConfirmedTransferMaintainer"},{"arguments":["EvmAddress","EvmAddress"],"documentation":[" Rejected the transfer maintainer. \\[contract, address\\]"],"name":"RejectedTransferMaintainer"},{"arguments":["AccountId"],"documentation":[" Enabled contract development. \\[who\\]"],"name":"ContractDevelopmentEnabled"},{"arguments":["AccountId"],"documentation":[" Disabled contract development. \\[who\\]"],"name":"ContractDevelopmentDisabled"},{"arguments":["EvmAddress"],"documentation":[" Deployed contract. \\[contract\\]"],"name":"ContractDeployed"},{"arguments":["EvmAddress"],"documentation":[" Set contract code. \\[contract\\]"],"name":"ContractSetCode"},{"arguments":["EvmAddress"],"documentation":[" Selfdestructed contract code. \\[contract\\]"],"name":"ContractSelfdestructed"}]
🛠  modules.55.index.                                                   131 --> 130
🛠  modules.55.name.                                            "EVMBridge" --> "EVM"
🛠  modules.55.storage.                                                null --> {"entries":[{"default":"00","documentation":[" The EVM accounts info.",""," Accounts: map EvmAddress => Option<AccountInfo<T>>"],"modifier":"Optional","name":"Accounts","ty":{"Map":{"hasher":"Twox64Concat","key":"EvmAddress","unused":false,"value":"AccountInfo<T>"}}},{"default":"00000000","documentation":[" The storage usage for contracts. Including code size, extra bytes and total AccountStorages"," size.",""," Accounts: map EvmAddress => u32"],"modifier":"Default","name":"ContractStorageSizes","ty":{"Map":{"hasher":"Twox64Concat","key":"EvmAddress","unused":false,"value":"u32"}}},{"default":"0000000000000000000000000000000000000000000000000000000000000000","documentation":[" The storages for EVM contracts.",""," AccountStorages: double_map EvmAddress, H256 => H256"],"modifier":"Default","name":"AccountStorages","ty":{"DoubleMap":{"hasher":"Twox64Concat","key1":"EvmAddress","key2":"H256","key2_hasher":"Blake2_128Concat","value":"H256"}}},{"default":"00","documentation":[" The code for EVM contracts."," Key is Keccak256 hash of code.",""," Codes: H256 => Vec<u8>"],"modifier":"Default","name":"Codes","ty":{"Map":{"hasher":"Identity","key":"H256","unused":false,"value":"BoundedVec<u8, T::MaxCodeSize>"}}},{"default":"00","documentation":[" The code info for EVM contracts."," Key is Keccak256 hash of code.",""," CodeInfos: H256 => Option<CodeInfo>"],"modifier":"Optional","name":"CodeInfos","ty":{"Map":{"hasher":"Identity","key":"H256","unused":false,"value":"CodeInfo"}}},{"default":"0000000000000000","documentation":[" Next available system contract address.",""," NetworkContractIndex: u64"],"modifier":"Default","name":"NetworkContractIndex","ty":{"Plain":"u64"}},{"default":"00","documentation":[" Extrinsics origin for the current transaction.",""," ExtrinsicOrigin: Option<AccountId>"],"modifier":"Optional","name":"ExtrinsicOrigin","ty":{"Plain":"T::AccountId"}}],"prefix":"EVM"}
🛠  modules.56.calls.                                  [{"arguments":[{"name":"eth_address","ty":"EvmAddress"},{"name":"eth_signature","ty":"EcdsaSignature"}],"documentation":[" Claim account mapping between Substrate accounts and EVM accounts."," Ensure eth_address has not been mapped.",""," - `eth_address`: The address to bind to the caller's account"," - `eth_signature`: A signature generated by the address to prove ownership"],"name":"claim_account"},{"arguments":"","documentation":[" Claim account mapping between Substrate accounts and a generated EVM"," address based off of those accounts."," Ensure eth_address has not been mapped"],"name":"claim_default_account"}] --> null
🛠  modules.56.errors.0.name.                          "AccountIdHasMapped" --> "ExecutionFail"
🛠  modules.56.errors.1.name.                          "EthAddressHasMapped" --> "ExecutionRevert"
🛠  modules.56.errors.2.name.                                "BadSignature" --> "ExecutionFatal"
🛠  modules.56.errors.3.name.                            "InvalidSignature" --> "ExecutionError"
🛠  modules.56.errors.4.name.                             "NonZeroRefCount" --> "InvalidReturnValue"
🛠  modules.56.event.                                  [{"arguments":["AccountId","EvmAddress"],"documentation":[" Mapping between Substrate accounts and EVM accounts"," claim account. \\[account_id, evm_address\\]"],"name":"ClaimAccount"}] --> null
🛠  modules.56.index.                                                   132 --> 131
🛠  modules.56.name.                                          "EvmAccounts" --> "EVMBridge"
🛠  modules.56.storage.                                {"entries":[{"default":"00","documentation":[" The Substrate Account for EvmAddresses",""," Accounts: map EvmAddress => Option<AccountId>"],"modifier":"Optional","name":"Accounts","ty":{"Map":{"hasher":"Twox64Concat","key":"EvmAddress","unused":false,"value":"T::AccountId"}}},{"default":"00","documentation":[" The EvmAddress for Substrate Accounts",""," EvmAddresses: map AccountId => Option<EvmAddress>"],"modifier":"Optional","name":"EvmAddresses","ty":{"Map":{"hasher":"Twox64Concat","key":"T::AccountId","unused":false,"value":"EvmAddress"}}}],"prefix":"EvmAccounts"} --> null
🛠  modules.57.calls.                                                  null --> [{"arguments":[{"name":"eth_address","ty":"EvmAddress"},{"name":"eth_signature","ty":"EcdsaSignature"}],"documentation":[" Claim account mapping between Substrate accounts and EVM accounts."," Ensure eth_address has not been mapped.",""," - `eth_address`: The address to bind to the caller's account"," - `eth_signature`: A signature generated by the address to prove ownership"],"name":"claim_account"},{"arguments":"","documentation":[" Claim account mapping between Substrate accounts and a generated EVM"," address based off of those accounts."," Ensure eth_address has not been mapped"],"name":"claim_default_account"}]
🛠  modules.57.errors.0.name.                           "CurrencyIdExisted" --> "AccountIdHasMapped"
🛠  modules.57.event.                                                  null --> [{"arguments":["AccountId","EvmAddress"],"documentation":[" Mapping between Substrate accounts and EVM accounts"," claim account. \\[account_id, evm_address\\]"],"name":"ClaimAccount"}]
🛠  modules.57.index.                                                   133 --> 132
🛠  modules.57.name.                                           "EvmManager" --> "EvmAccounts"
🛠  modules.57.storage.entries.0.name.                      "CurrencyIdMap" --> "Accounts"
🛠  modules.57.storage.entries.0.ty.Map.key.                          "u32" --> "EvmAddress"
🛠  modules.57.storage.entries.0.ty.Map.value.                  "Erc20Info" --> "T::AccountId"
🛠  modules.57.storage.prefix.                                 "EvmManager" --> "EvmAccounts"
🛠  modules.58.calls.                                  [{"arguments":[{"name":"call","ty":"Box<<T as Config>::Call>"}],"documentation":[" Authenticates 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>"],"name":"sudo"},{"arguments":[{"name":"call","ty":"Box<<T as Config>::Call>"},{"name":"_weight","ty":"Weight"}],"documentation":[" Authenticates the sudo key and dispatches a function call with `Root` origin."," This function does not check the weight of the call, and instead allows the"," Sudo user to specify the weight of the call.",""," The dispatch origin for this call must be _Signed_.",""," # <weight>"," - O(1)."," - The weight of this call is defined by the caller."," # </weight>"],"name":"sudo_unchecked_weight"},{"arguments":[{"name":"new","ty":"<T::Lookup as StaticLookup>::Source"}],"documentation":[" Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key.",""," The dispatch origin for this call must be _Signed_.",""," # <weight>"," - O(1)."," - Limited storage reads."," - One DB change."," # </weight>"],"name":"set_key"},{"arguments":[{"name":"who","ty":"<T::Lookup as StaticLookup>::Source"},{"name":"call","ty":"Box<<T as Config>::Call>"}],"documentation":[" Authenticates the sudo key and dispatches a function call with `Signed` origin from"," a given account.",""," The dispatch origin for this call must be _Signed_.",""," # <weight>"," - O(1)."," - Limited storage reads."," - One DB write (event)."," - Weight of derivative `call` execution + 10,000."," # </weight>"],"name":"sudo_as"}] --> null
🛠  modules.58.errors.0.name.                                 "RequireSudo" --> "CurrencyIdExisted"
🛠  modules.58.event.                                  [{"arguments":["DispatchResult"],"documentation":[" A sudo just took place. \\[result\\]"],"name":"Sudid"},{"arguments":["AccountId"],"documentation":[" The \\[sudoer\\] just switched identity; the old key is supplied."],"name":"KeyChanged"},{"arguments":["DispatchResult"],"documentation":[" A sudo just took place. \\[result\\]"],"name":"SudoAsDone"}] --> null
🛠  modules.58.index.                                                   255 --> 133
🛠  modules.58.name.                                                 "Sudo" --> "EvmManager"
🛠  modules.58.storage.entries.0.default.              "0000000000000000000000000000000000000000000000000000000000000000" --> "00"
🛠  modules.58.storage.entries.0.modifier.                        "Default" --> "Optional"
🛠  modules.58.storage.entries.0.name.                                "Key" --> "CurrencyIdMap"
🗑  modules.58.storage.entries.0.ty.Plain.                   "T::AccountId"
🛠  modules.58.storage.prefix.                                       "Sudo" --> "EvmManager"
Changes:
- unmodified    = 28.81% (208)
- added     =  5.40% (39)
- modified  = 52.35% (378)
- removed   = 13.43% (97)
Skipped:
- documentation =   148
- bytes     =     0