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

39 lines
1.1 KiB
TypeScript

import {
init,
loadChains,
writeOutputFiles,
ChainInfo,
Deployment,
getRelayProvider,
} from "../helpers/env"
import { deployRelayProviderImplementation } from "../helpers/deployments"
const processName = "upgradeRelayProvider"
init()
const chains = loadChains()
async function run() {
console.log("Start!")
const output: any = {
relayProviderImplementations: [],
}
for (let i = 0; i < chains.length; i++) {
const relayProviderImplementation = await deployRelayProviderImplementation(chains[i])
await upgradeRelayProvider(chains[i], relayProviderImplementation)
output.relayProviderImplementations.push(relayProviderImplementation)
}
writeOutputFiles(output, processName)
}
async function upgradeRelayProvider(chain: ChainInfo, newImpl: Deployment) {
console.log("About to upgrade relay provider for chain " + chain.chainId)
const provider = getRelayProvider(chain)
await provider.upgrade(chain.chainId, newImpl.address)
console.log("Successfully upgraded relay provider " + chain.chainId)
}
run().then(() => console.log("Done!"))