@paraswap/dex-lib 4.7.25-0 → 4.7.25

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 (110) 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/idle-dao/idle-dao.d.ts +0 -1
  22. package/build/dex/idle-dao/idle-dao.js +11 -23
  23. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  24. package/build/dex/infusion/infusion.d.ts +0 -1
  25. package/build/dex/infusion/infusion.js +9 -12
  26. package/build/dex/infusion/infusion.js.map +1 -1
  27. package/build/dex/jarvis.d.ts +56 -0
  28. package/build/dex/jarvis.js +163 -0
  29. package/build/dex/jarvis.js.map +1 -0
  30. package/build/dex/mStable.d.ts +44 -0
  31. package/build/dex/mStable.js +75 -0
  32. package/build/dex/mStable.js.map +1 -0
  33. package/build/dex/maker-psm/maker-psm.d.ts +41 -4
  34. package/build/dex/maker-psm/maker-psm.js +143 -40
  35. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  36. package/build/dex/onebit/onebit.d.ts +16 -0
  37. package/build/dex/onebit/onebit.js +61 -0
  38. package/build/dex/onebit/onebit.js.map +1 -0
  39. package/build/dex/onebit/types.d.ts +14 -0
  40. package/build/dex/onebit/types.js +8 -0
  41. package/build/dex/onebit/types.js.map +1 -0
  42. package/build/dex/se-vlr/config.d.ts +3 -0
  43. package/build/dex/se-vlr/config.js +24 -0
  44. package/build/dex/se-vlr/config.js.map +1 -0
  45. package/build/dex/{maker-psm/maker-psm-event-pool.d.ts → se-vlr/se-vlr-pool.d.ts} +11 -15
  46. package/build/dex/se-vlr/se-vlr-pool.js +70 -0
  47. package/build/dex/se-vlr/se-vlr-pool.js.map +1 -0
  48. package/build/dex/se-vlr/se-vlr.d.ts +35 -0
  49. package/build/dex/se-vlr/se-vlr.js +131 -0
  50. package/build/dex/se-vlr/se-vlr.js.map +1 -0
  51. package/build/dex/se-vlr/types.d.ts +6 -0
  52. package/build/dex/se-vlr/types.js +3 -0
  53. package/build/dex/se-vlr/types.js.map +1 -0
  54. package/build/dex/shell.d.ts +25 -0
  55. package/build/dex/shell.js +41 -0
  56. package/build/dex/shell.js.map +1 -0
  57. package/build/dex/solidly/forks-override/aerodrome.d.ts +1 -1
  58. package/build/dex/solidly/forks-override/aerodrome.js +14 -18
  59. package/build/dex/solidly/forks-override/aerodrome.js.map +1 -1
  60. package/build/dex/trader-joe-v2.d.ts +40 -0
  61. package/build/dex/trader-joe-v2.js +74 -0
  62. package/build/dex/trader-joe-v2.js.map +1 -0
  63. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +94 -0
  64. package/build/dex/uniswap-v3/uniswap-v3-new.js +923 -0
  65. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +1 -0
  66. package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -6
  67. package/build/dex/uniswap-v4/contract-math/Position.js +0 -29
  68. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -1
  69. package/build/dex/usual-bond/config.d.ts +3 -0
  70. package/build/dex/usual-bond/config.js +13 -0
  71. package/build/dex/usual-bond/config.js.map +1 -0
  72. package/build/dex/usual-bond/types.d.ts +7 -0
  73. package/build/dex/usual-bond/types.js +3 -0
  74. package/build/dex/usual-bond/types.js.map +1 -0
  75. package/build/dex/usual-bond/usual-bond.d.ts +35 -0
  76. package/build/dex/usual-bond/usual-bond.js +176 -0
  77. package/build/dex/usual-bond/usual-bond.js.map +1 -0
  78. package/build/dex/wusdm/config.d.ts +3 -0
  79. package/build/dex/wusdm/config.js +43 -0
  80. package/build/dex/wusdm/config.js.map +1 -0
  81. package/build/dex/wusdm/constants.d.ts +2 -0
  82. package/build/dex/wusdm/constants.js +6 -0
  83. package/build/dex/wusdm/constants.js.map +1 -0
  84. package/build/dex/wusdm/types.d.ts +18 -0
  85. package/build/dex/wusdm/types.js +11 -0
  86. package/build/dex/wusdm/types.js.map +1 -0
  87. package/build/dex/wusdm/wusdm-pool.d.ts +21 -0
  88. package/build/dex/wusdm/wusdm-pool.js +74 -0
  89. package/build/dex/wusdm/wusdm-pool.js.map +1 -0
  90. package/build/dex/wusdm/wusdm.d.ts +46 -0
  91. package/build/dex/wusdm/wusdm.js +243 -0
  92. package/build/dex/wusdm/wusdm.js.map +1 -0
  93. package/build/dex/zerox/config.d.ts +2 -0
  94. package/build/dex/zerox/config.js +33 -0
  95. package/build/dex/zerox/config.js.map +1 -0
  96. package/build/dex/zerox/index.d.ts +22 -0
  97. package/build/dex/zerox/index.js +225 -0
  98. package/build/dex/zerox/index.js.map +1 -0
  99. package/build/dex/zerox/order.d.ts +88 -0
  100. package/build/dex/zerox/order.js +53 -0
  101. package/build/dex/zerox/order.js.map +1 -0
  102. package/build/dex/zerox/types.d.ts +73 -0
  103. package/build/dex/zerox/types.js +21 -0
  104. package/build/dex/zerox/types.js.map +1 -0
  105. package/package.json +1 -1
  106. package/build/dex/maker-psm/maker-psm-event-pool.js +0 -132
  107. package/build/dex/maker-psm/maker-psm-event-pool.js.map +0 -1
  108. package/build/executor/Executor02BytecodeBuilderMultiRoute.d.ts +0 -101
  109. package/build/executor/Executor02BytecodeBuilderMultiRoute.js +0 -877
  110. package/build/executor/Executor02BytecodeBuilderMultiRoute.js.map +0 -1
@@ -0,0 +1,88 @@
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
+ }
@@ -0,0 +1,53 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,73 @@
1
+ import { Address } from '@paraswap/sdk';
2
+ import { NumberAsString } from '../../types';
3
+ export declare enum OrderStatus {
4
+ INVALID = 0,
5
+ INVALID_MAKER_ASSET_AMOUNT = 1,
6
+ INVALID_TAKER_ASSET_AMOUNT = 2,
7
+ FILLABLE = 3,
8
+ EXPIRED = 4,
9
+ FULLY_FILLED = 5,
10
+ CANCELLED = 6
11
+ }
12
+ declare type Value = NumberAsString | number;
13
+ export interface ZeroXSignedOrderV2 {
14
+ senderAddress: string;
15
+ makerAddress: string;
16
+ takerAddress: string;
17
+ makerFee: Value;
18
+ takerFee: Value;
19
+ makerAssetAmount: Value;
20
+ takerAssetAmount: Value;
21
+ makerAssetData: string;
22
+ takerAssetData: string;
23
+ salt: Value;
24
+ exchangeAddress: string;
25
+ feeRecipientAddress: string;
26
+ expirationTimeSeconds: Value;
27
+ makerFeeAssetData: string;
28
+ takerFeeAssetData: string;
29
+ signature: string;
30
+ }
31
+ export interface ZeroXSignedOrderV4 {
32
+ makerToken: string;
33
+ takerToken: string;
34
+ makerAmount: Value;
35
+ takerAmount: Value;
36
+ maker: string;
37
+ taker: string;
38
+ txOrigin: string;
39
+ pool: string;
40
+ expiry: Value;
41
+ salt: Value;
42
+ signature: any;
43
+ }
44
+ export declare type ZeroXSignedOrder = ZeroXSignedOrderV2 | ZeroXSignedOrderV4;
45
+ export declare enum ZeroXFunctions {
46
+ swapOnZeroXv2 = "swapOnZeroXv2",
47
+ swapOnZeroXv4 = "swapOnZeroXv4",
48
+ swapOnZeroXv2WithPermit = "swapOnZeroXv2WithPermit",
49
+ swapOnZeroXv4WithPermit = "swapOnZeroXv4WithPermit"
50
+ }
51
+ export declare type ZeroXData = {
52
+ version: number;
53
+ order: ZeroXSignedOrder;
54
+ };
55
+ export declare type SwapOnZeroXParam = [
56
+ srcToken: Address,
57
+ destToken: Address,
58
+ srcAmount: NumberAsString,
59
+ destAmount: NumberAsString,
60
+ exchange: Address,
61
+ payload: string
62
+ ];
63
+ export declare type SwapOnZeroXWithPermitParam = [
64
+ srcToken: Address,
65
+ destToken: Address,
66
+ srcAmount: NumberAsString,
67
+ destAmount: NumberAsString,
68
+ exchange: Address,
69
+ payload: string,
70
+ permit: string
71
+ ];
72
+ export declare type ZeroXParam = SwapOnZeroXParam | SwapOnZeroXWithPermitParam;
73
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZeroXFunctions = exports.OrderStatus = void 0;
4
+ var OrderStatus;
5
+ (function (OrderStatus) {
6
+ OrderStatus[OrderStatus["INVALID"] = 0] = "INVALID";
7
+ OrderStatus[OrderStatus["INVALID_MAKER_ASSET_AMOUNT"] = 1] = "INVALID_MAKER_ASSET_AMOUNT";
8
+ OrderStatus[OrderStatus["INVALID_TAKER_ASSET_AMOUNT"] = 2] = "INVALID_TAKER_ASSET_AMOUNT";
9
+ OrderStatus[OrderStatus["FILLABLE"] = 3] = "FILLABLE";
10
+ OrderStatus[OrderStatus["EXPIRED"] = 4] = "EXPIRED";
11
+ OrderStatus[OrderStatus["FULLY_FILLED"] = 5] = "FULLY_FILLED";
12
+ OrderStatus[OrderStatus["CANCELLED"] = 6] = "CANCELLED";
13
+ })(OrderStatus = exports.OrderStatus || (exports.OrderStatus = {}));
14
+ var ZeroXFunctions;
15
+ (function (ZeroXFunctions) {
16
+ ZeroXFunctions["swapOnZeroXv2"] = "swapOnZeroXv2";
17
+ ZeroXFunctions["swapOnZeroXv4"] = "swapOnZeroXv4";
18
+ ZeroXFunctions["swapOnZeroXv2WithPermit"] = "swapOnZeroXv2WithPermit";
19
+ ZeroXFunctions["swapOnZeroXv4WithPermit"] = "swapOnZeroXv4WithPermit";
20
+ })(ZeroXFunctions = exports.ZeroXFunctions || (exports.ZeroXFunctions = {}));
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/zerox/types.ts"],"names":[],"mappings":";;;AAGA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,mDAAO,CAAA;IACP,yFAA0B,CAAA;IAC1B,yFAA0B,CAAA;IAC1B,qDAAQ,CAAA;IACR,mDAAO,CAAA;IACP,6DAAY,CAAA;IACZ,uDAAS,CAAA;AACX,CAAC,EARW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAQtB;AAuCD,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;AACrD,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.7.25-0",
3
+ "version": "4.7.25",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -1,132 +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.MakerPsmEventPool = void 0;
7
- const abi_1 = require("@ethersproject/abi");
8
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
9
- const utils_1 = require("../../utils");
10
- const psm_json_1 = __importDefault(require("../../abi/maker-psm/psm.json"));
11
- const vat_json_1 = __importDefault(require("../../abi/maker-psm/vat.json"));
12
- const vatInterface = new abi_1.Interface(vat_json_1.default);
13
- const psmInterface = new abi_1.Interface(psm_json_1.default);
14
- const bigIntify = (b) => BigInt(b.toString());
15
- async function getOnChainState(multiContract, poolConfigs, vatAddress, blockNumber) {
16
- const callData = poolConfigs
17
- .map(c => [
18
- {
19
- target: c.psmAddress,
20
- callData: psmInterface.encodeFunctionData('tin', []),
21
- },
22
- {
23
- target: c.psmAddress,
24
- callData: psmInterface.encodeFunctionData('tout', []),
25
- },
26
- {
27
- target: vatAddress,
28
- callData: vatInterface.encodeFunctionData('ilks', [c.identifier]),
29
- },
30
- ])
31
- .flat();
32
- const res = await multiContract.methods
33
- .aggregate(callData)
34
- .call({}, blockNumber);
35
- let i = 0;
36
- return poolConfigs.map(c => {
37
- const tin = bigIntify(psmInterface.decodeFunctionResult('tin', res.returnData[i++])[0]);
38
- const tout = bigIntify(psmInterface.decodeFunctionResult('tout', res.returnData[i++])[0]);
39
- const ilks = vatInterface.decodeFunctionResult('ilks', res.returnData[i++]);
40
- const Art = bigIntify(ilks.Art);
41
- const line = bigIntify(ilks.line);
42
- const rate = bigIntify(ilks.rate);
43
- return {
44
- tin,
45
- tout,
46
- Art,
47
- line,
48
- rate,
49
- };
50
- });
51
- }
52
- class MakerPsmEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
53
- network;
54
- dexHelper;
55
- poolConfig;
56
- vatAddress;
57
- handlers = {};
58
- logDecoder;
59
- to18ConversionFactor;
60
- bytes32Tout = '0x746f757400000000000000000000000000000000000000000000000000000000'; // bytes32('tout')
61
- bytes32Tin = '0x74696e0000000000000000000000000000000000000000000000000000000000'; // bytes32('tin')
62
- constructor(parentName, network, dexHelper, logger, poolConfig, vatAddress) {
63
- super(parentName, poolConfig.identifier, dexHelper, logger);
64
- this.network = network;
65
- this.dexHelper = dexHelper;
66
- this.poolConfig = poolConfig;
67
- this.vatAddress = vatAddress;
68
- this.logDecoder = (log) => psmInterface.parseLog(log);
69
- this.addressesSubscribed = [poolConfig.psmAddress];
70
- this.to18ConversionFactor = (0, utils_1.getBigIntPow)(18 - poolConfig.gem.decimals);
71
- // Add handlers
72
- this.handlers['File'] = this.handleFile.bind(this);
73
- this.handlers['SellGem'] = this.handleSellGem.bind(this);
74
- this.handlers['BuyGem'] = this.handleBuyGem.bind(this);
75
- }
76
- handleFile(event, pool, log) {
77
- if (event.args.what === this.bytes32Tin) {
78
- pool.tin = bigIntify(event.args.data);
79
- }
80
- else if (event.args.what === this.bytes32Tout) {
81
- pool.tout = bigIntify(event.args.data);
82
- }
83
- return pool;
84
- }
85
- handleSellGem(event, pool, log) {
86
- pool.Art += bigIntify(event.args.value) * this.to18ConversionFactor;
87
- return pool;
88
- }
89
- handleBuyGem(event, pool, log) {
90
- pool.Art -= bigIntify(event.args.value) * this.to18ConversionFactor;
91
- return pool;
92
- }
93
- getIdentifier() {
94
- return `${this.parentName}_${this.poolConfig.psmAddress}`.toLowerCase();
95
- }
96
- /**
97
- * The function is called every time any of the subscribed
98
- * addresses release log. The function accepts the current
99
- * state, updates the state according to the log, and returns
100
- * the updated state.
101
- * @param state - Current state of event subscriber
102
- * @param log - Log released by one of the subscribed addresses
103
- * @returns Updates state of the event subscriber after the log
104
- */
105
- processLog(state, log) {
106
- try {
107
- const event = this.logDecoder(log);
108
- if (event.name in this.handlers) {
109
- return this.handlers[event.name](event, state, log);
110
- }
111
- return state;
112
- }
113
- catch (e) {
114
- this.logger.error(`Error_${this.parentName}_processLog could not parse the log with topic ${log.topics}:`, e);
115
- return null;
116
- }
117
- }
118
- /**
119
- * The function generates state using on-chain calls. This
120
- * function is called to regenerate state if the event based
121
- * system fails to fetch events and the local state is no
122
- * more correct.
123
- * @param blockNumber - Blocknumber for which the state should
124
- * should be generated
125
- * @returns state of the event subscriber at blocknumber
126
- */
127
- async generateState(blockNumber) {
128
- return (await getOnChainState(this.dexHelper.multiContract, [this.poolConfig], this.vatAddress, blockNumber))[0];
129
- }
130
- }
131
- exports.MakerPsmEventPool = MakerPsmEventPool;
132
- //# sourceMappingURL=maker-psm-event-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"maker-psm-event-pool.js","sourceRoot":"","sources":["../../../src/dex/maker-psm/maker-psm-event-pool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAI/C,+EAA0E;AAC1E,uCAA2C;AAG3C,4EAAkD;AAClD,4EAAkD;AAElD,MAAM,YAAY,GAAG,IAAI,eAAS,CAAC,kBAAM,CAAC,CAAC;AAC3C,MAAM,YAAY,GAAG,IAAI,eAAS,CAAC,kBAAM,CAAC,CAAC;AAE3C,MAAM,SAAS,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEnD,KAAK,UAAU,eAAe,CAC5B,aAAuB,EACvB,WAAyB,EACzB,UAAmB,EACnB,WAA8B;IAE9B,MAAM,QAAQ,GAAG,WAAW;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACR;YACE,MAAM,EAAE,CAAC,CAAC,UAAU;YACpB,QAAQ,EAAE,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;SACrD;QACD;YACE,MAAM,EAAE,CAAC,CAAC,UAAU;YACpB,QAAQ,EAAE,YAAY,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;SACtD;QACD;YACE,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,YAAY,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SAClE;KACF,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,OAAO;SACpC,SAAS,CAAC,QAAQ,CAAC;SACnB,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAEzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,SAAS,CACnB,YAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACjE,CAAC;QACF,MAAM,IAAI,GAAG,SAAS,CACpB,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;QACF,MAAM,IAAI,GAAG,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO;YACL,GAAG;YACH,IAAI;YACJ,GAAG;YACH,IAAI;YACJ,IAAI;SACL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,iBAAkB,SAAQ,mDAAkC;IAe3D;IACA;IAEH;IACG;IAlBZ,QAAQ,GAEJ,EAAE,CAAC;IAEP,UAAU,CAAoB;IAE9B,oBAAoB,CAAS;IAC7B,WAAW,GACT,oEAAoE,CAAC,CAAC,kBAAkB;IAC1F,UAAU,GACR,oEAAoE,CAAC,CAAC,iBAAiB;IAEzF,YACE,UAAkB,EACR,OAAe,EACf,SAAqB,EAC/B,MAAc,EACP,UAAsB,EACnB,UAAmB;QAE7B,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QANlD,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;QAExB,eAAU,GAAV,UAAU,CAAY;QACnB,eAAU,GAAV,UAAU,CAAS;QAI7B,IAAI,CAAC,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG,IAAA,oBAAY,EAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEvE,eAAe;QACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,UAAU,CAAC,KAAU,EAAE,IAAe,EAAE,GAAQ;QAC9C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,KAAU,EAAE,IAAe,EAAE,GAAQ;QACjD,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,KAAU,EAAE,IAAe,EAAE,GAAQ;QAChD,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;QACX,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC;IAED;;;;;;;;OAQG;IACO,UAAU,CAClB,KAA8B,EAC9B,GAAkB;QAElB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,IAAI,CAAC,UAAU,kDAAkD,GAAG,CAAC,MAAM,GAAG,EACvF,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,CACL,MAAM,eAAe,CACnB,IAAI,CAAC,SAAS,CAAC,aAAa,EAC5B,CAAC,IAAI,CAAC,UAAU,CAAC,EACjB,IAAI,CAAC,UAAU,EACf,WAAW,CACZ,CACF,CAAC,CAAC,CAAC,CAAC;IACP,CAAC;CACF;AAvGD,8CAuGC"}
@@ -1,101 +0,0 @@
1
- import { OptimalRate, OptimalRoute } from '@paraswap/core';
2
- import { DexExchangeBuildParam } from '../types';
3
- import { BuildSwap, Executors, Flag, RouteBuildSwaps } from './types';
4
- import { DepositWithdrawReturn } from '../dex/weth/types';
5
- import { BuildSwapFlagsParams, DexCallDataParams, ExecutorBytecodeBuilder, PriceRouteType, SingleSwapCallDataParams } from './ExecutorBytecodeBuilder';
6
- export type Executor02SingleSwapCallDataParams = {
7
- routeIndex: number;
8
- swapIndex: number;
9
- wrapToSwapMap: {
10
- [key: number]: boolean;
11
- };
12
- unwrapToSwapMap: {
13
- [key: number]: boolean;
14
- };
15
- wrapToSwapExchangeMap: {
16
- [key: string]: boolean;
17
- };
18
- swap: BuildSwap;
19
- srcToken: string;
20
- destToken: string;
21
- swaps: BuildSwap[];
22
- rootUnwrapEth: boolean;
23
- rootWrapEth: boolean;
24
- isLastSwapOnTheRoute?: boolean;
25
- };
26
- export type MultiRouteExecutor02DexCallDataParams = {
27
- rootUnwrapEth: boolean;
28
- swap: BuildSwap;
29
- destToken: string;
30
- };
31
- /**
32
- * Class to build bytecode for Executor02 - simpleSwap with N DEXs (VERTICAL_BRANCH), multiSwaps (VERTICAL_BRANCH_HORIZONTAL_SEQUENCE) and megaswaps (NESTED_VERTICAL_BRANCH_HORIZONTAL_SEQUENCE)
33
- */
34
- export declare class Executor02BytecodeBuilderMultiRoute extends ExecutorBytecodeBuilder<Executor02SingleSwapCallDataParams, MultiRouteExecutor02DexCallDataParams> {
35
- type: Executors;
36
- /**
37
- * Executor02 Flags:
38
- * switch (flag % 4):
39
- * case 0: don't insert fromAmount
40
- * case 1: sendEth equal to fromAmount
41
- * case 2: sendEth equal to fromAmount + insert fromAmount
42
- * case 3: insert fromAmount
43
-
44
- * switch (flag % 3):
45
- * case 0: don't check balance after swap
46
- * case 1: check eth balance after swap
47
- * case 2: check destToken balance after swap
48
- */
49
- protected buildSimpleSwapFlags(params: BuildSwapFlagsParams): {
50
- dexFlag: Flag;
51
- approveFlag: Flag;
52
- };
53
- /**
54
- * Executor02 Flags:
55
- * switch (flag % 4):
56
- * case 0: don't instert fromAmount
57
- * case 1: sendEth equal to fromAmount
58
- * case 2: sendEth equal to fromAmount + insert fromAmount
59
- * case 3: insert fromAmount
60
-
61
- * switch (flag % 3):
62
- * case 0: don't check balance after swap
63
- * case 1: check eth balance after swap
64
- * case 2: check destToken balance after swap
65
- */
66
- protected buildMultiMegaSwapFlags(params: BuildSwapFlagsParams): {
67
- dexFlag: Flag;
68
- approveFlag: Flag;
69
- };
70
- protected buildDexCallData(params: DexCallDataParams<MultiRouteExecutor02DexCallDataParams>): string;
71
- private wrapAsVerticalBranch;
72
- private packVerticalBranchingData;
73
- private packVerticalBranchingCallData;
74
- private buildVerticalBranchingCallData;
75
- private buildVerticalBranchingCallDataNoEthDest;
76
- private buildSingleSwapExchangeCallData;
77
- private appendWrapEthCallData;
78
- private eachDexOnSwapNeedsWrapNative;
79
- private anyDexOnSwapNeedsWrapNative;
80
- private isLastExchangeWithNeedWrapNative;
81
- private anyDexOnSwapDoesntNeedWrapNative;
82
- private everyDexOnSwapNeedWrapNative;
83
- private everyDexOnSwapDoesntNeedWrapNative;
84
- private doesSwapNeedToBeAsVerticalBranch;
85
- private buildVerticalBranchingFlag;
86
- protected buildSingleSwapCallData(params: SingleSwapCallDataParams<Executor02SingleSwapCallDataParams>): string;
87
- protected buildRouteCallData(route: RouteBuildSwaps, routeIndex: number, flags: {
88
- approves: Flag[];
89
- dexes: Flag[];
90
- wrap: Flag;
91
- }, sender: string, srcToken: string, destToken: string, priceRouteType: PriceRouteType, rootUnwrapEth: boolean, rootWrapEth: boolean, maybeWethCallData?: DepositWithdrawReturn): string;
92
- private doesRouteNeedsRootWrapEth;
93
- private doesRouteNeedsRootUnwrapEth;
94
- getAddress(): string;
95
- buildByteCode(priceRoute: OptimalRate, routes: RouteBuildSwaps[], exchangeParams: DexExchangeBuildParam[], sender: string, maybeWethCallData?: DepositWithdrawReturn): string;
96
- protected buildFlags(routes: OptimalRoute[], buildRoutes: RouteBuildSwaps[], exchangeParams: DexExchangeBuildParam[], srcToken: string, priceRouteType: PriceRouteType, maybeWethCallData?: DepositWithdrawReturn): {
97
- approves: Flag[];
98
- dexes: Flag[];
99
- wrap: Flag;
100
- };
101
- }