@paraswap/dex-lib 2.35.2 → 2.35.3-base-support.1

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 (49) hide show
  1. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
  2. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
  3. package/build/config.js +26 -0
  4. package/build/config.js.map +1 -1
  5. package/build/constants.d.ts +2 -1
  6. package/build/constants.js +1 -0
  7. package/build/constants.js.map +1 -1
  8. package/build/dex/balancer-v2/LinearMath.d.ts +19 -0
  9. package/build/dex/balancer-v2/LinearMath.js +179 -0
  10. package/build/dex/balancer-v2/LinearMath.js.map +1 -0
  11. package/build/dex/balancer-v2/LinearPool.d.ts +47 -0
  12. package/build/dex/balancer-v2/LinearPool.js +324 -0
  13. package/build/dex/balancer-v2/LinearPool.js.map +1 -0
  14. package/build/dex/balancer-v2/PhantomStablePool.d.ts +47 -0
  15. package/build/dex/balancer-v2/PhantomStablePool.js +294 -0
  16. package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
  17. package/build/dex/balancer-v2/StableMath.d.ts +9 -0
  18. package/build/dex/balancer-v2/StableMath.js +272 -0
  19. package/build/dex/balancer-v2/StableMath.js.map +1 -0
  20. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +75 -0
  21. package/build/dex/balancer-v2/balancer-v2-pool.js +417 -0
  22. package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
  23. package/build/dex/pancakeswap-v3/types.d.ts +137 -0
  24. package/build/dex/pancakeswap-v3/types.js +9 -0
  25. package/build/dex/pancakeswap-v3/types.js.map +1 -0
  26. package/build/dex/uniswap-v3/config.js +16 -0
  27. package/build/dex/uniswap-v3/config.js.map +1 -1
  28. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
  29. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
  30. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
  31. package/build/dex/weth/config.js +3 -0
  32. package/build/dex/weth/config.js.map +1 -1
  33. package/build/web3-provider.d.ts +3 -0
  34. package/build/web3-provider.js +13 -0
  35. package/build/web3-provider.js.map +1 -0
  36. package/package.json +1 -1
  37. package/src/config.ts +27 -1
  38. package/src/constants.ts +1 -0
  39. package/src/dex/uniswap-v3/config.ts +17 -0
  40. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +95 -0
  41. package/src/dex/weth/config.ts +3 -0
  42. package/tests/constants-e2e.ts +17 -0
  43. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  44. package/build/dex/algebra/algebra-pool.d.ts +0 -46
  45. package/build/dex/algebra/algebra-pool.js +0 -336
  46. package/build/dex/algebra/algebra-pool.js.map +0 -1
  47. package/build/dex/quickswap/camelot-v3.d.ts +0 -6
  48. package/build/dex/quickswap/camelot-v3.js +0 -19
  49. package/build/dex/quickswap/camelot-v3.js.map +0 -1
@@ -0,0 +1,137 @@
1
+ import { BigNumber } from 'ethers';
2
+ import { NumberAsString } from '../../types';
3
+ import { Address } from '../../types';
4
+ export declare type OracleObservation = {
5
+ blockTimestamp: bigint;
6
+ tickCumulative: bigint;
7
+ secondsPerLiquidityCumulativeX128: bigint;
8
+ initialized: boolean;
9
+ };
10
+ export declare type OracleObservationCandidates = {
11
+ beforeOrAt: OracleObservation;
12
+ atOrAfter: OracleObservation;
13
+ };
14
+ export declare type TickInfo = {
15
+ liquidityGross: bigint;
16
+ liquidityNet: bigint;
17
+ tickCumulativeOutside: bigint;
18
+ secondsPerLiquidityOutsideX128: bigint;
19
+ secondsOutside: bigint;
20
+ initialized: boolean;
21
+ };
22
+ export declare type Slot0 = {
23
+ sqrtPriceX96: bigint;
24
+ tick: bigint;
25
+ observationIndex: number;
26
+ observationCardinality: number;
27
+ observationCardinalityNext: number;
28
+ feeProtocol: bigint;
29
+ };
30
+ export declare type PoolState = {
31
+ pool: string;
32
+ blockTimestamp: bigint;
33
+ tickSpacing: bigint;
34
+ fee: bigint;
35
+ slot0: Slot0;
36
+ liquidity: bigint;
37
+ maxLiquidityPerTick: bigint;
38
+ tickBitmap: Record<NumberAsString, bigint>;
39
+ ticks: Record<NumberAsString, TickInfo>;
40
+ observations: Record<number, OracleObservation>;
41
+ isValid: boolean;
42
+ startTickBitmap: bigint;
43
+ lowestKnownTick: bigint;
44
+ highestKnownTick: bigint;
45
+ balance0: bigint;
46
+ balance1: bigint;
47
+ };
48
+ export declare type UniswapV3Data = {
49
+ path: {
50
+ tokenIn: Address;
51
+ tokenOut: Address;
52
+ fee: NumberAsString;
53
+ }[];
54
+ };
55
+ export declare type DexParams = {
56
+ router: Address;
57
+ quoter: Address;
58
+ factory: Address;
59
+ stateMulticall: Address;
60
+ uniswapMulticall: Address;
61
+ supportedFees: bigint[];
62
+ chunksCount: number;
63
+ deployer?: Address;
64
+ subgraphURL: string;
65
+ initHash: string;
66
+ };
67
+ export declare type UniswapV3SellParam = {
68
+ path: string;
69
+ recipient: Address;
70
+ deadline: string;
71
+ amountIn: NumberAsString;
72
+ amountOutMinimum: NumberAsString;
73
+ };
74
+ export declare type UniswapV3BuyParam = {
75
+ path: string;
76
+ recipient: Address;
77
+ deadline: string;
78
+ amountOut: NumberAsString;
79
+ amountInMaximum: NumberAsString;
80
+ };
81
+ export declare type UniswapV3Param = UniswapV3SellParam | UniswapV3BuyParam;
82
+ export declare enum UniswapV3Functions {
83
+ exactInput = "exactInput",
84
+ exactOutput = "exactOutput"
85
+ }
86
+ export declare type TickInfoMappings = {
87
+ index: number;
88
+ value: TickInfo;
89
+ };
90
+ export declare type TickBitMapMappings = {
91
+ index: number;
92
+ value: bigint;
93
+ };
94
+ export declare type OutputResult = {
95
+ outputs: bigint[];
96
+ tickCounts: number[];
97
+ };
98
+ export declare type TickBitMapMappingsWithBigNumber = {
99
+ index: number;
100
+ value: BigNumber;
101
+ };
102
+ export declare type TickInfoWithBigNumber = {
103
+ initialized: boolean;
104
+ liquidityGross: BigNumber;
105
+ liquidityNet: BigNumber;
106
+ secondsOutside: number;
107
+ secondsPerLiquidityOutsideX128: BigNumber;
108
+ tickCumulativeOutside: BigNumber;
109
+ };
110
+ export declare type TickInfoMappingsWithBigNumber = {
111
+ index: number;
112
+ value: TickInfoWithBigNumber;
113
+ };
114
+ export declare type DecodedStateMultiCallResultWithRelativeBitmaps = {
115
+ pool: Address;
116
+ blockTimestamp: BigNumber;
117
+ slot0: {
118
+ feeProtocol: number;
119
+ observationCardinality: number;
120
+ observationCardinalityNext: number;
121
+ observationIndex: number;
122
+ sqrtPriceX96: BigNumber;
123
+ tick: number;
124
+ unlocked: boolean;
125
+ };
126
+ liquidity: BigNumber;
127
+ tickSpacing: number;
128
+ maxLiquidityPerTick: BigNumber;
129
+ observation: {
130
+ blockTimestamp: number;
131
+ initialized: boolean;
132
+ secondsPerLiquidityCumulativeX128: BigNumber;
133
+ tickCumulative: BigNumber;
134
+ };
135
+ tickBitmap: TickBitMapMappingsWithBigNumber[];
136
+ ticks: TickInfoMappingsWithBigNumber[];
137
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UniswapV3Functions = void 0;
4
+ var UniswapV3Functions;
5
+ (function (UniswapV3Functions) {
6
+ UniswapV3Functions["exactInput"] = "exactInput";
7
+ UniswapV3Functions["exactOutput"] = "exactOutput";
8
+ })(UniswapV3Functions = exports.UniswapV3Functions || (exports.UniswapV3Functions = {}));
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/pancakeswap-v3/types.ts"],"names":[],"mappings":";;;AA4FA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
@@ -98,6 +98,18 @@ exports.UniswapV3Config = {
98
98
  initHash: `0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54`,
99
99
  subgraphURL: 'https://api.thegraph.com/subgraphs/name/lynnshaoyu/uniswap-v3-avax',
100
100
  },
101
+ [constants_1.Network.BASE]: {
102
+ factory: '0x33128a8fC17869897dcE68Ed026d694621f6FDfD',
103
+ quoter: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',
104
+ router: '0xaeE2b8d4A154e36f479dAeCe3FB3e6c3c03d396E',
105
+ supportedFees: SUPPORTED_FEES,
106
+ stateMulticall: '0x7160f736c52e1e78e92FD4eE4D73e21A7Cf4F950',
107
+ uniswapMulticall: '0x091e99cb1C49331a94dD62755D168E941AbD0693',
108
+ chunksCount: 10,
109
+ initRetryFrequency: 10,
110
+ initHash: `0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54`,
111
+ subgraphURL: 'https://api.thegraph.com/subgraphs/name/lynnshaoyu/uniswap-v3-base',
112
+ },
101
113
  },
102
114
  SushiSwapV3: {
103
115
  [constants_1.Network.MAINNET]: {
@@ -264,5 +276,9 @@ exports.Adapters = {
264
276
  [constants_1.SwapSide.SELL]: [{ name: 'AvalancheAdapter02', index: 5 }],
265
277
  [constants_1.SwapSide.BUY]: [{ name: 'AvalancheBuyAdapter', index: 6 }],
266
278
  },
279
+ [constants_1.Network.BASE]: {
280
+ [constants_1.SwapSide.SELL]: [{ name: 'BaseAdapter01', index: 1 }],
281
+ [constants_1.SwapSide.BUY]: [{ name: 'BaseBuyAdapter', index: 1 }],
282
+ },
267
283
  };
268
284
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v3/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v3/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { UniswapV3 } from '../../uniswap-v3';
2
+ import { Network } from '../../../../constants';
3
+ import { IDexHelper } from '../../../../dex-helper';
4
+ export declare class PancakeswapV3 extends UniswapV3 {
5
+ protected network: Network;
6
+ protected dexHelper: IDexHelper;
7
+ static dexKeysWithNetwork: {
8
+ key: string;
9
+ networks: Network[];
10
+ }[];
11
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
12
+ }
@@ -0,0 +1,23 @@
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.PancakeswapV3 = void 0;
7
+ const uniswap_v3_1 = require("../../uniswap-v3");
8
+ const abi_1 = require("@ethersproject/abi");
9
+ const PancakeswapV3Router_abi_json_1 = __importDefault(require("../../../../abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json"));
10
+ const PancakeswapV3QuoterV2_abi_json_1 = __importDefault(require("../../../../abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json"));
11
+ const utils_1 = require("../../../../utils");
12
+ const lodash_1 = __importDefault(require("lodash"));
13
+ const config_1 = require("../../config");
14
+ class PancakeswapV3 extends uniswap_v3_1.UniswapV3 {
15
+ constructor(network, dexKey, dexHelper) {
16
+ super(network, dexKey, dexHelper, undefined, new abi_1.Interface(PancakeswapV3Router_abi_json_1.default), new abi_1.Interface(PancakeswapV3QuoterV2_abi_json_1.default));
17
+ this.network = network;
18
+ this.dexHelper = dexHelper;
19
+ }
20
+ }
21
+ exports.PancakeswapV3 = PancakeswapV3;
22
+ PancakeswapV3.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(lodash_1.default.pick(config_1.UniswapV3Config, ['PancakeswapV3']));
23
+ //# sourceMappingURL=pancakeswap-v3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pancakeswap-v3.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA6C;AAG7C,4CAA+C;AAC/C,0IAA4G;AAC5G,8IAAgH;AAChH,6CAA0D;AAC1D,oDAAuB;AACvB,yCAA+C;AAE/C,MAAa,aAAc,SAAQ,sBAAS;IAG1C,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB;QAE/B,KAAK,CACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,SAAS,EACT,IAAI,eAAS,CAAC,sCAAsB,CAAC,EACrC,IAAI,eAAS,CAAC,wCAAwB,CAAC,CACxC,CAAC;QAXQ,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;IAUjC,CAAC;;AAhBH,sCAiBC;AAhBe,gCAAkB,GAC9B,IAAA,6BAAqB,EAAC,gBAAC,CAAC,IAAI,CAAC,wBAAe,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC"}
@@ -24,6 +24,9 @@ exports.WethConfig = {
24
24
  [constants_1.Network.ZKEVM]: {
25
25
  poolGasCost: WethGasCost,
26
26
  },
27
+ [constants_1.Network.BASE]: {
28
+ poolGasCost: WethGasCost,
29
+ },
27
30
  },
28
31
  Wbnb: {
29
32
  [constants_1.Network.BSC]: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/weth/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAC1C,yCAA0C;AAE1C,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjB,QAAA,UAAU,GAA4B;IACjD,IAAI,EAAE;QACJ,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,KAAK,CAAC,EAAE;YACf,WAAW,EAAE,WAAW;SACzB;KACF;IACD,IAAI,EAAE;QACJ,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;YACb,WAAW,EAAE,WAAW;SACzB;KACF;IACD,MAAM,EAAE;QACN,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,WAAW;SACzB;KACF;IACD,IAAI,EAAE;QACJ,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,WAAW,EAAE,WAAW;SACzB;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;YACnB,WAAW,EAAE,WAAW;SACzB;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAIjB;IACF,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;QACnB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC5D;IACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;IACxE,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;QAChB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACzD;IACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;IACzE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC1D;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC3D;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC3D;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/weth/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAC1C,yCAA0C;AAE1C,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjB,QAAA,UAAU,GAA4B;IACjD,IAAI,EAAE;QACJ,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,KAAK,CAAC,EAAE;YACf,WAAW,EAAE,WAAW;SACzB;QACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,WAAW,EAAE,WAAW;SACzB;KACF;IACD,IAAI,EAAE;QACJ,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;YACb,WAAW,EAAE,WAAW;SACzB;KACF;IACD,MAAM,EAAE;QACN,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,WAAW;SACzB;KACF;IACD,IAAI,EAAE;QACJ,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,WAAW,EAAE,WAAW;SACzB;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;YACnB,WAAW,EAAE,WAAW;SACzB;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAIjB;IACF,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;QACnB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC5D;IACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;IACxE,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;QAChB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KACzD;IACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;IACzE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC1D;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC3D;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;KAC3D;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Network } from './constants';
2
+ import { StaticJsonRpcProvider } from '@ethersproject/providers';
3
+ export declare function getRpcProvider(network: Network, url?: string): StaticJsonRpcProvider;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRpcProvider = void 0;
4
+ const providers_1 = require("@ethersproject/providers");
5
+ const config_1 = require("./config");
6
+ function getRpcProvider(network, url) {
7
+ return new providers_1.StaticJsonRpcProvider({
8
+ url: url ?? (0, config_1.generateConfig)(network).privateHttpProvider,
9
+ allowGzip: true,
10
+ }, network);
11
+ }
12
+ exports.getRpcProvider = getRpcProvider;
13
+ //# sourceMappingURL=web3-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web3-provider.js","sourceRoot":"","sources":["../src/web3-provider.ts"],"names":[],"mappings":";;;AACA,wDAAiE;AACjE,qCAA0C;AAG1C,SAAgB,cAAc,CAAC,OAAgB,EAAE,GAAY;IAC3D,OAAO,IAAI,iCAAqB,CAC9B;QACE,GAAG,EAAE,GAAG,IAAI,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC,mBAAmB;QACvD,SAAS,EAAE,IAAI;KAChB,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AARD,wCAQC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.35.2",
3
+ "version": "2.35.3-base-support.1",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
package/src/config.ts CHANGED
@@ -317,7 +317,6 @@ const baseConfigs: { [network: number]: BaseConfig } = {
317
317
  rpcPollingBlocksBackToTriggerUpdate: 3,
318
318
  forceRpcFallbackDexs: [],
319
319
  },
320
-
321
320
  [Network.ZKEVM]: {
322
321
  network: Network.ZKEVM,
323
322
  networkName: 'Polygon zkEVM',
@@ -347,6 +346,33 @@ const baseConfigs: { [network: number]: BaseConfig } = {
347
346
  // FIXME: Not set properly
348
347
  uniswapV2ExchangeRouterAddress: '',
349
348
  },
349
+ [Network.BASE]: {
350
+ network: Network.BASE,
351
+ networkName: 'Base',
352
+ isTestnet: false,
353
+ nativeTokenName: 'Ether',
354
+ nativeTokenSymbol: 'ETH',
355
+ wrappedNativeTokenAddress: '0x4200000000000000000000000000000000000006',
356
+ hasEIP1559: false,
357
+ augustusAddress: '0x59C7C832e96D2568bea6db468C1aAdcbbDa08A52',
358
+ augustusRFQAddress: '0xa003dFBA51C9e1e56C67ae445b852bdEd7aC5EEd',
359
+ tokenTransferProxyAddress: '0x93aAAe79a53759cD164340E4C8766E4Db5331cD7',
360
+ multicallV2Address: '0xeDF6D2a16e8081F777eB623EeB4411466556aF3d',
361
+ privateHttpProvider: process.env.HTTP_PROVIDER_8453,
362
+ hashFlowAuthToken: process.env.API_KEY_HASHFLOW_AUTH_TOKEN || '',
363
+ hashFlowDisabledMMs: [],
364
+ adapterAddresses: {
365
+ BaseAdapter01: '0x9F77bb28e97F093Aa6CbE37cE095C18605d98Af2',
366
+ BaseBuyAdapter: '0x8DE036910e34b0d8447Dd0D34C742636de1DDfEb',
367
+ },
368
+ uniswapV2ExchangeRouterAddress:
369
+ '0x75d199EfB540e47D27D52c62Da3E7daC2B9e834F',
370
+ uniswapV3EventLoggingSampleRate: 0,
371
+ rfqConfigs: {},
372
+ rpcPollingMaxAllowedStateDelayInBlocks: 5,
373
+ rpcPollingBlocksBackToTriggerUpdate: 3,
374
+ forceRpcFallbackDexs: [],
375
+ },
350
376
  };
351
377
 
352
378
  // Should not be used, except by internal test code
package/src/constants.ts CHANGED
@@ -38,6 +38,7 @@ export enum Network {
38
38
  FANTOM = 250,
39
39
  ARBITRUM = 42161,
40
40
  OPTIMISM = 10,
41
+ BASE = 8453,
41
42
  }
42
43
  export const SUBGRAPH_TIMEOUT = 20 * 1000;
43
44
 
@@ -106,6 +106,19 @@ export const UniswapV3Config: DexConfigMap<DexParams> = {
106
106
  subgraphURL:
107
107
  'https://api.thegraph.com/subgraphs/name/lynnshaoyu/uniswap-v3-avax',
108
108
  },
109
+ [Network.BASE]: {
110
+ factory: '0x33128a8fC17869897dcE68Ed026d694621f6FDfD',
111
+ quoter: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',
112
+ router: '0xaeE2b8d4A154e36f479dAeCe3FB3e6c3c03d396E',
113
+ supportedFees: SUPPORTED_FEES,
114
+ stateMulticall: '0x7160f736c52e1e78e92FD4eE4D73e21A7Cf4F950',
115
+ uniswapMulticall: '0x091e99cb1C49331a94dD62755D168E941AbD0693',
116
+ chunksCount: 10,
117
+ initRetryFrequency: 10,
118
+ initHash: `0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54`,
119
+ subgraphURL:
120
+ 'https://api.thegraph.com/subgraphs/name/lynnshaoyu/uniswap-v3-base',
121
+ },
109
122
  },
110
123
  SushiSwapV3: {
111
124
  [Network.MAINNET]: {
@@ -283,4 +296,8 @@ export const Adapters: Record<number, AdapterMappings> = {
283
296
  [SwapSide.SELL]: [{ name: 'AvalancheAdapter02', index: 5 }],
284
297
  [SwapSide.BUY]: [{ name: 'AvalancheBuyAdapter', index: 6 }],
285
298
  },
299
+ [Network.BASE]: {
300
+ [SwapSide.SELL]: [{ name: 'BaseAdapter01', index: 1 }],
301
+ [SwapSide.BUY]: [{ name: 'BaseBuyAdapter', index: 1 }],
302
+ },
286
303
  };
@@ -403,6 +403,101 @@ describe('UniswapV3 E2E', () => {
403
403
  );
404
404
  });
405
405
 
406
+ describe('UniswapV3 Base', () => {
407
+ const network = Network.BASE;
408
+ const tokens = Tokens[network];
409
+ const holders = Holders[network];
410
+ const provider = new StaticJsonRpcProvider(
411
+ generateConfig(network).privateHttpProvider,
412
+ network,
413
+ );
414
+
415
+ const tokenASymbol: string = 'PRIME';
416
+ const tokenBSymbol: string = 'WETH';
417
+ const nativeTokenSymbol = NativeTokenSymbols[network];
418
+
419
+ const tokenAAmount: string = '1000000000000000000';
420
+ const tokenBAmount: string = '1000000000000000000';
421
+ const nativeTokenAmount = '1000000000000000000';
422
+
423
+ const sideToContractMethods = new Map([
424
+ [
425
+ SwapSide.SELL,
426
+ [
427
+ // ContractMethod.simpleSwap,
428
+ ContractMethod.multiSwap,
429
+ // ContractMethod.megaSwap,
430
+ ],
431
+ ],
432
+ [
433
+ SwapSide.BUY,
434
+ [
435
+ // ContractMethod.simpleBuy,
436
+ // ContractMethod.buy
437
+ ],
438
+ ],
439
+ ]);
440
+
441
+ sideToContractMethods.forEach((contractMethods, side) =>
442
+ contractMethods.forEach((contractMethod: ContractMethod) => {
443
+ describe(`${contractMethod}`, () => {
444
+ it(`${network} ${side} ${contractMethod} ${nativeTokenSymbol} -> ${tokenASymbol}`, async () => {
445
+ await testE2E(
446
+ tokens[nativeTokenSymbol],
447
+ tokens[tokenASymbol],
448
+ holders[nativeTokenSymbol],
449
+ side === SwapSide.SELL ? nativeTokenAmount : tokenAAmount,
450
+ side,
451
+ dexKey,
452
+ contractMethod,
453
+ network,
454
+ provider,
455
+ );
456
+ });
457
+ it(`${network} ${side} ${contractMethod} ${tokenASymbol} -> ${nativeTokenSymbol}`, async () => {
458
+ await testE2E(
459
+ tokens[tokenASymbol],
460
+ tokens[nativeTokenSymbol],
461
+ holders[tokenASymbol],
462
+ side === SwapSide.SELL ? tokenAAmount : nativeTokenAmount,
463
+ side,
464
+ dexKey,
465
+ contractMethod,
466
+ network,
467
+ provider,
468
+ );
469
+ });
470
+ it(`${network} ${side} ${contractMethod} ${tokenBSymbol} -> ${tokenASymbol}`, async () => {
471
+ await testE2E(
472
+ tokens[tokenBSymbol],
473
+ tokens[tokenASymbol],
474
+ holders[tokenASymbol],
475
+ side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
476
+ side,
477
+ dexKey,
478
+ contractMethod,
479
+ network,
480
+ provider,
481
+ );
482
+ });
483
+ it(`${network} ${side} ${contractMethod} ${tokenASymbol} -> ${tokenBSymbol}`, async () => {
484
+ await testE2E(
485
+ tokens[tokenASymbol],
486
+ tokens[tokenBSymbol],
487
+ holders[tokenASymbol],
488
+ side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
489
+ side,
490
+ dexKey,
491
+ contractMethod,
492
+ network,
493
+ provider,
494
+ );
495
+ });
496
+ });
497
+ }),
498
+ );
499
+ });
500
+
406
501
  describe('UniswapV3 Avalanche', () => {
407
502
  const network = Network.AVALANCHE;
408
503
  const tokens = Tokens[network];
@@ -25,6 +25,9 @@ export const WethConfig: DexConfigMap<DexParams> = {
25
25
  [Network.ZKEVM]: {
26
26
  poolGasCost: WethGasCost,
27
27
  },
28
+ [Network.BASE]: {
29
+ poolGasCost: WethGasCost,
30
+ },
28
31
  },
29
32
  Wbnb: {
30
33
  [Network.BSC]: {
@@ -883,6 +883,17 @@ export const Tokens: {
883
883
  decimals: 6,
884
884
  },
885
885
  },
886
+ [Network.BASE]: {
887
+ PRIME: {
888
+ address: '0xfA980cEd6895AC314E7dE34Ef1bFAE90a5AdD21b',
889
+ decimals: 18,
890
+ },
891
+ WETH: {
892
+ address: '0x4200000000000000000000000000000000000006',
893
+ decimals: 18,
894
+ },
895
+ ETH: { address: ETHER_ADDRESS, decimals: 18 },
896
+ },
886
897
  };
887
898
 
888
899
  export const Holders: {
@@ -1102,6 +1113,11 @@ export const Holders: {
1102
1113
  WBTC: '0x99b31498b0a1dae01fc3433e3cb60f095340935c',
1103
1114
  USDC: '0x99b31498b0a1dae01fc3433e3cb60f095340935c',
1104
1115
  },
1116
+ [Network.BASE]: {
1117
+ WETH: '0x4bb6b2efe7036020ba6f02a05602546c9f25bf28',
1118
+ PRIME: '0x956bcc6b56c99db382d9d97a30ba5f1402144b3e',
1119
+ ETH: '0xdd9176ea3e7559d6b68b537ef555d3e89403f742',
1120
+ },
1105
1121
  };
1106
1122
 
1107
1123
  export const SmartTokens = Object.keys(Tokens).reduce((acc, _network) => {
@@ -1126,4 +1142,5 @@ export const NativeTokenSymbols: { [network: number]: string } = {
1126
1142
  [Network.FANTOM]: 'FTM',
1127
1143
  [Network.ARBITRUM]: 'ETH',
1128
1144
  [Network.OPTIMISM]: 'ETH',
1145
+ [Network.BASE]: 'ETH',
1129
1146
  };