@paraswap/dex-lib 3.8.34-inception → 3.8.34-inception.2

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.
@@ -40,6 +40,7 @@ const tokens_1 = require("./tokens");
40
40
  const utils_2 = require("./utils");
41
41
  const inception_event_pool_1 = require("./inception-event-pool");
42
42
  const token_transfer_fee_1 = require("../../lib/token-transfer-fee");
43
+ const constants_2 = require("../../executor/constants");
43
44
  const DECIMALS = BigInt(1e18);
44
45
  class Inception extends simple_exchange_1.SimpleExchange {
45
46
  constructor(network, dexKey, dexHelper, config = config_1.InceptionConfig[dexKey][network]) {
@@ -101,6 +102,11 @@ class Inception extends simple_exchange_1.SimpleExchange {
101
102
  if (!src || !dest || src !== dest) {
102
103
  return null;
103
104
  }
105
+ // TODO: Implement in both directions
106
+ // only baseToken -> inception token swaps are supported
107
+ if (src.baseToken.toLowerCase() !== srcToken.address.toLowerCase()) {
108
+ return null;
109
+ }
104
110
  const poolState = await this.getPoolState(this.eventPool, blockNumber);
105
111
  if (!poolState)
106
112
  return null;
@@ -144,6 +150,7 @@ class Inception extends simple_exchange_1.SimpleExchange {
144
150
  let swapData;
145
151
  let dexFuncHasRecipient;
146
152
  let swappedAmountNotPresentInExchangeData;
153
+ let returnAmountPos = undefined;
147
154
  if (isNative) {
148
155
  swapData = this.poolInterface.encodeFunctionData('stake()', []);
149
156
  dexFuncHasRecipient = false;
@@ -156,6 +163,7 @@ class Inception extends simple_exchange_1.SimpleExchange {
156
163
  ]);
157
164
  dexFuncHasRecipient = true;
158
165
  swappedAmountNotPresentInExchangeData = false;
166
+ returnAmountPos = constants_2.RETURN_AMOUNT_POS_0;
159
167
  }
160
168
  return {
161
169
  needWrapNative: false,
@@ -163,7 +171,7 @@ class Inception extends simple_exchange_1.SimpleExchange {
163
171
  exchangeData: swapData,
164
172
  targetExchange: dexParams.vault,
165
173
  swappedAmountNotPresentInExchangeData,
166
- returnAmountPos: undefined,
174
+ returnAmountPos,
167
175
  };
168
176
  }
169
177
  async updatePoolState() { }
@@ -1 +1 @@
1
- {"version":3,"file":"inception.js","sourceRoot":"","sources":["../../../src/dex/inception/inception.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inception.js","sourceRoot":"","sources":["../../../src/dex/inception/inception.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,5 @@ import { Contract } from 'web3-eth-contract';
2
2
  import { DexParams, PoolState } from './types';
3
3
  import { Interface } from '@ethersproject/abi';
4
4
  import { Network } from '../../constants';
5
- export declare function getOnChainRatio(multiContract: Contract, poolInterface: Interface, network: Network, p: DexParams, blockNumber: number | 'latest'): Promise<bigint>;
6
5
  export declare function getOnChainState(multiContract: Contract, poolInterface: Interface, network: Network, blockNumber: number | 'latest'): Promise<PoolState>;
7
6
  export declare const getTokenList: (network: Network) => Promise<DexParams[]>;
@@ -1,30 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTokenList = exports.getOnChainState = exports.getOnChainRatio = void 0;
3
+ exports.getTokenList = exports.getOnChainState = void 0;
4
4
  const abi_1 = require("@ethersproject/abi");
5
5
  const config_1 = require("./config");
6
6
  const coder = new abi_1.AbiCoder();
7
- async function getOnChainRatio(multiContract, poolInterface, network, p, blockNumber) {
8
- let addr;
9
- if (p.baseTokenSlug === 'ETH') {
10
- addr = p.token;
11
- }
12
- else {
13
- addr = p.vault;
14
- }
15
- const data = await multiContract.methods
16
- .aggregate([
17
- {
18
- target: addr,
19
- callData: poolInterface.encodeFunctionData('ratio', []),
20
- },
21
- ])
22
- .call({}, blockNumber);
23
- const decodedData = coder.decode(['uint256'], data.returnData[0]);
24
- const ratio = BigInt(decodedData[0].toString());
25
- return ratio;
26
- }
27
- exports.getOnChainRatio = getOnChainRatio;
28
7
  async function getOnChainState(multiContract, poolInterface, network, blockNumber) {
29
8
  let tokenList = await (0, exports.getTokenList)(network);
30
9
  const state = {};
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/inception/utils.ts"],"names":[],"mappings":";;;AAEA,4CAAyD;AACzD,qCAA2C;AAG3C,MAAM,KAAK,GAAG,IAAI,cAAQ,EAAE,CAAC;AAEtB,KAAK,UAAU,eAAe,CACnC,aAAuB,EACvB,aAAwB,EACxB,OAAgB,EAChB,CAAY,EACZ,WAA8B;IAE9B,IAAI,IAAI,CAAC;IACT,IAAI,CAAC,CAAC,aAAa,KAAK,KAAK,EAAE;QAC7B,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;KAChB;SAAM;QACL,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;KAChB;IACD,MAAM,IAAI,GAA0B,MAAM,aAAa,CAAC,OAAO;SAC5D,SAAS,CAAC;QACT;YACE,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;SACxD;KACF,CAAC;SACD,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAzBD,0CAyBC;AAEM,KAAK,UAAU,eAAe,CACnC,aAAuB,EACvB,aAAwB,EACxB,OAAgB,EAChB,WAA8B;IAE9B,IAAI,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;QACzB,IAAI,IAAI,CAAC;QACT,IAAI,CAAC,CAAC,aAAa,KAAK,KAAK,EAAE;YAC7B,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;SAChB;aAAM;YACL,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;SAChB;QAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO;aACrC,SAAS,CAAC;YACT;gBACE,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;aACxD;SACF,CAAC;aACD,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA/BD,0CA+BC;AAEM,MAAM,YAAY,GAAG,KAAK,EAAE,OAAgB,EAAwB,EAAE;IAC3E,OAAO,wBAAe,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/inception/utils.ts"],"names":[],"mappings":";;;AAEA,4CAAyD;AACzD,qCAA2C;AAG3C,MAAM,KAAK,GAAG,IAAI,cAAQ,EAAE,CAAC;AAEtB,KAAK,UAAU,eAAe,CACnC,aAAuB,EACvB,aAAwB,EACxB,OAAgB,EAChB,WAA8B;IAE9B,IAAI,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;QACzB,IAAI,IAAI,CAAC;QACT,IAAI,CAAC,CAAC,aAAa,KAAK,KAAK,EAAE;YAC7B,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;SAChB;aAAM;YACL,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;SAChB;QAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO;aACrC,SAAS,CAAC;YACT;gBACE,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;aACxD;SACF,CAAC;aACD,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA/BD,0CA+BC;AAEM,MAAM,YAAY,GAAG,KAAK,EAAE,OAAgB,EAAwB,EAAE;IAC3E,OAAO,wBAAe,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.8.34-inception",
3
+ "version": "3.8.34-inception.2",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -48,6 +48,19 @@ function testForNetwork(
48
48
  provider,
49
49
  );
50
50
  });
51
+ it(`${inceptionSlug} -> ${baseSlug}`, async () => {
52
+ await testE2E(
53
+ tokens[inceptionSlug],
54
+ tokens[baseSlug],
55
+ holders[inceptionSlug],
56
+ '100000000',
57
+ side,
58
+ inceptionName,
59
+ contractMethod,
60
+ network,
61
+ provider,
62
+ );
63
+ });
51
64
  });
52
65
  });
53
66
  }),
@@ -148,6 +148,12 @@ export class Inception
148
148
  return null;
149
149
  }
150
150
 
151
+ // TODO: Implement in both directions
152
+ // only baseToken -> inception token swaps are supported
153
+ if (src.baseToken.toLowerCase() !== srcToken.address.toLowerCase()) {
154
+ return null;
155
+ }
156
+
151
157
  const poolState = await this.getPoolState(this.eventPool, blockNumber);
152
158
  if (!poolState) return null;
153
159
 
@@ -213,6 +219,7 @@ export class Inception
213
219
  let swapData;
214
220
  let dexFuncHasRecipient;
215
221
  let swappedAmountNotPresentInExchangeData;
222
+ let returnAmountPos = undefined;
216
223
  if (isNative) {
217
224
  swapData = this.poolInterface.encodeFunctionData('stake()', []);
218
225
  dexFuncHasRecipient = false;
@@ -224,6 +231,7 @@ export class Inception
224
231
  ]);
225
232
  dexFuncHasRecipient = true;
226
233
  swappedAmountNotPresentInExchangeData = false;
234
+ returnAmountPos = RETURN_AMOUNT_POS_0;
227
235
  }
228
236
 
229
237
  return {
@@ -232,7 +240,7 @@ export class Inception
232
240
  exchangeData: swapData,
233
241
  targetExchange: dexParams.vault,
234
242
  swappedAmountNotPresentInExchangeData,
235
- returnAmountPos: undefined,
243
+ returnAmountPos,
236
244
  };
237
245
  }
238
246
 
@@ -6,33 +6,6 @@ import { Network } from '../../constants';
6
6
 
7
7
  const coder = new AbiCoder();
8
8
 
9
- export async function getOnChainRatio(
10
- multiContract: Contract,
11
- poolInterface: Interface,
12
- network: Network,
13
- p: DexParams,
14
- blockNumber: number | 'latest',
15
- ): Promise<bigint> {
16
- let addr;
17
- if (p.baseTokenSlug === 'ETH') {
18
- addr = p.token;
19
- } else {
20
- addr = p.vault;
21
- }
22
- const data: { returnData: any[] } = await multiContract.methods
23
- .aggregate([
24
- {
25
- target: addr,
26
- callData: poolInterface.encodeFunctionData('ratio', []),
27
- },
28
- ])
29
- .call({}, blockNumber);
30
-
31
- const decodedData = coder.decode(['uint256'], data.returnData[0]);
32
- const ratio = BigInt(decodedData[0].toString());
33
- return ratio;
34
- }
35
-
36
9
  export async function getOnChainState(
37
10
  multiContract: Contract,
38
11
  poolInterface: Interface,