@super-protocol/sdk-js 2.2.0-beta.9 → 2.2.0-beta.90

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 (206) hide show
  1. package/dist/cjs/RIGenerator.d.ts +1 -0
  2. package/dist/cjs/RIGenerator.js +2 -1
  3. package/dist/cjs/TIIGenerator.d.ts +2 -1
  4. package/dist/cjs/TIIGenerator.js +13 -3
  5. package/dist/cjs/TeeInputGeneratorBase.d.ts +1 -1
  6. package/dist/cjs/TeeInputGeneratorBase.js +20 -32
  7. package/dist/cjs/analytics/eventProviders/BrowserEventProvider.d.ts +1 -0
  8. package/dist/cjs/analytics/eventProviders/BrowserEventProvider.js +3 -3
  9. package/dist/cjs/analytics/transports/AxiosTransport.js +1 -1
  10. package/dist/cjs/config.d.ts +0 -1
  11. package/dist/cjs/config.js +1 -2
  12. package/dist/cjs/constants.d.ts +5 -4
  13. package/dist/cjs/constants.js +31 -7
  14. package/dist/cjs/contracts/abi.d.ts +698 -120
  15. package/dist/cjs/contracts/abi.js +890 -150
  16. package/dist/cjs/crypto/index.d.ts +1 -0
  17. package/dist/cjs/crypto/index.js +16 -1
  18. package/dist/cjs/errors/base.error.d.ts +3 -0
  19. package/dist/cjs/errors/base.error.js +19 -0
  20. package/dist/cjs/errors/index.d.ts +2 -0
  21. package/dist/cjs/errors/index.js +8 -0
  22. package/dist/cjs/errors/not-found.error.d.ts +3 -0
  23. package/dist/cjs/errors/not-found.error.js +8 -0
  24. package/dist/cjs/errors/utils.d.ts +1 -0
  25. package/dist/cjs/errors/utils.js +25 -0
  26. package/dist/cjs/index.d.ts +8 -1
  27. package/dist/cjs/index.js +15 -2
  28. package/dist/cjs/models/Offer.d.ts +40 -4
  29. package/dist/cjs/models/Offer.js +115 -11
  30. package/dist/cjs/models/Provider.js +1 -1
  31. package/dist/cjs/models/TCB.js +13 -5
  32. package/dist/cjs/models/TeeOffer.d.ts +26 -14
  33. package/dist/cjs/models/TeeOffer.js +79 -42
  34. package/dist/cjs/proto/TRI.d.ts +39 -4
  35. package/dist/cjs/proto/TRI.js +18 -1
  36. package/dist/cjs/providers/storage/IStorageProvider.d.ts +1 -1
  37. package/dist/cjs/providers/storage/S3StorageProvider.d.ts +8 -7
  38. package/dist/cjs/providers/storage/S3StorageProvider.js +80 -38
  39. package/dist/cjs/providers/storage/StorageAdapter.d.ts +9 -7
  40. package/dist/cjs/providers/storage/StorageAdapter.js +27 -29
  41. package/dist/cjs/providers/storage/StorageContentWriter.d.ts +2 -2
  42. package/dist/cjs/providers/storage/StorageContentWriter.js +5 -5
  43. package/dist/cjs/providers/storage/StorageKeyValueAdapter.d.ts +8 -5
  44. package/dist/cjs/providers/storage/StorageKeyValueAdapter.js +30 -16
  45. package/dist/cjs/providers/storage/StorjAdapter.d.ts +5 -4
  46. package/dist/cjs/providers/storage/StorjAdapter.js +15 -9
  47. package/dist/cjs/providers/storage/StorjCredentialsManager.d.ts +24 -0
  48. package/dist/cjs/providers/storage/StorjCredentialsManager.js +86 -0
  49. package/dist/cjs/providers/storage/StorjStorageProvider.js +2 -2
  50. package/dist/cjs/providers/storage/fs-storage-provider.d.ts +19 -0
  51. package/dist/cjs/providers/storage/fs-storage-provider.js +143 -0
  52. package/dist/cjs/providers/storage/getStorageProvider.js +4 -1
  53. package/dist/cjs/providers/storage/parseStorageCredentials.d.ts +5 -0
  54. package/dist/cjs/providers/storage/parseStorageCredentials.js +21 -0
  55. package/dist/cjs/providers/storage/types.d.ts +22 -0
  56. package/dist/cjs/staticModels/LoaderSecretsPublicKeys.js +3 -3
  57. package/dist/cjs/staticModels/LoaderSessions.d.ts +2 -2
  58. package/dist/cjs/staticModels/LoaderSessions.js +5 -5
  59. package/dist/cjs/staticModels/OfferResources.d.ts +2 -1
  60. package/dist/cjs/staticModels/OfferResources.js +24 -8
  61. package/dist/cjs/staticModels/OffersStorageAllocated.d.ts +1 -2
  62. package/dist/cjs/staticModels/OffersStorageAllocated.js +10 -10
  63. package/dist/cjs/staticModels/OffersStorageRequests.js +4 -3
  64. package/dist/cjs/staticModels/Orders.js +3 -2
  65. package/dist/cjs/staticModels/SecretRequests.d.ts +2 -2
  66. package/dist/cjs/staticModels/SecretRequests.js +19 -10
  67. package/dist/cjs/staticModels/TeeOffers.d.ts +0 -2
  68. package/dist/cjs/staticModels/TeeOffers.js +2 -33
  69. package/dist/cjs/tee/QuoteParser.d.ts +61 -6
  70. package/dist/cjs/tee/QuoteParser.js +248 -29
  71. package/dist/cjs/tee/QuoteValidator.d.ts +11 -0
  72. package/dist/cjs/tee/QuoteValidator.js +119 -30
  73. package/dist/cjs/tee/TeeBlockVerifier.d.ts +3 -4
  74. package/dist/cjs/tee/TeeBlockVerifier.js +2 -8
  75. package/dist/cjs/tee/errors.d.ts +6 -3
  76. package/dist/cjs/tee/errors.js +9 -5
  77. package/dist/cjs/tee/types.d.ts +50 -9
  78. package/dist/cjs/tee/types.js +32 -1
  79. package/dist/cjs/types/DistributedSecretStorage.d.ts +7 -0
  80. package/dist/cjs/types/Offer.d.ts +4 -3
  81. package/dist/cjs/types/OfferVersion.d.ts +13 -0
  82. package/dist/cjs/types/OfferVersion.js +9 -0
  83. package/dist/cjs/types/Order.d.ts +7 -2
  84. package/dist/cjs/types/Order.js +3 -1
  85. package/dist/cjs/types/SlotInfo.d.ts +1 -0
  86. package/dist/cjs/types/Superpro.d.ts +2 -1
  87. package/dist/cjs/types/Superpro.js +2 -1
  88. package/dist/cjs/types/TeeOfferInfo.d.ts +0 -1
  89. package/dist/cjs/types/index.d.ts +1 -0
  90. package/dist/cjs/types/index.js +2 -1
  91. package/dist/cjs/types/storage/StorageAccess.d.ts +3 -3
  92. package/dist/cjs/utils/CryptoKeysTransformer.d.ts +7 -1
  93. package/dist/cjs/utils/CryptoKeysTransformer.js +66 -7
  94. package/dist/cjs/utils/NonceTracker.js +1 -1
  95. package/dist/cjs/utils/helper.d.ts +7 -1
  96. package/dist/cjs/utils/helper.js +87 -2
  97. package/dist/cjs/utils/helpers/OrderArgsHelper.d.ts +16 -0
  98. package/dist/cjs/utils/helpers/OrderArgsHelper.js +59 -0
  99. package/dist/cjs/utils/helpers/index.d.ts +2 -0
  100. package/dist/cjs/utils/helpers/index.js +3 -1
  101. package/dist/cjs/utils/helpers/uploadObjectToStorage.d.ts +13 -0
  102. package/dist/cjs/utils/helpers/uploadObjectToStorage.js +55 -0
  103. package/dist/mjs/RIGenerator.d.ts +1 -0
  104. package/dist/mjs/RIGenerator.js +2 -1
  105. package/dist/mjs/TIIGenerator.d.ts +2 -1
  106. package/dist/mjs/TIIGenerator.js +13 -3
  107. package/dist/mjs/TeeInputGeneratorBase.d.ts +1 -1
  108. package/dist/mjs/TeeInputGeneratorBase.js +20 -32
  109. package/dist/mjs/analytics/eventProviders/BrowserEventProvider.d.ts +1 -0
  110. package/dist/mjs/analytics/eventProviders/BrowserEventProvider.js +3 -3
  111. package/dist/mjs/analytics/transports/AxiosTransport.js +1 -1
  112. package/dist/mjs/config.d.ts +0 -1
  113. package/dist/mjs/config.js +1 -2
  114. package/dist/mjs/constants.d.ts +5 -4
  115. package/dist/mjs/constants.js +30 -6
  116. package/dist/mjs/contracts/abi.d.ts +698 -120
  117. package/dist/mjs/contracts/abi.js +890 -150
  118. package/dist/mjs/crypto/index.d.ts +1 -0
  119. package/dist/mjs/crypto/index.js +2 -1
  120. package/dist/mjs/errors/base.error.d.ts +3 -0
  121. package/dist/mjs/errors/base.error.js +15 -0
  122. package/dist/mjs/errors/index.d.ts +2 -0
  123. package/dist/mjs/errors/index.js +3 -0
  124. package/dist/mjs/errors/not-found.error.d.ts +3 -0
  125. package/dist/mjs/errors/not-found.error.js +4 -0
  126. package/dist/mjs/errors/utils.d.ts +1 -0
  127. package/dist/mjs/errors/utils.js +18 -0
  128. package/dist/mjs/index.d.ts +8 -1
  129. package/dist/mjs/index.js +8 -2
  130. package/dist/mjs/models/Offer.d.ts +40 -4
  131. package/dist/mjs/models/Offer.js +116 -12
  132. package/dist/mjs/models/Provider.js +1 -1
  133. package/dist/mjs/models/TCB.js +13 -5
  134. package/dist/mjs/models/TeeOffer.d.ts +26 -14
  135. package/dist/mjs/models/TeeOffer.js +80 -43
  136. package/dist/mjs/proto/TRI.d.ts +39 -4
  137. package/dist/mjs/proto/TRI.js +18 -1
  138. package/dist/mjs/providers/storage/IStorageProvider.d.ts +1 -1
  139. package/dist/mjs/providers/storage/S3StorageProvider.d.ts +8 -7
  140. package/dist/mjs/providers/storage/S3StorageProvider.js +77 -38
  141. package/dist/mjs/providers/storage/StorageAdapter.d.ts +9 -7
  142. package/dist/mjs/providers/storage/StorageAdapter.js +27 -29
  143. package/dist/mjs/providers/storage/StorageContentWriter.d.ts +2 -2
  144. package/dist/mjs/providers/storage/StorageContentWriter.js +5 -5
  145. package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +8 -5
  146. package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +30 -16
  147. package/dist/mjs/providers/storage/StorjAdapter.d.ts +5 -4
  148. package/dist/mjs/providers/storage/StorjAdapter.js +15 -9
  149. package/dist/mjs/providers/storage/StorjCredentialsManager.d.ts +24 -0
  150. package/dist/mjs/providers/storage/StorjCredentialsManager.js +82 -0
  151. package/dist/mjs/providers/storage/StorjStorageProvider.js +2 -2
  152. package/dist/mjs/providers/storage/fs-storage-provider.d.ts +19 -0
  153. package/dist/mjs/providers/storage/fs-storage-provider.js +113 -0
  154. package/dist/mjs/providers/storage/getStorageProvider.js +4 -1
  155. package/dist/mjs/providers/storage/parseStorageCredentials.d.ts +5 -0
  156. package/dist/mjs/providers/storage/parseStorageCredentials.js +17 -0
  157. package/dist/mjs/providers/storage/types.d.ts +22 -0
  158. package/dist/mjs/staticModels/LoaderSecretsPublicKeys.js +4 -4
  159. package/dist/mjs/staticModels/LoaderSessions.d.ts +2 -2
  160. package/dist/mjs/staticModels/LoaderSessions.js +6 -6
  161. package/dist/mjs/staticModels/OfferResources.d.ts +2 -1
  162. package/dist/mjs/staticModels/OfferResources.js +25 -9
  163. package/dist/mjs/staticModels/OffersStorageAllocated.d.ts +1 -2
  164. package/dist/mjs/staticModels/OffersStorageAllocated.js +11 -11
  165. package/dist/mjs/staticModels/OffersStorageRequests.js +5 -4
  166. package/dist/mjs/staticModels/Orders.js +3 -2
  167. package/dist/mjs/staticModels/SecretRequests.d.ts +2 -2
  168. package/dist/mjs/staticModels/SecretRequests.js +20 -11
  169. package/dist/mjs/staticModels/TeeOffers.d.ts +0 -2
  170. package/dist/mjs/staticModels/TeeOffers.js +2 -33
  171. package/dist/mjs/store.js +2 -2
  172. package/dist/mjs/tee/QuoteParser.d.ts +61 -6
  173. package/dist/mjs/tee/QuoteParser.js +245 -28
  174. package/dist/mjs/tee/QuoteValidator.d.ts +11 -0
  175. package/dist/mjs/tee/QuoteValidator.js +119 -30
  176. package/dist/mjs/tee/TeeBlockVerifier.d.ts +3 -4
  177. package/dist/mjs/tee/TeeBlockVerifier.js +2 -8
  178. package/dist/mjs/tee/errors.d.ts +6 -3
  179. package/dist/mjs/tee/errors.js +7 -4
  180. package/dist/mjs/tee/types.d.ts +50 -9
  181. package/dist/mjs/tee/types.js +28 -2
  182. package/dist/mjs/types/DistributedSecretStorage.d.ts +7 -0
  183. package/dist/mjs/types/Offer.d.ts +4 -3
  184. package/dist/mjs/types/OfferVersion.d.ts +13 -0
  185. package/dist/mjs/types/OfferVersion.js +6 -0
  186. package/dist/mjs/types/Order.d.ts +7 -2
  187. package/dist/mjs/types/Order.js +3 -1
  188. package/dist/mjs/types/SlotInfo.d.ts +1 -0
  189. package/dist/mjs/types/Superpro.d.ts +2 -1
  190. package/dist/mjs/types/Superpro.js +2 -1
  191. package/dist/mjs/types/TeeOfferInfo.d.ts +0 -1
  192. package/dist/mjs/types/index.d.ts +1 -0
  193. package/dist/mjs/types/index.js +2 -1
  194. package/dist/mjs/types/storage/StorageAccess.d.ts +3 -3
  195. package/dist/mjs/utils/CryptoKeysTransformer.d.ts +7 -1
  196. package/dist/mjs/utils/CryptoKeysTransformer.js +66 -7
  197. package/dist/mjs/utils/NonceTracker.js +1 -1
  198. package/dist/mjs/utils/helper.d.ts +7 -1
  199. package/dist/mjs/utils/helper.js +80 -1
  200. package/dist/mjs/utils/helpers/OrderArgsHelper.d.ts +16 -0
  201. package/dist/mjs/utils/helpers/OrderArgsHelper.js +52 -0
  202. package/dist/mjs/utils/helpers/index.d.ts +2 -0
  203. package/dist/mjs/utils/helpers/index.js +3 -1
  204. package/dist/mjs/utils/helpers/uploadObjectToStorage.d.ts +13 -0
  205. package/dist/mjs/utils/helpers/uploadObjectToStorage.js +48 -0
  206. package/package.json +4 -4
@@ -1,2 +1,3 @@
1
1
  import Crypto from './Crypto.js';
2
2
  export default Crypto;
3
+ export * from './types.js';
@@ -1,3 +1,4 @@
1
1
  import Crypto from './Crypto.js';
2
2
  export default Crypto;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxlQUFlLE1BQU0sQ0FBQyJ9
3
+ export * from './types.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxlQUFlLE1BQU0sQ0FBQztBQUN0QixjQUFjLFlBQVksQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ export declare class BaseError extends Error {
2
+ constructor(error: unknown);
3
+ }
@@ -0,0 +1,15 @@
1
+ import { getErrorMessage } from './utils.js';
2
+ export class BaseError extends Error {
3
+ constructor(error) {
4
+ const message = getErrorMessage(error);
5
+ super(message);
6
+ Object.setPrototypeOf(this, new.target.prototype);
7
+ if (Error.captureStackTrace) {
8
+ Error.captureStackTrace(this, this.constructor);
9
+ }
10
+ else {
11
+ throw new Error('captureStackTrace does not exist');
12
+ }
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lcnJvcnMvYmFzZS5lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTdDLE1BQU0sT0FBTyxTQUFVLFNBQVEsS0FBSztJQUNsQyxZQUFZLEtBQWM7UUFDeEIsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEQsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
@@ -0,0 +1,2 @@
1
+ export { BaseError } from './base.error.js';
2
+ export { NotFoundError } from './not-found.error.js';
@@ -0,0 +1,3 @@
1
+ export { BaseError } from './base.error.js';
2
+ export { NotFoundError } from './not-found.error.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXJyb3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import { BaseError } from './base.error.js';
2
+ export declare class NotFoundError extends BaseError {
3
+ }
@@ -0,0 +1,4 @@
1
+ import { BaseError } from './base.error.js';
2
+ export class NotFoundError extends BaseError {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWZvdW5kLmVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9ub3QtZm91bmQuZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztDQUFHIn0=
@@ -0,0 +1 @@
1
+ export declare const getErrorMessage: (error: unknown) => string;
@@ -0,0 +1,18 @@
1
+ import _ from 'lodash';
2
+ export const getErrorMessage = (error) => {
3
+ if (typeof error === 'string') {
4
+ return error;
5
+ }
6
+ const allowedErrorProperties = ['message', 'stack'];
7
+ if (_.isObject(error)) {
8
+ for (const field of allowedErrorProperties) {
9
+ const value = _.get(error, field);
10
+ if (typeof value === 'string') {
11
+ return value;
12
+ }
13
+ }
14
+ return _.toString(error);
15
+ }
16
+ return `Unknown error`;
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXJyb3JzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFjLEVBQVUsRUFBRTtJQUN4RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBQzNDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyJ9
@@ -3,6 +3,7 @@ export * from './connectors/BlockchainConnector.js';
3
3
  export { Config } from './connectors/BaseConnector.js';
4
4
  export { default as BlockchainEventsListener } from './connectors/BlockchainEventsListener.js';
5
5
  export { default as Crypto } from './crypto/index.js';
6
+ export * from './crypto/index.js';
6
7
  export { default as TIIGenerator } from './TIIGenerator.js';
7
8
  export * from './TIIGenerator.js';
8
9
  export { default as RIGenerator } from './RIGenerator.js';
@@ -56,6 +57,7 @@ export * as ChunkedStorageProvider from './providers/storage/ChunksDownloadDecor
56
57
  export { default as StorjAdapter, StorjConfig } from './providers/storage/StorjAdapter.js';
57
58
  export { default as StorageMetadataReader, StorageMetadataReaderConfig, } from './providers/storage/StorageMetadataReader.js';
58
59
  export { default as StorageKeyValueAdapter } from './providers/storage/StorageKeyValueAdapter.js';
60
+ export { IStorageKeyValueAdapter, IStorageAdapter } from './providers/storage/types.js';
59
61
  export { default as StorageAdapter, CacheEvents, StorageAdapterConfig, } from './providers/storage/StorageAdapter.js';
60
62
  export { default as StorageContentWriter, StorageContentWriterConfig, ContentWriterType, } from './providers/storage/StorageContentWriter.js';
61
63
  export { default as StorageFileAccess } from './types/storage/StorageFileAccess.js';
@@ -63,12 +65,16 @@ export { default as StorageObject } from './types/storage/StorageObject.js';
63
65
  export { default as StorageAccess } from './types/storage/StorageAccess.js';
64
66
  export { default as getStorageProvider } from './providers/storage/getStorageProvider.js';
65
67
  export { default as IStorageProvider } from './providers/storage/IStorageProvider.js';
68
+ export { parseStorageCredentials } from './providers/storage/parseStorageCredentials.js';
69
+ export { CredentialsPermissions, StorjCredentialsManager, } from './providers/storage/StorjCredentialsManager.js';
66
70
  export * from './utils/CryptoKeysTransformer.js';
67
71
  export * as helpers from './utils/helpers/index.js';
68
72
  export * as constants from './constants.js';
69
73
  export { Web3TransactionRevertedByEvmError } from './utils/TxManager.js';
70
74
  import './polyfills.js';
71
- export { TeeSgxParser } from './tee/QuoteParser.js';
75
+ export * from './tee/errors.js';
76
+ export { QuoteType } from './tee/types.js';
77
+ export { TeeSgxParser, TeeTdxParser, TeeParser } from './tee/QuoteParser.js';
72
78
  export { QuoteValidator } from './tee/QuoteValidator.js';
73
79
  export * from './tee/statuses.js';
74
80
  export { TeeBlockVerifier } from './tee/TeeBlockVerifier.js';
@@ -79,3 +85,4 @@ export { default as BrowserEventProvider } from './analytics/eventProviders/Brow
79
85
  export { default as AxiosTransport } from './analytics/transports/AxiosTransport.js';
80
86
  export { default as FetchTransport } from './analytics/transports/FetchTransport.js';
81
87
  export * from './utils/cache/index.js';
88
+ export * from './errors/index.js';
package/dist/mjs/index.js CHANGED
@@ -2,6 +2,7 @@ export { default as BlockchainConnector } from './connectors/BlockchainConnector
2
2
  export * from './connectors/BlockchainConnector.js';
3
3
  export { default as BlockchainEventsListener } from './connectors/BlockchainEventsListener.js';
4
4
  export { default as Crypto } from './crypto/index.js';
5
+ export * from './crypto/index.js';
5
6
  export { default as TIIGenerator } from './TIIGenerator.js';
6
7
  export * from './TIIGenerator.js';
7
8
  export { default as RIGenerator } from './RIGenerator.js';
@@ -58,12 +59,16 @@ export { default as StorageKeyValueAdapter } from './providers/storage/StorageKe
58
59
  export { default as StorageAdapter, CacheEvents, } from './providers/storage/StorageAdapter.js';
59
60
  export { default as StorageContentWriter, ContentWriterType, } from './providers/storage/StorageContentWriter.js';
60
61
  export { default as getStorageProvider } from './providers/storage/getStorageProvider.js';
62
+ export { parseStorageCredentials } from './providers/storage/parseStorageCredentials.js';
63
+ export { CredentialsPermissions, StorjCredentialsManager, } from './providers/storage/StorjCredentialsManager.js';
61
64
  export * from './utils/CryptoKeysTransformer.js';
62
65
  export * as helpers from './utils/helpers/index.js';
63
66
  export * as constants from './constants.js';
64
67
  export { Web3TransactionRevertedByEvmError } from './utils/TxManager.js';
65
68
  import './polyfills.js';
66
- export { TeeSgxParser } from './tee/QuoteParser.js';
69
+ export * from './tee/errors.js';
70
+ export { QuoteType } from './tee/types.js';
71
+ export { TeeSgxParser, TeeTdxParser, TeeParser } from './tee/QuoteParser.js';
67
72
  export { QuoteValidator } from './tee/QuoteValidator.js';
68
73
  export * from './tee/statuses.js';
69
74
  export { TeeBlockVerifier } from './tee/TeeBlockVerifier.js';
@@ -74,4 +79,5 @@ export { default as BrowserEventProvider } from './analytics/eventProviders/Brow
74
79
  export { default as AxiosTransport } from './analytics/transports/AxiosTransport.js';
75
80
  export { default as FetchTransport } from './analytics/transports/FetchTransport.js';
76
81
  export * from './utils/cache/index.js';
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJGLGNBQWMscUNBQXFDLENBQUM7QUFJcEQsT0FBTyxFQUFFLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxPQUFPLElBQUksTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsT0FBTyxFQUFFLE9BQU8sSUFBSSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxPQUFPLElBQUksV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxPQUFPLElBQUksU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsY0FBYyw2QkFBNkIsQ0FBQztBQUU1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
82
+ export * from './errors/index.js';
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJGLGNBQWMscUNBQXFDLENBQUM7QUFJcEQsT0FBTyxFQUFFLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxPQUFPLElBQUksTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxPQUFPLElBQUksU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELGNBQWMsMEJBQTBCLENBQUM7QUFFekMsT0FBTyxFQUFFLE9BQU8sSUFBSSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELGNBQWMsMEJBQTBCLENBQUM7QUFFekMsT0FBTyxFQUFFLE9BQU8sSUFBSSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNu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
@@ -1,4 +1,4 @@
1
- import { SlotInfo, OptionInfo, SlotUsage, Origins, OfferInfo, OfferType, ValueOfferSlot, TransactionOptions, BlockchainId, TokenAmount } from '../types/index.js';
1
+ import { SlotInfo, OptionInfo, SlotUsage, Origins, OfferInfo, OfferType, ValueOfferSlot, TransactionOptions, BlockchainId, ValueOfferRestrictionsSpecification, TokenAmount, OfferVersionInfo, OfferVersion } from '../types/index.js';
2
2
  declare class Offer {
3
3
  private static contract;
4
4
  private logger;
@@ -12,13 +12,17 @@ declare class Offer {
12
12
  minDeposit?: TokenAmount;
13
13
  constructor(offerId: BlockchainId);
14
14
  /**
15
- * Function for fetching offer status from blockchain
15
+ * Checks if the offer is enabled
16
16
  */
17
17
  isEnabled(): Promise<boolean>;
18
18
  /**
19
- * Function for fetching offer status from blockchain
19
+ * Checks if the offer is base image
20
20
  */
21
21
  isBaseImage(): Promise<boolean>;
22
+ /**
23
+ * Checks if the offer has public data
24
+ */
25
+ isOfferPublic(): Promise<boolean>;
22
26
  /**
23
27
  * Updates name in offer info
24
28
  * @param name - new name
@@ -37,6 +41,12 @@ declare class Offer {
37
41
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
38
42
  */
39
43
  setInfo(newInfo: OfferInfo, transactionOptions?: TransactionOptions): Promise<void>;
44
+ /**
45
+ * Updates offer restrictions
46
+ * @param restrictions - new offer restrictions
47
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
48
+ */
49
+ setRestrictions(restrictions: ValueOfferRestrictionsSpecification, transactionOptions?: TransactionOptions): Promise<void>;
40
50
  /**
41
51
  * Function for fetching offer info from blockchain
42
52
  */
@@ -53,6 +63,10 @@ declare class Offer {
53
63
  * Function for fetching TEE offer provider authority account from blockchain
54
64
  */
55
65
  getProviderAuthority(): Promise<string>;
66
+ /**
67
+ * Function for fetching TEE offer provider action account from blockchain
68
+ */
69
+ getProviderActionAccount(): Promise<string>;
56
70
  /**
57
71
  * Fetch new Origins (createdDate, createdBy, modifiedDate and modifiedBy)
58
72
  */
@@ -65,6 +79,14 @@ declare class Offer {
65
79
  * Function for fetching cheapest value offer from blockchain
66
80
  */
67
81
  getCheapestPrice(): Promise<TokenAmount>;
82
+ /**
83
+ * Returns the offer version info.
84
+ */
85
+ getVersion(version: number): Promise<OfferVersion>;
86
+ /**
87
+ * Returns the offer version info.
88
+ */
89
+ getVersionCount(): Promise<number>;
68
90
  isOfferExists(): Promise<boolean>;
69
91
  private checkIfOfferExistsWithInterval;
70
92
  /**
@@ -110,6 +132,20 @@ declare class Offer {
110
132
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
111
133
  */
112
134
  deleteSlot(slotId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
135
+ /**
136
+ * Function for add a new version to the value offer.
137
+ * @param newVersion - Version number
138
+ * @param versionInfo - Version info
139
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
140
+ */
141
+ setNewVersion(newVersion: number, versionInfo: OfferVersionInfo, transactionOptions?: TransactionOptions): Promise<void>;
142
+ /**
143
+ * Functcion for deletion the version from the value offer.
144
+ * @param newVersion - Version number
145
+ * @param versionInfo - Version info
146
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
147
+ */
148
+ deleteVersion(version: number, transactionOptions?: TransactionOptions): Promise<void>;
113
149
  /**
114
150
  * Function for disabling offer
115
151
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
@@ -124,7 +160,7 @@ declare class Offer {
124
160
  * Checks if passed offer match restrictions in this offer
125
161
  * @param offerId - id of offer what needs to be checked
126
162
  */
127
- isRestrictionsPermitThatOffer(offerId: BlockchainId): Promise<boolean>;
163
+ isRestrictionsPermitThatOffer(offerId: BlockchainId, offerVersion?: number): Promise<boolean>;
128
164
  /**
129
165
  * Checks if this offer contains restrictions of a certain type
130
166
  * @param type - type of offer which needs to be checked
@@ -15,7 +15,7 @@ import { formatBytes32String } from 'ethers/lib/utils.js';
15
15
  import TeeOffers from '../staticModels/TeeOffers.js';
16
16
  import TxManager from '../utils/TxManager.js';
17
17
  import { tryWithInterval } from '../utils/helpers/index.js';
18
- import { BLOCKCHAIN_CALL_RETRY_INTERVAL, BLOCKCHAIN_CALL_RETRY_ATTEMPTS } from '../constants.js';
18
+ import { BLOCKCHAIN_CALL_RETRY_INTERVAL, BLOCKCHAIN_CALL_RETRY_ATTEMPTS, DEFAULT_OFFER_VERSION } from '../constants.js';
19
19
  class Offer {
20
20
  static contract;
21
21
  logger;
@@ -38,22 +38,29 @@ class Offer {
38
38
  });
39
39
  }
40
40
  /**
41
- * Function for fetching offer status from blockchain
41
+ * Checks if the offer is enabled
42
42
  */
43
43
  isEnabled() {
44
44
  return Offer.contract.methods.isOfferEnabled(this.id).call();
45
45
  }
46
46
  /**
47
- * Function for fetching offer status from blockchain
47
+ * Checks if the offer is base image
48
48
  */
49
49
  async isBaseImage() {
50
50
  const info = this.offerInfo ?? (await this.getInfo());
51
- if (info.offerType !== OfferType.Solution || !Boolean(info.resultResource)) {
51
+ if (info.offerType !== OfferType.Solution) {
52
52
  return false;
53
53
  }
54
- const isRestrictedBySolution = await this.isRestrictedByOfferType(OfferType.Solution);
54
+ const isRestrictedBySolution = this.offerInfo?.restrictions.types.includes(OfferType.Solution);
55
55
  return !isRestrictedBySolution;
56
56
  }
57
+ /**
58
+ * Checks if the offer has public data
59
+ */
60
+ async isOfferPublic() {
61
+ const info = this.offerInfo ?? (await this.getInfo());
62
+ return Boolean(info.resultResource);
63
+ }
57
64
  /**
58
65
  * Updates name in offer info
59
66
  * @param name - new name
@@ -84,10 +91,22 @@ class Offer {
84
91
  async setInfo(newInfo, transactionOptions) {
85
92
  checkIfActionAccountInitialized(transactionOptions);
86
93
  const { restrictions, ...restInfo } = newInfo;
87
- await TxManager.execute(Offer.contract.methods.setValueOfferInfo(this.id, restInfo, restrictions), transactionOptions);
94
+ await TxManager.execute(Offer.contract.methods.setValueOfferInfo(this.id, restInfo), transactionOptions);
95
+ await TxManager.execute(Offer.contract.methods.setValueOfferRestrictionsSpecification(this.id, restrictions), transactionOptions);
88
96
  if (this.offerInfo)
89
97
  this.offerInfo = newInfo;
90
98
  }
99
+ /**
100
+ * Updates offer restrictions
101
+ * @param restrictions - new offer restrictions
102
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
103
+ */
104
+ async setRestrictions(restrictions, transactionOptions) {
105
+ checkIfActionAccountInitialized(transactionOptions);
106
+ await TxManager.execute(Offer.contract.methods.setValueOfferRestrictionsSpecification(this.id, restrictions), transactionOptions);
107
+ if (this.offerInfo)
108
+ this.offerInfo.restrictions = restrictions;
109
+ }
91
110
  /**
92
111
  * Function for fetching offer info from blockchain
93
112
  */
@@ -97,7 +116,9 @@ class Offer {
97
116
  }
98
117
  const { info } = await Offer.contract.methods.getValueOffer(this.id).call();
99
118
  this.offerInfo = cleanWeb3Data(info);
100
- const offerRestrictions = await Offer.contract.methods.getOfferInitialRestrictions(this.id).call();
119
+ const offerRestrictions = await Offer.contract.methods
120
+ .getOfferRestrictionsSpecification(this.id)
121
+ .call();
101
122
  this.offerInfo.restrictions = cleanWeb3Data(offerRestrictions);
102
123
  return this.offerInfo;
103
124
  }
@@ -122,6 +143,12 @@ class Offer {
122
143
  this.providerAuthority = await Offer.contract.methods.getOfferProviderAuthority(this.id).call();
123
144
  return this.providerAuthority;
124
145
  }
146
+ /**
147
+ * Function for fetching TEE offer provider action account from blockchain
148
+ */
149
+ getProviderActionAccount() {
150
+ return Offer.contract.methods.getOfferProviderActionAccount(this.id).call();
151
+ }
125
152
  /**
126
153
  * Fetch new Origins (createdDate, createdBy, modifiedDate and modifiedBy)
127
154
  */
@@ -154,6 +181,21 @@ class Offer {
154
181
  .call()
155
182
  .then((price) => convertBigIntToString(price));
156
183
  }
184
+ /**
185
+ * Returns the offer version info.
186
+ */
187
+ async getVersion(version) {
188
+ return await Offer.contract.methods
189
+ .getOfferVersion(this.id, version)
190
+ .call()
191
+ .then((offerVersion) => cleanWeb3Data(offerVersion));
192
+ }
193
+ /**
194
+ * Returns the offer version info.
195
+ */
196
+ async getVersionCount() {
197
+ return await Offer.contract.methods.getOfferVersionsCount(this.id).call();
198
+ }
157
199
  isOfferExists() {
158
200
  return Offer.contract.methods.isOfferExists(this.id).call();
159
201
  }
@@ -237,7 +279,9 @@ class Offer {
237
279
  async updateSlot(slotId, newSlotInfo, newOptionInfo, newUsage, transactionOptions) {
238
280
  checkIfActionAccountInitialized(transactionOptions);
239
281
  newSlotInfo = packSlotInfo(newSlotInfo, await TeeOffers.getDenominator());
240
- await TxManager.execute(Offer.contract.methods.updateValueOfferSlot(this.id, slotId, newSlotInfo, convertOptionInfoToRaw(newOptionInfo), newUsage), transactionOptions);
282
+ await TxManager.execute(Offer.contract.methods.updateValueOfferSlotInfo(this.id, slotId, newSlotInfo), transactionOptions);
283
+ await TxManager.execute(Offer.contract.methods.updateValueOfferSlotOption(this.id, slotId, convertOptionInfoToRaw(newOptionInfo)), transactionOptions);
284
+ await TxManager.execute(Offer.contract.methods.updateValueOfferSlotUsage(this.id, slotId, newUsage), transactionOptions);
241
285
  }
242
286
  /**
243
287
  * Function for delete slot usage from offer
@@ -248,6 +292,28 @@ class Offer {
248
292
  checkIfActionAccountInitialized(transactionOptions);
249
293
  await TxManager.execute(Offer.contract.methods.deleteValueOfferSlot(this.id, slotId), transactionOptions);
250
294
  }
295
+ /**
296
+ * Function for add a new version to the value offer.
297
+ * @param newVersion - Version number
298
+ * @param versionInfo - Version info
299
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
300
+ */
301
+ async setNewVersion(newVersion, versionInfo, transactionOptions) {
302
+ checkIfActionAccountInitialized(transactionOptions);
303
+ const transactionCall = Offer.contract.methods.setOfferNewVersion(this.id, newVersion, versionInfo);
304
+ await TxManager.execute(transactionCall, transactionOptions);
305
+ }
306
+ /**
307
+ * Functcion for deletion the version from the value offer.
308
+ * @param newVersion - Version number
309
+ * @param versionInfo - Version info
310
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
311
+ */
312
+ async deleteVersion(version, transactionOptions) {
313
+ checkIfActionAccountInitialized(transactionOptions);
314
+ const transactionCall = Offer.contract.methods.deleteOfferVersion(this.id, version);
315
+ await TxManager.execute(transactionCall, transactionOptions);
316
+ }
251
317
  /**
252
318
  * Function for disabling offer
253
319
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
@@ -268,8 +334,10 @@ class Offer {
268
334
  * Checks if passed offer match restrictions in this offer
269
335
  * @param offerId - id of offer what needs to be checked
270
336
  */
271
- isRestrictionsPermitThatOffer(offerId) {
272
- return Offer.contract.methods.isOfferRestrictionsPermitOtherOffer(this.id, offerId).call();
337
+ isRestrictionsPermitThatOffer(offerId, offerVersion = DEFAULT_OFFER_VERSION) {
338
+ return Offer.contract.methods
339
+ .isOfferRestrictionsPermitOtherOffer(this.id, offerId, offerVersion)
340
+ .call();
273
341
  }
274
342
  /**
275
343
  * Checks if this offer contains restrictions of a certain type
@@ -291,6 +359,12 @@ __decorate([
291
359
  __metadata("design:paramtypes", []),
292
360
  __metadata("design:returntype", Promise)
293
361
  ], Offer.prototype, "isBaseImage", null);
362
+ __decorate([
363
+ incrementMethodCall(),
364
+ __metadata("design:type", Function),
365
+ __metadata("design:paramtypes", []),
366
+ __metadata("design:returntype", Promise)
367
+ ], Offer.prototype, "isOfferPublic", null);
294
368
  __decorate([
295
369
  incrementMethodCall(),
296
370
  __metadata("design:type", Function),
@@ -315,6 +389,12 @@ __decorate([
315
389
  __metadata("design:paramtypes", []),
316
390
  __metadata("design:returntype", Promise)
317
391
  ], Offer.prototype, "getProviderAuthority", null);
392
+ __decorate([
393
+ incrementMethodCall(),
394
+ __metadata("design:type", Function),
395
+ __metadata("design:paramtypes", []),
396
+ __metadata("design:returntype", Promise)
397
+ ], Offer.prototype, "getProviderActionAccount", null);
318
398
  __decorate([
319
399
  incrementMethodCall(),
320
400
  __metadata("design:type", Function),
@@ -333,6 +413,18 @@ __decorate([
333
413
  __metadata("design:paramtypes", []),
334
414
  __metadata("design:returntype", Promise)
335
415
  ], Offer.prototype, "getCheapestPrice", null);
416
+ __decorate([
417
+ incrementMethodCall(),
418
+ __metadata("design:type", Function),
419
+ __metadata("design:paramtypes", [Number]),
420
+ __metadata("design:returntype", Promise)
421
+ ], Offer.prototype, "getVersion", null);
422
+ __decorate([
423
+ incrementMethodCall(),
424
+ __metadata("design:type", Function),
425
+ __metadata("design:paramtypes", []),
426
+ __metadata("design:returntype", Promise)
427
+ ], Offer.prototype, "getVersionCount", null);
336
428
  __decorate([
337
429
  incrementMethodCall(),
338
430
  __metadata("design:type", Function),
@@ -360,7 +452,19 @@ __decorate([
360
452
  __decorate([
361
453
  incrementMethodCall(),
362
454
  __metadata("design:type", Function),
363
- __metadata("design:paramtypes", [String]),
455
+ __metadata("design:paramtypes", [Number, Object, Object]),
456
+ __metadata("design:returntype", Promise)
457
+ ], Offer.prototype, "setNewVersion", null);
458
+ __decorate([
459
+ incrementMethodCall(),
460
+ __metadata("design:type", Function),
461
+ __metadata("design:paramtypes", [Number, Object]),
462
+ __metadata("design:returntype", Promise)
463
+ ], Offer.prototype, "deleteVersion", null);
464
+ __decorate([
465
+ incrementMethodCall(),
466
+ __metadata("design:type", Function),
467
+ __metadata("design:paramtypes", [String, Number]),
364
468
  __metadata("design:returntype", Promise)
365
469
  ], Offer.prototype, "isRestrictionsPermitThatOffer", null);
366
470
  __decorate([
@@ -370,4 +474,4 @@ __decorate([
370
474
  __metadata("design:returntype", Promise)
371
475
  ], Offer.prototype, "isRestrictedByOfferType", null);
372
476
  export default Offer;
373
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHNCQUFzQixHQUN2QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFNTCxTQUFTLEdBT1YsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLFNBQVMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakcsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMs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
477
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHNCQUFzQixHQUN2QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFNTCxTQUFTLEdBU1YsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLFNBQVMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDhCQUE4QixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEgsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcs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
@@ -111,4 +111,4 @@ class Provider {
111
111
  }
112
112
  }
113
113
  export default Provider;
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL1Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsYUFBYSxFQUNiLHFCQUFxQixHQUN0QixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBRXJELE1BQU0sUUFBUTtJQUNKLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBRXZDLFlBQVksQ0FBZ0I7SUFDNUIsYUFBYSxDQUFtQjtJQUNoQyxXQUFXLENBQWtCO0lBQzdCLFNBQVMsQ0FBa0I7SUFDM0IsT0FBTyxDQUFXO0lBQ2xCLFVBQVUsQ0FBUztJQUUxQixZQUFZLFVBQWtCO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0RSxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFNLENBQ2pCLFlBQTBCLEVBQzFCLGtCQUF1QztRQUV2QywrQkFBK0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUN0RCxrQkFBa0IsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE9B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
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL1Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsYUFBYSxFQUNiLHFCQUFxQixHQUN0QixNQUFNLG9CQUFvQixDQUFDO0FBUTVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBRXJELE1BQU0sUUFBUTtJQUNKLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBRXZDLFlBQVksQ0FBZ0I7SUFDNUIsYUFBYSxDQUFtQjtJQUNoQyxXQUFXLENBQWtCO0lBQzdCLFNBQVMsQ0FBa0I7SUFDM0IsT0FBTyxDQUFXO0lBQ2xCLFVBQVUsQ0FBUztJQUUxQixZQUFZLFVBQWtCO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0RSxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFNLENBQ2pCLFlBQTBCLEVBQzFCLGtCQUF1QztRQUV2QywrQkFBK0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUN0RCxrQkFBa0IsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDdkQsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDaEMsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFpQixDQUFDLENBQUM7UUFFdkUsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQy9DLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDdkMsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQzdDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDckMsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLE9BQU8scUJBQXFCLENBQzFCLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUNqRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDNUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUNuQyxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQVksQ0FBQyxDQUFDO1FBRXhELDBEQUEwRDtRQUMxRCxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFM0QsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksMEJBQTBCLENBQUMsbUJBQWdDLEdBQUc7UUFDbkUsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvRixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8scUJBQXFCLENBQzFCLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQzFFLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BELE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRW5FLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSx5QkFBeUI7UUFDOUIsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDN0IseUJBQXlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUMxQyxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTzthQUM3QixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3ZDLElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFFRCxlQUFlLFFBQVEsQ0FBQyJ9