@super-protocol/sdk-js 1.0.0-beta.2 → 1.0.0-beta.4

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 (109) hide show
  1. package/build/TIIGenerator.d.ts +3 -3
  2. package/build/connectors/BaseConnector.d.ts +8 -7
  3. package/build/connectors/BaseConnector.js +4 -2
  4. package/build/connectors/BlockchainConnector.d.ts +8 -6
  5. package/build/connectors/BlockchainConnector.js +102 -97
  6. package/build/connectors/BlockchainEventsListener.d.ts +2 -2
  7. package/build/connectors/BlockchainEventsListener.js +11 -36
  8. package/build/constants.d.ts +2 -2
  9. package/build/constants.js +3 -3
  10. package/build/contracts/app.json +12758 -0
  11. package/build/crypto/Crypto.d.ts +18 -1
  12. package/build/crypto/Crypto.js +13 -4
  13. package/build/crypto/nodejs/AES.d.ts +1 -1
  14. package/build/crypto/nodejs/AES.js +13 -11
  15. package/build/crypto/nodejs/ARIA.d.ts +1 -1
  16. package/build/crypto/nodejs/ARIA.js +13 -11
  17. package/build/crypto/nodejs/ECIES.js +2 -2
  18. package/build/crypto/nodejs/NativeCrypto.d.ts +5 -1
  19. package/build/crypto/nodejs/NativeCrypto.js +23 -1
  20. package/build/models/EtlModel.d.ts +1 -1
  21. package/build/models/EtlModel.js +4 -2
  22. package/build/models/Offer.d.ts +15 -5
  23. package/build/models/Offer.js +105 -60
  24. package/build/models/Order.d.ts +25 -15
  25. package/build/models/Order.js +173 -92
  26. package/build/models/Provider.d.ts +13 -9
  27. package/build/models/Provider.js +43 -16
  28. package/build/models/TCB.d.ts +8 -6
  29. package/build/models/TCB.js +34 -22
  30. package/build/models/TeeOffer.d.ts +22 -9
  31. package/build/models/TeeOffer.js +168 -96
  32. package/build/providers/storage/StorjStorageProvider.js +3 -3
  33. package/build/staticModels/ActiveOffers.d.ts +12 -3
  34. package/build/staticModels/ActiveOffers.js +29 -11
  35. package/build/staticModels/ActiveOrders.d.ts +6 -4
  36. package/build/staticModels/ActiveOrders.js +21 -19
  37. package/build/staticModels/BaseStaticModel.d.ts +4 -0
  38. package/build/staticModels/BaseStaticModel.js +20 -0
  39. package/build/staticModels/Consensus.d.ts +5 -3
  40. package/build/staticModels/Consensus.js +87 -57
  41. package/build/staticModels/Deposits.d.ts +9 -8
  42. package/build/staticModels/Deposits.js +60 -42
  43. package/build/staticModels/Marks.d.ts +4 -4
  44. package/build/staticModels/Marks.js +12 -8
  45. package/build/staticModels/Offers.d.ts +14 -15
  46. package/build/staticModels/Offers.js +88 -56
  47. package/build/staticModels/Orders.d.ts +36 -32
  48. package/build/staticModels/Orders.js +150 -92
  49. package/build/staticModels/ProviderRegistry.d.ts +12 -6
  50. package/build/staticModels/ProviderRegistry.js +75 -45
  51. package/build/staticModels/Superpro.d.ts +4 -4
  52. package/build/staticModels/Superpro.js +25 -7
  53. package/build/staticModels/SuperproToken.d.ts +7 -7
  54. package/build/staticModels/SuperproToken.js +38 -34
  55. package/build/staticModels/TeeOffers.d.ts +21 -19
  56. package/build/staticModels/TeeOffers.js +126 -81
  57. package/build/store.d.ts +2 -2
  58. package/build/tee/QuoteValidator.d.ts +7 -2
  59. package/build/tee/QuoteValidator.js +166 -67
  60. package/build/types/Consensus.d.ts +57 -6
  61. package/build/types/Consensus.js +38 -2
  62. package/build/types/DepositInfo.d.ts +5 -0
  63. package/build/types/DepositInfo.js +8 -1
  64. package/build/types/HardwareInfo.d.ts +12 -0
  65. package/build/types/HardwareInfo.js +9 -1
  66. package/build/types/Offer.d.ts +25 -1
  67. package/build/types/Offer.js +25 -2
  68. package/build/types/OptionInfo.d.ts +5 -0
  69. package/build/types/OptionInfo.js +8 -1
  70. package/build/types/Order.d.ts +84 -8
  71. package/build/types/Order.js +42 -2
  72. package/build/types/Origins.d.ts +6 -0
  73. package/build/types/Origins.js +9 -1
  74. package/build/types/Provider.d.ts +19 -0
  75. package/build/types/Provider.js +19 -1
  76. package/build/types/SlotInfo.d.ts +5 -0
  77. package/build/types/SlotInfo.js +8 -1
  78. package/build/types/SlotUsage.d.ts +6 -0
  79. package/build/types/SlotUsage.js +9 -2
  80. package/build/types/TeeOfferInfo.d.ts +20 -0
  81. package/build/types/TeeOfferInfo.js +13 -1
  82. package/build/types/TeeOfferOption.d.ts +14 -0
  83. package/build/types/TeeOfferOption.js +10 -1
  84. package/build/types/TeeOfferSlot.d.ts +14 -0
  85. package/build/types/TeeOfferSlot.js +10 -1
  86. package/build/types/ValueOfferSlot.d.ts +19 -0
  87. package/build/types/ValueOfferSlot.js +12 -1
  88. package/build/types/Web3.d.ts +13 -30
  89. package/build/types/blockchainConnector/StorageAccess.d.ts +2 -2
  90. package/build/utils/Monitoring.js +2 -5
  91. package/build/utils/NonceTracker.d.ts +2 -2
  92. package/build/utils/NonceTracker.js +11 -9
  93. package/build/utils/TxManager.d.ts +12 -6
  94. package/build/utils/TxManager.js +23 -16
  95. package/build/{utils/helper.d.ts → utils.d.ts} +17 -12
  96. package/build/utils.js +196 -0
  97. package/package.json +9 -9
  98. package/readme.md +8 -7
  99. package/build/connectors/index.d.ts +0 -2
  100. package/build/connectors/index.js +0 -11
  101. package/build/contracts/abi.d.ts +0 -9769
  102. package/build/contracts/abi.js +0 -6
  103. package/build/models/index.d.ts +0 -5
  104. package/build/models/index.js +0 -17
  105. package/build/staticModels/StaticModel.d.ts +0 -8
  106. package/build/staticModels/StaticModel.js +0 -44
  107. package/build/types/index.d.ts +0 -21
  108. package/build/types/index.js +0 -38
  109. package/build/utils/helper.js +0 -157
@@ -23,12 +23,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  const utils_1 = require("ethers/lib/utils");
25
25
  const logger_1 = __importDefault(require("../logger"));
26
- const helper_1 = require("../utils/helper");
26
+ const utils_2 = require("../utils");
27
+ const Order_1 = require("../types/Order");
27
28
  const Superpro_1 = __importDefault(require("./Superpro"));
28
29
  const TxManager_1 = __importDefault(require("../utils/TxManager"));
29
- const connectors_1 = require("../connectors");
30
- const models_1 = require("../models");
31
- const StaticModel_1 = __importDefault(require("./StaticModel"));
30
+ const BlockchainConnector_1 = __importDefault(require("../connectors/BlockchainConnector"));
31
+ const BlockchainEventsListener_1 = __importDefault(require("../connectors/BlockchainEventsListener"));
32
+ const Order_2 = __importDefault(require("../models/Order"));
32
33
  class Orders {
33
34
  static get address() {
34
35
  return Superpro_1.default.address;
@@ -40,12 +41,12 @@ class Orders {
40
41
  static getAll() {
41
42
  var _a;
42
43
  return __awaiter(this, void 0, void 0, function* () {
43
- const contract = connectors_1.BlockchainConnector.getInstance().getContract();
44
+ const contract = BlockchainConnector_1.default.getInstance().getContract();
44
45
  this.orders = (_a = this.orders) !== null && _a !== void 0 ? _a : [];
45
46
  const ordersSet = new Set(this.orders);
46
- const ordersCount = Number(yield contract.methods.getOrdersCount().call());
47
- for (let orderId = BigInt(ordersSet.size + 1); orderId <= ordersCount; orderId++) {
48
- ordersSet.add(orderId);
47
+ const ordersCount = yield contract.methods.getOrdersCount().call();
48
+ for (let orderId = ordersSet.size + 1; orderId <= ordersCount; orderId++) {
49
+ ordersSet.add(orderId.toString());
49
50
  }
50
51
  this.orders = Array.from(ordersSet);
51
52
  return this.orders;
@@ -56,7 +57,7 @@ class Orders {
56
57
  */
57
58
  static getCount() {
58
59
  return __awaiter(this, void 0, void 0, function* () {
59
- const contract = connectors_1.BlockchainConnector.getInstance().getContract();
60
+ const contract = BlockchainConnector_1.default.getInstance().getContract();
60
61
  return Number(yield contract.methods.getOrdersCount().call());
61
62
  });
62
63
  }
@@ -67,23 +68,35 @@ class Orders {
67
68
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
68
69
  * @returns {Promise<void>} - Does not return id of created order!
69
70
  */
70
- static createOrder(orderInfo, deposit = BigInt('0'), suspended = false, transactionOptions, checkTxBeforeSend = false) {
71
+ static createOrder(orderInfo, deposit = '0', suspended = false, transactionOptions, checkTxBeforeSend = false) {
71
72
  return __awaiter(this, void 0, void 0, function* () {
72
- const contract = connectors_1.BlockchainConnector.getInstance().getContract();
73
- (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
74
- const orderInfoArguments = Object.assign(Object.assign({}, orderInfo), { externalId: (0, utils_1.formatBytes32String)(orderInfo.externalId) });
73
+ const contract = BlockchainConnector_1.default.getInstance().getContract(transactionOptions);
74
+ (0, utils_2.checkIfActionAccountInitialized)(transactionOptions);
75
+ const preparedInfo = Object.assign(Object.assign({}, orderInfo), { externalId: (0, utils_1.formatBytes32String)(orderInfo.externalId) });
76
+ const orderInfoArguments = (0, utils_2.objectToTuple)(preparedInfo, Order_1.OrderInfoStructure);
75
77
  if (checkTxBeforeSend) {
76
- yield TxManager_1.default.dryRun(contract.methods.createOrder(orderInfoArguments, deposit, suspended), transactionOptions);
78
+ yield TxManager_1.default.dryRun(contract.methods.createOrder, [orderInfoArguments, deposit, suspended], transactionOptions);
77
79
  }
78
- yield TxManager_1.default.execute(contract.methods.createOrder(orderInfoArguments, deposit, suspended), transactionOptions);
80
+ yield TxManager_1.default.execute(contract.methods.createOrder, [orderInfoArguments, deposit, suspended], transactionOptions);
79
81
  });
80
82
  }
81
- static getByExternalId(filter, fromBlock, toBlock) {
83
+ static getByExternalId(consumer = '', externalId = '', fromBlock, toBlock) {
82
84
  return __awaiter(this, void 0, void 0, function* () {
83
- const founded = yield StaticModel_1.default.findItemsById('OrderCreated', filter, fromBlock, toBlock);
84
- if (!founded)
85
- return null;
86
- return founded;
85
+ const contract = BlockchainConnector_1.default.getInstance().getContract();
86
+ const filter = {
87
+ consumer,
88
+ externalId: (0, utils_1.formatBytes32String)(externalId),
89
+ };
90
+ const options = { filter };
91
+ if (fromBlock)
92
+ options.fromBlock = fromBlock;
93
+ if (toBlock)
94
+ options.toBlock = toBlock;
95
+ const foundIds = yield contract.getPastEvents('OrderCreated', options);
96
+ const notFound = Object.assign(Object.assign({}, filter), { offerId: '-1', parentOrderId: '-1', orderId: '-1' });
97
+ const response = foundIds.length > 0 ? foundIds[0].returnValues : notFound;
98
+ response.externalId = (0, utils_1.parseBytes32String)(response.externalId);
99
+ return response;
87
100
  });
88
101
  }
89
102
  /**
@@ -96,14 +109,16 @@ class Orders {
96
109
  */
97
110
  static createWorkflow(parentOrderInfo, subOrdersInfo, workflowDeposit = '0', transactionOptions, checkTxBeforeSend = false) {
98
111
  return __awaiter(this, void 0, void 0, function* () {
99
- const contract = connectors_1.BlockchainConnector.getInstance().getContract();
100
- (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
101
- const parentOrderInfoArgs = Object.assign(Object.assign({}, parentOrderInfo), { externalId: (0, utils_1.formatBytes32String)(parentOrderInfo.externalId) });
102
- const subOrdersInfoArgs = subOrdersInfo.map((o) => (Object.assign(Object.assign({}, o), { externalId: (0, utils_1.formatBytes32String)(o.externalId) })));
112
+ const contract = BlockchainConnector_1.default.getInstance().getContract(transactionOptions);
113
+ (0, utils_2.checkIfActionAccountInitialized)(transactionOptions);
114
+ const preparedInfo = Object.assign(Object.assign({}, parentOrderInfo), { externalId: (0, utils_1.formatBytes32String)(parentOrderInfo.externalId) });
115
+ const parentOrderInfoArgs = (0, utils_2.objectToTuple)(preparedInfo, Order_1.OrderInfoStructure);
116
+ const preparedSubOrdersInfo = subOrdersInfo.map((o) => (Object.assign(Object.assign({}, o), { externalId: (0, utils_1.formatBytes32String)(o.externalId) })));
117
+ const subOrdersInfoArgs = (0, utils_2.objectToTuple)(preparedSubOrdersInfo, Order_1.OrderInfoStructureArray);
103
118
  if (checkTxBeforeSend) {
104
- yield TxManager_1.default.dryRun(contract.methods.createWorkflow(parentOrderInfoArgs, workflowDeposit, subOrdersInfoArgs), transactionOptions);
119
+ yield TxManager_1.default.dryRun(contract.methods.createWorkflow, [parentOrderInfoArgs, workflowDeposit, subOrdersInfoArgs], transactionOptions);
105
120
  }
106
- yield TxManager_1.default.execute(contract.methods.createWorkflow(parentOrderInfoArgs, workflowDeposit, subOrdersInfoArgs), transactionOptions);
121
+ yield TxManager_1.default.execute(contract.methods.createWorkflow, [parentOrderInfoArgs, workflowDeposit, subOrdersInfoArgs], transactionOptions);
107
122
  });
108
123
  }
109
124
  /**
@@ -113,9 +128,21 @@ class Orders {
113
128
  */
114
129
  static cancelWorkflow(perentOrderId, transactionOptions) {
115
130
  return __awaiter(this, void 0, void 0, function* () {
116
- const contract = connectors_1.BlockchainConnector.getInstance().getContract();
117
- (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
118
- yield TxManager_1.default.execute(contract.methods.cancelWorkflow(perentOrderId), transactionOptions);
131
+ const contract = BlockchainConnector_1.default.getInstance().getContract(transactionOptions);
132
+ (0, utils_2.checkIfActionAccountInitialized)(transactionOptions);
133
+ yield TxManager_1.default.execute(contract.methods.cancelWorkflow, [perentOrderId], transactionOptions);
134
+ });
135
+ }
136
+ /**
137
+ * Function for withdraw workflow change
138
+ * @param parentOrderId - Parent order id
139
+ * @returns {Promise<void>} - Does not return id of created order!
140
+ */
141
+ static withdrawWorkflowChange(parentOrderId, transactionOptions) {
142
+ return __awaiter(this, void 0, void 0, function* () {
143
+ const contract = BlockchainConnector_1.default.getInstance().getContract(transactionOptions);
144
+ (0, utils_2.checkIfActionAccountInitialized)(transactionOptions);
145
+ yield TxManager_1.default.execute(contract.methods.withdrawWorkflowChange, [parentOrderId], transactionOptions);
119
146
  });
120
147
  }
121
148
  /**
@@ -126,28 +153,28 @@ class Orders {
126
153
  */
127
154
  static refillOrderDeposit(orderId, amount, transactionOptions) {
128
155
  return __awaiter(this, void 0, void 0, function* () {
129
- const contract = connectors_1.BlockchainConnector.getInstance().getContract();
130
- (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
131
- yield TxManager_1.default.execute(contract.methods.refillOrder(orderId, amount), transactionOptions);
156
+ const contract = BlockchainConnector_1.default.getInstance().getContract(transactionOptions);
157
+ (0, utils_2.checkIfActionAccountInitialized)(transactionOptions);
158
+ yield TxManager_1.default.execute(contract.methods.refillOrder, [orderId, amount], transactionOptions);
132
159
  });
133
160
  }
134
161
  static unlockProfitByOrderList(orderIds, transactionOptions) {
135
162
  return __awaiter(this, void 0, void 0, function* () {
136
- const contract = connectors_1.BlockchainConnector.getInstance().getContract();
137
- (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
163
+ const contract = BlockchainConnector_1.default.getInstance().getContract(transactionOptions);
164
+ (0, utils_2.checkIfActionAccountInitialized)(transactionOptions);
138
165
  let executedCount;
139
166
  try {
140
- executedCount = Number((yield TxManager_1.default.dryRun(contract.methods.unlockProfitByList(orderIds), transactionOptions)));
167
+ executedCount = +(yield TxManager_1.default.dryRun(contract.methods.unlockProfitByList, [orderIds], transactionOptions));
141
168
  }
142
169
  catch (e) {
143
170
  executedCount = 0;
144
171
  }
145
172
  if (executedCount === orderIds.length) {
146
- yield TxManager_1.default.execute(contract.methods.unlockProfitByList(orderIds), transactionOptions);
173
+ yield TxManager_1.default.execute(contract.methods.unlockProfitByList, [orderIds], transactionOptions);
147
174
  }
148
175
  else {
149
176
  for (const orderId of orderIds) {
150
- yield new models_1.Order(orderId).unlockProfit();
177
+ yield new Order_2.default(orderId).unlockProfit();
151
178
  }
152
179
  }
153
180
  });
@@ -158,16 +185,20 @@ class Orders {
158
185
  * @returns unsubscribe - unsubscribe function from event
159
186
  */
160
187
  static onCreated(callback) {
161
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
188
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
162
189
  const logger = this.logger.child({ method: 'onOrderCreated' });
163
- const subscription = contract.events.OrderCreated();
164
- subscription.on('data', (event) => {
190
+ const subscription = contract.events
191
+ .OrderCreated()
192
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
193
+ //consumer: string, externalId: string, offerId: string, orderId: string
165
194
  callback(event.returnValues.consumer, (0, utils_1.parseBytes32String)(event.returnValues.externalId), event.returnValues.offerId, event.returnValues.parentOrderId, event.returnValues.orderId, {
166
195
  index: event.blockNumber,
167
196
  hash: event.blockHash,
168
197
  });
169
- });
170
- subscription.on('error', (error) => {
198
+ }))
199
+ .on('error', (error, receipt) => {
200
+ if (receipt)
201
+ return; // Used to avoid logging of transaction rejected
171
202
  logger.warn(error);
172
203
  });
173
204
  return () => subscription.unsubscribe();
@@ -179,10 +210,11 @@ class Orders {
179
210
  * @returns unsubscribe - unsubscribe function from event
180
211
  */
181
212
  static onStarted(callback, orderId) {
182
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
213
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
183
214
  const logger = this.logger.child({ method: 'onOrderStarted' });
184
- const subscription = contract.events.OrderStarted();
185
- subscription.on('data', (event) => {
215
+ const subscription = contract.events
216
+ .OrderStarted()
217
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
186
218
  if (orderId && event.returnValues.orderId != orderId) {
187
219
  return;
188
220
  }
@@ -190,8 +222,10 @@ class Orders {
190
222
  index: event.blockNumber,
191
223
  hash: event.blockHash,
192
224
  });
193
- });
194
- subscription.on('error', (error) => {
225
+ }))
226
+ .on('error', (error, receipt) => {
227
+ if (receipt)
228
+ return; // Used to avoid logging of transaction rejected
195
229
  logger.warn(error);
196
230
  });
197
231
  return () => subscription.unsubscribe();
@@ -203,10 +237,11 @@ class Orders {
203
237
  * @returns unsubscribe - unsubscribe function from event
204
238
  */
205
239
  static onStatusUpdated(callback, orderId) {
206
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
240
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
207
241
  const logger = this.logger.child({ method: 'onOrdersStatusUpdated' });
208
- const subscription = contract.events.OrderStatusUpdated();
209
- subscription.on('data', (event) => {
242
+ const subscription = contract.events
243
+ .OrderStatusUpdated()
244
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
210
245
  if (orderId && event.returnValues.orderId != orderId) {
211
246
  return;
212
247
  }
@@ -214,8 +249,10 @@ class Orders {
214
249
  index: event.blockNumber,
215
250
  hash: event.blockHash,
216
251
  });
217
- });
218
- subscription.on('error', (error) => {
252
+ }))
253
+ .on('error', (error, receipt) => {
254
+ if (receipt)
255
+ return; // Used to avoid logging of transaction rejected
219
256
  logger.warn(error);
220
257
  });
221
258
  return () => subscription.unsubscribe();
@@ -228,10 +265,11 @@ class Orders {
228
265
  * @returns unsubscribe - unsubscribe function from event
229
266
  */
230
267
  static onDepositRefilled(callback, consumer, orderId) {
231
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
268
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
232
269
  const logger = this.logger.child({ method: 'onOrderDepositRefilled' });
233
- const subscription = contract.events.OrderDepositRefilled();
234
- subscription.on('data', (event) => {
270
+ const subscription = contract.events
271
+ .OrderDepositRefilled()
272
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
235
273
  if (orderId && event.returnValues.orderId != orderId) {
236
274
  return;
237
275
  }
@@ -242,8 +280,10 @@ class Orders {
242
280
  index: event.blockNumber,
243
281
  hash: event.blockHash,
244
282
  });
245
- });
246
- subscription.on('error', (error) => {
283
+ }))
284
+ .on('error', (error, receipt) => {
285
+ if (receipt)
286
+ return; // Used to avoid logging of transaction rejected
247
287
  logger.warn(error);
248
288
  });
249
289
  return () => subscription.unsubscribe();
@@ -255,10 +295,11 @@ class Orders {
255
295
  * @returns unsubscribe - unsubscribe function from event
256
296
  */
257
297
  static onChangedWithdrawn(callback, orderId) {
258
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
298
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
259
299
  const logger = this.logger.child({ method: 'onOrderChangedWithdrawn' });
260
- const subscription = contract.events.OrderChangedWithdrawn();
261
- subscription.on('data', (event) => {
300
+ const subscription = contract.events
301
+ .OrderChangedWithdrawn()
302
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
262
303
  if (orderId && event.returnValues.orderId != orderId) {
263
304
  return;
264
305
  }
@@ -266,8 +307,10 @@ class Orders {
266
307
  index: event.blockNumber,
267
308
  hash: event.blockHash,
268
309
  });
269
- });
270
- subscription.on('error', (error) => {
310
+ }))
311
+ .on('error', (error, receipt) => {
312
+ if (receipt)
313
+ return; // Used to avoid logging of transaction rejected
271
314
  logger.warn(error);
272
315
  });
273
316
  return () => subscription.unsubscribe();
@@ -280,10 +323,11 @@ class Orders {
280
323
  * @returns unsubscribe - unsubscribe function from event
281
324
  */
282
325
  static onProfitWithdrawn(callback, orderId, tokenReceiver) {
283
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
326
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
284
327
  const logger = this.logger.child({ method: 'onOrderProfitWithdrawn' });
285
- const subscription = contract.events.OrderProfitWithdrawn();
286
- subscription.on('data', (event) => {
328
+ const subscription = contract.events
329
+ .OrderProfitWithdrawn()
330
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
287
331
  if (orderId && event.returnValues.orderId != orderId) {
288
332
  return;
289
333
  }
@@ -294,8 +338,10 @@ class Orders {
294
338
  index: event.blockNumber,
295
339
  hash: event.blockHash,
296
340
  });
297
- });
298
- subscription.on('error', (error) => {
341
+ }))
342
+ .on('error', (error, receipt) => {
343
+ if (receipt)
344
+ return; // Used to avoid logging of transaction rejected
299
345
  logger.warn(error);
300
346
  });
301
347
  return () => subscription.unsubscribe();
@@ -308,10 +354,11 @@ class Orders {
308
354
  * @returns unsubscribe - unsubscribe function from event
309
355
  */
310
356
  static onAwaitingPaymentChanged(callback, consumer, orderId) {
311
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
357
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
312
358
  const logger = this.logger.child({ method: 'onOrderAwaitingPaymentChanged' });
313
- const subscription = contract.events.OrderAwaitingPaymentChanged();
314
- subscription.on('data', (event) => {
359
+ const subscription = contract.events
360
+ .OrderAwaitingPaymentChanged()
361
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
315
362
  if (orderId && event.returnValues.orderId != orderId) {
316
363
  return;
317
364
  }
@@ -322,8 +369,10 @@ class Orders {
322
369
  index: event.blockNumber,
323
370
  hash: event.blockHash,
324
371
  });
325
- });
326
- subscription.on('error', (error) => {
372
+ }))
373
+ .on('error', (error, receipt) => {
374
+ if (receipt)
375
+ return; // Used to avoid logging of transaction rejected
327
376
  logger.warn(error);
328
377
  });
329
378
  return () => subscription.unsubscribe();
@@ -336,10 +385,11 @@ class Orders {
336
385
  * @returns unsubscribe - unsubscribe function from event
337
386
  */
338
387
  static onEncryptedResultUpdated(callback, consumer, orderId) {
339
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
388
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
340
389
  const logger = this.logger.child({ method: 'onOrderEncryptedResultUpdated' });
341
- const subscription = contract.events.OrderEncryptedResultUpdated();
342
- subscription.on('data', (event) => {
390
+ const subscription = contract.events
391
+ .OrderEncryptedResultUpdated()
392
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
343
393
  if (orderId && event.returnValues.orderId != orderId) {
344
394
  return;
345
395
  }
@@ -350,8 +400,10 @@ class Orders {
350
400
  index: event.blockNumber,
351
401
  hash: event.blockHash,
352
402
  });
353
- });
354
- subscription.on('error', (error) => {
403
+ }))
404
+ .on('error', (error, receipt) => {
405
+ if (receipt)
406
+ return; // Used to avoid logging of transaction rejected
355
407
  logger.warn(error);
356
408
  });
357
409
  return () => subscription.unsubscribe();
@@ -364,10 +416,11 @@ class Orders {
364
416
  * @returns unsubscribe - unsubscribe function from event
365
417
  */
366
418
  static onOptionsDepositSpentChanged(callback, consumer, orderId) {
367
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
419
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
368
420
  const logger = this.logger.child({ method: 'onOrderOptionsDepositSpentChanged' });
369
- const subscription = contract.events.OrderOptionsDepositSpentChanged();
370
- subscription.on('data', (event) => {
421
+ const subscription = contract.events
422
+ .OrderOptionsDepositSpentChanged()
423
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
371
424
  if (orderId && event.returnValues.orderId != orderId) {
372
425
  return;
373
426
  }
@@ -378,8 +431,10 @@ class Orders {
378
431
  index: event.blockNumber,
379
432
  hash: event.blockHash,
380
433
  });
381
- });
382
- subscription.on('error', (error) => {
434
+ }))
435
+ .on('error', (error, receipt) => {
436
+ if (receipt)
437
+ return; // Used to avoid logging of transaction rejected
383
438
  logger.warn(error);
384
439
  });
385
440
  return () => subscription.unsubscribe();
@@ -392,10 +447,11 @@ class Orders {
392
447
  * @returns unsubscribe - unsubscribe function from event
393
448
  */
394
449
  static onOProfitUnlocked(callback, tokenReceiver, orderId) {
395
- const contract = connectors_1.BlockchainEventsListener.getInstance().getContract();
450
+ const contract = BlockchainEventsListener_1.default.getInstance().getContract();
396
451
  const logger = this.logger.child({ method: 'onOrderProfitUnlocked' });
397
- const subscription = contract.events.OrderProfitUnlocked();
398
- subscription.on('data', (event) => {
452
+ const subscription = contract.events
453
+ .OrderProfitUnlocked()
454
+ .on('data', (event) => __awaiter(this, void 0, void 0, function* () {
399
455
  if (orderId && event.returnValues.orderId != orderId) {
400
456
  return;
401
457
  }
@@ -406,8 +462,10 @@ class Orders {
406
462
  index: event.blockNumber,
407
463
  hash: event.blockHash,
408
464
  });
409
- });
410
- subscription.on('error', (error) => {
465
+ }))
466
+ .on('error', (error, receipt) => {
467
+ if (receipt)
468
+ return; // Used to avoid logging of transaction rejected
411
469
  logger.warn(error);
412
470
  });
413
471
  return () => subscription.unsubscribe();
@@ -415,22 +473,22 @@ class Orders {
415
473
  }
416
474
  Orders.logger = logger_1.default.child({ className: 'Orders' });
417
475
  __decorate([
418
- (0, helper_1.incrementMethodCall)(),
476
+ (0, utils_2.incrementMethodCall)(),
419
477
  __metadata("design:type", Function),
420
478
  __metadata("design:paramtypes", [Object, Object, Object, Object, Object]),
421
479
  __metadata("design:returntype", Promise)
422
480
  ], Orders, "createOrder", null);
423
481
  __decorate([
424
- (0, helper_1.incrementMethodCall)(),
482
+ (0, utils_2.incrementMethodCall)(),
425
483
  __metadata("design:type", Function),
426
- __metadata("design:paramtypes", [Object, Object, Object]),
484
+ __metadata("design:paramtypes", [Object, Object, Object, Object]),
427
485
  __metadata("design:returntype", Promise)
428
486
  ], Orders, "getByExternalId", null);
429
487
  __decorate([
430
- (0, helper_1.incrementMethodCall)(),
488
+ (0, utils_2.incrementMethodCall)(),
431
489
  __metadata("design:type", Function),
432
490
  __metadata("design:paramtypes", [Object, Array, Object, Object, Object]),
433
491
  __metadata("design:returntype", Promise)
434
492
  ], Orders, "createWorkflow", null);
435
493
  exports.default = Orders;
436
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PcmRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMkU7QUFDM0UsdURBQW1DO0FBQ25DLDRDQUF1RjtBQUV2RiwwREFBa0M7QUFDbEMsbUVBQTJDO0FBQzNDLDhDQUE4RTtBQUM5RSxzQ0FBa0M7QUFFbEMsZ0VBQXdDO0FBRXhDLE1BQU0sTUFBTTtJQUtELE1BQU0sS0FBSyxPQUFPO1FBQ3JCLE9BQU8sa0JBQVEsQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBTyxNQUFNOzs7WUFDdEIsTUFBTSxRQUFRLEdBQUcsZ0NBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFBLElBQUksQ0FBQyxNQUFNLG1DQUFJLEVBQUUsQ0FBQztZQUNoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFdkMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLEtBQUssSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRTtnQkFDOUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMxQjtZQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVwQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7O0tBQ3RCO0lBRUQ7O09BRUc7SUFD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
494
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PcmRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBMkU7QUFDM0UsdURBQW1DO0FBQ25DLG9DQUErRjtBQUMvRiwwQ0FLd0I7QUFHeEIsMERBQWtDO0FBQ2xDLG1FQUEyQztBQUMzQyw0RkFBb0U7QUFDcEUsc0dBQThFO0FBQzlFLDREQUFvQztBQUVwQyxNQUFNLE1BQU07SUFLRCxNQUFNLEtBQUssT0FBTztRQUNyQixPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQU8sTUFBTTs7O1lBQ3RCLE1BQU0sUUFBUSxHQUFHLDZCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBQSxJQUFJLENBQUMsTUFBTSxtQ0FBSSxFQUFFLENBQUM7WUFDaEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXZDLE1BQU0sV0FBVyxHQUFHLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuRSxLQUFLLElBQUksT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQ3RFLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDckM7WUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFcEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDOztLQUN0QjtJQUVEOztPQUVHO0lBQ0ks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
@@ -1,4 +1,6 @@
1
- import { ProviderInfo, BlockInfo, TransactionOptions } from '../types';
1
+ import { ProviderInfo } from '../types/Provider';
2
+ import { BigNumber } from 'ethers';
3
+ import { BlockInfo, TransactionOptions } from '../types/Web3';
2
4
  declare class ProviderRegistry {
3
5
  private static readonly logger;
4
6
  static providers?: string[];
@@ -6,6 +8,10 @@ declare class ProviderRegistry {
6
8
  * Function for fetching list of all providers addresses
7
9
  */
8
10
  static getAllProviders(): Promise<string[]>;
11
+ /**
12
+ * Fetch provider address by provider authority account
13
+ */
14
+ static get(providerAuthority: string): Promise<string>;
9
15
  /**
10
16
  * Fetch provider security deposit by provider authority account
11
17
  */
@@ -18,7 +24,7 @@ declare class ProviderRegistry {
18
24
  * @param recipient - target provider authority address
19
25
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
20
26
  */
21
- static refillSecurityDepositFor(amount: bigint, recipient: string, transactionOptions?: TransactionOptions): Promise<void>;
27
+ static refillSecurityDepositFor(amount: string, recipient: string, transactionOptions?: TransactionOptions): Promise<void>;
22
28
  /**
23
29
  * Reg new provider
24
30
  * @param providerInfo - data of new provider
@@ -31,7 +37,7 @@ declare class ProviderRegistry {
31
37
  * @param amount - amount of additional tokens
32
38
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
33
39
  */
34
- static refillSecurityDeposit(amount: bigint, transactionOptions?: TransactionOptions): Promise<void>;
40
+ static refillSecurityDeposit(amount: string, transactionOptions?: TransactionOptions): Promise<void>;
35
41
  /**
36
42
  * Return security deposit for provider
37
43
  * Call this function with provider authority account (in transactionOptions)
@@ -72,7 +78,7 @@ declare class ProviderRegistry {
72
78
  }
73
79
  export type onProviderRegisteredCallback = (address: string, block?: BlockInfo) => void;
74
80
  export type onProviderModifiedCallback = (address: string, block?: BlockInfo) => void;
75
- export type onProviderSecurityDepoRefilledCallback = (address: string, amount: bigint, block?: BlockInfo) => void;
76
- export type onProviderSecurityDepoUnlockedCallback = (address: string, amount: bigint, block?: BlockInfo) => void;
77
- export type onProviderViolationRateIncrementedCallback = (address: string, newViolationRate: bigint, block?: BlockInfo) => void;
81
+ export type onProviderSecurityDepoRefilledCallback = (address: string, amount: string, block?: BlockInfo) => void;
82
+ export type onProviderSecurityDepoUnlockedCallback = (address: string, amount: string, block?: BlockInfo) => void;
83
+ export type onProviderViolationRateIncrementedCallback = (address: string, newViolationRate: BigNumber, block?: BlockInfo) => void;
78
84
  export default ProviderRegistry;