diff --git a/tasks/deleteAndRedeploy.ts b/tasks/deleteAndRedeploy.ts index b646901..460ee06 100644 --- a/tasks/deleteAndRedeploy.ts +++ b/tasks/deleteAndRedeploy.ts @@ -6,6 +6,7 @@ module.exports = async function (taskArgs) { const ignoreNetworks = taskArgs.ignore.split(',') if(!taskArgs.e || networks.length == 0) { console.log(`Invalid environment argument: ${taskArgs.e}`) + return } //delete contract and redeploy diff --git a/utils/getAddresses.js b/utils/getAddresses.js index 4a8e07c..db07945 100644 --- a/utils/getAddresses.js +++ b/utils/getAddresses.js @@ -1,37 +1,39 @@ -const { getNetworksForEnv } = require("@layerzerolabs/lz-sdk") -const fs = require("fs") - -const environmentArg = process.argv[2] -const contractCsvArg = process.argv[3] +const { getNetworksForEnv } = require("@layerzerolabs/lz-sdk"); +const fs = require("fs").promises; async function getAddresses(environment, contractCsv) { - let contracts = contractCsv.split(",") - const promises = [] + const contracts = contractCsv.split(","); + const promises = []; + for (const contract of contracts) { - promises.push("\n" + contract) - const networks = getNetworksForEnv(environment) + promises.push("\n" + contract); + const networks = getNetworksForEnv(environment); + for (const network of networks) { - promises.push(getAddressForNetwork(`../deployments/${network}/${contract[0].toUpperCase() + contract.substring(1)}.json`, network)) + promises.push(getAddressForNetwork(`../deployments/${network}/${contract[0].toUpperCase() + contract.substring(1)}.json`, network)); } } - const resolvedPromises = await Promise.all(promises) - resolvedPromises.forEach((networkAddressStr) => { - console.log(networkAddressStr) - }) + + try { + const resolvedPromises = await Promise.all(promises); + resolvedPromises.forEach((networkAddressStr) => { + console.log(networkAddressStr); + }); + } catch (error) { + console.error(error); + } } -function getAddressForNetwork(file, network) { - return new Promise((res) => { - fs.readFile(file, (error, content) => { - if (content == undefined) { - console.log(`File: ${file} does not exsist`) - return - } - res(`${network}: ${JSON.parse(content).address}`) - }) - }) +async function getAddressForNetwork(file, network) { + try { + const content = await fs.readFile(file); + return `${network}: ${JSON.parse(content).address}`; + } catch (error) { + console.log(`File: ${file} does not exist`); + return null; + } } // to run: node getAddresses ${ENVIRONMENT} ${CONTRACT_CSV} // example: node getAddresses testnet Relayer,Endpoint,UltraLightNode -getAddresses(environmentArg, contractCsvArg).then((res) => console.log("\nComplete!")) +getAddresses(environmentArg, contractCsvArg).then(() => console.log("\nComplete!")); \ No newline at end of file