@paraswap/dex-lib 4.7.14-multi-route.0 → 4.7.14-multi-route.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.
Files changed (38) hide show
  1. package/build/abi/pharaoh-v3/PharaohV3Factory.abi.json +39 -0
  2. package/build/abi/pharaoh-v3/PharaohV3Pool.abi.json +802 -0
  3. package/build/abi/pharaoh-v3/PharaohV3StateMulticall.abi.json +781 -0
  4. package/build/abi/uniswap-v4/hooks/arena/arena-fee-helper.abi.json +476 -0
  5. package/build/dex/simple-exchange.js +7 -1
  6. package/build/dex/simple-exchange.js.map +1 -1
  7. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3-factory.d.ts +7 -0
  8. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3-factory.js +20 -0
  9. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3-factory.js.map +1 -0
  10. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3-pool.d.ts +12 -0
  11. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3-pool.js +139 -0
  12. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3-pool.js.map +1 -0
  13. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3.d.ts +11 -0
  14. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3.js +128 -0
  15. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3.js.map +1 -0
  16. package/build/dex/uniswap-v3/forks/pharaoh-v3/utils.d.ts +4 -0
  17. package/build/dex/uniswap-v3/forks/pharaoh-v3/utils.js +56 -0
  18. package/build/dex/uniswap-v3/forks/pharaoh-v3/utils.js.map +1 -0
  19. package/build/dex/uniswap-v4/hooks/arena/arena-fee-helper.d.ts +36 -0
  20. package/build/dex/uniswap-v4/hooks/arena/arena-fee-helper.js +125 -0
  21. package/build/dex/uniswap-v4/hooks/arena/arena-fee-helper.js.map +1 -0
  22. package/build/dex/uniswap-v4/hooks/arena/arena-hook.d.ts +21 -0
  23. package/build/dex/uniswap-v4/hooks/arena/arena-hook.js +93 -0
  24. package/build/dex/uniswap-v4/hooks/arena/arena-hook.js.map +1 -0
  25. package/build/dex/uniswap-v4/hooks/arena/config.d.ts +3 -0
  26. package/build/dex/uniswap-v4/hooks/arena/config.js +11 -0
  27. package/build/dex/uniswap-v4/hooks/arena/config.js.map +1 -0
  28. package/build/dex/uniswap-v4/hooks/arena/types.d.ts +5 -0
  29. package/build/dex/uniswap-v4/hooks/arena/types.js +3 -0
  30. package/build/dex/uniswap-v4/hooks/arena/types.js.map +1 -0
  31. package/build/dex/uniswap-v4/hooks/types.d.ts +60 -0
  32. package/build/dex/uniswap-v4/hooks/types.js +3 -0
  33. package/build/dex/uniswap-v4/hooks/types.js.map +1 -0
  34. package/build/executor/types.d.ts +3 -3
  35. package/build/generic-swap-transaction-builder.d.ts +3 -2
  36. package/build/generic-swap-transaction-builder.js +61 -50
  37. package/build/generic-swap-transaction-builder.js.map +1 -1
  38. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ import { HookConfig } from '../types';
2
+ import { HookParams } from './types';
3
+ export declare const ArenaHookConfig: HookConfig<HookParams>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArenaHookConfig = void 0;
4
+ const constants_1 = require("../../../../constants");
5
+ exports.ArenaHookConfig = {
6
+ [constants_1.Network.AVALANCHE]: {
7
+ hookAddress: '0xe32a5d788c568fc5a671255d17b618e70552e044',
8
+ feeHelperAddress: '0x537505da49b4249b576fc8d00028bfddf6189077',
9
+ },
10
+ };
11
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v4/hooks/arena/config.ts"],"names":[],"mappings":";;;AAEA,qDAAgD;AAEnC,QAAA,eAAe,GAA2B;IACrD,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;QACnB,WAAW,EAAE,4CAA4C;QACzD,gBAAgB,EAAE,4CAA4C;KAC/D;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Address } from '@paraswap/core';
2
+ export type HookParams = {
3
+ hookAddress: Address;
4
+ feeHelperAddress: Address;
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v4/hooks/arena/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { PoolKey } from '../types';
2
+ import { IDexHelper } from '../../../dex-helper';
3
+ import { Network } from '../../../constants';
4
+ import { Logger } from '../../../types';
5
+ export type HookConfig<HookParams> = {
6
+ [network: number]: HookParams;
7
+ };
8
+ export interface BalanceDelta {
9
+ amount0: bigint;
10
+ amount1: bigint;
11
+ }
12
+ export interface BeforeSwapDelta {
13
+ amount0: bigint;
14
+ amount1: bigint;
15
+ }
16
+ export interface SwapParams {
17
+ zeroForOne: boolean;
18
+ amountSpecified: string;
19
+ sqrtPriceLimitX96: string;
20
+ }
21
+ export interface ModifyLiquidityParams {
22
+ tickLower: number;
23
+ tickUpper: number;
24
+ liquidityDelta: string;
25
+ salt: string;
26
+ }
27
+ export interface HooksPermissions {
28
+ beforeInitialize: boolean;
29
+ afterInitialize: boolean;
30
+ beforeAddLiquidity: boolean;
31
+ afterAddLiquidity: boolean;
32
+ beforeRemoveLiquidity: boolean;
33
+ afterRemoveLiquidity: boolean;
34
+ beforeSwap: boolean;
35
+ afterSwap: boolean;
36
+ beforeDonate: boolean;
37
+ afterDonate: boolean;
38
+ beforeSwapReturnDelta: boolean;
39
+ afterSwapReturnDelta: boolean;
40
+ afterAddLiquidityReturnDelta: boolean;
41
+ afterRemoveLiquidityReturnDelta: boolean;
42
+ }
43
+ export interface IBaseHook {
44
+ readonly name: string;
45
+ readonly address: string;
46
+ getHookPermissions(): HooksPermissions;
47
+ registerPool(poolId: string, poolKey: PoolKey): void;
48
+ initialize(blockNumber: number): Promise<void>;
49
+ beforeInitialize?(sender: string, key: PoolKey, sqrtPriceX96: string): string;
50
+ afterInitialize?(sender: string, key: PoolKey, sqrtPriceX96: string, tick: number): string;
51
+ beforeAddLiquidity?(sender: string, key: PoolKey, params: ModifyLiquidityParams, hookData: string): string;
52
+ beforeRemoveLiquidity?(sender: string, key: PoolKey, params: ModifyLiquidityParams, hookData: string): string;
53
+ afterAddLiquidity?(sender: string, key: PoolKey, params: ModifyLiquidityParams, delta0: BalanceDelta, delta1: BalanceDelta, hookData: string): [string, BalanceDelta];
54
+ afterRemoveLiquidity?(sender: string, key: PoolKey, params: ModifyLiquidityParams, delta0: BalanceDelta, delta1: BalanceDelta, hookData: string): [string, BalanceDelta];
55
+ beforeSwap?(sender: string, key: PoolKey, params: SwapParams, hookData: string): [string, BeforeSwapDelta, number];
56
+ afterSwap?(sender: string, key: PoolKey, params: SwapParams, delta: BalanceDelta, hookData: string): bigint;
57
+ beforeDonate?(sender: string, key: PoolKey, amount0: string, amount1: string, hookData: string): string;
58
+ afterDonate?(sender: string, key: PoolKey, amount0: string, amount1: string, hookData: string): string;
59
+ }
60
+ export type HookConstructor = new (dexHelper: IDexHelper, network: Network, logger: Logger) => IBaseHook;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/hooks/types.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { OptimalSwap, OptimalSwapExchange } from '@paraswap/core';
2
- import { DexExchangeParamWithBooleanNeedWrapNative } from '../types';
2
+ import { DexExchangeBuildParam } from '../types';
3
3
  export declare enum Flag {
4
4
  SEND_ETH_EQUAL_TO_FROM_AMOUNT_PLUS_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP = 18,// // (flag 18 mod 4) = case 2: sendEth equal to fromAmount + insert fromAmount, (flag 18 mod 3) = case 0: don't check balance after swap
5
5
  SEND_ETH_EQUAL_TO_FROM_AMOUNT_PLUS_INSERT_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP = 14,// (flag 14 mod 4) = case 2: sendEth equal to fromAmount + insert fromAmount, (flag 14 mod 3) = case 2: case 2: check "srcToken" balance after swap
@@ -53,10 +53,10 @@ export type GenericRouteSwaps<TSwap> = {
53
53
  export type RouteSwaps = GenericRouteSwaps<OptimalSwap>;
54
54
  export type RouteBuildSwaps = GenericRouteSwaps<BuildSwap>;
55
55
  export type BuildSwapExchange<T> = OptimalSwapExchange<T> & {
56
- dexParams: DexExchangeParamWithBooleanNeedWrapNative;
56
+ dexParams: DexExchangeBuildParam;
57
57
  wethDeposit: bigint;
58
58
  wethWithdraw: bigint;
59
59
  };
60
- export type BuildSwap = OptimalSwap & {
60
+ export type BuildSwap = Omit<OptimalSwap, 'swapExchanges'> & {
61
61
  swapExchanges: BuildSwapExchange<any>[];
62
62
  };
@@ -6,7 +6,7 @@ import { ExecutorDetector } from './executor/ExecutorDetector';
6
6
  import { ExecutorBytecodeBuilder } from './executor/ExecutorBytecodeBuilder';
7
7
  import { IDexTxBuilder } from './dex/idex';
8
8
  import { SwapSide } from '@paraswap/core';
9
- import { BuildSwapExchange, RouteSwaps } from './executor/types';
9
+ import { BuildSwapExchange, RouteBuildSwaps, RouteSwaps } from './executor/types';
10
10
  export declare class GenericSwapTransactionBuilder {
11
11
  protected dexAdapterService: DexAdapterService;
12
12
  protected wExchangeNetworkToKey: Record<number, string>;
@@ -18,7 +18,8 @@ export declare class GenericSwapTransactionBuilder {
18
18
  constructor(dexAdapterService: DexAdapterService, wExchangeNetworkToKey?: Record<number, string>);
19
19
  protected getDepositWithdrawWethCallData(srcAmountWeth: bigint, destAmountWeth: bigint, side: SwapSide, priceRoute: OptimalRate, exchangeParams: DexExchangeParamWithBooleanNeedWrapNative[]): DepositWithdrawReturn | undefined;
20
20
  buildRouteSwaps(priceRoute: OptimalRate): RouteSwaps[];
21
- buildSwapExchange: (priceRoute: OptimalRate, swap: OptimalSwap, se: OptimalSwapExchange<any>, minMaxAmount: string, side: SwapSide, bytecodeBuilder: ExecutorBytecodeBuilder) => Promise<BuildSwapExchange<any>>;
21
+ addRouteBuildSwaps(priceRoute: OptimalRate, routes: RouteSwaps[], minMaxAmount: string, side: SwapSide, bytecodeBuilder: ExecutorBytecodeBuilder): Promise<RouteBuildSwaps[]>;
22
+ buildSwapExchange(priceRoute: OptimalRate, swap: OptimalSwap, se: OptimalSwapExchange<any>, minMaxAmount: string, side: SwapSide, bytecodeBuilder: ExecutorBytecodeBuilder): Promise<BuildSwapExchange<any>>;
22
23
  protected buildCalls(priceRoute: OptimalRate, minMaxAmount: string, bytecodeBuilder: ExecutorBytecodeBuilder, userAddress: string): Promise<string>;
23
24
  protected _build(priceRoute: OptimalRate, minMaxAmount: string, quotedAmount: string, userAddress: Address, referrerAddress: Address | undefined, partnerAddress: Address, partnerFeePercent: string, takeSurplus: boolean, isCapSurplus: boolean, isSurplusToUser: boolean, isDirectFeeTransfer: boolean, beneficiary: Address, permit: string, deadline: string, uuid: string): Promise<{
24
25
  encoder: (...params: any[]) => string;
@@ -94,7 +94,34 @@ class GenericSwapTransactionBuilder {
94
94
  }
95
95
  return routes;
96
96
  }
97
- buildSwapExchange = async (priceRoute, swap, se, minMaxAmount, side, bytecodeBuilder) => {
97
+ async addRouteBuildSwaps(priceRoute, routes, minMaxAmount, side, bytecodeBuilder) {
98
+ const buildSwap = async (swap) => ({
99
+ ...swap,
100
+ swapExchanges: await Promise.all(swap.swapExchanges.map(se => this.buildSwapExchange(priceRoute, swap, se, minMaxAmount, side, bytecodeBuilder))),
101
+ });
102
+ const buildSingleRouteSwaps = (swaps) => Promise.all(swaps.map(buildSwap));
103
+ const isNestedSwaps = (swaps) => Array.isArray(swaps[0]);
104
+ const buildMultiRouteSwaps = (swaps) => Promise.all(swaps.map((innerSwaps) => {
105
+ if (isNestedSwaps(innerSwaps)) {
106
+ return Promise.all(innerSwaps.map(s => Promise.all(s.map(buildSwap))));
107
+ }
108
+ return Promise.all(innerSwaps.map(buildSwap));
109
+ }));
110
+ const routesWithBuild = await Promise.all(routes.map(async (route) => {
111
+ if (route.type === 'single-route') {
112
+ return {
113
+ ...route,
114
+ swaps: await buildSingleRouteSwaps(route.swaps),
115
+ };
116
+ }
117
+ return {
118
+ ...route,
119
+ swaps: await buildMultiRouteSwaps(route.swaps),
120
+ };
121
+ }));
122
+ return routesWithBuild;
123
+ }
124
+ async buildSwapExchange(priceRoute, swap, se, minMaxAmount, side, bytecodeBuilder) {
98
125
  const { swapIndex, routeIndex } = (0, utils_2.getOriginalRouteSwapIndex)(priceRoute, swap);
99
126
  const dex = this.dexAdapterService.getTxBuilderDexByKey(se.exchange);
100
127
  const executorAddress = bytecodeBuilder.getAddress();
@@ -113,29 +140,14 @@ class GenericSwapTransactionBuilder {
113
140
  wethDeposit,
114
141
  wethWithdraw,
115
142
  };
116
- };
143
+ }
117
144
  async buildCalls(priceRoute, minMaxAmount, bytecodeBuilder, userAddress) {
118
145
  const side = priceRoute.side;
146
+ // TODO-multi: refactor
119
147
  const routes = this.buildRouteSwaps(priceRoute);
120
- const buildSwap = async (swap) => ({
121
- ...swap,
122
- swapExchanges: await Promise.all(swap.swapExchanges.map(se => this.buildSwapExchange(priceRoute, swap, se, minMaxAmount, side, bytecodeBuilder))),
123
- });
124
- const buildSwaps = async (routeSwaps) => Promise.all(routeSwaps.map(async (swaps) => {
125
- if (Array.isArray(swaps)) {
126
- return Promise.all(swaps.map(async (innerRouteSwaps) => Array.isArray(innerRouteSwaps)
127
- ? Promise.all(innerRouteSwaps.map(buildSwap))
128
- : buildSwap(innerRouteSwaps)));
129
- }
130
- return buildSwap(swaps);
131
- }));
132
- const routesWithBuild = (await Promise.all(routes.map(async (route) => ({
133
- ...route,
134
- swaps: await buildSwaps(route.swaps), // TODO-multi: refactor
135
- }))));
136
- const allBuildSwaps = routesWithBuild
137
- .flatMap(route => route.swaps)
138
- .flat(3);
148
+ const routesWithBuild = await this.addRouteBuildSwaps(priceRoute, routes, minMaxAmount, side, bytecodeBuilder);
149
+ const allBuildSwaps = routesWithBuild.map(route => route.swaps).flat(3);
150
+ await this.addDexExchangeApproveParams(bytecodeBuilder, allBuildSwaps);
139
151
  const flatSwapExchanges = allBuildSwaps.flatMap(swap => swap.swapExchanges);
140
152
  const { srcAmountWethToDeposit, destAmountWethToWithdraw } = flatSwapExchanges.reduce((acc, se) => {
141
153
  acc.srcAmountWethToDeposit += se.wethDeposit;
@@ -148,8 +160,7 @@ class GenericSwapTransactionBuilder {
148
160
  // TODO-multi: can exchange params order be affected by this update for single-route routes??
149
161
  const exchangeParams = flatSwapExchanges.map(se => se.dexParams);
150
162
  const maybeWethCallData = this.getDepositWithdrawWethCallData(srcAmountWethToDeposit, destAmountWethToWithdraw, side, priceRoute, exchangeParams);
151
- const buildExchangeParams = await this.addDexExchangeApproveParams(bytecodeBuilder, priceRoute, exchangeParams, maybeWethCallData);
152
- return bytecodeBuilder.buildByteCode(priceRoute, routes, buildExchangeParams, userAddress, maybeWethCallData);
163
+ return bytecodeBuilder.buildByteCode(priceRoute, routes, exchangeParams, userAddress, maybeWethCallData);
153
164
  }
154
165
  async _build(priceRoute, minMaxAmount, quotedAmount, userAddress, referrerAddress, partnerAddress, partnerFeePercent, takeSurplus, isCapSurplus, isSurplusToUser, isDirectFeeTransfer, beneficiary, permit, deadline, uuid) {
155
166
  const executorName = this.executorDetector.getExecutorByPriceRoute(priceRoute);
@@ -390,41 +401,41 @@ class GenericSwapTransactionBuilder {
390
401
  wethWithdraw,
391
402
  };
392
403
  }
393
- async addDexExchangeApproveParams(bytecodeBuilder, priceRoute, dexExchangeParams, maybeWethCallData) {
404
+ async addDexExchangeApproveParams(bytecodeBuilder, swaps) {
394
405
  const spender = bytecodeBuilder.getAddress();
395
406
  const tokenTargetMapping = [];
396
- let currentExchangeParamIndex = 0;
397
- priceRoute.bestRoute.flatMap(route => route.swaps.flatMap(swap => swap.swapExchanges.map(async (se) => {
398
- const curExchangeParam = dexExchangeParams[currentExchangeParamIndex];
399
- const approveParams = bytecodeBuilder.getApprovalTokenAndTarget(swap, curExchangeParam);
400
- if (approveParams) {
401
- tokenTargetMapping.push({
402
- params: [
403
- approveParams.token,
404
- approveParams.target,
405
- !!curExchangeParam.permit2Approval,
406
- ],
407
- exchangeParamIndex: currentExchangeParamIndex,
408
- });
409
- }
410
- currentExchangeParamIndex++;
411
- })));
407
+ swaps.forEach((swap, swapI) => {
408
+ swap.swapExchanges.forEach((se, seI) => {
409
+ const curExchangeParam = se.dexParams;
410
+ const approveParams = bytecodeBuilder.getApprovalTokenAndTarget(swap, curExchangeParam);
411
+ if (approveParams) {
412
+ tokenTargetMapping.push({
413
+ params: [
414
+ approveParams.token,
415
+ approveParams.target,
416
+ !!curExchangeParam.permit2Approval,
417
+ ],
418
+ swapIndex: swapI,
419
+ swapExchangeIndex: seI,
420
+ });
421
+ }
422
+ });
423
+ });
412
424
  const approvals = await this.dexAdapterService.dexHelper.augustusApprovals.hasApprovals(spender, tokenTargetMapping.map(t => t.params));
413
- const dexExchangeBuildParams = [
414
- ...dexExchangeParams,
415
- ];
416
425
  approvals.forEach((alreadyApproved, index) => {
417
426
  if (!alreadyApproved) {
418
427
  const [token, target] = tokenTargetMapping[index].params;
419
- const exchangeParamIndex = tokenTargetMapping[index].exchangeParamIndex;
420
- const curExchangeParam = dexExchangeParams[exchangeParamIndex];
421
- dexExchangeBuildParams[exchangeParamIndex] = {
422
- ...curExchangeParam,
423
- approveData: { token, target },
424
- };
428
+ const swapIndex = tokenTargetMapping[index].swapIndex;
429
+ const swapExchangeIndex = tokenTargetMapping[index].swapExchangeIndex;
430
+ if (swapIndex !== undefined && swapExchangeIndex !== undefined) {
431
+ swaps[swapIndex].swapExchanges[swapExchangeIndex].dexParams.approveData = {
432
+ token,
433
+ target,
434
+ };
435
+ }
425
436
  }
426
437
  });
427
- return dexExchangeBuildParams;
438
+ return swaps;
428
439
  }
429
440
  hasAnyRouteWithEthAndDifferentNeedWrapNative(priceRoute, exchangeParams) {
430
441
  const eth = constants_1.ETHER_ADDRESS.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"generic-swap-transaction-builder.js","sourceRoot":"","sources":["../src/generic-swap-transaction-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic-swap-transaction-builder.js","sourceRoot":"","sources":["../src/generic-swap-transaction-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.7.14-multi-route.0",
3
+ "version": "4.7.14-multi-route.2",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",