trustless-generic-relayer/ethereum/ts-scripts/relayProvider/deployRelayProvider.ts

47 lines
1.2 KiB
TypeScript

import {
deployRelayProviderImplementation,
deployRelayProviderProxy,
deployRelayProviderSetup,
} from "../helpers/deployments"
import {
getSigner,
init,
loadChains,
loadPrivateKey,
writeOutputFiles,
} from "../helpers/env"
const processName = "deployRelayProvider"
init()
const chains = loadChains()
const privateKey = loadPrivateKey()
async function run() {
console.log(`Start ${processName}!`)
const output: any = {
relayProviderImplementations: [],
relayProviderSetups: [],
relayProviderProxies: [],
}
for (const chain of chains) {
console.log(`Deploying for chain ${chain.chainId}...`)
const relayProviderImplementation = await deployRelayProviderImplementation(chain)
const relayProviderSetup = await deployRelayProviderSetup(chain)
const relayProviderProxy = await deployRelayProviderProxy(
chain,
relayProviderSetup.address,
relayProviderImplementation.address
)
output.relayProviderImplementations.push(relayProviderImplementation)
output.relayProviderSetups.push(relayProviderSetup)
output.relayProviderProxies.push(relayProviderProxy)
console.log("")
}
writeOutputFiles(output, processName)
}
run().then(() => console.log("Done!"))