@paraswap/dex-lib 4.0.9-fluid-dex-arb.0 → 4.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/abi/aavev3statav2/Factory.json +131 -0
- package/build/abi/aavev3statav2/Pool.json +1459 -0
- package/build/abi/aavev3statav2/Token.json +997 -0
- package/build/dex/aave-v2/tokenlist.json +904 -0
- package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.d.ts +49 -0
- package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.js +449 -0
- package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.js.map +1 -0
- package/build/dex/aave-v3-stata-v2/config.d.ts +3 -0
- package/build/dex/aave-v3-stata-v2/config.js +21 -0
- package/build/dex/aave-v3-stata-v2/config.js.map +1 -0
- package/build/dex/aave-v3-stata-v2/tokens.d.ts +10 -0
- package/build/dex/aave-v3-stata-v2/tokens.js +43 -0
- package/build/dex/aave-v3-stata-v2/tokens.js.map +1 -0
- package/build/dex/aave-v3-stata-v2/types.d.ts +49 -0
- package/build/dex/aave-v3-stata-v2/types.js +25 -0
- package/build/dex/aave-v3-stata-v2/types.js.map +1 -0
- package/build/dex/aave-v3-stata-v2/utils.d.ts +4 -0
- package/build/dex/aave-v3-stata-v2/utils.js +67 -0
- package/build/dex/aave-v3-stata-v2/utils.js.map +1 -0
- package/package.json +1 -1
- package/src/dex/fluid-dex/fluid-dex-e2e.test.ts +38 -0
- package/tests/constants-e2e.ts +6 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Rounding = exports.StataFunctions = exports.TokenType = void 0;
|
|
4
|
+
var TokenType;
|
|
5
|
+
(function (TokenType) {
|
|
6
|
+
TokenType[TokenType["UNDERLYING"] = 0] = "UNDERLYING";
|
|
7
|
+
TokenType[TokenType["A_TOKEN"] = 1] = "A_TOKEN";
|
|
8
|
+
TokenType[TokenType["STATA_TOKEN"] = 2] = "STATA_TOKEN";
|
|
9
|
+
TokenType[TokenType["UNKNOWN"] = 3] = "UNKNOWN";
|
|
10
|
+
})(TokenType || (exports.TokenType = TokenType = {}));
|
|
11
|
+
var StataFunctions;
|
|
12
|
+
(function (StataFunctions) {
|
|
13
|
+
StataFunctions["deposit"] = "deposit";
|
|
14
|
+
StataFunctions["depositATokens"] = "depositATokens";
|
|
15
|
+
StataFunctions["redeem"] = "redeem";
|
|
16
|
+
StataFunctions["redeemATokens"] = "redeemATokens";
|
|
17
|
+
StataFunctions["mint"] = "mint";
|
|
18
|
+
StataFunctions["withdraw"] = "withdraw";
|
|
19
|
+
})(StataFunctions || (exports.StataFunctions = StataFunctions = {}));
|
|
20
|
+
var Rounding;
|
|
21
|
+
(function (Rounding) {
|
|
22
|
+
Rounding["UP"] = "UP";
|
|
23
|
+
Rounding["DOWN"] = "DOWN";
|
|
24
|
+
})(Rounding || (exports.Rounding = Rounding = {}));
|
|
25
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata-v2/types.ts"],"names":[],"mappings":";;;AAIA,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,qDAAU,CAAA;IACV,+CAAO,CAAA;IACP,uDAAW,CAAA;IACX,+CAAO,CAAA;AACT,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAyCD,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mDAAiC,CAAA;IACjC,mCAAiB,CAAA;IACjB,iDAA+B,CAAA;IAC/B,+BAAa,CAAA;IACb,uCAAqB,CAAA;AACvB,CAAC,EAPW,cAAc,8BAAd,cAAc,QAOzB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,yBAAa,CAAA;AACf,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import Web3 from 'web3';
|
|
2
|
+
import { MultiWrapper } from '../../lib/multi-wrapper';
|
|
3
|
+
import { StataToken } from './types';
|
|
4
|
+
export declare const fetchTokenList: (web3Provider: Web3, factoryAddresses: string[], multiWrapper: MultiWrapper, blockNumber?: number) => Promise<StataToken[]>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.fetchTokenList = void 0;
|
|
7
|
+
// import {
|
|
8
|
+
// IStaticATokenFactory_ABI,
|
|
9
|
+
// IStaticATokenLM_ABI,
|
|
10
|
+
// } from '@bgd-labs/aave-address-book';
|
|
11
|
+
const abi_1 = require("@ethersproject/abi");
|
|
12
|
+
const decoders_1 = require("../../lib/decoders");
|
|
13
|
+
const Factory_json_1 = __importDefault(require("../../abi/aavev3statav2/Factory.json"));
|
|
14
|
+
const Token_json_1 = __importDefault(require("../../abi/aavev3statav2/Token.json"));
|
|
15
|
+
// const stataInterface = new Interface(IStaticATokenLM_ABI);
|
|
16
|
+
const statav2Interface = new abi_1.Interface(Token_json_1.default);
|
|
17
|
+
async function getTokenMetaData(stataTokens, multiWrapper, blockNumber) {
|
|
18
|
+
const calls = stataTokens
|
|
19
|
+
.map(token => {
|
|
20
|
+
return [
|
|
21
|
+
{
|
|
22
|
+
target: token,
|
|
23
|
+
callData: statav2Interface.encodeFunctionData('symbol'),
|
|
24
|
+
decodeFunction: decoders_1.stringDecode,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
target: token,
|
|
28
|
+
callData: statav2Interface.encodeFunctionData('decimals'),
|
|
29
|
+
decodeFunction: decoders_1.uint8ToNumber,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
target: token,
|
|
33
|
+
callData: statav2Interface.encodeFunctionData('asset'),
|
|
34
|
+
decodeFunction: decoders_1.addressDecode,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
target: token,
|
|
38
|
+
callData: statav2Interface.encodeFunctionData('aToken'),
|
|
39
|
+
decodeFunction: decoders_1.addressDecode,
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
})
|
|
43
|
+
.flat();
|
|
44
|
+
const results = await multiWrapper.aggregate(calls, blockNumber);
|
|
45
|
+
let tokenList = [];
|
|
46
|
+
for (let i = 0, x = 0; i < stataTokens.length; ++i, x += 4) {
|
|
47
|
+
tokenList.push({
|
|
48
|
+
address: stataTokens[i].toLowerCase(),
|
|
49
|
+
stataSymbol: results[x],
|
|
50
|
+
decimals: results[x + 1],
|
|
51
|
+
underlying: results[x + 2].toLowerCase(),
|
|
52
|
+
underlyingAToken: results[x + 3].toLowerCase(),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return tokenList;
|
|
56
|
+
}
|
|
57
|
+
const fetchTokenList = async (web3Provider, factoryAddresses, multiWrapper, blockNumber) => {
|
|
58
|
+
let stataList = (await Promise.all(factoryAddresses.map(async (factoryAddress) => {
|
|
59
|
+
let factoryContract = new web3Provider.eth.Contract(Factory_json_1.default,
|
|
60
|
+
// IStaticATokenFactory_ABI as any,
|
|
61
|
+
factoryAddress);
|
|
62
|
+
return await factoryContract.methods.getStataTokens().call();
|
|
63
|
+
}))).flat();
|
|
64
|
+
return getTokenMetaData(stataList, multiWrapper, blockNumber);
|
|
65
|
+
};
|
|
66
|
+
exports.fetchTokenList = fetchTokenList;
|
|
67
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata-v2/utils.ts"],"names":[],"mappings":";;;;;;AAAA,WAAW;AACX,8BAA8B;AAC9B,yBAAyB;AACzB,wCAAwC;AACxC,4CAA+C;AAG/C,iDAAgF;AAEhF,wFAA8D;AAC9D,oFAA0D;AAG1D,6DAA6D;AAC7D,MAAM,gBAAgB,GAAG,IAAI,eAAS,CAAC,oBAAQ,CAAC,CAAC;AAEjD,KAAK,UAAU,gBAAgB,CAC7B,WAAqB,EACrB,YAA0B,EAC1B,WAAoB;IAEpB,MAAM,KAAK,GAA2B,WAAW;SAC9C,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,OAAO;YACL;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,CAAC;gBACvD,cAAc,EAAE,uBAAY;aAC7B;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,UAAU,CAAC;gBACzD,cAAc,EAAE,wBAAa;aAC9B;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBACtD,cAAc,EAAE,wBAAa;aAC9B;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,CAAC;gBACvD,cAAc,EAAE,wBAAa;aAC9B;SACF,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAC1C,KAAK,EACL,WAAW,CACZ,CAAC;IAEF,IAAI,SAAS,GAAiB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,SAAS,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACrC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAW;YACjC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAW;YAClC,UAAU,EAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAY,CAAC,WAAW,EAAE;YACpD,gBAAgB,EAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAY,CAAC,WAAW,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,MAAM,cAAc,GAAG,KAAK,EACjC,YAAkB,EAClB,gBAA0B,EAC1B,YAA0B,EAC1B,WAAoB,EACG,EAAE;IACzB,IAAI,SAAS,GACX,CAAC,MAAM,OAAO,CAAC,GAAG,CAChB,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAC,cAAc,EAAC,EAAE;QAC1C,IAAI,eAAe,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CACjD,sBAAuB;QACvB,mCAAmC;QACnC,cAAc,CACf,CAAC;QAEF,OAAO,MAAM,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/D,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CAAC;IAET,OAAO,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC,CAAC;AArBW,QAAA,cAAc,kBAqBzB"}
|
package/package.json
CHANGED
|
@@ -169,6 +169,44 @@ describe('FluidDex E2E', () => {
|
|
|
169
169
|
);
|
|
170
170
|
});
|
|
171
171
|
});
|
|
172
|
+
|
|
173
|
+
describe('Arbitrum', () => {
|
|
174
|
+
const network = Network.ARBITRUM;
|
|
175
|
+
|
|
176
|
+
describe('ETH -> wstETH', () => {
|
|
177
|
+
const tokenASymbol: string = 'wstETH';
|
|
178
|
+
const tokenBSymbol: string = 'ETH';
|
|
179
|
+
|
|
180
|
+
const tokenAAmount: string = '1000000000000000';
|
|
181
|
+
const tokenBAmount: string = '1000000000000000';
|
|
182
|
+
|
|
183
|
+
testForNetwork(
|
|
184
|
+
network,
|
|
185
|
+
dexKey,
|
|
186
|
+
tokenASymbol,
|
|
187
|
+
tokenBSymbol,
|
|
188
|
+
tokenAAmount,
|
|
189
|
+
tokenBAmount,
|
|
190
|
+
);
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
describe('ETH -> weETH', () => {
|
|
194
|
+
const tokenBSymbol: string = 'ETH';
|
|
195
|
+
const tokenASymbol: string = 'weETH';
|
|
196
|
+
|
|
197
|
+
const tokenAAmount: string = '1000000000000000';
|
|
198
|
+
const tokenBAmount: string = '1000000000000000';
|
|
199
|
+
|
|
200
|
+
testForNetwork(
|
|
201
|
+
network,
|
|
202
|
+
dexKey,
|
|
203
|
+
tokenASymbol,
|
|
204
|
+
tokenBSymbol,
|
|
205
|
+
tokenAAmount,
|
|
206
|
+
tokenBAmount,
|
|
207
|
+
);
|
|
208
|
+
});
|
|
209
|
+
});
|
|
172
210
|
});
|
|
173
211
|
|
|
174
212
|
function NewColReservesOne(): CollateralReserves {
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -1308,6 +1308,10 @@ export const Tokens: {
|
|
|
1308
1308
|
address: '0x5979D7b546E38E414F7E9822514be443A4800529',
|
|
1309
1309
|
decimals: 18,
|
|
1310
1310
|
},
|
|
1311
|
+
weETH: {
|
|
1312
|
+
address: '0x35751007a407ca6FEFfE80b3cB397736D2cf4dbe',
|
|
1313
|
+
decimals: 18,
|
|
1314
|
+
},
|
|
1311
1315
|
RDPX: {
|
|
1312
1316
|
address: '0x32eb7902d4134bf98a28b963d26de779af92a212',
|
|
1313
1317
|
decimals: 18,
|
|
@@ -1957,6 +1961,7 @@ export const Holders: {
|
|
|
1957
1961
|
SEN: '0x76d39045d856caf9bfae12ba611ca4a94449a4f1',
|
|
1958
1962
|
RDPX: '0x115b818593c00da4f9d1d8f5ce7d7f88cce48bee',
|
|
1959
1963
|
ARB: '0xb65edba80a3d81903ecd499c8eb9cf0e19096bd0',
|
|
1964
|
+
weETH: '0xE957D8386d20D077F511E86672Fc7ee4b83067da',
|
|
1960
1965
|
ETH: '0xfa0a32e5c33b6123122b6b68099001d9371d14e9',
|
|
1961
1966
|
DAI: '0x2d070ed1321871841245d8ee5b84bd2712644322',
|
|
1962
1967
|
WETH: '0x3368e17064c9ba5d6f1f93c4c678bea00cc78555',
|
|
@@ -1983,7 +1988,7 @@ export const Holders: {
|
|
|
1983
1988
|
LINK: '0x7f1fa204bb700853d36994da19f830b6ad18455c',
|
|
1984
1989
|
DMT: '0x40414f138eb2ef938e6c3629897ef99d4464d4e8',
|
|
1985
1990
|
PENDLE: '0x5bdf85216ec1e38d6458c870992a69e38e03f7ef',
|
|
1986
|
-
wstETH: '
|
|
1991
|
+
wstETH: '0xb3843D7BBb8530f95e5bEaBeff451fA5380510a8',
|
|
1987
1992
|
EURA: '0x6dd7b830896b56812aa667bdd14b71c8b3252f8e',
|
|
1988
1993
|
stEUR: '0xE588611e7A2392507879E3be80531654b85C16aA',
|
|
1989
1994
|
USDA: '0xa86ff337db9107b54862d30d1a598f8be847b05e',
|