@paraswap/dex-lib 2.48.3 → 2.48.4-etherfi.0
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/algebra/AlgebraPool.abi.json +727 -0
- package/build/abi/etherfi/eETHPool.json +9 -0
- package/build/abi/etherfi/weETH.json +20 -0
- package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
- package/build/dex/algebra/algebra-pool.d.ts +46 -0
- package/build/dex/algebra/algebra-pool.js +336 -0
- package/build/dex/algebra/algebra-pool.js.map +1 -0
- package/build/dex/etherfi.d.ts +26 -0
- package/build/dex/etherfi.js +82 -0
- package/build/dex/etherfi.js.map +1 -0
- package/build/dex/index.js +2 -0
- package/build/dex/index.js.map +1 -1
- package/build/dex/quickswap/camelot-v3.d.ts +6 -0
- package/build/dex/quickswap/camelot-v3.js +19 -0
- package/build/dex/quickswap/camelot-v3.js.map +1 -0
- package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
- package/build/dex/quickswap/zyberswap-v3.js +19 -0
- package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
- package/build/dex/uniswap-v2/rebase-tokens.json +7 -0
- package/package.json +1 -1
- package/src/abi/etherfi/eETHPool.json +9 -0
- package/src/abi/etherfi/weETH.json +20 -0
- package/src/dex/etherfi.ts +144 -0
- package/src/dex/index.ts +2 -0
- package/build/abi/Redstone.json +0 -739
- package/build/abi/angle/stagToken.json +0 -963
- package/build/abi/angle-transmuter/Pyth.json +0 -1534
- package/build/abi/angle-transmuter/Transmuter.json +0 -1719
- package/build/abi/pharaoh/PharaohPool.abi.json +0 -1582
- package/build/abi/smardex/smardex-factory.json +0 -185
- package/build/abi/smardex/smardex-pool.json +0 -578
- package/build/abi/smardex/smardex-router.json +0 -648
- package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -1208
- package/build/abi/trader-joe-v2_1/PairABI.json +0 -1493
- package/build/abi/trader-joe-v2_1/RouterABI.json +0 -1489
- package/build/abi/trader-joe-v2_1/StateMulticall.json +0 -193
- package/build/dex/angle-staked-stable/angle-staked-stable-pool.d.ts +0 -53
- package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +0 -175
- package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +0 -1
- package/build/dex/angle-staked-stable/angle-staked-stable.d.ts +0 -42
- package/build/dex/angle-staked-stable/angle-staked-stable.js +0 -232
- package/build/dex/angle-staked-stable/angle-staked-stable.js.map +0 -1
- package/build/dex/angle-staked-stable/config.d.ts +0 -4
- package/build/dex/angle-staked-stable/config.js +0 -26
- package/build/dex/angle-staked-stable/config.js.map +0 -1
- package/build/dex/angle-staked-stable/types.d.ts +0 -15
- package/build/dex/angle-staked-stable/types.js +0 -3
- package/build/dex/angle-staked-stable/types.js.map +0 -1
- package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +0 -43
- package/build/dex/angle-transmuter/angle-transmuter-pool.js +0 -309
- package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +0 -1
- package/build/dex/angle-transmuter/angle-transmuter.d.ts +0 -46
- package/build/dex/angle-transmuter/angle-transmuter.js +0 -233
- package/build/dex/angle-transmuter/angle-transmuter.js.map +0 -1
- package/build/dex/angle-transmuter/backedOracle.d.ts +0 -19
- package/build/dex/angle-transmuter/backedOracle.js +0 -56
- package/build/dex/angle-transmuter/backedOracle.js.map +0 -1
- package/build/dex/angle-transmuter/config.d.ts +0 -4
- package/build/dex/angle-transmuter/config.js +0 -20
- package/build/dex/angle-transmuter/config.js.map +0 -1
- package/build/dex/angle-transmuter/constants.d.ts +0 -4
- package/build/dex/angle-transmuter/constants.js +0 -8
- package/build/dex/angle-transmuter/constants.js.map +0 -1
- package/build/dex/angle-transmuter/pyth.d.ts +0 -19
- package/build/dex/angle-transmuter/pyth.js +0 -71
- package/build/dex/angle-transmuter/pyth.js.map +0 -1
- package/build/dex/angle-transmuter/redstone.d.ts +0 -20
- package/build/dex/angle-transmuter/redstone.js +0 -73
- package/build/dex/angle-transmuter/redstone.js.map +0 -1
- package/build/dex/angle-transmuter/transmuter.d.ts +0 -50
- package/build/dex/angle-transmuter/transmuter.js +0 -314
- package/build/dex/angle-transmuter/transmuter.js.map +0 -1
- package/build/dex/angle-transmuter/types.d.ts +0 -144
- package/build/dex/angle-transmuter/types.js +0 -31
- package/build/dex/angle-transmuter/types.js.map +0 -1
- package/build/dex/angle-transmuter/utils.d.ts +0 -9
- package/build/dex/angle-transmuter/utils.js +0 -264
- package/build/dex/angle-transmuter/utils.js.map +0 -1
- package/build/dex/smardex/subgraph-queries.d.ts +0 -1
- package/build/dex/smardex/subgraph-queries.js +0 -17
- package/build/dex/smardex/subgraph-queries.js.map +0 -1
- package/build/dex/smardex/usd-reserves.d.ts +0 -23
- package/build/dex/smardex/usd-reserves.js +0 -86
- package/build/dex/smardex/usd-reserves.js.map +0 -1
- package/build/dex/trader-joe-v2-1-2/config.d.ts +0 -4
- package/build/dex/trader-joe-v2-1-2/config.js +0 -47
- package/build/dex/trader-joe-v2-1-2/config.js.map +0 -1
- package/build/dex/trader-joe-v2-1-2/constants.d.ts +0 -20
- package/build/dex/trader-joe-v2-1-2/constants.js +0 -22
- package/build/dex/trader-joe-v2-1-2/constants.js.map +0 -1
- package/build/dex/trader-joe-v2-1-2/math/index.d.ts +0 -37
- package/build/dex/trader-joe-v2-1-2/math/index.js +0 -291
- package/build/dex/trader-joe-v2-1-2/math/index.js.map +0 -1
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +0 -60
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +0 -248
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +0 -1
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +0 -53
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +0 -307
- package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +0 -1
- package/build/dex/trader-joe-v2-1-2/types.d.ts +0 -82
- package/build/dex/trader-joe-v2-1-2/types.js +0 -9
- package/build/dex/trader-joe-v2-1-2/types.js.map +0 -1
- package/build/dex/trader-joe-v2_1/config.d.ts +0 -4
- package/build/dex/trader-joe-v2_1/config.js +0 -47
- package/build/dex/trader-joe-v2_1/config.js.map +0 -1
- package/build/dex/trader-joe-v2_1/constants.d.ts +0 -20
- package/build/dex/trader-joe-v2_1/constants.js +0 -22
- package/build/dex/trader-joe-v2_1/constants.js.map +0 -1
- package/build/dex/trader-joe-v2_1/math/index.d.ts +0 -37
- package/build/dex/trader-joe-v2_1/math/index.js +0 -291
- package/build/dex/trader-joe-v2_1/math/index.js.map +0 -1
- package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
- package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +0 -384
- package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +0 -1
- package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.d.ts +0 -60
- package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js +0 -247
- package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js.map +0 -1
- package/build/dex/trader-joe-v2_1/trader-joe-v2_1.d.ts +0 -53
- package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js +0 -307
- package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js.map +0 -1
- package/build/dex/trader-joe-v2_1/types.d.ts +0 -82
- package/build/dex/trader-joe-v2_1/types.js +0 -9
- package/build/dex/trader-joe-v2_1/types.js.map +0 -1
- package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
- package/build/dex/wombat/wombat-pool-poller.js +0 -164
- package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
- package/build/dex-helper/RedisBatcher.d.ts +0 -20
- package/build/dex-helper/RedisBatcher.js +0 -75
- package/build/dex-helper/RedisBatcher.js.map +0 -1
|
@@ -0,0 +1,82 @@
|
|
|
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.EtherFi = void 0;
|
|
7
|
+
const abi_1 = require("@ethersproject/abi");
|
|
8
|
+
const simple_exchange_1 = require("./simple-exchange");
|
|
9
|
+
const eETHPool_json_1 = __importDefault(require("../abi/etherfi/eETHPool.json"));
|
|
10
|
+
const weETH_json_1 = __importDefault(require("../abi/etherfi/weETH.json"));
|
|
11
|
+
const utils_1 = require("../utils");
|
|
12
|
+
const ts_essentials_1 = require("ts-essentials");
|
|
13
|
+
var EtherFiFunctions;
|
|
14
|
+
(function (EtherFiFunctions) {
|
|
15
|
+
EtherFiFunctions["deposit"] = "deposit";
|
|
16
|
+
EtherFiFunctions["wrap"] = "wrap";
|
|
17
|
+
EtherFiFunctions["unwrap"] = "unwrap";
|
|
18
|
+
})(EtherFiFunctions || (EtherFiFunctions = {}));
|
|
19
|
+
const EtherFiConfig = {
|
|
20
|
+
1: {
|
|
21
|
+
eETH: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',
|
|
22
|
+
eETHPool: '0x308861a430be4cce5502d0a12724771fc6daf216',
|
|
23
|
+
weETH: '0xcd5fe23c85820f7b72d0926fc9b05b43e359b7ee',
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
class EtherFi extends simple_exchange_1.SimpleExchange {
|
|
27
|
+
constructor(dexHelper) {
|
|
28
|
+
super(dexHelper, 'etherfi');
|
|
29
|
+
this.needWrapNative = false;
|
|
30
|
+
this.is_eETH = (token) => token.toLowerCase() === this.eETH;
|
|
31
|
+
this.is_weETH = (token) => token.toLowerCase() === this.weETH;
|
|
32
|
+
this.eETHPoolInterface = new abi_1.Interface(eETHPool_json_1.default);
|
|
33
|
+
this.weETHInterface = new abi_1.Interface(weETH_json_1.default);
|
|
34
|
+
this.eETH = EtherFiConfig[this.network].eETH.toLowerCase();
|
|
35
|
+
this.eETHPool = EtherFiConfig[this.network].eETHPool.toLowerCase();
|
|
36
|
+
this.weETH = EtherFiConfig[this.network].weETH.toLowerCase();
|
|
37
|
+
}
|
|
38
|
+
async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
39
|
+
const [Interface, swapCallee, swapFunction, swapFunctionParams] = (() => {
|
|
40
|
+
if (this.is_eETH(destToken)) {
|
|
41
|
+
(0, ts_essentials_1.assert)(this.isWETH(srcToken) || (0, utils_1.isETHAddress)(srcToken), 'srcToken should be eth');
|
|
42
|
+
return [
|
|
43
|
+
this.eETHPoolInterface,
|
|
44
|
+
this.eETHPool,
|
|
45
|
+
EtherFiFunctions.deposit,
|
|
46
|
+
[],
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
if (this.is_weETH(destToken)) {
|
|
50
|
+
(0, ts_essentials_1.assert)(this.is_eETH(srcToken), 'srcToken should be eETH');
|
|
51
|
+
return [
|
|
52
|
+
this.weETHInterface,
|
|
53
|
+
this.weETH,
|
|
54
|
+
EtherFiFunctions.wrap,
|
|
55
|
+
[srcAmount],
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
if (this.is_weETH(srcToken)) {
|
|
59
|
+
(0, ts_essentials_1.assert)(this.is_eETH(destToken), 'destToken should be eETH');
|
|
60
|
+
return [
|
|
61
|
+
this.weETHInterface,
|
|
62
|
+
this.weETH,
|
|
63
|
+
EtherFiFunctions.unwrap,
|
|
64
|
+
[srcAmount],
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
throw new Error('LOGIC ERROR');
|
|
68
|
+
})();
|
|
69
|
+
const swapData = Interface.encodeFunctionData(swapFunction, swapFunctionParams);
|
|
70
|
+
return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, swapCallee);
|
|
71
|
+
}
|
|
72
|
+
getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
73
|
+
return {
|
|
74
|
+
targetExchange: '0x',
|
|
75
|
+
payload: '0x',
|
|
76
|
+
networkFee: '0',
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.EtherFi = EtherFi;
|
|
81
|
+
EtherFi.dexKeys = ['etherfi'];
|
|
82
|
+
//# sourceMappingURL=etherfi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"etherfi.js","sourceRoot":"","sources":["../../src/dex/etherfi.ts"],"names":[],"mappings":"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"}
|
package/build/dex/index.js
CHANGED
|
@@ -87,6 +87,7 @@ const dexalot_1 = require("./dexalot/dexalot");
|
|
|
87
87
|
const smardex_1 = require("./smardex/smardex");
|
|
88
88
|
const wombat_1 = require("./wombat/wombat");
|
|
89
89
|
const swell_1 = require("./swell/swell");
|
|
90
|
+
const etherfi_1 = require("./etherfi");
|
|
90
91
|
const LegacyDexes = [
|
|
91
92
|
curve_v2_1.CurveV2,
|
|
92
93
|
stable_pool_1.StablePool,
|
|
@@ -109,6 +110,7 @@ const LegacyDexes = [
|
|
|
109
110
|
jarvis_1.Jarvis,
|
|
110
111
|
lido_1.Lido,
|
|
111
112
|
augustus_rfq_1.AugustusRFQOrder,
|
|
113
|
+
etherfi_1.EtherFi,
|
|
112
114
|
];
|
|
113
115
|
const Dexes = [
|
|
114
116
|
dexalot_1.Dexalot,
|
package/build/dex/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dex/index.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAEvB,yCAAqC;AAErC,qCAAkC;AAClC,qDAAiD;AACjD,+CAA2C;AAC3C,sCAAmC;AACnC,0EAAsE;AACtE,mCAAgC;AAChC,wDAAoD;AACpD,2DAAuD;AACvD,uDAA0D;AAC1D,wDAAoD;AACpD,sDAAwD;AACxD,sDAAsD;AACtD,gDAA6C;AAC7C,4CAAyC;AACzC,4CAAyC;AACzC,qCAAkC;AAClC,2CAAwC;AACxC,uCAAoC;AACpC,mCAAgC;AAChC,qCAAkC;AAClC,yCAAsC;AACtC,+CAA2C;AAC3C,+CAA2C;AAC3C,+CAA2C;AAC3C,2CAAwC;AACxC,uCAAmC;AACnC,uCAAmC;AACnC,uCAAoC;AACpC,yCAAsC;AAEtC,4CAAwC;AAExC,iCAA8B;AAC9B,sDAAmD;AACnD,qDAAiD;AACjD,kDAA+C;AAC/C,kDAA+C;AAC/C,mCAAgC;AAChC,qDAAgD;AAChD,yFAAoF;AACpF,iDAAkD;AAClD,+CAA4C;AAC5C,wDAAoD;AACpD,4DAAyD;AACzD,0DAAuD;AACvD,8DAA2D;AAC3D,kEAA+D;AAC/D,sEAAmE;AACnE,kEAA+D;AAC/D,wEAAqE;AACrE,qDAAkD;AAClD,wDAAqD;AACrD,gEAA6D;AAC7D,0DAAuD;AACvD,kEAA+D;AAC/D,sEAAmE;AACnE,2DAAuD;AACvD,uDAA0D;AAC1D,kDAA8C;AAC9C,0EAAqE;AACrE,2DAAwD;AACxD,0EAAqE;AACrE,2DAAuD;AACvD,kDAA8C;AAC9C,4CAAyC;AACzC,+CAA4C;AAC5C,kDAA+C;AAC/C,iEAA6D;AAC7D,2DAAuD;AACvD,2DAAuD;AACvD,2DAAuD;AACvD,mDAA8C;AAC9C,kDAA8C;AAC9C,6DAAyD;AACzD,uDAAiD;AACjD,oEAAgE;AAChE,+CAA4C;AAC5C,2DAAuD;AACvD,0DAAsD;AACtD,+CAA4C;AAC5C,+CAA4C;AAC5C,4CAAyC;AACzC,yCAAsC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dex/index.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAEvB,yCAAqC;AAErC,qCAAkC;AAClC,qDAAiD;AACjD,+CAA2C;AAC3C,sCAAmC;AACnC,0EAAsE;AACtE,mCAAgC;AAChC,wDAAoD;AACpD,2DAAuD;AACvD,uDAA0D;AAC1D,wDAAoD;AACpD,sDAAwD;AACxD,sDAAsD;AACtD,gDAA6C;AAC7C,4CAAyC;AACzC,4CAAyC;AACzC,qCAAkC;AAClC,2CAAwC;AACxC,uCAAoC;AACpC,mCAAgC;AAChC,qCAAkC;AAClC,yCAAsC;AACtC,+CAA2C;AAC3C,+CAA2C;AAC3C,+CAA2C;AAC3C,2CAAwC;AACxC,uCAAmC;AACnC,uCAAmC;AACnC,uCAAoC;AACpC,yCAAsC;AAEtC,4CAAwC;AAExC,iCAA8B;AAC9B,sDAAmD;AACnD,qDAAiD;AACjD,kDAA+C;AAC/C,kDAA+C;AAC/C,mCAAgC;AAChC,qDAAgD;AAChD,yFAAoF;AACpF,iDAAkD;AAClD,+CAA4C;AAC5C,wDAAoD;AACpD,4DAAyD;AACzD,0DAAuD;AACvD,8DAA2D;AAC3D,kEAA+D;AAC/D,sEAAmE;AACnE,kEAA+D;AAC/D,wEAAqE;AACrE,qDAAkD;AAClD,wDAAqD;AACrD,gEAA6D;AAC7D,0DAAuD;AACvD,kEAA+D;AAC/D,sEAAmE;AACnE,2DAAuD;AACvD,uDAA0D;AAC1D,kDAA8C;AAC9C,0EAAqE;AACrE,2DAAwD;AACxD,0EAAqE;AACrE,2DAAuD;AACvD,kDAA8C;AAC9C,4CAAyC;AACzC,+CAA4C;AAC5C,kDAA+C;AAC/C,iEAA6D;AAC7D,2DAAuD;AACvD,2DAAuD;AACvD,2DAAuD;AACvD,mDAA8C;AAC9C,kDAA8C;AAC9C,6DAAyD;AACzD,uDAAiD;AACjD,oEAAgE;AAChE,+CAA4C;AAC5C,2DAAuD;AACvD,0DAAsD;AACtD,+CAA4C;AAC5C,+CAA4C;AAC5C,4CAAyC;AACzC,yCAAsC;AACtC,uCAAoC;AAEpC,MAAM,WAAW,GAAG;IAClB,kBAAO;IACP,wBAAU;IACV,iBAAO;IACP,aAAK;IACL,eAAM;IACN,qBAAS;IACT,iBAAO;IACP,aAAK;IACL,eAAM;IACN,mBAAQ;IACR,qBAAS;IACT,gBAAM;IACN,gBAAM;IACN,0BAAW;IACX,0BAAW;IACX,4BAAY;IACZ,2BAAW;IACX,8BAAY;IACZ,eAAM;IACN,WAAI;IACJ,+BAAgB;IAChB,iBAAO;CACR,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,iBAAO;IACP,kBAAO;IACP,uBAAS;IACT,eAAM;IACN,wBAAU;IACV,wBAAU;IACV,sBAAS;IACT,sBAAS;IACT,iBAAO;IACP,8BAAa;IACb,eAAM;IACN,WAAI;IACJ,WAAI;IACJ,qBAAS;IACT,gBAAM;IACN,gBAAM;IACN,gBAAM;IACN,mBAAQ;IACR,WAAI;IACJ,kCAAe;IACf,oBAAQ;IACR,aAAK;IACL,mBAAQ;IACR,SAAG;IACH,oBAAQ;IACR,mBAAO;IACP,2CAAmB;IACnB,iBAAO;IACP,kCAAe;IACf,2BAAY;IACZ,eAAM;IACN,aAAK;IACL,iBAAO;IACP,qBAAS;IACT,yBAAW;IACX,qBAAS;IACT,WAAI;IACJ,mBAAQ;IACR,qBAAS;IACT,yBAAW;IACX,aAAK;IACL,qBAAS;IACT,iCAAc;IACd,kBAAO;IACP,eAAM;IACN,mBAAQ;IACR,wBAAU;IACV,iBAAO;IACP,kBAAO;IACP,wBAAU;IACV,wBAAU;IACV,sBAAS;IACT,iBAAO;IACP,eAAM;IACN,aAAK;CACN,CAAC;AAWF,MAAa,iBAAiB;IAoB5B,YACS,SAAqB,EACrB,OAAe,EACZ,eAAyB,EAAE,EAC3B,cAAwB,EAAE;QAH7B,cAAS,GAAT,SAAS,CAAY;QACrB,YAAO,GAAP,OAAO,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAe;QAC3B,gBAAW,GAAX,WAAW,CAAe;QAvBtC,gBAAW,GAEP,EAAE,CAAC;QAEP,iBAAY,GAER,EAAE,CAAC;QACP,aAAQ,GAAkC,EAAE,CAAC;QAC7C,6CAA6C;QAC7C,YAAO,GAAa,EAAE,CAAC;QACvB,sBAAiB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAGpC,oBAAe,GAAuC;YAC3D,2BAAe;YACf,2BAAe;YACf,wBAAY;SACb,CAAC;QAQA,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,CAAC,MAA2B,EAAE,GAAW,EAAE,EAAE;YAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAEjC,MAAM,eAAe,GACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CACvB,CAAC,WAAW,CAAC,oBAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,eAAe;gBACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAClE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBAC1D,KAAK;iBACN,CAAC,CAAC,CAAC;YAEN,MAAM,cAAc,GAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CACvB,CAAC,WAAW,CAAC,oBAAQ,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,cAAc;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAChE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBAC1D,KAAK;iBACN,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACzB,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBAC9B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBACpD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9D,MAAM,GAAG,GAAG,IAAI,wBAAU,CACxB,OAAO,EACP,OAAO,EACP,SAAS,EACT,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;YACF,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC;aACnD,OAAO,CAAC,UAAU,CAAC,EAAE;YACpB,MAAM,WAAW,GAAG,UAAoC,CAAC;YACzD,OAAO,WAAW,CAAC,qBAAqB;gBACtC,CAAC,CAAC,WAAW,CAAC,qBAAqB,EAAE;gBACrC,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAE7B,IAAI,CAAC,cAAc;YACjB,IAAI,CAAC,OAAO,IAAI,0BAAc;gBAC5B,CAAC,CAAC,0BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;gBAC5C,CAAC,CAAC,IAAI,CAAC;IACb,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU;gBACb,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,qCAAqC,IAAI,CAAC,OAAO,IAAI,CAC/D,CAAC;YAEJ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAK,UAAmC,CACnE,IAAI,CAAC,SAAS,CACf,CAAC;SACH;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,oBAAoB,CAAC,YAAoB;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,aAAa;QACX,OAAO,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAwB,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,OAAiB,oBAAQ,CAAC,IAAI;QAC9C,OAAO,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IACvE,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,aAAsB,KAAK;QAC1D,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACtC,OAAO,MAAM,CAAC;SACf;QACD,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC;aAChE,IAAI,sBAAsB,KAAK,MAAM,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,cAAc;gBACtB,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,qCAAqC,IAAI,CAAC,OAAO,IAAI,CAC/D,CAAC;YACJ,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,IAAc;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,IAAI,KAAK,oBAAQ,CAAC,IAAI;YAC3B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAED,qCAAqC,CAAC,MAAc;QAClD,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,CAAC,CAAC,GAAG,CAAC,4BAA4B,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CACF;AApKD,8CAoKC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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.CamelotV3 = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const config_1 = require("./config");
|
|
9
|
+
const quickswap_v3_1 = require("./quickswap-v3");
|
|
10
|
+
const config = lodash_1.default.pick(config_1.QuickSwapConfig, ['CamelotV3']).CamelotV3;
|
|
11
|
+
class CamelotV3 extends quickswap_v3_1.QuickSwapV3 {
|
|
12
|
+
// public static dexKeysWithNetwork
|
|
13
|
+
constructor(dexHelper) {
|
|
14
|
+
super(dexHelper, 'camelotv3', config[dexHelper.config.data.network].router);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.CamelotV3 = CamelotV3;
|
|
18
|
+
CamelotV3.dexKeys = ['camelotv3'];
|
|
19
|
+
//# sourceMappingURL=camelot-v3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camelot-v3.js","sourceRoot":"","sources":["../../../src/dex/quickswap/camelot-v3.ts"],"names":[],"mappings":";;;;;;AACA,oDAAuB;AACvB,qCAA2C;AAC3C,iDAA6C;AAE7C,MAAM,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,wBAAe,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAEhE,MAAa,SAAU,SAAQ,0BAAW;IAGxC,mCAAmC;IACnC,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;;AANH,8BAOC;AANQ,iBAAO,GAAG,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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.ZyberSwapV3 = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const config_1 = require("./config");
|
|
9
|
+
const quickswap_v3_1 = require("./quickswap-v3");
|
|
10
|
+
const config = lodash_1.default.pick(config_1.QuickSwapConfig, ['ZyberSwapV3']).ZyberSwapV3;
|
|
11
|
+
class ZyberSwapV3 extends quickswap_v3_1.QuickSwapV3 {
|
|
12
|
+
// public static dexKeysWithNetwork
|
|
13
|
+
constructor(dexHelper) {
|
|
14
|
+
super(dexHelper, 'zyberswapv3', config[dexHelper.config.data.network].router);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.ZyberSwapV3 = ZyberSwapV3;
|
|
18
|
+
ZyberSwapV3.dexKeys = ['zyberswapv3'];
|
|
19
|
+
//# sourceMappingURL=zyberswap-v3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zyberswap-v3.js","sourceRoot":"","sources":["../../../src/dex/quickswap/zyberswap-v3.ts"],"names":[],"mappings":";;;;;;AACA,oDAAuB;AACvB,qCAA2C;AAC3C,iDAA6C;AAE7C,MAAM,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,wBAAe,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;AAEpE,MAAa,WAAY,SAAQ,0BAAW;IAG1C,mCAAmC;IACnC,YAAY,SAAqB;QAC/B,KAAK,CACH,SAAS,EACT,aAAa,EACb,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC7C,CAAC;IACJ,CAAC;;AAVH,kCAWC;AAVQ,mBAAO,GAAG,CAAC,aAAa,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"inputs": [
|
|
4
|
+
{ "internalType": "uint256", "name": "_eETHAmount", "type": "uint256" }
|
|
5
|
+
],
|
|
6
|
+
"name": "wrap",
|
|
7
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
8
|
+
"stateMutability": "nonpayable",
|
|
9
|
+
"type": "function"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [
|
|
13
|
+
{ "internalType": "uint256", "name": "_weETHAmount", "type": "uint256" }
|
|
14
|
+
],
|
|
15
|
+
"name": "unwrap",
|
|
16
|
+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
17
|
+
"stateMutability": "nonpayable",
|
|
18
|
+
"type": "function"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Interface, JsonFragment } from '@ethersproject/abi';
|
|
2
|
+
import { SwapSide } from '../constants';
|
|
3
|
+
import { AdapterExchangeParam, Address, SimpleExchangeParam } from '../types';
|
|
4
|
+
import { IDexTxBuilder } from './idex';
|
|
5
|
+
import { SimpleExchange } from './simple-exchange';
|
|
6
|
+
import eETHPoolABI from '../abi/etherfi/eETHPool.json';
|
|
7
|
+
import weETHABI from '../abi/etherfi/weETH.json';
|
|
8
|
+
import { IDexHelper } from '../dex-helper';
|
|
9
|
+
import { isETHAddress } from '../utils';
|
|
10
|
+
import { assert } from 'ts-essentials';
|
|
11
|
+
|
|
12
|
+
type EtherFiData = void;
|
|
13
|
+
|
|
14
|
+
type eETHPoolDepositParam = [];
|
|
15
|
+
type weETHWrap = [_eETHAmount: string];
|
|
16
|
+
type weETHUnwrap = [_weETHAmount: string];
|
|
17
|
+
|
|
18
|
+
type EtherFiParam = eETHPoolDepositParam | weETHWrap | weETHUnwrap;
|
|
19
|
+
|
|
20
|
+
enum EtherFiFunctions {
|
|
21
|
+
deposit = 'deposit',
|
|
22
|
+
wrap = 'wrap',
|
|
23
|
+
unwrap = 'unwrap',
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const EtherFiConfig: Record<
|
|
27
|
+
number,
|
|
28
|
+
{ eETH: string; eETHPool: string; weETH: string }
|
|
29
|
+
> = {
|
|
30
|
+
1: {
|
|
31
|
+
eETH: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',
|
|
32
|
+
eETHPool: '0x308861a430be4cce5502d0a12724771fc6daf216',
|
|
33
|
+
weETH: '0xcd5fe23c85820f7b72d0926fc9b05b43e359b7ee',
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export class EtherFi
|
|
38
|
+
extends SimpleExchange
|
|
39
|
+
implements IDexTxBuilder<EtherFiData, EtherFiParam>
|
|
40
|
+
{
|
|
41
|
+
static dexKeys = ['etherfi'];
|
|
42
|
+
|
|
43
|
+
eETHPoolInterface: Interface;
|
|
44
|
+
weETHInterface: Interface;
|
|
45
|
+
needWrapNative = false;
|
|
46
|
+
|
|
47
|
+
eETH: string;
|
|
48
|
+
eETHPool: string;
|
|
49
|
+
weETH: string;
|
|
50
|
+
|
|
51
|
+
constructor(dexHelper: IDexHelper) {
|
|
52
|
+
super(dexHelper, 'etherfi');
|
|
53
|
+
|
|
54
|
+
this.eETHPoolInterface = new Interface(eETHPoolABI as JsonFragment[]);
|
|
55
|
+
this.weETHInterface = new Interface(weETHABI as JsonFragment[]);
|
|
56
|
+
|
|
57
|
+
this.eETH = EtherFiConfig[this.network].eETH.toLowerCase();
|
|
58
|
+
this.eETHPool = EtherFiConfig[this.network].eETHPool.toLowerCase();
|
|
59
|
+
this.weETH = EtherFiConfig[this.network].weETH.toLowerCase();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
is_eETH = (token: string) => token.toLowerCase() === this.eETH;
|
|
63
|
+
is_weETH = (token: string) => token.toLowerCase() === this.weETH;
|
|
64
|
+
|
|
65
|
+
async getSimpleParam(
|
|
66
|
+
srcToken: string,
|
|
67
|
+
destToken: string,
|
|
68
|
+
srcAmount: string,
|
|
69
|
+
destAmount: string,
|
|
70
|
+
data: EtherFiData,
|
|
71
|
+
side: SwapSide,
|
|
72
|
+
): Promise<SimpleExchangeParam> {
|
|
73
|
+
const [Interface, swapCallee, swapFunction, swapFunctionParams] = ((): [
|
|
74
|
+
Interface,
|
|
75
|
+
Address,
|
|
76
|
+
EtherFiFunctions,
|
|
77
|
+
EtherFiParam,
|
|
78
|
+
] => {
|
|
79
|
+
if (this.is_eETH(destToken)) {
|
|
80
|
+
assert(
|
|
81
|
+
this.isWETH(srcToken) || isETHAddress(srcToken),
|
|
82
|
+
'srcToken should be eth',
|
|
83
|
+
);
|
|
84
|
+
return [
|
|
85
|
+
this.eETHPoolInterface,
|
|
86
|
+
this.eETHPool,
|
|
87
|
+
EtherFiFunctions.deposit,
|
|
88
|
+
[],
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (this.is_weETH(destToken)) {
|
|
93
|
+
assert(this.is_eETH(srcToken), 'srcToken should be eETH');
|
|
94
|
+
return [
|
|
95
|
+
this.weETHInterface,
|
|
96
|
+
this.weETH,
|
|
97
|
+
EtherFiFunctions.wrap,
|
|
98
|
+
[srcAmount],
|
|
99
|
+
];
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (this.is_weETH(srcToken)) {
|
|
103
|
+
assert(this.is_eETH(destToken), 'destToken should be eETH');
|
|
104
|
+
return [
|
|
105
|
+
this.weETHInterface,
|
|
106
|
+
this.weETH,
|
|
107
|
+
EtherFiFunctions.unwrap,
|
|
108
|
+
[srcAmount],
|
|
109
|
+
];
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
throw new Error('LOGIC ERROR');
|
|
113
|
+
})();
|
|
114
|
+
|
|
115
|
+
const swapData = Interface.encodeFunctionData(
|
|
116
|
+
swapFunction,
|
|
117
|
+
swapFunctionParams,
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
return this.buildSimpleParamWithoutWETHConversion(
|
|
121
|
+
srcToken,
|
|
122
|
+
srcAmount,
|
|
123
|
+
destToken,
|
|
124
|
+
destAmount,
|
|
125
|
+
swapData,
|
|
126
|
+
swapCallee,
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
getAdapterParam(
|
|
131
|
+
srcToken: string,
|
|
132
|
+
destToken: string,
|
|
133
|
+
srcAmount: string,
|
|
134
|
+
destAmount: string,
|
|
135
|
+
data: EtherFiData,
|
|
136
|
+
side: SwapSide,
|
|
137
|
+
): AdapterExchangeParam {
|
|
138
|
+
return {
|
|
139
|
+
targetExchange: '0x',
|
|
140
|
+
payload: '0x',
|
|
141
|
+
networkFee: '0',
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
}
|
package/src/dex/index.ts
CHANGED
|
@@ -85,6 +85,7 @@ import { Dexalot } from './dexalot/dexalot';
|
|
|
85
85
|
import { Smardex } from './smardex/smardex';
|
|
86
86
|
import { Wombat } from './wombat/wombat';
|
|
87
87
|
import { Swell } from './swell/swell';
|
|
88
|
+
import { EtherFi } from './etherfi';
|
|
88
89
|
|
|
89
90
|
const LegacyDexes = [
|
|
90
91
|
CurveV2,
|
|
@@ -108,6 +109,7 @@ const LegacyDexes = [
|
|
|
108
109
|
Jarvis,
|
|
109
110
|
Lido,
|
|
110
111
|
AugustusRFQOrder,
|
|
112
|
+
EtherFi,
|
|
111
113
|
];
|
|
112
114
|
|
|
113
115
|
const Dexes = [
|