@super-protocol/sdk-js 0.16.0-beta.2 → 1.0.0-beta.0
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/TIIGenerator.d.ts +3 -3
- package/build/connectors/BaseConnector.d.ts +7 -8
- package/build/connectors/BaseConnector.js +2 -4
- package/build/connectors/BlockchainConnector.d.ts +6 -8
- package/build/connectors/BlockchainConnector.js +97 -102
- package/build/connectors/BlockchainEventsListener.d.ts +2 -2
- package/build/connectors/BlockchainEventsListener.js +36 -11
- package/build/connectors/index.d.ts +2 -0
- package/build/connectors/index.js +11 -0
- package/build/constants.d.ts +2 -2
- package/build/constants.js +3 -3
- package/build/contracts/abi.d.ts +9769 -0
- package/build/contracts/abi.js +6 -0
- package/build/crypto/Crypto.js +4 -4
- package/build/crypto/nodejs/AES.d.ts +1 -1
- package/build/crypto/nodejs/AES.js +11 -13
- package/build/crypto/nodejs/ARIA.d.ts +1 -1
- package/build/crypto/nodejs/ARIA.js +11 -13
- package/build/models/EtlModel.d.ts +1 -1
- package/build/models/EtlModel.js +2 -4
- package/build/models/Offer.d.ts +5 -15
- package/build/models/Offer.js +60 -105
- package/build/models/Order.d.ts +15 -25
- package/build/models/Order.js +92 -173
- package/build/models/Provider.d.ts +9 -13
- package/build/models/Provider.js +16 -43
- package/build/models/TCB.d.ts +6 -8
- package/build/models/TCB.js +22 -34
- package/build/models/TeeOffer.d.ts +9 -22
- package/build/models/TeeOffer.js +97 -169
- package/build/models/index.d.ts +5 -0
- package/build/models/index.js +17 -0
- package/build/providers/storage/StorjStorageProvider.js +3 -3
- package/build/staticModels/ActiveOffers.d.ts +3 -12
- package/build/staticModels/ActiveOffers.js +11 -29
- package/build/staticModels/ActiveOrders.d.ts +4 -6
- package/build/staticModels/ActiveOrders.js +19 -21
- package/build/staticModels/Consensus.d.ts +3 -5
- package/build/staticModels/Consensus.js +57 -87
- package/build/staticModels/Deposits.d.ts +8 -9
- package/build/staticModels/Deposits.js +42 -60
- package/build/staticModels/Marks.d.ts +4 -4
- package/build/staticModels/Marks.js +8 -12
- package/build/staticModels/Offers.d.ts +14 -14
- package/build/staticModels/Offers.js +81 -88
- package/build/staticModels/Orders.d.ts +30 -35
- package/build/staticModels/Orders.js +98 -144
- package/build/staticModels/ProviderRegistry.d.ts +6 -12
- package/build/staticModels/ProviderRegistry.js +45 -75
- package/build/staticModels/Superpro.d.ts +4 -4
- package/build/staticModels/Superpro.js +7 -25
- package/build/staticModels/SuperproToken.d.ts +7 -7
- package/build/staticModels/SuperproToken.js +34 -38
- package/build/staticModels/TeeOffers.d.ts +19 -21
- package/build/staticModels/TeeOffers.js +119 -126
- package/build/store.d.ts +2 -2
- package/build/tee/QuoteValidator.d.ts +2 -1
- package/build/tee/QuoteValidator.js +7 -6
- package/build/types/Consensus.d.ts +6 -57
- package/build/types/Consensus.js +2 -38
- package/build/types/DepositInfo.d.ts +0 -5
- package/build/types/DepositInfo.js +1 -8
- package/build/types/HardwareInfo.d.ts +0 -12
- package/build/types/HardwareInfo.js +1 -9
- package/build/types/Offer.d.ts +1 -25
- package/build/types/Offer.js +2 -25
- package/build/types/OptionInfo.d.ts +0 -5
- package/build/types/OptionInfo.js +1 -8
- package/build/types/Order.d.ts +8 -84
- package/build/types/Order.js +2 -42
- package/build/types/Origins.d.ts +0 -6
- package/build/types/Origins.js +1 -9
- package/build/types/Provider.d.ts +0 -19
- package/build/types/Provider.js +1 -19
- package/build/types/SlotInfo.d.ts +0 -5
- package/build/types/SlotInfo.js +1 -8
- package/build/types/SlotUsage.d.ts +0 -6
- package/build/types/SlotUsage.js +2 -9
- package/build/types/TeeOfferInfo.d.ts +0 -20
- package/build/types/TeeOfferInfo.js +1 -13
- package/build/types/TeeOfferOption.d.ts +0 -14
- package/build/types/TeeOfferOption.js +1 -10
- package/build/types/TeeOfferSlot.d.ts +0 -14
- package/build/types/TeeOfferSlot.js +1 -10
- package/build/types/ValueOfferSlot.d.ts +0 -19
- package/build/types/ValueOfferSlot.js +1 -12
- package/build/types/Web3.d.ts +25 -13
- package/build/types/blockchainConnector/StorageAccess.d.ts +2 -2
- package/build/types/index.d.ts +21 -0
- package/build/types/index.js +38 -0
- package/build/utils/Monitoring.js +5 -2
- package/build/utils/NonceTracker.d.ts +2 -2
- package/build/utils/NonceTracker.js +9 -11
- package/build/utils/TxManager.d.ts +6 -12
- package/build/utils/TxManager.js +16 -25
- package/build/{utils.d.ts → utils/helper.d.ts} +12 -17
- package/build/utils/helper.js +159 -0
- package/build/utils/helpers/tryWithInterval.js +11 -12
- package/package.json +9 -6
- package/readme.md +7 -8
- package/build/contracts/app.json +0 -12758
- package/build/staticModels/BaseStaticModel.d.ts +0 -4
- package/build/staticModels/BaseStaticModel.js +0 -20
- package/build/utils.js +0 -196
package/build/utils/TxManager.js
CHANGED
|
@@ -16,7 +16,7 @@ exports.Web3TransactionRevertedByEvmError = void 0;
|
|
|
16
16
|
const NonceTracker_1 = __importDefault(require("./NonceTracker"));
|
|
17
17
|
const logger_1 = __importDefault(require("../logger"));
|
|
18
18
|
const store_1 = __importDefault(require("../store"));
|
|
19
|
-
const
|
|
19
|
+
const helper_1 = require("./helper");
|
|
20
20
|
const Superpro_1 = __importDefault(require("../staticModels/Superpro"));
|
|
21
21
|
const constants_1 = require("../constants");
|
|
22
22
|
const lodash_1 = __importDefault(require("lodash"));
|
|
@@ -52,21 +52,18 @@ class TxManager {
|
|
|
52
52
|
yield this.nonceTrackers[address].initAccount();
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
-
static execute(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
};
|
|
62
|
-
return yield TxManager.publishTransaction(txData, transactionOptions, transaction);
|
|
63
|
-
});
|
|
55
|
+
static execute(transaction, transactionOptions, to = Superpro_1.default.address) {
|
|
56
|
+
const txData = {
|
|
57
|
+
to,
|
|
58
|
+
data: transaction.encodeABI(),
|
|
59
|
+
};
|
|
60
|
+
return TxManager.publishTransaction(txData, transactionOptions, transaction);
|
|
64
61
|
}
|
|
65
62
|
static publishTransaction(txData, transactionOptions, transactionCall) {
|
|
66
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
64
|
this.checkIfInitialized();
|
|
68
|
-
(0,
|
|
69
|
-
const options = yield (0,
|
|
65
|
+
(0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
66
|
+
const options = yield (0, helper_1.createTransactionOptions)(Object.assign({}, transactionOptions));
|
|
70
67
|
options.web3 = (transactionOptions === null || transactionOptions === void 0 ? void 0 : transactionOptions.web3) || this.web3;
|
|
71
68
|
if (!options.from) {
|
|
72
69
|
throw Error('From account is undefined. You should pass it to transactionOptions or init action account.');
|
|
@@ -77,20 +74,15 @@ class TxManager {
|
|
|
77
74
|
minTime: store_1.default.txIntervalMs,
|
|
78
75
|
});
|
|
79
76
|
}
|
|
80
|
-
return this.queues[options.from].schedule(() =>
|
|
81
|
-
return TxManager._publishTransaction(txData, options, transactionCall);
|
|
82
|
-
}));
|
|
77
|
+
return this.queues[options.from].schedule(() => TxManager._publishTransaction(txData, options, transactionCall));
|
|
83
78
|
});
|
|
84
79
|
}
|
|
85
|
-
static dryRun(
|
|
80
|
+
static dryRun(transaction, transactionOptions) {
|
|
86
81
|
var _a;
|
|
87
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
const transaction = method(...args);
|
|
89
83
|
const from = (_a = transactionOptions === null || transactionOptions === void 0 ? void 0 : transactionOptions.from) !== null && _a !== void 0 ? _a : store_1.default.actionAccount;
|
|
90
|
-
let result;
|
|
91
84
|
try {
|
|
92
|
-
|
|
93
|
-
return result;
|
|
85
|
+
return yield transaction.call({ from });
|
|
94
86
|
}
|
|
95
87
|
catch (e) {
|
|
96
88
|
e.txErrorMsg =
|
|
@@ -116,8 +108,7 @@ class TxManager {
|
|
|
116
108
|
TxManager.logger.debug({ error: e }, 'Fail to calculate estimated gas');
|
|
117
109
|
estimatedGas = constants_1.defaultGasLimit;
|
|
118
110
|
}
|
|
119
|
-
txData.gas = estimatedGas;
|
|
120
|
-
txData.gas = Math.ceil(txData.gas * store_1.default.gasLimitMultiplier);
|
|
111
|
+
txData.gas = (0, helper_1.multiplyBigIntByNumber)(estimatedGas, store_1.default.gasLimitMultiplier);
|
|
121
112
|
// defaultGasLimit is max gas limit
|
|
122
113
|
txData.gas = txData.gas < constants_1.defaultGasLimit ? txData.gas : constants_1.defaultGasLimit;
|
|
123
114
|
if (transactionOptions.gas) {
|
|
@@ -129,11 +120,11 @@ class TxManager {
|
|
|
129
120
|
}
|
|
130
121
|
txData.gas = transactionOptions.gas;
|
|
131
122
|
}
|
|
132
|
-
txData.gasPrice =
|
|
123
|
+
txData.gasPrice = (0, helper_1.multiplyBigIntByNumber)(txData.gasPrice, store_1.default.gasPriceMultiplier);
|
|
133
124
|
}
|
|
134
125
|
let nonceTracker;
|
|
135
126
|
// TODO: Consider a better way to organize different strategies for publishing transactions.
|
|
136
|
-
if (!(0,
|
|
127
|
+
if (!(0, helper_1.checkForUsingExternalTxManager)(transactionOptions) &&
|
|
137
128
|
this.nonceTrackers[transactionOptions.from]) {
|
|
138
129
|
nonceTracker = this.nonceTrackers[transactionOptions.from];
|
|
139
130
|
yield nonceTracker.onTransactionStartPublishing();
|
|
@@ -187,4 +178,4 @@ TxManager.logger = logger_1.default.child({ className: 'TxManager' });
|
|
|
187
178
|
TxManager.nonceTrackers = {};
|
|
188
179
|
TxManager.queues = {};
|
|
189
180
|
exports.default = TxManager;
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHhNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1R4TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFDQSxrRUFBMEM7QUFDMUMsdURBQW1DO0FBQ25DLHFEQUE2QjtBQUU3QixxQ0FLa0I7QUFDbEIsd0VBQWdEO0FBQ2hELDRDQUErQztBQUMvQyxvREFBNEI7QUFFNUIsNERBQW9DO0FBU3BDLE1BQU0sb0JBQXFCLFNBQVEsS0FBSztJQUVwQyxZQUFZLGFBQXNCLEVBQUUsT0FBZTtRQUMvQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQUVELE1BQWEsaUNBQWtDLFNBQVEsb0JBQW9CO0lBQ3ZFLFlBQVksYUFBc0IsRUFBRSxPQUFlO1FBQy9DLEtBQUssQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxtQ0FBbUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0o7QUFMRCw4RUFLQztBQUVELE1BQU0sU0FBUztJQUtKLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBVTtRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRU8sTUFBTSxDQUFDLGtCQUFrQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE1BQU0sS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7U0FDaEU7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFPLFdBQVcsQ0FBQyxPQUFlOztZQUMzQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO2dCQUFFLE9BQU87WUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxJ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
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { TransactionOptions } from '
|
|
2
|
-
import Web3 from 'web3';
|
|
3
|
-
import {
|
|
1
|
+
import { TransactionOptions } from '../types/Web3';
|
|
2
|
+
import Web3, { DecodedParams } from 'web3';
|
|
3
|
+
import { Web3BatchRequest } from 'web3-core';
|
|
4
|
+
import { SlotInfo } from '../types/SlotInfo';
|
|
4
5
|
/**
|
|
5
6
|
* Function for checking if provider action account initialized (required for set methods)
|
|
6
7
|
* Used in all set methods
|
|
@@ -13,27 +14,21 @@ export declare const checkForUsingExternalTxManager: (transactionOptions?: Trans
|
|
|
13
14
|
/**
|
|
14
15
|
* Updates gas price determined by the last few blocks median
|
|
15
16
|
*/
|
|
16
|
-
export declare const getGasPrice: (web3: Web3) => Promise<
|
|
17
|
+
export declare const getGasPrice: (web3: Web3) => Promise<bigint>;
|
|
18
|
+
export declare const multiplyBigIntByNumber: (big: bigint, num: number) => bigint;
|
|
17
19
|
/**
|
|
18
20
|
* Merge transaction options from arguments and from store
|
|
19
21
|
* Used in all set methods
|
|
20
22
|
*/
|
|
21
23
|
export declare const createTransactionOptions: (options?: TransactionOptions) => Promise<TransactionOptions>;
|
|
22
24
|
export declare const isNodeJS: () => boolean;
|
|
23
|
-
|
|
24
|
-
$obj?: (value: unknown) => unknown;
|
|
25
|
-
$tuple?: (value: unknown) => unknown;
|
|
26
|
-
};
|
|
27
|
-
type FormatItem = Format | Object | ((value: unknown) => unknown) | null | FormatFunctions;
|
|
28
|
-
type Format = FormatItem[] | {
|
|
29
|
-
[key: string]: FormatItem;
|
|
30
|
-
};
|
|
31
|
-
export declare const tupleToObject: <T>(data: unknown[], format: Format) => T;
|
|
32
|
-
export declare const tupleToObjectsArray: <T>(data: unknown[], format: Format) => T[];
|
|
33
|
-
export declare const objectToTuple: (data: unknown, format: Format) => unknown[];
|
|
34
|
-
export declare function incrementMethodCall(): (_target: any, propertyName: string, propertyDescriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
25
|
+
export declare function incrementMethodCall(): (_target: unknown, propertyName: string, propertyDescriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
35
26
|
export declare function packDevicId(hexedDeviceId: string): string;
|
|
36
27
|
export declare function unpackDeviceId(bytes32: string): string;
|
|
37
28
|
export declare function unpackSlotInfo(slotInfo: SlotInfo, cpuDenominator: number): SlotInfo;
|
|
38
29
|
export declare function packSlotInfo(slotInfo: SlotInfo, cpuDenominator: number): SlotInfo;
|
|
39
|
-
export
|
|
30
|
+
export declare function isValidBytes32Hex(data: string): boolean;
|
|
31
|
+
export declare const cleanEventData: (data: DecodedParams) => {
|
|
32
|
+
[key: string]: unknown;
|
|
33
|
+
};
|
|
34
|
+
export declare const executeBatchAsync: (batch: Web3BatchRequest) => Promise<unknown[]>;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.executeBatchAsync = exports.cleanEventData = exports.isValidBytes32Hex = exports.packSlotInfo = exports.unpackSlotInfo = exports.unpackDeviceId = exports.packDevicId = exports.incrementMethodCall = exports.isNodeJS = exports.createTransactionOptions = exports.multiplyBigIntByNumber = exports.getGasPrice = exports.checkForUsingExternalTxManager = exports.checkIfActionAccountInitialized = void 0;
|
|
16
|
+
const store_1 = __importDefault(require("../store"));
|
|
17
|
+
const Monitoring_1 = require("./Monitoring");
|
|
18
|
+
/**
|
|
19
|
+
* Function for checking if provider action account initialized (required for set methods)
|
|
20
|
+
* Used in all set methods
|
|
21
|
+
*/
|
|
22
|
+
const checkIfActionAccountInitialized = (transactionOptions) => {
|
|
23
|
+
if (!store_1.default.actionAccount && !(transactionOptions === null || transactionOptions === void 0 ? void 0 : transactionOptions.web3))
|
|
24
|
+
throw new Error("Provider action account is not initialized, needs to run 'BlockchainConnector.getInstance().initializeActionAccount(SECRET_KEY)' first");
|
|
25
|
+
};
|
|
26
|
+
exports.checkIfActionAccountInitialized = checkIfActionAccountInitialized;
|
|
27
|
+
/**
|
|
28
|
+
* Function for checking if current configuration supposed to use external transaction manager like MetaMask and etc.
|
|
29
|
+
*/
|
|
30
|
+
const checkForUsingExternalTxManager = (transactionOptions) => {
|
|
31
|
+
// TODO: Agree on more proper way of signaling, that we use an external transaction manager, than just passing a web3 instance.
|
|
32
|
+
return !!(transactionOptions === null || transactionOptions === void 0 ? void 0 : transactionOptions.web3);
|
|
33
|
+
};
|
|
34
|
+
exports.checkForUsingExternalTxManager = checkForUsingExternalTxManager;
|
|
35
|
+
/**
|
|
36
|
+
* Updates gas price determined by the last few blocks median
|
|
37
|
+
*/
|
|
38
|
+
const getGasPrice = (web3) => {
|
|
39
|
+
return web3.eth.getGasPrice();
|
|
40
|
+
};
|
|
41
|
+
exports.getGasPrice = getGasPrice;
|
|
42
|
+
const multiplyBigIntByNumber = (big, num) => {
|
|
43
|
+
const factor = BigInt(Math.pow(10, (num.toString().split('.')[1] || '').length));
|
|
44
|
+
const result = big * BigInt(Math.round(num * Number(factor)));
|
|
45
|
+
return result / factor;
|
|
46
|
+
};
|
|
47
|
+
exports.multiplyBigIntByNumber = multiplyBigIntByNumber;
|
|
48
|
+
/**
|
|
49
|
+
* Merge transaction options from arguments and from store
|
|
50
|
+
* Used in all set methods
|
|
51
|
+
*/
|
|
52
|
+
const createTransactionOptions = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
53
|
+
if (!options)
|
|
54
|
+
options = {};
|
|
55
|
+
if (!options.from)
|
|
56
|
+
options.from = store_1.default.actionAccount;
|
|
57
|
+
if (!options.gas)
|
|
58
|
+
options.gas = store_1.default.gasLimit;
|
|
59
|
+
if (!options.gasPriceMultiplier)
|
|
60
|
+
options.gasPriceMultiplier = store_1.default.gasPriceMultiplier;
|
|
61
|
+
if (!options.gasPrice) {
|
|
62
|
+
const web3 = options.web3 || store_1.default.web3Https;
|
|
63
|
+
if (web3) {
|
|
64
|
+
try {
|
|
65
|
+
options.gasPrice = yield (0, exports.getGasPrice)(web3);
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
options.gasPrice = store_1.default.gasPrice;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
throw Error('web3 is undefined, define it in transaction options or initialize BlockchainConnector with web3 instance.');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
delete options.web3;
|
|
76
|
+
return options;
|
|
77
|
+
});
|
|
78
|
+
exports.createTransactionOptions = createTransactionOptions;
|
|
79
|
+
const isNodeJS = () => {
|
|
80
|
+
return typeof window === 'undefined';
|
|
81
|
+
};
|
|
82
|
+
exports.isNodeJS = isNodeJS;
|
|
83
|
+
function incrementMethodCall() {
|
|
84
|
+
return function (_target, propertyName, propertyDescriptor) {
|
|
85
|
+
const monitoring = Monitoring_1.Monitoring.getInstance();
|
|
86
|
+
const method = propertyDescriptor.value;
|
|
87
|
+
propertyDescriptor.value = function (...args) {
|
|
88
|
+
monitoring.incrementCall(propertyName);
|
|
89
|
+
return method.apply(this, args);
|
|
90
|
+
};
|
|
91
|
+
return propertyDescriptor;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
exports.incrementMethodCall = incrementMethodCall;
|
|
95
|
+
function packDevicId(hexedDeviceId) {
|
|
96
|
+
const hexRegex = /^[0-9a-fA-F]+$/;
|
|
97
|
+
if (hexedDeviceId.length !== 64) {
|
|
98
|
+
throw new Error('DeviceId must be equal 64 hex symbols');
|
|
99
|
+
}
|
|
100
|
+
if (!hexRegex.test(hexedDeviceId)) {
|
|
101
|
+
throw new Error('DeviceId must be a hexedecimal');
|
|
102
|
+
}
|
|
103
|
+
return '0x' + hexedDeviceId;
|
|
104
|
+
}
|
|
105
|
+
exports.packDevicId = packDevicId;
|
|
106
|
+
function unpackDeviceId(bytes32) {
|
|
107
|
+
if (bytes32.length !== 66) {
|
|
108
|
+
throw new Error('DeviceId bytes must be equal 66 symbols');
|
|
109
|
+
}
|
|
110
|
+
// removes '0x'
|
|
111
|
+
return bytes32.slice(2, 66);
|
|
112
|
+
}
|
|
113
|
+
exports.unpackDeviceId = unpackDeviceId;
|
|
114
|
+
function unpackSlotInfo(slotInfo, cpuDenominator) {
|
|
115
|
+
return {
|
|
116
|
+
cpuCores: slotInfo.cpuCores / cpuDenominator,
|
|
117
|
+
ram: slotInfo.ram,
|
|
118
|
+
diskUsage: slotInfo.diskUsage,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
exports.unpackSlotInfo = unpackSlotInfo;
|
|
122
|
+
function packSlotInfo(slotInfo, cpuDenominator) {
|
|
123
|
+
return {
|
|
124
|
+
cpuCores: slotInfo.cpuCores * cpuDenominator,
|
|
125
|
+
ram: slotInfo.ram,
|
|
126
|
+
diskUsage: slotInfo.diskUsage,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
exports.packSlotInfo = packSlotInfo;
|
|
130
|
+
function isValidBytes32Hex(data) {
|
|
131
|
+
const regex = /^0x[a-fA-F0-9]{64}$/;
|
|
132
|
+
return regex.test(data);
|
|
133
|
+
}
|
|
134
|
+
exports.isValidBytes32Hex = isValidBytes32Hex;
|
|
135
|
+
const cleanEventData = (data) => {
|
|
136
|
+
var _a;
|
|
137
|
+
const result = Object.assign({}, data);
|
|
138
|
+
delete result.__length__;
|
|
139
|
+
for (let i = 0; i < ((_a = data.__length__) !== null && _a !== void 0 ? _a : 0); i++) {
|
|
140
|
+
delete result[i.toString()];
|
|
141
|
+
}
|
|
142
|
+
return result;
|
|
143
|
+
};
|
|
144
|
+
exports.cleanEventData = cleanEventData;
|
|
145
|
+
const executeBatchAsync = (batch) => __awaiter(void 0, void 0, void 0, function* () {
|
|
146
|
+
const result = [];
|
|
147
|
+
const responses = yield batch.execute();
|
|
148
|
+
for (const response of responses) {
|
|
149
|
+
if ('error' in response) {
|
|
150
|
+
throw new Error(response.error.message);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
result.push(response.result);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return result;
|
|
157
|
+
});
|
|
158
|
+
exports.executeBatchAsync = executeBatchAsync;
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBNkI7QUFJN0IsNkNBQTBDO0FBRzFDOzs7R0FHRztBQUNJLE1BQU0sK0JBQStCLEdBQUcsQ0FBQyxrQkFBdUMsRUFBUSxFQUFFO0lBQzdGLElBQUksQ0FBQyxlQUFLLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQSxrQkFBa0IsYUFBbEIsa0JBQWtCLHVCQUFsQixrQkFBa0IsQ0FBRSxJQUFJLENBQUE7UUFDakQsTUFBTSxJQUFJLEtBQUssQ0FDWCx3SUFBd0ksQ0FDM0ksQ0FBQztBQUNWLENBQUMsQ0FBQztBQUxXLFFBQUEsK0JBQStCLG1DQUsxQztBQUVGOztHQUVHO0FBQ0ksTUFBTSw4QkFBOEIsR0FBRyxDQUMxQyxrQkFBdUMsRUFDaEMsRUFBRTtJQUNULCtIQUErSDtJQUMvSCxPQUFPLENBQUMsQ0FBQyxDQUFBLGtCQUFrQixhQUFsQixrQkFBa0IsdUJBQWxCLGtCQUFrQixDQUFFLElBQUksQ0FBQSxDQUFDO0FBQ3RDLENBQUMsQ0FBQztBQUxXLFFBQUEsOEJBQThCLGtDQUt6QztBQUVGOztHQUVHO0FBQ0ksTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFVLEVBQW1CLEVBQUU7SUFDdkQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUZXLFFBQUEsV0FBVyxlQUV0QjtBQUVLLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFVLEVBQUU7SUFDdkUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENB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
|
|
@@ -13,15 +13,11 @@ exports.tryWithInterval = void 0;
|
|
|
13
13
|
const tryWithInterval = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
14
|
let checkedTimes = 0;
|
|
15
15
|
const { handler, checkResult, checkError, startDelay = 0, retryInterval, retryMax } = params;
|
|
16
|
+
const reachedMaxRetries = () => checkedTimes >= retryMax;
|
|
16
17
|
return yield new Promise((resolve, reject) => {
|
|
17
|
-
const
|
|
18
|
+
const scheduleNewIteration = (delay) => {
|
|
18
19
|
checkedTimes += 1;
|
|
19
|
-
|
|
20
|
-
reject(new Error(`checkWithInterval: MaxCheck count reached!}`));
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
setTimeout(timeoutFn, retryInterval);
|
|
24
|
-
}
|
|
20
|
+
setTimeout(timeoutFn, delay);
|
|
25
21
|
};
|
|
26
22
|
const timeoutFn = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
23
|
try {
|
|
@@ -31,19 +27,22 @@ const tryWithInterval = (params) => __awaiter(void 0, void 0, void 0, function*
|
|
|
31
27
|
resolve(result);
|
|
32
28
|
return;
|
|
33
29
|
}
|
|
34
|
-
|
|
30
|
+
if (reachedMaxRetries()) {
|
|
31
|
+
reject(new Error(`${exports.tryWithInterval.name}: MaxCheck count reached!`));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
35
34
|
}
|
|
36
35
|
catch (err) {
|
|
37
36
|
const isErrorRetryable = checkError ? checkError(err).retryable : true;
|
|
38
|
-
if (!isErrorRetryable) {
|
|
37
|
+
if (!isErrorRetryable || reachedMaxRetries()) {
|
|
39
38
|
reject(err);
|
|
40
39
|
return;
|
|
41
40
|
}
|
|
42
|
-
checkTimes();
|
|
43
41
|
}
|
|
42
|
+
scheduleNewIteration(retryInterval);
|
|
44
43
|
});
|
|
45
|
-
|
|
44
|
+
scheduleNewIteration(startDelay);
|
|
46
45
|
});
|
|
47
46
|
});
|
|
48
47
|
exports.tryWithInterval = tryWithInterval;
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ5V2l0aEludGVydmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlcnMvdHJ5V2l0aEludGVydmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQVNPLE1BQU0sZUFBZSxHQUFHLENBQVUsTUFBZ0MsRUFBYyxFQUFFO0lBQ3JGLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztJQUNyQixNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTdGLE1BQU0saUJBQWlCLEdBQUcsR0FBWSxFQUFFLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQztJQUVsRSxPQUFPLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDekMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQWEsRUFBUSxFQUFFO1lBQ2pELFlBQVksSUFBSSxDQUFDLENBQUM7WUFDbEIsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxHQUF3QixFQUFFO1lBQ3hDLElBQUk7Z0JBQ0EsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZFLElBQUksVUFBVSxFQUFFO29CQUNaLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFaEIsT0FBTztpQkFDVjtnQkFDRCxJQUFJLGlCQUFpQixFQUFFLEVBQUU7b0JBQ3JCLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLHVCQUFlLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxDQUFDLENBQUM7b0JBRXRFLE9BQU87aUJBQ1Y7YUFDSjtZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNWLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxpQkFBaUIsRUFBRSxFQUFFO29CQUMxQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBRVosT0FBTztpQkFDVjthQUNKO1lBRUQsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFBLENBQUM7UUFFRixvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQSxDQUFDO0FBeENXLFFBQUEsZUFBZSxtQkF3QzFCIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-protocol/sdk-js",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-beta.0",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@types/jest": "^27.0.3",
|
|
36
36
|
"@types/lodash": "^4.14.176",
|
|
37
37
|
"@types/lru-cache": "^7.10.10",
|
|
38
|
-
"@types/node": "^
|
|
38
|
+
"@types/node": "^20.7.0",
|
|
39
39
|
"@types/node-forge": "^1.3.1",
|
|
40
40
|
"@types/node-gzip": "^1.1.0",
|
|
41
41
|
"@typescript-eslint/eslint-plugin": "^5.8.0",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"ts-jest": "^27.0.7",
|
|
53
53
|
"ts-proto": "^1.110.4",
|
|
54
54
|
"ts-protoc-gen": "^0.15.0",
|
|
55
|
-
"typedoc": "^0.
|
|
56
|
-
"typedoc-plugin-markdown": "^3.
|
|
55
|
+
"typedoc": "^0.24.0",
|
|
56
|
+
"typedoc-plugin-markdown": "^3.16.0",
|
|
57
57
|
"typescript": "^4.4.4"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
@@ -73,8 +73,11 @@
|
|
|
73
73
|
"p-queue": "6.6.2",
|
|
74
74
|
"pino": "^7.2.0",
|
|
75
75
|
"protobufjs": "^6.11.2",
|
|
76
|
-
"web3": "^1.
|
|
77
|
-
"web3-
|
|
76
|
+
"web3": "^4.1.2",
|
|
77
|
+
"web3-core-requestmanager": "^1.10.0",
|
|
78
|
+
"web3-eth-contract": "^4.0.4",
|
|
79
|
+
"web3-parse-receipt-events": "^1.0.2",
|
|
80
|
+
"web3-types": "^1.1.0"
|
|
78
81
|
},
|
|
79
82
|
"repository": "git://github.com/Super-Protocol/sdk-js.git",
|
|
80
83
|
"resolutions": {
|
package/readme.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Installation
|
|
4
4
|
|
|
5
5
|
```
|
|
6
|
-
|
|
6
|
+
npm install @super-protocol/sdk-js
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
## Prepare protobuf
|
|
@@ -12,25 +12,24 @@ yarn add @super-protocol/sdk-js
|
|
|
12
12
|
|
|
13
13
|
2. Install protobuf (http://google.github.io/proto-lens/installing-protoc.html)
|
|
14
14
|
|
|
15
|
-
3.
|
|
15
|
+
3. npm run dto::update
|
|
16
16
|
|
|
17
17
|
## Local Dev Setup
|
|
18
|
-
1. npm install
|
|
18
|
+
1. npm install
|
|
19
19
|
|
|
20
|
-
2. Just run ```
|
|
20
|
+
2. Just run ```npm run build```
|
|
21
21
|
|
|
22
22
|
## Scripts
|
|
23
23
|
|
|
24
|
-
`
|
|
24
|
+
`npm run prettier` - run auto code style fixing
|
|
25
25
|
|
|
26
|
-
`
|
|
26
|
+
`npm run build` - create production build (in build folder)
|
|
27
27
|
|
|
28
|
-
`
|
|
28
|
+
`npm run dto:update` - generate TypeScript classes based on DTO submodule
|
|
29
29
|
|
|
30
30
|
## Dependencies
|
|
31
31
|
- NodeJS v16.8.0
|
|
32
32
|
- NPM v7.21.0
|
|
33
|
-
- yarn v1.22.11
|
|
34
33
|
|
|
35
34
|
## Apple M1 instructions
|
|
36
35
|
Some dependencies is not supported arm64 architecture. You can face with error like `dyld[12398]: missing symbol called`. To install everything correctly, do next:
|