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 solidity/v1.6.0 #795

Closed
21 of 23 tasks
lukasz-zimnoch opened this issue Mar 8, 2024 · 2 comments
Closed
21 of 23 tasks

Release solidity/v1.6.0 #795

lukasz-zimnoch opened this issue Mar 8, 2024 · 2 comments
Assignees
Labels
⛓️ solidity Solidity contracts

Comments

@lukasz-zimnoch
Copy link
Member

lukasz-zimnoch commented Mar 8, 2024

Team Address
Threshold Council 0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f
tBTC Deployer 0x123694886DBf5Ac94DDA07135349534536D14cAf

Rationale

The main goal of release solidity/v1.6.0 is introducing the redemption veto mechanism (#781). Secondly, this release enables the support for deposits with extra data (#749) which is the foundation of the tBTC Solidity SDK.

Checklist

Phase 1

Steps executed by tBTC Deployer:

  • Deploy and verify a new instance of the Deposit library (0xCD2EbDA2beA80484C55675e1965149054dCcD137)
  • Deploy and verify a new instance of the DepositSweep library (0x392635646Bc22FC13C86859d1f02B27974aC9b95)
  • Deploy and verify a new instance of the Redemption library (0x8EF1BEDA734E696CC055269b46BB5a0EC7Ac9f5E)
  • Deploy and verify a new instance of the Wallets library (0xc989d3E486AAe6355F65281B4d0bde08c8e32fBC)
  • Deploy and verify a new instance of the Fraud library (0x51bBeF1c7cC3a1D3bC5E64CE6C3BA6E66fbA3559)
  • Deploy and verify a new instance of the MovingFunds library (0x3E0407765FaC663d391aE738f3Aa0c98EAb67a90)
  • Deploy and verify a new Bridge contract implementation (must use new instances of the above libraries) (0xA4996De73682BDF9CF514fbf238ee387C1a21A26)
  • Deploy and verify a new instance of the BridgeGovernance contract (0xf286EA706A2512d2B9232FE7F8b2724880230b45)
  • Transfer ownership of the new BridgeGovernance contract to the Threshold Council
  • Deploy and verify the new RedemptionWatchtower contract (use same ProxyAdmin as the Bridge) (0xB8dF0A949aC45ff8f401553A1dcb742Feb38E6D3)
  • Transfer ownership of the RedemptionWatchtower contract to the Threshold Council
  • Deploy and verify the new WalletProposalValidator contract (0x30019D85a86ABD3cDA1167F4C052690c32FBDEc2)
  • Publish @keep-network/tbtc-v2@1.6.0 npm package
  • Publish solidity/v1.6.0 release notes

Steps executed by Threshold Council:

  • Point the Bridge proxy to the new implementation (ProxyAdmin address is 0x16A76d3cd3C1e3CE843C6680d6B37E9116b5C706, Bridge proxy address is 0x5e4861a80B55f035D899f66772117F00FA0E8e7B)
  • Transfer governance of the Bridge to the new BridgeGovernance contract (2-step action)

Phase 2

Steps executed by Threshold Council:

  • Enable the veto mechanism with initial Guardians using the RedemptionWatchtower.enableWatchtower call. Set the Token Holder DAO timelock contract (0x87F005317692D05BAA4193AB0c961c69e175f45f) as RedemptionWatchtower's manager
  • Attach the RedemptionWatchtower contract to the Bridge using the BridgeGovernance.setRedemptionWatchtower call

Steps executed by Redemption Guardians:

  • Clear out stalled redemptions by vetoing them with 100% penalty fee

Phase 3

Steps executed by tBTC Deployer:

  • Release v2.0.0 client version with RFC 12
  • Shutdown the maintainer bot and abandon WalletCoordinator contract

Steps executed by Threshold Council:

  • Reduce the penalty fee to 5% (through Token Holder DAO proposal)
  • Restore redemption timeout to the previous value of 42 days
@lukasz-zimnoch lukasz-zimnoch added the ⛓️ solidity Solidity contracts label Mar 8, 2024
@lukasz-zimnoch lukasz-zimnoch added this to the solidity/v1.6.0 milestone Mar 8, 2024
@lukasz-zimnoch lukasz-zimnoch self-assigned this Mar 8, 2024
@tomaszslabon
Copy link
Contributor

tomaszslabon commented Mar 11, 2024

@lukasz-zimnoch
We have recently updated the BitcoinTx library.
Shouldn't we redeploy it as well?

@lukasz-zimnoch
Copy link
Member Author

lukasz-zimnoch commented Mar 11, 2024

@lukasz-zimnoch
We have recently updated the BitcoinTx library.
Shouldn't we redeploy it as well?

BitcoinTx is an internal library that is embedded in the client contracts. It is not deployed separately.

tomaszslabon added a commit that referenced this issue Mar 12, 2024
Refs: #795

New contract instances were deployed as part of the solidity/v1.6.0
release. Here we update deployment artifacts accordingly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⛓️ solidity Solidity contracts
Projects
None yet
Development

No branches or pull requests

2 participants