mirror of
https://github.com/Instadapp/dsa-connectors.git
synced 2024-07-29 22:37:00 +00:00
fantom test support
This commit is contained in:
parent
3cc14fadce
commit
e8ee380321
|
@ -6,6 +6,7 @@ import { tokenMapping as polygonMapping } from "./polygon/tokens";
|
||||||
import { tokenMapping as avalancheMapping } from "./avalanche/tokens";
|
import { tokenMapping as avalancheMapping } from "./avalanche/tokens";
|
||||||
import { tokenMapping as optimismMapping } from "./optimism/tokens";
|
import { tokenMapping as optimismMapping } from "./optimism/tokens";
|
||||||
import { tokenMapping as arbitrumMapping } from "./arbitrum/tokens";
|
import { tokenMapping as arbitrumMapping } from "./arbitrum/tokens";
|
||||||
|
import { tokenMapping as fantomMapping } from "./fantom/tokens";
|
||||||
|
|
||||||
const mineTx = async (tx: any) => {
|
const mineTx = async (tx: any) => {
|
||||||
await (await tx).wait();
|
await (await tx).wait();
|
||||||
|
@ -16,7 +17,8 @@ const tokenMapping: Record<string, Record<string, any>> = {
|
||||||
polygon: polygonMapping,
|
polygon: polygonMapping,
|
||||||
avalanche: avalancheMapping,
|
avalanche: avalancheMapping,
|
||||||
optimism: optimismMapping,
|
optimism: optimismMapping,
|
||||||
arbitrum: arbitrumMapping
|
arbitrum: arbitrumMapping,
|
||||||
|
fantom: fantomMapping
|
||||||
};
|
};
|
||||||
|
|
||||||
export async function addLiquidity(tokenName: string, address: any, amt: any) {
|
export async function addLiquidity(tokenName: string, address: any, amt: any) {
|
||||||
|
|
|
@ -4,6 +4,7 @@ import { addresses as addressesPolygon } from "./polygon/addresses";
|
||||||
import { addresses as addressesArbitrum } from "./arbitrum/addresses";
|
import { addresses as addressesArbitrum } from "./arbitrum/addresses";
|
||||||
import { addresses as addressesAvalanche } from "./avalanche/addresses";
|
import { addresses as addressesAvalanche } from "./avalanche/addresses";
|
||||||
import { addresses as addressesOptimism } from "./optimism/addresses";
|
import { addresses as addressesOptimism } from "./optimism/addresses";
|
||||||
|
import { addresses as addressesFantom } from "./fantom/addresses";
|
||||||
import { addresses } from "./mainnet/addresses";
|
import { addresses } from "./mainnet/addresses";
|
||||||
import { abis } from "../constant/abis";
|
import { abis } from "../constant/abis";
|
||||||
import { abi } from "../../deployements/mainnet/Implementation_m1.sol/InstaImplementationM1.json";
|
import { abi } from "../../deployements/mainnet/Implementation_m1.sol/InstaImplementationM1.json";
|
||||||
|
@ -13,6 +14,7 @@ function getAddress(network: string | undefined) {
|
||||||
else if (network === "arbitrum") return addressesArbitrum.core.instaIndex;
|
else if (network === "arbitrum") return addressesArbitrum.core.instaIndex;
|
||||||
else if (network === "avalanche") return addressesAvalanche.core.instaIndex;
|
else if (network === "avalanche") return addressesAvalanche.core.instaIndex;
|
||||||
else if (network === "optimism") return addressesOptimism.core.instaIndex;
|
else if (network === "optimism") return addressesOptimism.core.instaIndex;
|
||||||
|
else if (network === "fantom") return addressesFantom.core.instaIndex;
|
||||||
else return addresses.core.instaIndex;
|
else return addresses.core.instaIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ import { abis } from "../constant/abis";
|
||||||
import { addresses as addressesArbitrum } from "./arbitrum/addresses";
|
import { addresses as addressesArbitrum } from "./arbitrum/addresses";
|
||||||
import { addresses as addressesAvalanche } from "./avalanche/addresses";
|
import { addresses as addressesAvalanche } from "./avalanche/addresses";
|
||||||
import { addresses as addressesOptimism } from "./optimism/addresses";
|
import { addresses as addressesOptimism } from "./optimism/addresses";
|
||||||
|
import { addresses as addressesFantom } from "./fantom/addresses";
|
||||||
|
|
||||||
import hre from "hardhat";
|
import hre from "hardhat";
|
||||||
import type { Signer, Contract } from "ethers";
|
import type { Signer, Contract } from "ethers";
|
||||||
|
@ -24,6 +25,7 @@ function getAddress(network: string | undefined) {
|
||||||
else if (network === "arbitrum") return addressesArbitrum;
|
else if (network === "arbitrum") return addressesArbitrum;
|
||||||
else if (network === "avalanche") return addressesAvalanche;
|
else if (network === "avalanche") return addressesAvalanche;
|
||||||
else if (network === "optimism") return addressesOptimism;
|
else if (network === "optimism") return addressesOptimism;
|
||||||
|
else if (network === "fantom") return addressesFantom;
|
||||||
else return addresses;
|
else return addresses;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
11
scripts/tests/fantom/addresses.ts
Normal file
11
scripts/tests/fantom/addresses.ts
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
export const addresses: Record<string, any> = {
|
||||||
|
connectors: {
|
||||||
|
// basic: "0x6214f9c4F9700fc7a50B5f9aEEB819d647406Ac7",
|
||||||
|
// auth: "0xD6daA927ad756a4022858dddcc4E26137b30DB4D",
|
||||||
|
// "INSTAPOOL-A": "0x8f1e38c53af7bD2b2bE01b9580911b7Cca504F1b",
|
||||||
|
},
|
||||||
|
core: {
|
||||||
|
connectorsV2: "0x819910794a030403F69247E1e5C0bBfF1593B968",
|
||||||
|
instaIndex: "0x2fa042BEEB7A40A7078EaA5aC755e3842248292b",
|
||||||
|
},
|
||||||
|
};
|
64
scripts/tests/fantom/tokens.ts
Normal file
64
scripts/tests/fantom/tokens.ts
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
import { Provider } from "@ethersproject/abstract-provider";
|
||||||
|
import { Signer } from "@ethersproject/abstract-signer";
|
||||||
|
import { ethers } from "hardhat";
|
||||||
|
|
||||||
|
const mineTx = async (tx: any) => {
|
||||||
|
await (await tx).wait();
|
||||||
|
};
|
||||||
|
|
||||||
|
export const tokens = {
|
||||||
|
ftm: {
|
||||||
|
type: "token",
|
||||||
|
symbol: "FTM",
|
||||||
|
name: "Fantom",
|
||||||
|
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
|
||||||
|
decimals: 18,
|
||||||
|
},
|
||||||
|
dai: {
|
||||||
|
type: "token",
|
||||||
|
symbol: "DAI",
|
||||||
|
name: "DAI Stable",
|
||||||
|
address: "0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E",
|
||||||
|
decimals: 18,
|
||||||
|
},
|
||||||
|
usdc: {
|
||||||
|
type: "token",
|
||||||
|
symbol: "USDC",
|
||||||
|
name: "USD Coin",
|
||||||
|
address: "0x04068DA6C83AFCFA0e13ba15A6696662335D5B75",
|
||||||
|
decimals: 6,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const tokenMapping: Record<string, any> = {
|
||||||
|
usdc: {
|
||||||
|
impersonateSigner: "0x4188663a85C92EEa35b5AD3AA5cA7CeB237C6fe9",
|
||||||
|
address: "0x04068DA6C83AFCFA0e13ba15A6696662335D5B75",
|
||||||
|
abi: [
|
||||||
|
"function mint(address _to, uint256 _amount) external returns (bool);",
|
||||||
|
],
|
||||||
|
process: async function (owner: Signer | Provider, to: any, amt: any) {
|
||||||
|
const contract = new ethers.Contract(this.address, this.abi, owner);
|
||||||
|
|
||||||
|
await mineTx(contract.mint(to, amt));
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dai: {
|
||||||
|
impersonateSigner: "0x9bdB521a97E95177BF252C253E256A60C3e14447",
|
||||||
|
address: "0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E",
|
||||||
|
abi: ["function transfer(address to, uint value)"],
|
||||||
|
process: async function (owner: Signer | Provider, to: any, amt: any) {
|
||||||
|
const contract = new ethers.Contract(this.address, this.abi, owner);
|
||||||
|
await mineTx(contract.transfer(to, amt));
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// inst: {
|
||||||
|
// impersonateSigner: "0x75e89d5979E4f6Fba9F97c104c2F0AFB3F1dcB88",
|
||||||
|
// address: "0x6f40d4a6237c257fff2db00fa0510deeecd303eb",
|
||||||
|
// abi: ["function transfer(address to, uint value)"],
|
||||||
|
// process: async function (owner: Signer | Provider, address: any, amt: any) {
|
||||||
|
// const contract = new ethers.Contract(this.address, this.abi, owner);
|
||||||
|
// await mineTx(contract.transfer(address, amt));
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
};
|
|
@ -4,6 +4,7 @@ import { addresses as addressesPolygon } from "./polygon/addresses";
|
||||||
import { addresses as addressesArbitrum } from "./arbitrum/addresses";
|
import { addresses as addressesArbitrum } from "./arbitrum/addresses";
|
||||||
import { addresses as addressesAvalanche } from "./avalanche/addresses";
|
import { addresses as addressesAvalanche } from "./avalanche/addresses";
|
||||||
import { addresses as addressesOptimism } from "./optimism/addresses";
|
import { addresses as addressesOptimism } from "./optimism/addresses";
|
||||||
|
import { addresses as addressesFantom } from "./fantom/addresses";
|
||||||
import { abis } from "../constant/abis";
|
import { abis } from "../constant/abis";
|
||||||
|
|
||||||
function getAddress(network: string | undefined) {
|
function getAddress(network: string | undefined) {
|
||||||
|
@ -11,6 +12,7 @@ function getAddress(network: string | undefined) {
|
||||||
else if (network === "arbitrum") return addressesArbitrum.core.instaIndex;
|
else if (network === "arbitrum") return addressesArbitrum.core.instaIndex;
|
||||||
else if (network === "avalanche") return addressesAvalanche.core.instaIndex;
|
else if (network === "avalanche") return addressesAvalanche.core.instaIndex;
|
||||||
else if (network === "optimism") return addressesOptimism.core.instaIndex;
|
else if (network === "optimism") return addressesOptimism.core.instaIndex;
|
||||||
|
else if (network === "fantom") return addressesFantom.core.instaIndex;
|
||||||
else return addresses.core.instaIndex;
|
else return addresses.core.instaIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ async function testRunner() {
|
||||||
name: "chain",
|
name: "chain",
|
||||||
message: "What chain do you want to run tests on?",
|
message: "What chain do you want to run tests on?",
|
||||||
type: "list",
|
type: "list",
|
||||||
choices: ["mainnet", "polygon", "avalanche", "arbitrum", "optimism"],
|
choices: ["mainnet", "polygon", "avalanche", "arbitrum", "optimism", "fantom"],
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
const testsPath = join(__dirname, "../../test", chain);
|
const testsPath = join(__dirname, "../../test", chain);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user