@1inch/fusion-sdk 1.0.1-rc.2 → 1.0.1-rc.21

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 (65) hide show
  1. package/dist/api/orders/order-api.spec.js +1 -0
  2. package/dist/api/orders/order-api.spec.js.map +1 -1
  3. package/dist/api/quoter/quote/quote.d.ts +5 -1
  4. package/dist/api/quoter/quote/quote.js +4 -3
  5. package/dist/api/quoter/quote/quote.js.map +1 -1
  6. package/dist/api/quoter/quote/types.d.ts +4 -0
  7. package/dist/api/quoter/quoter.api.spec.js +18 -3
  8. package/dist/api/quoter/quoter.api.spec.js.map +1 -1
  9. package/dist/api/quoter/types.d.ts +3 -3
  10. package/dist/auction-calculator/auction-calculator.d.ts +30 -5
  11. package/dist/auction-calculator/auction-calculator.js +63 -13
  12. package/dist/auction-calculator/auction-calculator.js.map +1 -1
  13. package/dist/auction-calculator/auction-calculator.spec.js +33 -5
  14. package/dist/auction-calculator/auction-calculator.spec.js.map +1 -1
  15. package/dist/auction-calculator/calc.d.ts +8 -0
  16. package/dist/auction-calculator/calc.js +8 -0
  17. package/dist/auction-calculator/calc.js.map +1 -1
  18. package/dist/auction-calculator/constants.js +1 -1
  19. package/dist/auction-calculator/constants.js.map +1 -1
  20. package/dist/connector/blockchain/private-key-provider.connector.js +2 -0
  21. package/dist/connector/blockchain/private-key-provider.connector.js.map +1 -1
  22. package/dist/connector/ws/websocket-client.connector.js +2 -0
  23. package/dist/connector/ws/websocket-client.connector.js.map +1 -1
  24. package/dist/constants.d.ts +1 -0
  25. package/dist/constants.js +2 -1
  26. package/dist/constants.js.map +1 -1
  27. package/dist/fusion-order/auction-details/auction-details.d.ts +29 -0
  28. package/dist/fusion-order/auction-details/auction-details.js +21 -0
  29. package/dist/fusion-order/auction-details/auction-details.js.map +1 -1
  30. package/dist/fusion-order/auction-details/types.d.ts +12 -0
  31. package/dist/fusion-order/fusion-extension.d.ts +2 -2
  32. package/dist/fusion-order/fusion-extension.js +3 -3
  33. package/dist/fusion-order/fusion-extension.js.map +1 -1
  34. package/dist/fusion-order/fusion-order.d.ts +73 -3
  35. package/dist/fusion-order/fusion-order.js +99 -13
  36. package/dist/fusion-order/fusion-order.js.map +1 -1
  37. package/dist/fusion-order/fusion-order.spec.js +6 -5
  38. package/dist/fusion-order/fusion-order.spec.js.map +1 -1
  39. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +35 -1
  40. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +95 -44
  41. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -1
  42. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js +76 -7
  43. package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js.map +1 -1
  44. package/dist/fusion-order/settlement-post-interaction-data/types.d.ts +11 -3
  45. package/dist/index.d.ts +2 -2
  46. package/dist/index.js +11 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/sdk/sdk.js +3 -6
  49. package/dist/sdk/sdk.js.map +1 -1
  50. package/dist/sdk/types.d.ts +11 -0
  51. package/dist/utils/amounts.d.ts +17 -1
  52. package/dist/utils/amounts.js +19 -3
  53. package/dist/utils/amounts.js.map +1 -1
  54. package/dist/utils/time.d.ts +1 -0
  55. package/dist/utils/time.js +8 -0
  56. package/dist/utils/time.js.map +1 -0
  57. package/dist/validations.d.ts +4 -0
  58. package/dist/validations.js +4 -0
  59. package/dist/validations.js.map +1 -1
  60. package/dist/ws-api/ws.spec.js +1 -0
  61. package/dist/ws-api/ws.spec.js.map +1 -1
  62. package/package.json +12 -5
  63. package/dist/limit-order-contract/index.d.ts +0 -1
  64. package/dist/limit-order-contract/index.js +0 -6
  65. package/dist/limit-order-contract/index.js.map +0 -1
@@ -4,38 +4,72 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SettlementPostInteractionData = void 0;
7
- const ethers_1 = require("ethers");
8
7
  const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
9
8
  const byte_utils_1 = require("@1inch/byte-utils");
10
9
  const assert_1 = __importDefault(require("assert"));
11
10
  const validations_1 = require("../../validations");
12
11
  const utils_1 = require("../../utils");
12
+ const constants_1 = require("../../constants");
13
13
  class SettlementPostInteractionData {
14
14
  constructor(data) {
15
15
  this.whitelist = data.whitelist;
16
16
  this.integratorFee = data?.integratorFee;
17
- this.bankFee = data.bankFee;
18
- this.auctionStartTime = data.auctionStartTime;
17
+ this.bankFee = data.bankFee || 0n;
18
+ this.resolvingStartTime = data.resolvingStartTime;
19
19
  }
20
20
  static new(data) {
21
+ (0, assert_1.default)(data.whitelist.length, 'Whitelist can not be empty');
22
+ // transform timestamps to cumulative delays
23
+ let sumDelay = 0n;
24
+ const whitelist = data.whitelist
25
+ .map((d) => ({
26
+ addressHalf: d.address.toString().slice(-20),
27
+ allowFrom: d.allowFrom < data.resolvingStartTime
28
+ ? data.resolvingStartTime
29
+ : d.allowFrom
30
+ }))
31
+ .sort((a, b) => Number(a.allowFrom - b.allowFrom)) // ASC
32
+ .map((val) => {
33
+ const delay = val.allowFrom - data.resolvingStartTime - sumDelay;
34
+ sumDelay += delay;
35
+ (0, assert_1.default)(delay < constants_1.UINT_16_MAX, 'Too big diff between timestamps');
36
+ return {
37
+ delay,
38
+ addressHalf: val.addressHalf
39
+ };
40
+ });
21
41
  return new SettlementPostInteractionData({
22
42
  ...data,
23
- whitelist: data.whitelist.map((d) => ({
24
- addressHalf: d.address.toString().slice(-20),
25
- delay: d.delay
26
- }))
43
+ whitelist
27
44
  });
28
45
  }
46
+ /**
47
+ * Construct `SettlementPostInteractionData` from bytes
48
+ * @param data bytes with 0x prefix in next format:
49
+ * - [uint32 feeBank] only when first bit of `bitMask` enabled
50
+ * - [uint160 integratorFeeReceiver, uint32 integratorFeeRation] only when second bit of `bitMask` enabled
51
+ * - uint32 auctionStartTime
52
+ * - (bytes10 last10bytesOfAddress, uint16 auctionDelay) * N whitelist info
53
+ * - uint8 bitMask:
54
+ * 0b0000_0001 - fee bank mask
55
+ * 0b0000_0010 - integrator fee mask
56
+ * 0b1111_1000 - resolvers count mask
57
+ *
58
+ * All data is tight packed
59
+ * @see SettlementPostInteractionData.encode
60
+ */
29
61
  static decode(data) {
30
62
  (0, assert_1.default)((0, validations_1.isHexBytes)(data), 'Post interaction data must be valid bytes string');
31
63
  const iter = byte_utils_1.BytesIter.BigInt(data);
32
- const feeType = iter.nextByte();
64
+ const extra = iter.nextByte(byte_utils_1.BytesIter.SIDE.Back);
33
65
  let bankFee = 0n;
34
66
  let integratorFee;
35
- if ((feeType & 1n) === 1n) {
67
+ // fee bank presented
68
+ if ((extra & 1n) === 1n) {
36
69
  bankFee = iter.nextUint32();
37
70
  }
38
- if ((feeType & 2n) === 2n) {
71
+ // integrator fee presented
72
+ if ((extra & 2n) === 2n) {
39
73
  const integratorAddress = iter.nextUint160();
40
74
  const integratorFeeRatio = iter.nextUint32();
41
75
  integratorFee = {
@@ -43,63 +77,80 @@ class SettlementPostInteractionData {
43
77
  receiver: limit_order_sdk_1.Address.fromBigInt(integratorAddress)
44
78
  };
45
79
  }
46
- const auctionStartTime = iter.nextUint32();
80
+ const resolvingStartTime = iter.nextUint32();
47
81
  const whitelist = [];
48
82
  while (!iter.isEmpty()) {
49
83
  const addressHalf = iter
50
84
  .nextBytes(10)
51
85
  .toString(16)
52
86
  .padStart(20, '0');
53
- const allowance = iter.nextUint16();
87
+ const delay = iter.nextUint16();
54
88
  whitelist.push({
55
89
  addressHalf,
56
- delay: allowance
90
+ delay
57
91
  });
58
92
  }
59
93
  return new SettlementPostInteractionData({
60
94
  integratorFee,
61
95
  bankFee,
62
- auctionStartTime,
96
+ resolvingStartTime,
63
97
  whitelist
64
98
  });
65
99
  }
100
+ static fromExtension(extension) {
101
+ return SettlementPostInteractionData.decode((0, utils_1.add0x)(extension.postInteraction.slice(42)));
102
+ }
103
+ /**
104
+ * Serialize post-interaction data to bytes
105
+ */
66
106
  encode() {
67
- const fee = {
68
- type: 'uint8',
69
- value: 0n
70
- };
71
- const data = [fee];
107
+ /**
108
+ * 0b0000_0001 - fee bank mask
109
+ * 0b0000_0010 - integrator fee mask
110
+ * 0b1111_1000 - resolvers count mask
111
+ */
112
+ let bitMask = new byte_utils_1.BN(0n);
113
+ const bytes = new byte_utils_1.BytesBuilder();
114
+ // Add bank fee if exists
72
115
  if (this.bankFee) {
73
- fee.value |= 1n;
74
- data.push({
75
- type: 'uint32',
76
- value: ethers_1.ethers.solidityPacked(['uint32'], [this.bankFee])
77
- });
116
+ bitMask = bitMask.setBit(0n, 1);
117
+ bytes.addUint32(this.bankFee);
78
118
  }
119
+ // add integrator fee if exists
79
120
  if (this.integratorFee?.ratio) {
80
- fee.value |= 2n;
81
- data.push({
82
- type: 'uint160',
83
- value: ethers_1.ethers.solidityPacked(['uint160'], [this.integratorFee.receiver.toString()])
84
- }, {
85
- type: 'uint32',
86
- value: ethers_1.ethers.solidityPacked(['uint32'], [this.integratorFee.ratio])
87
- });
121
+ bitMask = bitMask.setBit(1n, 1);
122
+ bytes
123
+ .addAddress(this.integratorFee.receiver.toString())
124
+ .addUint32(this.integratorFee.ratio);
88
125
  }
89
- data.push({
90
- type: 'uint32',
91
- value: this.auctionStartTime
92
- });
126
+ bytes.addUint32(this.resolvingStartTime);
127
+ // whitelist data
93
128
  for (const wl of this.whitelist) {
94
- data.push({
95
- type: 'bytes10',
96
- value: (0, utils_1.add0x)(wl.addressHalf)
97
- }, {
98
- type: 'uint16',
99
- value: BigInt(wl.delay)
100
- });
129
+ bytes.addBytes((0, utils_1.add0x)(wl.addressHalf)).addUint16(wl.delay);
130
+ }
131
+ bitMask = bitMask.setMask(new byte_utils_1.BitMask(3n, 8n), BigInt(this.whitelist.length));
132
+ bytes.addUint8(bitMask.value);
133
+ return bytes.asHex();
134
+ }
135
+ /**
136
+ * Check whether address allowed to execute order at the given time
137
+ *
138
+ * @param executor address of executor
139
+ * @param executionTime timestamp in sec at which order planning to execute
140
+ */
141
+ canExecuteAt(executor, executionTime) {
142
+ const addressHalf = executor.toString().slice(-20);
143
+ let allowedFrom = this.resolvingStartTime;
144
+ for (const whitelist of this.whitelist) {
145
+ allowedFrom += whitelist.delay;
146
+ if (addressHalf === whitelist.addressHalf) {
147
+ return executionTime >= allowedFrom;
148
+ }
149
+ else if (executionTime < allowedFrom) {
150
+ return false;
151
+ }
101
152
  }
102
- return ethers_1.ethers.solidityPacked(data.map((d) => d.type), data.map((d) => d.value));
153
+ return false;
103
154
  }
104
155
  }
105
156
  exports.SettlementPostInteractionData = SettlementPostInteractionData;
@@ -1 +1 @@
1
- {"version":3,"file":"settlement-post-interaction-data.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settlement-post-interaction-data.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
4
+ const byte_utils_1 = require("@1inch/byte-utils");
4
5
  const settlement_post_interaction_data_1 = require("./settlement-post-interaction-data");
5
6
  const utils_1 = require("../../sdk/utils");
6
- describe('PostInteractionData', () => {
7
+ describe('SettlementPostInteractionData', () => {
8
+ it('Should encode/decode with bank fee and whitelist', () => {
9
+ const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
10
+ bankFee: 1n,
11
+ resolvingStartTime: 1708117482n,
12
+ whitelist: [
13
+ {
14
+ address: limit_order_sdk_1.Address.ZERO_ADDRESS,
15
+ allowFrom: 0n
16
+ }
17
+ ]
18
+ });
19
+ const encoded = data.encode();
20
+ expect((0, byte_utils_1.getBytesCount)(encoded)).toEqual(21n);
21
+ expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(encoded)).toStrictEqual(data);
22
+ });
7
23
  it('Should encode/decode with no fees and whitelist', () => {
8
24
  const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
9
- bankFee: 0n,
10
- auctionStartTime: 1708117482n,
11
- whitelist: []
25
+ resolvingStartTime: 1708117482n,
26
+ whitelist: [
27
+ {
28
+ address: limit_order_sdk_1.Address.ZERO_ADDRESS,
29
+ allowFrom: 0n
30
+ }
31
+ ]
12
32
  });
13
- expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(data.encode())).toStrictEqual(data);
33
+ const encoded = data.encode();
34
+ expect((0, byte_utils_1.getBytesCount)(encoded)).toEqual(17n);
35
+ expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(encoded)).toStrictEqual(data);
14
36
  });
15
37
  it('Should encode/decode with fees and whitelist', () => {
16
38
  const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
17
39
  bankFee: 0n,
18
- auctionStartTime: 1708117482n,
40
+ resolvingStartTime: 1708117482n,
19
41
  whitelist: [
20
42
  {
21
43
  address: limit_order_sdk_1.Address.ZERO_ADDRESS,
22
- delay: 0n
44
+ allowFrom: 0n
23
45
  }
24
46
  ],
25
47
  integratorFee: {
@@ -29,5 +51,52 @@ describe('PostInteractionData', () => {
29
51
  });
30
52
  expect(settlement_post_interaction_data_1.SettlementPostInteractionData.decode(data.encode())).toStrictEqual(data);
31
53
  });
54
+ it('Should generate correct whitelist', () => {
55
+ const start = 1708117482n;
56
+ const data = settlement_post_interaction_data_1.SettlementPostInteractionData.new({
57
+ resolvingStartTime: start,
58
+ whitelist: [
59
+ {
60
+ address: limit_order_sdk_1.Address.fromBigInt(2n),
61
+ allowFrom: start + 1000n
62
+ },
63
+ {
64
+ address: limit_order_sdk_1.Address.ZERO_ADDRESS,
65
+ allowFrom: start - 10n // should be set to start
66
+ },
67
+ {
68
+ address: limit_order_sdk_1.Address.fromBigInt(1n),
69
+ allowFrom: start + 10n
70
+ },
71
+ {
72
+ address: limit_order_sdk_1.Address.fromBigInt(3n),
73
+ allowFrom: start + 10n
74
+ }
75
+ ]
76
+ });
77
+ expect(data.whitelist).toStrictEqual([
78
+ {
79
+ addressHalf: limit_order_sdk_1.Address.ZERO_ADDRESS.toString().slice(-20),
80
+ delay: 0n
81
+ },
82
+ {
83
+ addressHalf: limit_order_sdk_1.Address.fromBigInt(1n).toString().slice(-20),
84
+ delay: 10n
85
+ },
86
+ {
87
+ addressHalf: limit_order_sdk_1.Address.fromBigInt(3n).toString().slice(-20),
88
+ delay: 0n
89
+ },
90
+ {
91
+ addressHalf: limit_order_sdk_1.Address.fromBigInt(2n).toString().slice(-20),
92
+ delay: 990n
93
+ }
94
+ ]);
95
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(1n), start + 10n)).toEqual(true);
96
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(1n), start + 9n)).toEqual(false);
97
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(3n), start + 10n)).toEqual(true);
98
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(3n), start + 9n)).toEqual(false);
99
+ expect(data.canExecuteAt(limit_order_sdk_1.Address.fromBigInt(2n), start + 50n)).toEqual(false);
100
+ });
32
101
  });
33
102
  //# sourceMappingURL=settlement-post-interaction-data.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settlement-post-interaction-data.spec.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.ts"],"names":[],"mappings":";;AAAA,4DAA8C;AAC9C,yFAAgF;AAChF,2CAAgD;AAEhD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,gEAA6B,CAAC,GAAG,CAAC;YAC3C,OAAO,EAAE,EAAE;YACX,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE,EAAE;SAChB,CAAC,CAAA;QAEF,MAAM,CACF,gEAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CACtD,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,IAAI,GAAG,gEAA6B,CAAC,GAAG,CAAC;YAC3C,OAAO,EAAE,EAAE;YACX,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,yBAAO,CAAC,YAAY;oBAC7B,KAAK,EAAE,EAAE;iBACZ;aACJ;YACD,aAAa,EAAE;gBACX,QAAQ,EAAE,yBAAO,CAAC,YAAY;gBAC9B,KAAK,EAAE,IAAA,wBAAgB,EAAC,EAAE,CAAC;aAC9B;SACJ,CAAC,CAAA;QAEF,MAAM,CACF,gEAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CACtD,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"settlement-post-interaction-data.spec.js","sourceRoot":"","sources":["../../../src/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,23 @@
1
1
  import { Address } from '@1inch/limit-order-sdk';
2
2
  export type AuctionWhitelistItem = {
3
3
  address: Address;
4
- delay: bigint;
4
+ /**
5
+ * Timestamp in sec at which address can start resolving
6
+ */
7
+ allowFrom: bigint;
5
8
  };
6
9
  export type SettlementSuffixData = {
7
10
  whitelist: AuctionWhitelistItem[];
8
11
  integratorFee?: IntegratorFee;
9
- bankFee: bigint;
10
- auctionStartTime: bigint;
12
+ bankFee?: bigint;
13
+ resolvingStartTime: bigint;
11
14
  };
12
15
  export type IntegratorFee = {
16
+ /**
17
+ * In pbs multiplied by precision
18
+ *
19
+ * @see bpsToRatioFormat
20
+ */
13
21
  ratio: bigint;
14
22
  receiver: Address;
15
23
  };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Address, LimitOrderV4Struct, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder } from '@1inch/limit-order-sdk';
1
+ export { Address, LimitOrderV4Struct, Extension, randBigInt, getLimitOrderContract, Interaction, TakerTraits, ExtensionBuilder, AmountMode, getLimitOrderV4Domain, LimitOrderContract } from '@1inch/limit-order-sdk';
2
2
  export * from './fusion-order/index';
3
3
  export * from './auction-calculator/index';
4
4
  export * from './connector/index';
@@ -9,4 +9,4 @@ export * from './utils/amounts';
9
9
  export * from './validations';
10
10
  export * from './ws-api';
11
11
  export * from './errors';
12
- export * from './limit-order-contract';
12
+ export { QuoterRequest, RelayerRequest, QuoterCustomPresetRequest, PresetEnum, Preset, Quote } from './api';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ExtensionBuilder = exports.TakerTraits = exports.Interaction = exports.getLimitOrderContract = exports.randBigInt = exports.Extension = exports.Address = void 0;
17
+ exports.Quote = exports.Preset = exports.PresetEnum = exports.QuoterCustomPresetRequest = exports.RelayerRequest = exports.QuoterRequest = exports.LimitOrderContract = exports.getLimitOrderV4Domain = exports.AmountMode = exports.ExtensionBuilder = exports.TakerTraits = exports.Interaction = exports.getLimitOrderContract = exports.randBigInt = exports.Extension = exports.Address = void 0;
18
18
  var limit_order_sdk_1 = require("@1inch/limit-order-sdk");
19
19
  Object.defineProperty(exports, "Address", { enumerable: true, get: function () { return limit_order_sdk_1.Address; } });
20
20
  Object.defineProperty(exports, "Extension", { enumerable: true, get: function () { return limit_order_sdk_1.Extension; } });
@@ -23,6 +23,9 @@ Object.defineProperty(exports, "getLimitOrderContract", { enumerable: true, get:
23
23
  Object.defineProperty(exports, "Interaction", { enumerable: true, get: function () { return limit_order_sdk_1.Interaction; } });
24
24
  Object.defineProperty(exports, "TakerTraits", { enumerable: true, get: function () { return limit_order_sdk_1.TakerTraits; } });
25
25
  Object.defineProperty(exports, "ExtensionBuilder", { enumerable: true, get: function () { return limit_order_sdk_1.ExtensionBuilder; } });
26
+ Object.defineProperty(exports, "AmountMode", { enumerable: true, get: function () { return limit_order_sdk_1.AmountMode; } });
27
+ Object.defineProperty(exports, "getLimitOrderV4Domain", { enumerable: true, get: function () { return limit_order_sdk_1.getLimitOrderV4Domain; } });
28
+ Object.defineProperty(exports, "LimitOrderContract", { enumerable: true, get: function () { return limit_order_sdk_1.LimitOrderContract; } });
26
29
  __exportStar(require("./fusion-order/index"), exports);
27
30
  __exportStar(require("./auction-calculator/index"), exports);
28
31
  __exportStar(require("./connector/index"), exports);
@@ -33,5 +36,11 @@ __exportStar(require("./utils/amounts"), exports);
33
36
  __exportStar(require("./validations"), exports);
34
37
  __exportStar(require("./ws-api"), exports);
35
38
  __exportStar(require("./errors"), exports);
36
- __exportStar(require("./limit-order-contract"), exports);
39
+ var api_1 = require("./api");
40
+ Object.defineProperty(exports, "QuoterRequest", { enumerable: true, get: function () { return api_1.QuoterRequest; } });
41
+ Object.defineProperty(exports, "RelayerRequest", { enumerable: true, get: function () { return api_1.RelayerRequest; } });
42
+ Object.defineProperty(exports, "QuoterCustomPresetRequest", { enumerable: true, get: function () { return api_1.QuoterCustomPresetRequest; } });
43
+ Object.defineProperty(exports, "PresetEnum", { enumerable: true, get: function () { return api_1.PresetEnum; } });
44
+ Object.defineProperty(exports, "Preset", { enumerable: true, get: function () { return api_1.Preset; } });
45
+ Object.defineProperty(exports, "Quote", { enumerable: true, get: function () { return api_1.Quote; } });
37
46
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAS+B;AAR3B,0GAAA,OAAO,OAAA;AAEP,4GAAA,SAAS,OAAA;AACT,6GAAA,UAAU,OAAA;AACV,wHAAA,qBAAqB,OAAA;AACrB,8GAAA,WAAW,OAAA;AACX,8GAAA,WAAW,OAAA;AACX,mHAAA,gBAAgB,OAAA;AAEpB,uDAAoC;AACpC,6DAA0C;AAC1C,oDAAiC;AACjC,8CAA2B;AAC3B,8CAA2B;AAC3B,0CAAuB;AACvB,kDAA+B;AAC/B,gDAA6B;AAC7B,2CAAwB;AACxB,2CAAwB;AACxB,yDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAY+B;AAX3B,0GAAA,OAAO,OAAA;AAEP,4GAAA,SAAS,OAAA;AACT,6GAAA,UAAU,OAAA;AACV,wHAAA,qBAAqB,OAAA;AACrB,8GAAA,WAAW,OAAA;AACX,8GAAA,WAAW,OAAA;AACX,mHAAA,gBAAgB,OAAA;AAChB,6GAAA,UAAU,OAAA;AACV,wHAAA,qBAAqB,OAAA;AACrB,qHAAA,kBAAkB,OAAA;AAEtB,uDAAoC;AACpC,6DAA0C;AAC1C,oDAAiC;AACjC,8CAA2B;AAC3B,8CAA2B;AAC3B,0CAAuB;AACvB,kDAA+B;AAC/B,gDAA6B;AAC7B,2CAAwB;AACxB,2CAAwB;AACxB,6BAOc;AANV,oGAAA,aAAa,OAAA;AACb,qGAAA,cAAc,OAAA;AACd,gHAAA,yBAAyB,OAAA;AACzB,iGAAA,UAAU,OAAA;AACV,6FAAA,MAAM,OAAA;AACN,4FAAA,KAAK,OAAA"}
package/dist/sdk/sdk.js CHANGED
@@ -67,13 +67,11 @@ class FusionSDK {
67
67
  : undefined,
68
68
  preset: params.preset,
69
69
  nonce: params.nonce,
70
- permit: params.permit,
71
70
  takingFeeReceiver: params.fee?.takingFeeReceiver,
72
71
  allowPartialFills: params.allowPartialFills,
73
72
  allowMultipleFills: params.allowMultipleFills
74
73
  });
75
- const domain = (0, limit_order_sdk_1.getLimitOrderV4Domain)(this.config.network);
76
- const hash = order.getOrderHash(domain);
74
+ const hash = order.getOrderHash(this.config.network);
77
75
  return { order, hash, quoteId: quote.quoteId };
78
76
  }
79
77
  async submitOrder(order, quoteId) {
@@ -81,8 +79,7 @@ class FusionSDK {
81
79
  throw new Error('blockchainProvider has not set to config');
82
80
  }
83
81
  const orderStruct = order.build();
84
- const domain = (0, limit_order_sdk_1.getLimitOrderV4Domain)(this.config.network);
85
- const signature = await this.config.blockchainProvider.signTypedData(orderStruct.maker, order.getTypedData(domain));
82
+ const signature = await this.config.blockchainProvider.signTypedData(orderStruct.maker, order.getTypedData(this.config.network));
86
83
  const relayerRequest = api_1.RelayerRequest.new({
87
84
  order: orderStruct,
88
85
  signature,
@@ -93,7 +90,7 @@ class FusionSDK {
93
90
  order: orderStruct,
94
91
  signature,
95
92
  quoteId,
96
- orderHash: order.getOrderHash(domain)
93
+ orderHash: order.getOrderHash(this.config.network)
97
94
  };
98
95
  }
99
96
  async placeOrder(params) {
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk/sdk.ts"],"names":[],"mappings":";;;AAAA,4DAI+B;AAS/B,yCAA4C;AAC5C,gCAMe;AACf,0CASsB;AAGtB,MAAa,SAAS;IAGlB,YAA6B,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;QACtD,IAAI,CAAC,GAAG,GAAG,eAAS,CAAC,GAAG,CAAC;YACrB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO;SAC1B,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAClB,IAAI,EACJ,KAAK,KACsB,EAAE;QAC7B,MAAM,OAAO,GAAG,4BAAmB,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAA;QAEtD,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QAClC,MAAM,OAAO,GAAG,2BAAkB,CAAC,GAAG,CAAC,EAAC,SAAS,EAAC,CAAC,CAAA;QAEnD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EACnB,KAAK,EACL,IAAI,EACJ,OAAO,EACW;QAClB,MAAM,OAAO,GAAG,6BAAoB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAA;QAEhE,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAmB;QAC9B,MAAM,OAAO,GAAG,mBAAa,CAAC,GAAG,CAAC;YAC9B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,yBAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC9C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,KAAK;YACrB,GAAG,EAAE,MAAM,EAAE,YAAY;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACxB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC1B,MAAmB,EACnB,IAA6B;QAE7B,MAAM,aAAa,GAAG,mBAAa,CAAC,GAAG,CAAC;YACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,yBAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC9C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,KAAK;YACrB,GAAG,EAAE,MAAM,EAAE,YAAY;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACxB,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,+BAAyB,CAAC,GAAG,CAAC;YAC9C,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAmB;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAE/C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;SACrD;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACrB,CAAC,CAAC,IAAI,yBAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,SAAS;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,iBAAiB,EAAE,MAAM,CAAC,GAAG,EAAE,iBAAiB;YAChD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAChD,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAEvC,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,WAAW,CACpB,KAAkB,EAClB,OAAe;QAEf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;SAC9D;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAA,uCAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAEzD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAChE,WAAW,CAAC,KAAK,EACjB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAC7B,CAAA;QAED,MAAM,cAAc,GAAG,oBAAc,CAAC,GAAG,CAAC;YACtC,KAAK,EAAE,WAAW;YAClB,SAAS;YACT,OAAO;SACV,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;QAE1C,OAAO;YACH,KAAK,EAAE,WAAW;YAClB,SAAS;YACT,OAAO;YACP,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;SACxC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAmB;QAChC,MAAM,EAAC,KAAK,EAAE,OAAO,EAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAEvD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,SAAiB;QAC5C,MAAM,eAAe,GAAG,2BAAkB,CAAC,GAAG,CAAC,EAAC,SAAS,EAAC,CAAC,CAAA;QAC3D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;QAEhE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CACX,kDAAkD,SAAS,EAAE,CAChE,CAAA;SACJ;QAED,MAAM,EAAC,KAAK,EAAC,GAAG,SAAS,CAAA;QAEzB,OAAO,IAAA,4BAAiB,EACpB,SAAS,EACT,IAAI,6BAAW,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAC7C,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAmB;QAC5C,MAAM,aAAa,GAAG,mBAAa,CAAC,GAAG,CAAC;YACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,IAAI;YACpB,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,YAAY;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;SACxB,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YACtB,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;SAC1C;QAED,MAAM,iCAAiC,GAAG,+BAAyB,CAAC,GAAG,CACnE;YACI,YAAY,EAAE,MAAM,CAAC,YAAY;SACpC,CACJ,CAAA;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,wBAAwB,CACpC,aAAa,EACb,iCAAiC,CACpC,CAAA;IACL,CAAC;CACJ;AAtLD,8BAsLC"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,22 @@ export type OrderParams = {
29
29
  permit?: string;
30
30
  receiver?: string;
31
31
  preset?: PresetEnum;
32
+ /**
33
+ * Unique for `walletAddress` can be serial or random generated
34
+ *
35
+ * @see randBigInt
36
+ */
32
37
  nonce?: bigint;
33
38
  fee?: TakingFeeInfo;
34
39
  source?: string;
35
40
  customPreset?: CustomPreset;
41
+ /**
42
+ * true by default
43
+ */
36
44
  allowPartialFills?: boolean;
45
+ /**
46
+ * true by default
47
+ */
37
48
  allowMultipleFills?: boolean;
38
49
  };
39
50
  export type TakingFeeInfo = {
@@ -1,2 +1,18 @@
1
+ /**
2
+ * Calculates taker amount by linear proportion
3
+ * Note: use for minReturn only, because other amounts calculated based on auction curve
4
+ *
5
+ * @see AuctionCalculator
6
+ * @return Ceiled taker amount
7
+ * @see https://github.com/1inch/limit-order-protocol/blob/23d655844191dea7960a186652307604a1ed480a/contracts/libraries/AmountCalculatorLib.sol#L6
8
+ */
1
9
  export declare function calcTakingAmount(swapMakerAmount: bigint, orderMakerAmount: bigint, orderTakerAmount: bigint): bigint;
2
- export declare function calMakingAmount(swapTakerAmount: bigint, orderMakerAmount: bigint, orderTakerAmount: bigint): bigint;
10
+ /**
11
+ * Calculates maker amount by linear proportion
12
+ * Note: use for minReturn only, because other amounts calculated based on auction curve
13
+ *
14
+ * @see AuctionCalculator
15
+ * @return Floored maker amount
16
+ * @see https://github.com/1inch/limit-order-protocol/blob/23d655844191dea7960a186652307604a1ed480a/contracts/libraries/AmountCalculatorLib.sol#L6
17
+ */
18
+ export declare function calcMakingAmount(swapTakerAmount: bigint, orderMakerAmount: bigint, orderTakerAmount: bigint): bigint;
@@ -1,13 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calMakingAmount = exports.calcTakingAmount = void 0;
3
+ exports.calcMakingAmount = exports.calcTakingAmount = void 0;
4
+ /**
5
+ * Calculates taker amount by linear proportion
6
+ * Note: use for minReturn only, because other amounts calculated based on auction curve
7
+ *
8
+ * @see AuctionCalculator
9
+ * @return Ceiled taker amount
10
+ * @see https://github.com/1inch/limit-order-protocol/blob/23d655844191dea7960a186652307604a1ed480a/contracts/libraries/AmountCalculatorLib.sol#L6
11
+ */
4
12
  function calcTakingAmount(swapMakerAmount, orderMakerAmount, orderTakerAmount) {
5
13
  return ((swapMakerAmount * orderTakerAmount + orderMakerAmount - 1n) /
6
14
  orderMakerAmount);
7
15
  }
8
16
  exports.calcTakingAmount = calcTakingAmount;
9
- function calMakingAmount(swapTakerAmount, orderMakerAmount, orderTakerAmount) {
17
+ /**
18
+ * Calculates maker amount by linear proportion
19
+ * Note: use for minReturn only, because other amounts calculated based on auction curve
20
+ *
21
+ * @see AuctionCalculator
22
+ * @return Floored maker amount
23
+ * @see https://github.com/1inch/limit-order-protocol/blob/23d655844191dea7960a186652307604a1ed480a/contracts/libraries/AmountCalculatorLib.sol#L6
24
+ */
25
+ function calcMakingAmount(swapTakerAmount, orderMakerAmount, orderTakerAmount) {
10
26
  return (swapTakerAmount * orderMakerAmount) / orderTakerAmount;
11
27
  }
12
- exports.calMakingAmount = calMakingAmount;
28
+ exports.calcMakingAmount = calcMakingAmount;
13
29
  //# sourceMappingURL=amounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../src/utils/amounts.ts"],"names":[],"mappings":";;;AAQA,SAAgB,gBAAgB,CAC5B,eAAuB,EACvB,gBAAwB,EACxB,gBAAwB;IAExB,OAAO,CACH,CAAC,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,EAAE,CAAC;QAC5D,gBAAgB,CACnB,CAAA;AACL,CAAC;AATD,4CASC;AAUD,SAAgB,eAAe,CAC3B,eAAuB,EACvB,gBAAwB,EACxB,gBAAwB;IAExB,OAAO,CAAC,eAAe,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAA;AAClE,CAAC;AAND,0CAMC"}
1
+ {"version":3,"file":"amounts.js","sourceRoot":"","sources":["../../src/utils/amounts.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC5B,eAAuB,EACvB,gBAAwB,EACxB,gBAAwB;IAExB,OAAO,CACH,CAAC,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,EAAE,CAAC;QAC5D,gBAAgB,CACnB,CAAA;AACL,CAAC;AATD,4CASC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC5B,eAAuB,EACvB,gBAAwB,EACxB,gBAAwB;IAExB,OAAO,CAAC,eAAe,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAA;AAClE,CAAC;AAND,4CAMC"}
@@ -0,0 +1 @@
1
+ export declare function now(): bigint;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.now = void 0;
4
+ function now() {
5
+ return BigInt(Math.floor(Date.now() / 1000));
6
+ }
7
+ exports.now = now;
8
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":";;;AAAA,SAAgB,GAAG;IACf,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;AAChD,CAAC;AAFD,kBAEC"}
@@ -1,4 +1,8 @@
1
1
  export declare function isValidAddress(address: string): boolean;
2
2
  export declare function isValidAmount(value: string | bigint): boolean;
3
3
  export declare function isHexString(val: string): boolean;
4
+ /**
5
+ * Check that string is valid hex with 0x prefix and length is even
6
+ * @param val
7
+ */
4
8
  export declare function isHexBytes(val: string): boolean;
@@ -21,6 +21,10 @@ function isHexString(val) {
21
21
  return HEX_REGEX.test(val.toLowerCase());
22
22
  }
23
23
  exports.isHexString = isHexString;
24
+ /**
25
+ * Check that string is valid hex with 0x prefix and length is even
26
+ * @param val
27
+ */
24
28
  function isHexBytes(val) {
25
29
  return isHexString(val) && val.length % 2 === 0;
26
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validations.js","sourceRoot":"","sources":["../src/validations.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,SAAgB,cAAc,CAAC,OAAe;IAC1C,OAAO,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAA;AAC7B,CAAC;AAFD,wCAEC;AAED,SAAgB,aAAa,CAAC,KAAsB;IAChD,IAAI;QACA,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAE5B,OAAO,MAAM,IAAI,EAAE,CAAA;KACtB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,KAAK,CAAA;KACf;AACL,CAAC;AARD,sCAQC;AAED,MAAM,SAAS,GAAG,kBAAkB,CAAA;AACpC,SAAgB,WAAW,CAAC,GAAW;IACnC,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;AAC5C,CAAC;AAFD,kCAEC;AAMD,SAAgB,UAAU,CAAC,GAAW;IAClC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAA;AACnD,CAAC;AAFD,gCAEC"}
1
+ {"version":3,"file":"validations.js","sourceRoot":"","sources":["../src/validations.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,SAAgB,cAAc,CAAC,OAAe;IAC1C,OAAO,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAA;AAC7B,CAAC;AAFD,wCAEC;AAED,SAAgB,aAAa,CAAC,KAAsB;IAChD,IAAI;QACA,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAE5B,OAAO,MAAM,IAAI,EAAE,CAAA;KACtB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,KAAK,CAAA;KACf;AACL,CAAC;AARD,sCAQC;AAED,MAAM,SAAS,GAAG,kBAAkB,CAAA;AACpC,SAAgB,WAAW,CAAC,GAAW;IACnC,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;AAC5C,CAAC;AAFD,kCAEC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,GAAW;IAClC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAA;AACnD,CAAC;AAFD,gCAEC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable max-lines-per-function */
3
4
  const ws_1 = require("ws");
4
5
  const ws_api_1 = require("./ws-api");
5
6
  const url_1 = require("./url");