@super-protocol/sdk-js 3.16.6 → 3.17.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.
- package/dist/cjs/RIGenerator.d.ts +3 -3
- package/dist/cjs/RIGenerator.js +7 -6
- package/dist/cjs/TIIGenerator.d.ts +3 -4
- package/dist/cjs/TIIGenerator.js +34 -7
- package/dist/cjs/TeeInputGeneratorBase.d.ts +3 -3
- package/dist/cjs/TeeInputGeneratorBase.js +5 -5
- package/dist/cjs/certificates/serializer.d.ts +5 -3
- package/dist/cjs/certificates/serializer.js +26 -11
- package/dist/cjs/certificates/types.d.ts +1 -1
- package/dist/cjs/connectors/BaseConnector.d.ts +3 -3
- package/dist/cjs/connectors/BaseConnector.js +1 -1
- package/dist/cjs/connectors/BlockchainConnector.js +3 -3
- package/dist/cjs/connectors/BlockchainEventsListener.d.ts +2 -2
- package/dist/cjs/connectors/BlockchainEventsListener.js +3 -2
- package/dist/cjs/constants.d.ts +1 -3
- package/dist/cjs/constants.js +3 -7
- package/dist/cjs/contracts/abi.d.ts +1067 -1137
- package/dist/cjs/contracts/abi.js +1408 -1500
- package/dist/cjs/crypto/Crypto.d.ts +10 -13
- package/dist/cjs/crypto/Crypto.js +14 -17
- package/dist/cjs/crypto/nodejs/AES.d.ts +1 -1
- package/dist/cjs/crypto/nodejs/AES.js +2 -2
- package/dist/cjs/crypto/nodejs/ARIA.d.ts +1 -1
- package/dist/cjs/crypto/nodejs/ARIA.js +2 -2
- package/dist/cjs/errors/index.d.ts +1 -0
- package/dist/cjs/errors/index.js +4 -2
- package/dist/cjs/errors/insufficient-funds.error.d.ts +19 -0
- package/dist/cjs/errors/insufficient-funds.error.js +57 -0
- package/dist/cjs/index.d.ts +3 -6
- package/dist/cjs/index.js +6 -9
- package/dist/cjs/models/Offer.d.ts +16 -1
- package/dist/cjs/models/Offer.js +59 -9
- package/dist/cjs/models/Order.d.ts +1 -1
- package/dist/cjs/models/Order.js +11 -15
- package/dist/cjs/models/Provider.d.ts +0 -1
- package/dist/cjs/models/Provider.js +1 -7
- package/dist/cjs/models/TCB.d.ts +1 -28
- package/dist/cjs/models/TCB.js +1 -61
- package/dist/cjs/models/TeeOffer.d.ts +3 -18
- package/dist/cjs/models/TeeOffer.js +20 -106
- package/dist/cjs/providers/storage/S3StorageProvider.js +5 -5
- package/dist/cjs/providers/storage/StorageKeyValueAdapter.d.ts +1 -1
- package/dist/cjs/providers/storage/StorageKeyValueAdapter.js +7 -7
- package/dist/cjs/providers/storage/fs-storage-provider.js +35 -15
- package/dist/cjs/providers/storage/parseStorageCredentials.d.ts +1 -2
- package/dist/cjs/staticModels/Consensus.d.ts +5 -16
- package/dist/cjs/staticModels/Consensus.js +17 -86
- package/dist/cjs/staticModels/Offers.d.ts +4 -1
- package/dist/cjs/staticModels/Offers.js +9 -8
- package/dist/cjs/staticModels/OffersCommon.d.ts +3 -1
- package/dist/cjs/staticModels/OffersCommon.js +6 -2
- package/dist/cjs/staticModels/Orders.js +12 -11
- package/dist/cjs/staticModels/ProviderRewards.js +2 -2
- package/dist/cjs/staticModels/StaticModel.js +5 -5
- package/dist/cjs/staticModels/SuperproToken.d.ts +7 -7
- package/dist/cjs/staticModels/SuperproToken.js +3 -3
- package/dist/cjs/staticModels/TeeOffers.d.ts +1 -7
- package/dist/cjs/staticModels/TeeOffers.js +11 -20
- package/dist/cjs/store.d.ts +0 -1
- package/dist/cjs/store.js +1 -2
- package/dist/cjs/tee/TeeBlockVerifier.d.ts +1 -2
- package/dist/cjs/tee/TeeBlockVerifier.js +17 -24
- package/dist/cjs/tee/TeeCertificateService.d.ts +1 -1
- package/dist/cjs/tee/TeeCertificateService.js +6 -10
- package/dist/cjs/tee/statuses.d.ts +0 -7
- package/dist/cjs/tee/statuses.js +2 -10
- package/dist/cjs/types/Consensus.d.ts +10 -31
- package/dist/cjs/types/Consensus.js +2 -10
- package/dist/cjs/types/Offer.d.ts +5 -0
- package/dist/cjs/types/Order.d.ts +26 -21
- package/dist/cjs/types/Order.js +24 -17
- package/dist/cjs/types/index.d.ts +0 -1
- package/dist/cjs/types/index.js +1 -2
- package/dist/cjs/utils/CryptoKeysTransformer.js +5 -5
- package/dist/cjs/utils/TxManager.js +21 -5
- package/dist/cjs/utils/helper.d.ts +2 -8
- package/dist/cjs/utils/helper.js +6 -75
- package/dist/cjs/utils/helpers/OrderArgsHelper.d.ts +2 -2
- package/dist/cjs/utils/helpers/OrderArgsHelper.js +5 -5
- package/dist/cjs/utils/helpers/index.d.ts +1 -0
- package/dist/cjs/utils/helpers/index.js +2 -1
- package/dist/cjs/utils/helpers/streamToBuffer.d.ts +4 -0
- package/dist/cjs/utils/helpers/streamToBuffer.js +13 -0
- package/dist/cjs/utils/order/process-order.js +3 -4
- package/dist/cjs/utils/order/types.d.ts +0 -1
- package/dist/cjs/utils/order/versify.js +1 -7
- package/dist/cjs/utils/rent-calculator/rent-calculator.js +2 -3
- package/dist/cjs/utils/rent-calculator/types.d.ts +0 -1
- package/dist/cjs/utils/tcb.d.ts +2 -0
- package/dist/cjs/utils/tcb.js +13 -0
- package/dist/cjs/utils/types.d.ts +0 -5
- package/dist/mjs/RIGenerator.d.ts +3 -3
- package/dist/mjs/RIGenerator.js +8 -7
- package/dist/mjs/TIIGenerator.d.ts +3 -4
- package/dist/mjs/TIIGenerator.js +34 -7
- package/dist/mjs/TeeInputGeneratorBase.d.ts +3 -3
- package/dist/mjs/TeeInputGeneratorBase.js +5 -5
- package/dist/mjs/certificates/serializer.d.ts +5 -3
- package/dist/mjs/certificates/serializer.js +26 -11
- package/dist/mjs/certificates/types.d.ts +1 -1
- package/dist/mjs/connectors/BaseConnector.d.ts +3 -3
- package/dist/mjs/connectors/BaseConnector.js +1 -1
- package/dist/mjs/connectors/BlockchainConnector.js +3 -3
- package/dist/mjs/connectors/BlockchainEventsListener.d.ts +2 -2
- package/dist/mjs/connectors/BlockchainEventsListener.js +3 -2
- package/dist/mjs/constants.d.ts +1 -3
- package/dist/mjs/constants.js +2 -6
- package/dist/mjs/contracts/abi.d.ts +1067 -1137
- package/dist/mjs/contracts/abi.js +1406 -1498
- package/dist/mjs/crypto/Crypto.d.ts +10 -13
- package/dist/mjs/crypto/Crypto.js +14 -17
- package/dist/mjs/crypto/nodejs/AES.d.ts +1 -1
- package/dist/mjs/crypto/nodejs/AES.js +2 -2
- package/dist/mjs/crypto/nodejs/ARIA.d.ts +1 -1
- package/dist/mjs/crypto/nodejs/ARIA.js +2 -2
- package/dist/mjs/errors/index.d.ts +1 -0
- package/dist/mjs/errors/index.js +2 -1
- package/dist/mjs/errors/insufficient-funds.error.d.ts +19 -0
- package/dist/mjs/errors/insufficient-funds.error.js +53 -0
- package/dist/mjs/index.d.ts +3 -6
- package/dist/mjs/index.js +4 -7
- package/dist/mjs/models/Offer.d.ts +16 -1
- package/dist/mjs/models/Offer.js +53 -3
- package/dist/mjs/models/Order.d.ts +1 -1
- package/dist/mjs/models/Order.js +11 -15
- package/dist/mjs/models/Provider.d.ts +0 -1
- package/dist/mjs/models/Provider.js +1 -7
- package/dist/mjs/models/TCB.d.ts +1 -28
- package/dist/mjs/models/TCB.js +2 -62
- package/dist/mjs/models/TeeOffer.d.ts +3 -18
- package/dist/mjs/models/TeeOffer.js +13 -99
- package/dist/mjs/providers/storage/S3StorageProvider.js +5 -5
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +1 -1
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +7 -7
- package/dist/mjs/providers/storage/fs-storage-provider.js +35 -15
- package/dist/mjs/providers/storage/parseStorageCredentials.d.ts +1 -2
- package/dist/mjs/staticModels/Consensus.d.ts +5 -16
- package/dist/mjs/staticModels/Consensus.js +18 -87
- package/dist/mjs/staticModels/Offers.d.ts +4 -1
- package/dist/mjs/staticModels/Offers.js +9 -8
- package/dist/mjs/staticModels/OffersCommon.d.ts +3 -1
- package/dist/mjs/staticModels/OffersCommon.js +6 -2
- package/dist/mjs/staticModels/Orders.js +12 -11
- package/dist/mjs/staticModels/ProviderRewards.js +3 -3
- package/dist/mjs/staticModels/StaticModel.js +5 -5
- package/dist/mjs/staticModels/SuperproToken.d.ts +7 -7
- package/dist/mjs/staticModels/SuperproToken.js +3 -3
- package/dist/mjs/staticModels/TeeOffers.d.ts +1 -7
- package/dist/mjs/staticModels/TeeOffers.js +12 -21
- package/dist/mjs/store.d.ts +0 -1
- package/dist/mjs/store.js +2 -3
- package/dist/mjs/tee/TeeBlockVerifier.d.ts +1 -2
- package/dist/mjs/tee/TeeBlockVerifier.js +17 -24
- package/dist/mjs/tee/TeeCertificateService.d.ts +1 -1
- package/dist/mjs/tee/TeeCertificateService.js +7 -11
- package/dist/mjs/tee/statuses.d.ts +0 -7
- package/dist/mjs/tee/statuses.js +1 -9
- package/dist/mjs/types/Consensus.d.ts +10 -31
- package/dist/mjs/types/Consensus.js +1 -9
- package/dist/mjs/types/Offer.d.ts +5 -0
- package/dist/mjs/types/Order.d.ts +26 -21
- package/dist/mjs/types/Order.js +21 -17
- package/dist/mjs/types/index.d.ts +0 -1
- package/dist/mjs/types/index.js +1 -2
- package/dist/mjs/utils/CryptoKeysTransformer.js +5 -5
- package/dist/mjs/utils/TxManager.js +21 -5
- package/dist/mjs/utils/helper.d.ts +2 -8
- package/dist/mjs/utils/helper.js +5 -68
- package/dist/mjs/utils/helpers/OrderArgsHelper.d.ts +2 -2
- package/dist/mjs/utils/helpers/OrderArgsHelper.js +5 -5
- package/dist/mjs/utils/helpers/index.d.ts +1 -0
- package/dist/mjs/utils/helpers/index.js +2 -1
- package/dist/mjs/utils/helpers/streamToBuffer.d.ts +4 -0
- package/dist/mjs/utils/helpers/streamToBuffer.js +9 -0
- package/dist/mjs/utils/order/process-order.js +3 -4
- package/dist/mjs/utils/order/types.d.ts +0 -1
- package/dist/mjs/utils/order/versify.js +1 -7
- package/dist/mjs/utils/rent-calculator/rent-calculator.js +2 -3
- package/dist/mjs/utils/rent-calculator/types.d.ts +0 -1
- package/dist/mjs/utils/tcb.d.ts +2 -0
- package/dist/mjs/utils/tcb.js +9 -0
- package/dist/mjs/utils/types.d.ts +0 -5
- package/package.json +8 -9
- package/dist/cjs/contracts/Campaign.d.ts +0 -1198
- package/dist/cjs/contracts/Campaign.js +0 -1554
- package/dist/cjs/contracts/CampaignTxPart.d.ts +0 -454
- package/dist/cjs/contracts/CampaignTxPart.js +0 -592
- package/dist/cjs/contracts/adminCertificateHelperAbi.d.ts +0 -316
- package/dist/cjs/contracts/adminCertificateHelperAbi.js +0 -410
- package/dist/cjs/proto/TeeDeviceInfo.d.ts +0 -292
- package/dist/cjs/proto/TeeDeviceInfo.js +0 -491
- package/dist/cjs/staticModels/AdminCertificateHelper.d.ts +0 -24
- package/dist/cjs/staticModels/AdminCertificateHelper.js +0 -99
- package/dist/cjs/staticModels/Campaign.d.ts +0 -63
- package/dist/cjs/staticModels/Campaign.js +0 -318
- package/dist/cjs/staticModels/CampaignTxPart.d.ts +0 -19
- package/dist/cjs/staticModels/CampaignTxPart.js +0 -58
- package/dist/cjs/tee/QuoteValidator.d.ts +0 -46
- package/dist/cjs/tee/QuoteValidator.js +0 -456
- package/dist/cjs/tee/TcbSerializer.d.ts +0 -20
- package/dist/cjs/tee/TcbSerializer.js +0 -27
- package/dist/cjs/types/Campaign.d.ts +0 -55
- package/dist/cjs/types/Campaign.js +0 -17
- package/dist/cjs/utils/admin-service.d.ts +0 -13
- package/dist/cjs/utils/admin-service.js +0 -73
- package/dist/mjs/contracts/Campaign.d.ts +0 -1198
- package/dist/mjs/contracts/Campaign.js +0 -1551
- package/dist/mjs/contracts/CampaignTxPart.d.ts +0 -454
- package/dist/mjs/contracts/CampaignTxPart.js +0 -589
- package/dist/mjs/contracts/adminCertificateHelperAbi.d.ts +0 -316
- package/dist/mjs/contracts/adminCertificateHelperAbi.js +0 -407
- package/dist/mjs/proto/TeeDeviceInfo.d.ts +0 -292
- package/dist/mjs/proto/TeeDeviceInfo.js +0 -485
- package/dist/mjs/staticModels/AdminCertificateHelper.d.ts +0 -24
- package/dist/mjs/staticModels/AdminCertificateHelper.js +0 -92
- package/dist/mjs/staticModels/Campaign.d.ts +0 -63
- package/dist/mjs/staticModels/Campaign.js +0 -313
- package/dist/mjs/staticModels/CampaignTxPart.d.ts +0 -19
- package/dist/mjs/staticModels/CampaignTxPart.js +0 -51
- package/dist/mjs/tee/QuoteValidator.d.ts +0 -46
- package/dist/mjs/tee/QuoteValidator.js +0 -449
- package/dist/mjs/tee/TcbSerializer.d.ts +0 -20
- package/dist/mjs/tee/TcbSerializer.js +0 -23
- package/dist/mjs/types/Campaign.d.ts +0 -55
- package/dist/mjs/types/Campaign.js +0 -14
- package/dist/mjs/utils/admin-service.d.ts +0 -13
- package/dist/mjs/utils/admin-service.js +0 -66
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import rootLogger from '../logger.js';
|
|
2
2
|
import TCB from '../models/TCB.js';
|
|
3
3
|
import Superpro from './Superpro.js';
|
|
4
|
-
import { checkIfActionAccountInitialized, cleanWeb3Data,
|
|
4
|
+
import { checkIfActionAccountInitialized, cleanWeb3Data, transformComplexObject, formatEpochIndexes, } from '../utils/helper.js';
|
|
5
5
|
import TxManager from '../utils/TxManager.js';
|
|
6
6
|
import { BlockchainConnector, BlockchainEventsListener } from '../connectors/index.js';
|
|
7
7
|
import ProviderRewards from './ProviderRewards.js';
|
|
@@ -39,26 +39,21 @@ class Consensus {
|
|
|
39
39
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
40
40
|
return Number(await contract.methods.getTcbsCount().call());
|
|
41
41
|
}
|
|
42
|
-
static
|
|
42
|
+
static async addTcb(tcb, transactionOptions) {
|
|
43
43
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
tcbsPublicData[tcbIndex].checkingTcbIds?.map((id) => id.toString()) || [];
|
|
57
|
-
tcbsPublicData[tcbIndex].checkingTcbMarks =
|
|
58
|
-
tcbsPublicData[tcbIndex].checkingTcbMarks?.map((mark) => Number(mark)) || [];
|
|
59
|
-
response[tcbIds[tcbIndex]] = tcbsPublicData[tcbIndex];
|
|
44
|
+
const logger = Consensus.logger.child({
|
|
45
|
+
publicKey: tcb.pubKey,
|
|
46
|
+
method: 'addTcb',
|
|
47
|
+
});
|
|
48
|
+
try {
|
|
49
|
+
logger.debug('add tcb');
|
|
50
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
51
|
+
await TxManager.execute(contract.methods.addTcb(tcb.certsChain, tcb.rootCertId, tcb.teeOfferId, tcb.benchmark, tcb.pubKey), transactionOptions);
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
logger.error({ err }, 'Failed to add TCB to blockchain');
|
|
55
|
+
throw err;
|
|
60
56
|
}
|
|
61
|
-
return response;
|
|
62
57
|
}
|
|
63
58
|
static async getTcbsEpochIndex(tcbIds, batchSize = EPOCH_INDEXES_REQUEST_BATCH_SIZE) {
|
|
64
59
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
@@ -123,32 +118,6 @@ class Consensus {
|
|
|
123
118
|
}
|
|
124
119
|
}
|
|
125
120
|
}
|
|
126
|
-
static getSuspiciousBlockTableSize() {
|
|
127
|
-
const contract = BlockchainConnector.getInstance().getContract();
|
|
128
|
-
return contract.methods
|
|
129
|
-
.getSuspiciousBlockTableSize()
|
|
130
|
-
.call()
|
|
131
|
-
.then((size) => size.toString());
|
|
132
|
-
}
|
|
133
|
-
static getLastBlockTable() {
|
|
134
|
-
const contract = BlockchainConnector.getInstance().getContract();
|
|
135
|
-
return contract.methods
|
|
136
|
-
.getLastBlockTable()
|
|
137
|
-
.call()
|
|
138
|
-
.then((ids) => ids.map((id) => id.toString()));
|
|
139
|
-
}
|
|
140
|
-
static getLastBlockTableSize() {
|
|
141
|
-
const contract = BlockchainConnector.getInstance().getContract();
|
|
142
|
-
return contract.methods
|
|
143
|
-
.getLastBlockTableSize()
|
|
144
|
-
.call()
|
|
145
|
-
.then((size) => size.toString());
|
|
146
|
-
}
|
|
147
|
-
static async getConstants() {
|
|
148
|
-
const contract = BlockchainConnector.getInstance().getContract();
|
|
149
|
-
const response = await contract.methods.getConsensusConstants().call();
|
|
150
|
-
return response;
|
|
151
|
-
}
|
|
152
121
|
static onTcbBanned(callback) {
|
|
153
122
|
const listener = BlockchainEventsListener.getInstance();
|
|
154
123
|
const logger = this.logger.child({ method: 'onTcbBanned' });
|
|
@@ -168,47 +137,9 @@ class Consensus {
|
|
|
168
137
|
event: 'TcbBanned',
|
|
169
138
|
});
|
|
170
139
|
}
|
|
171
|
-
static
|
|
172
|
-
const listener = BlockchainEventsListener.getInstance();
|
|
173
|
-
const logger = this.logger.child({ method: 'onTcbCompleted' });
|
|
174
|
-
const onData = (event) => {
|
|
175
|
-
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
176
|
-
callback(parsedEvent.tcbId, parsedEvent.action, {
|
|
177
|
-
index: Number(event.blockNumber),
|
|
178
|
-
hash: event.blockHash,
|
|
179
|
-
});
|
|
180
|
-
};
|
|
181
|
-
const onError = (error) => {
|
|
182
|
-
logger.warn(error);
|
|
183
|
-
};
|
|
184
|
-
return listener.subscribeEvent({
|
|
185
|
-
onError,
|
|
186
|
-
onData,
|
|
187
|
-
event: 'TcbCompleted',
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
static onTcbInitialized(callback) {
|
|
191
|
-
const listener = BlockchainEventsListener.getInstance();
|
|
192
|
-
const logger = this.logger.child({ method: 'onTcbInitialized' });
|
|
193
|
-
const onData = (event) => {
|
|
194
|
-
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
195
|
-
callback(parsedEvent.tcbId, parsedEvent.action, {
|
|
196
|
-
index: Number(event.blockNumber),
|
|
197
|
-
hash: event.blockHash,
|
|
198
|
-
});
|
|
199
|
-
};
|
|
200
|
-
const onError = (error) => {
|
|
201
|
-
logger.warn(error);
|
|
202
|
-
};
|
|
203
|
-
return listener.subscribeEvent({
|
|
204
|
-
onError,
|
|
205
|
-
onData,
|
|
206
|
-
event: 'TcbInitialized',
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
static onTcbBenchmarkChanged(callback) {
|
|
140
|
+
static onTcbAdded(callback) {
|
|
210
141
|
const listener = BlockchainEventsListener.getInstance();
|
|
211
|
-
const logger = this.logger.child({ method: '
|
|
142
|
+
const logger = this.logger.child({ method: 'onTcbAdded' });
|
|
212
143
|
const onData = (event) => {
|
|
213
144
|
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
214
145
|
callback(parsedEvent.tcbId, parsedEvent.action, {
|
|
@@ -222,7 +153,7 @@ class Consensus {
|
|
|
222
153
|
return listener.subscribeEvent({
|
|
223
154
|
onError,
|
|
224
155
|
onData,
|
|
225
|
-
event: '
|
|
156
|
+
event: 'TcbAdded',
|
|
226
157
|
});
|
|
227
158
|
}
|
|
228
159
|
static onTcbRewardUnlocked(callback) {
|
|
@@ -246,4 +177,4 @@ class Consensus {
|
|
|
246
177
|
}
|
|
247
178
|
}
|
|
248
179
|
export default Consensus;
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9Db25zZW5zdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLGVBQWUsQ0FBQztBQVVyQyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCxrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU92RixPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztBQUM1RSxNQUFNLGdDQUFnQyxHQUFHLElBQUksQ0FBQztBQUc5QyxNQUFNLFNBQVM7SUFDTCxNQUFNLENBQVUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN0RSxNQUFNLENBQUMsTUFBTSxDQUFrQjtJQUVoQyxNQUFNLEtBQUssT0FBTztRQUN2QixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUM1QixNQUF5QixFQUN6QixHQUFhLEVBQ2IsU0FBaUIsRUFDakIsUUFBNEI7UUFFNUIsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxTQUFT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
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9Db25zZW5zdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLGVBQWUsQ0FBQztBQVFyQyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsa0JBQWtCLEdBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPdkYsT0FBTyxlQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7QUFDNUUsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLENBQUM7QUFHOUMsTUFBTSxTQUFTO0lBQ0wsTUFBTSxDQUFVLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdEUsTUFBTSxDQUFDLE1BQU0sQ0FBa0I7SUFFaEMsTUFBTSxLQUFLLE9BQU87UUFDdkIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDNUIsTUFBeUIsRUFDekIsR0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFFBQTRCO1FBRTVCLE1BQU0sT0FBTyxHQUFRLEVBQUUsQ0FBQztRQUN4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7WUFDL0MsTUFBTSxL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
|
|
@@ -6,7 +6,9 @@ declare class Offers implements StaticModel {
|
|
|
6
6
|
/**
|
|
7
7
|
* Function for fetching list of all offers ids
|
|
8
8
|
*/
|
|
9
|
-
static getAll(
|
|
9
|
+
static getAll(options?: {
|
|
10
|
+
useCache: boolean;
|
|
11
|
+
}): Promise<BlockchainId[]>;
|
|
10
12
|
/**
|
|
11
13
|
* Function for fetching offer type
|
|
12
14
|
*/
|
|
@@ -38,6 +40,7 @@ declare class Offers implements StaticModel {
|
|
|
38
40
|
offerInfo: OfferInfo;
|
|
39
41
|
externalId?: string;
|
|
40
42
|
enabled?: boolean;
|
|
43
|
+
offerActionAccount?: string;
|
|
41
44
|
transactionOptions?: TransactionOptions;
|
|
42
45
|
}): Promise<BlockchainId>;
|
|
43
46
|
static getByExternalId(filter: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import rootLogger from '../logger.js';
|
|
2
2
|
import StaticModel from './StaticModel.js';
|
|
3
3
|
import { checkIfActionAccountInitialized, cleanWeb3Data } from '../utils/helper.js';
|
|
4
|
-
import {
|
|
4
|
+
import { encodeBytes32String, decodeBytes32String, ethers } from 'ethers';
|
|
5
5
|
import { OfferType, } from '../types/index.js';
|
|
6
6
|
import Superpro from './Superpro.js';
|
|
7
7
|
import TxManager from '../utils/TxManager.js';
|
|
@@ -15,8 +15,8 @@ class Offers {
|
|
|
15
15
|
/**
|
|
16
16
|
* Function for fetching list of all offers ids
|
|
17
17
|
*/
|
|
18
|
-
static async getAll() {
|
|
19
|
-
const offers = await OffersCommon.getAll(1000);
|
|
18
|
+
static async getAll(options = { useCache: true }) {
|
|
19
|
+
const offers = await OffersCommon.getAll(1000, options);
|
|
20
20
|
return offers
|
|
21
21
|
.filter((offer) => offer.type !== OfferType.TeeOffer)
|
|
22
22
|
.map((offer) => offer.offerId);
|
|
@@ -66,10 +66,10 @@ class Offers {
|
|
|
66
66
|
* @returns Promise that resolves when offer is created
|
|
67
67
|
*/
|
|
68
68
|
static async create(params) {
|
|
69
|
-
const { providerAuthorityAccount, offerInfo, externalId = 'default', enabled = false, transactionOptions, } = params;
|
|
69
|
+
const { providerAuthorityAccount, offerInfo, externalId = 'default', enabled = false, offerActionAccount, transactionOptions, } = params;
|
|
70
70
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
71
71
|
checkIfActionAccountInitialized(transactionOptions);
|
|
72
|
-
const formattedExternalId =
|
|
72
|
+
const formattedExternalId = encodeBytes32String(externalId);
|
|
73
73
|
const { restrictions, offerType, subType, group: _group, ...rest } = offerInfo;
|
|
74
74
|
const offerInfoRaw = {
|
|
75
75
|
...rest,
|
|
@@ -83,6 +83,7 @@ class Offers {
|
|
|
83
83
|
offerType: offerType,
|
|
84
84
|
providerAuth: providerAuthorityAccount,
|
|
85
85
|
enabled,
|
|
86
|
+
offerActionAccount: offerActionAccount ?? ethers.ZeroAddress,
|
|
86
87
|
};
|
|
87
88
|
const newOfferId = await StaticModel.createEntity({
|
|
88
89
|
txExecutorCallback: async () => {
|
|
@@ -119,7 +120,7 @@ class Offers {
|
|
|
119
120
|
if (creator && parsedEvent.creator != creator) {
|
|
120
121
|
return;
|
|
121
122
|
}
|
|
122
|
-
callback(parsedEvent.creator, parsedEvent.offerId, parsedEvent.slotId,
|
|
123
|
+
callback(parsedEvent.creator, parsedEvent.offerId, parsedEvent.slotId, decodeBytes32String(parsedEvent.externalId), {
|
|
123
124
|
index: Number(event.blockNumber),
|
|
124
125
|
hash: event.blockHash,
|
|
125
126
|
});
|
|
@@ -191,7 +192,7 @@ class Offers {
|
|
|
191
192
|
const logger = this.logger.child({ method: 'onOfferCreated' });
|
|
192
193
|
const onData = (event) => {
|
|
193
194
|
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
194
|
-
callback(parsedEvent.offerId, parsedEvent.creator,
|
|
195
|
+
callback(parsedEvent.offerId, parsedEvent.creator, decodeBytes32String(parsedEvent.externalId), {
|
|
195
196
|
index: Number(event.blockNumber),
|
|
196
197
|
hash: event.blockHash,
|
|
197
198
|
});
|
|
@@ -245,4 +246,4 @@ class Offers {
|
|
|
245
246
|
}
|
|
246
247
|
}
|
|
247
248
|
export default Offers;
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sV0FBVyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQWEsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RixPQUFPLEVBTUwsU0FBUyxHQU1WLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxRQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTXZGLE9BQU8sWUFBWSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDLE1BQU0sTUFBTTtJQUNGLE1BQU0sQ0FBVSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRTNFLE1BQU0sS0FBSyxPQUFPO1FBQ2hCLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU07UUFDakIsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9DLE9BQU8sTUFBTTthQUNWLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDO2FBQ3BELEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFD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
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sV0FBVyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQWEsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JGLE9BQU8sRUFNTCxTQUFTLEdBTVYsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFNdkYsT0FBTyxZQUFZLE1BQU0sbUJBQW1CLENBQUM7QUFFN0MsTUFBTSxNQUFNO0lBQ0YsTUFBTSxDQUFVLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFM0UsTUFBTSxLQUFLLE9BQU87UUFDaEIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUNqQixVQUFpQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7UUFFbkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV4RCxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLFFBQVEs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
|
|
@@ -8,7 +8,9 @@ interface ICommonOffersGetAllResult {
|
|
|
8
8
|
export default class OffersCommon implements StaticModel {
|
|
9
9
|
private static cachedOffers;
|
|
10
10
|
private static latestCachedOfferId;
|
|
11
|
-
static getAll(batchSize?: number
|
|
11
|
+
static getAll(batchSize?: number, options?: {
|
|
12
|
+
useCache: boolean;
|
|
13
|
+
}): Promise<ICommonOffersGetAllResult[]>;
|
|
12
14
|
static getOffersType(offerIds: string[]): Promise<{
|
|
13
15
|
offerId: string;
|
|
14
16
|
type?: OfferType;
|
|
@@ -6,7 +6,11 @@ import { getRawRpcContractCall } from '../utils/helpers/getRawRpc.js';
|
|
|
6
6
|
export default class OffersCommon {
|
|
7
7
|
static cachedOffers = new Map();
|
|
8
8
|
static latestCachedOfferId = '0';
|
|
9
|
-
static async getAll(batchSize = 1000) {
|
|
9
|
+
static async getAll(batchSize = 1000, options = { useCache: true }) {
|
|
10
|
+
if (!options.useCache) {
|
|
11
|
+
this.cachedOffers.clear();
|
|
12
|
+
this.latestCachedOfferId = '0';
|
|
13
|
+
}
|
|
10
14
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
11
15
|
const count = Number(await contract.methods.getOffersTotalCount().call());
|
|
12
16
|
const latestCachedOfferId = Number(this.latestCachedOfferId);
|
|
@@ -70,4 +74,4 @@ export default class OffersCommon {
|
|
|
70
74
|
return data;
|
|
71
75
|
}
|
|
72
76
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzQ29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PZmZlcnNDb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHN0QsT0FBTyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVF0RSxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQVk7SUFDdkIsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBMkMsQ0FBQztJQUN6RSxNQUFNLENBQUMsbUJBQW1CLEdBQWlCLEdBQUcsQ0FBQztJQUV2RCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDakIsWUFBb0IsSUFBSSxFQUN4QixVQUFpQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7UUFFbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLENBQUM7UUFDakMsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTdELElBQUksbUJBQW1CLEdBQUcs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
|
|
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
10
|
+
import { decodeBytes32String } from 'ethers';
|
|
11
11
|
import rootLogger from '../logger.js';
|
|
12
12
|
import { checkIfActionAccountInitialized, cleanWeb3Data, convertBigIntToString, executeBatchAsync, incrementMethodCall, } from '../utils/helper.js';
|
|
13
13
|
import { OfferType, orderInfoToRaw, aggregatedOrderInfoFromRaw, } from '../types/index.js';
|
|
@@ -39,17 +39,19 @@ class Orders {
|
|
|
39
39
|
info.tokenAddress = tokenAddress;
|
|
40
40
|
}
|
|
41
41
|
const workflowDeposit = workflowArgs.workflowDeposit ?? '0';
|
|
42
|
+
const parentOrderInfoRaw = orderInfoToRaw(parentOrderInfo);
|
|
42
43
|
const parentOrderCreatingArgs = {
|
|
43
|
-
orderInfo:
|
|
44
|
+
orderInfo: parentOrderInfoRaw,
|
|
44
45
|
orderSlots: workflowArgs.parentOrderSlot,
|
|
45
|
-
orderArgs:
|
|
46
|
+
orderArgs: parentOrderInfoRaw.args,
|
|
46
47
|
};
|
|
47
48
|
const subOrdersCreatingArgs = [];
|
|
48
49
|
for (let i = 0; i < subOrdersInfo.length; i++) {
|
|
50
|
+
const subOrderInfoRaw = orderInfoToRaw(subOrdersInfo[i]);
|
|
49
51
|
subOrdersCreatingArgs.push({
|
|
50
|
-
orderInfo:
|
|
52
|
+
orderInfo: subOrderInfoRaw,
|
|
51
53
|
orderSlots: workflowArgs.subOrdersSlots[i],
|
|
52
|
-
orderArgs:
|
|
54
|
+
orderArgs: subOrderInfoRaw.args,
|
|
53
55
|
});
|
|
54
56
|
}
|
|
55
57
|
const workflowArgsRaw = {
|
|
@@ -148,14 +150,13 @@ class Orders {
|
|
|
148
150
|
if (orderInfo.tokenAddress === undefined)
|
|
149
151
|
orderInfo.tokenAddress = Orders.getTokenAddress();
|
|
150
152
|
deposit = deposit ?? '0';
|
|
151
|
-
const args = orderInfo
|
|
152
|
-
const orderInfoArguments = orderInfoToRaw(orderInfo);
|
|
153
|
+
const { args, ...orderInfoRaw } = orderInfoToRaw(orderInfo);
|
|
153
154
|
if (checkTxBeforeSend) {
|
|
154
|
-
await TxManager.dryRun(contract.methods.createOrder(
|
|
155
|
+
await TxManager.dryRun(contract.methods.createOrder(orderInfoRaw, slots, args, deposit, suspended), transactionOptions);
|
|
155
156
|
}
|
|
156
157
|
const newOrderId = await StaticModel.createEntity({
|
|
157
158
|
txExecutorCallback: async () => {
|
|
158
|
-
await TxManager.execute(contract.methods.createOrder(
|
|
159
|
+
await TxManager.execute(contract.methods.createOrder(orderInfoRaw, slots, args, deposit, suspended), transactionOptions);
|
|
159
160
|
},
|
|
160
161
|
filters: [{ externalId: inputOrderInfo.externalId }],
|
|
161
162
|
eventName: 'OrderCreated',
|
|
@@ -280,7 +281,7 @@ class Orders {
|
|
|
280
281
|
const logger = this.logger.child({ method: 'onOrderCreated' });
|
|
281
282
|
const onData = (event) => {
|
|
282
283
|
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
283
|
-
callback(parsedEvent.consumer,
|
|
284
|
+
callback(parsedEvent.consumer, decodeBytes32String(parsedEvent.externalId), parsedEvent.offerId, parsedEvent.parentOrderId, parsedEvent.orderId, parsedEvent.tokenAddress, parsedEvent.deposit, parsedEvent.status, {
|
|
284
285
|
index: Number(event.blockNumber),
|
|
285
286
|
hash: event.blockHash,
|
|
286
287
|
});
|
|
@@ -633,4 +634,4 @@ __decorate([
|
|
|
633
634
|
__metadata("design:returntype", Promise)
|
|
634
635
|
], Orders, "createWorkflows", null);
|
|
635
636
|
export default Orders;
|
|
636
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PcmRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsbUJBQW1CLEdBQ3BCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUdMLFNBQVMsRUFJVCxjQUFjLEVBWWQsMEJBQTBCLEdBRTNCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxRQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZGLE9BQU8sV0FBVyxNQUFNLGtCQUFrQixDQUFDO0FBTTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEtBQUssTUFBTSxvQkFBb0IsQ0FBQztBQUN2QyxPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDaEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCLE1BQU0sTUFBTTtJQUNGLE1BQU0sQ0FBVSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLE1BQU0sQ0FBQyxNQUFNLENBQWtCO0lBRS9CLE1BQU0sS0FBSyxPQUFPO1FBQ3ZCLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBQ08sTUFBTSxD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
|
|
637
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PcmRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdDLE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUNwQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFHTCxTQUFTLEVBSVQsY0FBYyxFQVlkLDBCQUEwQixHQUUzQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sUUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RixPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQU0zQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxLQUFLLE1BQU0sb0JBQW9CLENBQUM7QUFDdkMsT0FBTyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixNQUFNLE1BQU07SUFDRixNQUFNLENBQVUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUVwRSxNQUFNLENBQUMsTUFBTSxDQUFrQjtJQUUvQixNQUFNLEtBQUssT0FBTztRQUN2QixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUNPLE1BQU0sQ0FB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
|
|
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import rootLogger from '../logger.js';
|
|
11
11
|
import Superpro from './Superpro.js';
|
|
12
12
|
import { OfferType, } from '../types/index.js';
|
|
13
|
-
import { checkIfActionAccountInitialized, cleanWeb3Data,
|
|
13
|
+
import { checkIfActionAccountInitialized, cleanWeb3Data, formatPriceMultipliers, formatEpochIndexes, incrementMethodCall, } from '../utils/helper.js';
|
|
14
14
|
import TxManager from '../utils/TxManager.js';
|
|
15
15
|
import { BlockchainConnector, BlockchainEventsListener } from '../connectors/index.js';
|
|
16
16
|
const EPOCH_INDEXES_REQUEST_BATCH_SIZE = 1000;
|
|
@@ -83,7 +83,7 @@ class ProviderRewards {
|
|
|
83
83
|
const getBenchmarksHelper = async (epochIndexes, teeOfferIds) => {
|
|
84
84
|
return contract.methods.getBenchmarks(epochIndexes, teeOfferIds).call();
|
|
85
85
|
};
|
|
86
|
-
const benchmarks = await ProviderRewards.batchCall(getBenchmarksHelper, [epochIndexes, teeOfferIds], batchSize,
|
|
86
|
+
const benchmarks = await ProviderRewards.batchCall(getBenchmarksHelper, [epochIndexes, teeOfferIds], batchSize, (data) => data);
|
|
87
87
|
return benchmarks;
|
|
88
88
|
}
|
|
89
89
|
static async getEpochTime(epochIndex) {
|
|
@@ -164,4 +164,4 @@ __decorate([
|
|
|
164
164
|
__metadata("design:returntype", Promise)
|
|
165
165
|
], ProviderRewards, "batchClaimRewards", null);
|
|
166
166
|
export default ProviderRewards;
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXJSZXdhcmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9Qcm92aWRlclJld2FyZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sUUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBS0wsU0FBUyxHQUdWLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLCtCQUErQixFQUMvQixhQUFhLEVBQ2Isc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixtQkFBbUIsR0FDcEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVF2RixNQUFNLGdDQUFnQyxHQUFHLElBQUksQ0FBQztBQUM5QyxNQUFNLDRCQUE0QixHQUFHLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztBQUdsRixNQUFNLGVBQWU7SUFDWCxNQUFNLENBQVUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBRTdFLE1BQU0sS0FBSyxPQUFPO1FBQ3ZCLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQzVCLE1BQXlCLEVBQ3pCLFNBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLFFBQTRCO1FBRTVCLE1BQU0sT0FBTyxHQUFRLEVBQUUsQ0FBQztRQUN4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7WUFDeEQsTUFB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
|