@paraswap/dex-lib 3.8.27 → 3.8.28-fm.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.
Files changed (66) hide show
  1. package/build/dex-utils.d.ts +3 -0
  2. package/build/dex-utils.js +10 -0
  3. package/build/dex-utils.js.map +1 -0
  4. package/build/pricing-helper.d.ts +2 -2
  5. package/build/pricing-helper.js +4 -4
  6. package/build/pricing-helper.js.map +1 -1
  7. package/build/stateful-dual-synchronizer.d.ts +46 -0
  8. package/build/stateful-dual-synchronizer.js +300 -0
  9. package/build/stateful-dual-synchronizer.js.map +1 -0
  10. package/package.json +2 -3
  11. package/src/pricing-helper.ts +4 -2
  12. package/.idea/codeStyles/Project.xml +0 -59
  13. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  14. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  15. package/.idea/modules.xml +0 -8
  16. package/.idea/paraswap-dex-lib.iml +0 -12
  17. package/.idea/vcs.xml +0 -6
  18. package/build/abi/BProtocol.json +0 -1155
  19. package/build/abi/Jarvis.json +0 -1172
  20. package/build/abi/MStableAsset.json +0 -1545
  21. package/build/abi/OneInchLp.json +0 -1304
  22. package/build/abi/Onebit.json +0 -736
  23. package/build/abi/Shell.json +0 -1294
  24. package/build/abi/TraderJoeV2Router.json +0 -50
  25. package/build/abi/zrx.v2.json +0 -1967
  26. package/build/abi/zrx.v3.json +0 -3454
  27. package/build/abi/zrx.v4.json +0 -2193
  28. package/build/dex/OneInchLp.d.ts +0 -24
  29. package/build/dex/OneInchLp.js +0 -43
  30. package/build/dex/OneInchLp.js.map +0 -1
  31. package/build/dex/bProtocol/bProtocol.d.ts +0 -15
  32. package/build/dex/bProtocol/bProtocol.js +0 -56
  33. package/build/dex/bProtocol/bProtocol.js.map +0 -1
  34. package/build/dex/bProtocol/types.d.ts +0 -11
  35. package/build/dex/bProtocol/types.js +0 -8
  36. package/build/dex/bProtocol/types.js.map +0 -1
  37. package/build/dex/jarvis.d.ts +0 -56
  38. package/build/dex/jarvis.js +0 -163
  39. package/build/dex/jarvis.js.map +0 -1
  40. package/build/dex/mStable.d.ts +0 -44
  41. package/build/dex/mStable.js +0 -75
  42. package/build/dex/mStable.js.map +0 -1
  43. package/build/dex/onebit/onebit.d.ts +0 -16
  44. package/build/dex/onebit/onebit.js +0 -61
  45. package/build/dex/onebit/onebit.js.map +0 -1
  46. package/build/dex/onebit/types.d.ts +0 -14
  47. package/build/dex/onebit/types.js +0 -8
  48. package/build/dex/onebit/types.js.map +0 -1
  49. package/build/dex/shell.d.ts +0 -25
  50. package/build/dex/shell.js +0 -41
  51. package/build/dex/shell.js.map +0 -1
  52. package/build/dex/trader-joe-v2.d.ts +0 -40
  53. package/build/dex/trader-joe-v2.js +0 -74
  54. package/build/dex/trader-joe-v2.js.map +0 -1
  55. package/build/dex/zerox/config.d.ts +0 -2
  56. package/build/dex/zerox/config.js +0 -33
  57. package/build/dex/zerox/config.js.map +0 -1
  58. package/build/dex/zerox/index.d.ts +0 -22
  59. package/build/dex/zerox/index.js +0 -225
  60. package/build/dex/zerox/index.js.map +0 -1
  61. package/build/dex/zerox/order.d.ts +0 -88
  62. package/build/dex/zerox/order.js +0 -53
  63. package/build/dex/zerox/order.js.map +0 -1
  64. package/build/dex/zerox/types.d.ts +0 -73
  65. package/build/dex/zerox/types.js +0 -21
  66. package/build/dex/zerox/types.js.map +0 -1
@@ -1,25 +0,0 @@
1
- import { Interface } 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 { IDexHelper } from '../dex-helper';
7
- export declare type ShellData = {
8
- exchange: Address;
9
- deadline?: number;
10
- };
11
- declare type ShellParam = [
12
- _origin: string,
13
- _target: string,
14
- _originAmount: string,
15
- _minTargetAmount: string,
16
- _deadline: string
17
- ];
18
- export declare class Shell extends SimpleExchange implements IDexTxBuilder<ShellData, ShellParam> {
19
- static dexKeys: string[];
20
- exchangeRouterInterface: Interface;
21
- constructor(dexHelper: IDexHelper);
22
- getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: ShellData, side: SwapSide): AdapterExchangeParam;
23
- getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: ShellData, side: SwapSide): Promise<SimpleExchangeParam>;
24
- }
25
- export {};
@@ -1,41 +0,0 @@
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.Shell = void 0;
7
- const abi_1 = require("@ethersproject/abi");
8
- const simple_exchange_1 = require("./simple-exchange");
9
- const Shell_json_1 = __importDefault(require("../abi/Shell.json"));
10
- var ShellFunctions;
11
- (function (ShellFunctions) {
12
- ShellFunctions["originSwap"] = "originSwap";
13
- })(ShellFunctions || (ShellFunctions = {}));
14
- class Shell extends simple_exchange_1.SimpleExchange {
15
- constructor(dexHelper) {
16
- super(dexHelper, 'shell');
17
- this.exchangeRouterInterface = new abi_1.Interface(Shell_json_1.default);
18
- }
19
- getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
20
- return {
21
- targetExchange: data.exchange,
22
- payload: '0x',
23
- networkFee: '0',
24
- };
25
- }
26
- async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
27
- const swapFunction = ShellFunctions.originSwap;
28
- const swapFunctionParams = [
29
- srcToken,
30
- destToken,
31
- srcAmount,
32
- destAmount,
33
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
34
- ];
35
- const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
36
- return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, data.exchange);
37
- }
38
- }
39
- exports.Shell = Shell;
40
- Shell.dexKeys = ['shell'];
41
- //# sourceMappingURL=shell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/dex/shell.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA6D;AAI7D,uDAG2B;AAC3B,mEAAyC;AAczC,IAAK,cAEJ;AAFD,WAAK,cAAc;IACjB,2CAAyB,CAAA;AAC3B,CAAC,EAFI,cAAc,KAAd,cAAc,QAElB;AAED,MAAa,KACX,SAAQ,gCAAc;IAMtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAAC,oBAA0B,CAAC,CAAC;IAC3E,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAe,EACf,IAAc;QAEd,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAe,EACf,IAAc;QAEd,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC;QAC/C,MAAM,kBAAkB,GAAe;YACrC,QAAQ;YACR,SAAS;YACT,SAAS;YACT,UAAU;YACV,IAAA,uDAAqC,GAAE;SACxC,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;;AAxDH,sBAyDC;AArDQ,aAAO,GAAG,CAAC,OAAO,CAAC,CAAC"}
@@ -1,40 +0,0 @@
1
- import { SwapSide } from '../constants';
2
- import { AdapterExchangeParam, Address, SimpleExchangeParam } from '../types';
3
- import { IDexTxBuilder } from './idex';
4
- import { IDexHelper } from '../dex-helper';
5
- import { SimpleExchange } from './simple-exchange';
6
- import { NumberAsString } from '@paraswap/core';
7
- import { AsyncOrSync } from 'ts-essentials';
8
- import { Interface } from '@ethersproject/abi';
9
- declare type TraderJoeV2RouterSellParams = [
10
- _amountIn: NumberAsString,
11
- _amountOutMin: NumberAsString,
12
- _pairBinSteps: NumberAsString[],
13
- _tokenPath: Address[],
14
- to: Address,
15
- _deadline: number
16
- ];
17
- declare type TraderJoeV2RouterBuyParams = [
18
- _amountOut: NumberAsString,
19
- _amountInMax: NumberAsString,
20
- _pairBinSteps: NumberAsString[],
21
- _tokenPath: Address[],
22
- to: Address,
23
- _deadline: string
24
- ];
25
- declare type TraderJoeV2RouterParam = TraderJoeV2RouterSellParams | TraderJoeV2RouterBuyParams;
26
- export declare type TraderJoeV2Data = {
27
- tokenIn: string;
28
- tokenOut: string;
29
- binStep: string;
30
- };
31
- export declare class TraderJoeV2 extends SimpleExchange implements IDexTxBuilder<TraderJoeV2Data, TraderJoeV2RouterParam> {
32
- static dexKeys: string[];
33
- protected routerAddress: string;
34
- exchangeRouterInterface: Interface;
35
- needWrapNative: boolean;
36
- constructor(dexHelper: IDexHelper);
37
- getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: TraderJoeV2Data, side: SwapSide): AdapterExchangeParam;
38
- getSimpleParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: TraderJoeV2Data, side: SwapSide): AsyncOrSync<SimpleExchangeParam>;
39
- }
40
- export {};
@@ -1,74 +0,0 @@
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.TraderJoeV2 = void 0;
7
- const constants_1 = require("../constants");
8
- const simple_exchange_1 = require("./simple-exchange");
9
- const abi_1 = require("@ethersproject/abi");
10
- const TraderJoeV2Router_json_1 = __importDefault(require("../abi/TraderJoeV2Router.json"));
11
- const TRADERJOE_V2_ROUTER_ADDRESS = {
12
- [constants_1.Network.AVALANCHE]: '0xE3Ffc583dC176575eEA7FD9dF2A7c65F7E23f4C3',
13
- [constants_1.Network.ARBITRUM]: '0x7BFd7192E76D950832c77BB412aaE841049D8D9B',
14
- [constants_1.Network.BSC]: '0xb66A2704a0dabC1660941628BE987B4418f7a9E8',
15
- };
16
- var TraderJoeV2RouterFunctions;
17
- (function (TraderJoeV2RouterFunctions) {
18
- TraderJoeV2RouterFunctions["swapExactTokensForTokens"] = "swapExactTokensForTokens";
19
- TraderJoeV2RouterFunctions["swapTokensForExactTokens"] = "swapTokensForExactTokens";
20
- })(TraderJoeV2RouterFunctions || (TraderJoeV2RouterFunctions = {}));
21
- class TraderJoeV2 extends simple_exchange_1.SimpleExchange {
22
- constructor(dexHelper) {
23
- super(dexHelper, 'traderjoev2');
24
- this.needWrapNative = true;
25
- this.routerAddress =
26
- TRADERJOE_V2_ROUTER_ADDRESS[dexHelper.config.data.network];
27
- this.exchangeRouterInterface = new abi_1.Interface(TraderJoeV2Router_json_1.default);
28
- }
29
- getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
30
- const payload = this.abiCoder.encodeParameter({
31
- ParentStruct: {
32
- _pairBinSteps: 'uint256[]',
33
- _tokenPath: 'address[]',
34
- _deadline: 'uint256',
35
- },
36
- }, {
37
- _pairBinSteps: [data.binStep],
38
- _tokenPath: [data.tokenIn, data.tokenOut],
39
- _deadline: (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(), // FIXME: more gas efficient to pass block.timestamp in adapter
40
- });
41
- return {
42
- targetExchange: this.routerAddress,
43
- payload,
44
- networkFee: '0',
45
- };
46
- }
47
- getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
48
- const swapFunction = side === constants_1.SwapSide.SELL
49
- ? TraderJoeV2RouterFunctions.swapExactTokensForTokens
50
- : TraderJoeV2RouterFunctions.swapTokensForExactTokens;
51
- const swapFunctionParams = side === constants_1.SwapSide.SELL
52
- ? [
53
- srcAmount,
54
- destAmount,
55
- [data.binStep],
56
- [srcToken, destToken],
57
- this.augustusAddress,
58
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
59
- ]
60
- : [
61
- destAmount,
62
- srcAmount,
63
- [data.binStep],
64
- [srcToken, destToken],
65
- this.augustusAddress,
66
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
67
- ];
68
- const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
69
- return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, this.routerAddress);
70
- }
71
- }
72
- exports.TraderJoeV2 = TraderJoeV2;
73
- TraderJoeV2.dexKeys = ['traderjoev2'];
74
- //# sourceMappingURL=trader-joe-v2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trader-joe-v2.js","sourceRoot":"","sources":["../../src/dex/trader-joe-v2.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAiD;AAIjD,uDAG2B;AAG3B,4CAA6D;AAC7D,2FAAiE;AAEjE,MAAM,2BAA2B,GAAmC;IAClE,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE,4CAA4C;IACjE,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IAChE,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE,4CAA4C;CAC5D,CAAC;AA8BF,IAAK,0BAGJ;AAHD,WAAK,0BAA0B;IAC7B,mFAAqD,CAAA;IACrD,mFAAqD,CAAA;AACvD,CAAC,EAHI,0BAA0B,KAA1B,0BAA0B,QAG9B;AAED,MAAa,WACX,SAAQ,gCAAc;IAQtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAHlC,mBAAc,GAAG,IAAI,CAAC;QAKpB,IAAI,CAAC,aAAa;YAChB,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAC1C,gCAAsC,CACvC,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,IAAqB,EACrB,IAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,aAAa,EAAE,WAAW;gBAC1B,UAAU,EAAE,WAAW;gBACvB,SAAS,EAAE,SAAS;aACrB;SACF,EACD;YACE,aAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;YACzC,SAAS,EAAE,IAAA,uDAAqC,GAAE,EAAE,+DAA+D;SACpH,CACF,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,aAAa;YAClC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,IAAqB,EACrB,IAAc;QAEd,MAAM,YAAY,GAChB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,0BAA0B,CAAC,wBAAwB;YACrD,CAAC,CAAC,0BAA0B,CAAC,wBAAwB,CAAC;QAE1D,MAAM,kBAAkB,GACtB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC;gBACE,SAAS;gBACT,UAAU;gBACV,CAAC,IAAI,CAAC,OAAO,CAAC;gBACd,CAAC,QAAQ,EAAE,SAAS,CAAC;gBACrB,IAAI,CAAC,eAAe;gBACpB,IAAA,uDAAqC,GAAE;aACxC;YACH,CAAC,CAAC;gBACE,UAAU;gBACV,SAAS;gBACT,CAAC,IAAI,CAAC,OAAO,CAAC;gBACd,CAAC,QAAQ,EAAE,SAAS,CAAC;gBACrB,IAAI,CAAC,eAAe;gBACpB,IAAA,uDAAqC,GAAE;aACxC,CAAC;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;;AA9FH,kCA+FC;AA3FQ,mBAAO,GAAG,CAAC,aAAa,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const ZRX_EXCHANGE: Record<number, Record<number, string>>;
2
- export declare const ZRX_EXCHANGE_ERC20PROXY: Record<number, Record<number, string>>;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZRX_EXCHANGE_ERC20PROXY = exports.ZRX_EXCHANGE = void 0;
4
- const constants_1 = require("../../constants");
5
- exports.ZRX_EXCHANGE = {
6
- [constants_1.Network.MAINNET]: {
7
- 2: '0x080bf510fcbf18b91105470639e9561022937712',
8
- 3: '0x61935CbDd02287B511119DDb11Aeb42F1593b7Ef',
9
- 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
10
- },
11
- [constants_1.Network.BSC]: {
12
- 2: '0x3F93C3D9304a70c9104642AB8cD37b1E2a7c203A',
13
- 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
14
- },
15
- [constants_1.Network.POLYGON]: {
16
- 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
17
- },
18
- };
19
- exports.ZRX_EXCHANGE_ERC20PROXY = {
20
- [constants_1.Network.MAINNET]: {
21
- 1: '0x95E6F48254609A6ee006F7D493c8e5fB97094ceF',
22
- 2: '0x95E6F48254609A6ee006F7D493c8e5fB97094ceF',
23
- 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
24
- },
25
- [constants_1.Network.BSC]: {
26
- 2: '0xCF21d4b7a265FF779accBA55Ace0F56C8cE6e379',
27
- 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
28
- },
29
- [constants_1.Network.POLYGON]: {
30
- 4: '0xdef1c0ded9bec7f1a1670819833240f027b25eff',
31
- },
32
- };
33
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/zerox/config.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAE7B,QAAA,YAAY,GAA2C;IAClE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,EAAE,4CAA4C;QAC/C,CAAC,EAAE,4CAA4C;QAC/C,CAAC,EAAE,4CAA4C;KAChD;IACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;QACb,CAAC,EAAE,4CAA4C;QAC/C,CAAC,EAAE,4CAA4C;KAChD;IACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,EAAE,4CAA4C;KAChD;CACF,CAAC;AAEW,QAAA,uBAAuB,GAA2C;IAC7E,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,EAAE,4CAA4C;QAC/C,CAAC,EAAE,4CAA4C;QAC/C,CAAC,EAAE,4CAA4C;KAChD;IACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;QACb,CAAC,EAAE,4CAA4C;QAC/C,CAAC,EAAE,4CAA4C;KAChD;IACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,EAAE,4CAA4C;KAChD;CACF,CAAC"}
@@ -1,22 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { SwapSide } from '../../constants';
3
- import { SimpleExchange } from '../simple-exchange';
4
- import type { IDexTxBuilder } from '../idex';
5
- import type { AdapterExchangeParam, Address, DexExchangeParam, NumberAsString, SimpleExchangeParam, TxInfo } from '../../types';
6
- import { type ZeroXData, type ZeroXParam } from './types';
7
- import { IDexHelper } from '../../dex-helper';
8
- export declare class ZeroX extends SimpleExchange implements IDexTxBuilder<ZeroXData, ZeroXParam> {
9
- static dexKeys: string[];
10
- routerInterface: Interface;
11
- needWrapNative: boolean;
12
- constructor(dexHelper: IDexHelper);
13
- private getExchange;
14
- protected buildSimpleSwapData(data: ZeroXData, srcAmount: NumberAsString): string;
15
- protected buildPayload(data: ZeroXData): string;
16
- getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, toAmount: NumberAsString, // required for buy case
17
- data: ZeroXData, side: SwapSide): AdapterExchangeParam;
18
- getSimpleParam(src: Address, dest: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: ZeroXData, side: SwapSide): Promise<SimpleExchangeParam>;
19
- getDexParam(_srcToken: Address, _destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, _recipient: Address, data: ZeroXData, side: SwapSide): DexExchangeParam;
20
- getDirectParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, expectedAmount: NumberAsString, data: ZeroXData, side: SwapSide, permit: string, uuid: string, feePercent: NumberAsString, deadline: NumberAsString, partner: string, beneficiary: string, contractMethod?: string): TxInfo<ZeroXParam>;
21
- static getDirectFunctionName(): string[];
22
- }
@@ -1,225 +0,0 @@
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.ZeroX = void 0;
7
- const utils_1 = require("@0x/utils");
8
- const abi_1 = require("@ethersproject/abi");
9
- const IParaswap_json_1 = __importDefault(require("../../abi/IParaswap.json"));
10
- const zrx_v2_json_1 = __importDefault(require("../../abi/zrx.v2.json"));
11
- const zrx_v3_json_1 = __importDefault(require("../../abi/zrx.v3.json"));
12
- const zrx_v4_json_1 = __importDefault(require("../../abi/zrx.v4.json"));
13
- const constants_1 = require("../../constants");
14
- const simple_exchange_1 = require("../simple-exchange");
15
- const order_1 = require("./order");
16
- const types_1 = require("./types");
17
- const config_1 = require("./config");
18
- const ZRX_ABI = {
19
- 2: zrx_v2_json_1.default,
20
- 3: zrx_v3_json_1.default,
21
- 4: zrx_v4_json_1.default,
22
- };
23
- class ZeroX extends simple_exchange_1.SimpleExchange {
24
- constructor(dexHelper) {
25
- super(dexHelper, 'zerox');
26
- this.needWrapNative = true;
27
- this.routerInterface = new abi_1.Interface(IParaswap_json_1.default);
28
- }
29
- getExchange(data) {
30
- return config_1.ZRX_EXCHANGE[this.network][data.version];
31
- }
32
- buildSimpleSwapData(data, srcAmount) {
33
- const zrxABI = ZRX_ABI[data.version];
34
- const signature = data.order.signature;
35
- const order = order_1.ZeroXOrder.formatOrders(data.order, data.version);
36
- const methodAbi = zrxABI.find((m) => m.name ===
37
- (data.version === 4 ? 'fillRfqOrder' : 'marketSellOrdersNoThrow'));
38
- const abiEncoder = new utils_1.AbiEncoder.Method(methodAbi);
39
- // TODO: fillLimitOrder only accepts one order, find something that can accept multiple orders
40
- return abiEncoder.encode(data.version === 4
41
- ? [order, signature, srcAmount]
42
- : [[order], srcAmount, [signature]]);
43
- }
44
- buildPayload(data) {
45
- const payload = data.version === 4
46
- ? this.abiCoder.encodeParameter({
47
- ParentStruct: {
48
- order: {
49
- makerToken: 'address',
50
- takerToken: 'address',
51
- makerAmount: 'uint128',
52
- takerAmount: 'uint128',
53
- maker: 'address',
54
- taker: 'address',
55
- txOrigin: 'address',
56
- pool: 'bytes32',
57
- expiry: 'uint64',
58
- salt: 'uint256',
59
- },
60
- signature: {
61
- signatureType: 'uint8',
62
- v: 'uint8',
63
- r: 'bytes32',
64
- s: 'bytes32',
65
- },
66
- },
67
- }, {
68
- order: order_1.ZeroXOrder.formatOrders(data.order, 4),
69
- signature: data.order.signature,
70
- })
71
- : this.abiCoder.encodeParameter({
72
- ParentStruct: {
73
- 'orders[]': {
74
- makerAddress: 'address',
75
- takerAddress: 'address',
76
- feeRecipientAddress: 'address',
77
- senderAddress: 'address',
78
- makerAssetAmount: 'uint256',
79
- takerAssetAmount: 'uint256',
80
- makerFee: 'uint256',
81
- takerFee: 'uint256',
82
- expirationTimeSeconds: 'uint256',
83
- salt: 'uint256',
84
- makerAssetData: 'bytes',
85
- takerAssetData: 'bytes',
86
- },
87
- signatures: 'bytes[]',
88
- },
89
- }, {
90
- orders: [order_1.ZeroXOrder.formatOrders(data.order, 2)],
91
- signatures: [data.order.signature],
92
- });
93
- return payload;
94
- }
95
- getAdapterParam(srcToken, destToken, srcAmount, toAmount, // required for buy case
96
- data, side) {
97
- return {
98
- targetExchange: this.getExchange(data),
99
- payload: this.buildPayload(data),
100
- networkFee: '0',
101
- };
102
- }
103
- async getSimpleParam(src, dest, srcAmount, destAmount, data, side) {
104
- if (side === constants_1.SwapSide.BUY) {
105
- // Adjust the srcAmount according to the exact order price (rounding up)
106
- if (data.version === 4) {
107
- const order = data.order;
108
- if (BigInt(destAmount) > BigInt(order.makerAmount)) {
109
- throw new Error(`ZeroX destAmount ${destAmount} > makerAmount ${order.makerAmount}`);
110
- }
111
- const calc = (BigInt(destAmount) * BigInt(order.takerAmount) +
112
- BigInt(order.makerAmount) -
113
- 1n) /
114
- BigInt(order.makerAmount);
115
- if (calc > BigInt(srcAmount)) {
116
- throw new Error(`ZeroX calc ${calc} > srcAmount ${srcAmount}`);
117
- }
118
- srcAmount = calc.toString();
119
- }
120
- else {
121
- const order = data.order;
122
- if (BigInt(destAmount) > BigInt(order.makerAssetAmount)) {
123
- throw new Error(`ZeroX destAmount ${destAmount} > makerAmount ${order.makerAssetAmount}`);
124
- }
125
- const calc = (BigInt(destAmount) * BigInt(order.takerAssetAmount) +
126
- BigInt(order.makerAssetAmount) -
127
- 1n) /
128
- BigInt(order.makerAssetAmount);
129
- if (calc > BigInt(srcAmount)) {
130
- throw new Error(`ZeroX calc ${calc} > srcAmount ${srcAmount}`);
131
- }
132
- srcAmount = calc.toString();
133
- }
134
- }
135
- const swapData = this.buildSimpleSwapData(data, srcAmount);
136
- const networkFees = '0';
137
- return this.buildSimpleParamWithoutWETHConversion(src, srcAmount, dest, destAmount, swapData, this.getExchange(data), config_1.ZRX_EXCHANGE_ERC20PROXY[this.network][data.version], networkFees);
138
- }
139
- getDexParam(_srcToken, _destToken, srcAmount, destAmount, _recipient, data, side) {
140
- if (side === constants_1.SwapSide.BUY) {
141
- // Adjust the srcAmount according to the exact order price (rounding up)
142
- if (data.version === 4) {
143
- const order = data.order;
144
- if (BigInt(destAmount) > BigInt(order.makerAmount)) {
145
- throw new Error(`ZeroX destAmount ${destAmount} > makerAmount ${order.makerAmount}`);
146
- }
147
- const calc = (BigInt(destAmount) * BigInt(order.takerAmount) +
148
- BigInt(order.makerAmount) -
149
- 1n) /
150
- BigInt(order.makerAmount);
151
- if (calc > BigInt(srcAmount)) {
152
- throw new Error(`ZeroX calc ${calc} > srcAmount ${srcAmount}`);
153
- }
154
- srcAmount = calc.toString();
155
- }
156
- else {
157
- const order = data.order;
158
- if (BigInt(destAmount) > BigInt(order.makerAssetAmount)) {
159
- throw new Error(`ZeroX destAmount ${destAmount} > makerAmount ${order.makerAssetAmount}`);
160
- }
161
- const calc = (BigInt(destAmount) * BigInt(order.takerAssetAmount) +
162
- BigInt(order.makerAssetAmount) -
163
- 1n) /
164
- BigInt(order.makerAssetAmount);
165
- if (calc > BigInt(srcAmount)) {
166
- throw new Error(`ZeroX calc ${calc} > srcAmount ${srcAmount}`);
167
- }
168
- srcAmount = calc.toString();
169
- }
170
- }
171
- const swapData = this.buildSimpleSwapData(data, srcAmount);
172
- return {
173
- needWrapNative: this.needWrapNative,
174
- dexFuncHasRecipient: false,
175
- exchangeData: swapData,
176
- targetExchange: this.getExchange(data),
177
- returnAmountPos: undefined,
178
- };
179
- }
180
- getDirectParam(srcToken, destToken, srcAmount, destAmount, expectedAmount, data, side, permit, uuid, feePercent, deadline, partner, beneficiary, contractMethod) {
181
- const usePermit = permit !== '0x';
182
- const encoder = (...params) => {
183
- switch (data.version) {
184
- case 2:
185
- return this.routerInterface.encodeFunctionData(usePermit
186
- ? types_1.ZeroXFunctions.swapOnZeroXv2WithPermit
187
- : types_1.ZeroXFunctions.swapOnZeroXv2, params);
188
- case 4:
189
- return this.routerInterface.encodeFunctionData(usePermit
190
- ? types_1.ZeroXFunctions.swapOnZeroXv4WithPermit
191
- : types_1.ZeroXFunctions.swapOnZeroXv4, params);
192
- default:
193
- throw new Error(`ZeroX version ${data.version} is not supported!`);
194
- }
195
- };
196
- return {
197
- params: usePermit
198
- ? [
199
- srcToken,
200
- destToken,
201
- srcAmount,
202
- destAmount,
203
- this.getExchange(data),
204
- this.buildPayload(data),
205
- permit,
206
- ]
207
- : [
208
- srcToken,
209
- destToken,
210
- srcAmount,
211
- destAmount,
212
- this.getExchange(data),
213
- this.buildPayload(data),
214
- ],
215
- encoder,
216
- networkFee: '0',
217
- };
218
- }
219
- static getDirectFunctionName() {
220
- return [types_1.ZeroXFunctions.swapOnZeroXv2, types_1.ZeroXFunctions.swapOnZeroXv4];
221
- }
222
- }
223
- exports.ZeroX = ZeroX;
224
- ZeroX.dexKeys = ['zerox'];
225
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dex/zerox/index.ts"],"names":[],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- import { ZeroXSignedOrder, ZeroXSignedOrderV2, ZeroXSignedOrderV4 } from './types';
2
- export declare class ZeroXOrder {
3
- static formatOrderV4(order: ZeroXSignedOrderV4, version: number): {
4
- makerToken: string;
5
- takerToken: string;
6
- makerAmount: string | number;
7
- takerAmount: string | number;
8
- maker: string;
9
- taker: string;
10
- txOrigin: string;
11
- pool: string;
12
- expiry: string | number;
13
- salt: string | number;
14
- };
15
- static formatOrderV23(order: ZeroXSignedOrderV2, version: number): {
16
- makerFeeAssetData: string;
17
- takerFeeAssetData: string;
18
- makerAddress: string;
19
- takerAddress: string;
20
- feeRecipientAddress: string;
21
- senderAddress: string;
22
- makerAssetAmount: string | number;
23
- takerAssetAmount: string | number;
24
- makerFee: string | number;
25
- takerFee: string | number;
26
- expirationTimeSeconds: string | number;
27
- salt: string | number;
28
- makerAssetData: string;
29
- takerAssetData: string;
30
- } | {
31
- makerFeeAssetData?: undefined;
32
- takerFeeAssetData?: undefined;
33
- makerAddress: string;
34
- takerAddress: string;
35
- feeRecipientAddress: string;
36
- senderAddress: string;
37
- makerAssetAmount: string | number;
38
- takerAssetAmount: string | number;
39
- makerFee: string | number;
40
- takerFee: string | number;
41
- expirationTimeSeconds: string | number;
42
- salt: string | number;
43
- makerAssetData: string;
44
- takerAssetData: string;
45
- };
46
- static formatOrders(order: ZeroXSignedOrder, version?: number): {
47
- makerToken: string;
48
- takerToken: string;
49
- makerAmount: string | number;
50
- takerAmount: string | number;
51
- maker: string;
52
- taker: string;
53
- txOrigin: string;
54
- pool: string;
55
- expiry: string | number;
56
- salt: string | number;
57
- } | {
58
- makerFeeAssetData: string;
59
- takerFeeAssetData: string;
60
- makerAddress: string;
61
- takerAddress: string;
62
- feeRecipientAddress: string;
63
- senderAddress: string;
64
- makerAssetAmount: string | number;
65
- takerAssetAmount: string | number;
66
- makerFee: string | number;
67
- takerFee: string | number;
68
- expirationTimeSeconds: string | number;
69
- salt: string | number;
70
- makerAssetData: string;
71
- takerAssetData: string;
72
- } | {
73
- makerFeeAssetData?: undefined;
74
- takerFeeAssetData?: undefined;
75
- makerAddress: string;
76
- takerAddress: string;
77
- feeRecipientAddress: string;
78
- senderAddress: string;
79
- makerAssetAmount: string | number;
80
- takerAssetAmount: string | number;
81
- makerFee: string | number;
82
- takerFee: string | number;
83
- expirationTimeSeconds: string | number;
84
- salt: string | number;
85
- makerAssetData: string;
86
- takerAssetData: string;
87
- };
88
- }
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZeroXOrder = void 0;
4
- class ZeroXOrder {
5
- static formatOrderV4(order, version) {
6
- return {
7
- makerToken: order.makerToken,
8
- takerToken: order.takerToken,
9
- makerAmount: order.makerAmount,
10
- takerAmount: order.takerAmount,
11
- maker: order.maker,
12
- taker: order.taker,
13
- txOrigin: order.txOrigin,
14
- pool: order.pool,
15
- expiry: order.expiry,
16
- salt: order.salt,
17
- };
18
- }
19
- static formatOrderV23(order, version) {
20
- const feeAssetData = version === 3
21
- ? {
22
- makerFeeAssetData: order.makerFeeAssetData,
23
- takerFeeAssetData: order.takerFeeAssetData,
24
- }
25
- : {};
26
- return {
27
- makerAddress: order.makerAddress,
28
- takerAddress: order.takerAddress,
29
- feeRecipientAddress: order.feeRecipientAddress,
30
- senderAddress: order.senderAddress,
31
- makerAssetAmount: order.makerAssetAmount,
32
- takerAssetAmount: order.takerAssetAmount,
33
- makerFee: order.makerFee,
34
- takerFee: order.takerFee,
35
- expirationTimeSeconds: order.expirationTimeSeconds,
36
- salt: order.salt,
37
- makerAssetData: order.makerAssetData,
38
- takerAssetData: order.takerAssetData,
39
- ...feeAssetData,
40
- };
41
- }
42
- static formatOrders(order, version = 2) {
43
- if (isV4Order(order, version)) {
44
- return ZeroXOrder.formatOrderV4(order, version);
45
- }
46
- return ZeroXOrder.formatOrderV23(order, version);
47
- }
48
- }
49
- exports.ZeroXOrder = ZeroXOrder;
50
- function isV4Order(order, version = 2) {
51
- return version === 4;
52
- }
53
- //# sourceMappingURL=order.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/dex/zerox/order.ts"],"names":[],"mappings":";;;AAMA,MAAa,UAAU;IACrB,MAAM,CAAC,aAAa,CAAC,KAAyB,EAAE,OAAe;QAC7D,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,KAAyB,EAAE,OAAe;QAC9D,MAAM,YAAY,GAChB,OAAO,KAAK,CAAC;YACX,CAAC,CAAC;gBACE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;aAC3C;YACH,CAAC,CAAC,EAAE,CAAC;QAET,OAAO;YACL,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;YAClD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,GAAG,YAAY;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,KAAuB,EAAE,UAAkB,CAAC;QAC9D,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YAC7B,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACjD;QACD,OAAO,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AAhDD,gCAgDC;AAED,SAAS,SAAS,CAChB,KAAuB,EACvB,UAAkB,CAAC;IAEnB,OAAO,OAAO,KAAK,CAAC,CAAC;AACvB,CAAC"}