diff --git a/hardhat.config.js b/hardhat.config.js index f49e141..a8ae854 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -33,7 +33,7 @@ module.exports = { hardhat: { // matic forking forking: { url: `https://cold-red-river.matic.quiknode.pro/${QUIKNODE_ID}/`, - blockNumber: 13344493, + blockNumber: 13350783, }, blockGasLimit: 12000000, }, diff --git a/test/migrator_l1.test.js b/test/migrator_l1.test.js index 6d88dc5..eaebd11 100644 --- a/test/migrator_l1.test.js +++ b/test/migrator_l1.test.js @@ -1,267 +1,267 @@ -// const hre = require("hardhat"); -// const { expect } = require("chai"); -// const { ethers, network, waffle } = hre; -// const { provider, deployContract } = waffle +const hre = require("hardhat"); +const { expect } = require("chai"); +const { ethers, network, waffle } = hre; +const { provider, deployContract } = waffle -// const Migrator = require("../artifacts/contracts/senders/aave-v2-migrator/main.sol/MigrateResolver.json") -// const InstaPool = require("../artifacts/contracts/liquidity.sol/InstaPool.json") +const Migrator = require("../artifacts/contracts/senders/aave-v2-migrator/main.sol/MigrateResolver.json") +const InstaPool = require("../artifacts/contracts/liquidity.sol/InstaPool.json") -// describe("Migrator", function() { -// let accounts, masterAddress, master, migrator, ethereum, instapool +describe("Migrator", function() { + let accounts, masterAddress, master, migrator, ethereum, instapool -// const erc20Abi = [ -// "function balanceOf(address) view returns (uint)", -// "function transfer(address to, uint amount)", -// "function approve(address spender, uint amount)" -// ] + const erc20Abi = [ + "function balanceOf(address) view returns (uint)", + "function transfer(address to, uint amount)", + "function approve(address spender, uint amount)" + ] -// const syncStateAbi = [ -// "function register(address sender, address receiver)" -// ] + const syncStateAbi = [ + "function register(address sender, address receiver)" + ] -// const usdc = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' -// const usdt = '0xdac17f958d2ee523a2206206994597c13d831ec7' -// const dai = '0x6b175474e89094c44da98b954eedeac495271d0f' -// const wbtc = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599' -// const aave = '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9' -// const eth = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' -// const weth = '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' + const usdc = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' + const usdt = '0xdac17f958d2ee523a2206206994597c13d831ec7' + const dai = '0x6b175474e89094c44da98b954eedeac495271d0f' + const wbtc = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599' + const aave = '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9' + const eth = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' + const weth = '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' -// const aweth = '0x030ba81f1c18d280636f32af80b9aad02cf0854e' -// const aaave = '0xFFC97d72E13E01096502Cb8Eb52dEe56f74DAD7B' -// const awbtc = '0x9ff58f4ffb29fa2266ab25e75e2a8b3503311656' + const aweth = '0x030ba81f1c18d280636f32af80b9aad02cf0854e' + const aaave = '0xFFC97d72E13E01096502Cb8Eb52dEe56f74DAD7B' + const awbtc = '0x9ff58f4ffb29fa2266ab25e75e2a8b3503311656' -// const maxValue = '115792089237316195423570985008687907853269984665640564039457584007913129639935' + const maxValue = '115792089237316195423570985008687907853269984665640564039457584007913129639935' -// const supportedTokens = [usdc, usdt, dai, wbtc, aave, weth] + const supportedTokens = [usdc, usdt, dai, wbtc, aave, weth] -// before(async function() { -// masterAddress = "0xb1DC62EC38E6E3857a887210C38418E4A17Da5B2" -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ masterAddress ] -// }) + before(async function() { + masterAddress = "0xb1DC62EC38E6E3857a887210C38418E4A17Da5B2" + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ masterAddress ] + }) -// accounts = await ethers.getSigners(); -// master = ethers.provider.getSigner(masterAddress) + accounts = await ethers.getSigners(); + master = ethers.provider.getSigner(masterAddress) -// migrator = await deployContract(master, Migrator, []) -// instapool = await deployContract(master, InstaPool, []) + migrator = await deployContract(master, Migrator, []) + instapool = await deployContract(master, InstaPool, []) -// console.log("Migrator deployed: ", migrator.address) -// console.log("Instapool deployed: ", instapool.address) + console.log("Migrator deployed: ", migrator.address) + console.log("Instapool deployed: ", instapool.address) -// const syncStateOwnerAddr = '0xFa7D2a996aC6350f4b56C043112Da0366a59b74c' -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ syncStateOwnerAddr ] -// }) -// const syncStateOwner = ethers.provider.getSigner(syncStateOwnerAddr) -// const syncStateContract = new ethers.Contract('0x28e4F3a7f651294B9564800b2D01f35189A5bFbE', syncStateAbi, syncStateOwner) -// await accounts[0].sendTransaction({ to: syncStateOwnerAddr, value: ethers.utils.parseEther('1') }) -// await syncStateContract.register(migrator.address, '0xA35f3FEFEcb5160327d1B6A210b60D1e1d7968e3') -// // await syncStateContract.register(instapool.address, '0xA35f3FEFEcb5160327d1B6A210b60D1e1d7968e3') + const syncStateOwnerAddr = '0xFa7D2a996aC6350f4b56C043112Da0366a59b74c' + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ syncStateOwnerAddr ] + }) + const syncStateOwner = ethers.provider.getSigner(syncStateOwnerAddr) + const syncStateContract = new ethers.Contract('0x28e4F3a7f651294B9564800b2D01f35189A5bFbE', syncStateAbi, syncStateOwner) + await accounts[0].sendTransaction({ to: syncStateOwnerAddr, value: ethers.utils.parseEther('1') }) + await syncStateContract.register(migrator.address, '0xA35f3FEFEcb5160327d1B6A210b60D1e1d7968e3') + // await syncStateContract.register(instapool.address, '0xA35f3FEFEcb5160327d1B6A210b60D1e1d7968e3') -// const usdcHolderAddr = '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503' // 1,000,000 -// await accounts[0].sendTransaction({ to: usdcHolderAddr, value: ethers.utils.parseEther('1') }) -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ usdcHolderAddr ] -// }) -// const usdcHolder = ethers.provider.getSigner(usdcHolderAddr) -// const usdcContract = new ethers.Contract(usdc, erc20Abi, usdcHolder) -// await usdcContract.transfer(migrator.address, ethers.utils.parseUnits('1000000', 6)) + const usdcHolderAddr = '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503' // 1,000,000 + await accounts[0].sendTransaction({ to: usdcHolderAddr, value: ethers.utils.parseEther('1') }) + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ usdcHolderAddr ] + }) + const usdcHolder = ethers.provider.getSigner(usdcHolderAddr) + const usdcContract = new ethers.Contract(usdc, erc20Abi, usdcHolder) + await usdcContract.transfer(migrator.address, ethers.utils.parseUnits('1000000', 6)) -// const usdtHolderAddr = '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503' // 1,000,000 -// await accounts[0].sendTransaction({ to: usdtHolderAddr, value: ethers.utils.parseEther('1') }) -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ usdtHolderAddr ] -// }) -// const usdtHolder = ethers.provider.getSigner(usdtHolderAddr) -// const usdtContract = new ethers.Contract(usdt, erc20Abi, usdtHolder) -// await usdtContract.transfer(migrator.address, ethers.utils.parseUnits('1000000', 6)) + const usdtHolderAddr = '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503' // 1,000,000 + await accounts[0].sendTransaction({ to: usdtHolderAddr, value: ethers.utils.parseEther('1') }) + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ usdtHolderAddr ] + }) + const usdtHolder = ethers.provider.getSigner(usdtHolderAddr) + const usdtContract = new ethers.Contract(usdt, erc20Abi, usdtHolder) + await usdtContract.transfer(migrator.address, ethers.utils.parseUnits('1000000', 6)) -// const daiHolderAddr = '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503' // 1,000,000 -// await accounts[0].sendTransaction({ to: daiHolderAddr, value: ethers.utils.parseEther('1') }) -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ daiHolderAddr ] -// }) -// const daiHolder = ethers.provider.getSigner(daiHolderAddr) -// const daiContract = new ethers.Contract(dai, erc20Abi, daiHolder) -// await daiContract.transfer(migrator.address, ethers.utils.parseUnits('1000000', 18)) + const daiHolderAddr = '0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503' // 1,000,000 + await accounts[0].sendTransaction({ to: daiHolderAddr, value: ethers.utils.parseEther('1') }) + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ daiHolderAddr ] + }) + const daiHolder = ethers.provider.getSigner(daiHolderAddr) + const daiContract = new ethers.Contract(dai, erc20Abi, daiHolder) + await daiContract.transfer(migrator.address, ethers.utils.parseUnits('1000000', 18)) -// const wbtcHolderAddr = '0xf977814e90da44bfa03b6295a0616a897441acec' // 16 -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ wbtcHolderAddr ] -// }) -// const wbtcHolder = ethers.provider.getSigner(wbtcHolderAddr) -// const wbtcContract = new ethers.Contract(wbtc, erc20Abi, wbtcHolder) -// await wbtcContract.transfer(migrator.address, ethers.utils.parseUnits('16', 8)) + const wbtcHolderAddr = '0xf977814e90da44bfa03b6295a0616a897441acec' // 16 + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ wbtcHolderAddr ] + }) + const wbtcHolder = ethers.provider.getSigner(wbtcHolderAddr) + const wbtcContract = new ethers.Contract(wbtc, erc20Abi, wbtcHolder) + await wbtcContract.transfer(migrator.address, ethers.utils.parseUnits('16', 8)) -// const wethHolderAddr = '0x0f4ee9631f4be0a63756515141281a3e2b293bbe' // 500 -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ wethHolderAddr ] -// }) -// const wethHolder = ethers.provider.getSigner(wethHolderAddr) -// const wethContract = new ethers.Contract(weth, erc20Abi, wethHolder) -// await wethContract.transfer(migrator.address, ethers.utils.parseUnits('500', 18)) -// await wethContract.transfer(instapool.address, ethers.utils.parseUnits('10', 18)) + const wethHolderAddr = '0x0f4ee9631f4be0a63756515141281a3e2b293bbe' // 500 + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ wethHolderAddr ] + }) + const wethHolder = ethers.provider.getSigner(wethHolderAddr) + const wethContract = new ethers.Contract(weth, erc20Abi, wethHolder) + await wethContract.transfer(migrator.address, ethers.utils.parseUnits('500', 18)) + await wethContract.transfer(instapool.address, ethers.utils.parseUnits('10', 18)) -// ethereum = network.provider -// }) + ethereum = network.provider + }) -// it("should set tokens", async function() { -// const tx = await migrator.connect(master).addTokenSupport(supportedTokens) -// const receipt = await tx.wait() + it("should set tokens", async function() { + const tx = await migrator.connect(master).addTokenSupport(supportedTokens) + const receipt = await tx.wait() -// const isUsdc = await migrator.isSupportedToken(usdc) -// expect(isUsdc).to.be.true; -// }) + const isUsdc = await migrator.isSupportedToken(usdc) + expect(isUsdc).to.be.true; + }) -// it("test migrate", async function() { + it("test migrate", async function() { -// const sourceAddr = '0x05A14F14E7a435542468D6F4d408D6F67303D769' -// await master.sendTransaction({ -// to: sourceAddr, -// value: ethers.utils.parseEther("1") -// }); -// const rawData = { -// targetDsa: "0x150Acc42e6751776c9E784EfF830cB4f35aE98f3", -// supplyTokens: [weth], -// borrowTokens: [usdt], -// supplyAmts: [ethers.utils.parseEther('60')], -// variableBorrowAmts: [ethers.utils.parseUnits('10000', 6)], -// stableBorrowAmts: [0] -// } + const sourceAddr = '0x05A14F14E7a435542468D6F4d408D6F67303D769' + await master.sendTransaction({ + to: sourceAddr, + value: ethers.utils.parseEther("1") + }); + const rawData = { + targetDsa: "0x150Acc42e6751776c9E784EfF830cB4f35aE98f3", + supplyTokens: [weth], + borrowTokens: [usdt], + supplyAmts: [ethers.utils.parseEther('60')], + variableBorrowAmts: [ethers.utils.parseUnits('10000', 6)], + stableBorrowAmts: [0] + } -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ sourceAddr ] -// }) -// const signer = ethers.provider.getSigner(sourceAddr) + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ sourceAddr ] + }) + const signer = ethers.provider.getSigner(sourceAddr) -// const awethContract = new ethers.Contract(aweth, erc20Abi, signer) -// await awethContract.approve(migrator.address, maxValue) + const awethContract = new ethers.Contract(aweth, erc20Abi, signer) + await awethContract.approve(migrator.address, maxValue) -// const tx = await migrator.connect(signer).migrateWithFlash(rawData, ethers.utils.parseEther('80')) -// const receipt = await tx.wait() + const tx = await migrator.connect(signer).migrateWithFlash(rawData, ethers.utils.parseEther('80')) + const receipt = await tx.wait() -// // console.log(receipt) -// }) + // console.log(receipt) + }) -// it("test settle", async function() { -// const tokens = [weth] -// const amts = [ethers.utils.parseEther('60')] + it("test settle", async function() { + const tokens = [weth] + const amts = [ethers.utils.parseEther('60')] -// const tx = await migrator.settle(tokens, amts) -// const receipt = await tx.wait() + const tx = await migrator.settle(tokens, amts) + const receipt = await tx.wait() -// // console.log(receipt) -// }) + // console.log(receipt) + }) -// it("test settle 2", async function() { -// const tokens = [usdc] -// const amts = [ethers.utils.parseUnits('20000', 6)] + it("test settle 2", async function() { + const tokens = [usdc] + const amts = [ethers.utils.parseUnits('20000', 6)] -// const tx = await migrator.settle(tokens, amts) -// const receipt = await tx.wait() + const tx = await migrator.settle(tokens, amts) + const receipt = await tx.wait() -// // console.log(receipt) -// }) + // console.log(receipt) + }) -// it("test migrate 2", async function() { -// const sourceAddr = '0x6126f2a1bd956630f810d5ea351c5a4d65cb5033' + it("test migrate 2", async function() { + const sourceAddr = '0x6126f2a1bd956630f810d5ea351c5a4d65cb5033' -// const rawData = { -// targetDsa: '0x150Acc42e6751776c9E784EfF830cB4f35aE98f3', -// supplyTokens: [weth], -// borrowTokens: [usdc, usdt, dai], -// supplyAmts: [ethers.utils.parseEther('100')], -// variableBorrowAmts: [0, 0, ethers.utils.parseUnits('20000', 18)], -// stableBorrowAmts: [ethers.utils.parseUnits('20000', 6), ethers.utils.parseUnits('20000', 6), ethers.utils.parseUnits('20000', 18)] -// } + const rawData = { + targetDsa: '0x150Acc42e6751776c9E784EfF830cB4f35aE98f3', + supplyTokens: [weth], + borrowTokens: [usdc, usdt, dai], + supplyAmts: [ethers.utils.parseEther('100')], + variableBorrowAmts: [0, 0, ethers.utils.parseUnits('20000', 18)], + stableBorrowAmts: [ethers.utils.parseUnits('20000', 6), ethers.utils.parseUnits('20000', 6), ethers.utils.parseUnits('20000', 18)] + } -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ sourceAddr ] -// }) -// const signer = ethers.provider.getSigner(sourceAddr) + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ sourceAddr ] + }) + const signer = ethers.provider.getSigner(sourceAddr) -// const awethContract = new ethers.Contract(aweth, erc20Abi, signer) -// await awethContract.approve(migrator.address, maxValue) -// const aaaveContract = new ethers.Contract(aaave, erc20Abi, signer) -// await aaaveContract.approve(migrator.address, maxValue) + const awethContract = new ethers.Contract(aweth, erc20Abi, signer) + await awethContract.approve(migrator.address, maxValue) + const aaaveContract = new ethers.Contract(aaave, erc20Abi, signer) + await aaaveContract.approve(migrator.address, maxValue) -// const tx = await migrator.connect(signer).migrateWithFlash(rawData, ethers.utils.parseEther('150')) -// const receipt = await tx.wait() -// }) + const tx = await migrator.connect(signer).migrateWithFlash(rawData, ethers.utils.parseEther('150')) + const receipt = await tx.wait() + }) -// it("test migrate 3", async function() { -// const sourceAddr = '0x37e5df37885a6d0b43bee9ec2997b1e0037fb490' + it("test migrate 3", async function() { + const sourceAddr = '0x37e5df37885a6d0b43bee9ec2997b1e0037fb490' -// const rawData = { -// targetDsa: '0x32d99500f7621C6Dc5391395D419236383Dbff97', -// supplyTokens: [weth], -// borrowTokens: [usdc, usdt], -// supplyAmts: [ethers.utils.parseEther('1000')], -// variableBorrowAmts: [ethers.utils.parseUnits('20000', 6), ethers.utils.parseUnits('40000', 6)], -// stableBorrowAmts: [ethers.utils.parseUnits('40000', 6), 0] -// } + const rawData = { + targetDsa: '0x32d99500f7621C6Dc5391395D419236383Dbff97', + supplyTokens: [weth], + borrowTokens: [usdc, usdt], + supplyAmts: [ethers.utils.parseEther('1000')], + variableBorrowAmts: [ethers.utils.parseUnits('20000', 6), ethers.utils.parseUnits('40000', 6)], + stableBorrowAmts: [ethers.utils.parseUnits('40000', 6), 0] + } -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ sourceAddr ] -// }) -// const signer = ethers.provider.getSigner(sourceAddr) + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ sourceAddr ] + }) + const signer = ethers.provider.getSigner(sourceAddr) -// const awethContract = new ethers.Contract(aweth, erc20Abi, signer) -// await awethContract.approve(migrator.address, maxValue) + const awethContract = new ethers.Contract(aweth, erc20Abi, signer) + await awethContract.approve(migrator.address, maxValue) -// const tx = await migrator.connect(signer).migrateWithFlash(rawData, ethers.utils.parseEther('1200')) -// const receipt = await tx.wait() -// }) + const tx = await migrator.connect(signer).migrateWithFlash(rawData, ethers.utils.parseEther('1200')) + const receipt = await tx.wait() + }) -// it("test migrate 4", async function() { -// const sourceAddr = '0xeb43b5597e3bde0b0c03ee6731ba7c0247e1581e' + it("test migrate 4", async function() { + const sourceAddr = '0xeb43b5597e3bde0b0c03ee6731ba7c0247e1581e' -// const rawData = { -// targetDsa: '0x43cc83DC7AC2d47a5AD14DB7E817b2E80b5Cb93e', -// supplyTokens: [weth, wbtc], -// borrowTokens: [usdc], -// supplyAmts: [ethers.utils.parseEther('4000'), ethers.utils.parseUnits('30', 8)], -// variableBorrowAmts: [ethers.utils.parseUnits('1000000', 6)], -// stableBorrowAmts: [ethers.utils.parseUnits('5000000', 6)] -// } + const rawData = { + targetDsa: '0x29601161ad5DA8c54435F4065af3A0EE30Cb24dD', + supplyTokens: [weth, wbtc], + borrowTokens: [usdc], + supplyAmts: [ethers.utils.parseEther('4000'), ethers.utils.parseUnits('30', 8)], + variableBorrowAmts: [ethers.utils.parseUnits('1000000', 6)], + stableBorrowAmts: [ethers.utils.parseUnits('5000000', 6)] + } -// await hre.network.provider.request({ -// method: "hardhat_impersonateAccount", -// params: [ sourceAddr ] -// }) -// const signer = ethers.provider.getSigner(sourceAddr) + await hre.network.provider.request({ + method: "hardhat_impersonateAccount", + params: [ sourceAddr ] + }) + const signer = ethers.provider.getSigner(sourceAddr) -// const awethContract = new ethers.Contract(aweth, erc20Abi, signer) -// await awethContract.approve(migrator.address, maxValue) -// const awbtcContract = new ethers.Contract(awbtc, erc20Abi, signer) -// await awbtcContract.approve(migrator.address, maxValue) + const awethContract = new ethers.Contract(aweth, erc20Abi, signer) + await awethContract.approve(migrator.address, maxValue) + const awbtcContract = new ethers.Contract(awbtc, erc20Abi, signer) + await awbtcContract.approve(migrator.address, maxValue) -// const tx = await migrator.connect(signer).migrateWithFlash(rawData, ethers.utils.parseEther('4000')) -// const receipt = await tx.wait() -// }) + const tx = await migrator.connect(signer).migrateWithFlash(rawData, ethers.utils.parseEther('4000')) + const receipt = await tx.wait() + }) -// it("test settle 3", async function() { -// const tokens = [weth, wbtc] -// const amts = [ -// ethers.utils.parseEther('2000'), -// ethers.utils.parseUnits('25', 8) -// ] + it("test settle 3", async function() { + const tokens = [weth, wbtc] + const amts = [ + ethers.utils.parseEther('2000'), + ethers.utils.parseUnits('25', 8) + ] -// const tx = await migrator.settle(tokens, amts) -// const receipt = await tx.wait() + const tx = await migrator.settle(tokens, amts) + const receipt = await tx.wait() -// // console.log(receipt) -// }) -// }) \ No newline at end of file + // console.log(receipt) + }) +}) \ No newline at end of file diff --git a/test/sender_l1.test.js b/test/sender_l1.test.js index 2b4f9b3..64e75f8 100644 --- a/test/sender_l1.test.js +++ b/test/sender_l1.test.js @@ -16,7 +16,7 @@ const tokenMaps = { '0xc2132D05D31c914a87C6611C10748AEb04B58e8F': '0xdAC17F958D2ee523a2206206994597C13D831ec7', // USDT '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270': '0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0', // MATIC '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', // WBTC - '0xD6DF932A45C0f255f85145f286eA0b292B21C90B': '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9' // AAVE + // '0xD6DF932A45C0f255f85145f286eA0b292B21C90B': '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9' // AAVE } // @@ -43,6 +43,7 @@ describe("Migrator", function() { const wbtc = '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6' const aave = '0xD6DF932A45C0f255f85145f286eA0b292B21C90B' const weth = '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619' + const wmatic = '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270' const instaConnectorsV2 = '0x0a0a82D2F86b9E46AE60E22FCE4e8b916F858Ddc' const instaImplementations = '0x39d3d5e7c11D61E072511485878dd84711c19d4A' @@ -75,7 +76,7 @@ describe("Migrator", function() { await master.sendTransaction({ to: migrator.address, - value: ethers.utils.parseEther("9999000") + value: ethers.utils.parseEther("45500000") }); ethereum = network.provider }) @@ -205,14 +206,15 @@ describe("Migrator", function() { wethContract = new ethers.Contract(weth, erc20Abi, wethHolder) await wethContract.transfer(migrator.address, ethers.utils.parseUnits('100', 18)) - const aaveHolderAddr = '0x3f25e13D98b9a7702eF5729c831e853f8486eD00' // 400 await hre.network.provider.request({ method: "hardhat_impersonateAccount", - params: [ aaveHolderAddr ] + params: [ wmatic ] }) - const aaveHolder = ethers.provider.getSigner(aaveHolderAddr) - const aaveContract = new ethers.Contract(aave, erc20Abi, aaveHolder) - await aaveContract.transfer(migrator.address, ethers.utils.parseUnits('400', 18)) + const wmaticSigner = ethers.provider.getSigner(wmatic) + await wmaticSigner.sendTransaction({ + to: migrator.address, + value: ethers.utils.parseEther("50000000") + }); }) it("test settle 2", async function() { @@ -255,7 +257,7 @@ describe("Migrator", function() { }) it("test migrate 4", async function() { - const positionData = '0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000043cc83dc7ac2d47a5ad14db7e817b2e80b5cb93e00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000d86821017a3f60000000000000000000000000000000000000000000000000000000000000b274d080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000574fbde60000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' + const positionData = '0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000029601161ad5da8c54435f4065af3a0ee30cb24dd00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000d86821017a3f60000000000000000000000000000000000000000000000000000000000000b274d080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000574fbde60000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' let tx = await migrator.onStateReceive("348", positionData) await tx.wait()