-
Couldn't load subscription status.
- Fork 81
Closed
Description
| Team | Address |
|---|---|
| Deployment Team | 0x123694886DBf5Ac94DDA07135349534536D14cAf |
| Threshold Council | 0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f |
Prerequisites
- Update Solidity version to
0.8.17: - Prepare mainnet deployment scripts
- Cleanup
solidity/v2.0.0milestone on GitHub
Release Sortition Pools
- Update
solidity/package.jsonandsolidity/package-lock.jsonversion tov2.0.0 - Tag v2.0.0 version
- Sign commit hash
- Publish
@keep-network/sortition-pools2.0.0 NPM package - Release
v2.0.0version on GitHub - Update
solidity/package.jsonandsolidity/package-lock.jsonversion tov2.1.0-pre
Release Threshold Token Staking
Background: We need to clean up NPM package and main state after TokenStaking contract upgrade. v1.2.0 package was not published to NPM.
- Commit artifacts from
v1.2.0contract upgrade tomain. - Publish
v1.2.1package with floating Solidity pragma to NPM registry. - Update
@threshold-network/solidity-contracts/package.jsonversion inmaintov1.3.0-dev. - Release
v1.2.1version on GitHub.
Random Beacon deployment
- Update
solidity/random-beacon/package.jsonversion tov2.0.0 - Deploy
ReimbursementPoolcontract (address:0x8adF3f35dBE4026112bCFc078872bcb967732Ea8) with the following parameters:_staticGas = 40800_maxGasPrice = 500000000000
- Deploy Random Beacon
SortitionPoolcontract (address:0x4e4cBA3779d56386ED43631b4dCD6d8EacEcBCF6) with the following parameters:_rewardToken = 0xCdF7028ceAB81fA0C6971208e83fa7872994beE5_poolWeightDivisor = 1000000000000000000
- Transfer chaosnet owner role to Threshold Council. (tx:
0xdca81e8b4b948f1674adebe2d2317f7a40247188676635a1f660cb58150c4743) - Deploy
BeaconDkgValidatorcontract (address:0x4EDC83c5C5B0C41A594371485554B95280653f94) with the following parameters:_sortitionPool = BeaconSortitionPool.address
- Deploy
RandomBeaconcontract (address:0x5499f54b4A1CB4816eefCf78962040461be3D80b) with the following parameters:_sortitionPool = BeaconSortitionPool.address_tToken = 0xCdF7028ceAB81fA0C6971208e83fa7872994beE5_staking = 0x01B67b1194C75264d06F808A921228a95C765dd7_dkgValidator = BeaconDkgValidator.address_reimbursementPool = ReimbursementPool.address
- Transfer Random Beacon
SortitionPoolownership toRandomBeaconcontract (tx:0x2ca59f0ae08f12ae2415348857791395cd7bc4fc80b7ec50d83e9728fe43cd2c) - Authorize
RandomBeaconinReimbursementPool(tx:0x832e3a5ff5c8f1c1abe83195866d92a1c16c0f9fc543faec0522779588a23485) - Deploy
RandomBeaconGovernancecontract (address:0xd0A3088eD9fff4357b79cd3896bd38876fcB1c63) with the following parameters:_randomBeacon = RandomBeacon.address_governanceDelay = 604800
- Verify
ReimbursementPoolon Etherscan - Verify
SortitionPoolon Etherscan - Verify
BeaconDkgValidatoron Etherscan - Verify
RandomBeaconon Etherscan - Verify
RandomBeaconGovernanceon Etherscan - Verify
ReimbursementPoolon Tenderly - Verify
SortitionPoolon Tenderly - Verify
BeaconDkgValidatoron Tenderly - Verify
RandomBeaconon Tenderly - Verify
RandomBeaconGovernanceon Tenderly - Publish
@keep-network/random-beacon2.0.0 NPM package taggedmainnetandlatest
Wallet Registry deployment
- Update
solidity/ecdsa/package.jsonversion tov2.0.0 - Update
@keep-network/random-beacondependency version insolidity/ecdsa/package.jsonto2.0.0 - Tag
solidity/v2.0.0inkeep-core - Sign
solidity/v2.0.0commit hash. - Copy
RandomBeaconandReimbursementPoolartifacts from the random-beacon mainnet package tosolidity/ecdsa/external/mainnet - Deploy ECDSA
SortitionPoolcontract (address:0xc2731fb2823af3Efc2694c9bC86F444d5c5bb4Dc) with the following parameters:_rewardToken = 0xCdF7028ceAB81fA0C6971208e83fa7872994beE5_poolWeightDivisor = 1000000000000000000
- Transfer chaosnet owner role to Threshold Council. (tx:
0xc48cd4304404543ad9b6e76a3b2045f10d40e0a89b1aec16a9f028b623a14151) - Deploy
EcdsaDkgValidatorcontract (address:0x0125c8977a02b2Fa3970b1ED9AF02f5Bedd4eF27) with the following parameters:_sortitionPool = EcdsaSortitionPool.address
- Deploy
WalletRegistryimplementation contract (address:0xfbae130e06bbc8ca198861beecae6e2b830398fb) - Deploy
WalletRegistryproxy contract (address:0x46d52E41C2F300BC82217Ce22b920c34995204eb) - Deploy
WalletRegistryProxyAdmin(address:0x7Affa05f726D293eB1193807A91617318292008e) - Initialize
WalletRegistryproxy contract (tx:0xe1e6a55e3026832dd8c68138e13a8ebc2be5a7350035cfdf7bf94ae55d3f5e8d) with the following parameters:_ecdsaDkgValidator = EcdsaDkgValidator.address_randomBeacon = RandomBeacon.address_reimbursementPool = ReimbursementPool.address
- Transfer ECDSA
SortitionPoolownership toWalletRegistrycontract (tx:0x9c42ec0d86387509f5bc89c6dc3b410eec481537cef31aba02b01ce542d5227f) - Authorize
WalletRegistryinReimbursementPool(tx:0xb58d99036a0969728cfc98e7354c2b14dfdbec525a31699aaff1d18d71e63f90) - Deploy
WalletRegistryGovernancecontract (address:0x6aed6cC30D1b2770771052555d257Da86eD47fe8) with the following parameters:_walletRegistry = WalletRegistry.address_governanceDelay = 604800
- Transfer
WalletRegistryGovernanceownership to Threshold Council (tx:0x2a42657620bfcf65f5f35c309d8b97100e505f8faf3de06374eb9b1f34efb217) - Transfer
WalletRegistrygovernance toWalletRegistryGovernancecontract (tx:0x41b6089026f2f5a3aa2aa3bdbdf287376cd87f5157d06ea6e9ac7b0cb02976d7) - Transfer
ProxyAdminownership to Threshold Council (tx:0xe1e6a55e3026832dd8c68138e13a8ebc2be5a7350035cfdf7bf94ae55d3f5e8d) - Authorize
WalletRegistryas a relay requester inRandomBeacon(tx:0x0b26197f23ce302048344b364aea60994a5f176bf7f405ca832214a4893685da) - Transfer
RandomBeaconGovernanceownership to Threshold Council (tx:0x7b86ec1aca0d810178b07656083e72d9d513f3240b79405f4b93b720f5179ed1) - Transfer
RandomBeacongovernance toRandomBeaconGovernancecontract (tx:0xf8709ae038360fef76d3d557ffbff5113bfd4e0cd1a3b89f415edd0b55d61ea0) - Transfer
ReimbursementPoolownership to Threshold Council (tx:0x2fbac28e73ccef7944e10f1f5b1067f579cf19a3636f4ff65c82065a96d2d2db) - Verify
EcdsaDkgValidatoron Etherscan - Verify
WalletRegistryimplementation on Etherscan - Verify
WalletRegistryproxy on Etherscan - Verify
WalletRegistryGovernanceon Etherscan - Verify
EcdsaDkgValidatoron Tenderly - Verify
WalletRegistryimplementation on Tenderly - Verify
WalletRegistryproxy on Tenderly - Verify
WalletRegistryGovernanceon Tenderly - Publish
@keep-network/ecdsa2.0.0 NPM package taggedmainnetandlatest - Update
solidity/random-beacon/package.jsonversion tov2.1.0-dev - Update
solidity/ecdsa/package.jsonversion tov2.1.0-dev - Release
solidity/v2.0.0version on GitHub - Add contracts labels on Etherscan
Finalization: Threshold Council
- Approve
RandomBeaconapplication contract inTokenStaking(tx:0x2aba64e058cb76f1f9078c0ff52de08fc2ff322f81986b677ea467caf5f77369) - Approve
WalletRegistryapplication contract inTokenStaking(tx:0x2aba64e058cb76f1f9078c0ff52de08fc2ff322f81986b677ea467caf5f77369)
Left for the future
- After deploying tbtc-v2
Bridgecontract, wallet owner role should be initialized with a call toWalletRegistryGovernance.initializeWalletOwner. For now, the wallet owner will remain set to zero address. - Authorization decrease delay is set to two weeks initially for the first phase of Chaosnet. This value may need to be revisited once the second phase of the Chaosnet launches.