@paraswap/dex-lib 2.18.4 → 2.18.6-swaap-v2

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 (69) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/paraswap-dex-lib.iml +9 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/build/abi/swaap-v2/vault.json +918 -0
  9. package/build/config.js +4 -2
  10. package/build/config.js.map +1 -1
  11. package/build/dex/hashflow/hashflow.js +8 -19
  12. package/build/dex/hashflow/hashflow.js.map +1 -1
  13. package/build/dex/index.js +2 -0
  14. package/build/dex/index.js.map +1 -1
  15. package/build/dex/pancakeswap-v3/types.d.ts +14 -0
  16. package/build/dex/{test-dex → pancakeswap-v3}/types.js.map +1 -1
  17. package/build/dex/{test-dex → swaap-v2}/config.d.ts +1 -1
  18. package/build/dex/swaap-v2/config.js +25 -0
  19. package/build/dex/swaap-v2/config.js.map +1 -0
  20. package/build/dex/swaap-v2/constants.d.ts +9 -0
  21. package/build/dex/swaap-v2/constants.js +13 -0
  22. package/build/dex/swaap-v2/constants.js.map +1 -0
  23. package/build/dex/swaap-v2/rate-fetcher.d.ts +16 -0
  24. package/build/dex/swaap-v2/rate-fetcher.js +100 -0
  25. package/build/dex/swaap-v2/rate-fetcher.js.map +1 -0
  26. package/build/dex/swaap-v2/swaap-v2.d.ts +55 -0
  27. package/build/dex/swaap-v2/swaap-v2.js +465 -0
  28. package/build/dex/swaap-v2/swaap-v2.js.map +1 -0
  29. package/build/dex/swaap-v2/types.d.ts +64 -0
  30. package/build/dex/swaap-v2/types.js +7 -0
  31. package/build/dex/swaap-v2/types.js.map +1 -0
  32. package/build/dex/swaap-v2/utils.d.ts +7 -0
  33. package/build/dex/swaap-v2/utils.js +34 -0
  34. package/build/dex/swaap-v2/utils.js.map +1 -0
  35. package/build/dex/swaap-v2/validators.d.ts +5 -0
  36. package/build/dex/swaap-v2/validators.js +120 -0
  37. package/build/dex/swaap-v2/validators.js.map +1 -0
  38. package/build/types.d.ts +1 -0
  39. package/package.json +1 -1
  40. package/src/abi/swaap-v2/vault.json +918 -0
  41. package/src/config.ts +5 -2
  42. package/src/dex/hashflow/hashflow.ts +8 -24
  43. package/src/dex/index.ts +2 -0
  44. package/src/dex/swaap-v2/config.ts +25 -0
  45. package/src/dex/swaap-v2/constants.ts +14 -0
  46. package/src/dex/swaap-v2/rate-fetcher.ts +164 -0
  47. package/src/dex/swaap-v2/swaap-v2-e2e.test.ts +199 -0
  48. package/src/dex/swaap-v2/swaap-v2-integration.test.ts +142 -0
  49. package/src/dex/swaap-v2/swaap-v2.ts +714 -0
  50. package/src/dex/swaap-v2/types.ts +74 -0
  51. package/src/dex/swaap-v2/utils.ts +44 -0
  52. package/src/dex/swaap-v2/validators.ts +123 -0
  53. package/src/types.ts +1 -0
  54. package/tests/constants-e2e.ts +1 -1
  55. package/tests/utils-e2e.ts +5 -0
  56. package/build/abi/DirectSwap.json +0 -1018
  57. package/build/dex/test-dex/config.js +0 -15
  58. package/build/dex/test-dex/config.js.map +0 -1
  59. package/build/dex/test-dex/test-dex-pool.d.ts +0 -39
  60. package/build/dex/test-dex/test-dex-pool.js +0 -63
  61. package/build/dex/test-dex/test-dex-pool.js.map +0 -1
  62. package/build/dex/test-dex/test-dex.d.ts +0 -37
  63. package/build/dex/test-dex/test-dex.js +0 -126
  64. package/build/dex/test-dex/test-dex.js.map +0 -1
  65. package/build/dex/test-dex/types.d.ts +0 -6
  66. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +0 -16
  67. package/build/dex/woo-fi-v2/woo-fi-math.js +0 -137
  68. package/build/dex/woo-fi-v2/woo-fi-math.js.map +0 -1
  69. /package/build/dex/{test-dex → pancakeswap-v3}/types.js +0 -0
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.getQuoteResponseValidator = exports.blacklistResponseValidator = exports.addressSchema = exports.priceLevelsResponseValidator = void 0;
30
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
31
+ const joi_1 = __importDefault(require("joi"));
32
+ const ethers = __importStar(require("ethers"));
33
+ const priceLevelsValidator = joi_1.default.array().items(joi_1.default.object({
34
+ level: joi_1.default.number().required(),
35
+ price: joi_1.default.number().required(),
36
+ }));
37
+ const ext = {
38
+ type: 'validatedpriceLevels',
39
+ base: joi_1.default.object({
40
+ bids: priceLevelsValidator,
41
+ asks: priceLevelsValidator,
42
+ }),
43
+ rules: {
44
+ bidsLowerThanAsks: {
45
+ validate: (values, helpers) => {
46
+ if (!values.bids ||
47
+ !values.asks ||
48
+ values.bids.length === 0 ||
49
+ values.asks.length === 0) {
50
+ return values;
51
+ }
52
+ const maxBid = values.bids
53
+ .map(pl => new bignumber_js_1.default(pl.price))
54
+ .reduce((previousValue, currentValue) => currentValue.gte(previousValue) ? currentValue : previousValue, new bignumber_js_1.default(0));
55
+ const minAsk = values.asks
56
+ .map(pl => new bignumber_js_1.default(pl.price))
57
+ .reduce((previousValue, currentValue) => currentValue.lte(previousValue) ? currentValue : previousValue, new bignumber_js_1.default('123456789012345678901234567890'));
58
+ return maxBid < minAsk
59
+ ? values
60
+ : helpers.message({
61
+ custom: 'the maximum bid is higher than minimum ask',
62
+ });
63
+ },
64
+ },
65
+ },
66
+ };
67
+ exports.priceLevelsResponseValidator = joi_1.default.object({
68
+ levels: joi_1.default
69
+ .object()
70
+ .pattern(joi_1.default.string().min(1), joi_1.default.extend(ext).validatedpriceLevels().bidsLowerThanAsks()),
71
+ success: joi_1.default.boolean().required(),
72
+ });
73
+ exports.addressSchema = joi_1.default.string().custom((value, helpers) => {
74
+ if (ethers.utils.isAddress(value)) {
75
+ return value.toLowerCase();
76
+ }
77
+ return helpers.message({ custom: `'${value}' is not valid address` });
78
+ });
79
+ exports.blacklistResponseValidator = joi_1.default.object({
80
+ blacklist: joi_1.default.array().items(exports.addressSchema),
81
+ });
82
+ const stringPositiveBigIntValidator = (value, helpers) => {
83
+ try {
84
+ const val = BigInt(value);
85
+ if (val < 0) {
86
+ return helpers.message({ custom: `${value} is < 0` });
87
+ }
88
+ return value;
89
+ }
90
+ catch (e) {
91
+ return helpers.message({
92
+ custom: `${value} is not castable to BigInt`,
93
+ });
94
+ }
95
+ };
96
+ const mustBeAugustusSwapper = (value, helpers) => {
97
+ const allowedTakers = [
98
+ '0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57'.toLowerCase(),
99
+ ];
100
+ return allowedTakers.includes(value.toLowerCase())
101
+ ? value
102
+ : helpers.message({
103
+ custom: `"order.taker" must be any of ${JSON.stringify(allowedTakers)}`,
104
+ });
105
+ };
106
+ exports.getQuoteResponseValidator = joi_1.default
107
+ .object({
108
+ id: joi_1.default.string().required(),
109
+ recipient: exports.addressSchema.required().custom(mustBeAugustusSwapper),
110
+ expiration: joi_1.default.number().min(0),
111
+ amount: joi_1.default
112
+ .string()
113
+ .min(0)
114
+ .custom(stringPositiveBigIntValidator)
115
+ .required(),
116
+ calldata: joi_1.default.string().required(),
117
+ success: joi_1.default.boolean().required(),
118
+ })
119
+ .unknown(true);
120
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/dex/swaap-v2/validators.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -234,6 +234,7 @@ export declare type Config = {
234
234
  hashFlowAuthToken?: string;
235
235
  hashFlowDisabledMMs: string[];
236
236
  uniswapV3EventLoggingSampleRate?: number;
237
+ swaapV2AuthToken?: string;
237
238
  };
238
239
  export declare type BigIntAsString = string;
239
240
  export declare type ExchangeTxInfo = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.18.4",
3
+ "version": "2.18.6-swaap-v2",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",