-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Labels

Milestone
Description
Team | Address |
---|---|
Deployment Team | 0x123694886DBf5Ac94DDA07135349534536D14cAf |
Threshold Council | 0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f |
Contract | Address |
---|---|
Bridge Proxy contract | 0x5e4861a80B55f035D899f66772117F00FA0E8e7B |
Bridge Implementation contract | 0xa4996de73682bdf9cf514fbf238ee387c1a21a26 |
Bridge ProxyAdmin contract | 0x16a76d3cd3c1e3ce843c6680d6b37e9116b5c706 |
RedemptionWatchtower Proxy contract | 0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3 |
RedemptionWatchtower implementation contract | 0xbfd04e3928923ad8c86256b9a8f64ebd01cf1daf |
RedemptionWatchtower ProxyAdmin contract | 0x16a76d3cd3c1e3ce843c6680d6b37e9116b5c706 |
WalletRegistry Proxy contract | 0x46d52E41C2F300BC82217Ce22b920c34995204eb |
WalletRegistry implementation contract | 0x08d7e8ce124921caafd7670502379ced0065c832 |
WalletRegistry ProxyAdmin contract | 0x7affa05f726d293eb1193807a91617318292008e |
Prerequisites
Deployment
- Deploy the
Timelock
contract (address:0x92f2d8b72a7F6a551Be60b9aa4194248E9B4913D
) - Verify
Timelock
contract on Etherscan
Tag and publish artifacts
- Publish v1.7.0 deployment artifacts to NPM as
@keep-network/tbtc-v2
- Tag
solidity/v1.7.0
- Bump up
solidity
module version to1.8.0-dev
Governance Actions
Threshold Council executes four transactions:
- To schedule
WalletRegistry
upgrade - To schedule
Bridge
upgrade - To transfer
WalletRegistry
ProxyAdmin
ownership and test the upgrade - To transfer
Bridge
ProxyAdmin
ownership and test the upgrade
The test upgrade transaction will upgrade implementations to the same version as currently used. No changes are expected. We want to execute a test upgrade in the same transaction as the ProxyAdmin
ownership transfer to ensure future upgrades will be possible and that no human error will happen when assembling those transactions.
Schedule WalletRegistry
upgrade
- Prepare TX data:
ProxyAdmin.encodeFunctionData("upgrade", ["0x46d52E41C2F300BC82217Ce22b920c34995204eb", "0x08d7e8ce124921caafd7670502379ced0065c832"])
(data:0x99a88ec400000000000000000000000046d52e41c2f300bc82217ce22b920c34995204eb00000000000000000000000008d7e8ce124921caafd7670502379ced0065c832
) - Schedule upgrade:
Timelock.schedule(0x7affa05f726d293eb1193807a91617318292008e, 0, 0x99a88ec400000000000000000000000046d52e41c2f300bc82217ce22b920c34995204eb00000000000000000000000008d7e8ce124921caafd7670502379ced0065c832, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, 86400)
(tx:0x8472bf5de4543f80189f7f167d4289b294bec5fb79615de61f157e33346c91e4
)
Schedule Bridge
upgrade
- Prepare TX data:
ProxyAdmin.encodeFunctionData("upgrade", ["0x5e4861a80B55f035D899f66772117F00FA0E8e7B", "0xa4996de73682bdf9cf514fbf238ee387c1a21a26"])
(data:0x99a88ec40000000000000000000000005e4861a80b55f035d899f66772117f00fa0e8e7b000000000000000000000000a4996de73682bdf9cf514fbf238ee387c1a21a26
) - Schedule upgrade:
Timelock.schedule(0x16a76d3cd3c1e3ce843c6680d6b37e9116b5c706, 0, 0x99a88ec40000000000000000000000005e4861a80b55f035d899f66772117f00fa0e8e7b000000000000000000000000a4996de73682bdf9cf514fbf238ee387c1a21a26, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, 86400)
(tx:0x8472bf5de4543f80189f7f167d4289b294bec5fb79615de61f157e33346c91e4
)
Schedule RedemptionWatchtower
upgrade
- Prepare TX data:
ProxyAdmin.encodeFunctionData("upgrade", ["0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3", "0xbfd04e3928923ad8c86256b9a8f64ebd01cf1daf"])
(data:0x99a88ec4000000000000000000000000b8df0a949ac45ff8f401553a1dcb742feb38e6d3000000000000000000000000bfd04e3928923ad8c86256b9a8f64ebd01cf1daf
) - Schedule upgrade:
Timelock.schedule(0x16a76d3cd3c1e3ce843c6680d6b37e9116b5c706, 0, 0x99a88ec4000000000000000000000000b8df0a949ac45ff8f401553a1dcb742feb38e6d3000000000000000000000000bfd04e3928923ad8c86256b9a8f64ebd01cf1daf, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, 86400)
(tx:0x8472bf5de4543f80189f7f167d4289b294bec5fb79615de61f157e33346c91e4
)
Transfer WalletRegistry
ProxyAdmin
ownership and test the upgrade
- The following batch transaction is executed (tx:
0x...
):ProxyAdmin@0x7affa05f726d293eb1193807a91617318292008e.transferOwnership(Timelock.address)
Timelock.execute(0x7affa05f726d293eb1193807a91617318292008e, 0, 0x99a88ec400000000000000000000000046d52e41c2f300bc82217ce22b920c34995204eb00000000000000000000000008d7e8ce124921caafd7670502379ced0065c832, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000)
Transfer Bridge
& RedemptionWatchtower
ProxyAdmin
ownership and test the upgrade
- The following batch transaction is executed (tx:
0x...
):ProxyAdmin@0x16a76d3cd3c1e3ce843c6680d6b37e9116b5c706.transferOwnership(Timelock.address)
Timelock.execute(0x16a76d3cd3c1e3ce843c6680d6b37e9116b5c706, 0, 0x99a88ec40000000000000000000000005e4861a80b55f035d899f66772117f00fa0e8e7b000000000000000000000000a4996de73682bdf9cf514fbf238ee387c1a21a26, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000)
Timelock.execute(0x16a76d3cd3c1e3ce843c6680d6b37e9116b5c706, 0, 0x99a88ec4000000000000000000000000b8df0a949ac45ff8f401553a1dcb742feb38e6d3000000000000000000000000bfd04e3928923ad8c86256b9a8f64ebd01cf1daf, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000)
Release notes
- Publish
solidity/v1.7.0
release notes along with the references to transactions introducing the Timelock.
Metadata
Metadata
Assignees
Labels
