123456789101112131415161718192021222324252627282930313233343536373839 |
- const { POOLS } = require("@layerzerolabs/sg-sdk")
- const { getEndpointId } = require("../utils/network")
- const { getEndpointIdByName } = require("@layerzerolabs/lz-sdk")
- task("activateChainPaths", "activate chain paths")
- .addParam("targetNetwork", "activate chain paths for this destination targetNetwork")
- .setAction(async (taskArgs) => {
- let router = await ethers.getContract("Router")
- console.log(`router.address: ${router.address}`)
- const poolData = POOLS[hre.network.name]
- let tx
- for (let srcPoolId in poolData) {
- console.log(`mapping ${hre.network.name}[${getEndpointId()}] srcPoolId: ${srcPoolId}:`)
- let chainPaths = poolData[srcPoolId].chainPaths
- for (let dstObj of chainPaths) {
- let { dstChainId, dstPoolId, weight } = dstObj
- if (dstChainId != getEndpointIdByName(taskArgs.targetNetwork)) {
- continue
- }
- try {
- tx = await (await router.activateChainPath(srcPoolId, dstChainId, dstPoolId)).wait()
- console.log(
- ` ✅ activateChainPath: poolId:${srcPoolId} dstChainId:${dstChainId} dstPoolId:${dstPoolId} | tx: ${tx.transactionHash}`
- )
- } catch (e) {
- if (e.error.message.includes("Stargate: chainPath is already active")) {
- console.log(
- ` ✅ activateChainPath: poolId:${srcPoolId} dstChainId:${dstChainId} dstPoolId:${dstPoolId} | *already exists*`
- )
- } else {
- console.log(e)
- console.log("^ ERROR")
- }
- }
- }
- }
- })
|