@super-protocol/sdk-js 0.6.3-beta.0 → 0.7.0-beta.4

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.
package/build/index.d.ts CHANGED
@@ -6,10 +6,6 @@ export { default as TIIGenerator } from "./TIIGenerator";
6
6
  export * from "./TIIGenerator";
7
7
  export { default as Consensus } from "./staticModels/Consensus";
8
8
  export * from "./staticModels/Consensus";
9
- export { default as LastBlocks } from "./staticModels/LastBlocks";
10
- export * from "./staticModels/LastBlocks";
11
- export { default as Suspicious } from "./staticModels/Suspicious";
12
- export * from "./staticModels/Suspicious";
13
9
  export { default as OrdersFactory } from "./staticModels/OrdersFactory";
14
10
  export * from "./staticModels/OrdersFactory";
15
11
  export { default as ActiveOrders } from "./staticModels/ActiveOrders";
@@ -30,8 +26,6 @@ export { default as SuperproToken } from "./staticModels/SuperproToken";
30
26
  export * from "./staticModels/SuperproToken";
31
27
  export { default as Superpro } from "./staticModels/Superpro";
32
28
  export * from "./staticModels/Superpro";
33
- export { default as Epochs } from "./staticModels/Epochs";
34
- export * from "./staticModels/Epochs";
35
29
  export { default as Marks } from "./staticModels/Marks";
36
30
  export * from "./staticModels/Marks";
37
31
  export { default as Order } from "./models/Order";
@@ -47,7 +41,6 @@ export * from "./models/Ballot";
47
41
  export { default as TCB } from "./models/TCB";
48
42
  export * from "./models/TCB";
49
43
  export * from "./types/Offer";
50
- export * from "./types/Epoch";
51
44
  export * from "./types/Marks";
52
45
  export * from "./types/Order";
53
46
  export * from "./types/TeeOffer";
@@ -55,7 +48,7 @@ export * from "./types/Provider";
55
48
  export * from "./types/Staking";
56
49
  export * from "./types/Ballot";
57
50
  export * from "./types/Superpro";
58
- export * from "./types/TcbData";
51
+ export * from "./types/Consensus";
59
52
  export * from "./types/Origins";
60
53
  export * as ChunkedStorageProvider from "./providers/storage/ChunksDownloadDecorator";
61
54
  export { default as StorageFileAccess } from "./types/storage/StorageFileAccess";
package/build/index.js CHANGED
@@ -29,7 +29,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.getStorageProvider = exports.ChunkedStorageProvider = exports.TCB = exports.Ballot = exports.Offer = exports.TeeOffer = exports.Provider = exports.Order = exports.Marks = exports.Epochs = exports.Superpro = exports.SuperproToken = exports.Voting = exports.Staking = exports.ProviderRegistry = exports.TeeOffersFactory = exports.OffersFactory = exports.ActiveOffers = exports.ActiveOrders = exports.OrdersFactory = exports.Suspicious = exports.LastBlocks = exports.Consensus = exports.TIIGenerator = exports.Crypto = void 0;
32
+ exports.getStorageProvider = exports.ChunkedStorageProvider = exports.TCB = exports.Ballot = exports.Offer = exports.TeeOffer = exports.Provider = exports.Order = exports.Marks = exports.Superpro = exports.SuperproToken = exports.Voting = exports.Staking = exports.ProviderRegistry = exports.TeeOffersFactory = exports.OffersFactory = exports.ActiveOffers = exports.ActiveOrders = exports.OrdersFactory = exports.Consensus = exports.TIIGenerator = exports.Crypto = void 0;
33
33
  var BlockchainConnector_1 = __importDefault(require("./BlockchainConnector"));
34
34
  exports.default = BlockchainConnector_1.default;
35
35
  __exportStar(require("./BlockchainConnector"), exports);
@@ -41,12 +41,6 @@ __exportStar(require("./TIIGenerator"), exports);
41
41
  var Consensus_1 = require("./staticModels/Consensus");
42
42
  Object.defineProperty(exports, "Consensus", { enumerable: true, get: function () { return __importDefault(Consensus_1).default; } });
43
43
  __exportStar(require("./staticModels/Consensus"), exports);
44
- var LastBlocks_1 = require("./staticModels/LastBlocks");
45
- Object.defineProperty(exports, "LastBlocks", { enumerable: true, get: function () { return __importDefault(LastBlocks_1).default; } });
46
- __exportStar(require("./staticModels/LastBlocks"), exports);
47
- var Suspicious_1 = require("./staticModels/Suspicious");
48
- Object.defineProperty(exports, "Suspicious", { enumerable: true, get: function () { return __importDefault(Suspicious_1).default; } });
49
- __exportStar(require("./staticModels/Suspicious"), exports);
50
44
  var OrdersFactory_1 = require("./staticModels/OrdersFactory");
51
45
  Object.defineProperty(exports, "OrdersFactory", { enumerable: true, get: function () { return __importDefault(OrdersFactory_1).default; } });
52
46
  __exportStar(require("./staticModels/OrdersFactory"), exports);
@@ -77,9 +71,6 @@ __exportStar(require("./staticModels/SuperproToken"), exports);
77
71
  var Superpro_1 = require("./staticModels/Superpro");
78
72
  Object.defineProperty(exports, "Superpro", { enumerable: true, get: function () { return __importDefault(Superpro_1).default; } });
79
73
  __exportStar(require("./staticModels/Superpro"), exports);
80
- var Epochs_1 = require("./staticModels/Epochs");
81
- Object.defineProperty(exports, "Epochs", { enumerable: true, get: function () { return __importDefault(Epochs_1).default; } });
82
- __exportStar(require("./staticModels/Epochs"), exports);
83
74
  var Marks_1 = require("./staticModels/Marks");
84
75
  Object.defineProperty(exports, "Marks", { enumerable: true, get: function () { return __importDefault(Marks_1).default; } });
85
76
  __exportStar(require("./staticModels/Marks"), exports);
@@ -102,7 +93,6 @@ var TCB_1 = require("./models/TCB");
102
93
  Object.defineProperty(exports, "TCB", { enumerable: true, get: function () { return __importDefault(TCB_1).default; } });
103
94
  __exportStar(require("./models/TCB"), exports);
104
95
  __exportStar(require("./types/Offer"), exports);
105
- __exportStar(require("./types/Epoch"), exports);
106
96
  __exportStar(require("./types/Marks"), exports);
107
97
  __exportStar(require("./types/Order"), exports);
108
98
  __exportStar(require("./types/TeeOffer"), exports);
@@ -110,7 +100,7 @@ __exportStar(require("./types/Provider"), exports);
110
100
  __exportStar(require("./types/Staking"), exports);
111
101
  __exportStar(require("./types/Ballot"), exports);
112
102
  __exportStar(require("./types/Superpro"), exports);
113
- __exportStar(require("./types/TcbData"), exports);
103
+ __exportStar(require("./types/Consensus"), exports);
114
104
  __exportStar(require("./types/Origins"), exports);
115
105
  exports.ChunkedStorageProvider = __importStar(require("./providers/storage/ChunksDownloadDecorator"));
116
106
  var getStorageProvider_1 = require("./providers/storage/getStorageProvider");
@@ -17,6 +17,18 @@ declare class Offer {
17
17
  * Checks if contract has been initialized, if not - initialize contract
18
18
  */
19
19
  private checkInitOffer;
20
+ /**
21
+ * Updates name in order info
22
+ * @param name - new name
23
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
24
+ */
25
+ setName(name: string, transactionOptions?: TransactionOptions): Promise<void>;
26
+ /**
27
+ * Updates description in order info
28
+ * @param description - new description
29
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
30
+ */
31
+ setDescription(description: string, transactionOptions?: TransactionOptions): Promise<void>;
20
32
  /**
21
33
  * Function for fetching offer info from blockchain
22
34
  */
@@ -65,6 +65,50 @@ var Offer = /** @class */ (function () {
65
65
  return new transactionOptions.web3.eth.Contract(Offers_json_1.default.abi, Superpro_1.default.address);
66
66
  }
67
67
  };
68
+ /**
69
+ * Updates name in order info
70
+ * @param name - new name
71
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
72
+ */
73
+ Offer.prototype.setName = function (name, transactionOptions) {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ return __generator(this, function (_a) {
76
+ switch (_a.label) {
77
+ case 0:
78
+ transactionOptions !== null && transactionOptions !== void 0 ? transactionOptions : this.checkInitOffer(transactionOptions);
79
+ (0, utils_1.checkIfActionAccountInitialized)(transactionOptions);
80
+ return [4 /*yield*/, TxManager_1.default.execute(Offer.contract.methods.setOfferName, [this.id, name], transactionOptions)];
81
+ case 1:
82
+ _a.sent();
83
+ if (this.offerInfo)
84
+ this.offerInfo.name = name;
85
+ return [2 /*return*/];
86
+ }
87
+ });
88
+ });
89
+ };
90
+ /**
91
+ * Updates description in order info
92
+ * @param description - new description
93
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
94
+ */
95
+ Offer.prototype.setDescription = function (description, transactionOptions) {
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ return __generator(this, function (_a) {
98
+ switch (_a.label) {
99
+ case 0:
100
+ transactionOptions !== null && transactionOptions !== void 0 ? transactionOptions : this.checkInitOffer(transactionOptions);
101
+ (0, utils_1.checkIfActionAccountInitialized)(transactionOptions);
102
+ return [4 /*yield*/, TxManager_1.default.execute(Offer.contract.methods.setOfferDescription, [this.id, description], transactionOptions)];
103
+ case 1:
104
+ _a.sent();
105
+ if (this.offerInfo)
106
+ this.offerInfo.description = description;
107
+ return [2 /*return*/];
108
+ }
109
+ });
110
+ });
111
+ };
68
112
  /**
69
113
  * Function for fetching offer info from blockchain
70
114
  */
@@ -1,5 +1,6 @@
1
1
  import { ProviderInfo } from "../types/Provider";
2
2
  import { Origins } from "../types/Origins";
3
+ import { TransactionOptions } from "../types/Web3";
3
4
  declare class Provider {
4
5
  private static contractProviders;
5
6
  private static contractProvidersOffers;
@@ -12,6 +13,8 @@ declare class Provider {
12
13
  origins?: Origins;
13
14
  providerId: string;
14
15
  constructor(providerId: string);
16
+ private checkInitProvider;
17
+ modify(providerInfo: ProviderInfo, transactionOptions?: TransactionOptions): Promise<void>;
15
18
  /**
16
19
  * Function for fetching provider info from blockchain
17
20
  */
@@ -47,6 +47,7 @@ var utils_1 = require("../utils");
47
47
  var Provider_1 = require("../types/Provider");
48
48
  var Origins_1 = require("../types/Origins");
49
49
  var Superpro_1 = __importDefault(require("../staticModels/Superpro"));
50
+ var TxManager_1 = __importDefault(require("../utils/TxManager"));
50
51
  var Provider = /** @class */ (function () {
51
52
  function Provider(providerId) {
52
53
  (0, utils_1.checkIfInitialized)();
@@ -60,6 +61,29 @@ var Provider = /** @class */ (function () {
60
61
  providerId: this.providerId.toString(),
61
62
  });
62
63
  }
64
+ Provider.prototype.checkInitProvider = function (transactionOptions) {
65
+ if (transactionOptions === null || transactionOptions === void 0 ? void 0 : transactionOptions.web3) {
66
+ (0, utils_1.checkIfInitialized)();
67
+ return new transactionOptions.web3.eth.Contract(Providers_json_1.default.abi, Superpro_1.default.address);
68
+ }
69
+ };
70
+ Provider.prototype.modify = function (providerInfo, transactionOptions) {
71
+ return __awaiter(this, void 0, void 0, function () {
72
+ var providerInfoParams;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ transactionOptions !== null && transactionOptions !== void 0 ? transactionOptions : this.checkInitProvider(transactionOptions);
77
+ (0, utils_1.checkIfActionAccountInitialized)(transactionOptions);
78
+ providerInfoParams = (0, utils_1.objectToTuple)(providerInfo, Provider_1.ProviderInfoStructure);
79
+ return [4 /*yield*/, TxManager_1.default.execute(Provider.contractProviders.methods.modifyProvider, [providerInfoParams], transactionOptions)];
80
+ case 1:
81
+ _a.sent();
82
+ return [2 /*return*/];
83
+ }
84
+ });
85
+ });
86
+ };
63
87
  /**
64
88
  * Function for fetching provider info from blockchain
65
89
  */
@@ -97,7 +121,9 @@ var Provider = /** @class */ (function () {
97
121
  switch (_b.label) {
98
122
  case 0:
99
123
  _a = this;
100
- return [4 /*yield*/, Provider.contractProvidersOffers.methods.getProviderValueOffers(this.providerId).call()];
124
+ return [4 /*yield*/, Provider.contractProvidersOffers.methods
125
+ .getProviderValueOffers(this.providerId)
126
+ .call()];
101
127
  case 1:
102
128
  _a.valueOffers = _b.sent();
103
129
  return [2 /*return*/, this.valueOffers];
@@ -1,80 +1,66 @@
1
- import { PublicData, LType, TcbEpochInfo } from "../types/TcbData";
2
1
  import { TransactionOptions } from "../types/Web3";
3
- import { TcbStatus } from "./../types/Epoch";
2
+ import { TcbStatus, PublicData, TcbEpochInfo, TcbVerifiedStatus } from "../types/Consensus";
4
3
  declare class TCB {
5
- id: string;
4
+ tcbId: string;
6
5
  private contract;
7
6
  private logger;
8
- L1?: string[];
9
- L2?: string[];
10
- L1_statusess?: number[];
11
- L2_statusess?: number[];
12
- epoch?: TcbEpochInfo;
13
- positive?: number;
14
- negative?: number;
15
- quote?: string;
16
7
  constructor(tcbId: string);
8
+ private checkInitTcb;
9
+ private applyTcbMarks;
10
+ private setTcbData;
17
11
  /**
18
- * Function for fetching number of TCB's to request for verifying from LastBlocksTable
19
- */
20
- needL1toCompleted(): Promise<number>;
21
- /**
22
- * Function for fetching number of TCB's to request for verifying from SuspiciousBlocksTable
23
- */
24
- needL2toCompleted(): Promise<number>;
25
- /**
26
- * Function for fetching list of TCBs from LastBlocksTable formed for veirifying
27
- */
28
- getL1(): Promise<string[]>;
29
- /**
30
- * Function for fetching list of TCBs from SuspiciousBlocksTable formed for veirifying
12
+ * Add data to TeeConfirmationBlock and push it to Consensus
13
+ * @param pb - struct of 'processed' data
14
+ * @param quote - data generated from Enclave
15
+ * @param marks - list of marks
16
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
31
17
  */
32
- getL2(): Promise<string[]>;
18
+ addToSupply(pb: PublicData, quote: string, marks: TcbVerifiedStatus[], transactionOptions?: TransactionOptions): Promise<void>;
33
19
  /**
34
- * Function for fetching the given marks for recruited TCBs from the LastBlocksTable
20
+ * Assign TCB from SuspiciousBlocks table to check
21
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
35
22
  */
36
- getL1Marks(): Promise<number[]>;
23
+ assignSuspiciousBlocksToCheck(transactionOptions?: TransactionOptions): Promise<void>;
37
24
  /**
38
- * Function for fetching the given marks for recruited TCBs from the SuspiciousBlocksTable
25
+ * Assign TCB from LastBlocks table to check
26
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
39
27
  */
40
- getL2Marks(): Promise<number[]>;
28
+ assignLastBlocksToCheck(transactionOptions?: TransactionOptions): Promise<void>;
41
29
  /**
42
- * Function for fetching TCB status
30
+ * Function stake and lock TCB's reward
31
+ * @param tcbId - TEE Offer's completed and valid TCB contract
32
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
43
33
  */
44
- getTcbStatus(): Promise<TcbStatus>;
34
+ claimRewards(tcbId: string, transactionOptions?: TransactionOptions): Promise<void>;
45
35
  /**
46
- * Function for fetching calimed amount of TCB reward
36
+ * Function unlock previously locked TCB rewards (by claimRewards)
37
+ * @param tcbId - TCB contract address
38
+ * @param unlockAmount - amount of tokens to unlock, max available amount = TeeOffer.getLockInfo(tcbAddress)
39
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
47
40
  */
48
- getPaidAmount(): Promise<number>;
41
+ unlockRewards(tcbId: string, unlockAmount: number, transactionOptions?: TransactionOptions): Promise<void>;
49
42
  /**
50
- * Add processed TCB data to smart-contract
51
- * @param used - struct of 'processed' data
52
- * @param quote - data generated from Enclave
53
- * @param transactionOptions - object what contains alternative action account or gas limit (optional)
43
+ * Function for fetching all TCB data
54
44
  */
55
- addData(pb: PublicData, quote: string, transactionOptions?: TransactionOptions): Promise<void>;
56
- getEpochInfo(): Promise<TcbEpochInfo>;
45
+ get(): Promise<any>;
57
46
  /**
58
- * Function for fetching marks of TCB (from Consensus)
47
+ * Function for fetching the given marks for recruited TCBs from the Tables of Consensus
59
48
  */
60
- getOwnMarks(): Promise<{
61
- positive: number;
62
- negative: number;
49
+ getCheckingBlocksMarks(): Promise<{
50
+ blocksIds: string[];
51
+ marks: TcbVerifiedStatus[];
63
52
  }>;
64
53
  /**
65
54
  * Function for fetching used TCB data
66
55
  */
67
56
  getPublicData(): Promise<PublicData>;
68
57
  /**
69
- * Function for fetching stored TCB data
58
+ * Function for fetching TCB status
70
59
  */
71
- getQuote(): Promise<string>;
60
+ getStatus(): Promise<TcbStatus>;
72
61
  /**
73
- * Append marks for selected TCBs
74
- * @param lType - type of appending marks
75
- * @param marks - list of marks
76
- * @param transactionOptions - object what contains alternative action account or gas limit (optional)
62
+ * Function for fetching TCB status
77
63
  */
78
- addMarks(lType: LType, marks: number[], transactionOptions?: TransactionOptions): Promise<void>;
64
+ getEpochInfo(): Promise<TcbEpochInfo>;
79
65
  }
80
66
  export default TCB;