@super-protocol/sdk-js 3.1.0-beta.0 → 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.
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvY29tcGxldGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSw0RUFBaUQ7QUFDakQscUVBQTJDO0FBQzNDLHFFQUEwQztBQUMxQyxxRUFBMEM7QUFDMUMsbURBQTREO0FBQzVELG1EQUE4RDtBQUc5RCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDcEIsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLG9CQUFTLENBQUMsSUFBSSxFQUFFLG9CQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakUsTUFBTSxnQ0FBZ0MsR0FBRztJQUN2QyxzQkFBVyxDQUFDLEdBQUc7SUFDZixzQkFBVyxDQUFDLFVBQVU7SUFDdEIsc0JBQVcsQ0FBQyxTQUFTO0NBQ3RCLENBQUM7QUFTRixNQUFNLCtCQUErQixHQUFHLENBQ3RDLFNBQXdDLEVBQ3pCLEVBQUU7SUFDakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFFM0MsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBa0IsQ0FBQztJQUNoRCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN2RCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsTUFBd0IsRUFBbUIsRUFBRTtJQUMzRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU3RixJQUFJLFdBQVcsRUFBRSxTQUFTLEtBQUssb0JBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsRCxPQUFPLE1BQU0seUJBQVksQ0FBQyxRQUFRLENBQ2hDLE9BQU8sRUFDUCxRQUFRLEVBQ1IsU0FBUyxDQUFDLElBQUksRUFDZCxrQkFBa0IsRUFDbEIsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsK0JBQStCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0QsTUFBTSxPQUFPLEdBQUc7UUFDZCxRQUFRLEVBQUUsUUFBUTtRQUNsQixVQUFVLEVBQUUsa0JBQWtCO0tBQy9CLENBQUM7SUFDRixNQUFNLGdCQUFnQixHQUFHLE1BQU0sa0JBQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUVsRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFFRixNQUFNLDJCQUEyQixHQUF5QjtJQUN4RCxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTztRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLGtCQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsTUFBTSxhQUFhLEdBQUcsTUFBTSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFbkQsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDaEQsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLGtCQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxrQkFBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU3QyxPQUFPO1lBQ0wsU0FBUztTQUNWLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQztBQUVGLGtCQUFlLEtBQUssRUFDbEIsTUFBMkIsRUFDM0IsVUFBZ0MsMkJBQTJCLEVBQzVDLEVBQUU7SUFDakIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUUzQixNQUFNLEtBQUssR0FBRyxJQUFJLGtCQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsTUFBTSxTQUFTLEdBQUcsTUFBTSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxrQkFBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU3QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLHNCQUFXLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssc0JBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN6RixNQUFNLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxNQUFNLGVBQWUsR0FDbkIsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsa0JBQWtCO1FBQzFDLENBQUMsQ0FBQyxNQUFNLGdCQUFnQixDQUFDO1lBQ3JCLE9BQU87WUFDUCxTQUFTO1lBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0I7WUFDN0MsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUN0RCxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7U0FDOUIsQ0FBQztRQUNKLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFcEIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLHNCQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekMsTUFBTSxLQUFLLENBQUMsWUFBWSxDQUFDLHNCQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0FBQzlGLENBQUMsQ0FBQyJ9
@@ -1,2 +1,3 @@
1
+ export * from './complete-order.js';
1
2
  export * from './types.js';
2
3
  export * from './validate-order.js';
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./complete-order.js"), exports);
17
18
  __exportStar(require("./types.js"), exports);
18
19
  __exportStar(require("./validate-order.js"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQixzREFBb0MifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyw2Q0FBMkI7QUFDM0Isc0RBQW9DIn0=
@@ -1,22 +1,35 @@
1
- import { OfferInfo, OfferType, OrderArgs } from '../../types/index.js';
1
+ import { Encryption, StorageProviderResource } from '@super-protocol/dto-js';
2
+ import { OfferInfo, OfferType, OrderArgs, OrderStatus } from '../../types/index.js';
2
3
  export type SolutionOfferProperties = {
3
4
  portForwarding?: number;
4
5
  groupingOffers?: boolean;
5
6
  };
6
- type ParentOrderInfo = {
7
- orderArgs: OrderArgs;
8
- offerId: string;
9
- offerType: OfferType;
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
+ };
10
18
  };
11
- type OrderInfo = {
12
- offerId: string;
13
- offerType: OfferType;
14
- offerInfo: Pick<OfferInfo, 'group' | 'metadata' | 'restrictions'>;
15
- parentOrder?: ParentOrderInfo;
16
- };
17
- export type ValidateOrderParams = OrderInfo;
18
19
  export type ValidateOrderOptions = {
19
20
  isRestrictedByOfferType: (offerId: string, type: OfferType) => Promise<boolean>;
20
21
  isRestrictionsPermitThatOffer: (offerId: string, otherOfferId: string) => Promise<boolean>;
21
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
+ };
22
35
  export {};
@@ -1,2 +1,2 @@
1
1
  import { ValidateOrderOptions, ValidateOrderParams } from './types.js';
2
- export declare const validateOrder: (orderInfo: ValidateOrderParams, options?: ValidateOrderOptions) => Promise<void>;
2
+ export declare const validateOrder: (params: ValidateOrderParams, options?: ValidateOrderOptions) => Promise<void>;
@@ -16,47 +16,54 @@ const defaultOptions = {
16
16
  return new Offer_js_1.default(offerId).isRestrictionsPermitThatOffer(otherOfferId);
17
17
  },
18
18
  };
19
- const validateOrder = async (orderInfo, options = defaultOptions) => {
19
+ const validateOrder = async (params, options = defaultOptions) => {
20
20
  // Check if order/offer in input group
21
- if (orderInfo.offerInfo.group !== index_js_1.OfferGroup.Input)
21
+ if (params.order.offerInfo.group !== index_js_1.OfferGroup.Input)
22
22
  throw Error('Offer should be in input group');
23
23
  // Check port forward property
24
- const offerMetadata = orderInfo.offerInfo.metadata;
24
+ const offerMetadata = params.order.offerInfo.metadata;
25
25
  if (offerMetadata) {
26
- const { portForwarding, groupingOffers } = JSON.parse(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;
27
34
  if (portForwarding && !ALLOWED_PORTS_FORWARDING.includes(Number(portForwarding))) {
28
35
  throw new Error(`Port ${portForwarding} is not allowed to be forwarded`);
29
36
  }
30
- if (groupingOffers && orderInfo.offerType !== index_js_1.OfferType.Solution) {
31
- throw new Error(`Only solution metadata could be grouped`);
37
+ if (groupingOffers && params.order.offerType !== index_js_1.OfferType.Solution) {
38
+ throw new Error('Only solution metadata can be grouped');
32
39
  }
33
40
  }
34
41
  // Check if there is TEE restrictions
35
- const isRestrictedByTeeOffer = await options.isRestrictedByOfferType(orderInfo.offerId, index_js_1.OfferType.TeeOffer);
42
+ const isRestrictedByTeeOffer = await options.isRestrictedByOfferType(params.order.offerId, index_js_1.OfferType.TeeOffer);
36
43
  if (!isRestrictedByTeeOffer)
37
44
  return;
38
45
  // Check if parent order exist
39
- if (!orderInfo.parentOrder)
46
+ if (!params.parentOrder)
40
47
  throw Error('Offer restricted by TEE, but no parent offer found');
41
48
  // Check if parent offer complies with restrictions
42
- const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(orderInfo.offerId, orderInfo.parentOrder.offerId);
49
+ const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(params.order.offerId, params.parentOrder.offerId);
43
50
  if (!restrictionsPermitParentOffer)
44
- throw Error("Parent TEE offer doesn't complies with restrictions");
45
- if (orderInfo.parentOrder.offerType !== index_js_1.OfferType.TeeOffer)
51
+ throw Error("Parent TEE offer doesn't comply with restrictions");
52
+ if (params.parentOrder.offerType !== index_js_1.OfferType.TeeOffer)
46
53
  throw Error('Offer restricted by TEE, but parent offer is not TEE');
47
54
  // Check if each input offer (from parent order) complies with restrictions
48
55
  const inputOffersTypes = new Map();
49
- await Promise.all(orderInfo.parentOrder.orderArgs.inputOffersIds.map(async (offerId) => {
50
- if (offerId === orderInfo.offerId)
56
+ await Promise.all(params.parentOrder.orderArgs.inputOffersIds.map(async (offerId) => {
57
+ if (offerId === params.order.offerId)
51
58
  return true;
52
59
  const type = await new Offer_js_1.default(offerId).getOfferType();
53
60
  inputOffersTypes.set(type, true);
54
- const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(orderInfo.offerId, offerId);
61
+ const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(params.order.offerId, offerId);
55
62
  if (!restrictionsPermitParentOffer)
56
- throw Error(`TEE input offer ${type}: ${offerId} doesn't complies with restrictions`);
63
+ throw Error(`TEE input offer ${type}: ${offerId} doesn't comply with restrictions`);
57
64
  }));
58
65
  // Check if all required (by restrictions) offer types exist in input offers (from parent order)
59
- orderInfo.offerInfo.restrictions.types.forEach((type) => {
66
+ params.order.offerInfo.restrictions.types.forEach((type) => {
60
67
  if (type === index_js_1.OfferType.TeeOffer)
61
68
  return;
62
69
  if (!inputOffersTypes.get(type))
@@ -64,4 +71,4 @@ const validateOrder = async (orderInfo, options = defaultOptions) => {
64
71
  });
65
72
  };
66
73
  exports.validateOrder = validateOrder;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvdmFsaWRhdGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscURBQWdEO0FBQ2hELHFFQUEwQztBQUMxQyxtREFBNkQ7QUFHN0QsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLHlCQUFVLENBQUMsQ0FBQztBQUU5QyxNQUFNLGNBQWMsR0FBeUI7SUFDM0MsdUJBQXVCLENBQUMsT0FBZSxFQUFFLElBQWU7UUFDdEQsT0FBTyxJQUFJLGtCQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDZCQUE2QixDQUFDLE9BQWUsRUFBRSxZQUFvQjtRQUNqRSxPQUFPLElBQUksa0JBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0YsQ0FBQztBQUVLLE1BQU0sYUFBYSxHQUFHLEtBQUssRUFDaEMsU0FBOEIsRUFDOUIsVUFBZ0MsY0FBYyxFQUMvQixFQUFFO0lBQ2pCLHNDQUFzQztJQUN0QyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLHFCQUFVLENBQUMsS0FBSztRQUFFLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFbEcsOEJBQThCO0lBQzlCLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ25ELElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsTUFBTSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBNEIsQ0FBQztRQUVoRyxJQUFJLGNBQWMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsRUFB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
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvdmFsaWRhdGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscURBQWdEO0FBQ2hELHFFQUEwQztBQUMxQyxtREFBNkQ7QUFHN0QsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLHlCQUFVLENBQUMsQ0FBQztBQUU5QyxNQUFNLGNBQWMsR0FBeUI7SUFDM0MsdUJBQXVCLENBQUMsT0FBZSxFQUFFLElBQWU7UUFDdEQsT0FBTyxJQUFJLGtCQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDZCQUE2QixDQUFDLE9BQWUsRUFBRSxZQUFvQjtRQUNqRSxPQUFPLElBQUksa0JBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0YsQ0FBQztBQUVLLE1BQU0sYUFBYSxHQUFHLEtBQUssRUFDaEMsTUFBMkIsRUFDM0IsVUFBZ0MsY0FBYyxFQUMvQixFQUFFO0lBQ2pCLHNDQUFzQztJQUN0QyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxxQkFBVSxDQUFDLEtBQUs7UUFDbkQsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUVoRCw4QkFBOEI7SUFDOUIsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ3RELElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsSUFBSSxjQUF1QyxDQUFDO1FBQzVDLElBQUksQ0FBQztZQUNILGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBNEIsQ0FBQztRQUN4RSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsTUFBTSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxjQUFjLENBQUM7UUFFMUQsSUFBSSxjQUFjLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqRixNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsY0FBYyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFFRCxJQUFJLGNBQWMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxvQkFBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHFDQUFxQztJQUNyQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sT0FBTyxDQUFDLHVCQUF1QixDQUNsRSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFDcEIsb0JBQVMsQ0FBQyxRQUFRLENBQ25CLENBQUM7SUFDRixJQUFJLENBQUMsc0JBQXNCO1FBQUUsT0FBTztJQUVwQyw4QkFBOEI7SUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1FBQUUsTUFBTSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztJQUUzRixtREFBbUQ7SUFDbkQsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLE9BQU8sQ0FBQyw2QkFBNkIsQ0FDL0UsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQ3BCLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUMzQixDQUFDO0lBQ0YsSUFBSSxDQUFDLDZCQUE2QjtRQUNoQyxNQUFNLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBRW5FLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEtBQUssb0JBQVMsQ0FBQyxRQUFRO1FBQ3JELE1BQU0sS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7SUFFdEUsMkVBQTJFO0lBQzNFLE1BQU0sZ0JBQWdCLEdBQTRCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDNUQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ2hFLElBQUksT0FBTyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxrQkFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JELGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFakMsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLE9BQU8sQ0FBQyw2QkFBNkIsQ0FDL0UsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQ3BCLE9BQU8sQ0FDUixDQUFDO1FBQ0YsSUFBSSxDQUFDLDZCQUE2QjtZQUNoQyxNQUFNLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxLQUFLLE9BQU8sbUNBQW1DLENBQUMsQ0FBQztJQUN4RixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBRUYsZ0dBQWdHO0lBQ2hHLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDekQsSUFBSSxJQUFJLEtBQUssb0JBQVMsQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUM3QixNQUFNLEtBQUssQ0FDVCxvQkFBb0IsSUFBSSw4REFBOEQsQ0FDdkYsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBMUVXLFFBQUEsYUFBYSxpQkEwRXhCIn0=
@@ -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,82 @@
1
+ import TIIGenerator from '../../TIIGenerator.js';
2
+ import Crypto from '../../crypto/index.js';
3
+ import Offer from '../../models/Offer.js';
4
+ import Order from '../../models/Order.js';
5
+ import { OfferType } from '../../types/Offer.js';
6
+ import { OrderStatus } from '../../types/Order.js';
7
+ const ZERO_ID = '0';
8
+ const supportedOfferTypes = [OfferType.Data, OfferType.Solution];
9
+ const supportedOrderStatusesToComplete = [
10
+ OrderStatus.New,
11
+ OrderStatus.Processing,
12
+ OrderStatus.Canceling,
13
+ ];
14
+ const getResultPublicKeyFromOrderInfo = (orderInfo) => {
15
+ const { publicKey } = orderInfo.resultInfo;
16
+ try {
17
+ return JSON.parse(publicKey);
18
+ }
19
+ catch (err) {
20
+ throw new Error('Could not parse result public key');
21
+ }
22
+ };
23
+ const buildOrderResult = async (params) => {
24
+ const { orderId, orderInfo, resource, resourceEncryption, parentOrder, pccsApiUrl } = params;
25
+ if (parentOrder?.offerType === OfferType.TeeOffer) {
26
+ return await TIIGenerator.generate(orderId, resource, orderInfo.args, resourceEncryption, pccsApiUrl);
27
+ }
28
+ const publicKey = getResultPublicKeyFromOrderInfo(orderInfo);
29
+ const content = {
30
+ resource: resource,
31
+ encryption: resourceEncryption,
32
+ };
33
+ const encryptedContent = await Crypto.encrypt(JSON.stringify(content), publicKey);
34
+ return JSON.stringify(encryptedContent);
35
+ };
36
+ const defaultCompleteOrderOptions = {
37
+ async getParentOrderInfo(orderId) {
38
+ const order = new Order(orderId);
39
+ const parentOrderId = await order.getParentOrder();
40
+ if (!parentOrderId || parentOrderId === ZERO_ID) {
41
+ return;
42
+ }
43
+ const parentOrder = new Order(parentOrderId);
44
+ const info = await parentOrder.getOrderInfo();
45
+ const offer = new Offer(info.offerId);
46
+ const offerType = await offer.getOfferType();
47
+ return {
48
+ offerType,
49
+ };
50
+ },
51
+ };
52
+ export default async (params, options = defaultCompleteOrderOptions) => {
53
+ const { orderId } = params;
54
+ const order = new Order(orderId);
55
+ const orderInfo = await order.getOrderInfo();
56
+ const offer = new Offer(orderInfo.offerId);
57
+ const offerType = await offer.getOfferType();
58
+ if (!supportedOfferTypes.includes(offerType)) {
59
+ throw new Error(`Cannot complete order with offer type '${offerType}'`);
60
+ }
61
+ if (!supportedOrderStatusesToComplete.includes(orderInfo.status)) {
62
+ throw new Error(`Cannot complete order with order status '${orderInfo.status}'`);
63
+ }
64
+ if (params.status === OrderStatus.Canceled && orderInfo.status !== OrderStatus.Canceling) {
65
+ throw Error(`Order cancellation is possible only from "canceling" status`);
66
+ }
67
+ const encryptedResult = params.resource && params.resourceEncryption
68
+ ? await buildOrderResult({
69
+ orderId,
70
+ orderInfo,
71
+ resource: params.resource,
72
+ resourceEncryption: params.resourceEncryption,
73
+ parentOrder: await options.getParentOrderInfo(orderId),
74
+ pccsApiUrl: params.pccsApiUrl,
75
+ })
76
+ : 'No resource';
77
+ if (orderInfo.status === OrderStatus.New) {
78
+ await order.updateStatus(OrderStatus.Processing, { from: params.actionAccountAddress });
79
+ }
80
+ await order.complete(params.status, encryptedResult, { from: params.actionAccountAddress });
81
+ };
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvY29tcGxldGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxZQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sdUJBQXVCLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sdUJBQXVCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sdUJBQXVCLENBQUM7QUFDMUMsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDcEIsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sZ0NBQWdDLEdBQUc7SUFDdkMsV0FBVyxDQUFDLEdBQUc7SUFDZixXQUFXLENBQUMsVUFBVTtJQUN0QixXQUFXLENBQUMsU0FBUztDQUN0QixDQUFDO0FBU0YsTUFBTSwrQkFBK0IsR0FBRyxDQUN0QyxTQUF3QyxFQUN6QixFQUFFO0lBQ2pCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO0lBRTNDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQWtCLENBQUM7SUFDaEQsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLE1BQXdCLEVBQW1CLEVBQUU7SUFDM0UsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVB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
@@ -1,2 +1,3 @@
1
+ export * from './complete-order.js';
1
2
  export * from './types.js';
2
3
  export * from './validate-order.js';
@@ -1,3 +1,4 @@
1
+ export * from './complete-order.js';
1
2
  export * from './types.js';
2
3
  export * from './validate-order.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxxQkFBcUIsQ0FBQyJ9
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHFCQUFxQixDQUFDIn0=
@@ -1,22 +1,35 @@
1
- import { OfferInfo, OfferType, OrderArgs } from '../../types/index.js';
1
+ import { Encryption, StorageProviderResource } from '@super-protocol/dto-js';
2
+ import { OfferInfo, OfferType, OrderArgs, OrderStatus } from '../../types/index.js';
2
3
  export type SolutionOfferProperties = {
3
4
  portForwarding?: number;
4
5
  groupingOffers?: boolean;
5
6
  };
6
- type ParentOrderInfo = {
7
- orderArgs: OrderArgs;
8
- offerId: string;
9
- offerType: OfferType;
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
+ };
10
18
  };
11
- type OrderInfo = {
12
- offerId: string;
13
- offerType: OfferType;
14
- offerInfo: Pick<OfferInfo, 'group' | 'metadata' | 'restrictions'>;
15
- parentOrder?: ParentOrderInfo;
16
- };
17
- export type ValidateOrderParams = OrderInfo;
18
19
  export type ValidateOrderOptions = {
19
20
  isRestrictedByOfferType: (offerId: string, type: OfferType) => Promise<boolean>;
20
21
  isRestrictionsPermitThatOffer: (offerId: string, otherOfferId: string) => Promise<boolean>;
21
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
+ };
22
35
  export {};
@@ -1,2 +1,2 @@
1
1
  import { ValidateOrderOptions, ValidateOrderParams } from './types.js';
2
- export declare const validateOrder: (orderInfo: ValidateOrderParams, options?: ValidateOrderOptions) => Promise<void>;
2
+ export declare const validateOrder: (params: ValidateOrderParams, options?: ValidateOrderOptions) => Promise<void>;
@@ -10,51 +10,58 @@ const defaultOptions = {
10
10
  return new Offer(offerId).isRestrictionsPermitThatOffer(otherOfferId);
11
11
  },
12
12
  };
13
- export const validateOrder = async (orderInfo, options = defaultOptions) => {
13
+ export const validateOrder = async (params, options = defaultOptions) => {
14
14
  // Check if order/offer in input group
15
- if (orderInfo.offerInfo.group !== OfferGroup.Input)
15
+ if (params.order.offerInfo.group !== OfferGroup.Input)
16
16
  throw Error('Offer should be in input group');
17
17
  // Check port forward property
18
- const offerMetadata = orderInfo.offerInfo.metadata;
18
+ const offerMetadata = params.order.offerInfo.metadata;
19
19
  if (offerMetadata) {
20
- const { portForwarding, groupingOffers } = JSON.parse(offerMetadata);
20
+ let parsedMetadata;
21
+ try {
22
+ parsedMetadata = JSON.parse(offerMetadata);
23
+ }
24
+ catch (e) {
25
+ throw new Error('Invalid offer metadata JSON');
26
+ }
27
+ const { portForwarding, groupingOffers } = parsedMetadata;
21
28
  if (portForwarding && !ALLOWED_PORTS_FORWARDING.includes(Number(portForwarding))) {
22
29
  throw new Error(`Port ${portForwarding} is not allowed to be forwarded`);
23
30
  }
24
- if (groupingOffers && orderInfo.offerType !== OfferType.Solution) {
25
- throw new Error(`Only solution metadata could be grouped`);
31
+ if (groupingOffers && params.order.offerType !== OfferType.Solution) {
32
+ throw new Error('Only solution metadata can be grouped');
26
33
  }
27
34
  }
28
35
  // Check if there is TEE restrictions
29
- const isRestrictedByTeeOffer = await options.isRestrictedByOfferType(orderInfo.offerId, OfferType.TeeOffer);
36
+ const isRestrictedByTeeOffer = await options.isRestrictedByOfferType(params.order.offerId, OfferType.TeeOffer);
30
37
  if (!isRestrictedByTeeOffer)
31
38
  return;
32
39
  // Check if parent order exist
33
- if (!orderInfo.parentOrder)
40
+ if (!params.parentOrder)
34
41
  throw Error('Offer restricted by TEE, but no parent offer found');
35
42
  // Check if parent offer complies with restrictions
36
- const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(orderInfo.offerId, orderInfo.parentOrder.offerId);
43
+ const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(params.order.offerId, params.parentOrder.offerId);
37
44
  if (!restrictionsPermitParentOffer)
38
- throw Error("Parent TEE offer doesn't complies with restrictions");
39
- if (orderInfo.parentOrder.offerType !== OfferType.TeeOffer)
45
+ throw Error("Parent TEE offer doesn't comply with restrictions");
46
+ if (params.parentOrder.offerType !== OfferType.TeeOffer)
40
47
  throw Error('Offer restricted by TEE, but parent offer is not TEE');
41
48
  // Check if each input offer (from parent order) complies with restrictions
42
49
  const inputOffersTypes = new Map();
43
- await Promise.all(orderInfo.parentOrder.orderArgs.inputOffersIds.map(async (offerId) => {
44
- if (offerId === orderInfo.offerId)
50
+ await Promise.all(params.parentOrder.orderArgs.inputOffersIds.map(async (offerId) => {
51
+ if (offerId === params.order.offerId)
45
52
  return true;
46
53
  const type = await new Offer(offerId).getOfferType();
47
54
  inputOffersTypes.set(type, true);
48
- const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(orderInfo.offerId, offerId);
55
+ const restrictionsPermitParentOffer = await options.isRestrictionsPermitThatOffer(params.order.offerId, offerId);
49
56
  if (!restrictionsPermitParentOffer)
50
- throw Error(`TEE input offer ${type}: ${offerId} doesn't complies with restrictions`);
57
+ throw Error(`TEE input offer ${type}: ${offerId} doesn't comply with restrictions`);
51
58
  }));
52
59
  // Check if all required (by restrictions) offer types exist in input offers (from parent order)
53
- orderInfo.offerInfo.restrictions.types.forEach((type) => {
60
+ params.order.offerInfo.restrictions.types.forEach((type) => {
54
61
  if (type === OfferType.TeeOffer)
55
62
  return;
56
63
  if (!inputOffersTypes.get(type))
57
64
  throw Error(`Offers with type ${type} not found in TEE input offers, but required by restrictions`);
58
65
  });
59
66
  };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvdmFsaWRhdGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxNQUFNLHVCQUF1QixDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHN0QsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRTlDLE1BQU0sY0FBYyxHQUF5QjtJQUMzQyx1QkFBdUIsQ0FBQyxPQUFlLEVBQUUsSUFBZTtRQUN0RCxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxPQUFlLEVBQUUsWUFBb0I7UUFDakUsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQ2hDLFNBQThCLEVBQzlCLFVBQWdDLGNBQWMsRUFDL0IsRUFBRTtJQUNqQixzQ0FBc0M7SUFDdEMsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsS0FBSztRQUFFLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFbEcsOEJBQThCO0lBQzlCLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ25ELElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsTUFBTSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFB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
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvdmFsaWRhdGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxNQUFNLHVCQUF1QixDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHN0QsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRTlDLE1BQU0sY0FBYyxHQUF5QjtJQUMzQyx1QkFBdUIsQ0FBQyxPQUFlLEVBQUUsSUFBZTtRQUN0RCxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxPQUFlLEVBQUUsWUFBb0I7UUFDakUsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQ2hDLE1BQTJCLEVBQzNCLFVBQWdDLGNBQWMsRUFDL0IsRUFBRTtJQUNqQixzQ0FBc0M7SUFDdEMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLEtBQUs7UUFDbkQsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUVoRCw4QkFBOEI7SUFDOUIsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ3RELElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsSUFBSSxjQUF1QyxDQUFDO1FBQzVDLElBQUksQ0FBQztZQUNILGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBNEIsQ0FBQztRQUN4RSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsTUFBTSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxjQUFjLENBQUM7UUFFMUQsSUFBSSxjQUFjLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqRixNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsY0FBYyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFFRCxJQUFJLGNBQWMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7SUFDSCxDQUFDO0lBRUQscUNBQXFDO0lBQ3JDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxPQUFPLENBQUMsdUJBQXVCLENBQ2xFLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUNwQixTQUFTLENBQUMsUUFBUSxDQUNuQixDQUFDO0lBQ0YsSUFBSSxDQUFDLHNCQUFzQjtRQUFFLE9BQU87SUFFcEMsOEJBQThCO0lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztRQUFFLE1BQU0sS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7SUFFM0YsbURBQW1EO0lBQ25ELE1BQU0sNkJBQTZCLEdBQUcsTUFBTSxPQUFPLENBQUMsNkJBQTZCLENBQy9FLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUNwQixNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDM0IsQ0FBQztJQUNGLElBQUksQ0FBQyw2QkFBNkI7UUFDaEMsTUFBTSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUVuRSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxRQUFRO1FBQ3JELE1BQU0sS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7SUFFdEUsMkVBQTJFO0lBQzNFLE1BQU0sZ0JBQWdCLEdBQTRCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDNUQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ2hFLElBQUksT0FBTyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckQsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVqQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sT0FBTyxDQUFDLDZCQUE2QixDQUMvRSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFDcEIsT0FBTyxDQUNSLENBQUM7UUFDRixJQUFJLENBQUMsNkJBQTZCO1lBQ2hDLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixJQUFJLEtBQUssT0FBTyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUMsQ0FBQyxDQUNILENBQUM7SUFFRixnR0FBZ0c7SUFDaEcsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN6RCxJQUFJLElBQUksS0FBSyxTQUFTLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDN0IsTUFBTSxLQUFLLENBQ1Qsb0JBQW9CLElBQUksOERBQThELENBQ3ZGLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/sdk-js",
3
- "version": "3.1.0-beta.0",
3
+ "version": "3.1.0-beta.1",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/mjs/index.js",
6
6
  "exports": {