@requestnetwork/request-client.js 0.30.1-next.1351 → 0.30.1-next.710

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 (75) hide show
  1. package/README.md +9 -13
  2. package/dist/api/content-data-extension.js +3 -3
  3. package/dist/api/content-data-extension.js.map +1 -1
  4. package/dist/api/request-network.d.ts +50 -15
  5. package/dist/api/request-network.d.ts.map +1 -1
  6. package/dist/api/request-network.js +187 -87
  7. package/dist/api/request-network.js.map +1 -1
  8. package/dist/api/request.d.ts +55 -6
  9. package/dist/api/request.d.ts.map +1 -1
  10. package/dist/api/request.js +171 -149
  11. package/dist/api/request.js.map +1 -1
  12. package/dist/api/utils.d.ts +5 -6
  13. package/dist/api/utils.d.ts.map +1 -1
  14. package/dist/api/utils.js +1 -3
  15. package/dist/api/utils.js.map +1 -1
  16. package/dist/http-config-defaults.d.ts +4 -0
  17. package/dist/http-config-defaults.d.ts.map +1 -0
  18. package/dist/http-config-defaults.js +16 -0
  19. package/dist/http-config-defaults.js.map +1 -0
  20. package/dist/http-data-access.d.ts +40 -9
  21. package/dist/http-data-access.d.ts.map +1 -1
  22. package/dist/http-data-access.js +113 -95
  23. package/dist/http-data-access.js.map +1 -1
  24. package/dist/http-metamask-data-access.d.ts +7 -7
  25. package/dist/http-metamask-data-access.d.ts.map +1 -1
  26. package/dist/http-metamask-data-access.js +57 -61
  27. package/dist/http-metamask-data-access.js.map +1 -1
  28. package/dist/http-request-network.d.ts +15 -15
  29. package/dist/http-request-network.d.ts.map +1 -1
  30. package/dist/http-request-network.js +23 -25
  31. package/dist/http-request-network.js.map +1 -1
  32. package/dist/index.d.ts +3 -2
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +5 -3
  35. package/dist/index.js.map +1 -1
  36. package/dist/mock-storage.d.ts +2 -5
  37. package/dist/mock-storage.d.ts.map +1 -1
  38. package/dist/mock-storage.js +24 -77
  39. package/dist/mock-storage.js.map +1 -1
  40. package/dist/no-persist-http-data-access.d.ts +10 -0
  41. package/dist/no-persist-http-data-access.d.ts.map +1 -0
  42. package/dist/no-persist-http-data-access.js +36 -0
  43. package/dist/no-persist-http-data-access.js.map +1 -0
  44. package/dist/report.html +9 -24
  45. package/dist/requestnetwork.min.js +441 -1
  46. package/dist/requestnetwork.min.js.LICENSE.txt +11 -24
  47. package/dist/requestnetwork.min.js.map +1 -1
  48. package/dist/types.js +2 -11
  49. package/dist/types.js.map +1 -1
  50. package/package.json +32 -43
  51. package/CHANGELOG.md +0 -2077
  52. package/dist/api/currency/erc20/celo.d.ts +0 -14
  53. package/dist/api/currency/erc20/celo.d.ts.map +0 -1
  54. package/dist/api/currency/erc20/celo.js +0 -26
  55. package/dist/api/currency/erc20/celo.js.map +0 -1
  56. package/dist/api/currency/erc20/networks.d.ts +0 -25
  57. package/dist/api/currency/erc20/networks.d.ts.map +0 -1
  58. package/dist/api/currency/erc20/networks.js +0 -14
  59. package/dist/api/currency/erc20/networks.js.map +0 -1
  60. package/dist/api/currency/erc20/rinkeby.d.ts +0 -19
  61. package/dist/api/currency/erc20/rinkeby.d.ts.map +0 -1
  62. package/dist/api/currency/erc20/rinkeby.js +0 -43
  63. package/dist/api/currency/erc20/rinkeby.js.map +0 -1
  64. package/dist/api/currency/erc20.d.ts +0 -62
  65. package/dist/api/currency/erc20.d.ts.map +0 -1
  66. package/dist/api/currency/erc20.js +0 -136
  67. package/dist/api/currency/erc20.js.map +0 -1
  68. package/dist/api/currency.d.ts +0 -45
  69. package/dist/api/currency.d.ts.map +0 -1
  70. package/dist/api/currency.js +0 -162
  71. package/dist/api/currency.js.map +0 -1
  72. package/dist/mock-data-access.d.ts +0 -11
  73. package/dist/mock-data-access.d.ts.map +0 -1
  74. package/dist/mock-data-access.js +0 -16
  75. package/dist/mock-data-access.js.map +0 -1
@@ -1,25 +1,17 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
12
4
  const advanced_logic_1 = require("@requestnetwork/advanced-logic");
13
5
  const payment_detection_1 = require("@requestnetwork/payment-detection");
14
6
  const request_logic_1 = require("@requestnetwork/request-logic");
15
7
  const transaction_manager_1 = require("@requestnetwork/transaction-manager");
16
8
  const types_1 = require("@requestnetwork/types");
17
9
  const utils_1 = require("@requestnetwork/utils");
10
+ const currency_1 = require("@requestnetwork/currency");
18
11
  const content_data_extension_1 = require("./content-data-extension");
19
- const currency_1 = require("./currency");
20
- const erc20_1 = require("./currency/erc20");
21
12
  const request_1 = require("./request");
22
13
  const utils_2 = require("./utils");
14
+ const no_persist_http_data_access_1 = require("../no-persist-http-data-access");
23
15
  /**
24
16
  * Entry point of the request-client.js library. Create requests, get requests, manipulate requests.
25
17
  */
@@ -28,15 +20,17 @@ class RequestNetwork {
28
20
  * @param dataAccess instance of data-access layer
29
21
  * @param signatureProvider module in charge of the signatures
30
22
  * @param decryptionProvider module in charge of the decryption
31
- * @param bitcoinDetectionProvider bitcoin detection provider
23
+ * @param paymentOptions options for payment detection
32
24
  */
33
- constructor(dataAccess, signatureProvider, decryptionProvider, bitcoinDetectionProvider) {
34
- this.supportedIdentities = utils_1.default.identity.supportedIdentities;
35
- this.advancedLogic = new advanced_logic_1.AdvancedLogic();
25
+ constructor({ dataAccess, signatureProvider, decryptionProvider, currencyManager, paymentOptions, }) {
26
+ this.supportedIdentities = utils_1.supportedIdentities;
27
+ this.currencyManager = currencyManager || currency_1.CurrencyManager.getDefault();
28
+ this.dataAccess = dataAccess;
29
+ this.advancedLogic = new advanced_logic_1.AdvancedLogic(this.currencyManager);
36
30
  this.transaction = new transaction_manager_1.TransactionManager(dataAccess, decryptionProvider);
37
31
  this.requestLogic = new request_logic_1.RequestLogic(this.transaction, signatureProvider, this.advancedLogic);
38
32
  this.contentData = new content_data_extension_1.default(this.advancedLogic);
39
- this.bitcoinDetectionProvider = bitcoinDetectionProvider;
33
+ this.paymentNetworkFactory = new payment_detection_1.PaymentNetworkFactory(this.advancedLogic, this.currencyManager, paymentOptions);
40
34
  }
41
35
  /**
42
36
  * Creates a request.
@@ -44,22 +38,59 @@ class RequestNetwork {
44
38
  * @param requestParameters Parameters to create a request
45
39
  * @returns The created request
46
40
  */
47
- createRequest(parameters) {
48
- return __awaiter(this, void 0, void 0, function* () {
41
+ createRequest(parameters, options) {
42
+ var _a, _b;
43
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
44
  const { requestParameters, topics, paymentNetwork } = yield this.prepareRequestParameters(parameters);
50
45
  const requestLogicCreateResult = yield this.requestLogic.createRequest(requestParameters, parameters.signer, topics);
46
+ const transactionData = (_a = requestLogicCreateResult.meta) === null || _a === void 0 ? void 0 : _a.transactionManagerMeta.transactionData;
47
+ const requestId = requestLogicCreateResult.result.requestId;
48
+ const isSkippingPersistence = this.dataAccess instanceof no_persist_http_data_access_1.NoPersistHttpDataAccess;
51
49
  // create the request object
52
- const request = new request_1.default(requestLogicCreateResult.result.requestId, this.requestLogic, {
50
+ const request = new request_1.default(requestId, this.requestLogic, this.currencyManager, {
53
51
  contentDataExtension: this.contentData,
54
52
  paymentNetwork,
55
53
  requestLogicCreateResult,
56
54
  skipPaymentDetection: parameters.disablePaymentDetection,
55
+ disableEvents: parameters.disableEvents,
56
+ // inMemoryInfo is only used when skipPersistence is enabled
57
+ inMemoryInfo: isSkippingPersistence
58
+ ? {
59
+ topics: (_b = requestLogicCreateResult.meta.transactionManagerMeta) === null || _b === void 0 ? void 0 : _b.topics,
60
+ transactionData: transactionData,
61
+ requestData: this.prepareRequestDataForPayment(transactionData, requestId),
62
+ }
63
+ : null,
57
64
  });
58
- // refresh the local request data
59
- yield request.refresh();
65
+ if (!(options === null || options === void 0 ? void 0 : options.skipRefresh) && !isSkippingPersistence) {
66
+ // refresh the local request data
67
+ yield request.refresh();
68
+ }
60
69
  return request;
61
70
  });
62
71
  }
72
+ /**
73
+ * Persists an in-memory request to the data-access layer.
74
+ *
75
+ * This method is used to persist requests that were initially created with skipPersistence enabled.
76
+ *
77
+ * @param request The Request object to persist. This must be a request that was created with skipPersistence enabled.
78
+ * @returns A promise that resolves to the result of the persist transaction operation.
79
+ * @throws {Error} If the request's `inMemoryInfo` is not provided, indicating it wasn't created with skipPersistence.
80
+ * @throws {Error} If the current data access instance does not support persistence (e.g., NoPersistHttpDataAccess).
81
+ */
82
+ persistRequest(request) {
83
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
84
+ if (!request.inMemoryInfo) {
85
+ throw new Error('Cannot persist request without inMemoryInfo.');
86
+ }
87
+ if (this.dataAccess instanceof no_persist_http_data_access_1.NoPersistHttpDataAccess) {
88
+ throw new Error('Cannot persist request when skipPersistence is enabled. To persist the request, create a new instance of RequestNetwork without skipPersistence being set to true.');
89
+ }
90
+ const result = yield this.dataAccess.persistTransaction(request.inMemoryInfo.transactionData, request.requestId, request.inMemoryInfo.topics);
91
+ return result;
92
+ });
93
+ }
63
94
  /**
64
95
  * Creates an encrypted request.
65
96
  *
@@ -67,19 +98,33 @@ class RequestNetwork {
67
98
  * @param encryptionParams Request encryption parameters
68
99
  * @returns The created encrypted request
69
100
  */
70
- _createEncryptedRequest(parameters, encryptionParams) {
71
- return __awaiter(this, void 0, void 0, function* () {
101
+ _createEncryptedRequest(parameters, encryptionParams, options) {
102
+ var _a, _b;
103
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
72
104
  const { requestParameters, topics, paymentNetwork } = yield this.prepareRequestParameters(parameters);
73
105
  const requestLogicCreateResult = yield this.requestLogic.createEncryptedRequest(requestParameters, parameters.signer, encryptionParams, topics);
106
+ const transactionData = (_a = requestLogicCreateResult.meta) === null || _a === void 0 ? void 0 : _a.transactionManagerMeta.transactionData;
107
+ const requestId = requestLogicCreateResult.result.requestId;
108
+ const isSkippingPersistence = this.dataAccess instanceof no_persist_http_data_access_1.NoPersistHttpDataAccess;
74
109
  // create the request object
75
- const request = new request_1.default(requestLogicCreateResult.result.requestId, this.requestLogic, {
110
+ const request = new request_1.default(requestId, this.requestLogic, this.currencyManager, {
76
111
  contentDataExtension: this.contentData,
77
112
  paymentNetwork,
78
113
  requestLogicCreateResult,
79
114
  skipPaymentDetection: parameters.disablePaymentDetection,
115
+ disableEvents: parameters.disableEvents,
116
+ inMemoryInfo: isSkippingPersistence
117
+ ? {
118
+ topics: (_b = requestLogicCreateResult.meta.transactionManagerMeta) === null || _b === void 0 ? void 0 : _b.topics,
119
+ transactionData: transactionData,
120
+ requestData: this.prepareRequestDataForPayment(transactionData, requestId),
121
+ }
122
+ : null,
80
123
  });
81
- // refresh the local request data
82
- yield request.refresh();
124
+ if (!(options === null || options === void 0 ? void 0 : options.skipRefresh) && !isSkippingPersistence) {
125
+ // refresh the local request data
126
+ yield request.refresh();
127
+ }
83
128
  return request;
84
129
  });
85
130
  }
@@ -90,7 +135,7 @@ class RequestNetwork {
90
135
  * @returns The requestId
91
136
  */
92
137
  computeRequestId(parameters) {
93
- return __awaiter(this, void 0, void 0, function* () {
138
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
94
139
  const { requestParameters } = yield this.prepareRequestParameters(parameters);
95
140
  return this.requestLogic.computeRequestId(requestParameters, parameters.signer);
96
141
  });
@@ -103,7 +148,7 @@ class RequestNetwork {
103
148
  * @returns the Request
104
149
  */
105
150
  fromRequestId(requestId, options) {
106
- return __awaiter(this, void 0, void 0, function* () {
151
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
107
152
  const requestAndMeta = yield this.requestLogic.getRequestFromId(requestId);
108
153
  // if no request found, throw a human readable message:
109
154
  if (!requestAndMeta.result.request && !requestAndMeta.result.pending) {
@@ -113,16 +158,13 @@ class RequestNetwork {
113
158
  const requestState = requestAndMeta.result.request
114
159
  ? requestAndMeta.result.request
115
160
  : requestAndMeta.result.pending;
116
- const paymentNetwork = payment_detection_1.PaymentNetworkFactory.getPaymentNetworkFromRequest({
117
- advancedLogic: this.advancedLogic,
118
- bitcoinDetectionProvider: this.bitcoinDetectionProvider,
119
- request: requestState,
120
- });
161
+ const paymentNetwork = this.paymentNetworkFactory.getPaymentNetworkFromRequest(requestState);
121
162
  // create the request object
122
- const request = new request_1.default(requestId, this.requestLogic, {
163
+ const request = new request_1.default(requestId, this.requestLogic, this.currencyManager, {
123
164
  contentDataExtension: this.contentData,
124
165
  paymentNetwork,
125
166
  skipPaymentDetection: options === null || options === void 0 ? void 0 : options.disablePaymentDetection,
167
+ disableEvents: options === null || options === void 0 ? void 0 : options.disableEvents,
126
168
  });
127
169
  // refresh the local request data
128
170
  yield request.refresh(requestAndMeta);
@@ -132,13 +174,12 @@ class RequestNetwork {
132
174
  /**
133
175
  * Create an array of request instances from an identity
134
176
  *
135
- * @param identity
136
177
  * @param updatedBetween filter the requests with time boundaries
137
178
  * @param options options
138
179
  * @returns the Requests
139
180
  */
140
181
  fromIdentity(identity, updatedBetween, options) {
141
- return __awaiter(this, void 0, void 0, function* () {
182
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
142
183
  if (!this.supportedIdentities.includes(identity.type)) {
143
184
  throw new Error(`${identity.type} is not supported`);
144
185
  }
@@ -148,13 +189,12 @@ class RequestNetwork {
148
189
  /**
149
190
  * Create an array of request instances from multiple identities
150
191
  *
151
- * @param identities
152
192
  * @param updatedBetween filter the requests with time boundaries
153
193
  * @param disablePaymentDetection if true, skip the payment detection
154
194
  * @returns the requests
155
195
  */
156
196
  fromMultipleIdentities(identities, updatedBetween, options) {
157
- return __awaiter(this, void 0, void 0, function* () {
197
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
158
198
  const identityNotSupported = identities.find((identity) => !this.supportedIdentities.includes(identity.type));
159
199
  if (identityNotSupported) {
160
200
  throw new Error(`${identityNotSupported.type} is not supported`);
@@ -165,31 +205,27 @@ class RequestNetwork {
165
205
  /**
166
206
  * Create an array of request instances from a topic
167
207
  *
168
- * @param topic
169
208
  * @param updatedBetween filter the requests with time boundaries
170
209
  * @param options options
171
210
  * @returns the Requests
172
211
  */
173
212
  fromTopic(topic, updatedBetween, options) {
174
- return __awaiter(this, void 0, void 0, function* () {
213
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
175
214
  // Gets all the requests indexed by the value of the identity
176
215
  const requestsAndMeta = yield this.requestLogic.getRequestsByTopic(topic, updatedBetween);
177
216
  // From the requests of the request-logic layer creates the request objects and gets the payment networks
178
- const requestPromises = requestsAndMeta.result.requests.map((requestFromLogic) => __awaiter(this, void 0, void 0, function* () {
217
+ const requestPromises = requestsAndMeta.result.requests.map((requestFromLogic) => tslib_1.__awaiter(this, void 0, void 0, function* () {
179
218
  // get the request state. If the creation is not confirmed yet, get the pending state (useful for the payment network)
180
219
  const requestState = requestFromLogic.request
181
220
  ? requestFromLogic.request
182
221
  : requestFromLogic.pending;
183
- const paymentNetwork = payment_detection_1.PaymentNetworkFactory.getPaymentNetworkFromRequest({
184
- advancedLogic: this.advancedLogic,
185
- bitcoinDetectionProvider: this.bitcoinDetectionProvider,
186
- request: requestState,
187
- });
222
+ const paymentNetwork = this.paymentNetworkFactory.getPaymentNetworkFromRequest(requestState);
188
223
  // create the request object
189
- const request = new request_1.default(requestState.requestId, this.requestLogic, {
224
+ const request = new request_1.default(requestState.requestId, this.requestLogic, this.currencyManager, {
190
225
  contentDataExtension: this.contentData,
191
226
  paymentNetwork,
192
227
  skipPaymentDetection: options === null || options === void 0 ? void 0 : options.disablePaymentDetection,
228
+ disableEvents: options === null || options === void 0 ? void 0 : options.disableEvents,
193
229
  });
194
230
  // refresh the local request data
195
231
  yield request.refresh();
@@ -201,31 +237,27 @@ class RequestNetwork {
201
237
  /**
202
238
  * Create an array of request instances from a multiple topics
203
239
  *
204
- * @param topics
205
240
  * @param updatedBetween filter the requests with time boundaries
206
241
  * @param options options
207
242
  * @returns the Requests
208
243
  */
209
244
  fromMultipleTopics(topics, updatedBetween, options) {
210
- return __awaiter(this, void 0, void 0, function* () {
245
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
211
246
  // Gets all the requests indexed by the value of the identity
212
247
  const requestsAndMeta = yield this.requestLogic.getRequestsByMultipleTopics(topics, updatedBetween);
213
248
  // From the requests of the request-logic layer creates the request objects and gets the payment networks
214
- const requestPromises = requestsAndMeta.result.requests.map((requestFromLogic) => __awaiter(this, void 0, void 0, function* () {
249
+ const requestPromises = requestsAndMeta.result.requests.map((requestFromLogic) => tslib_1.__awaiter(this, void 0, void 0, function* () {
215
250
  // get the request state. If the creation is not confirmed yet, get the pending state (useful for the payment network)
216
251
  const requestState = requestFromLogic.request
217
252
  ? requestFromLogic.request
218
253
  : requestFromLogic.pending;
219
- const paymentNetwork = payment_detection_1.PaymentNetworkFactory.getPaymentNetworkFromRequest({
220
- advancedLogic: this.advancedLogic,
221
- bitcoinDetectionProvider: this.bitcoinDetectionProvider,
222
- request: requestState,
223
- });
254
+ const paymentNetwork = this.paymentNetworkFactory.getPaymentNetworkFromRequest(requestState);
224
255
  // create the request object
225
- const request = new request_1.default(requestState.requestId, this.requestLogic, {
256
+ const request = new request_1.default(requestState.requestId, this.requestLogic, this.currencyManager, {
226
257
  contentDataExtension: this.contentData,
227
258
  paymentNetwork,
228
259
  skipPaymentDetection: options === null || options === void 0 ? void 0 : options.disablePaymentDetection,
260
+ disableEvents: options === null || options === void 0 ? void 0 : options.disableEvents,
229
261
  });
230
262
  // refresh the local request data
231
263
  yield request.refresh();
@@ -234,48 +266,47 @@ class RequestNetwork {
234
266
  return Promise.all(requestPromises);
235
267
  });
236
268
  }
269
+ /*
270
+ * If request currency is a string, convert it to currency object
271
+ */
272
+ getCurrency(input) {
273
+ if (typeof input === 'string') {
274
+ const currency = this.currencyManager.from(input);
275
+ if (!currency) {
276
+ throw new currency_1.UnsupportedCurrencyError(input);
277
+ }
278
+ return currency_1.CurrencyManager.toStorageCurrency(currency);
279
+ }
280
+ return input;
281
+ }
237
282
  /**
238
283
  * A helper to validate and prepare the parameters of a request.
239
284
  * @param parameters Parameters to create a request
240
285
  * @returns the parameters, ready for request creation, the topics, and the paymentNetwork
241
286
  */
242
287
  prepareRequestParameters(parameters) {
243
- var _a;
244
- return __awaiter(this, void 0, void 0, function* () {
245
- const requestParameters = parameters.requestInfo;
246
- const paymentNetworkCreationParameters = parameters.paymentNetwork;
288
+ var _a, _b, _c, _d;
289
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
290
+ const currency = this.getCurrency(parameters.requestInfo.currency);
291
+ const requestParameters = Object.assign(Object.assign({}, parameters.requestInfo), { currency });
247
292
  const contentData = parameters.contentData;
248
293
  const topics = ((_a = parameters.topics) === null || _a === void 0 ? void 0 : _a.slice()) || [];
249
- if (requestParameters.extensionsData) {
250
- throw new Error('extensionsData in request parameters must be empty');
251
- }
252
- // if request currency is a string, convert it to currency object
253
- if (typeof requestParameters.currency === 'string') {
254
- requestParameters.currency = currency_1.stringToCurrency(requestParameters.currency);
255
- }
256
- else {
257
- // If ERC20, validate that the value is a checksum address
258
- if (requestParameters.currency.type === types_1.RequestLogicTypes.CURRENCY.ERC20) {
259
- if (!erc20_1.validERC20Address(requestParameters.currency.value)) {
260
- throw new Error('The ERC20 currency address needs to be a valid Ethereum checksum address');
261
- }
262
- }
294
+ // Check that currency is valid
295
+ if (!this.currencyManager.validateCurrency(currency)) {
296
+ throw new Error('The currency is not valid');
263
297
  }
264
298
  // avoid mutation of the parameters
265
- const copiedRequestParameters = utils_1.default.deepCopy(requestParameters);
299
+ const copiedRequestParameters = (0, utils_1.deepCopy)(requestParameters);
266
300
  copiedRequestParameters.extensionsData = [];
267
- let paymentNetwork = null;
268
- if (paymentNetworkCreationParameters) {
269
- paymentNetwork = payment_detection_1.PaymentNetworkFactory.createPaymentNetwork({
270
- advancedLogic: this.advancedLogic,
271
- bitcoinDetectionProvider: this.bitcoinDetectionProvider,
272
- currency: requestParameters.currency,
273
- paymentNetworkCreationParameters,
274
- });
275
- if (paymentNetwork) {
276
- // create the extensions data for the payment network
277
- copiedRequestParameters.extensionsData.push(yield paymentNetwork.createExtensionsDataForCreation(paymentNetworkCreationParameters.parameters));
278
- }
301
+ const detectionChain = ((_b = parameters === null || parameters === void 0 ? void 0 : parameters.paymentNetwork) === null || _b === void 0 ? void 0 : _b.parameters) && 'network' in parameters.paymentNetwork.parameters
302
+ ? (_c = parameters.paymentNetwork.parameters.network) !== null && _c !== void 0 ? _c : requestParameters.currency.network
303
+ : requestParameters.currency.network;
304
+ const paymentNetwork = parameters.paymentNetwork
305
+ ? this.paymentNetworkFactory.createPaymentNetwork(parameters.paymentNetwork.id, requestParameters.currency.type, detectionChain)
306
+ : null;
307
+ if (paymentNetwork) {
308
+ // create the extensions data for the payment network
309
+ copiedRequestParameters.extensionsData.push(yield paymentNetwork.createExtensionsDataForCreation(((_d = parameters.paymentNetwork) === null || _d === void 0 ? void 0 : _d.parameters) || {}));
279
310
  }
280
311
  if (contentData) {
281
312
  // create the extensions data for the content data
@@ -288,9 +319,78 @@ class RequestNetwork {
288
319
  if (copiedRequestParameters.payer) {
289
320
  topics.push(copiedRequestParameters.payer);
290
321
  }
322
+ if (requestParameters.extensionsData) {
323
+ copiedRequestParameters.extensionsData.push(...requestParameters.extensionsData);
324
+ }
291
325
  return { requestParameters: copiedRequestParameters, topics, paymentNetwork };
292
326
  });
293
327
  }
328
+ /**
329
+ * Prepares a payment request structure from transaction data.
330
+ *
331
+ * This method is used to create a request structure similar to a persisted request,
332
+ * allowing users to pay before the request is persisted. This is useful in scenarios
333
+ * where a request is created, paid, and then persisted, as opposed to the normal flow
334
+ * of creating, persisting, and then paying the request.
335
+ *
336
+ * @param transactionData The transaction data containing the request information
337
+ * @param requestId The ID of the request
338
+ * @returns The prepared payment request structure or undefined if transaction data is missing
339
+ */
340
+ prepareRequestDataForPayment(transactionData, requestId) {
341
+ var _a;
342
+ const requestData = JSON.parse(transactionData.data).data;
343
+ const originalExtensionsData = requestData.parameters.extensionsData;
344
+ const newExtensions = {};
345
+ for (const extension of originalExtensionsData) {
346
+ if (extension.id !== types_1.ExtensionTypes.OTHER_ID.CONTENT_DATA) {
347
+ newExtensions[extension.id] = {
348
+ events: [
349
+ {
350
+ name: extension.action,
351
+ parameters: {
352
+ paymentAddress: extension.parameters.paymentAddress,
353
+ salt: extension.parameters.salt,
354
+ },
355
+ timestamp: requestData.parameters.timestamp,
356
+ },
357
+ ],
358
+ id: extension.id,
359
+ type: types_1.ExtensionTypes.TYPE.PAYMENT_NETWORK,
360
+ values: {
361
+ salt: extension.parameters.salt,
362
+ receivedPaymentAmount: '0',
363
+ receivedRefundAmount: '0',
364
+ sentPaymentAmount: '0',
365
+ sentRefundAmount: '0',
366
+ paymentAddress: extension.parameters.paymentAddress,
367
+ },
368
+ version: extension.version,
369
+ };
370
+ }
371
+ }
372
+ return {
373
+ requestId: requestId,
374
+ currency: requestData.parameters.currency.type,
375
+ meta: null,
376
+ balance: null,
377
+ expectedAmount: requestData.parameters.expectedAmount,
378
+ contentData: (_a = requestData.parameters.extensionsData.find((ext) => ext.id === types_1.ExtensionTypes.OTHER_ID.CONTENT_DATA)) === null || _a === void 0 ? void 0 : _a.parameters.content,
379
+ currencyInfo: {
380
+ type: requestData.parameters.currency.type,
381
+ network: requestData.parameters.currency.network,
382
+ value: requestData.parameters.currency.value || '',
383
+ },
384
+ pending: null,
385
+ extensions: newExtensions,
386
+ extensionsData: requestData.parameters.extensionsData,
387
+ timestamp: requestData.parameters.timestamp,
388
+ version: requestData.parameters.version,
389
+ creator: requestData.parameters.creator,
390
+ state: requestData.parameters.state,
391
+ events: requestData.parameters.events,
392
+ };
393
+ }
294
394
  }
295
395
  exports.default = RequestNetwork;
296
396
  //# sourceMappingURL=request-network.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-network.js","sourceRoot":"","sources":["../../src/api/request-network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-network.js","sourceRoot":"","sources":["../../src/api/request-network.ts"],"names":[],"mappings":";;;AAAA,mEAA+D;AAC/D,yEAAiG;AACjG,iEAA6D;AAC7D,6EAAyE;AACzE,iDAa+B;AAC/B,iDAAsE;AACtE,uDAAqF;AAErF,qEAA4D;AAC5D,uCAAgC;AAChC,mCAAiC;AACjC,gFAAyE;AAEzE;;GAEG;AACH,MAAqB,cAAc;IAYjC;;;;;OAKG;IACH,YAAmB,EACjB,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,GAOf;QA5BM,wBAAmB,GAAyB,2BAAmB,CAAC;QA6BrE,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,0BAAe,CAAC,UAAU,EAAE,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,wCAAkB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,GAAG,IAAI,gCAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,qBAAqB,GAAG,IAAI,yCAAqB,CACpD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,eAAe,EACpB,cAAc,CACf,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACU,aAAa,CACxB,UAA0C,EAC1C,OAAqC;;;YAErC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,GACjD,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CACpE,iBAAiB,EACjB,UAAU,CAAC,MAAM,EACjB,MAAM,CACP,CAAC;YAEF,MAAM,eAAe,GAAG,MAAA,wBAAwB,CAAC,IAAI,0CAAE,sBAAsB,CAAC,eAAe,CAAC;YAC9F,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC;YAC5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,UAAU,YAAY,qDAAuB,CAAC;YACjF,4BAA4B;YAC5B,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;gBAC9E,oBAAoB,EAAE,IAAI,CAAC,WAAW;gBACtC,cAAc;gBACd,wBAAwB;gBACxB,oBAAoB,EAAE,UAAU,CAAC,uBAAuB;gBACxD,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,4DAA4D;gBAC5D,YAAY,EAAE,qBAAqB;oBACjC,CAAC,CAAC;wBACE,MAAM,EAAE,MAAA,wBAAwB,CAAC,IAAI,CAAC,sBAAsB,0CAAE,MAAM;wBACpE,eAAe,EAAE,eAAe;wBAChC,WAAW,EAAE,IAAI,CAAC,4BAA4B,CAAC,eAAe,EAAE,SAAS,CAAC;qBAC3E;oBACH,CAAC,CAAC,IAAI;aACT,CAAC,CAAC;YAEH,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAA,IAAI,CAAC,qBAAqB,EAAE;gBACnD,iCAAiC;gBACjC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;aACzB;YAED,OAAO,OAAO,CAAC;;KAChB;IAED;;;;;;;;;OASG;IACU,cAAc,CACzB,OAAgB;;YAEhB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACjE;YAED,IAAI,IAAI,CAAC,UAAU,YAAY,qDAAuB,EAAE;gBACtD,MAAM,IAAI,KAAK,CACb,oKAAoK,CACrK,CAAC;aACH;YACD,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACtC,OAAO,CAAC,YAAY,CAAC,eAAe,EACpC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC;YAEJ,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;;;;;OAMG;IACU,uBAAuB,CAClC,UAA0C,EAC1C,gBAAyD,EACzD,OAAqC;;;YAErC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,GACjD,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAC7E,iBAAiB,EACjB,UAAU,CAAC,MAAM,EACjB,gBAAgB,EAChB,MAAM,CACP,CAAC;YAEF,MAAM,eAAe,GAAG,MAAA,wBAAwB,CAAC,IAAI,0CAAE,sBAAsB,CAAC,eAAe,CAAC;YAC9F,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC;YAC5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,UAAU,YAAY,qDAAuB,CAAC;YAEjF,4BAA4B;YAC5B,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;gBAC9E,oBAAoB,EAAE,IAAI,CAAC,WAAW;gBACtC,cAAc;gBACd,wBAAwB;gBACxB,oBAAoB,EAAE,UAAU,CAAC,uBAAuB;gBACxD,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,YAAY,EAAE,qBAAqB;oBACjC,CAAC,CAAC;wBACE,MAAM,EAAE,MAAA,wBAAwB,CAAC,IAAI,CAAC,sBAAsB,0CAAE,MAAM;wBACpE,eAAe,EAAE,eAAe;wBAChC,WAAW,EAAE,IAAI,CAAC,4BAA4B,CAAC,eAAe,EAAE,SAAS,CAAC;qBAC3E;oBACH,CAAC,CAAC,IAAI;aACT,CAAC,CAAC;YAEH,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAA,IAAI,CAAC,qBAAqB,EAAE;gBACnD,iCAAiC;gBACjC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;aACzB;YAED,OAAO,OAAO,CAAC;;KAChB;IAED;;;;;OAKG;IACU,gBAAgB,CAC3B,UAA0C;;YAE1C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAClF,CAAC;KAAA;IAED;;;;;;OAMG;IACU,aAAa,CACxB,SAAsC,EACtC,OAGC;;YAED,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAEtD,uDAAuD;YACvD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE;gBACpE,MAAM,IAAI,KAAK,CAAC,eAAU,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,CAAC;aACzE;YAED,sHAAsH;YACtH,MAAM,YAAY,GAA+B,cAAc,CAAC,MAAM,CAAC,OAAO;gBAC5E,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO;gBAC/B,CAAC,CAAE,cAAc,CAAC,MAAM,CAAC,OAAsC,CAAC;YAClE,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;YAE7F,4BAA4B;YAC5B,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;gBAC9E,oBAAoB,EAAE,IAAI,CAAC,WAAW;gBACtC,cAAc;gBACd,oBAAoB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,uBAAuB;gBACtD,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;aACtC,CAAC,CAAC;YAEH,iCAAiC;YACjC,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAEtC,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED;;;;;;OAMG;IACU,YAAY,CACvB,QAAiC,EACjC,cAA2C,EAC3C,OAAwE;;YAExE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACrD,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;aACtD;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;KAAA;IAED;;;;;;OAMG;IACU,sBAAsB,CACjC,UAAqC,EACrC,cAA2C,EAC3C,OAAwE;;YAExE,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAChE,CAAC;YAEF,IAAI,oBAAoB,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,GAAG,oBAAoB,CAAC,IAAI,mBAAmB,CAAC,CAAC;aAClE;YAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;KAAA;IAED;;;;;;OAMG;IACU,SAAS,CACpB,KAAU,EACV,cAA2C,EAC3C,OAAwE;;YAExE,6DAA6D;YAC7D,MAAM,eAAe,GACnB,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACpE,yGAAyG;YACzG,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACzD,CAAO,gBAGN,EAAoB,EAAE;gBACrB,sHAAsH;gBACtH,MAAM,YAAY,GAA+B,gBAAgB,CAAC,OAAO;oBACvE,CAAC,CAAC,gBAAgB,CAAC,OAAO;oBAC1B,CAAC,CAAE,gBAAgB,CAAC,OAAsC,CAAC;gBAE7D,MAAM,cAAc,GAClB,IAAI,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;gBAExE,4BAA4B;gBAC5B,MAAM,OAAO,GAAG,IAAI,iBAAO,CACzB,YAAY,CAAC,SAAS,EACtB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB;oBACE,oBAAoB,EAAE,IAAI,CAAC,WAAW;oBACtC,cAAc;oBACd,oBAAoB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,uBAAuB;oBACtD,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;iBACtC,CACF,CAAC;gBAEF,iCAAiC;gBACjC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAExB,OAAO,OAAO,CAAC;YACjB,CAAC,CAAA,CACF,CAAC;YAEF,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;KAAA;IAED;;;;;;OAMG;IACU,kBAAkB,CAC7B,MAAa,EACb,cAA2C,EAC3C,OAAwE;;YAExE,6DAA6D;YAC7D,MAAM,eAAe,GACnB,MAAM,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAE9E,yGAAyG;YACzG,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACzD,CAAO,gBAGN,EAAoB,EAAE;gBACrB,sHAAsH;gBACtH,MAAM,YAAY,GAA+B,gBAAgB,CAAC,OAAO;oBACvE,CAAC,CAAC,gBAAgB,CAAC,OAAO;oBAC1B,CAAC,CAAE,gBAAgB,CAAC,OAAsC,CAAC;gBAE7D,MAAM,cAAc,GAClB,IAAI,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;gBAExE,4BAA4B;gBAC5B,MAAM,OAAO,GAAG,IAAI,iBAAO,CACzB,YAAY,CAAC,SAAS,EACtB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB;oBACE,oBAAoB,EAAE,IAAI,CAAC,WAAW;oBACtC,cAAc;oBACd,oBAAoB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,uBAAuB;oBACtD,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;iBACtC,CACF,CAAC;gBAEF,iCAAiC;gBACjC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAExB,OAAO,OAAO,CAAC;YACjB,CAAC,CAAA,CACF,CAAC;YAEF,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;KAAA;IAED;;OAEG;IACK,WAAW,CAAC,KAA2C;QAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,mCAAwB,CAAC,KAAK,CAAC,CAAC;aAC3C;YACD,OAAO,0BAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SACpD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACW,wBAAwB,CAAC,UAA0C;;;YAK/E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEnE,MAAM,iBAAiB,mCAClB,UAAU,CAAC,WAAW,KACzB,QAAQ,GACT,CAAC;YACF,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;YAC3C,MAAM,MAAM,GAAG,CAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,KAAK,EAAE,KAAI,EAAE,CAAC;YAEhD,+BAA+B;YAC/B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YAED,mCAAmC;YACnC,MAAM,uBAAuB,GAAG,IAAA,gBAAQ,EAAC,iBAAiB,CAAC,CAAC;YAC5D,uBAAuB,CAAC,cAAc,GAAG,EAAE,CAAC;YAE5C,MAAM,cAAc,GAClB,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,cAAc,0CAAE,UAAU,KAAI,SAAS,IAAI,UAAU,CAAC,cAAc,CAAC,UAAU;gBACzF,CAAC,CAAC,MAAA,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,mCAAI,iBAAiB,CAAC,QAAQ,CAAC,OAAO;gBACpF,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAEzC,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc;gBAC9C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAC7C,UAAU,CAAC,cAAc,CAAC,EAAE,EAC5B,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAC/B,cAAc,CACf;gBACH,CAAC,CAAC,IAAI,CAAC;YAET,IAAI,cAAc,EAAE;gBAClB,qDAAqD;gBACrD,uBAAuB,CAAC,cAAc,CAAC,IAAI,CACzC,MAAM,cAAc,CAAC,+BAA+B,CAClD,CAAA,MAAA,UAAU,CAAC,cAAc,0CAAE,UAAU,KAAI,EAAE,CAC5C,CACF,CAAC;aACH;YAED,IAAI,WAAW,EAAE;gBACf,kDAAkD;gBAClD,uBAAuB,CAAC,cAAc,CAAC,IAAI,CACzC,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAC9D,CAAC;aACH;YAED,2BAA2B;YAC3B,IAAI,uBAAuB,CAAC,KAAK,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;aAC5C;YACD,IAAI,uBAAuB,CAAC,KAAK,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;aAC5C;YAED,IAAI,iBAAiB,CAAC,cAAc,EAAE;gBACpC,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;aAClF;YAED,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;;KAC/E;IAED;;;;;;;;;;;OAWG;IACK,4BAA4B,CAClC,eAA6C,EAC7C,SAAiB;;QAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAc,CAAC,CAAC,IAAI,CAAC;QACpE,MAAM,sBAAsB,GAAG,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC;QACrE,MAAM,aAAa,GAAuC,EAAE,CAAC;QAE7D,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE;YAC9C,IAAI,SAAS,CAAC,EAAE,KAAK,sBAAc,CAAC,QAAQ,CAAC,YAAY,EAAE;gBACzD,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG;oBAC5B,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,SAAS,CAAC,MAAM;4BACtB,UAAU,EAAE;gCACV,cAAc,EAAE,SAAS,CAAC,UAAU,CAAC,cAAc;gCACnD,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI;6BAChC;4BACD,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS;yBAC5C;qBACF;oBACD,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,IAAI,EAAE,sBAAc,CAAC,IAAI,CAAC,eAAe;oBACzC,MAAM,EAAE;wBACN,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI;wBAC/B,qBAAqB,EAAE,GAAG;wBAC1B,oBAAoB,EAAE,GAAG;wBACzB,iBAAiB,EAAE,GAAG;wBACtB,gBAAgB,EAAE,GAAG;wBACrB,cAAc,EAAE,SAAS,CAAC,UAAU,CAAC,cAAc;qBACpD;oBACD,OAAO,EAAE,SAAS,CAAC,OAAO;iBAC3B,CAAC;aACH;SACF;QAED,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI;YAC9C,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc;YACrD,WAAW,EAAE,MAAA,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CACrD,CAAC,GAA2B,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,sBAAc,CAAC,QAAQ,CAAC,YAAY,CACjF,0CAAE,UAAU,CAAC,OAAO;YACrB,YAAY,EAAE;gBACZ,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI;gBAC1C,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO;gBAChD,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;aACnD;YACD,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,aAAa;YACzB,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc;YACrD,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS;YAC3C,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO;YACvC,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO;YACvC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK;YACnC,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM;SACtC,CAAC;IACJ,CAAC;CACF;AAphBD,iCAohBC"}
@@ -1,4 +1,6 @@
1
- import { IdentityTypes, PaymentTypes, RequestLogicTypes } from '@requestnetwork/types';
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import { CurrencyTypes, EncryptionTypes, IdentityTypes, PaymentTypes, RequestLogicTypes } from '@requestnetwork/types';
2
4
  import * as Types from '../types';
3
5
  import ContentDataExtension from './content-data-extension';
4
6
  /**
@@ -45,6 +47,24 @@ export default class Request {
45
47
  * if true, skip the payment detection
46
48
  */
47
49
  private skipPaymentDetection;
50
+ /**
51
+ * if true, do not send blockchain confirmation events (on creation, approval, etc.)
52
+ */
53
+ private disableEvents;
54
+ /**
55
+ * A list of known tokens
56
+ */
57
+ private currencyManager;
58
+ /**
59
+ * Information for an in-memory request, including transaction data, topics, and payment request data.
60
+ * This is used for requests that haven't been persisted yet, allowing for operations like payments
61
+ * before the request is stored in the data access layer.
62
+ *
63
+ * @property transactionData - Transaction data necessary for persisting the request later on.
64
+ * @property topics - Topics of the request, used for indexing and retrieval when persisting.
65
+ * @property requestData - Structured data primarily used for processing payments before the request is persisted.
66
+ */
67
+ readonly inMemoryInfo: RequestLogicTypes.IInMemoryInfo | null;
48
68
  /**
49
69
  * Creates an instance of Request
50
70
  *
@@ -55,11 +75,13 @@ export default class Request {
55
75
  * @param requestLogicCreateResult return from the first request creation (optimization)
56
76
  * @param options options
57
77
  */
58
- constructor(requestId: RequestLogicTypes.RequestId, requestLogic: RequestLogicTypes.IRequestLogic, options?: {
78
+ constructor(requestId: RequestLogicTypes.RequestId, requestLogic: RequestLogicTypes.IRequestLogic, currencyManager: CurrencyTypes.ICurrencyManager, options?: {
59
79
  paymentNetwork?: PaymentTypes.IPaymentNetwork | null;
60
80
  contentDataExtension?: ContentDataExtension | null;
61
81
  requestLogicCreateResult?: RequestLogicTypes.IReturnCreateRequest;
62
82
  skipPaymentDetection?: boolean;
83
+ disableEvents?: boolean;
84
+ inMemoryInfo?: RequestLogicTypes.IInMemoryInfo | null;
63
85
  });
64
86
  /**
65
87
  * Listen the confirmation of the creation
@@ -109,6 +131,15 @@ export default class Request {
109
131
  * @returns The updated request
110
132
  */
111
133
  reduceExpectedAmountRequest(deltaAmount: RequestLogicTypes.Amount, signerIdentity: IdentityTypes.IIdentity, paymentInformation?: any): Promise<Types.IRequestDataWithEvents>;
134
+ /**
135
+ * Adds stakeholders to a request
136
+ *
137
+ * @param IEncryptionParameters encryptionParams list of addtional encryption parameters to encrypt the channel key with
138
+ * @param signerIdentity Identity of the signer. The identity type must be supported by the signature provider.
139
+ * @param refundInformation refund information to add (any because it is specific to the payment network used by the request)
140
+ * @returns The updated request
141
+ */
142
+ addStakeholders(encryptionParams: EncryptionTypes.IEncryptionParameters[], signerIdentity: IdentityTypes.IIdentity, refundInformation?: any): Promise<Types.IRequestDataWithEvents>;
112
143
  /**
113
144
  * Adds payment information
114
145
  *
@@ -131,42 +162,60 @@ export default class Request {
131
162
  * @param amount Amount sent
132
163
  * @param note Note from payer about the sent payment
133
164
  * @param signerIdentity Identity of the signer. The identity type must be supported by the signature provider.
165
+ * @param txHash transaction hash
166
+ * @param network network of the transaction
134
167
  * @returns The updated request
135
168
  */
136
- declareSentPayment(amount: RequestLogicTypes.Amount, note: string, signerIdentity: IdentityTypes.IIdentity): Promise<Types.IRequestDataWithEvents>;
169
+ declareSentPayment(amount: RequestLogicTypes.Amount, note: string, signerIdentity: IdentityTypes.IIdentity, txHash?: string, network?: string): Promise<Types.IRequestDataWithEvents>;
137
170
  /**
138
171
  * Declare a refund is sent for the declarative payment network
139
172
  *
140
173
  * @param amount Amount sent
141
174
  * @param note Note from payee about the sent refund
142
175
  * @param signerIdentity Identity of the signer. The identity type must be supported by the signature provider.
176
+ * @param txHash transaction hash
177
+ * @param network network of the transaction
143
178
  * @returns The updated request
144
179
  */
145
- declareSentRefund(amount: RequestLogicTypes.Amount, note: string, signerIdentity: IdentityTypes.IIdentity): Promise<Types.IRequestDataWithEvents>;
180
+ declareSentRefund(amount: RequestLogicTypes.Amount, note: string, signerIdentity: IdentityTypes.IIdentity, txHash?: string, network?: string): Promise<Types.IRequestDataWithEvents>;
146
181
  /**
147
182
  * Declare a payment is received for the declarative payment network
148
183
  *
149
184
  * @param amount Amount received
150
185
  * @param note Note from payee about the received payment
151
186
  * @param signerIdentity Identity of the signer. The identity type must be supported by the signature provider.
187
+ * @param txHash transaction hash
188
+ * @param network network of the transaction
152
189
  * @returns The updated request
153
190
  */
154
- declareReceivedPayment(amount: RequestLogicTypes.Amount, note: string, signerIdentity: IdentityTypes.IIdentity): Promise<Types.IRequestDataWithEvents>;
191
+ declareReceivedPayment(amount: RequestLogicTypes.Amount, note: string, signerIdentity: IdentityTypes.IIdentity, txHash?: string, network?: string): Promise<Types.IRequestDataWithEvents>;
155
192
  /**
156
193
  * Declare a refund is received for the declarative payment network
157
194
  *
158
195
  * @param amount Amount received
159
196
  * @param note Note from payer about the received refund
160
197
  * @param signerIdentity Identity of the signer. The identity type must be supported by the signature provider.
198
+ * @param txHash transaction hash
199
+ * @param network network of the transaction
200
+ * @returns The updated request
201
+ */
202
+ declareReceivedRefund(amount: RequestLogicTypes.Amount, note: string, signerIdentity: IdentityTypes.IIdentity, txHash?: string, network?: string): Promise<Types.IRequestDataWithEvents>;
203
+ /**
204
+ * Add a delegate for the declarative payment network
205
+ *
206
+ * @param delegate Identity of the delegate
207
+ * @param signerIdentity Identity of the signer. The identity type must be supported by the signature provider.
161
208
  * @returns The updated request
162
209
  */
163
- declareReceivedRefund(amount: RequestLogicTypes.Amount, note: string, signerIdentity: IdentityTypes.IIdentity): Promise<Types.IRequestDataWithEvents>;
210
+ addDeclarativeDelegate(delegate: IdentityTypes.IIdentity, signerIdentity: IdentityTypes.IIdentity): Promise<Types.IRequestDataWithEvents>;
211
+ protected handleRequestDataEvents(eventEmitter: EventEmitter): Promise<Types.IRequestDataWithEvents>;
164
212
  /**
165
213
  * Gets the request data
166
214
  *
167
215
  * @returns The updated request data
168
216
  */
169
217
  getData(): Types.IRequestDataWithEvents;
218
+ getEscrowData(paymentReference: string, network: CurrencyTypes.EvmChainName): Promise<PaymentTypes.EscrowChainData>;
170
219
  /**
171
220
  * Refresh the request data and balance from the network (check if new events happened - e.g: accept, payments etc..) and return these data
172
221
  *
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/api/request.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,oBAAoB,MAAM,0BAA0B,CAAC;AAI5D;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B;;OAEG;IACH,SAAgB,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAEvD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,OAAO,CAAe;IAE9B;;OAEG;IACH,OAAO,CAAC,mCAAmC,CAAkB;IAE7D;;OAEG;IACH,OAAO,CAAC,WAAW,CAA2C;IAE9D;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkD;IAErE;;OAEG;IACH,OAAO,CAAC,WAAW,CAAoB;IAEvC;;OAEG;IACH,OAAO,CAAC,WAAW,CAA8C;IAEjE;;OAEG;IACH,OAAO,CAAC,OAAO,CAAgD;IAE/D;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAkB;IAE9C;;;;;;;;;OASG;gBAED,SAAS,EAAE,iBAAiB,CAAC,SAAS,EACtC,YAAY,EAAE,iBAAiB,CAAC,aAAa,EAC7C,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC;QACrD,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;QACnD,wBAAwB,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC;QAClE,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC;IAqBH;;;;;;OAMG;IACI,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,cAAc,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAChC,IAAI;IAKP;;;;OAIG;IACI,mBAAmB,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAOnE;;;;;;OAMG;IACU,MAAM,CACjB,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,iBAAiB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IA+BxC;;;;;;OAMG;IACU,MAAM,CACjB,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,iBAAiB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAgCxC;;;;;;;OAOG;IACU,6BAA6B,CACxC,WAAW,EAAE,iBAAiB,CAAC,MAAM,EACrC,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,iBAAiB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAoCxC;;;;;;;OAOG;IACU,2BAA2B,CACtC,WAAW,EAAE,iBAAiB,CAAC,MAAM,EACrC,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,kBAAkB,CAAC,EAAE,GAAG,GACvB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAqCxC;;;;;;OAMG;IACU,qBAAqB,CAChC,kBAAkB,EAAE,GAAG,EACvB,cAAc,EAAE,aAAa,CAAC,SAAS,GACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAoCxC;;;;;;OAMG;IACU,oBAAoB,CAC/B,iBAAiB,EAAE,GAAG,EACtB,cAAc,EAAE,aAAa,CAAC,SAAS,GACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAoCxC;;;;;;;OAOG;IACU,kBAAkB,CAC7B,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,aAAa,CAAC,SAAS,GACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IA4CxC;;;;;;;OAOG;IACU,iBAAiB,CAC5B,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,aAAa,CAAC,SAAS,GACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IA+CxC;;;;;;;OAOG;IACU,sBAAsB,CACjC,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,aAAa,CAAC,SAAS,GACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IA+CxC;;;;;;;OAOG;IACU,qBAAqB,CAChC,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,aAAa,CAAC,SAAS,GACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IA+CxC;;;;OAIG;IACI,OAAO,IAAI,KAAK,CAAC,sBAAsB;IAyB9C;;;;;OAKG;IACU,OAAO,CAClB,cAAc,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,GACzD,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAmCxC;;;;OAIG;IACU,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAUpF;;OAEG;IACI,sBAAsB,IAAI,IAAI;IAIrC;;OAEG;IACI,uBAAuB,IAAI,IAAI;CAGvC"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/api/request.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,oBAAoB,MAAM,0BAA0B,CAAC;AAK5D;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B;;OAEG;IACH,SAAgB,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAEvD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,OAAO,CAAe;IAE9B;;OAEG;IACH,OAAO,CAAC,mCAAmC,CAAS;IAEpD;;OAEG;IACH,OAAO,CAAC,WAAW,CAA2C;IAE9D;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkD;IAErE;;OAEG;IACH,OAAO,CAAC,WAAW,CAAoB;IAEvC;;OAEG;IACH,OAAO,CAAC,WAAW,CAA8C;IAEjE;;OAEG;IACH,OAAO,CAAC,OAAO,CAAgD;IAE/D;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAS;IACrC;;OAEG;IACH,OAAO,CAAC,aAAa,CAAS;IAE9B;;OAEG;IACH,OAAO,CAAC,eAAe,CAAiC;IAExD;;;;;;;;OAQG;IACH,SAAgB,YAAY,EAAE,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAQ;IAE5E;;;;;;;;;OASG;gBAED,SAAS,EAAE,iBAAiB,CAAC,SAAS,EACtC,YAAY,EAAE,iBAAiB,CAAC,aAAa,EAC7C,eAAe,EAAE,aAAa,CAAC,gBAAgB,EAC/C,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC;QACrD,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;QACnD,wBAAwB,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC;QAClE,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC;KACvD;IA6BH;;;;;;OAMG;IACI,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,cAAc,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAChC,IAAI;IAKP;;;;OAIG;IACI,mBAAmB,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAOnE;;;;;;OAMG;IACU,MAAM,CACjB,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,iBAAiB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAoBxC;;;;;;OAMG;IACU,MAAM,CACjB,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,iBAAiB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAqBxC;;;;;;;OAOG;IACU,6BAA6B,CACxC,WAAW,EAAE,iBAAiB,CAAC,MAAM,EACrC,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,iBAAiB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAyBxC;;;;;;;OAOG;IACU,2BAA2B,CACtC,WAAW,EAAE,iBAAiB,CAAC,MAAM,EACrC,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,kBAAkB,CAAC,EAAE,GAAG,GACvB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IA0BxC;;;;;;;OAOG;IACU,eAAe,CAC1B,gBAAgB,EAAE,eAAe,CAAC,qBAAqB,EAAE,EACzD,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,iBAAiB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IA0BxC;;;;;;OAMG;IACU,qBAAqB,CAChC,kBAAkB,EAAE,GAAG,EACvB,cAAc,EAAE,aAAa,CAAC,SAAS,GACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAyBxC;;;;;;OAMG;IACU,oBAAoB,CAC/B,iBAAiB,EAAE,GAAG,EACtB,cAAc,EAAE,aAAa,CAAC,SAAS,GACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAyBxC;;;;;;;;;OASG;IACU,kBAAkB,CAC7B,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAqCxC;;;;;;;;;OASG;IACU,iBAAiB,CAC5B,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAqCxC;;;;;;;;;OASG;IACU,sBAAsB,CACjC,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAqCxC;;;;;;;;;OASG;IACU,qBAAqB,CAChC,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAqCxC;;;;;;OAMG;IACU,sBAAsB,CACjC,QAAQ,EAAE,aAAa,CAAC,SAAS,EACjC,cAAc,EAAE,aAAa,CAAC,SAAS,GACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAkCxC,SAAS,CAAC,uBAAuB,CAC/B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAoBxC;;;;OAIG;IACI,OAAO,IAAI,KAAK,CAAC,sBAAsB;IA0BjC,aAAa,CACxB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,aAAa,CAAC,YAAY,GAClC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;IAaxC;;;;;OAKG;IACU,OAAO,CAClB,cAAc,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,GACzD,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAmCxC;;;;OAIG;IACU,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IASpF;;OAEG;IACI,sBAAsB,IAAI,IAAI;IAIrC;;OAEG;IACI,uBAAuB,IAAI,IAAI;CAGvC"}