Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Checklist: 1.4.3 #1432

Closed
7 of 34 tasks
xlc opened this issue Sep 26, 2021 · 1 comment
Closed
7 of 34 tasks

Release Checklist: 1.4.3 #1432

xlc opened this issue Sep 26, 2021 · 1 comment
Assignees

Comments

@xlc
Copy link
Member

xlc commented Sep 26, 2021

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.4.3
 GIT commit  : 8e00ac60aec37d900c9106136e4fab9edca56cf3
 GIT tag     : 1.4.2
 GIT branch  : master
 Rustc       : rustc 1.53.0 (53cb7b09b 2021-06-17)
 Time        : 2021-09-27T05:00:37Z

== Compact
 Version     : karura-1011 (karura-0.tx1.au1)
 Metadata    : V13
 Size        : 2.94 MB (3077646 bytes)
 Proposal    : 0xe4e275a075b3b2885625d1d2cfb22f5b607aa921e9be4152a8f6ac7c1b72fd57
 IPFS        : QmYar2TnjBYFGy2CfCRkWb7UxALaNB5WospKVR7X8HQ1tP
 BLAKE2_256  : 0x509f432c4c94b162fde28d5670992eee8684407ea96715b6768a7228dac175bb
 Wasm        : runtime/karura/target/srtool/release/wbuild/karura-runtime/karura_runtime.compact.wasm

== Compressed
 Version     : karura-1011 (karura-0.tx1.au1)
 Metadata    : V13
 Size        : 824.46 KB (844242 bytes)
 Compression : 72.57%
 Proposal    : 0x0918f974fb90c3d1454be055a9f138d375bfcb965fa2ddd7b69677b08cf39d8c
 IPFS        : QmNVhncQ1aCvZhMSYR1dtMT2NNuLXm4C323fALiPHcbgy4
 BLAKE2_256  : 0xb3b3c05df889115452d3129e76a2f67f538f3c77e2b7cb284a810293678366aa
 Wasm        : runtime/karura/target/srtool/release/wbuild/karura-runtime/karura_runtime.compact.compressed.wasm
  • subwasm info
🏋️  Runtime size:		0.805 MB (844,242 bytes)
🗜  Compressed:			Yes, 72.57%
✨ Reserved meta:		OK - [6D, 65, 74, 61]
🎁 Metadata version:		V13
🔥 Core version:		karura-1011 (karura-0.tx1.au1)
🗳️  system.setCode hash:		0x0918f974fb90c3d1454be055a9f138d375bfcb965fa2ddd7b69677b08cf39d8c
🗳️  authorizeUpgrade hash:	0xa23c4e035cbaa17b6e11c742f1028982220aa2166ec0139e11c79a32dd611f87
#️⃣  Blake2-256 hash:		0xb3b3c05df889115452d3129e76a2f67f538f3c77e2b7cb284a810293678366aa
📦 IPFS:			https://www.ipfs.io/ipfs/QmNVhncQ1aCvZhMSYR1dtMT2NNuLXm4C323fALiPHcbgy4

Runtime Release

  • Verify spec_version has been incremented since the last release.
    • Current version: 1010
    • Last version: 1011
  • Verify completed migrations are removed from any public networks.
  • Review subwasm diff
    • subwasm diff wss://karura-rpc-2.aca-api.network/ws karura_runtime.compact.compressed.wasm
  • Verify extrinsic ordering has stayed the same. Bump transaction_version if not.
    • ORML
    • Substrate
    • Cumulus
    • Polkadot
    • Acala
  • Verify new extrinsics have been correctly whitelisted/blacklisted for proxy filters.
  • Verify benchmarks & weights have been updated for any modified runtime logics.
  • Verify we included all the necessary migrations.
    • ORML
    • Substrate
    • Cumulus
    • Polkadot
    • Acala
  • Verify new migrations complete successfully and the runtime state is correctly updated for any public networks.
    • Verify the execution time to perform runtime upgrade with Karura/Acala onchain data.
  • Ensure WASM is reproducible
    • make srtool-build-wasm-karura

All Releases

  • Check new Github release is created with release logs.

Post Release

  • Notify Discord announcement channel.
  • Ensure our own nodes are updated

Compatibility Checklist

SDK & Tools

  • acala.js
  • txwrapper
  • sidecar
  • acala-subql
  • oracle dispatcher

dApps & Wallets

  • polkadot apps
  • Acala dApp
  • Polkawallet

Other

  • Exchanges
  • Gauntlet
  • Faucet (for Mandala)
@xlc
Copy link
Member Author

xlc commented Sep 27, 2021

Running subwasm v0.14.0
  🅰️  Chain(OnchainBlock { endpoint: WebSocket("wss://karura-rpc-2.aca-api.network/ws"), block_ref: None })
  🅱️  File("karura_runtime.compact.compressed.wasm")
  🅰️  0.791 MB (829,044 bytes)
  🅱️  0.805 MB (844,242 bytes)
Checking metadata versions:
  ✅ Both metadata versions are identical: V13
Checking core versions:
  ❌ The 2 core versions are different:
  🅰️  karura-1010 (karura-0.tx1.au1)
  🅱️  karura-1011 (karura-0.tx1.au1)
Checking runtime metadata:
  ❌  The metadata are different
Comparing V13 with V13
🛠  modules.0.constants.4.value.                       "186B6172757261186B617275726101000000F20300000000000034DF6ACB689907609B0300000037E397FC7C91F5E40100000040FE3AD401F8959A05000000D2BC9897EED08F1503000000F78B278BE53F454C02000000DD718D5CC53262D401000000AB3C0572291FEB8B01000000BC9D89904F5B923F0100000037C8BB1350A9A2A8010000006EF953004BA30E5901000000F485C9145D3F0AAD01000000E3DF3F2AA8A5CC5701000000EA93E3F16F3D69620100000001000000" --> "186B6172757261186B617275726101000000F30300000000000034DF6ACB689907609B0300000037E397FC7C91F5E40100000040FE3AD401F8959A05000000D2BC9897EED08F1503000000F78B278BE53F454C02000000DD718D5CC53262D401000000AB3C0572291FEB8B01000000BC9D89904F5B923F0100000037C8BB1350A9A2A8010000006EF953004BA30E5901000000F485C9145D3F0AAD01000000E3DF3F2AA8A5CC5701000000EA93E3F16F3D69620100000001000000"
🛠  modules.43.storage.entries.0.default.                          "000000" --> "0000000000000000000000000000000000"
🛠  modules.43.storage.entries.0.name.                              "Pools" --> "PoolInfos"
🛠  modules.43.storage.entries.0.ty.Map.key.                  "T::PoolIdV0" --> "T::PoolId"
🛠  modules.43.storage.entries.0.ty.Map.value.         "PoolInfoV0<T::Share, T::Balance>" --> "PoolInfo<T::Share, T::Balance, T::CurrencyId>"
🛠  modules.43.storage.entries.1.name.                          "PoolInfos" --> "SharesAndWithdrawnRewards"
🗑  modules.43.storage.entries.1.ty.Map.               {"hasher":"Twox64Concat","key":"T::PoolId","unused":false,"value":"PoolInfo<T::Share, T::Balance, T::CurrencyId>"}
🗑  modules.43.storage.entries.2.                      {"default":"0000000000000000000000000000000000000000000000000000000000000000","documentation":[" Record share amount and withdrawn reward amount for specific `AccountId`"," under `PoolId`."," NOTE: remove it after migration"],"modifier":"Default","name":"ShareAndWithdrawnReward","ty":{"DoubleMap":{"hasher":"Twox64Concat","key1":"T::PoolIdV0","key2":"T::AccountId","key2_hasher":"Twox64Concat","value":"(T::Share, T::Balance)"}}}
🗑  modules.43.storage.entries.3.                      {"default":"0000000000000000000000000000000000","documentation":[" Record share amount, reward currency and withdrawn reward amount for"," specific `AccountId` under `PoolId`.",""," double_map (PoolId, AccountId) => (Share, BTreeMap<CurrencyId, Balance>)"],"modifier":"Default","name":"SharesAndWithdrawnRewards","ty":{"DoubleMap":{"hasher":"Twox64Concat","key1":"T::PoolId","key2":"T::AccountId","key2_hasher":"Twox64Concat","value":"(T::Share, BTreeMap<T::CurrencyId, T::Balance>)"}}}
🗑  modules.54.calls.6.                                {"arguments":[{"name":"count","ty":"u32"}],"documentation":"","name":"migrate_share_and_withdrawn_reward"}
🗑  modules.54.calls.7.                                {"arguments":[{"name":"count","ty":"u32"}],"documentation":"","name":"migrate_pending_rewards"}
🛠  modules.54.constants.1.name.                         "NativeCurrencyId" --> "StableCurrencyId"
🛠  modules.54.constants.1.value.                                    "0080" --> "0081"
🛠  modules.54.constants.2.name.                         "StableCurrencyId" --> "RewardsSource"
🛠  modules.54.constants.2.ty.                                 "CurrencyId" --> "T::AccountId"
🛠  modules.54.constants.2.value.                                    "0081" --> "6D6F646C6163612F75726C730000000000000000000000000000000000000000"
🛠  modules.54.constants.3.name.                         "LiquidCurrencyId" --> "PalletId"
🛠  modules.54.constants.3.ty.                                 "CurrencyId" --> "PalletId"
🛠  modules.54.constants.3.value.                                    "0083" --> "6163612F696E6374"
🗑  modules.54.constants.4.                            {"documentation":[" The source account for native token rewards."],"name":"RewardsSource","ty":"T::AccountId","value":"6D6F646C6163612F75726C730000000000000000000000000000000000000000"}
🗑  modules.54.constants.5.                            {"documentation":[" The module id, keep DexShare LP."],"name":"PalletId","ty":"PalletId","value":"6163612F696E6374"}
🛠  modules.54.storage.entries.0.name.                 "IncentiveRewardAmount" --> "IncentiveRewardAmounts"
🗑  modules.54.storage.entries.0.ty.Map.               {"hasher":"Twox64Concat","key":"PoolIdV0<T::RelaychainAccountId>","unused":false,"value":"Balance"}
🛠  modules.54.storage.entries.1.name.                 "DexSavingRewardRate" --> "DexSavingRewardRates"
🛠  modules.54.storage.entries.1.ty.Map.key.           "PoolIdV0<T::RelaychainAccountId>" --> "PoolId"
🛠  modules.54.storage.entries.2.name.                 "PayoutDeductionRates" --> "ClaimRewardDeductionRates"
🛠  modules.54.storage.entries.2.ty.Map.key.           "PoolIdV0<T::RelaychainAccountId>" --> "PoolId"
🛠  modules.54.storage.entries.3.default.              "00000000000000000000000000000000" --> "00"
🛠  modules.54.storage.entries.3.name.                     "PendingRewards" --> "PendingMultiRewards"
🛠  modules.54.storage.entries.3.ty.DoubleMap.key1.    "PoolIdV0<T::RelaychainAccountId>" --> "PoolId"
🛠  modules.54.storage.entries.3.ty.DoubleMap.value.              "Balance" --> "BTreeMap<CurrencyId, Balance>"
🗑  modules.54.storage.entries.4.                      {"default":"00000000000000000000000000000000","documentation":[" Mapping from pool to its fixed incentive amounts of multi currencies per period.",""," IncentiveRewardAmounts: double_map Pool, RewardCurrencyId => RewardAmountPerPeriod"," NOTE: need migrate from old `IncentiveRewardAmount`"],"modifier":"Default","name":"IncentiveRewardAmounts","ty":{"DoubleMap":{"hasher":"Twox64Concat","key1":"PoolId","key2":"CurrencyId","key2_hasher":"Twox64Concat","value":"Balance"}}}
🗑  modules.54.storage.entries.5.                      {"default":"00000000000000000000000000000000","documentation":[" Mapping from pool to its fixed reward rate per period.",""," DexSavingRewardRates: map Pool => SavingRatePerPeriod"," NOTE: need migrate from old `DexSavingRewardRate`"],"modifier":"Default","name":"DexSavingRewardRates","ty":{"Map":{"hasher":"Twox64Concat","key":"PoolId","unused":false,"value":"Rate"}}}
🗑  modules.54.storage.entries.6.                      {"default":"00000000000000000000000000000000","documentation":[" Mapping from pool to its claim reward deduction rate.",""," ClaimRewardDeductionRates: map Pool => DeductionRate"],"modifier":"Default","name":"ClaimRewardDeductionRates","ty":{"Map":{"hasher":"Twox64Concat","key":"PoolId","unused":false,"value":"Rate"}}}
🗑  modules.54.storage.entries.7.                      {"default":"00","documentation":[" The pending rewards amount, actual available rewards amount may be deducted",""," PendingMultiRewards: double_map PoolId, AccountId => BTreeMap<CurrencyId, Balance>"],"modifier":"Default","name":"PendingMultiRewards","ty":{"DoubleMap":{"hasher":"Twox64Concat","key1":"PoolId","key2":"T::AccountId","key2_hasher":"Twox64Concat","value":"BTreeMap<CurrencyId, Balance>"}}}
🛠  modules.56.calls.0.arguments.0.name.                           "target" --> "action"
🛠  modules.56.calls.0.arguments.0.ty.                         "EvmAddress" --> "TransactionAction"
🛠  modules.56.calls.0.name.                                         "call" --> "eth_call"
🛠  modules.56.calls.1.arguments.0.name.                             "from" --> "target"
🛠  modules.56.calls.1.arguments.1.name.                           "target" --> "input"
🛠  modules.56.calls.1.arguments.1.ty.                         "EvmAddress" --> "Vec<u8>"
🛠  modules.56.calls.1.arguments.2.name.                            "input" --> "value"
🛠  modules.56.calls.1.arguments.2.ty.                            "Vec<u8>" --> "BalanceOf<T>"
🛠  modules.56.calls.1.arguments.3.name.                            "value" --> "gas_limit"
🛠  modules.56.calls.1.arguments.3.ty.                       "BalanceOf<T>" --> "u64"
🛠  modules.56.calls.1.arguments.4.name.                        "gas_limit" --> "storage_limit"
🛠  modules.56.calls.1.arguments.4.ty.                                "u64" --> "u32"
🗑  modules.56.calls.1.arguments.5.                    {"name":"storage_limit","ty":"u32"}
🛠  modules.56.calls.1.name.                               "scheduled_call" --> "call"
🛠  modules.56.calls.2.arguments.0.name.                             "init" --> "from"
🛠  modules.56.calls.2.arguments.0.ty.                            "Vec<u8>" --> "EvmAddress"
🛠  modules.56.calls.2.arguments.1.name.                            "value" --> "target"
🛠  modules.56.calls.2.arguments.1.ty.                       "BalanceOf<T>" --> "EvmAddress"
🛠  modules.56.calls.2.arguments.2.name.                        "gas_limit" --> "input"
🛠  modules.56.calls.2.arguments.2.ty.                                "u64" --> "Vec<u8>"
🛠  modules.56.calls.2.arguments.3.name.                    "storage_limit" --> "value"
🛠  modules.56.calls.2.arguments.3.ty.                                "u32" --> "BalanceOf<T>"
🛠  modules.56.calls.2.name.                                       "create" --> "scheduled_call"
🛠  modules.56.calls.3.arguments.1.name.                             "salt" --> "value"
🛠  modules.56.calls.3.arguments.1.ty.                               "H256" --> "BalanceOf<T>"
🛠  modules.56.calls.3.arguments.2.name.                            "value" --> "gas_limit"
🛠  modules.56.calls.3.arguments.2.ty.                       "BalanceOf<T>" --> "u64"
🛠  modules.56.calls.3.arguments.3.name.                        "gas_limit" --> "storage_limit"
🛠  modules.56.calls.3.arguments.3.ty.                                "u64" --> "u32"
🗑  modules.56.calls.3.arguments.4.                    {"name":"storage_limit","ty":"u32"}
🛠  modules.56.calls.3.name.                                      "create2" --> "create"
🛠  modules.56.calls.4.arguments.1.name.                            "value" --> "salt"
🛠  modules.56.calls.4.arguments.1.ty.                       "BalanceOf<T>" --> "H256"
🛠  modules.56.calls.4.arguments.2.name.                        "gas_limit" --> "value"
🛠  modules.56.calls.4.arguments.2.ty.                                "u64" --> "BalanceOf<T>"
🛠  modules.56.calls.4.arguments.3.name.                    "storage_limit" --> "gas_limit"
🛠  modules.56.calls.4.arguments.3.ty.                                "u32" --> "u64"
🛠  modules.56.calls.4.name.                           "create_network_contract" --> "create2"
🛠  modules.56.calls.5.arguments.0.name.                         "contract" --> "init"
🛠  modules.56.calls.5.arguments.0.ty.                         "EvmAddress" --> "Vec<u8>"
🛠  modules.56.calls.5.arguments.1.name.                   "new_maintainer" --> "value"
🛠  modules.56.calls.5.arguments.1.ty.                         "EvmAddress" --> "BalanceOf<T>"
🛠  modules.56.calls.5.name.                           "transfer_maintainer" --> "create_network_contract"
🛠  modules.56.calls.6.arguments.0.name.                         "contract" --> "target"
🛠  modules.56.calls.6.name.                                       "deploy" --> "create_predeploy_contract"
🛠  modules.56.calls.7.name.                                  "deploy_free" --> "transfer_maintainer"
🛠  modules.56.calls.8.arguments.                                        "" --> [{"name":"contract","ty":"EvmAddress"}]
🛠  modules.56.calls.8.name.                           "enable_contract_development" --> "deploy"
🛠  modules.56.calls.9.arguments.                                        "" --> [{"name":"contract","ty":"EvmAddress"}]
🛠  modules.56.calls.9.name.                           "disable_contract_development" --> "deploy_free"
🛠  modules.56.calls.10.arguments.                     [{"name":"contract","ty":"EvmAddress"},{"name":"code","ty":"Vec<u8>"}] --> ""
🛠  modules.56.calls.10.name.                                    "set_code" --> "enable_contract_development"
🛠  modules.56.calls.11.arguments.                     [{"name":"contract","ty":"EvmAddress"}] --> ""
🛠  modules.56.calls.11.name.                                "selfdestruct" --> "disable_contract_development"
🛠  modules.56.constants.2.name.                              "MaxCodeSize" --> "ChainId"
🛠  modules.56.constants.2.ty.                                        "u32" --> "u64"
🛠  modules.56.constants.2.value.                                "00600000" --> "AE02000000000000"
🛠  modules.56.constants.3.name.                                  "ChainId" --> "NetworkContractSource"
🛠  modules.56.constants.3.ty.                                        "u64" --> "EvmAddress"
🛠  modules.56.constants.3.value.                        "AE02000000000000" --> "0000000000000000000000000000000000000000"
🛠  modules.56.constants.4.name.                       "NetworkContractSource" --> "DeveloperDeposit"
🛠  modules.56.constants.4.ty.                                 "EvmAddress" --> "BalanceOf<T>"
🛠  modules.56.constants.4.value.                      "0000000000000000000000000000000000000000" --> "00407A10F35A00000000000000000000"
🛠  modules.56.constants.5.name.                         "DeveloperDeposit" --> "DeploymentFee"
🛠  modules.56.constants.5.value.                      "00407A10F35A00000000000000000000" --> "0000C16FF28623000000000000000000"
🛠  modules.56.constants.6.name.                            "DeploymentFee" --> "TreasuryAccount"
🛠  modules.56.constants.6.ty.                               "BalanceOf<T>" --> "T::AccountId"
🛠  modules.56.constants.6.value.                      "0000C16FF28623000000000000000000" --> "6D6F646C6163612F747273790000000000000000000000000000000000000000"
🗑  modules.56.constants.7.                            {"documentation":"","name":"TreasuryAccount","ty":"T::AccountId","value":"6D6F646C6163612F747273790000000000000000000000000000000000000000"}
🛠  modules.56.errors.9.name.                                "OutOfStorage" --> "ContractAlreadyExisted"
🛠  modules.56.errors.10.name.                            "ChargeFeeFailed" --> "OutOfStorage"
🛠  modules.56.errors.11.name.                         "CannotKillContract" --> "ChargeFeeFailed"
🛠  modules.56.errors.12.name.                         "ConflictContractAddress" --> "CannotKillContract"
🗑  modules.56.event.2.arguments.2.                               "Vec<u8>"
🛠  modules.56.storage.entries.3.ty.Map.value.         "BoundedVec<u8, T::MaxCodeSize>" --> "BoundedVec<u8, MaxCodeSize>"
Changes:
- unmodified	= 45.41% (193)
- added		=  9.65% (41)
- modified	= 38.12% (162)
- removed	=  6.82% (29)
Skipped:
- documentation	=    81
- bytes		=     0

@xlc xlc mentioned this issue Sep 30, 2021
18 tasks
@xlc xlc closed this as completed Oct 2, 2021
@xlc xlc mentioned this issue Oct 12, 2021
34 tasks
@xlc xlc added the a-release label Dec 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants