``` const ethers = require("ethers") require('dotenv').config(); const infura_url = process.env.INFURA_URL const privateKey = process.env.EPNS_ADMIN_PRIVATE_KEY const provider = new ethers.providers.JsonRpcProvider(infura_url); const wallet = new ethers.Wallet(privateKey, provider) const oldContractAddress = "0xc882dA9660d29c084345083922F8a9292E58787D" const oldContractABI = require("./oldContractABI.json") const oldContract = new ethers.Contract(oldContractAddress, oldContractABI, provider) const newContractAddress = "0x77589b22d37C94473c17128beeb6bc3DaB58c09a" const newContractABI = require("./newContractABI.json") const newContract = new ethers.Contract(newContractAddress, newContractABI, provider) const signingContract = newContract.connect(wallet) //get channel detail from old contract const getChannelCreatedEvents = async () => { return new Promise((resolve, reject) => { const filter = oldContract.filters.AddChannel(); oldContract.queryFilter(filter, 10365222, 11175203).then(response => { // console.log(response) resolve(response) }) }) } //migrate channel from old contract to new contract const migrateChannel = async () => { let channelArrayList = [] let channelTypeArrayList = [] let channelIdentityArrayList = [] let daiArray = [] return new Promise((resolve, reject) => { getChannelCreatedEvents().then(async res => { for (let i = 0; i < res.length; i++) { channelArrayList.push(res[i].args.channel) channelTypeArrayList.push(res[i].args.channelType) channelIdentityArrayList.push(res[i].args.identity) daiArray.push((50 * Math.pow(10, 18)).toString()) } console.log(channelArrayList) // CALLING CONTRACT FUNCTION const txPromise = signingContract.migrateChannelData(0, res.length, channelArrayList, channelTypeArrayList, channelIdentityArrayList, daiArray); txPromise .then(async function (tx) { console.info('Transaction sent: %o', tx); await tx.wait(5); resolve(tx); }) .catch((err) => { console.error('Unable to complete transaction, error: %o', err); reject(`Unable to complete transaction, error: ${err}`); }); }) }) } migrateChannel() ```