-
Notifications
You must be signed in to change notification settings - Fork 18
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
Support deployment on Sepolia #150
Comments
Documenting some decisions and steps of the process: Deployer account Deploying legacy v1 Keep contracts
then updated the package version in the
then updated the package version in the
then updated the package version in the
|
The Görli testnet currently used by Threshold/Keep for development purposes is planned to become deprecated with the end of year 2023. The testnet that is planned to replace it is called [Holešky](https://github.com/eth-clients/holesky), however it's not yet available - it's planned it will become widely accessible on Sep 15, 2023 ([source](https://everstake.one/blog/new-ethereum-testnet-holesky-all-you-need-to-know-now)). Switching our infrastructure to support new testnet is quite time consuming, so moving directly from Görli to Holešky may be quite risky, especially if there would be some delays in the date of Holešky genesis (not meeting the planned timelines is not a rare occurrence in the Ethereum space). As a solution, we decided to switch first to another testnet that is currently live - Sepolia. This testnet's EOL is planned for 2026, which gives us plenty of time to move to Holešky before Sepolia gets deprecated. As part of the process we need to deploy the legacy Keep contracts on Sepolia. This PR contains changes needed for such deployment of the `keep-core` contracts. Package published using this code: https://www.npmjs.com/package/@keep-network/keep-core/v/1.8.1-sepolia.0. Refs: threshold-network/solidity-contracts#150
The Görli testnet currently used by Threshold/Keep for development purposes is planned to become deprecated with the end of year 2023. The testnet that is planned to replace it is called [Holešky](https://github.com/eth-clients/holesky), however it's not yet available - it's planned it will become widely accessible on Oct 1, 2023 ([source](https://everstake.one/blog/new-ethereum-testnet-holesky-all-you-need-to-know-now)). Switching our infrastructure to support new testnet is quite time consuming, so moving directly from Görli to Holešky may be quite risky, especially if there would be some delays in the date of Holešky genesis (not meeting the planned timelines is not a rare occurrence in the Ethereum space). As a solution, we decided to switch first to another testnet that is currently live - Sepolia. This testnet's EOL is planned for 2026, which gives us plenty of time to move to Holešky before Sepolia gets deprecated. Refs: threshold-network/solidity-contracts#150 keep-network/ci#48 threshold-network/solidity-contracts#151 keep-network/tbtc-v2#691 threshold-network/token-dashboard#605 - [ ] Update `TESTNET_ETH_CONTRACT_OWNER_PRIVATE_KEY` so that it is prefixed with `0x`
The Görli testnet currently used by Threshold/Keep for development purposes is planned to become deprecated with the end of year 2023. The testnet that is planned to replace it is called [Holešky](https://github.com/eth-clients/holesky), however it's not yet available - it's planned it will become widely accessible on Oct 1, 2023 ([source](https://everstake.one/blog/new-ethereum-testnet-holesky-all-you-need-to-know-now)). Switching our infrastructure to support new testnet is quite time consuming, so moving directly from Görli to Holešky may be quite risky, especially if there would be some delays in the date of Holešky genesis (not meeting the planned timelines is not a rare occurrence in the Ethereum space). As a solution, we decided to switch first to another testnet that is currently live - Sepolia. This testnet's EOL is planned for 2026, which gives us plenty of time to move to Holešky before Sepolia gets deprecated. Refs: threshold-network/solidity-contracts#150 keep-network/ci#48 threshold-network/solidity-contracts#151 keep-network/keep-core#3706 threshold-network/token-dashboard#605
Refs: threshold-network/solidity-contracts#150 We are slowly moving to our new Sepolia testnet. Contracts are already deployed there. It is a good time to add Sepolia testnet support to the SDK. Artifacts were taken from the following npm packages: - `@keep-network/tbtc-v2@sepolia` - `@keep-network/ecdsa@sepolia`
Refs: threshold-network/solidity-contracts#150 Here we are making all adjustments required to switch `keep-test` to Sepolia contracts
Refs: threshold-network/solidity-contracts#150 Here we adjust the tBTC v2 monitoring tool to the new Sepolia testnet.
Remove support for Goerli testnet As the Goerli testnet will become deprecated with end of year 2023 and we've already migrated to Sepolia testnet, we'll no longer need the Goerli-related code past that date. Ref: threshold-network/solidity-contracts#150
As the main objective of this Issue was fulfilled (we moved the crucial components to Sepolia) and task was becoming hard to manage due to many subtasks, we decided to close this one and create a new one, just for the outstanding/blocked tasks: #163. |
As the Goerli testnet will become deprecated with end of year 2023 and we've already migrated to Sepolia testnet, we'll no longer need the Goerli-related code past that date. Ref: threshold-network/solidity-contracts#150
As the Goerli testnet will become deprecated with end of year 2023 and we've already migrated to Sepolia testnet where we could, we'll no longer need the Goerli-related code past that date. [UPDATE post-2023]: As Wormhole does not support Sepolia-base L2 chains yet, we decided to still use Goerli for the cross-chainp rojects (Goerli it's still live, despite EOL planned for 2023 EOY). So we're not removing Goerli config from the cross-chain projects - we will handle that in a later date (once Wormhole supports Sepolia L2s or Goerli becomes unusable). Ref: threshold-network/solidity-contracts#150
The Goerli testnet currently used by Threshold/Keep for development purposes was planned to become deprecated with the end of year 2023. Although it's already 2024, the testnet is still live, but it will loose validators over the time and may become unusable at some point. The testnet that was created to replace it is called [Holešky](https://github.com/eth-clients/holesky), however it will take some time until it gets integrated with by some of the projects we rely on. As a solution, we decided to switch first to another testnet that is currently live - Sepolia. This testnet's EOL is planned for 2026, which gives us plenty of time to move to Holešky before Sepolia gets deprecated. The Goerli -> Sepolia migration means that also L2 testnet based on Goerli (Optimism Goerli) needs to be migrated to Sepolia-based chain (Optimism Sepolia). In this PR we're adjusting the config used to deploy testnet contracts in the `@keep-network/tbtc-v2-arbitrum` project. After the update, both deploy to `optimismGoerli` and `optimismSepolia` networks will be supported (we may remove `optimismGoerli` support once we're sure the `optimismSepolia` deployment works as expected). TODO - [x] Add `external/optimismSepolia/OptimismWormholeTBTC.json` - in order to get the address we need to perform attestation of the Ethereum Sepolia TBTC token on Optimism Sepolia (but atm Optimism Sepolia is not available on the list of target networks on https://wormhole-foundation.github.io/example-token-bridge-ui/#/register) Ref: threshold-network/solidity-contracts#150
The Goerli testnet currently used by Threshold/Keep for development purposes was planned to become deprecated with the end of year 2023. Although it's already 2024, the testnet is still live, but it will loose validators over the time and may become unusable at some point. The testnet that was created to replace it is called [Holešky](https://github.com/eth-clients/holesky), however it will take some time until it gets integrated with by some of the projects we rely on. As a solution, we decided to switch first to another testnet that is currently live - Sepolia. This testnet's EOL is planned for 2026, which gives us plenty of time to move to Holešky before Sepolia gets deprecated. The Goerli -> Sepolia migration means that also L2 testnet based on Goerli (Base Goerli) needs to be migrated to Sepolia-based chain (Base Sepolia). In this PR we're adjusting the config used to deploy testnet contracts in the `@keep-network/tbtc-v2-arbitrum` project. After the update, both deploy to `baseGoerli` and `baseSepolia` networks will be supported (we may remove `baseGoerli` support once we're sure the `baseSepolia` deployment works as expected). TODO - [x] Add `external/baseSepolia/BaseWormholeTBTC.json` - in order to get the address we need to perform attestation of the Ethereum Sepolia TBTC token on Base Sepolia (but atm Base Sepolia is not available on the list of target networks on https://wormhole-foundation.github.io/example-token-bridge-ui/#/register) Ref: threshold-network/solidity-contracts#150
The Goerli testnet currently used by Threshold/Keep for development purposes was planned to become deprecated with the end of year 2023. Although it's already 2024, the testnet is still live, but it will loose validators over the time and may become unusable at some point. The testnet that was created to replace it is called [Holešky](https://github.com/eth-clients/holesky), however it will take some time until it gets integrated with by some of the projects we rely on. As a solution, we decided to switch first to another testnet that is currently live - Sepolia. This testnet's EOL is planned for 2026, which gives us plenty of time to move to Holešky before Sepolia gets deprecated. The Goerli -> Sepolia migration means that also L2 testnet based on Goerli (Arbitrum Goerli) needs to be migrated to Sepolia-based chain (Arbitrum Sepolia). In this PR we're adjusting the config used to deploy testnet contracts in the `@keep-network/tbtc-v2-arbitrum` project. After the update, both deploy to `arbitrumGoerli` and `arbitrumSepolia` networks will be supported (we may remove `arbitrumGoerli` support once we're sure the `arbitrumSepolia` deployment works as expected). TODO - [x] Add `external/arbitrumSepolia/ArbitrumWormholeTBTC.json` - in order to get the address we need to perform attestation of the Ethereum Sepolia TBTC token on Arbitrum Sepolia (but atm Arbitrum Sepolia is not available on the list of target networks on https://wormhole-foundation.github.io/example-token-bridge-ui/#/register) Ref: threshold-network/solidity-contracts#150
Why?
The Görli testnet currently used by Threshold/Keep for development purposes is planned to become deprecated with the end of year 2023. The testnet that is planned to replace it is called Holešky, however it's not yet available - it's planned it will become widely accessible on Oct 1, 2023 (source).
Switching our infrastructure to support new testnet is quite time consuming, so moving directly from Görli to Holešky may be quite risky, especially if there would be some delays in the date of Holešky genesis (not meeting the planned timelines is not a rare occurrence in the Ethereum space). As a solution, we decided to switch first to another testnet that is currently live - Sepolia. This testnet's EOL is planned for 2026, which gives us plenty of time to move to Holešky before Sepolia gets deprecated.
Testnets Lifecycle:
Read more in Predictable Ethereum Testnet Lifecycle Proposal.
How?
Deploying contracts to a new testnet and adjusting CI accordingly is a work consisting of many tasks and requiring coordination of several team members. We shouldn't get rid of Görli support until we're sure that everything works on Sepolia smoothly (maybe even until Görli gets deprecated). We may consider adding Holešky support together with Sepolia in some places, for the future use (for example in Hardhat config).
What & who?
keep-common
(Add Sepolia to the list of supported networks keep-network/keep-common#118)@keep-network/keep-core
- Support deployment of v1 contracts on Sepolia keep-network/keep-core#3712@keep-network/keep-ecdsa
- modified locally (repository deprecated)@keep-network/tbtc
- modified locally (repository deprecated)@threshold-network/solidity-contracts
- Support deployment on Sepolia #151, Add missing${{ }}
markers in thecontracts.yml
#152, Upgradehardhat-deploy
plugin to0.1.37
version #154@keep-network/coverage-pools
- Support deployment on Sepolia keep-network/coverage-pools#235@keep-network/random-beacon
- Support deployment on Sepolia keep-network/keep-core#3706@keep-network/ecdsa
- Support deployment on Sepolia keep-network/keep-core#3706@keep-network/tbtc-v2
- Support deployment on Sepolia keep-network/tbtc-v2#691@keep-network/tbtc-v2.ts
- Support deployment on Sepolia keep-network/tbtc-v2#691@keep-network/tbtc-v2-arbitrum
(nice to have) - Add Sepolia / Arbitrum Sepolia support for Arbitrum cross-chain keep-network/tbtc-v2#753@keep-network/tbtc-v2-optimism
(nice to have) - Add Sepolia / Optimism Sepolia support for Optimism cross-chain keep-network/tbtc-v2#752@keep-network/tbtc-v2-polygon
(nice to have) - Add Sepolia support for Polygon cross-chain keep-network/tbtc-v2#751@keep-network/tbtc-v2-solana
? (once Solana support lands onmain
) (nice to have)@keep-network/tbtc-v2-base
- Add Sepolia / Base Sepolia support for Base cross-chain keep-network/tbtc-v2#742SepoliaLightRelay.sol
- Support deployment on Sepolia keep-network/tbtc-v2#6910x68ad60CC5e8f3B7cC53beaB321cf0e6036962dBc
)@keep-network/keep-core@1.8.1-sepolia.0
@keep-network/keep-ecdsa@1.9.0-sepolia.0
@keep-network/tbtc@1.1.2-sepolia.0
@threshold-network/solidity-contracts@1.3.0-sepolia.0
@keep-network/coverage-pools@2.1.0-sepolia.0
@keep-network/coverage-pools@1...
(There were problems with publishing package for v1, we will skip it's deployment and manage without it, at least for now)@keep-network/random-beacon@2.1.0-sepolia.1
@keep-network/ecdsa@2.1.0-sepolia.1
@keep-network/tbtc-v2@1.6.0-sepolia.0
keep-network/tbtc-v2.ts@1.3.0-sepolia.0
(published based on code from19e2dfff
commit, package marked as deprecated)@keep-network/tbtc-v2-arbitrum
(also update.gitignore
andpackage.json
) (nice to have)@keep-network/tbtc-v2-optimism
(also update.gitignore
andpackage.json
) (nice to have)@keep-network/tbtc-v2-polygon
(also update.gitignore
andpackage.json
) (nice to have)@keep-network/tbtc-v2-solana
? (also update.gitignore
andpackage.json
) (once Solana support lands onmain
) (nice to have)@keep-network/tbtc-v2-base
merkle-drop
config - Support Sepolia merkle-distribution#93SimplePreApplication
on Sepoliakeep-network/ci/config/env/sepolia.env
) - Support deployment on Sepolia keep-network/ci#48keep-network
andthreshold-network
):SEPOLIA_ETH_HOSTNAME_HTTP
SEPOLIA_ETH_HOSTNAME_WS
TESTNET_ETH_CONTRACT_OWNER_PRIVATE_KEY
DAPP_DEV_TESTNET_ETH_CONTRACT_OWNER_PRIVATE_KEY
.yml
files in following projects to use above secrets when deploying on Sepolia:threshold-network/solidity-contracts
keep-network/coverage-pools
(?)keep-network/random-beacon
keep-network/ecdsa
keep-network/tbtc-v2
keep-network/tbtc-v2/monitoring
- Add support for Sepolia testnet in monitoring keep-network/tbtc-v2#754threshold-network/token-dashboard
- Support deployment on Sepolia token-dashboard#605keep-network/tbtc-v2-arbitrum
(also update.gitignore
andpackage.json
)keep-network/tbtc-v2-optimism
(also update.gitignore
andpackage.json
)keep-network/tbtc-v2-polygon
(also update.gitignore
andpackage.json
)keep-network/tbtc-v2-solana
? (also update.gitignore
andpackage.json
) (once Solana support lands onmain
)keep-network/tbtc-v2-base
(also update.gitignore
andpackage.json
)dapp-development
branch in following projects to support Sepolia:threshold-network/solidity-contracts
- [Do not merge] dApp-friendly contract deployment #118keep-network/keep-core
- [Do not merge] dApp-friendly contract deployment keep-network/keep-core#3118keep-network/tbtc-v2
- [Do not merge] dApp-friendly contract deployment keep-network/tbtc-v2#403dapp-development-sepolia
-tagged packages for:@threshold-network/solidity-contracts@1.3.0-dapp-dev-sepolia.0
@keep-network/random-beacon@2.1.0-dapp-dev-sepolia.0
@keep-network/ecdsa@2.1.0-dapp-dev-sepolia.0
@keep-network/tbtc-v2@1.6.0-dapp-dev-sepolia.0
goerli
- https://app.gitbook.com/o/R2meumXNNad4y1B10iL7/s/WosjlL4zUGUMlcMfuSAp/~/changes/268/resources/contract-addresses/sepolia-testnet, https://app.gitbook.com/o/R2meumXNNad4y1B10iL7/s/WosjlL4zUGUMlcMfuSAp/~/changes/326/app-development/tbtc-v2/tbtc-sdk/guides/initialize-sdkGoerliLightRelay
inkeep-core
to mention also SepoliaLightRelay - Replace mentions ofGoerliLghtRelay
withSepoliaLightRelay
keep-network/keep-core#3730SepoliaLightRelay
contract keep-network/keep-core#3742)optimistic-minting
configuration (https://github.com/keep-network/optimistic-minting/pull/101)goerli
-related NPM packages (we can also do a cleanup of other obsolete packages)optimistic-minting
's integration tests for Sepolia contractsThe text was updated successfully, but these errors were encountered: