mirror of
https://github.com/Instadapp/dsa-connectors.git
synced 2024-07-29 22:37:00 +00:00
updated scripts
This commit is contained in:
parent
3ed6a483dc
commit
e7b0de2dda
|
@ -63,7 +63,7 @@ const tokenMapping = {
|
|||
},
|
||||
};
|
||||
|
||||
module.exports = async (tokenName: string, address: any, amt: any) => {
|
||||
export async function addLiquidity(tokenName: string, address: any, amt: any) {
|
||||
const [signer] = await ethers.getSigners();
|
||||
tokenName = tokenName.toLowerCase();
|
||||
if (!tokenMapping[tokenName]) {
|
||||
|
@ -85,4 +85,4 @@ module.exports = async (tokenName: string, address: any, amt: any) => {
|
|||
});
|
||||
|
||||
await token.process(impersonatedSigner, address, amt);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import { addresses } from "./constant/addresses";
|
|||
import { abis } from "./constant/abis";
|
||||
import { abi } from "../deployements/mainnet/Implementation_m1.sol/InstaImplementationM1.json";
|
||||
|
||||
export default async function(owner: any) {
|
||||
export async function buildDSAv2(owner: any) {
|
||||
const instaIndex = await ethers.getContractAt(
|
||||
abis.core.instaIndex,
|
||||
addresses.core.instaIndex
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
const hre = require("hardhat");
|
||||
const { ethers } = hre;
|
||||
|
||||
const deployConnector = require("./deployConnector");
|
||||
|
||||
async function main() {
|
||||
const accounts = await hre.ethers.getSigners()
|
||||
const wallet = accounts[0]
|
||||
|
||||
const connectMapping = {
|
||||
'1INCH-A': 'ConnectV2OneInch',
|
||||
'1INCH-B': 'ConnectV2OneProto',
|
||||
'AAVE-V1-A': 'ConnectV2AaveV1',
|
||||
'AAVE-V2-A': 'ConnectV2AaveV2',
|
||||
'AUTHORITY-A': 'ConnectV2Auth',
|
||||
'BASIC-A': 'ConnectV2Basic',
|
||||
'COMP-A': 'ConnectV2COMP',
|
||||
'COMPOUND-A': 'ConnectV2Compound',
|
||||
'DYDX-A': 'ConnectV2Dydx',
|
||||
'FEE-A': 'ConnectV2Fee',
|
||||
'GELATO-A': 'ConnectV2Gelato',
|
||||
'MAKERDAO-A': 'ConnectV2Maker',
|
||||
'UNISWAP-A': 'ConnectV2UniswapV2'
|
||||
}
|
||||
|
||||
const addressMapping = {}
|
||||
|
||||
for (const key in connectMapping) {
|
||||
addressMapping[key] = await deployConnector(connectMapping[key])
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
.then(() => process.exit(0))
|
||||
.catch(error => {
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
});
|
36
scripts/deploy.ts
Normal file
36
scripts/deploy.ts
Normal file
|
@ -0,0 +1,36 @@
|
|||
import { ethers } from "hardhat";
|
||||
import { deployConnector } from "./deployConnector";
|
||||
|
||||
async function main() {
|
||||
const accounts = await ethers.getSigners();
|
||||
const wallet = accounts[0];
|
||||
|
||||
const connectMapping = {
|
||||
"1INCH-A": "ConnectV2OneInch",
|
||||
"1INCH-B": "ConnectV2OneProto",
|
||||
"AAVE-V1-A": "ConnectV2AaveV1",
|
||||
"AAVE-V2-A": "ConnectV2AaveV2",
|
||||
"AUTHORITY-A": "ConnectV2Auth",
|
||||
"BASIC-A": "ConnectV2Basic",
|
||||
"COMP-A": "ConnectV2COMP",
|
||||
"COMPOUND-A": "ConnectV2Compound",
|
||||
"DYDX-A": "ConnectV2Dydx",
|
||||
"FEE-A": "ConnectV2Fee",
|
||||
"GELATO-A": "ConnectV2Gelato",
|
||||
"MAKERDAO-A": "ConnectV2Maker",
|
||||
"UNISWAP-A": "ConnectV2UniswapV2",
|
||||
};
|
||||
|
||||
const addressMapping = {};
|
||||
|
||||
for (const key in connectMapping) {
|
||||
addressMapping[key] = await deployConnector(connectMapping[key]);
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
.then(() => process.exit(0))
|
||||
.catch((error) => {
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
});
|
|
@ -1,19 +0,0 @@
|
|||
const abis = require("./constant/abis");
|
||||
const addresses = require("./constant/addresses");
|
||||
|
||||
const hre = require("hardhat");
|
||||
const { ethers, waffle } = hre;
|
||||
const { deployContract } = waffle;
|
||||
const fs = require("fs")
|
||||
|
||||
|
||||
module.exports = async function ({connectorName, contractArtifact, signer, connectors}) {
|
||||
const connectorInstanace = await deployContract(signer, contractArtifact, []);
|
||||
|
||||
await connectors.connect(signer).addConnectors([connectorName], [connectorInstanace.address])
|
||||
|
||||
addresses.connectors[connectorName] = connectorInstanace.address
|
||||
abis.connectors[connectorName] = contractArtifact.abi;
|
||||
|
||||
return connectorInstanace;
|
||||
};
|
25
scripts/deployAndEnableConnector.ts
Normal file
25
scripts/deployAndEnableConnector.ts
Normal file
|
@ -0,0 +1,25 @@
|
|||
import { addresses } from "./constant/addresses";
|
||||
import { abis } from "./constant/abis";
|
||||
|
||||
// const { deployContract } = waffle;
|
||||
import { ethers } from "hardhat";
|
||||
import { promises as fs } from "fs";
|
||||
import { deployContract } from "ethereum-waffle";
|
||||
|
||||
export async function deployAndEnableConnector({
|
||||
connectorName,
|
||||
contractArtifact,
|
||||
signer,
|
||||
connectors,
|
||||
}) {
|
||||
const connectorInstanace = await deployContract(signer, contractArtifact, []);
|
||||
|
||||
await connectors
|
||||
.connect(signer)
|
||||
.addConnectors([connectorName], [connectorInstanace.address]);
|
||||
|
||||
addresses.connectors[connectorName] = connectorInstanace.address;
|
||||
abis.connectors[connectorName] = contractArtifact.abi;
|
||||
|
||||
return connectorInstanace;
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
const hre = require("hardhat");
|
||||
const { ethers } = hre;
|
||||
|
||||
module.exports = async (connectorName) => {
|
||||
const Connector = await ethers.getContractFactory(connectorName);
|
||||
const connector = await Connector.deploy();
|
||||
await connector.deployed();
|
||||
|
||||
console.log(`${connectorName} Deployed: ${connector.address}`);
|
||||
|
||||
try {
|
||||
await hre.run("verify:verify", {
|
||||
address: connector.address,
|
||||
constructorArguments: []
|
||||
}
|
||||
)
|
||||
} catch (error) {
|
||||
console.log(`Failed to verify: ${connectorName}@${connector.address}`)
|
||||
console.log(error)
|
||||
console.log()
|
||||
}
|
||||
|
||||
return connector.address
|
||||
}
|
10
scripts/deployConnector.ts
Normal file
10
scripts/deployConnector.ts
Normal file
|
@ -0,0 +1,10 @@
|
|||
import { ethers } from "hardhat";
|
||||
|
||||
export const deployConnector = async (connectorName: string) => {
|
||||
const Connector = await ethers.getContractFactory(connectorName);
|
||||
const connector = await Connector.deploy();
|
||||
await connector.deployed();
|
||||
|
||||
console.log(`${connectorName} Deployed: ${connector.address}`);
|
||||
return connector.address;
|
||||
};
|
|
@ -1,18 +0,0 @@
|
|||
const abis = require("./constant/abis");
|
||||
const addresses = require("./constant/addresses");
|
||||
const { web3 } = hre;
|
||||
|
||||
module.exports = function (spells) {
|
||||
const targets = spells.map(a => a.connector)
|
||||
const calldatas = spells.map(a => {
|
||||
const functionName = a.method;
|
||||
// console.log(functionName)
|
||||
const abi = abis.connectors[a.connector].find(b => {
|
||||
return b.name === functionName
|
||||
});
|
||||
// console.log(functionName)
|
||||
if (!abi) throw new Error("Couldn't find function")
|
||||
return web3.eth.abi.encodeFunctionCall(abi, a.args)
|
||||
})
|
||||
return [targets, calldatas]
|
||||
};
|
18
scripts/encodeSpells.ts
Normal file
18
scripts/encodeSpells.ts
Normal file
|
@ -0,0 +1,18 @@
|
|||
import { web3 } from "hardhat";
|
||||
import { addresses } from "./constant/addresses";
|
||||
import { abis } from "./constant/abis";
|
||||
|
||||
export function encodeSpells(spells: any[]) {
|
||||
const targets = spells.map((a) => a.connector);
|
||||
const calldatas = spells.map((a) => {
|
||||
const functionName = a.method;
|
||||
// console.log(functionName)
|
||||
const abi = abis.connectors[a.connector].find((b) => {
|
||||
return b.name === functionName;
|
||||
});
|
||||
// console.log(functionName)
|
||||
if (!abi) throw new Error("Couldn't find function");
|
||||
return web3.eth.abi.encodeFunctionCall(abi, a.args);
|
||||
});
|
||||
return [targets, calldatas];
|
||||
}
|
|
@ -1,9 +1,8 @@
|
|||
const hre = require("hardhat");
|
||||
const { ethers } = hre;
|
||||
const addresses = require("./constant/addresses");
|
||||
const abis = require("./constant/abis");
|
||||
import { ethers, network } from "hardhat";
|
||||
import { addresses } from "./constant/addresses";
|
||||
import { abis } from "./constant/abis";
|
||||
|
||||
module.exports = async function() {
|
||||
export async function getMasterSigner() {
|
||||
const [_, __, ___, wallet3] = await ethers.getSigners();
|
||||
const instaIndex = new ethers.Contract(
|
||||
addresses.core.instaIndex,
|
||||
|
@ -12,7 +11,7 @@ module.exports = async function() {
|
|||
);
|
||||
|
||||
const masterAddress = await instaIndex.master(); // TODO: make it constant?
|
||||
await hre.network.provider.request({
|
||||
await network.provider.request({
|
||||
method: "hardhat_impersonateAccount",
|
||||
params: [masterAddress],
|
||||
});
|
||||
|
@ -22,4 +21,4 @@ module.exports = async function() {
|
|||
});
|
||||
|
||||
return await ethers.getSigner(masterAddress);
|
||||
};
|
||||
}
|
|
@ -10,6 +10,5 @@ export const impersonateAccounts = async (accounts: any) => {
|
|||
|
||||
signers.push(await ethers.getSigner(account));
|
||||
}
|
||||
|
||||
return signers;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user