@super-protocol/sdk-js 3.1.0-beta.2 → 3.1.0-beta.3

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.
@@ -1,2 +1,3 @@
1
- import { CompleteOrderOptions, CompleteOrderParams } from './types.js';
2
- export declare const completeOrder: (params: CompleteOrderParams, options?: CompleteOrderOptions) => Promise<void>;
1
+ import { TransactionOptions } from '../../types/index.js';
2
+ import { CompleteOrderParams } from './types.js';
3
+ export declare const completeOrder: (params: CompleteOrderParams, transactionOptions?: TransactionOptions) => Promise<void>;
@@ -6,12 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.completeOrder = void 0;
7
7
  const TIIGenerator_js_1 = __importDefault(require("../../TIIGenerator.js"));
8
8
  const index_js_1 = __importDefault(require("../../crypto/index.js"));
9
- const Offer_js_1 = __importDefault(require("../../models/Offer.js"));
10
9
  const Order_js_1 = __importDefault(require("../../models/Order.js"));
11
- const Offer_js_2 = require("../../types/Offer.js");
10
+ const Offer_js_1 = require("../../types/Offer.js");
12
11
  const Order_js_2 = require("../../types/Order.js");
13
- const ZERO_ID = '0';
14
- const supportedOfferTypes = [Offer_js_2.OfferType.Data, Offer_js_2.OfferType.Solution];
12
+ const supportedOfferTypes = [Offer_js_1.OfferType.Data, Offer_js_1.OfferType.Solution];
15
13
  const supportedOrderStatusesToComplete = [
16
14
  Order_js_2.OrderStatus.New,
17
15
  Order_js_2.OrderStatus.Processing,
@@ -28,7 +26,7 @@ const getResultPublicKeyFromOrderInfo = (orderInfo) => {
28
26
  };
29
27
  const buildOrderResult = async (params) => {
30
28
  const { orderId, orderInfo, resource, resourceEncryption, parentOrder, pccsApiUrl } = params;
31
- if (parentOrder?.offerType === Offer_js_2.OfferType.TeeOffer) {
29
+ if (parentOrder?.offerType === Offer_js_1.OfferType.TeeOffer) {
32
30
  return await TIIGenerator_js_1.default.generate(orderId, resource, orderInfo.args, resourceEncryption, pccsApiUrl);
33
31
  }
34
32
  const publicKey = getResultPublicKeyFromOrderInfo(orderInfo);
@@ -39,28 +37,8 @@ const buildOrderResult = async (params) => {
39
37
  const encryptedContent = await index_js_1.default.encrypt(JSON.stringify(content), publicKey);
40
38
  return JSON.stringify(encryptedContent);
41
39
  };
42
- const defaultCompleteOrderOptions = {
43
- async getParentOrderInfo(orderId) {
44
- const order = new Order_js_1.default(orderId);
45
- const parentOrderId = await order.getParentOrder();
46
- if (!parentOrderId || parentOrderId === ZERO_ID) {
47
- return;
48
- }
49
- const parentOrder = new Order_js_1.default(parentOrderId);
50
- const info = await parentOrder.getOrderInfo();
51
- const offer = new Offer_js_1.default(info.offerId);
52
- const offerType = await offer.getOfferType();
53
- return {
54
- offerType,
55
- };
56
- },
57
- };
58
- const completeOrder = async (params, options = defaultCompleteOrderOptions) => {
59
- const { orderId } = params;
60
- const order = new Order_js_1.default(orderId);
61
- const orderInfo = await order.getOrderInfo();
62
- const offer = new Offer_js_1.default(orderInfo.offerId);
63
- const offerType = await offer.getOfferType();
40
+ const completeOrder = async (params, transactionOptions) => {
41
+ const { orderId, orderInfo, offerType } = params.order;
64
42
  if (!supportedOfferTypes.includes(offerType)) {
65
43
  throw new Error(`Cannot complete order with offer type '${offerType}'`);
66
44
  }
@@ -70,20 +48,21 @@ const completeOrder = async (params, options = defaultCompleteOrderOptions) => {
70
48
  if (params.status === Order_js_2.OrderStatus.Canceled && orderInfo.status !== Order_js_2.OrderStatus.Canceling) {
71
49
  throw Error(`Order cancellation is possible only from "canceling" status`);
72
50
  }
73
- const encryptedResult = params.resource && params.resourceEncryption
74
- ? await buildOrderResult({
51
+ const encryptedResult = typeof params.orderResult === 'string'
52
+ ? params.orderResult
53
+ : await buildOrderResult({
75
54
  orderId,
76
55
  orderInfo,
77
- resource: params.resource,
78
- resourceEncryption: params.resourceEncryption,
79
- parentOrder: await options.getParentOrderInfo(orderId),
56
+ resource: params.orderResult.resource,
57
+ resourceEncryption: params.orderResult.resourceEncryption,
58
+ parentOrder: params.parentOrder,
80
59
  pccsApiUrl: params.pccsApiUrl,
81
- })
82
- : 'No resource';
60
+ });
61
+ const order = new Order_js_1.default(orderId);
83
62
  if (orderInfo.status === Order_js_2.OrderStatus.New) {
84
- await order.updateStatus(Order_js_2.OrderStatus.Processing, { from: params.actionAccountAddress });
63
+ await order.updateStatus(Order_js_2.OrderStatus.Processing, transactionOptions);
85
64
  }
86
- await order.complete(params.status, encryptedResult, { from: params.actionAccountAddress });
65
+ await order.complete(params.status, encryptedResult, transactionOptions);
87
66
  };
88
67
  exports.completeOrder = completeOrder;
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvY29tcGxldGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsNEVBQWlEO0FBQ2pELHFFQUEyQztBQUMzQyxxRUFBMEM7QUFDMUMscUVBQTBDO0FBQzFDLG1EQUE0RDtBQUM1RCxtREFBOEQ7QUFHOUQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBQ3BCLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxvQkFBUyxDQUFDLElBQUksRUFBRSxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sZ0NBQWdDLEdBQUc7SUFDdkMsc0JBQVcsQ0FBQyxHQUFHO0lBQ2Ysc0JBQVcsQ0FBQyxVQUFVO0lBQ3RCLHNCQUFXLENBQUMsU0FBUztDQUN0QixDQUFDO0FBU0YsTUFBTSwrQkFBK0IsR0FBRyxDQUN0QyxTQUF3QyxFQUN6QixFQUFFO0lBQ2pCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO0lBRTNDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQWtCLENBQUM7SUFDaEQsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLE1BQXdCLEVBQW1CLEVBQUU7SUFDM0UsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFN0YsSUFBSSxXQUFXLEVBQUUsU0FBUyxLQUFLLG9CQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEQsT0FBTyxN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
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvY29tcGxldGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsNEVBQWlEO0FBQ2pELHFFQUEyQztBQUMzQyxxRUFBMEM7QUFDMUMsbURBQTREO0FBQzVELG1EQUE4RDtBQUk5RCxNQUFNLG1CQUFtQixHQUFHLENBQUMsb0JBQVMsQ0FBQyxJQUFJLEVBQUUsb0JBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNqRSxNQUFNLGdDQUFnQyxHQUFHO0lBQ3ZDLHNCQUFXLENBQUMsR0FBRztJQUNmLHNCQUFXLENBQUMsVUFBVTtJQUN0QixzQkFBVyxDQUFDLFNBQVM7Q0FDdEIsQ0FBQztBQVVGLE1BQU0sK0JBQStCLEdBQUcsQ0FDdEMsU0FBd0MsRUFDekIsRUFBRTtJQUNqQixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUUzQyxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFrQixDQUFDO0lBQ2hELENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxNQUF3QixFQUFtQixFQUFFO0lBQzNFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTdGLElBQUksV0FBVyxFQUFFLFNBQVMsS0FBSyxvQkFBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xELE9BQU8sTUFBTSx5QkFBWSxDQUFDLFFBQVEsQ0FDaEMsT0FBTyxFQUNQLFFBQVEsRUFDUixTQUFTLENBQUMsSUFBSSxFQUNkLGtCQUFrQixFQUNsQixVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RCxNQUFNLE9BQU8sR0FBRztRQUNkLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFVBQVUsRUFBRSxrQkFBa0I7S0FDL0IsQ0FBQztJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxrQkFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRWxGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQztBQUVLLE1BQU0sYUFBYSxHQUFHLEtBQUssRUFDaEMsTUFBMkIsRUFDM0Isa0JBQXVDLEVBQ3hCLEVBQUU7SUFDakIsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUV2RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLHNCQUFXLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssc0JBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN6RixNQUFNLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxNQUFNLGVBQWUsR0FDbkIsT0FBTyxNQUFNLENBQUMsV0FBVyxLQUFLLFFBQVE7UUFDcEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXO1FBQ3BCLENBQUMsQ0FBQyxNQUFNLGdCQUFnQixDQUFDO1lBQ3JCLE9BQU87WUFDUCxTQUFTO1lBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUTtZQUNyQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLGtCQUFrQjtZQUN6RCxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1NBQzlCLENBQUMsQ0FBQztJQUVULE1BQU0sS0FBSyxHQUFHLElBQUksa0JBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssc0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6QyxNQUFNLEtBQUssQ0FBQyxZQUFZLENBQUMsc0JBQVcsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDO0FBbkNXLFFBQUEsYUFBYSxpQkFtQ3hCIn0=
@@ -1,5 +1,5 @@
1
1
  import { Encryption, StorageProviderResource } from '@super-protocol/dto-js';
2
- import { OfferInfo, OfferType, OrderArgs, OrderStatus } from '../../types/index.js';
2
+ import { OfferInfo, OfferType, OrderArgs, OrderInfo, OrderStatus } from '../../types/index.js';
3
3
  export type SolutionOfferProperties = {
4
4
  portForwarding?: number;
5
5
  groupingOffers?: boolean;
@@ -22,14 +22,20 @@ export type ValidateOrderOptions = {
22
22
  };
23
23
  type TerminatedOrderStatus = OrderStatus.Done | OrderStatus.Canceled | OrderStatus.Error;
24
24
  export type CompleteOrderParams = {
25
- orderId: string;
26
- resource?: StorageProviderResource;
27
- resourceEncryption?: Encryption;
25
+ order: {
26
+ orderId: string;
27
+ orderInfo: Pick<OrderInfo, 'status' | 'args' | 'resultInfo'>;
28
+ offerType: OfferType;
29
+ };
30
+ parentOrder?: {
31
+ offerType: OfferType;
32
+ };
33
+ orderResult: string | {
34
+ resource: StorageProviderResource;
35
+ resourceEncryption: Encryption;
36
+ };
28
37
  pccsApiUrl: string;
29
38
  status: TerminatedOrderStatus;
30
39
  actionAccountAddress: string;
31
40
  };
32
- export type CompleteOrderOptions = {
33
- getParentOrderInfo: (orderId: string) => Promise<Pick<OfferInfo, 'offerType'> | undefined>;
34
- };
35
41
  export {};
@@ -1,2 +1,3 @@
1
- import { CompleteOrderOptions, CompleteOrderParams } from './types.js';
2
- export declare const completeOrder: (params: CompleteOrderParams, options?: CompleteOrderOptions) => Promise<void>;
1
+ import { TransactionOptions } from '../../types/index.js';
2
+ import { CompleteOrderParams } from './types.js';
3
+ export declare const completeOrder: (params: CompleteOrderParams, transactionOptions?: TransactionOptions) => Promise<void>;
@@ -1,10 +1,8 @@
1
1
  import TIIGenerator from '../../TIIGenerator.js';
2
2
  import Crypto from '../../crypto/index.js';
3
- import Offer from '../../models/Offer.js';
4
3
  import Order from '../../models/Order.js';
5
4
  import { OfferType } from '../../types/Offer.js';
6
5
  import { OrderStatus } from '../../types/Order.js';
7
- const ZERO_ID = '0';
8
6
  const supportedOfferTypes = [OfferType.Data, OfferType.Solution];
9
7
  const supportedOrderStatusesToComplete = [
10
8
  OrderStatus.New,
@@ -33,28 +31,8 @@ const buildOrderResult = async (params) => {
33
31
  const encryptedContent = await Crypto.encrypt(JSON.stringify(content), publicKey);
34
32
  return JSON.stringify(encryptedContent);
35
33
  };
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 const completeOrder = 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();
34
+ export const completeOrder = async (params, transactionOptions) => {
35
+ const { orderId, orderInfo, offerType } = params.order;
58
36
  if (!supportedOfferTypes.includes(offerType)) {
59
37
  throw new Error(`Cannot complete order with offer type '${offerType}'`);
60
38
  }
@@ -64,19 +42,20 @@ export const completeOrder = async (params, options = defaultCompleteOrderOption
64
42
  if (params.status === OrderStatus.Canceled && orderInfo.status !== OrderStatus.Canceling) {
65
43
  throw Error(`Order cancellation is possible only from "canceling" status`);
66
44
  }
67
- const encryptedResult = params.resource && params.resourceEncryption
68
- ? await buildOrderResult({
45
+ const encryptedResult = typeof params.orderResult === 'string'
46
+ ? params.orderResult
47
+ : await buildOrderResult({
69
48
  orderId,
70
49
  orderInfo,
71
- resource: params.resource,
72
- resourceEncryption: params.resourceEncryption,
73
- parentOrder: await options.getParentOrderInfo(orderId),
50
+ resource: params.orderResult.resource,
51
+ resourceEncryption: params.orderResult.resourceEncryption,
52
+ parentOrder: params.parentOrder,
74
53
  pccsApiUrl: params.pccsApiUrl,
75
- })
76
- : 'No resource';
54
+ });
55
+ const order = new Order(orderId);
77
56
  if (orderInfo.status === OrderStatus.New) {
78
- await order.updateStatus(OrderStatus.Processing, { from: params.actionAccountAddress });
57
+ await order.updateStatus(OrderStatus.Processing, transactionOptions);
79
58
  }
80
- await order.complete(params.status, encryptedResult, { from: params.actionAccountAddress });
59
+ await order.complete(params.status, encryptedResult, transactionOptions);
81
60
  };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvY29tcGxldGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxZQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sdUJBQXVCLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sdUJBQXVCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sdUJBQXVCLENBQUM7QUFDMUMsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDcEIsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sZ0NBQWdDLEdBQUc7SUFDdkMsV0FBVyxDQUFDLEdBQUc7SUFDZixXQUFXLENBQUMsVUFBVTtJQUN0QixXQUFXLENBQUMsU0FBUztDQUN0QixDQUFDO0FBU0YsTUFBTSwrQkFBK0IsR0FBRyxDQUN0QyxTQUF3QyxFQUN6QixFQUFFO0lBQ2pCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO0lBRTNDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQWtCLENBQUM7SUFDaEQsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLE1BQXdCLEVBQW1CLEVBQUU7SUFDM0UsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVB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
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvY29tcGxldGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxZQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sdUJBQXVCLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sdUJBQXVCLENBQUM7QUFDMUMsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUk5RCxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakUsTUFBTSxnQ0FBZ0MsR0FBRztJQUN2QyxXQUFXLENBQUMsR0FBRztJQUNmLFdBQVcsQ0FBQyxVQUFVO0lBQ3RCLFdBQVcsQ0FBQyxTQUFTO0NBQ3RCLENBQUM7QUFVRixNQUFNLCtCQUErQixHQUFHLENBQ3RDLFNBQXdDLEVBQ3pCLEVBQUU7SUFDakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFFM0MsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBa0IsQ0FBQztJQUNoRCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN2RCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsTUFBd0IsRUFBbUIsRUFBRTtJQUMzRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU3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
@@ -1,5 +1,5 @@
1
1
  import { Encryption, StorageProviderResource } from '@super-protocol/dto-js';
2
- import { OfferInfo, OfferType, OrderArgs, OrderStatus } from '../../types/index.js';
2
+ import { OfferInfo, OfferType, OrderArgs, OrderInfo, OrderStatus } from '../../types/index.js';
3
3
  export type SolutionOfferProperties = {
4
4
  portForwarding?: number;
5
5
  groupingOffers?: boolean;
@@ -22,14 +22,20 @@ export type ValidateOrderOptions = {
22
22
  };
23
23
  type TerminatedOrderStatus = OrderStatus.Done | OrderStatus.Canceled | OrderStatus.Error;
24
24
  export type CompleteOrderParams = {
25
- orderId: string;
26
- resource?: StorageProviderResource;
27
- resourceEncryption?: Encryption;
25
+ order: {
26
+ orderId: string;
27
+ orderInfo: Pick<OrderInfo, 'status' | 'args' | 'resultInfo'>;
28
+ offerType: OfferType;
29
+ };
30
+ parentOrder?: {
31
+ offerType: OfferType;
32
+ };
33
+ orderResult: string | {
34
+ resource: StorageProviderResource;
35
+ resourceEncryption: Encryption;
36
+ };
28
37
  pccsApiUrl: string;
29
38
  status: TerminatedOrderStatus;
30
39
  actionAccountAddress: string;
31
40
  };
32
- export type CompleteOrderOptions = {
33
- getParentOrderInfo: (orderId: string) => Promise<Pick<OfferInfo, 'offerType'> | undefined>;
34
- };
35
41
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/sdk-js",
3
- "version": "3.1.0-beta.2",
3
+ "version": "3.1.0-beta.3",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/mjs/index.js",
6
6
  "exports": {