const { Wallet, JsonRpcProvider, ContractFactory } = require('ethers') const sender = require('../artifacts/contracts/sender.sol/sender.json') const receiver = require('../artifacts/contracts/receiver.sol/receiver.json') const fakeSender = require('../artifacts/contracts/fakeSender.sol/fakeSender.json') const arbProvider = new JsonRpcProvider( 'https://arbitrum-goerli.public.blastapi.io', ) const goeProvider = new JsonRpcProvider( 'https://goerli.blockpi.network/v1/rpc/public', ) const arbWallet = new Wallet( 'b428434609742273a360531cc330498eadd90e03a80a083596fcc09ad05170e9', arbProvider, ) const goeWallet = new Wallet( 'b428434609742273a360531cc330498eadd90e03a80a083596fcc09ad05170e9', goeProvider, ) const arbSenderFactory = new ContractFactory( sender.abi, sender.bytecode, arbWallet, ) const arbFakerSenderFactory = new ContractFactory( fakeSender.abi, fakeSender.bytecode, arbWallet, ) const goeReceiverFactory = new ContractFactory( receiver.abi, receiver.bytecode, goeWallet, ) const goerliEndpoint = { chainId: 10121, endpoint: '0xbfd2135bffbb0b5378b56643c2df8a87552bfa2', } const arbEndpoint = { chainId: 10143, endpoint: '0x6aB5Ae6822647046626e83ee6dB8187151E1d5a', } async function main() { const arbSender = await arbSenderFactory.deploy(arbEndpoint.endpoint) const arbFakerSender = await arbFakerSenderFactory.deploy( arbEndpoint.endpoint, ) const goeReceiver = await goeReceiverFactory.deploy(goerliEndpoint.endpoint) const senderAddr = await arbSender.getAddress() const arbFakerSenderAddr = await arbFakerSender.getAddress() const goeReceiverAddr = await goeReceiver.getAddress() console.log(senderAddr) console.log(arbFakerSenderAddr) console.log(goeReceiverAddr) } main()