@enzymefinance/testutils 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +11 -0
- package/dist/declarations/src/assertions.d.ts +4 -0
- package/dist/declarations/src/deployment.d.ts +81 -0
- package/dist/declarations/src/helpers.d.ts +2 -0
- package/dist/declarations/src/index.d.ts +5 -0
- package/dist/declarations/src/scaffolding/assets.d.ts +12 -0
- package/dist/declarations/src/scaffolding/chainlink.d.ts +3 -0
- package/dist/declarations/src/scaffolding/common.d.ts +6 -0
- package/dist/declarations/src/scaffolding/core.d.ts +19 -0
- package/dist/declarations/src/scaffolding/extensions/common.d.ts +11 -0
- package/dist/declarations/src/scaffolding/extensions/fees.d.ts +14 -0
- package/dist/declarations/src/scaffolding/extensions/index.d.ts +4 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +19 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/alpha.d.ts +36 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +27 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +331 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +57 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +14 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/kyber.d.ts +23 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +32 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +22 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +25 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +17 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +46 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +15 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +22 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +12 -0
- package/dist/declarations/src/scaffolding/extensions/policies.d.ts +15 -0
- package/dist/declarations/src/scaffolding/index.d.ts +9 -0
- package/dist/declarations/src/scaffolding/peripheral/index.d.ts +1 -0
- package/dist/declarations/src/scaffolding/peripheral/sharesRequestors.d.ts +19 -0
- package/dist/declarations/src/scaffolding/setup.d.ts +46 -0
- package/dist/declarations/src/scaffolding/shares.d.ts +30 -0
- package/dist/declarations/src/scaffolding/vaultCalls.d.ts +17 -0
- package/dist/declarations/src/whales.d.ts +43 -0
- package/dist/enzymefinance-testutils.browser.cjs.js +3160 -0
- package/dist/enzymefinance-testutils.browser.esm.js +3045 -0
- package/dist/enzymefinance-testutils.cjs.d.ts +1 -0
- package/dist/enzymefinance-testutils.cjs.dev.js +3160 -0
- package/dist/enzymefinance-testutils.cjs.js +7 -0
- package/dist/enzymefinance-testutils.cjs.prod.js +3160 -0
- package/dist/enzymefinance-testutils.esm.js +3045 -0
- package/package.json +18 -0
- package/src/assertions.ts +20 -0
- package/src/deployment.ts +169 -0
- package/src/helpers.ts +6 -0
- package/src/index.ts +5 -0
- package/src/scaffolding/assets.ts +39 -0
- package/src/scaffolding/chainlink.ts +8 -0
- package/src/scaffolding/common.ts +6 -0
- package/src/scaffolding/core.ts +77 -0
- package/src/scaffolding/extensions/common.ts +30 -0
- package/src/scaffolding/extensions/fees.ts +87 -0
- package/src/scaffolding/extensions/index.ts +4 -0
- package/src/scaffolding/extensions/integrations/aave.ts +80 -0
- package/src/scaffolding/extensions/integrations/alpha.ts +119 -0
- package/src/scaffolding/extensions/integrations/compound.ts +97 -0
- package/src/scaffolding/extensions/integrations/curve.ts +1207 -0
- package/src/scaffolding/extensions/integrations/idle.ts +215 -0
- package/src/scaffolding/extensions/integrations/index.ts +14 -0
- package/src/scaffolding/extensions/integrations/kyber.ts +69 -0
- package/src/scaffolding/extensions/integrations/mock.ts +118 -0
- package/src/scaffolding/extensions/integrations/paraSwapV4.ts +65 -0
- package/src/scaffolding/extensions/integrations/synthetix.ts +97 -0
- package/src/scaffolding/extensions/integrations/trackedAssets.ts +66 -0
- package/src/scaffolding/extensions/integrations/uniswapV2.ts +171 -0
- package/src/scaffolding/extensions/integrations/uniswapV3.ts +56 -0
- package/src/scaffolding/extensions/integrations/yearn.ts +81 -0
- package/src/scaffolding/extensions/integrations/zeroExV2.ts +45 -0
- package/src/scaffolding/extensions/policies.ts +85 -0
- package/src/scaffolding/index.ts +9 -0
- package/src/scaffolding/peripheral/index.ts +1 -0
- package/src/scaffolding/peripheral/sharesRequestors.ts +53 -0
- package/src/scaffolding/setup.ts +135 -0
- package/src/scaffolding/shares.ts +63 -0
- package/src/scaffolding/vaultCalls.ts +58 -0
- package/src/types.d.ts +1 -0
- package/src/whales.ts +63 -0
- package/tsconfig.json +4 -0
package/src/types.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
import '@enzymefinance/hardhat/types';
|
package/src/whales.ts
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
import { resolveAddress } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
|
4
|
+
const whales = {
|
5
|
+
adai: '0x62e41b1185023bcc14a465d350e1dde341557925',
|
6
|
+
ausdc: '0x3ddfa8ec3052539b6c9549f12cea2c295cff5296',
|
7
|
+
bat: '0x12274c71304bc0e6b38a56b94d2949b118feb838',
|
8
|
+
bnb: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
|
9
|
+
bnt: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
|
10
|
+
comp: '0xC89b6f0146642688bb254bF93C28fcCF1E182C81',
|
11
|
+
crv: '0x4ce799e6eD8D64536b67dD428565d52A531B3640',
|
12
|
+
dai: '0x16463c0fdb6ba9618909f5b120ea1581618c1b9e',
|
13
|
+
knc: '0x9d1167df52328db20d5d77288dce6ae3ef3a3e1f',
|
14
|
+
ldo: '0x3dba737ccc50a32a1764b493285dd51c8af6c278',
|
15
|
+
link: '0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6',
|
16
|
+
mana: '0xefb94ac00f1cee8a89d5c3f49faa799da6f03024',
|
17
|
+
mln: '0xd8f8a53945bcfbbc19da162aa405e662ef71c40d',
|
18
|
+
repv2: '0x5d65a134fd84b724c34703b88b20b0d84d22d918',
|
19
|
+
ren: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8',
|
20
|
+
uni: '0x47173b170c64d16393a52e6c480b3ad8c302ba1e',
|
21
|
+
usdc: '0xae2d4617c862309a3d75a0ffb358c7a5009c673f',
|
22
|
+
usdt: '0x5041ed759dd4afc3a72b8192c143f72f4724081a',
|
23
|
+
weth: '0xe08A8b19e5722a201EaF20A6BC595eF655397bd5',
|
24
|
+
zrx: '0x206376e8940e42538781cd94ef024df3c1e0fd43',
|
25
|
+
cbat: '0x285306442cd985cab2c30515cfdab106fca7bc44',
|
26
|
+
ccomp: '0xd74f186194ab9219fafac5c2fe4b3270169666db',
|
27
|
+
cdai: '0x2bddEd18E2CA464355091266B7616956944ee7eE',
|
28
|
+
ceth: '0xdb5aa12ad695ef2a28c6cdb69f2bb04bed20a48e',
|
29
|
+
crep: '0xc2386de1b7271a87b416f4605d500846e826a185',
|
30
|
+
cuni: '0x767ecb395def19ab8d1b2fcc89b3ddfbed28fd6b',
|
31
|
+
cusdc: '0x9b4772e59385ec732bccb06018e318b7b3477459',
|
32
|
+
czrx: '0x57ca561798413a20508b6bc997481e784f3e6e5f',
|
33
|
+
seth: '0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c',
|
34
|
+
seur: '0xca17ef1925d49931918e3fde7aa4516a3a4958c4',
|
35
|
+
susd: '0x49BE88F0fcC3A8393a59d3688480d7D253C37D2A',
|
36
|
+
lidoSteth: '0x31f644e2dd5d74f5c8d6d9de89dd517474d51800',
|
37
|
+
eurs: '0x98ed26de6451db36246672df78ae7c50f2c76f6d',
|
38
|
+
idle: '0x34aaa3d5a73d6f9594326d0422ce69748f09b14f',
|
39
|
+
} as const;
|
40
|
+
|
41
|
+
export type Whale = keyof typeof whales;
|
42
|
+
export type WhaleSigners<T extends Partial<Whale> = Whale> = Record<T, SignerWithAddress>;
|
43
|
+
|
44
|
+
export async function unlockWhale(token: Whale) {
|
45
|
+
const address = resolveAddress(whales[token]);
|
46
|
+
await provider.send('hardhat_impersonateAccount', [address]);
|
47
|
+
return provider.getSignerWithAddress(address);
|
48
|
+
}
|
49
|
+
|
50
|
+
export async function unlockAllWhales() {
|
51
|
+
const keys = Object.keys(whales) as Whale[];
|
52
|
+
const signers = await Promise.all(keys.map(async (token) => unlockWhale(token)));
|
53
|
+
return keys.reduce((carry, key, index) => {
|
54
|
+
return { ...carry, [key]: signers[index] };
|
55
|
+
}, {} as WhaleSigners);
|
56
|
+
}
|
57
|
+
|
58
|
+
export async function unlockWhales<T extends Whale>(...tokens: T[]) {
|
59
|
+
const signers = await Promise.all(tokens.map(async (token) => unlockWhale(token)));
|
60
|
+
return tokens.reduce((carry, key, index) => {
|
61
|
+
return { ...carry, [key]: signers[index] };
|
62
|
+
}, {} as WhaleSigners<T>);
|
63
|
+
}
|
package/tsconfig.json
ADDED