@super-protocol/sdk-js 3.0.5 → 3.1.0-beta.1

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 (83) hide show
  1. package/dist/cjs/connectors/BaseConnector.d.ts +0 -6
  2. package/dist/cjs/connectors/BaseConnector.js +1 -10
  3. package/dist/cjs/connectors/BlockchainConnector.js +2 -4
  4. package/dist/cjs/connectors/BlockchainEventsListener.js +2 -3
  5. package/dist/cjs/constants.d.ts +1 -0
  6. package/dist/cjs/constants.js +3 -2
  7. package/dist/cjs/contracts/abi.d.ts +145 -612
  8. package/dist/cjs/contracts/abi.js +173 -775
  9. package/dist/cjs/index.d.ts +1 -0
  10. package/dist/cjs/index.js +2 -1
  11. package/dist/cjs/models/Offer.js +3 -5
  12. package/dist/cjs/models/Order.js +1 -4
  13. package/dist/cjs/models/Provider.d.ts +1 -1
  14. package/dist/cjs/models/Provider.js +3 -8
  15. package/dist/cjs/staticModels/Consensus.d.ts +3 -3
  16. package/dist/cjs/staticModels/Consensus.js +4 -4
  17. package/dist/cjs/staticModels/Deposits.d.ts +9 -10
  18. package/dist/cjs/staticModels/Deposits.js +18 -21
  19. package/dist/cjs/staticModels/Offers.js +2 -7
  20. package/dist/cjs/staticModels/OffersStorageRequests.js +1 -4
  21. package/dist/cjs/staticModels/Orders.d.ts +1 -2
  22. package/dist/cjs/staticModels/Orders.js +2 -14
  23. package/dist/cjs/staticModels/ProviderRegistry.d.ts +6 -15
  24. package/dist/cjs/staticModels/ProviderRegistry.js +11 -43
  25. package/dist/cjs/staticModels/ProviderRewards.js +1 -16
  26. package/dist/cjs/staticModels/Superpro.d.ts +7 -5
  27. package/dist/cjs/staticModels/Superpro.js +45 -13
  28. package/dist/cjs/staticModels/TeeOffers.js +2 -7
  29. package/dist/cjs/types/DistributedSecretStorage.d.ts +0 -1
  30. package/dist/cjs/types/Offer.d.ts +0 -5
  31. package/dist/cjs/types/Order.d.ts +0 -2
  32. package/dist/cjs/types/Order.js +1 -3
  33. package/dist/cjs/types/TokenInfo.d.ts +1 -6
  34. package/dist/cjs/utils/order/complete-order.d.ts +3 -0
  35. package/dist/cjs/utils/order/complete-order.js +87 -0
  36. package/dist/cjs/utils/order/index.d.ts +3 -0
  37. package/dist/cjs/utils/order/index.js +20 -0
  38. package/dist/cjs/utils/order/types.d.ts +35 -0
  39. package/dist/cjs/utils/order/types.js +3 -0
  40. package/dist/cjs/utils/order/validate-order.d.ts +2 -0
  41. package/dist/cjs/utils/order/validate-order.js +74 -0
  42. package/dist/mjs/connectors/BaseConnector.d.ts +0 -6
  43. package/dist/mjs/connectors/BaseConnector.js +1 -10
  44. package/dist/mjs/connectors/BlockchainConnector.js +2 -4
  45. package/dist/mjs/connectors/BlockchainEventsListener.js +2 -3
  46. package/dist/mjs/constants.d.ts +1 -0
  47. package/dist/mjs/constants.js +2 -1
  48. package/dist/mjs/contracts/abi.d.ts +145 -612
  49. package/dist/mjs/contracts/abi.js +171 -773
  50. package/dist/mjs/index.d.ts +1 -0
  51. package/dist/mjs/index.js +2 -1
  52. package/dist/mjs/models/Offer.js +3 -5
  53. package/dist/mjs/models/Order.js +1 -4
  54. package/dist/mjs/models/Provider.d.ts +1 -1
  55. package/dist/mjs/models/Provider.js +3 -8
  56. package/dist/mjs/staticModels/Consensus.d.ts +3 -3
  57. package/dist/mjs/staticModels/Consensus.js +4 -4
  58. package/dist/mjs/staticModels/Deposits.d.ts +9 -10
  59. package/dist/mjs/staticModels/Deposits.js +18 -21
  60. package/dist/mjs/staticModels/Offers.js +2 -7
  61. package/dist/mjs/staticModels/OffersStorageRequests.js +1 -4
  62. package/dist/mjs/staticModels/Orders.d.ts +1 -2
  63. package/dist/mjs/staticModels/Orders.js +2 -14
  64. package/dist/mjs/staticModels/ProviderRegistry.d.ts +6 -15
  65. package/dist/mjs/staticModels/ProviderRegistry.js +11 -43
  66. package/dist/mjs/staticModels/ProviderRewards.js +2 -17
  67. package/dist/mjs/staticModels/Superpro.d.ts +7 -5
  68. package/dist/mjs/staticModels/Superpro.js +42 -13
  69. package/dist/mjs/staticModels/TeeOffers.js +2 -7
  70. package/dist/mjs/types/DistributedSecretStorage.d.ts +0 -1
  71. package/dist/mjs/types/Offer.d.ts +0 -5
  72. package/dist/mjs/types/Order.d.ts +0 -2
  73. package/dist/mjs/types/Order.js +1 -3
  74. package/dist/mjs/types/TokenInfo.d.ts +1 -6
  75. package/dist/mjs/utils/order/complete-order.d.ts +3 -0
  76. package/dist/mjs/utils/order/complete-order.js +82 -0
  77. package/dist/mjs/utils/order/index.d.ts +3 -0
  78. package/dist/mjs/utils/order/index.js +4 -0
  79. package/dist/mjs/utils/order/types.d.ts +35 -0
  80. package/dist/mjs/utils/order/types.js +2 -0
  81. package/dist/mjs/utils/order/validate-order.d.ts +2 -0
  82. package/dist/mjs/utils/order/validate-order.js +67 -0
  83. package/package.json +1 -1
@@ -1,6 +1,20 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  const index_js_1 = require("../connectors/index.js");
16
+ const helper_js_1 = require("../utils/helper.js");
17
+ const TxManager_js_1 = __importDefault(require("../utils/TxManager.js"));
4
18
  class Superpro {
5
19
  static address;
6
20
  /**
@@ -9,19 +23,9 @@ class Superpro {
9
23
  static getContractAddress() {
10
24
  return this.address;
11
25
  }
12
- static async getPrimaryTokenAddress(contractInstance) {
26
+ static getTokenAddress(contractInstance) {
13
27
  const contract = contractInstance || index_js_1.BlockchainConnector.getInstance().getContract();
14
- const tokens = await contract.methods.getTokens().call();
15
- // empty string will not be returned because
16
- // tokens always have at least 1 main token
17
- let primaryToken = '';
18
- for (const token of tokens) {
19
- if (token.tokenInfo.isPrimary) {
20
- primaryToken = token.tokenInfo.tokenAddress;
21
- break;
22
- }
23
- }
24
- return primaryToken;
28
+ return contract.methods.getToken().call();
25
29
  }
26
30
  /**
27
31
  * Fetching config parameter value by name
@@ -38,6 +42,34 @@ class Superpro {
38
42
  const contract = index_js_1.BlockchainConnector.getInstance().getContract();
39
43
  return contract.methods.getTokens().call();
40
44
  }
45
+ static async addTokens(newTokens, transactionOptions, checkTxBeforeSend = false) {
46
+ const contract = index_js_1.BlockchainConnector.getInstance().getContract();
47
+ (0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
48
+ if (checkTxBeforeSend) {
49
+ await TxManager_js_1.default.dryRun(contract.methods.addTokens(newTokens), transactionOptions);
50
+ }
51
+ return await TxManager_js_1.default.execute(contract.methods.addTokens(newTokens), transactionOptions);
52
+ }
53
+ static async removeTokens(tokensAddresses, transactionOptions, checkTxBeforeSend = false) {
54
+ const contract = index_js_1.BlockchainConnector.getInstance().getContract();
55
+ (0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
56
+ if (checkTxBeforeSend) {
57
+ await TxManager_js_1.default.dryRun(contract.methods.removeTokens(tokensAddresses), transactionOptions);
58
+ }
59
+ return await TxManager_js_1.default.execute(contract.methods.removeTokens(tokensAddresses), transactionOptions);
60
+ }
41
61
  }
62
+ __decorate([
63
+ (0, helper_js_1.incrementMethodCall)(),
64
+ __metadata("design:type", Function),
65
+ __metadata("design:paramtypes", [Array, Object, Object]),
66
+ __metadata("design:returntype", Promise)
67
+ ], Superpro, "addTokens", null);
68
+ __decorate([
69
+ (0, helper_js_1.incrementMethodCall)(),
70
+ __metadata("design:type", Function),
71
+ __metadata("design:paramtypes", [Array, Object, Object]),
72
+ __metadata("design:returntype", Promise)
73
+ ], Superpro, "removeTokens", null);
42
74
  exports.default = Superpro;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJwcm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL1N1cGVycHJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EscURBQTZEO0FBSTdELE1BQU0sUUFBUTtJQUNMLE1BQU0sQ0FBQyxPQUFPLENBQVM7SUFFOUI7O09BRUc7SUFDSSxNQUFNLENBQUMsa0JBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FDeEMsZ0JBQXVDO1FBRXZDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixJQUFJLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JGLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6RCw0Q0FBNEM7UUFDNUMsMkNBQTJDO1FBQzNDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDOUIsWUFBWSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO2dCQUM1QyxNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQWU7UUFDcEMsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxvQkFBNEI7UUFDdEQsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JFLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUztRQUNyQixNQUFNLFFBQVEsR0FBRyw4QkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRSxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBRUQsa0JBQWUsUUFBUSxDQUFDIn0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJwcm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL1N1cGVycHJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQ0EscURBQTZEO0FBRzdELGtEQUEwRjtBQUMxRix5RUFBOEM7QUFFOUMsTUFBTSxRQUFRO0lBQ0wsTUFBTSxDQUFDLE9BQU8sQ0FBUztJQUU5Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLGdCQUF1QztRQUNuRSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsSUFBSSw4QkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyRixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFlO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsb0JBQTRCO1FBQ3RELE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVM7UUFDckIsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFHbUIsQUFBYixNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDM0IsU0FBc0IsRUFDdEIsa0JBQXVDLEVBQ3ZDLGlCQUFpQixHQUFHLEtBQUs7UUFFekIsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsSUFBQSwyQ0FBK0IsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixNQUFNLHNCQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDcEYsQ0FBQztRQUVELE9BQU8sTUFBTSxzQkFBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFHbUIsQUFBYixNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FDOUIsZUFBeUIsRUFDekIsa0JBQXVDLEVBQ3ZDLGlCQUFpQixHQUFHLEtBQUs7UUFFekIsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsSUFBQSwyQ0FBK0IsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixNQUFNLHNCQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUVELE9BQU8sTUFBTSxzQkFBUyxDQUFDLE9BQU8sQ0FDNUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEVBQzlDLGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBakNxQjtJQURuQixJQUFBLCtCQUFtQixHQUFFOzs7OytCQWNyQjtBQUdtQjtJQURuQixJQUFBLCtCQUFtQixHQUFFOzs7O2tDQWlCckI7QUFHSCxrQkFBZSxRQUFRLENBQUMifQ==
@@ -65,12 +65,7 @@ class TeeOffers {
65
65
  // Converts offer info to array of arrays (used in blockchain)
66
66
  const packedHardwareInfo = await TeeOffers.packHardwareInfo(hardwareInfo);
67
67
  const formattedExternalId = (0, utils_js_1.formatBytes32String)(externalId);
68
- const offer = {
69
- offerType: index_js_1.OfferType.TeeOffer,
70
- providerAuth: providerAuthorityAccount,
71
- enabled: enabled,
72
- };
73
- await TxManager_js_1.default.execute(contract.methods.createTeeOffer(offer, { ...offerInfo, subtype: subType, tlb_DEPRECATED: '' }, packedHardwareInfo.slotInfo, (0, helper_js_1.convertOptionInfoToRaw)(packedHardwareInfo.optionInfo), formattedExternalId), transactionOptions);
68
+ await TxManager_js_1.default.execute(contract.methods.createTeeOffer(providerAuthorityAccount, { ...offerInfo, subtype: subType, tlb_DEPRECATED: '' }, packedHardwareInfo.slotInfo, (0, helper_js_1.convertOptionInfoToRaw)(packedHardwareInfo.optionInfo), formattedExternalId, enabled), transactionOptions);
74
69
  }
75
70
  static async getByExternalId(filter, fromBlock, toBlock) {
76
71
  const founded = await StaticModel_js_1.default.findItemsById('TeeOfferCreated', filter, fromBlock, toBlock);
@@ -338,4 +333,4 @@ class TeeOffers {
338
333
  }
339
334
  }
340
335
  exports.default = TeeOffers;
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9UZWVPZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBc0M7QUFDdEMsa0RBUTRCO0FBQzVCLGtEQUF5RjtBQUN6RixnREFhMkI7QUFDM0IscURBQXVGO0FBQ3ZGLGdFQUFxQztBQUNyQyx5RUFBOEM7QUFFOUMsc0VBQTJDO0FBTTNDLE1BQU0sU0FBUztJQUNMLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBVTtJQUVqQyxNQUFNLENBQVUsTUFBTSxHQUFHLG1CQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFOUUsTUFBTSxDQUFDLFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBRXRDLE1BQU0sS0FBSyxPQUFPO1FBQ2hCLE9BQU8scUJBQVEsQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBZ0I7UUFDNUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckQsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDO1FBQ3BDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQztRQUVwQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQWdCO1FBQzlDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUQsRUFBRSxDQUFDLFFBQVEsR0FBRyxJQUFBLDBCQUFjLEVBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxL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
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9UZWVPZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBc0M7QUFDdEMsa0RBUTRCO0FBQzVCLGtEQUF5RjtBQUN6RixnREFZMkI7QUFDM0IscURBQXVGO0FBQ3ZGLGdFQUFxQztBQUNyQyx5RUFBOEM7QUFFOUMsc0VBQTJDO0FBTTNDLE1BQU0sU0FBUztJQUNMLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBVTtJQUVqQyxNQUFNLENBQVUsTUFBTSxHQUFHLG1CQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFOUUsTUFBTSxDQUFDLFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBRXRDLE1BQU0sS0FBSyxPQUFPO1FBQ2hCLE9BQU8scUJBQVEsQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBZ0I7UUFDNUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckQsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDO1FBQ3BDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQztRQUVwQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQWdCO1FBQzlDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUQsRUFBRSxDQUFDLFFBQVEsR0FBRyxJQUFBLDBCQUFjLEVBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxL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
@@ -64,5 +64,4 @@ export type OfferStorageRequest = {
64
64
  replicationFactor: number;
65
65
  timestamp: number;
66
66
  copyPreviousData: boolean;
67
- tokenAddress?: string;
68
67
  };
@@ -44,11 +44,6 @@ type OfferInfoBase = {
44
44
  hardwareContext?: HardwareContext;
45
45
  metadata: string;
46
46
  };
47
- export type GeneralOfferInfo = {
48
- offerType: OfferType;
49
- providerAuth: string;
50
- enabled: boolean;
51
- };
52
47
  export type OfferInfoRaw = Omit<OfferInfoBase, 'signatureKeyHash' | 'hardwareContext'> & {
53
48
  linkage_DEPRECATED: string;
54
49
  group_DEPRECATED: OfferGroup;
@@ -36,7 +36,6 @@ export type OrderInfo = {
36
36
  maxPriceSlippage?: TokenAmount;
37
37
  args: OrderArgs;
38
38
  offerVersion: number;
39
- tokenAddress?: string;
40
39
  };
41
40
  export type OrderInfoRaw = {
42
41
  offerId: BlockchainId;
@@ -48,7 +47,6 @@ export type OrderInfoRaw = {
48
47
  expectedPrice: TokenAmount;
49
48
  maxPriceSlippage: TokenAmount;
50
49
  offerVersion: number;
51
- tokenAddress?: string;
52
50
  };
53
51
  export declare const orderInfoToRaw: (orderInfo: OrderInfo) => OrderInfoRaw;
54
52
  export declare const orderInfoFromRaw: (orderInfoBch: OrderInfoRaw, args: OrderArgs) => OrderInfo;
@@ -29,7 +29,6 @@ const orderInfoToRaw = (orderInfo) => {
29
29
  expectedPrice: orderInfo.expectedPrice ?? '0',
30
30
  maxPriceSlippage: orderInfo.maxPriceSlippage ?? '0',
31
31
  offerVersion: orderInfo.offerVersion,
32
- tokenAddress: orderInfo.tokenAddress,
33
32
  };
34
33
  };
35
34
  exports.orderInfoToRaw = orderInfoToRaw;
@@ -55,8 +54,7 @@ const orderInfoFromRaw = (orderInfoBch, args) => {
55
54
  externalId: (0, utils_js_1.parseBytes32String)(orderInfoBch.externalId),
56
55
  args,
57
56
  offerVersion: orderInfoBch.offerVersion,
58
- tokenAddress: orderInfoBch.tokenAddress,
59
57
  };
60
58
  };
61
59
  exports.orderInfoFromRaw = orderInfoFromRaw;
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvT3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQThFO0FBSTlFLElBQVksV0FTWDtBQVRELFdBQVksV0FBVztJQUNyQix3QkFBUyxDQUFBO0lBQ1QsK0JBQWdCLENBQUE7SUFDaEIsOEJBQWUsQ0FBQTtJQUNmLDZCQUFjLENBQUE7SUFDZCx5QkFBVSxDQUFBO0lBQ1YsMEJBQVcsQ0FBQTtJQUNYLDRCQUFhLENBQUE7SUFDYiw4QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFUVyxXQUFXLDJCQUFYLFdBQVcsUUFTdEI7QUErQ00sTUFBTSxjQUFjLEdBQUcsQ0FBQyxTQUFvQixFQUFnQixFQUFFO0lBQ25FLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUztRQUN6QyxhQUFhLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxhQUFhO1FBQ2pELGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtLQUN2QyxDQUFDLENBQUM7SUFDSCxPQUFPO1FBQ0wsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1FBQzFCLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLGdDQUFnQyxFQUFFLEVBQUU7UUFDcEMsd0JBQXdCLEVBQUUsRUFBRTtRQUM1QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDeEIsVUFBVSxFQUFFLElBQUEsOEJBQW1CLEVBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUNyRCxhQUFhLEVBQUUsU0FBUyxDQUFDLGFBQWEsSUFBSSxHQUFHO1FBQzdDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxHQUFHO1FBQ25ELFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtRQUNwQyxZQUFZLEVBQUUsU0FBUyxDQUFDLFlBQVk7S0FDckMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWxCVyxRQUFBLGNBQWMsa0JBa0J6QjtBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxZQUEwQixFQUFFLElBQWUsRUFBYSxFQUFFO0lBQ3pGLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNuQixJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsSUFBSSxhQUFhLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDO0lBQzFELElBQUksQ0FBQztRQUNILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELFNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQztRQUNoRCxhQUFhLEdBQUcsWUFBWSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUM7UUFDNUQsYUFBYSxHQUFHLFlBQVksQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDO0lBQzlELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQztJQUVkLE9BQU87UUFDTCxVQUFVLEVBQUU7WUFDVixTQUFTO1lBQ1QsYUFBYTtTQUNkO1FBQ0QsYUFBYTtRQUNiLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTztRQUM3QixNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU07UUFDM0IsVUFBVSxFQUFFLElBQUEsNkJBQWtCLEVBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUN2RCxJQUFJO1FBQ0osWUFBWSxFQUFFLFlBQVksQ0FBQyxZQUFZO1FBQ3ZDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWTtLQUN4QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBeEJXLFFBQUEsZ0JBQWdCLG9CQXdCM0IifQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvT3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQThFO0FBSTlFLElBQVksV0FTWDtBQVRELFdBQVksV0FBVztJQUNyQix3QkFBUyxDQUFBO0lBQ1QsK0JBQWdCLENBQUE7SUFDaEIsOEJBQWUsQ0FBQTtJQUNmLDZCQUFjLENBQUE7SUFDZCx5QkFBVSxDQUFBO0lBQ1YsMEJBQVcsQ0FBQTtJQUNYLDRCQUFhLENBQUE7SUFDYiw4QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFUVyxXQUFXLDJCQUFYLFdBQVcsUUFTdEI7QUE2Q00sTUFBTSxjQUFjLEdBQUcsQ0FBQyxTQUFvQixFQUFnQixFQUFFO0lBQ25FLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUztRQUN6QyxhQUFhLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxhQUFhO1FBQ2pELGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtLQUN2QyxDQUFDLENBQUM7SUFDSCxPQUFPO1FBQ0wsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1FBQzFCLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLGdDQUFnQyxFQUFFLEVBQUU7UUFDcEMsd0JBQXdCLEVBQUUsRUFBRTtRQUM1QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDeEIsVUFBVSxFQUFFLElBQUEsOEJBQW1CLEVBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUNyRCxhQUFhLEVBQUUsU0FBUyxDQUFDLGFBQWEsSUFBSSxHQUFHO1FBQzdDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxHQUFHO1FBQ25ELFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtLQUNyQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBakJXLFFBQUEsY0FBYyxrQkFpQnpCO0FBRUssTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFlBQTBCLEVBQUUsSUFBZSxFQUFhLEVBQUU7SUFDekYsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ25CLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLGFBQWEsR0FBRyxZQUFZLENBQUMsd0JBQXdCLENBQUM7SUFDMUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO1FBQ2hELGFBQWEsR0FBRyxZQUFZLENBQUMsYUFBYSxJQUFJLGFBQWEsQ0FBQztRQUM1RCxhQUFhLEdBQUcsWUFBWSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUM7SUFDOUQsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDO0lBRWQsT0FBTztRQUNMLFVBQVUsRUFBRTtZQUNWLFNBQVM7WUFDVCxhQUFhO1NBQ2Q7UUFDRCxhQUFhO1FBQ2IsT0FBTyxFQUFFLFlBQVksQ0FBQyxPQUFPO1FBQzdCLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTTtRQUMzQixVQUFVLEVBQUUsSUFBQSw2QkFBa0IsRUFBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBQ3ZELElBQUk7UUFDSixZQUFZLEVBQUUsWUFBWSxDQUFDLFlBQVk7S0FDeEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXZCVyxRQUFBLGdCQUFnQixvQkF1QjNCIn0=
@@ -1,9 +1,4 @@
1
1
  export type TokenInfo = {
2
- isPrimary: boolean;
3
- tokenAddress: string;
2
+ tokenContractAddress: string;
4
3
  protocolCommissionPercent: number;
5
4
  };
6
- export type TokenInfoWithServiceParams = {
7
- index: number;
8
- tokenInfo: TokenInfo;
9
- };
@@ -0,0 +1,3 @@
1
+ import { CompleteOrderOptions, CompleteOrderParams } from './types.js';
2
+ declare const _default: (params: CompleteOrderParams, options?: CompleteOrderOptions) => Promise<void>;
3
+ export default _default;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const TIIGenerator_js_1 = __importDefault(require("../../TIIGenerator.js"));
7
+ const index_js_1 = __importDefault(require("../../crypto/index.js"));
8
+ const Offer_js_1 = __importDefault(require("../../models/Offer.js"));
9
+ const Order_js_1 = __importDefault(require("../../models/Order.js"));
10
+ const Offer_js_2 = require("../../types/Offer.js");
11
+ const Order_js_2 = require("../../types/Order.js");
12
+ const ZERO_ID = '0';
13
+ const supportedOfferTypes = [Offer_js_2.OfferType.Data, Offer_js_2.OfferType.Solution];
14
+ const supportedOrderStatusesToComplete = [
15
+ Order_js_2.OrderStatus.New,
16
+ Order_js_2.OrderStatus.Processing,
17
+ Order_js_2.OrderStatus.Canceling,
18
+ ];
19
+ const getResultPublicKeyFromOrderInfo = (orderInfo) => {
20
+ const { publicKey } = orderInfo.resultInfo;
21
+ try {
22
+ return JSON.parse(publicKey);
23
+ }
24
+ catch (err) {
25
+ throw new Error('Could not parse result public key');
26
+ }
27
+ };
28
+ const buildOrderResult = async (params) => {
29
+ const { orderId, orderInfo, resource, resourceEncryption, parentOrder, pccsApiUrl } = params;
30
+ if (parentOrder?.offerType === Offer_js_2.OfferType.TeeOffer) {
31
+ return await TIIGenerator_js_1.default.generate(orderId, resource, orderInfo.args, resourceEncryption, pccsApiUrl);
32
+ }
33
+ const publicKey = getResultPublicKeyFromOrderInfo(orderInfo);
34
+ const content = {
35
+ resource: resource,
36
+ encryption: resourceEncryption,
37
+ };
38
+ const encryptedContent = await index_js_1.default.encrypt(JSON.stringify(content), publicKey);
39
+ return JSON.stringify(encryptedContent);
40
+ };
41
+ const defaultCompleteOrderOptions = {
42
+ async getParentOrderInfo(orderId) {
43
+ const order = new Order_js_1.default(orderId);
44
+ const parentOrderId = await order.getParentOrder();
45
+ if (!parentOrderId || parentOrderId === ZERO_ID) {
46
+ return;
47
+ }
48
+ const parentOrder = new Order_js_1.default(parentOrderId);
49
+ const info = await parentOrder.getOrderInfo();
50
+ const offer = new Offer_js_1.default(info.offerId);
51
+ const offerType = await offer.getOfferType();
52
+ return {
53
+ offerType,
54
+ };
55
+ },
56
+ };
57
+ exports.default = async (params, options = defaultCompleteOrderOptions) => {
58
+ const { orderId } = params;
59
+ const order = new Order_js_1.default(orderId);
60
+ const orderInfo = await order.getOrderInfo();
61
+ const offer = new Offer_js_1.default(orderInfo.offerId);
62
+ const offerType = await offer.getOfferType();
63
+ if (!supportedOfferTypes.includes(offerType)) {
64
+ throw new Error(`Cannot complete order with offer type '${offerType}'`);
65
+ }
66
+ if (!supportedOrderStatusesToComplete.includes(orderInfo.status)) {
67
+ throw new Error(`Cannot complete order with order status '${orderInfo.status}'`);
68
+ }
69
+ if (params.status === Order_js_2.OrderStatus.Canceled && orderInfo.status !== Order_js_2.OrderStatus.Canceling) {
70
+ throw Error(`Order cancellation is possible only from "canceling" status`);
71
+ }
72
+ const encryptedResult = params.resource && params.resourceEncryption
73
+ ? await buildOrderResult({
74
+ orderId,
75
+ orderInfo,
76
+ resource: params.resource,
77
+ resourceEncryption: params.resourceEncryption,
78
+ parentOrder: await options.getParentOrderInfo(orderId),
79
+ pccsApiUrl: params.pccsApiUrl,
80
+ })
81
+ : 'No resource';
82
+ if (orderInfo.status === Order_js_2.OrderStatus.New) {
83
+ await order.updateStatus(Order_js_2.OrderStatus.Processing, { from: params.actionAccountAddress });
84
+ }
85
+ await order.complete(params.status, encryptedResult, { from: params.actionAccountAddress });
86
+ };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvY29tcGxldGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSw0RUFBaUQ7QUFDakQscUVBQTJDO0FBQzNDLHFFQUEwQztBQUMxQyxxRUFBMEM7QUFDMUMsbURBQTREO0FBQzVELG1EQUE4RDtBQUc5RCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDcEIsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLG9CQUFTLENBQUMsSUFBSSxFQUFFLG9CQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakUsTUFBTSxnQ0FBZ0MsR0FBRztJQUN2QyxzQkFBVyxDQUFDLEdBQUc7SUFDZixzQkFBVyxDQUFDLFVBQVU7SUFDdEIsc0JBQVcsQ0FBQyxTQUFTO0NBQ3RCLENBQUM7QUFTRixNQUFNLCtCQUErQixHQUFHLENBQ3RDLFNBQXdDLEVBQ3pCLEVBQUU7SUFDakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFFM0MsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBa0IsQ0FBQztJQUNoRCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN2RCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsTUFBd0IsRUFBbUIsRUFBRTtJQUMzRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU3RixJQUFJLFdBQVcsRUFBRSxTQUFTLEtBQUssb0JBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsRCxPQUFPLE1B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
@@ -0,0 +1,3 @@
1
+ export * from './complete-order.js';
2
+ export * from './types.js';
3
+ export * from './validate-order.js';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./complete-order.js"), exports);
18
+ __exportStar(require("./types.js"), exports);
19
+ __exportStar(require("./validate-order.js"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyw2Q0FBMkI7QUFDM0Isc0RBQW9DIn0=
@@ -0,0 +1,35 @@
1
+ import { Encryption, StorageProviderResource } from '@super-protocol/dto-js';
2
+ import { OfferInfo, OfferType, OrderArgs, OrderStatus } from '../../types/index.js';
3
+ export type SolutionOfferProperties = {
4
+ portForwarding?: number;
5
+ groupingOffers?: boolean;
6
+ };
7
+ export type ValidateOrderParams = {
8
+ order: {
9
+ offerId: string;
10
+ offerType: OfferType;
11
+ offerInfo: Pick<OfferInfo, 'group' | 'metadata' | 'restrictions'>;
12
+ };
13
+ parentOrder?: {
14
+ orderArgs: OrderArgs;
15
+ offerId: string;
16
+ offerType: OfferType;
17
+ };
18
+ };
19
+ export type ValidateOrderOptions = {
20
+ isRestrictedByOfferType: (offerId: string, type: OfferType) => Promise<boolean>;
21
+ isRestrictionsPermitThatOffer: (offerId: string, otherOfferId: string) => Promise<boolean>;
22
+ };
23
+ type TerminatedOrderStatus = OrderStatus.Done | OrderStatus.Canceled | OrderStatus.Error;
24
+ export type CompleteOrderParams = {
25
+ orderId: string;
26
+ resource?: StorageProviderResource;
27
+ resourceEncryption?: Encryption;
28
+ pccsApiUrl: string;
29
+ status: TerminatedOrderStatus;
30
+ actionAccountAddress: string;
31
+ };
32
+ export type CompleteOrderOptions = {
33
+ getParentOrderInfo: (orderId: string) => Promise<Pick<OfferInfo, 'offerType'> | undefined>;
34
+ };
35
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,2 @@
1
+ import { ValidateOrderOptions, ValidateOrderParams } from './types.js';
2
+ export declare const validateOrder: (params: ValidateOrderParams, options?: ValidateOrderOptions) => Promise<void>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateOrder = void 0;
7
+ const constants_js_1 = require("../../constants.js");
8
+ const Offer_js_1 = __importDefault(require("../../models/Offer.js"));
9
+ const index_js_1 = require("../../types/index.js");
10
+ const ALLOWED_PORTS_FORWARDING = [constants_js_1.HTTPS_PORT];
11
+ const defaultOptions = {
12
+ isRestrictedByOfferType(offerId, type) {
13
+ return new Offer_js_1.default(offerId).isRestrictedByOfferType(type);
14
+ },
15
+ isRestrictionsPermitThatOffer(offerId, otherOfferId) {
16
+ return new Offer_js_1.default(offerId).isRestrictionsPermitThatOffer(otherOfferId);
17
+ },
18
+ };
19
+ const validateOrder = async (params, options = defaultOptions) => {
20
+ // Check if order/offer in input group
21
+ if (params.order.offerInfo.group !== index_js_1.OfferGroup.Input)
22
+ throw Error('Offer should be in input group');
23
+ // Check port forward property
24
+ const offerMetadata = params.order.offerInfo.metadata;
25
+ if (offerMetadata) {
26
+ let parsedMetadata;
27
+ try {
28
+ parsedMetadata = JSON.parse(offerMetadata);
29
+ }
30
+ catch (e) {
31
+ throw new Error('Invalid offer metadata JSON');
32
+ }
33
+ const { portForwarding, groupingOffers } = parsedMetadata;
34
+ if (portForwarding && !ALLOWED_PORTS_FORWARDING.includes(Number(portForwarding))) {
35
+ throw new Error(`Port ${portForwarding} is not allowed to be forwarded`);
36
+ }
37
+ if (groupingOffers && params.order.offerType !== index_js_1.OfferType.Solution) {
38
+ throw new Error('Only solution metadata can be grouped');
39
+ }
40
+ }
41
+ // Check if there is TEE restrictions
42
+ const isRestrictedByTeeOffer = await options.isRestrictedByOfferType(params.order.offerId, index_js_1.OfferType.TeeOffer);
43
+ if (!isRestrictedByTeeOffer)
44
+ return;
45
+ // Check if parent order exist
46
+ if (!params.parentOrder)
47
+ throw Error('Offer restricted by TEE, but no parent offer found');
48
+ // Check if parent offer complies with restrictions
49
+ const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(params.order.offerId, params.parentOrder.offerId);
50
+ if (!restrictionsPermitParentOffer)
51
+ throw Error("Parent TEE offer doesn't comply with restrictions");
52
+ if (params.parentOrder.offerType !== index_js_1.OfferType.TeeOffer)
53
+ throw Error('Offer restricted by TEE, but parent offer is not TEE');
54
+ // Check if each input offer (from parent order) complies with restrictions
55
+ const inputOffersTypes = new Map();
56
+ await Promise.all(params.parentOrder.orderArgs.inputOffersIds.map(async (offerId) => {
57
+ if (offerId === params.order.offerId)
58
+ return true;
59
+ const type = await new Offer_js_1.default(offerId).getOfferType();
60
+ inputOffersTypes.set(type, true);
61
+ const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(params.order.offerId, offerId);
62
+ if (!restrictionsPermitParentOffer)
63
+ throw Error(`TEE input offer ${type}: ${offerId} doesn't comply with restrictions`);
64
+ }));
65
+ // Check if all required (by restrictions) offer types exist in input offers (from parent order)
66
+ params.order.offerInfo.restrictions.types.forEach((type) => {
67
+ if (type === index_js_1.OfferType.TeeOffer)
68
+ return;
69
+ if (!inputOffersTypes.get(type))
70
+ throw Error(`Offers with type ${type} not found in TEE input offers, but required by restrictions`);
71
+ });
72
+ };
73
+ exports.validateOrder = validateOrder;
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvdmFsaWRhdGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscURBQWdEO0FBQ2hELHFFQUEwQztBQUMxQyxtREFBNkQ7QUFHN0QsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLHlCQUFVLENBQUMsQ0FBQztBQUU5QyxNQUFNLGNBQWMsR0FBeUI7SUFDM0MsdUJBQXVCLENBQUMsT0FBZSxFQUFFLElBQWU7UUFDdEQsT0FBTyxJQUFJLGtCQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDZCQUE2QixDQUFDLE9BQWUsRUFBRSxZQUFvQjtRQUNqRSxPQUFPLElBQUksa0JBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0YsQ0FBQztBQUVLLE1BQU0sYUFBYSxHQUFHLEtBQUssRUFDaEMsTUFBMkIsRUFDM0IsVUFBZ0MsY0FBYyxFQUMvQixFQUFFO0lBQ2pCLHNDQUFzQztJQUN0QyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxxQkFBVSxDQUFDLEtBQUs7UUFDbkQsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUVoRCw4QkFBOEI7SUFDOUIsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ3RELElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsSUFBSSxjQUF1QyxDQUFDO1FBQzVDLElBQUksQ0FBQztZQUNILGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBNEIsQ0FBQztRQUN4RSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1B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
@@ -20,7 +20,6 @@ export declare class BaseConnector {
20
20
  } & import("pino").default.ChildLoggerOptions>;
21
21
  protected contract?: Contract<typeof abi>;
22
22
  protected tokenContract?: Contract<typeof abi>;
23
- protected tokenAddress?: string;
24
23
  isInitialized(): boolean;
25
24
  checkIfInitialized(): void;
26
25
  /**
@@ -33,11 +32,6 @@ export declare class BaseConnector {
33
32
  * @returns initialized contract
34
33
  */
35
34
  getTokenContract(): Contract<typeof abi>;
36
- /**
37
- *
38
- * @returns default token address
39
- */
40
- getTokenAddress(): string;
41
35
  /**
42
36
  * Function for connecting to blockchain
43
37
  * Used to setting up settings for blockchain connector
@@ -4,7 +4,6 @@ export class BaseConnector {
4
4
  logger = rootLogger.child({ className: this.constructor['name'] });
5
5
  contract;
6
6
  tokenContract;
7
- tokenAddress;
8
7
  isInitialized() {
9
8
  return this.initialized;
10
9
  }
@@ -28,14 +27,6 @@ export class BaseConnector {
28
27
  this.checkIfInitialized();
29
28
  return this.tokenContract;
30
29
  }
31
- /**
32
- *
33
- * @returns default token address
34
- */
35
- getTokenAddress() {
36
- this.checkIfInitialized();
37
- return this.tokenAddress;
38
- }
39
30
  /**
40
31
  * Function for connecting to blockchain
41
32
  * Used to setting up settings for blockchain connector
@@ -49,4 +40,4 @@ export class BaseConnector {
49
40
  }
50
41
  }
51
42
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25uZWN0b3JzL0Jhc2VDb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBZ0J0QyxNQUFNLE9BQU8sYUFBYTtJQUNkLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkUsUUFBUSxDQUF3QjtJQUNoQyxhQUFhLENBQXdCO0lBQ3JDLFlBQVksQ0FBVTtJQUV6QixhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUNuQixNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsc0NBQXNDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLDRCQUE0QixDQUN0SCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsUUFBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsYUFBYyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLE9BQU8sSUFBSSxDQUFDLFlBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxJQUFrQixDQUFDO0lBRW5ELFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25uZWN0b3JzL0Jhc2VDb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBZ0J0QyxNQUFNLE9BQU8sYUFBYTtJQUNkLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkUsUUFBUSxDQUF3QjtJQUNoQyxhQUFhLENBQXdCO0lBRXhDLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxzQ0FBc0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsNEJBQTRCLENBQ3RILENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQyxRQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQyxhQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQWUsSUFBa0IsQ0FBQztJQUVuRCxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
@@ -61,9 +61,7 @@ class BlockchainConnector extends BaseConnector {
61
61
  Superpro.address = config.contractAddress;
62
62
  this.contract = new Contract(abi, Superpro.address, web3Context);
63
63
  TxManager.init(store.web3Https);
64
- const tokenAddress = await Superpro.getPrimaryTokenAddress(this.contract);
65
- SuperproToken.addressHttps = tokenAddress;
66
- this.tokenAddress = tokenAddress;
64
+ SuperproToken.addressHttps = await Superpro.getTokenAddress(this.contract);
67
65
  Monitoring.getInstance().initializeLogging();
68
66
  this.initialized = true;
69
67
  this.logger.trace('Initialized');
@@ -313,4 +311,4 @@ __decorate([
313
311
  __metadata("design:returntype", Promise)
314
312
  ], BlockchainConnector.prototype, "getTransactions", null);
315
313
  export default BlockchainConnector;
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25uZWN0b3JzL0Jsb2NrY2hhaW5Db25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sSUFBSSxFQUFFLEVBR1gsUUFBUSxFQUdSLFdBQVcsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUNMLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLGVBQWUsR0FDaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBUzVCLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhDLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDaEMsT0FBTyxRQUFRLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxhQUFhLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBELE1BQU0sbUJBQW9CLFNBQVEsYUFBYTtJQUNyQyxvQkFBb0IsQ0FBVTtJQUV0QyxZQUFZO0lBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBc0I7SUFFN0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVztRQUN2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
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25uZWN0b3JzL0Jsb2NrY2hhaW5Db25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sSUFBSSxFQUFFLEVBR1gsUUFBUSxFQUdSLFdBQVcsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUNMLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLGVBQWUsR0FDaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBUzVCLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhDLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDaEMsT0FBTyxRQUFRLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxhQUFhLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBELE1BQU0sbUJBQW9CLFNBQVEsYUFBYTtJQUNyQyxvQkFBb0IsQ0FBVTtJQUV0QyxZQUFZO0lBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBc0I7SUFFN0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVztRQUN2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