@paraswap/dex-lib 2.42.16 → 2.42.17

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.
@@ -25,5 +25,5 @@ export declare class SimpleExchange {
25
25
  private hasAugustusAllowance;
26
26
  private getAllowance;
27
27
  protected getApproveSimpleParam(token: Address, target: Address, amount: string): Promise<SimpleExchangeParam>;
28
- protected buildSimpleParamWithoutWETHConversion(src: Address, srcAmount: NumberAsString, dest: Address, destAmount: NumberAsString, swapCallData: string, swapCallee: Address, spender?: Address, networkFee?: NumberAsString): Promise<SimpleExchangeParam>;
28
+ protected buildSimpleParamWithoutWETHConversion(src: Address, srcAmount: NumberAsString, dest: Address, destAmount: NumberAsString, swapCallData: string, swapCallee: Address, spender?: Address, networkFee?: NumberAsString, preCalls?: Omit<SimpleExchangeParam, 'networkFee'>): Promise<SimpleExchangeParam>;
29
29
  }
@@ -89,13 +89,21 @@ class SimpleExchange {
89
89
  networkFee: '0',
90
90
  };
91
91
  }
92
- async buildSimpleParamWithoutWETHConversion(src, srcAmount, dest, destAmount, swapCallData, swapCallee, spender, networkFee = '0') {
92
+ async buildSimpleParamWithoutWETHConversion(src, srcAmount, dest, destAmount, swapCallData, swapCallee, spender, networkFee = '0', preCalls) {
93
93
  const approveParam = await this.getApproveSimpleParam(src, spender || swapCallee, srcAmount);
94
94
  const swapValue = (BigInt(networkFee) + ((0, utils_1.isETHAddress)(src) ? BigInt(srcAmount) : 0n)).toString();
95
95
  return {
96
- callees: [...approveParam.callees, swapCallee],
97
- calldata: [...approveParam.calldata, swapCallData],
98
- values: [...approveParam.values, swapValue],
96
+ callees: [
97
+ ...(preCalls?.callees || []),
98
+ ...approveParam.callees,
99
+ swapCallee,
100
+ ],
101
+ calldata: [
102
+ ...(preCalls?.calldata || []),
103
+ ...approveParam.calldata,
104
+ swapCallData,
105
+ ],
106
+ values: [...(preCalls?.values || []), ...approveParam.values, swapValue],
99
107
  networkFee,
100
108
  };
101
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"simple-exchange.js","sourceRoot":"","sources":["../../src/dex/simple-exchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simple-exchange.js","sourceRoot":"","sources":["../../src/dex/simple-exchange.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "symbol": "AMPL",
4
+ "chainId": 43114,
5
+ "address": "0x027dbca046ca156de9622cd1e2d907d375e53aa7"
6
+ }
7
+ ]
@@ -44,13 +44,22 @@ const UniswapV2ExchangeRouter_json_1 = __importDefault(require("../../abi/Uniswa
44
44
  const config_1 = require("./config");
45
45
  const uniswap_v2_constant_product_pool_1 = require("./uniswap-v2-constant-product-pool");
46
46
  const token_transfer_fee_1 = require("../../lib/token-transfer-fee");
47
+ const rebase_tokens_json_1 = __importDefault(require("../../rebase-tokens.json"));
48
+ const rebaseTokens = rebase_tokens_json_1.default;
49
+ const rebaseTokensSetsByChain = rebaseTokens.reduce((acc, curr) => {
50
+ if (!acc[curr.chainId]) {
51
+ acc[curr.chainId] = new Set();
52
+ }
53
+ acc[curr.chainId].add(curr.address.toLowerCase());
54
+ return acc;
55
+ }, {});
47
56
  const DefaultUniswapV2PoolGasCost = 90 * 1000;
48
57
  exports.RESERVE_LIMIT = 2n ** 112n - 1n;
49
58
  const LogCallTopics = [
50
59
  '0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1',
51
60
  '0xcf2aa50876cdfbb541206f89af0ee78d44a2abf8d328e37fa4917f982149848a', // event Sync(uint256 reserve0, uint256 reserve1) // commonly seen in solidly & forks
52
61
  ];
53
- const uniswapV2Iface = new abi_1.Interface(uniswap_v2_pool_json_1.default);
62
+ const uniswapV2PoolIface = new abi_1.Interface(uniswap_v2_pool_json_1.default);
54
63
  const erc20iface = new abi_1.Interface(erc20_json_1.default);
55
64
  const coder = new abi_1.AbiCoder();
56
65
  exports.directUniswapFunctionName = [
@@ -66,7 +75,7 @@ class UniswapV2EventPool extends stateful_event_subscriber_1.StatefulEventSubscr
66
75
  // feeCode is ignored if DynamicFees is set to true
67
76
  feeCode, logger, dynamicFees = false,
68
77
  // feesMultiCallData is only used if dynamicFees is set to true
69
- feesMultiCallEntry, feesMultiCallDecoder, iface = uniswapV2Iface) {
78
+ feesMultiCallEntry, feesMultiCallDecoder, iface = uniswapV2PoolIface) {
70
79
  super(parentName, (token0.symbol || token0.address) +
71
80
  '-' +
72
81
  (token1.symbol || token1.address) +
@@ -134,7 +143,7 @@ class UniswapV2 extends simple_exchange_1.SimpleExchange {
134
143
  // feeCode is ignored when isDynamicFees is set to true
135
144
  feeCode = config_1.UniswapV2Config[dexKey][network].feeCode, poolGasCost = (config_1.UniswapV2Config[dexKey] &&
136
145
  config_1.UniswapV2Config[dexKey][network].poolGasCost) ??
137
- DefaultUniswapV2PoolGasCost, decoderIface = uniswapV2Iface, adapters = (config_1.UniswapV2Config[dexKey] &&
146
+ DefaultUniswapV2PoolGasCost, decoderIface = uniswapV2PoolIface, adapters = (config_1.UniswapV2Config[dexKey] &&
138
147
  config_1.UniswapV2Config[dexKey][network].adapters) ??
139
148
  config_1.Adapters[network], router = (config_1.UniswapV2Config[dexKey] &&
140
149
  config_1.UniswapV2Config[dexKey][network].router) ??
@@ -523,7 +532,20 @@ class UniswapV2 extends simple_exchange_1.SimpleExchange {
523
532
  const pools = encodePools(data.pools, this.feeFactor);
524
533
  const weth = this.getWETHAddress(src, dest, data.weth);
525
534
  const swapData = this.exchangeRouterInterface.encodeFunctionData(side === core_1.SwapSide.SELL ? types_1.UniswapV2Functions.swap : types_1.UniswapV2Functions.buy, [src, srcAmount, destAmount, weth, pools]);
526
- return this.buildSimpleParamWithoutWETHConversion(src, srcAmount, dest, destAmount, swapData, data.router);
535
+ const hasRebaseTokenSrc = rebaseTokensSetsByChain[this.network]?.has(src.toLowerCase());
536
+ const hasRebaseTokenDest = rebaseTokensSetsByChain[this.network]?.has(dest.toLowerCase());
537
+ const maybeSyncCall = hasRebaseTokenSrc || hasRebaseTokenDest
538
+ ? {
539
+ callees: [
540
+ hasRebaseTokenSrc
541
+ ? data.pools[0].address
542
+ : data.pools[data.pools.length - 1].address,
543
+ ],
544
+ calldata: [uniswapV2PoolIface.encodeFunctionData('sync')],
545
+ values: ['0'],
546
+ }
547
+ : undefined;
548
+ return this.buildSimpleParamWithoutWETHConversion(src, srcAmount, dest, destAmount, swapData, data.router, data.router, '0', maybeSyncCall);
527
549
  }
528
550
  // TODO: Move to new uniswapv2&forks router interface
529
551
  getDirectParam(srcToken, destToken, srcAmount, destAmount, expectedAmount, _data, side, permit, uuid, feePercent, deadline, partner, beneficiary, contractMethod) {
@@ -1 +1 @@
1
- {"version":3,"file":"uniswap-v2.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v2/uniswap-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uniswap-v2.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v2/uniswap-v2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ [
2
+ {
3
+ "symbol": "AMPL",
4
+ "chainId": 1,
5
+ "address": "0xd46ba6d942050d489dbd938a2c909a5d5039a161"
6
+ },
7
+ {
8
+ "symbol": "AMPL",
9
+ "chainId": 56,
10
+ "address": "0xDB021b1B247fe2F1fa57e0A87C748Cc1E321F07F"
11
+ },
12
+ {
13
+ "symbol": "AMPL",
14
+ "chainId": 43114,
15
+ "address": "0x027dbca046ca156de9622cd1e2d907d375e53aa7"
16
+ }
17
+ ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.42.16",
3
+ "version": "2.42.17",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -157,6 +157,7 @@ export class SimpleExchange {
157
157
  swapCallee: Address,
158
158
  spender?: Address,
159
159
  networkFee: NumberAsString = '0',
160
+ preCalls?: Omit<SimpleExchangeParam, 'networkFee'>,
160
161
  ): Promise<SimpleExchangeParam> {
161
162
  const approveParam = await this.getApproveSimpleParam(
162
163
  src,
@@ -168,9 +169,17 @@ export class SimpleExchange {
168
169
  ).toString();
169
170
 
170
171
  return {
171
- callees: [...approveParam.callees, swapCallee],
172
- calldata: [...approveParam.calldata, swapCallData],
173
- values: [...approveParam.values, swapValue],
172
+ callees: [
173
+ ...(preCalls?.callees || []),
174
+ ...approveParam.callees,
175
+ swapCallee,
176
+ ],
177
+ calldata: [
178
+ ...(preCalls?.calldata || []),
179
+ ...approveParam.calldata,
180
+ swapCallData,
181
+ ],
182
+ values: [...(preCalls?.values || []), ...approveParam.values, swapValue],
174
183
  networkFee,
175
184
  };
176
185
  }
@@ -241,6 +241,34 @@ describe('UniswapV2 E2E Avalanche', () => {
241
241
  provider,
242
242
  );
243
243
  });
244
+
245
+ it('AMPL -> MIM', async () => {
246
+ await testE2E(
247
+ tokens.AMPL,
248
+ tokens.MIM,
249
+ holders.AMPL,
250
+ '1000000000',
251
+ SwapSide.SELL,
252
+ dexKey,
253
+ ContractMethod.simpleSwap,
254
+ network,
255
+ provider,
256
+ );
257
+ });
258
+
259
+ it('MIM -> AMPL', async () => {
260
+ await testE2E(
261
+ tokens.MIM,
262
+ tokens.AMPL,
263
+ holders.MIM,
264
+ '1000000000000000000',
265
+ SwapSide.SELL,
266
+ dexKey,
267
+ ContractMethod.simpleSwap,
268
+ network,
269
+ provider,
270
+ );
271
+ });
244
272
  });
245
273
 
246
274
  describe('multiSwap', () => {
@@ -52,6 +52,21 @@ import { Contract } from 'web3-eth-contract';
52
52
  import { UniswapV2Config, Adapters } from './config';
53
53
  import { Uniswapv2ConstantProductPool } from './uniswap-v2-constant-product-pool';
54
54
  import { applyTransferFee } from '../../lib/token-transfer-fee';
55
+ import _rebaseTokens from '../../rebase-tokens.json';
56
+
57
+ const rebaseTokens = _rebaseTokens as { chainId: number; address: string }[];
58
+
59
+ const rebaseTokensSetsByChain = rebaseTokens.reduce<{
60
+ [chainId: number]: Set<string>;
61
+ }>((acc, curr) => {
62
+ if (!acc[curr.chainId]) {
63
+ acc[curr.chainId] = new Set();
64
+ }
65
+
66
+ acc[curr.chainId].add(curr.address.toLowerCase());
67
+
68
+ return acc;
69
+ }, {});
55
70
 
56
71
  const DefaultUniswapV2PoolGasCost = 90 * 1000;
57
72
 
@@ -68,7 +83,7 @@ interface UniswapV2PoolState {
68
83
  feeCode: number;
69
84
  }
70
85
 
71
- const uniswapV2Iface = new Interface(uniswapV2ABI);
86
+ const uniswapV2PoolIface = new Interface(uniswapV2ABI);
72
87
  const erc20iface = new Interface(erc20ABI);
73
88
  const coder = new AbiCoder();
74
89
 
@@ -104,7 +119,7 @@ export class UniswapV2EventPool extends StatefulEventSubscriber<UniswapV2PoolSta
104
119
  // feesMultiCallData is only used if dynamicFees is set to true
105
120
  private feesMultiCallEntry?: { target: Address; callData: string },
106
121
  private feesMultiCallDecoder?: (values: any[]) => number,
107
- private iface: Interface = uniswapV2Iface,
122
+ private iface: Interface = uniswapV2PoolIface,
108
123
  ) {
109
124
  super(
110
125
  parentName,
@@ -219,7 +234,7 @@ export class UniswapV2
219
234
  protected poolGasCost: number = (UniswapV2Config[dexKey] &&
220
235
  UniswapV2Config[dexKey][network].poolGasCost) ??
221
236
  DefaultUniswapV2PoolGasCost,
222
- protected decoderIface: Interface = uniswapV2Iface,
237
+ protected decoderIface: Interface = uniswapV2PoolIface,
223
238
  protected adapters = (UniswapV2Config[dexKey] &&
224
239
  UniswapV2Config[dexKey][network].adapters) ??
225
240
  Adapters[network],
@@ -772,6 +787,27 @@ export class UniswapV2
772
787
  side === SwapSide.SELL ? UniswapV2Functions.swap : UniswapV2Functions.buy,
773
788
  [src, srcAmount, destAmount, weth, pools],
774
789
  );
790
+
791
+ const hasRebaseTokenSrc = rebaseTokensSetsByChain[this.network]?.has(
792
+ src.toLowerCase(),
793
+ );
794
+ const hasRebaseTokenDest = rebaseTokensSetsByChain[this.network]?.has(
795
+ dest.toLowerCase(),
796
+ );
797
+
798
+ const maybeSyncCall =
799
+ hasRebaseTokenSrc || hasRebaseTokenDest
800
+ ? {
801
+ callees: [
802
+ hasRebaseTokenSrc
803
+ ? data.pools[0].address
804
+ : data.pools[data.pools.length - 1].address,
805
+ ],
806
+ calldata: [uniswapV2PoolIface.encodeFunctionData('sync')],
807
+ values: ['0'],
808
+ }
809
+ : undefined;
810
+
775
811
  return this.buildSimpleParamWithoutWETHConversion(
776
812
  src,
777
813
  srcAmount,
@@ -779,6 +815,9 @@ export class UniswapV2
779
815
  destAmount,
780
816
  swapData,
781
817
  data.router,
818
+ data.router,
819
+ '0',
820
+ maybeSyncCall,
782
821
  );
783
822
  }
784
823
 
@@ -0,0 +1,17 @@
1
+ [
2
+ {
3
+ "symbol": "AMPL",
4
+ "chainId": 1,
5
+ "address": "0xd46ba6d942050d489dbd938a2c909a5d5039a161"
6
+ },
7
+ {
8
+ "symbol": "AMPL",
9
+ "chainId": 56,
10
+ "address": "0xDB021b1B247fe2F1fa57e0A87C748Cc1E321F07F"
11
+ },
12
+ {
13
+ "symbol": "AMPL",
14
+ "chainId": 43114,
15
+ "address": "0x027dbca046ca156de9622cd1e2d907d375e53aa7"
16
+ }
17
+ ]
@@ -762,6 +762,10 @@ export const Tokens: {
762
762
  address: '0x502580fc390606b47fc3b741d6d49909383c28a9',
763
763
  decimals: 18,
764
764
  },
765
+ AMPL: {
766
+ address: '0x027dbcA046ca156De9622cD1e2D907d375e53aa7',
767
+ decimals: 9,
768
+ },
765
769
  },
766
770
  [Network.ARBITRUM]: {
767
771
  DAI: {
@@ -1115,7 +1119,7 @@ export const Holders: {
1115
1119
  HATCHY: '0x14ec295ec8def851ec6e2959df872dd24e422631',
1116
1120
  USDCe: '0x3a2434c698f8d79af1f5a9e43013157ca8b11a66',
1117
1121
  USDC: '0x0d0707963952f2fba59dd06f2b425ace40b492fe',
1118
- USDTe: '0x84d34f4f83a87596cd3fb6887cff8f17bf5a7b83',
1122
+ USDTe: '0x693b75eeD71dFA1BE188Fdb53472c8fC51c5A0A0',
1119
1123
  WETHe: '0xD291B51f7a1a1F4917D085F2a7731A447E4aF82D',
1120
1124
  POPS: '0x5268c2331658cb0b2858cfa9db27d8f22f5434bc',
1121
1125
  ETH: '0x9852e84b5AA485683d8AeE7B0332e42442763b75',
@@ -1138,6 +1142,7 @@ export const Holders: {
1138
1142
  avWETH: '0x92d78e32b990d10aeca0875dc5585f1a6f958179',
1139
1143
  YUSD: '0x6c1a5ef2acde1fd2fc68def440d2c1eb35bae24a',
1140
1144
  BTCb: '0x84c06d3c27821d0136f66306f5028d43ceac268d',
1145
+ AMPL: '0xfcaA5ea7F8eb0631BcA72C345025C0A5a6D93f0E',
1141
1146
  },
1142
1147
  [Network.ARBITRUM]: {
1143
1148
  ARB: '0xb65edba80a3d81903ecd499c8eb9cf0e19096bd0',