@paraswap/dex-lib 4.7.5-unified-blacklist.3 → 4.7.6

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 (135) hide show
  1. package/build/abi/BProtocol.json +1155 -0
  2. package/build/abi/Jarvis.json +1172 -0
  3. package/build/abi/MStableAsset.json +1545 -0
  4. package/build/abi/OneInchLp.json +1304 -0
  5. package/build/abi/Onebit.json +736 -0
  6. package/build/abi/Shell.json +1294 -0
  7. package/build/abi/TraderJoeV2Router.json +50 -0
  8. package/build/abi/wUSDM.json +757 -0
  9. package/build/abi/zrx.v2.json +1967 -0
  10. package/build/abi/zrx.v3.json +3454 -0
  11. package/build/abi/zrx.v4.json +2193 -0
  12. package/build/dex/OneInchLp.d.ts +24 -0
  13. package/build/dex/OneInchLp.js +43 -0
  14. package/build/dex/OneInchLp.js.map +1 -0
  15. package/build/dex/bProtocol/bProtocol.d.ts +15 -0
  16. package/build/dex/bProtocol/bProtocol.js +56 -0
  17. package/build/dex/bProtocol/bProtocol.js.map +1 -0
  18. package/build/dex/bProtocol/types.d.ts +11 -0
  19. package/build/dex/bProtocol/types.js +8 -0
  20. package/build/dex/bProtocol/types.js.map +1 -0
  21. package/build/dex/balancer-v2/balancer-v2.d.ts +1 -1
  22. package/build/dex/balancer-v2/balancer-v2.js +39 -37
  23. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  24. package/build/dex/balancer-v2/constants.d.ts +1 -0
  25. package/build/dex/balancer-v2/constants.js +2 -1
  26. package/build/dex/balancer-v2/constants.js.map +1 -1
  27. package/build/dex/bebop/bebop.d.ts +1 -1
  28. package/build/dex/bebop/bebop.js +27 -16
  29. package/build/dex/bebop/bebop.js.map +1 -1
  30. package/build/dex/curve-v1/config.js +21 -21
  31. package/build/dex/curve-v1/config.js.map +1 -1
  32. package/build/dex/curve-v1/curve-v1.d.ts +3 -1
  33. package/build/dex/curve-v1/curve-v1.js +26 -1
  34. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  35. package/build/dex/curve-v1/types.d.ts +6 -0
  36. package/build/dex/dexalot/constants.d.ts +1 -0
  37. package/build/dex/dexalot/constants.js +2 -1
  38. package/build/dex/dexalot/constants.js.map +1 -1
  39. package/build/dex/dexalot/dexalot.js +1 -1
  40. package/build/dex/dexalot/dexalot.js.map +1 -1
  41. package/build/dex/generic-rfq/types.d.ts +6 -0
  42. package/build/dex/generic-rfq/types.js +12 -1
  43. package/build/dex/generic-rfq/types.js.map +1 -1
  44. package/build/dex/idle-dao/idle-dao.d.ts +0 -1
  45. package/build/dex/idle-dao/idle-dao.js +11 -23
  46. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  47. package/build/dex/jarvis.d.ts +56 -0
  48. package/build/dex/jarvis.js +163 -0
  49. package/build/dex/jarvis.js.map +1 -0
  50. package/build/dex/mStable.d.ts +44 -0
  51. package/build/dex/mStable.js +75 -0
  52. package/build/dex/mStable.js.map +1 -0
  53. package/build/dex/maker-psm/maker-psm.d.ts +41 -4
  54. package/build/dex/maker-psm/maker-psm.js +143 -40
  55. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  56. package/build/dex/onebit/onebit.d.ts +16 -0
  57. package/build/dex/onebit/onebit.js +61 -0
  58. package/build/dex/onebit/onebit.js.map +1 -0
  59. package/build/dex/onebit/types.d.ts +14 -0
  60. package/build/dex/onebit/types.js +8 -0
  61. package/build/dex/onebit/types.js.map +1 -0
  62. package/build/dex/se-vlr/config.d.ts +3 -0
  63. package/build/dex/se-vlr/config.js +24 -0
  64. package/build/dex/se-vlr/config.js.map +1 -0
  65. package/build/dex/{maker-psm/maker-psm-event-pool.d.ts → se-vlr/se-vlr-pool.d.ts} +11 -15
  66. package/build/dex/se-vlr/se-vlr-pool.js +70 -0
  67. package/build/dex/se-vlr/se-vlr-pool.js.map +1 -0
  68. package/build/dex/se-vlr/se-vlr.d.ts +35 -0
  69. package/build/dex/se-vlr/se-vlr.js +131 -0
  70. package/build/dex/se-vlr/se-vlr.js.map +1 -0
  71. package/build/dex/se-vlr/types.d.ts +6 -0
  72. package/build/dex/se-vlr/types.js +3 -0
  73. package/build/dex/se-vlr/types.js.map +1 -0
  74. package/build/dex/shell.d.ts +25 -0
  75. package/build/dex/shell.js +41 -0
  76. package/build/dex/shell.js.map +1 -0
  77. package/build/dex/simple-exchange-with-restrictions.js +2 -2
  78. package/build/dex/simple-exchange-with-restrictions.js.map +1 -1
  79. package/build/dex/trader-joe-v2.d.ts +40 -0
  80. package/build/dex/trader-joe-v2.js +74 -0
  81. package/build/dex/trader-joe-v2.js.map +1 -0
  82. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +94 -0
  83. package/build/dex/uniswap-v3/uniswap-v3-new.js +923 -0
  84. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +1 -0
  85. package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -6
  86. package/build/dex/uniswap-v4/contract-math/Position.js +0 -29
  87. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -1
  88. package/build/dex/uniswap-v4/subgraph.js +6 -0
  89. package/build/dex/uniswap-v4/subgraph.js.map +1 -1
  90. package/build/dex/uniswap-v4/types.d.ts +3 -0
  91. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +5 -1
  92. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +86 -0
  93. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -1
  94. package/build/dex/uniswap-v4/uniswap-v4.d.ts +1 -1
  95. package/build/dex/uniswap-v4/uniswap-v4.js +50 -36
  96. package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -1
  97. package/build/dex/usual-bond/config.d.ts +3 -0
  98. package/build/dex/usual-bond/config.js +13 -0
  99. package/build/dex/usual-bond/config.js.map +1 -0
  100. package/build/dex/usual-bond/types.d.ts +7 -0
  101. package/build/dex/usual-bond/types.js +3 -0
  102. package/build/dex/usual-bond/types.js.map +1 -0
  103. package/build/dex/usual-bond/usual-bond.d.ts +35 -0
  104. package/build/dex/usual-bond/usual-bond.js +176 -0
  105. package/build/dex/usual-bond/usual-bond.js.map +1 -0
  106. package/build/dex/wusdm/config.d.ts +3 -0
  107. package/build/dex/wusdm/config.js +43 -0
  108. package/build/dex/wusdm/config.js.map +1 -0
  109. package/build/dex/wusdm/constants.d.ts +2 -0
  110. package/build/dex/wusdm/constants.js +6 -0
  111. package/build/dex/wusdm/constants.js.map +1 -0
  112. package/build/dex/wusdm/types.d.ts +18 -0
  113. package/build/dex/wusdm/types.js +11 -0
  114. package/build/dex/wusdm/types.js.map +1 -0
  115. package/build/dex/wusdm/wusdm-pool.d.ts +21 -0
  116. package/build/dex/wusdm/wusdm-pool.js +74 -0
  117. package/build/dex/wusdm/wusdm-pool.js.map +1 -0
  118. package/build/dex/wusdm/wusdm.d.ts +46 -0
  119. package/build/dex/wusdm/wusdm.js +243 -0
  120. package/build/dex/wusdm/wusdm.js.map +1 -0
  121. package/build/dex/zerox/config.d.ts +2 -0
  122. package/build/dex/zerox/config.js +33 -0
  123. package/build/dex/zerox/config.js.map +1 -0
  124. package/build/dex/zerox/index.d.ts +22 -0
  125. package/build/dex/zerox/index.js +225 -0
  126. package/build/dex/zerox/index.js.map +1 -0
  127. package/build/dex/zerox/order.d.ts +88 -0
  128. package/build/dex/zerox/order.js +53 -0
  129. package/build/dex/zerox/order.js.map +1 -0
  130. package/build/dex/zerox/types.d.ts +73 -0
  131. package/build/dex/zerox/types.js +21 -0
  132. package/build/dex/zerox/types.js.map +1 -0
  133. package/package.json +1 -1
  134. package/build/dex/maker-psm/maker-psm-event-pool.js +0 -132
  135. package/build/dex/maker-psm/maker-psm-event-pool.js.map +0 -1
@@ -0,0 +1,24 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { SwapSide } from '../constants';
3
+ import { AdapterExchangeParam, SimpleExchangeParam } from '../types';
4
+ import { IDexTxBuilder } from './idex';
5
+ import { SimpleExchange } from './simple-exchange';
6
+ import { IDexHelper } from '../dex-helper';
7
+ export declare type OneInchLpData = {
8
+ exchange: string;
9
+ };
10
+ declare type OneInchLpParam = [
11
+ src: string,
12
+ dst: string,
13
+ amount: string,
14
+ minReturn: string,
15
+ referral: string
16
+ ];
17
+ export declare class OneInchLp extends SimpleExchange implements IDexTxBuilder<OneInchLpData, OneInchLpParam> {
18
+ static dexKeys: string[];
19
+ exchangeRouterInterface: Interface;
20
+ constructor(dexHelper: IDexHelper);
21
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: OneInchLpData, side: SwapSide): AdapterExchangeParam;
22
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: OneInchLpData, side: SwapSide): Promise<SimpleExchangeParam>;
23
+ }
24
+ export {};
@@ -0,0 +1,43 @@
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.OneInchLp = void 0;
7
+ const abi_1 = require("@ethersproject/abi");
8
+ const constants_1 = require("../constants");
9
+ const simple_exchange_1 = require("./simple-exchange");
10
+ const OneInchLp_json_1 = __importDefault(require("../abi/OneInchLp.json"));
11
+ const utils_1 = require("../utils");
12
+ var OneInchLpFunctions;
13
+ (function (OneInchLpFunctions) {
14
+ OneInchLpFunctions["swap"] = "swap";
15
+ })(OneInchLpFunctions || (OneInchLpFunctions = {}));
16
+ class OneInchLp extends simple_exchange_1.SimpleExchange {
17
+ constructor(dexHelper) {
18
+ super(dexHelper, 'oneinchlp');
19
+ this.exchangeRouterInterface = new abi_1.Interface(OneInchLp_json_1.default);
20
+ }
21
+ getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
22
+ return {
23
+ targetExchange: data.exchange,
24
+ payload: '0x',
25
+ networkFee: '0',
26
+ };
27
+ }
28
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
29
+ const swapFunction = OneInchLpFunctions.swap;
30
+ const swapFunctionParams = [
31
+ (0, utils_1.isETHAddress)(srcToken) ? constants_1.NULL_ADDRESS : srcToken,
32
+ (0, utils_1.isETHAddress)(destToken) ? constants_1.NULL_ADDRESS : destToken,
33
+ srcAmount,
34
+ destAmount,
35
+ constants_1.NULL_ADDRESS,
36
+ ];
37
+ const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
38
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, data.exchange);
39
+ }
40
+ }
41
+ exports.OneInchLp = OneInchLp;
42
+ OneInchLp.dexKeys = ['oneinchlp'];
43
+ //# sourceMappingURL=OneInchLp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OneInchLp.js","sourceRoot":"","sources":["../../src/dex/OneInchLp.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA6D;AAC7D,4CAAsD;AAGtD,uDAAmD;AACnD,2EAAiD;AACjD,oCAAwC;AAcxC,IAAK,kBAEJ;AAFD,WAAK,kBAAkB;IACrB,mCAAa,CAAA;AACf,CAAC,EAFI,kBAAkB,KAAlB,kBAAkB,QAEtB;AAED,MAAa,SACX,SAAQ,gCAAc;IAMtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9B,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAC1C,wBAA8B,CAC/B,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,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,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAC7C,MAAM,kBAAkB,GAAmB;YACzC,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAY,CAAC,CAAC,CAAC,QAAQ;YAChD,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAY,CAAC,CAAC,CAAC,SAAS;YAClD,SAAS;YACT,UAAU;YACV,wBAAY;SACb,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;;AA1DH,8BA2DC;AAvDQ,iBAAO,GAAG,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { SwapSide } from '../../constants';
3
+ import { AdapterExchangeParam, Address, DexExchangeParam, NumberAsString, SimpleExchangeParam } from '../../types';
4
+ import { IDexTxBuilder } from '../idex';
5
+ import { SimpleExchange } from '../simple-exchange';
6
+ import { IDexHelper } from '../../dex-helper';
7
+ import { BProtocolData, BProtocolParam } from './types';
8
+ export declare class BProtocol extends SimpleExchange implements IDexTxBuilder<BProtocolData, BProtocolParam> {
9
+ static dexKeys: string[];
10
+ exchangeRouterInterface: Interface;
11
+ constructor(dexHelper: IDexHelper);
12
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: BProtocolData, side: SwapSide): AdapterExchangeParam;
13
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: BProtocolData, side: SwapSide): Promise<SimpleExchangeParam>;
14
+ getDexParam(_srcToken: Address, _destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: BProtocolData, _side: SwapSide): DexExchangeParam;
15
+ }
@@ -0,0 +1,56 @@
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.BProtocol = void 0;
7
+ const abi_1 = require("@ethersproject/abi");
8
+ const constants_1 = require("../../constants");
9
+ const simple_exchange_1 = require("../simple-exchange");
10
+ const BProtocol_json_1 = __importDefault(require("../../abi/BProtocol.json"));
11
+ const types_1 = require("./types");
12
+ const utils_1 = require("../../executor/utils");
13
+ class BProtocol extends simple_exchange_1.SimpleExchange {
14
+ constructor(dexHelper) {
15
+ super(dexHelper, 'bprotocol');
16
+ this.exchangeRouterInterface = new abi_1.Interface(BProtocol_json_1.default);
17
+ }
18
+ getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
19
+ return {
20
+ targetExchange: data.exchange,
21
+ payload: '0x',
22
+ networkFee: '0',
23
+ };
24
+ }
25
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
26
+ const swapFunction = types_1.BProtocolFunctions.swap;
27
+ const swapFunctionParams = [
28
+ srcAmount,
29
+ destAmount,
30
+ this.augustusAddress,
31
+ ];
32
+ const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
33
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, data.exchange);
34
+ }
35
+ getDexParam(_srcToken, _destToken, srcAmount, destAmount, recipient, data, _side) {
36
+ const swapFunction = types_1.BProtocolFunctions.swap;
37
+ const swapFunctionParams = [
38
+ srcAmount,
39
+ destAmount,
40
+ recipient,
41
+ ];
42
+ const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
43
+ return {
44
+ needWrapNative: this.needWrapNative,
45
+ dexFuncHasRecipient: true,
46
+ exchangeData: swapData,
47
+ targetExchange: data.exchange,
48
+ returnAmountPos: _side === constants_1.SwapSide.SELL
49
+ ? (0, utils_1.extractReturnAmountPosition)(this.exchangeRouterInterface, swapFunction)
50
+ : undefined,
51
+ };
52
+ }
53
+ }
54
+ exports.BProtocol = BProtocol;
55
+ BProtocol.dexKeys = ['bprotocol'];
56
+ //# sourceMappingURL=bProtocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bProtocol.js","sourceRoot":"","sources":["../../../src/dex/bProtocol/bProtocol.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA6D;AAC7D,+CAA2C;AAS3C,wDAAoD;AACpD,8EAAoD;AAEpD,mCAA4E;AAC5E,gDAAmE;AAEnE,MAAa,SACX,SAAQ,gCAAc;IAMtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9B,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAC1C,wBAA8B,CAC/B,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,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,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAAG,0BAAkB,CAAC,IAAI,CAAC;QAC7C,MAAM,kBAAkB,GAAmB;YACzC,SAAS;YACT,UAAU;YACV,IAAI,CAAC,eAAe;SACrB,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;IAED,WAAW,CACT,SAAkB,EAClB,UAAmB,EACnB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAmB,EACnB,KAAe;QAEf,MAAM,YAAY,GAAG,0BAAkB,CAAC,IAAI,CAAC;QAC7C,MAAM,kBAAkB,GAAmB;YACzC,SAAS;YACT,UAAU;YACV,SAAS;SACV,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QACF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,eAAe,EACb,KAAK,KAAK,oBAAQ,CAAC,IAAI;gBACrB,CAAC,CAAC,IAAA,mCAA2B,EACzB,IAAI,CAAC,uBAAuB,EAC5B,YAAY,CACb;gBACH,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;;AA1FH,8BA2FC;AAvFQ,iBAAO,GAAG,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare type BProtocolData = {
2
+ exchange: string;
3
+ };
4
+ export declare type BProtocolParam = [
5
+ lusdAmount: string,
6
+ minEthReturn: string,
7
+ dest: string
8
+ ];
9
+ export declare enum BProtocolFunctions {
10
+ swap = "swap"
11
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BProtocolFunctions = void 0;
4
+ var BProtocolFunctions;
5
+ (function (BProtocolFunctions) {
6
+ BProtocolFunctions["swap"] = "swap";
7
+ })(BProtocolFunctions = exports.BProtocolFunctions || (exports.BProtocolFunctions = {}));
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/bProtocol/types.ts"],"names":[],"mappings":";;;AAUA,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;AACf,CAAC,EAFW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAE7B"}
@@ -106,7 +106,7 @@ export declare class BalancerV2 extends SimpleExchange implements IDex<BalancerV
106
106
  getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: OptimizedBalancerV2Data, side: SwapSide): Promise<SimpleExchangeParam>;
107
107
  getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: OptimizedBalancerV2Data, side: SwapSide, context: Context, executor: Address): DexExchangeParam;
108
108
  updatePoolState(): Promise<void>;
109
- getTopPoolsForToken(tokenAddress: Address, count: number): Promise<PoolLiquidity[]>;
109
+ getTopPoolsForToken(_tokenAddress: Address, count: number): Promise<PoolLiquidity[]>;
110
110
  private get poolAddressMap();
111
111
  private get poolIdMap();
112
112
  }
@@ -1005,52 +1005,54 @@ class BalancerV2 extends simple_exchange_1.SimpleExchange {
1005
1005
  async updatePoolState() {
1006
1006
  this.eventPools.allPools = await this.eventPools.fetchAllSubgraphPools();
1007
1007
  }
1008
- async getTopPoolsForToken(tokenAddress, count) {
1008
+ async getTopPoolsForToken(_tokenAddress, count) {
1009
+ const tokenAddress = this.dexHelper.config
1010
+ .wrapETH(_tokenAddress)
1011
+ .toLowerCase();
1009
1012
  const poolsWithToken = this.eventPools.allPools.filter(pool => pool.mainTokens.some(mainToken => (0, utils_2.isSameAddress)(mainToken.address, tokenAddress)));
1010
- const variables = {
1011
- poolIds: poolsWithToken.map(pool => pool.id),
1012
- count,
1013
- };
1014
- const query = `query ($poolIds: [String!]!, $count: Int) {
1015
- pools (first: $count, orderBy: totalLiquidity, orderDirection: desc,
1016
- where: {
1017
- and: [
1018
- {
1019
- or: [
1020
- { isInRecoveryMode: false }
1021
- { isInRecoveryMode: null }
1022
- ]
1023
- },
1024
- {
1025
- id_in: $poolIds,
1026
- swapEnabled: true,
1027
- totalLiquidity_gt: ${constants_2.MIN_USD_LIQUIDITY_TO_FETCH.toString()}
1028
- }
1029
- ]
1030
- }) {
1031
- address
1032
- totalLiquidity
1033
- tokens {
1013
+ const query = `query MyQuery($tokenAddress: String!, $count: Int!) {
1014
+ poolGetPools(
1015
+ orderBy: totalLiquidity
1016
+ orderDirection: desc
1017
+ first: $count
1018
+ where: {tokensIn: [$tokenAddress], protocolVersionIn: [2]}
1019
+ ) {
1020
+ id
1021
+ poolTokens {
1034
1022
  address
1035
- decimals
1023
+ }
1024
+ dynamicData {
1025
+ totalLiquidity
1036
1026
  }
1037
1027
  }
1038
1028
  }`;
1039
- const { data } = await this.dexHelper.httpRequest.querySubgraph(this.subgraphURL, {
1029
+ const variables = {
1030
+ tokenAddress: tokenAddress.toLowerCase(),
1031
+ count,
1032
+ };
1033
+ const { data } = await this.dexHelper.httpRequest.querySubgraph(constants_2.apiUrl, {
1040
1034
  query,
1041
1035
  variables,
1042
1036
  }, { timeout: constants_1.SUBGRAPH_TIMEOUT });
1043
- if (!(data && data.pools))
1044
- throw new Error(`Error_${this.dexKey}_Subgraph: couldn't fetch the pools from the subgraph`);
1045
- return lodash_1.default.map(data.pools, pool => {
1046
- const subgraphPool = poolsWithToken.find(poolWithToken => (0, utils_2.isSameAddress)(poolWithToken.address, pool.address));
1047
- return {
1037
+ if (!(data && data.poolGetPools))
1038
+ throw new Error(`Error_${this.dexKey}_API: couldn't fetch the pools from Balancer API`);
1039
+ const results = [];
1040
+ for (const pool of data.poolGetPools) {
1041
+ const poolAddress = pool.id.slice(0, 42);
1042
+ const eventPool = poolsWithToken.find(p => (0, utils_2.isSameAddress)(p.address, poolAddress));
1043
+ if (!eventPool)
1044
+ continue;
1045
+ const liquidityUSD = parseFloat(pool.dynamicData.totalLiquidity);
1046
+ if (liquidityUSD < constants_2.MIN_USD_LIQUIDITY_TO_FETCH)
1047
+ continue;
1048
+ results.push({
1048
1049
  exchange: this.dexKey,
1049
- address: pool.address.toLowerCase(),
1050
- connectorTokens: subgraphPool.mainTokens.filter(token => !(0, utils_2.isSameAddress)(tokenAddress, token.address)),
1051
- liquidityUSD: parseFloat(pool.totalLiquidity),
1052
- };
1053
- });
1050
+ address: poolAddress.toLowerCase(),
1051
+ connectorTokens: eventPool.mainTokens.filter(token => !(0, utils_2.isSameAddress)(tokenAddress, token.address)),
1052
+ liquidityUSD,
1053
+ });
1054
+ }
1055
+ return results;
1054
1056
  }
1055
1057
  get poolAddressMap() {
1056
1058
  return (0, lodash_1.keyBy)(this.eventPools.allPools, 'address');
@@ -1 +1 @@
1
- {"version":3,"file":"balancer-v2.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/balancer-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balancer-v2.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/balancer-v2.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,4 @@ export declare enum DirectMethodsV6 {
9
9
  directSell = "swapExactAmountInOnBalancerV2",
10
10
  directBuy = "swapExactAmountOutOnBalancerV2"
11
11
  }
12
+ export declare const apiUrl = "https://api-v3.balancer.fi/";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DirectMethodsV6 = exports.DirectMethods = exports.VARIABLE_GAS_COST_PER_CYCLE = exports.STABLE_GAS_COST = exports.MIN_USD_LIQUIDITY_TO_FETCH = void 0;
3
+ exports.apiUrl = exports.DirectMethodsV6 = exports.DirectMethods = exports.VARIABLE_GAS_COST_PER_CYCLE = exports.STABLE_GAS_COST = exports.MIN_USD_LIQUIDITY_TO_FETCH = void 0;
4
4
  exports.MIN_USD_LIQUIDITY_TO_FETCH = 100n;
5
5
  // Let's take this trade as an example:
6
6
  // https://dashboard.tenderly.co/paraswap/paraswap/fork/e4c81946-fd6e-4299-b35c-c47b775e3c05/simulation/8839462c-6239-4ae1-9ed0-8013f89b41de/gas-usage
@@ -18,4 +18,5 @@ var DirectMethodsV6;
18
18
  DirectMethodsV6["directSell"] = "swapExactAmountInOnBalancerV2";
19
19
  DirectMethodsV6["directBuy"] = "swapExactAmountOutOnBalancerV2";
20
20
  })(DirectMethodsV6 || (exports.DirectMethodsV6 = DirectMethodsV6 = {}));
21
+ exports.apiUrl = 'https://api-v3.balancer.fi/';
21
22
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG,IAAI,CAAC;AAE/C,uCAAuC;AACvC,sJAAsJ;AAEtJ,+CAA+C;AAClC,QAAA,eAAe,GAAG,MAAM,CAAC;AAEtC,6EAA6E;AAChE,QAAA,2BAA2B,GAAG,MAAM,CAAC;AAElD,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,2DAA0C,CAAA;IAC1C,2DAA0C,CAAA;AAC5C,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,+DAA4C,CAAA;IAC5C,+DAA4C,CAAA;AAC9C,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG,IAAI,CAAC;AAE/C,uCAAuC;AACvC,sJAAsJ;AAEtJ,+CAA+C;AAClC,QAAA,eAAe,GAAG,MAAM,CAAC;AAEtC,6EAA6E;AAChE,QAAA,2BAA2B,GAAG,MAAM,CAAC;AAElD,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,2DAA0C,CAAA;IAC1C,2DAA0C,CAAA;AAC5C,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,+DAA4C,CAAA;IAC5C,+DAA4C,CAAA;AAC9C,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAEY,QAAA,MAAM,GAAG,6BAA6B,CAAC"}
@@ -48,7 +48,7 @@ export declare class Bebop extends SimpleExchangeWithRestrictions implements IDe
48
48
  updatePoolState(): Promise<void>;
49
49
  setTokensMap(): Promise<void>;
50
50
  getMaxLiquidity(levels: BebopLevel[]): number;
51
- getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
51
+ getTopPoolsForToken(_tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
52
52
  getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: BebopData, side: SwapSide): DexExchangeParam;
53
53
  preProcessTransaction(optimalSwapExchange: OptimalSwapExchange<BebopData>, _srcToken: Token, _destToken: Token, side: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange<BebopData>, ExchangeTxInfo]>;
54
54
  getCachedPrices(): Promise<BebopPricingResponse | null>;
@@ -73,7 +73,10 @@ class Bebop extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestri
73
73
  logger;
74
74
  constructor(network, dexKey, dexHelper, settlementAddress = config_1.BebopConfig['Bebop'][network]
75
75
  .settlementAddress, settlementInterface = new utils_2.Interface(BebopSettlement_abi_json_1.default)) {
76
- super(dexHelper, dexKey, { enableDexRestriction: true });
76
+ super(dexHelper, dexKey, {
77
+ enableDexRestriction: true,
78
+ restrictCountThreshold: 10,
79
+ });
77
80
  this.network = network;
78
81
  this.dexKey = dexKey;
79
82
  this.dexHelper = dexHelper;
@@ -427,7 +430,8 @@ class Bebop extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestri
427
430
  }
428
431
  // Returns list of top pools based on liquidity. Max
429
432
  // limit number pools should be returned.
430
- async getTopPoolsForToken(tokenAddress, limit) {
433
+ async getTopPoolsForToken(_tokenAddress, limit) {
434
+ const tokenAddress = _tokenAddress.toLowerCase();
431
435
  const prices = await this.getCachedPrices();
432
436
  if (!prices) {
433
437
  return [];
@@ -437,37 +441,40 @@ class Bebop extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestri
437
441
  for (const [pair, pairData] of Object.entries(prices)) {
438
442
  let liquidityUSD = 0;
439
443
  let token;
440
- const [base, quote] = pair.split('/');
441
- const isBase = base.toLowerCase() == tokenAddress.toLowerCase();
442
- const isQuote = quote.toLowerCase() == tokenAddress.toLowerCase();
444
+ const [base, quote] = pair.split('/').map(t => t.toLowerCase());
445
+ const isBase = base == tokenAddress;
446
+ const isQuote = quote == tokenAddress;
443
447
  // There is pricing for token is not enabled at the moment
444
- if (!(quote.toLowerCase() in this.tokensMap &&
445
- base.toLowerCase() in this.tokensMap)) {
448
+ if (!(quote in this.tokensMap && base in this.tokensMap)) {
446
449
  continue;
447
450
  }
451
+ const quoteToken = {
452
+ address: quote,
453
+ decimals: this.tokensMap[quote].decimals,
454
+ };
455
+ const quoteTokenUsd = await this.dexHelper.getTokenUSDPrice(quoteToken, BigInt(10 ** quoteToken.decimals));
448
456
  if (isBase) {
449
457
  const liquidityInQuote = this.getMaxLiquidity(pairData.bids);
450
458
  token = {
451
459
  address: quote,
452
- decimals: this.tokensMap[quote.toLowerCase()].decimals,
460
+ decimals: this.tokensMap[quote].decimals,
453
461
  };
454
- const quoteTokenUsd = await this.dexHelper.getTokenUSDPrice(token, BigInt(Math.round(liquidityInQuote)));
455
462
  liquidityUSD = liquidityInQuote * quoteTokenUsd;
456
463
  }
457
464
  else if (isQuote) {
458
465
  const liquidityInBase = this.getMaxLiquidity(pairData.asks);
459
466
  token = {
460
467
  address: base,
461
- decimals: this.tokensMap[base.toLowerCase()].decimals,
468
+ decimals: this.tokensMap[base].decimals,
462
469
  };
463
- const baseTokenUsd = await this.dexHelper.getTokenUSDPrice(token, BigInt(Math.round(liquidityInBase)));
464
- liquidityUSD = liquidityInBase * baseTokenUsd;
470
+ liquidityUSD = liquidityInBase * quoteTokenUsd;
465
471
  }
466
472
  if (liquidityUSD) {
467
473
  (0, ts_essentials_1.assert)(token, 'Token not found');
468
- const address = token.address.toLowerCase();
474
+ const address = token.address;
469
475
  if (connectorPools[address]) {
470
- connectorPools[address].liquidityUSD += liquidityUSD;
476
+ // liquidity can be used only for one pair
477
+ connectorPools[address].liquidityUSD = Math.max(liquidityUSD, connectorPools[address].liquidityUSD);
471
478
  }
472
479
  else {
473
480
  connectorPools[address] = {
@@ -477,7 +484,6 @@ class Bebop extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestri
477
484
  {
478
485
  address: address,
479
486
  decimals: this.tokensMap[address].decimals,
480
- symbol: this.tokensMap[address].ticker,
481
487
  },
482
488
  ],
483
489
  liquidityUSD,
@@ -552,6 +558,11 @@ class Bebop extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestri
552
558
  this.logger.info(`Bebop quote response: ${JSON.stringify(response)}`);
553
559
  requestId = response.requestId ?? response.error?.requestId;
554
560
  quoteId = response.quoteId;
561
+ if (response.error?.errorCode === 112) {
562
+ // "DenyListed" error name
563
+ this.addBlacklistedAddress(options.userAddress);
564
+ throw new types_1.BlacklistError(this.dexKey, this.network, options.userAddress);
565
+ }
555
566
  if (!response.tx ||
556
567
  !response.buyTokens ||
557
568
  !response.sellTokens ||
@@ -599,7 +610,7 @@ class Bebop extends simple_exchange_with_restrictions_1.SimpleExchangeWithRestri
599
610
  catch (e) {
600
611
  const message = `requestId: ${requestId}, quoteId: ${quoteId}, error: ${e}`;
601
612
  this.logger.error(message);
602
- if (!e?.isSlippageError) {
613
+ if (!e?.isSlippageError && !e?.isBlacklistError) {
603
614
  this.restrict();
604
615
  }
605
616
  throw new Error(message);