wormhole/ethereum/ts-scripts/relayer/deliveryProvider/deployDeliveryProvider.ts

49 lines
1.3 KiB
TypeScript

import {
deployDeliveryProviderImplementation,
deployDeliveryProviderProxy,
deployDeliveryProviderSetup,
} from "../helpers/deployments";
import {
getOperatingChains,
getSigner,
init,
loadChains,
loadPrivateKey,
writeOutputFiles,
} from "../helpers/env";
const processName = "deployDeliveryProvider";
init();
const chains = getOperatingChains();
const privateKey = loadPrivateKey();
async function run() {
console.log(`Start ${processName}!`);
const output: any = {
deliveryProviderImplementations: [],
deliveryProviderSetups: [],
deliveryProviderProxies: [],
};
for (const chain of chains) {
console.log(`Deploying for chain ${chain.chainId}...`);
const deliveryProviderImplementation = await deployDeliveryProviderImplementation(
chain
);
const deliveryProviderSetup = await deployDeliveryProviderSetup(chain);
const deliveryProviderProxy = await deployDeliveryProviderProxy(
chain,
deliveryProviderSetup.address,
deliveryProviderImplementation.address
);
output.deliveryProviderImplementations.push(deliveryProviderImplementation);
output.deliveryProviderSetups.push(deliveryProviderSetup);
output.deliveryProviderProxies.push(deliveryProviderProxy);
console.log("");
}
writeOutputFiles(output, processName);
}
run().then(() => console.log("Done!"));