@socket.tech/dl-common 1.0.12 → 1.0.13
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/constants/enums.d.ts +2 -8
- package/dist/constants/enums.js +1 -8
- package/dist/constants/types.d.ts +1 -11
- package/dist/constants/types.js +1 -9
- package/dist/constants/waitTime.js +4 -0
- package/dist/dl-common/constants/confirmations.js +1 -0
- package/dist/dl-common/constants/confirmations.js.map +1 -0
- package/dist/dl-common/constants/enums.js +1 -0
- package/dist/dl-common/constants/enums.js.map +1 -0
- package/dist/dl-common/constants/index.js +5 -17
- package/dist/dl-common/constants/index.js.map +1 -0
- package/dist/dl-common/constants/types.d.ts +18 -8
- package/dist/dl-common/constants/types.js +10 -1
- package/dist/dl-common/constants/types.js.map +1 -0
- package/dist/dl-common/constants/waitTime.js +1 -4
- package/dist/dl-common/constants/waitTime.js.map +1 -0
- package/dist/dl-common/index.js +6 -18
- package/dist/dl-common/index.js.map +1 -0
- package/dist/dl-common/models/attestSignature.js +1 -0
- package/dist/dl-common/models/attestSignature.js.map +1 -0
- package/dist/dl-common/models/attestation.js +1 -0
- package/dist/dl-common/models/attestation.js.map +1 -0
- package/dist/dl-common/models/index.js +9 -21
- package/dist/dl-common/models/index.js.map +1 -0
- package/dist/dl-common/models/lastBlock.js +1 -0
- package/dist/dl-common/models/lastBlock.js.map +1 -0
- package/dist/dl-common/models/message.d.ts +6 -1
- package/dist/dl-common/models/message.js +12 -1
- package/dist/dl-common/models/message.js.map +1 -0
- package/dist/dl-common/models/packet.d.ts +0 -1
- package/dist/dl-common/models/packet.js +1 -5
- package/dist/dl-common/models/packet.js.map +1 -0
- package/dist/dl-common/models/proposal.js +1 -0
- package/dist/dl-common/models/proposal.js.map +1 -0
- package/dist/dl-common/models/switchboard.js +4 -2
- package/dist/dl-common/models/switchboard.js.map +1 -0
- package/dist/dl-common/models/transaction.js +1 -279
- package/dist/dl-common/models/transaction.js.map +1 -0
- package/dist/dl-common/services/cacheService.js +35 -33
- package/dist/dl-common/services/cacheService.js.map +1 -0
- package/dist/dl-common/services/eventBridgeService.d.ts +1 -1
- package/dist/dl-common/services/eventBridgeService.js +5 -7
- package/dist/dl-common/services/eventBridgeService.js.map +1 -0
- package/dist/dl-common/services/index.js +5 -18
- package/dist/dl-common/services/index.js.map +1 -0
- package/dist/dl-common/services/queueService.js +11 -12
- package/dist/dl-common/services/queueService.js.map +1 -0
- package/dist/dl-common/utils/address.js +1 -0
- package/dist/dl-common/utils/address.js.map +1 -0
- package/dist/dl-common/utils/axios.js +13 -24
- package/dist/dl-common/utils/axios.js.map +1 -0
- package/dist/dl-common/utils/dataStructHelper.js +4 -3
- package/dist/dl-common/utils/dataStructHelper.js.map +1 -0
- package/dist/dl-common/utils/discord.d.ts +2 -2
- package/dist/dl-common/utils/discord.js +14 -5
- package/dist/dl-common/utils/discord.js.map +1 -0
- package/dist/dl-common/utils/ethersAwsKmsSigner.js +5 -4
- package/dist/dl-common/utils/ethersAwsKmsSigner.js.map +1 -0
- package/dist/dl-common/utils/eventGetter.js +8 -6
- package/dist/dl-common/utils/eventGetter.js.map +1 -0
- package/dist/dl-common/utils/extraUtils.d.ts +0 -7
- package/dist/dl-common/utils/extraUtils.js +3 -10
- package/dist/dl-common/utils/extraUtils.js.map +1 -0
- package/dist/dl-common/utils/idUtils.js +3 -5
- package/dist/dl-common/utils/idUtils.js.map +1 -0
- package/dist/dl-common/utils/index.js +15 -27
- package/dist/dl-common/utils/index.js.map +1 -0
- package/dist/dl-common/utils/relaySigner.js +38 -38
- package/dist/dl-common/utils/relaySigner.js.map +1 -0
- package/dist/dl-common/utils/s3Service.d.ts +6 -0
- package/dist/dl-common/utils/s3Service.js +42 -16
- package/dist/dl-common/utils/s3Service.js.map +1 -0
- package/dist/dl-common/utils/secretManagerService.js +9 -7
- package/dist/dl-common/utils/secretManagerService.js.map +1 -0
- package/dist/dl-common/utils/signer/adapter.js +50 -42
- package/dist/dl-common/utils/signer/adapter.js.map +1 -0
- package/dist/dl-common/utils/signer/address.d.ts +0 -1
- package/dist/dl-common/utils/signer/address.js +3 -5
- package/dist/dl-common/utils/signer/address.js.map +1 -0
- package/dist/dl-common/utils/signer/asn1-parser.d.ts +0 -6
- package/dist/dl-common/utils/signer/asn1-parser.js +5 -32
- package/dist/dl-common/utils/signer/asn1-parser.js.map +1 -0
- package/dist/dl-common/utils/signer/crypto.d.ts +0 -1
- package/dist/dl-common/utils/signer/crypto.js +6 -8
- package/dist/dl-common/utils/signer/crypto.js.map +1 -0
- package/dist/dl-common/utils/signer/index.d.ts +1 -0
- package/dist/dl-common/utils/signer/index.js +7 -18
- package/dist/dl-common/utils/signer/index.js.map +1 -0
- package/dist/dl-common/utils/signer/kms-ethers-signer.js +14 -7
- package/dist/dl-common/utils/signer/kms-ethers-signer.js.map +1 -0
- package/dist/dl-common/utils/signer/kms-signer.d.ts +0 -1
- package/dist/dl-common/utils/signer/kms-signer.js +37 -27
- package/dist/dl-common/utils/signer/kms-signer.js.map +1 -0
- package/dist/dl-common/utils/signer/signature.d.ts +0 -1
- package/dist/dl-common/utils/signer/signature.js +3 -4
- package/dist/dl-common/utils/signer/signature.js.map +1 -0
- package/dist/dl-common/utils/signer/signer.d.ts +0 -1
- package/dist/dl-common/utils/signer/signer.js +1 -0
- package/dist/dl-common/utils/signer/signer.js.map +1 -0
- package/dist/dl-common/utils/signer/socketSigner.js +155 -0
- package/dist/dl-common/utils/signer/socketSigner.js.map +1 -0
- package/dist/dl-common/utils/time.js +1 -0
- package/dist/dl-common/utils/time.js.map +1 -0
- package/dist/index.js +30 -14
- package/dist/models/index.d.ts +0 -1
- package/dist/models/index.js +0 -1
- package/dist/models/message.d.ts +1 -6
- package/dist/models/message.js +1 -11
- package/dist/models/packet.d.ts +1 -0
- package/dist/models/packet.js +1 -0
- package/dist/services/eventBridgeService.js +0 -1
- package/dist/services/queueService.d.ts +2 -2
- package/dist/services/queueService.js +14 -22
- package/dist/src/constants/batcherModes.js +1 -46
- package/dist/src/constants/batcherModes.js.map +1 -0
- package/dist/src/constants/config.d.ts +5 -0
- package/dist/src/constants/config.js +14 -13
- package/dist/src/constants/config.js.map +1 -0
- package/dist/src/constants/enums.d.ts +4 -0
- package/dist/src/constants/enums.js +7 -1
- package/dist/src/constants/enums.js.map +1 -0
- package/dist/src/constants/index.d.ts +0 -1
- package/dist/src/constants/index.js +12 -26
- package/dist/src/constants/index.js.map +1 -0
- package/dist/src/constants/limits.d.ts +5 -10
- package/dist/src/constants/limits.js +19 -56
- package/dist/src/constants/limits.js.map +1 -0
- package/dist/src/constants/prometheus.config.js +22 -215
- package/dist/src/constants/prometheus.config.js.map +1 -0
- package/dist/src/constants/relayer.d.ts +1 -0
- package/dist/src/constants/relayer.js +7 -4
- package/dist/src/constants/relayer.js.map +1 -0
- package/dist/src/constants/s3Config.js +18 -14
- package/dist/src/constants/s3Config.js.map +1 -0
- package/dist/src/constants/stageConfig.js +3 -2
- package/dist/src/constants/stageConfig.js.map +1 -0
- package/dist/src/constants/types.d.ts +13 -0
- package/dist/src/constants/types.js +1 -0
- package/dist/src/constants/types.js.map +1 -0
- package/dist/src/constants/watchers.d.ts +1 -0
- package/dist/src/constants/watchers.js +15 -13
- package/dist/src/constants/watchers.js.map +1 -0
- package/dist/src/controllers/index.js +1 -2
- package/dist/src/controllers/index.js.map +1 -0
- package/dist/src/db/associations.js +1 -24
- package/dist/src/db/associations.js.map +1 -0
- package/dist/src/db/connection.js +66 -61
- package/dist/src/db/connection.js.map +1 -0
- package/dist/src/db/index.js +4 -16
- package/dist/src/db/index.js.map +1 -0
- package/dist/src/db/init.js +8 -6
- package/dist/src/db/init.js.map +1 -0
- package/dist/src/handlers/common.js +7 -8
- package/dist/src/handlers/common.js.map +1 -0
- package/dist/src/handlers/cronHandler.d.ts +1 -7
- package/dist/src/handlers/cronHandler.js +26 -237
- package/dist/src/handlers/cronHandler.js.map +1 -0
- package/dist/src/handlers/executeHandler.js +12 -16
- package/dist/src/handlers/executeHandler.js.map +1 -0
- package/dist/src/handlers/handler.js +6 -10
- package/dist/src/handlers/handler.js.map +1 -0
- package/dist/src/handlers/proposeHandler.js +26 -11
- package/dist/src/handlers/proposeHandler.js.map +1 -0
- package/dist/src/handlers/routes.js +2 -0
- package/dist/src/handlers/routes.js.map +1 -0
- package/dist/src/handlers/sealHandler.js +14 -121
- package/dist/src/handlers/sealHandler.js.map +1 -0
- package/dist/src/handlers/statusHandler.js +30 -22
- package/dist/src/handlers/statusHandler.js.map +1 -0
- package/dist/src/handlers/taskHandler.js +24 -45
- package/dist/src/handlers/taskHandler.js.map +1 -0
- package/dist/src/handlers/testHandler.js +17 -49
- package/dist/src/handlers/testHandler.js.map +1 -0
- package/dist/src/main.js +1 -11
- package/dist/src/main.js.map +1 -0
- package/dist/src/relayers/common.d.ts +1 -1
- package/dist/src/relayers/common.js +10 -11
- package/dist/src/relayers/common.js.map +1 -0
- package/dist/src/relayers/index.d.ts +1 -1
- package/dist/src/relayers/index.js +4 -17
- package/dist/src/relayers/index.js.map +1 -0
- package/dist/src/relayers/propose/constants.d.ts +15 -0
- package/dist/src/relayers/propose/constants.js +3 -0
- package/dist/src/relayers/propose/constants.js.map +1 -0
- package/dist/src/relayers/propose/dbQuery.d.ts +2 -0
- package/dist/src/relayers/propose/dbQuery.js +141 -0
- package/dist/src/relayers/propose/dbQuery.js.map +1 -0
- package/dist/src/relayers/propose/main.d.ts +3 -0
- package/dist/src/relayers/propose/main.js +292 -0
- package/dist/src/relayers/propose/main.js.map +1 -0
- package/dist/src/relayers/propose/metrics.d.ts +2 -0
- package/dist/src/relayers/propose/metrics.js +51 -0
- package/dist/src/relayers/propose/metrics.js.map +1 -0
- package/dist/src/relayers/propose/proposalCount.d.ts +6 -0
- package/dist/src/relayers/propose/proposalCount.js +74 -0
- package/dist/src/relayers/propose/proposalCount.js.map +1 -0
- package/dist/src/relayers/propose/utils.d.ts +9 -0
- package/dist/src/relayers/propose/utils.js +42 -0
- package/dist/src/relayers/propose/utils.js.map +1 -0
- package/dist/src/relayers/sealRelayer.js +87 -60
- package/dist/src/relayers/sealRelayer.js.map +1 -0
- package/dist/src/services/attestService.d.ts +1 -1
- package/dist/src/services/attestService.js +53 -42
- package/dist/src/services/attestService.js.map +1 -0
- package/dist/src/services/batch/attest.d.ts +5 -0
- package/dist/src/services/batch/attest.js +29 -0
- package/dist/src/services/batch/attest.js.map +1 -0
- package/dist/src/services/batch/execute.d.ts +5 -0
- package/dist/src/services/batch/execute.js +34 -0
- package/dist/src/services/batch/execute.js.map +1 -0
- package/dist/src/services/batch/gasLimit.d.ts +6 -0
- package/dist/src/services/batch/gasLimit.js +59 -0
- package/dist/src/services/batch/gasLimit.js.map +1 -0
- package/dist/src/services/batch/main.d.ts +2 -0
- package/dist/src/services/batch/main.js +49 -0
- package/dist/src/services/batch/main.js.map +1 -0
- package/dist/src/services/batch/propose.d.ts +5 -0
- package/dist/src/services/batch/propose.js +22 -0
- package/dist/src/services/batch/propose.js.map +1 -0
- package/dist/src/services/batch/utils.d.ts +2 -0
- package/dist/src/services/batch/utils.js +67 -0
- package/dist/src/services/batch/utils.js.map +1 -0
- package/dist/src/services/cron/constants.d.ts +30 -0
- package/dist/src/services/cron/constants.js +71 -0
- package/dist/src/services/cron/constants.js.map +1 -0
- package/dist/src/services/cron/main.d.ts +1 -0
- package/dist/src/services/cron/main.js +32 -0
- package/dist/src/services/cron/main.js.map +1 -0
- package/dist/src/services/cron/utils.d.ts +7 -0
- package/dist/src/services/cron/utils.js +74 -0
- package/dist/src/services/cron/utils.js.map +1 -0
- package/dist/src/services/execute/executeData.d.ts +3 -0
- package/dist/src/services/execute/executeData.js +94 -0
- package/dist/src/services/execute/executeData.js.map +1 -0
- package/dist/src/services/execute/index.d.ts +2 -0
- package/dist/src/services/execute/index.js +6 -0
- package/dist/src/services/execute/index.js.map +1 -0
- package/dist/src/services/{executeService.d.ts → execute/simulate.d.ts} +2 -2
- package/dist/src/services/execute/simulate.js +136 -0
- package/dist/src/services/execute/simulate.js.map +1 -0
- package/dist/src/services/execute/utils.d.ts +15 -0
- package/dist/src/services/execute/utils.js +73 -0
- package/dist/src/services/execute/utils.js.map +1 -0
- package/dist/src/services/gasEstimationService.js +6 -5
- package/dist/src/services/gasEstimationService.js.map +1 -0
- package/dist/src/services/index.d.ts +1 -1
- package/dist/src/services/index.js +6 -21
- package/dist/src/services/index.js.map +1 -0
- package/dist/src/services/indexSealService.js +28 -22
- package/dist/src/services/indexSealService.js.map +1 -0
- package/dist/src/services/proposalCheckService.js +27 -21
- package/dist/src/services/proposalCheckService.js.map +1 -0
- package/dist/src/services/retry/message.d.ts +1 -0
- package/dist/src/services/retry/message.js +52 -0
- package/dist/src/services/retry/message.js.map +1 -0
- package/dist/src/services/retry/packet.d.ts +2 -0
- package/dist/src/services/retry/packet.js +70 -0
- package/dist/src/services/retry/packet.js.map +1 -0
- package/dist/src/services/sealService.js +77 -47
- package/dist/src/services/sealService.js.map +1 -0
- package/dist/src/statusTrackers/failedMessage.js +16 -19
- package/dist/src/statusTrackers/failedMessage.js.map +1 -0
- package/dist/src/statusTrackers/failedPacket.js +26 -45
- package/dist/src/statusTrackers/failedPacket.js.map +1 -0
- package/dist/src/statusTrackers/index.js +8 -20
- package/dist/src/statusTrackers/index.js.map +1 -0
- package/dist/src/statusTrackers/message.d.ts +2 -1
- package/dist/src/statusTrackers/message.js +60 -52
- package/dist/src/statusTrackers/message.js.map +1 -0
- package/dist/src/statusTrackers/packet.d.ts +1 -12
- package/dist/src/statusTrackers/packet.js +137 -149
- package/dist/src/statusTrackers/packet.js.map +1 -0
- package/dist/src/utils/chain-utils.js +8 -6
- package/dist/src/utils/chain-utils.js.map +1 -0
- package/dist/src/utils/gas-limits.d.ts +10 -0
- package/dist/src/utils/gas-limits.js +103 -0
- package/dist/src/utils/gas-limits.js.map +1 -0
- package/dist/src/utils/index.js +4 -16
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/logger.d.ts +3 -3
- package/dist/src/utils/logger.js +1 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/utils/dataStructHelper.js +2 -2
- package/dist/utils/discord.d.ts +2 -2
- package/dist/utils/discord.js +3 -11
- package/dist/utils/idUtils.js +2 -2
- package/dist/utils/s3Service.d.ts +3 -10
- package/dist/utils/s3Service.js +9 -38
- package/dist/utils/signer/address.d.ts +1 -0
- package/dist/utils/signer/asn1-parser.d.ts +1 -0
- package/dist/utils/signer/asn1-parser.js +3 -2
- package/dist/utils/signer/crypto.d.ts +1 -0
- package/dist/utils/signer/crypto.js +4 -3
- package/dist/utils/signer/index.d.ts +0 -1
- package/dist/utils/signer/index.js +0 -1
- package/dist/utils/signer/kms-signer.d.ts +1 -0
- package/dist/utils/signer/signature.d.ts +1 -0
- package/dist/utils/signer/signer.d.ts +1 -0
- package/package.json +5 -3
- package/dist/models/lastBlock.d.ts +0 -28
- package/dist/models/lastBlock.js +0 -27
- package/dist/models/transaction.d.ts +0 -0
- package/dist/models/transaction.js +0 -280
- package/dist/src/constants/gasEstimation.d.ts +0 -8
- package/dist/src/constants/gasEstimation.js +0 -61
- package/dist/src/relayers/proposeRelayer.d.ts +0 -7
- package/dist/src/relayers/proposeRelayer.js +0 -587
- package/dist/src/services/batcherService.d.ts +0 -9
- package/dist/src/services/batcherService.js +0 -197
- package/dist/src/services/executeService.js +0 -209
- package/dist/utils/signer/socketSigner.js +0 -154
- /package/dist/{utils → dl-common/utils}/signer/socketSigner.d.ts +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultSpeed = exports.cronSpeedRedisKey = exports.STATUS_UPDATE_INTERVALS = exports.CRON_DURATION = exports.CRON_FUNCTIONS = exports.CRON_FUNCTION_NAMES = exports.CRON_SPEED = void 0;
|
|
4
|
+
const relayers_1 = require("../../relayers");
|
|
5
|
+
const execute_1 = require("../execute");
|
|
6
|
+
const statusTrackers_1 = require("../../statusTrackers");
|
|
7
|
+
const message_1 = require("../retry/message");
|
|
8
|
+
const packet_1 = require("../retry/packet");
|
|
9
|
+
var CRON_SPEED;
|
|
10
|
+
(function (CRON_SPEED) {
|
|
11
|
+
CRON_SPEED["SLOW"] = "SLOW";
|
|
12
|
+
CRON_SPEED["FAST"] = "FAST";
|
|
13
|
+
})(CRON_SPEED || (exports.CRON_SPEED = CRON_SPEED = {}));
|
|
14
|
+
var CRON_FUNCTION_NAMES;
|
|
15
|
+
(function (CRON_FUNCTION_NAMES) {
|
|
16
|
+
CRON_FUNCTION_NAMES["sendRetrySimulationRequest"] = "sendRetrySimulationRequest";
|
|
17
|
+
CRON_FUNCTION_NAMES["sendPendingSimulationRequest"] = "sendPendingSimulationRequest";
|
|
18
|
+
CRON_FUNCTION_NAMES["checkAndPropose"] = "checkAndPropose";
|
|
19
|
+
CRON_FUNCTION_NAMES["checkAndSeal"] = "checkAndSeal";
|
|
20
|
+
CRON_FUNCTION_NAMES["checkAndUpdateStatus"] = "checkAndUpdateStatus";
|
|
21
|
+
CRON_FUNCTION_NAMES["checkAndUpdateFullyExecutedStatus"] = "checkAndUpdateFullyExecutedStatus";
|
|
22
|
+
CRON_FUNCTION_NAMES["saveMessageExecutionData"] = "saveMessageExecutionData";
|
|
23
|
+
CRON_FUNCTION_NAMES["retryFailedMessages"] = "retryFailedMessages";
|
|
24
|
+
CRON_FUNCTION_NAMES["retryFailedProposals"] = "retryFailedProposals";
|
|
25
|
+
CRON_FUNCTION_NAMES["retryFailedAttestations"] = "retryFailedAttestations";
|
|
26
|
+
})(CRON_FUNCTION_NAMES || (exports.CRON_FUNCTION_NAMES = CRON_FUNCTION_NAMES = {}));
|
|
27
|
+
exports.CRON_FUNCTIONS = {
|
|
28
|
+
[CRON_FUNCTION_NAMES.sendRetrySimulationRequest]: execute_1.sendRetrySimulationRequest,
|
|
29
|
+
[CRON_FUNCTION_NAMES.sendPendingSimulationRequest]: execute_1.sendPendingSimulationRequest,
|
|
30
|
+
[CRON_FUNCTION_NAMES.checkAndPropose]: relayers_1.checkAndPropose,
|
|
31
|
+
[CRON_FUNCTION_NAMES.checkAndSeal]: relayers_1.checkAndSeal,
|
|
32
|
+
[CRON_FUNCTION_NAMES.checkAndUpdateStatus]: statusTrackers_1.checkAndUpdateStatus,
|
|
33
|
+
[CRON_FUNCTION_NAMES.checkAndUpdateFullyExecutedStatus]: statusTrackers_1.checkAndUpdateFullyExecutedStatus,
|
|
34
|
+
[CRON_FUNCTION_NAMES.saveMessageExecutionData]: execute_1.saveMessageExecutionData,
|
|
35
|
+
[CRON_FUNCTION_NAMES.retryFailedMessages]: message_1.retryFailedMessages,
|
|
36
|
+
[CRON_FUNCTION_NAMES.retryFailedProposals]: packet_1.retryFailedProposals,
|
|
37
|
+
[CRON_FUNCTION_NAMES.retryFailedAttestations]: packet_1.retryFailedAttestations,
|
|
38
|
+
};
|
|
39
|
+
exports.CRON_DURATION = {
|
|
40
|
+
[CRON_SPEED.SLOW]: {
|
|
41
|
+
[CRON_FUNCTION_NAMES.sendRetrySimulationRequest]: 10 * 60,
|
|
42
|
+
[CRON_FUNCTION_NAMES.sendPendingSimulationRequest]: 5 * 60,
|
|
43
|
+
[CRON_FUNCTION_NAMES.checkAndPropose]: 5 * 60,
|
|
44
|
+
[CRON_FUNCTION_NAMES.checkAndSeal]: 5 * 60,
|
|
45
|
+
[CRON_FUNCTION_NAMES.checkAndUpdateStatus]: 5 * 60,
|
|
46
|
+
[CRON_FUNCTION_NAMES.checkAndUpdateFullyExecutedStatus]: 10 * 60,
|
|
47
|
+
[CRON_FUNCTION_NAMES.saveMessageExecutionData]: 5 * 60,
|
|
48
|
+
[CRON_FUNCTION_NAMES.retryFailedMessages]: 10 * 60,
|
|
49
|
+
[CRON_FUNCTION_NAMES.retryFailedProposals]: 10 * 60,
|
|
50
|
+
[CRON_FUNCTION_NAMES.retryFailedAttestations]: 10 * 60,
|
|
51
|
+
},
|
|
52
|
+
[CRON_SPEED.FAST]: {
|
|
53
|
+
[CRON_FUNCTION_NAMES.sendRetrySimulationRequest]: 3 * 60,
|
|
54
|
+
[CRON_FUNCTION_NAMES.sendPendingSimulationRequest]: 30,
|
|
55
|
+
[CRON_FUNCTION_NAMES.checkAndPropose]: 30,
|
|
56
|
+
[CRON_FUNCTION_NAMES.checkAndSeal]: 30,
|
|
57
|
+
[CRON_FUNCTION_NAMES.checkAndUpdateStatus]: 30,
|
|
58
|
+
[CRON_FUNCTION_NAMES.checkAndUpdateFullyExecutedStatus]: 2 * 60,
|
|
59
|
+
[CRON_FUNCTION_NAMES.saveMessageExecutionData]: 30,
|
|
60
|
+
[CRON_FUNCTION_NAMES.retryFailedMessages]: 5 * 60,
|
|
61
|
+
[CRON_FUNCTION_NAMES.retryFailedProposals]: 5 * 60,
|
|
62
|
+
[CRON_FUNCTION_NAMES.retryFailedAttestations]: 5 * 60,
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
exports.STATUS_UPDATE_INTERVALS = {
|
|
66
|
+
[CRON_SPEED.SLOW]: [0],
|
|
67
|
+
[CRON_SPEED.FAST]: [0, 30],
|
|
68
|
+
};
|
|
69
|
+
exports.cronSpeedRedisKey = "cronSpeed";
|
|
70
|
+
exports.defaultSpeed = CRON_SPEED.FAST;
|
|
71
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/services/cron/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const executeCronFunctions: () => Promise<void>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeCronFunctions = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const utils_2 = require("../../utils");
|
|
8
|
+
const executeCronFunctions = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
9
|
+
const cronSpeed = yield (0, utils_1.getCronSpeed)();
|
|
10
|
+
const cronDuration = constants_1.CRON_DURATION[cronSpeed];
|
|
11
|
+
(0, utils_2.logInfo)({
|
|
12
|
+
info: "CRON_STARTED",
|
|
13
|
+
cronSpeed,
|
|
14
|
+
});
|
|
15
|
+
const statTime = Date.now();
|
|
16
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.sendRetrySimulationRequest, cronDuration);
|
|
17
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.sendPendingSimulationRequest, cronDuration);
|
|
18
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.checkAndPropose, cronDuration);
|
|
19
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.checkAndSeal, cronDuration);
|
|
20
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.checkAndUpdateStatus, cronDuration);
|
|
21
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.checkAndUpdateFullyExecutedStatus, cronDuration);
|
|
22
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.saveMessageExecutionData, cronDuration);
|
|
23
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.retryFailedMessages, cronDuration);
|
|
24
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.retryFailedProposals, cronDuration);
|
|
25
|
+
yield (0, utils_1.checkTimeAndRunCronFunction)(constants_1.CRON_FUNCTION_NAMES.retryFailedAttestations, cronDuration);
|
|
26
|
+
(0, utils_2.logInfo)({
|
|
27
|
+
info: "CRON_COMPLETED",
|
|
28
|
+
duration: Date.now() - statTime,
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
exports.executeCronFunctions = executeCronFunctions;
|
|
32
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/services/cron/main.ts"],"names":[],"mappings":";;;;AAAA,mCAAoE;AACpE,2CAAiE;AACjE,uCAAsC;AAE/B,MAAM,oBAAoB,GAAG,GAAS,EAAE;IAC7C,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,GAAE,CAAC;IACvC,MAAM,YAAY,GAAG,yBAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAA,eAAO,EAAC;QACN,IAAI,EAAE,cAAc;QACpB,SAAS;KACV,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,0BAA0B,EAC9C,YAAY,CACb,CAAC;IAEF,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,4BAA4B,EAChD,YAAY,CACb,CAAC;IACF,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,eAAe,EACnC,YAAY,CACb,CAAC;IACF,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,YAAY,EAChC,YAAY,CACb,CAAC;IACF,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,oBAAoB,EACxC,YAAY,CACb,CAAC;IACF,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,iCAAiC,EACrD,YAAY,CACb,CAAC;IACF,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,wBAAwB,EAC5C,YAAY,CACb,CAAC;IAEF,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,mBAAmB,EACvC,YAAY,CACb,CAAC;IAEF,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,oBAAoB,EACxC,YAAY,CACb,CAAC;IAEF,MAAM,IAAA,mCAA2B,EAC/B,+BAAmB,CAAC,uBAAuB,EAC3C,YAAY,CACb,CAAC;IACF,IAAA,eAAO,EAAC;QACN,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;KAChC,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAxDW,QAAA,oBAAoB,wBAwD/B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type TaskNames } from "../../constants";
|
|
2
|
+
import { CRON_SPEED, CRON_FUNCTION_NAMES } from "./constants";
|
|
3
|
+
export declare const isTimeToExecute: (taskName: string, cronPeriod: number) => Promise<boolean>;
|
|
4
|
+
export declare const executeTaskAtIntervals: (taskName: TaskNames, data: object, delays: number[]) => Promise<void>;
|
|
5
|
+
export declare const getCronSpeed: () => Promise<CRON_SPEED>;
|
|
6
|
+
export declare const setCronSpeed: (cronSpeed: CRON_SPEED) => Promise<void>;
|
|
7
|
+
export declare const checkTimeAndRunCronFunction: (functionName: CRON_FUNCTION_NAMES, cronDuration: { [key in CRON_FUNCTION_NAMES]: number; }) => Promise<void>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkTimeAndRunCronFunction = exports.setCronSpeed = exports.getCronSpeed = exports.executeTaskAtIntervals = exports.isTimeToExecute = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const cacheService = tslib_1.__importStar(require("../../../dl-common/services/cacheService"));
|
|
7
|
+
const constants_1 = require("../../constants");
|
|
8
|
+
const dl_common_1 = require("../../../dl-common");
|
|
9
|
+
const constants_2 = require("./constants");
|
|
10
|
+
const isTimeToExecute = (taskName, cronPeriod) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
11
|
+
try {
|
|
12
|
+
const redisKey = "cron_" + taskName;
|
|
13
|
+
const flag = yield cacheService.getKey(redisKey);
|
|
14
|
+
if (flag)
|
|
15
|
+
return false;
|
|
16
|
+
yield cacheService.setKey(redisKey, "true", cronPeriod);
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
console.log(error);
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
exports.isTimeToExecute = isTimeToExecute;
|
|
25
|
+
const executeTaskAtIntervals = (taskName, data, delays) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const queueDataArray = new Array(delays.length).fill({
|
|
27
|
+
type: taskName,
|
|
28
|
+
data,
|
|
29
|
+
});
|
|
30
|
+
(0, utils_1.logInfo)({
|
|
31
|
+
info: "QUEUEING_TASKS",
|
|
32
|
+
timestamp: Date.now(),
|
|
33
|
+
queueDataArray,
|
|
34
|
+
delays,
|
|
35
|
+
});
|
|
36
|
+
yield (0, dl_common_1.sendStandardBatchMessages)(constants_1.SQS_BASE_URL + constants_1.QueueName.BATCHER_TASK_QUEUE, queueDataArray, delays);
|
|
37
|
+
(0, utils_1.logInfo)({
|
|
38
|
+
info: "QUEUED_TASKS",
|
|
39
|
+
timestamp: Date.now(),
|
|
40
|
+
queueDataArray,
|
|
41
|
+
delays,
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
exports.executeTaskAtIntervals = executeTaskAtIntervals;
|
|
45
|
+
const getCronSpeed = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
let cronSpeed = yield cacheService.getKey(constants_2.cronSpeedRedisKey);
|
|
47
|
+
if (!cronSpeed) {
|
|
48
|
+
yield cacheService.setKey(constants_2.cronSpeedRedisKey, constants_2.defaultSpeed);
|
|
49
|
+
cronSpeed = constants_2.defaultSpeed;
|
|
50
|
+
}
|
|
51
|
+
return cronSpeed;
|
|
52
|
+
});
|
|
53
|
+
exports.getCronSpeed = getCronSpeed;
|
|
54
|
+
const setCronSpeed = (cronSpeed) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
+
if (!Object.values(constants_2.CRON_SPEED).includes(cronSpeed))
|
|
56
|
+
throw (0, dl_common_1.BadRequestError)("Invalid cron speed");
|
|
57
|
+
yield cacheService.setKey(constants_2.cronSpeedRedisKey, cronSpeed);
|
|
58
|
+
});
|
|
59
|
+
exports.setCronSpeed = setCronSpeed;
|
|
60
|
+
const checkTimeAndRunCronFunction = (functionName, cronDuration) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
61
|
+
if (yield (0, exports.isTimeToExecute)(functionName, cronDuration[functionName])) {
|
|
62
|
+
const startTime = Date.now();
|
|
63
|
+
(0, utils_1.logInfo)({
|
|
64
|
+
info: `CRON_STARTED_${functionName}`,
|
|
65
|
+
});
|
|
66
|
+
yield constants_2.CRON_FUNCTIONS[functionName]();
|
|
67
|
+
(0, utils_1.logInfo)({
|
|
68
|
+
info: `CRON_COMPLETED_${functionName}`,
|
|
69
|
+
duration: Date.now() - startTime,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
exports.checkTimeAndRunCronFunction = checkTimeAndRunCronFunction;
|
|
74
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/services/cron/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPendingExecuteDataMessages = exports.saveMessageExecutionData = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const constants_1 = require("../../constants");
|
|
7
|
+
const models_1 = require("../../../dl-common/models");
|
|
8
|
+
const Socket_json_1 = tslib_1.__importDefault(require("@socket.tech/dl-core/artifacts/abi/Socket.json"));
|
|
9
|
+
const sequelize_1 = require("sequelize");
|
|
10
|
+
const ethers_1 = require("ethers");
|
|
11
|
+
const utils_2 = require("../../../dl-common/utils");
|
|
12
|
+
const saveMessageExecutionData = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
13
|
+
var _a;
|
|
14
|
+
try {
|
|
15
|
+
const executeDataUpdates = [];
|
|
16
|
+
const pendingMessages = yield (0, exports.getPendingExecuteDataMessages)();
|
|
17
|
+
for (const message of pendingMessages) {
|
|
18
|
+
if (!message.Packet)
|
|
19
|
+
continue;
|
|
20
|
+
const packet = message.Packet;
|
|
21
|
+
const { messageId, executeMsgGasLimit, executeSignature, packetId, decapacitorProof, executionFee, minMsgGasLimit, executionParams, payload, dstChainSlug, } = message;
|
|
22
|
+
let executeParams = [
|
|
23
|
+
[
|
|
24
|
+
packetId,
|
|
25
|
+
packet.selectedProposalCount,
|
|
26
|
+
ethers_1.BigNumber.from(executeMsgGasLimit),
|
|
27
|
+
decapacitorProof,
|
|
28
|
+
executeSignature,
|
|
29
|
+
],
|
|
30
|
+
[messageId, executionFee, minMsgGasLimit, executionParams, payload],
|
|
31
|
+
];
|
|
32
|
+
let msgValue = ethers_1.BigNumber.from(0);
|
|
33
|
+
if (executionParams.slice(0, 4) !== "0x00")
|
|
34
|
+
msgValue = ethers_1.BigNumber.from("0x" + executionParams.slice(4));
|
|
35
|
+
const socketInterface = new ethers_1.utils.Interface(Socket_json_1.default);
|
|
36
|
+
const data = socketInterface.encodeFunctionData("execute", [
|
|
37
|
+
executeParams[0],
|
|
38
|
+
executeParams[1],
|
|
39
|
+
]);
|
|
40
|
+
const socketAddress = (_a = constants_1.addresses[dstChainSlug]) === null || _a === void 0 ? void 0 : _a.Socket;
|
|
41
|
+
const tx = {
|
|
42
|
+
to: socketAddress,
|
|
43
|
+
data: data,
|
|
44
|
+
value: msgValue.toHexString(),
|
|
45
|
+
};
|
|
46
|
+
const executeData = JSON.stringify(tx);
|
|
47
|
+
executeDataUpdates.push({ messageId, executeData });
|
|
48
|
+
}
|
|
49
|
+
if (executeDataUpdates.length === 0)
|
|
50
|
+
return;
|
|
51
|
+
yield models_1.Message.bulkCreate(executeDataUpdates, {
|
|
52
|
+
updateOnDuplicate: ["executeData"],
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.log(error);
|
|
57
|
+
(0, utils_1.logInfo)({
|
|
58
|
+
info: "EXECUTE_DATA_UPDATE",
|
|
59
|
+
error: error,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
exports.saveMessageExecutionData = saveMessageExecutionData;
|
|
64
|
+
const getPendingExecuteDataMessages = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
+
const oneHourAgo = (0, utils_2.currentTimestampInSeconds)() - 3600;
|
|
66
|
+
const pendingMessages = yield models_1.Message.findAll({
|
|
67
|
+
where: {
|
|
68
|
+
outboundTime: {
|
|
69
|
+
[sequelize_1.Op.gte]: oneHourAgo,
|
|
70
|
+
},
|
|
71
|
+
executeData: "",
|
|
72
|
+
},
|
|
73
|
+
include: [
|
|
74
|
+
{
|
|
75
|
+
model: models_1.Packet,
|
|
76
|
+
where: {
|
|
77
|
+
[sequelize_1.Op.or]: [{ isAttested: true }, { isVerified: true }],
|
|
78
|
+
},
|
|
79
|
+
attributes: ["packetId", "selectedProposalCount"],
|
|
80
|
+
required: true,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
order: [[sequelize_1.Sequelize.col("Message.updatedAt"), "ASC"]],
|
|
84
|
+
limit: constants_1.executeDataUpdateLimit,
|
|
85
|
+
});
|
|
86
|
+
(0, utils_1.logInfo)({
|
|
87
|
+
info: "EXECUTE_DATA_UPDATE",
|
|
88
|
+
messageCount: pendingMessages.length,
|
|
89
|
+
messageIds: pendingMessages.map((m) => m.messageId),
|
|
90
|
+
});
|
|
91
|
+
return pendingMessages;
|
|
92
|
+
});
|
|
93
|
+
exports.getPendingExecuteDataMessages = getPendingExecuteDataMessages;
|
|
94
|
+
//# sourceMappingURL=executeData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeData.js","sourceRoot":"","sources":["../../../../src/services/execute/executeData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/execute/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,wDAA8B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ChainSlug } from "@socket.tech/dl-core";
|
|
2
|
-
import { type ExecuteSigResponse } from "
|
|
2
|
+
import { type ExecuteSigResponse } from "../../../dl-common/constants";
|
|
3
3
|
export interface ExecuteSigRequest {
|
|
4
4
|
messageId: string;
|
|
5
5
|
destPlug: string;
|
|
@@ -11,6 +11,6 @@ export interface ExecuteSigRequest {
|
|
|
11
11
|
executionParams: string;
|
|
12
12
|
packedMessage: string;
|
|
13
13
|
}
|
|
14
|
-
export declare const sendRetrySimulationRequest: () => Promise<void>;
|
|
15
14
|
export declare const sendPendingSimulationRequest: () => Promise<void>;
|
|
15
|
+
export declare const sendRetrySimulationRequest: () => Promise<void>;
|
|
16
16
|
export declare const saveMessageSimulationResponse: (executeResponseData: ExecuteSigResponse[]) => Promise<void>;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.saveMessageSimulationResponse = exports.sendRetrySimulationRequest = exports.sendPendingSimulationRequest = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const utils_1 = require("../../../dl-common/utils");
|
|
6
|
+
const utils_2 = require("../../utils");
|
|
7
|
+
const models_1 = require("../../../dl-common/models");
|
|
8
|
+
const constants_1 = require("../../constants");
|
|
9
|
+
const ethers_1 = require("ethers");
|
|
10
|
+
const sequelize_1 = require("sequelize");
|
|
11
|
+
const constants_2 = require("../../../dl-common/constants");
|
|
12
|
+
const gas_limits_1 = require("../../utils/gas-limits");
|
|
13
|
+
const utils_3 = require("./utils");
|
|
14
|
+
const sendPendingSimulationRequest = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
let messages = yield getPendingSimulationMessages();
|
|
16
|
+
if (!messages.length)
|
|
17
|
+
return;
|
|
18
|
+
yield (0, utils_3.batchAndSendSimulateRequest)(messages, false);
|
|
19
|
+
});
|
|
20
|
+
exports.sendPendingSimulationRequest = sendPendingSimulationRequest;
|
|
21
|
+
const getPendingSimulationMessages = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
return yield models_1.Message.findAll({
|
|
23
|
+
limit: constants_1.executeBatchQueryLimit,
|
|
24
|
+
where: {
|
|
25
|
+
isExecuted: false,
|
|
26
|
+
executeRelayStatus: models_1.ExecutionRelayStatus.NO,
|
|
27
|
+
firstSimulationTimestamp: 0,
|
|
28
|
+
},
|
|
29
|
+
order: [["updatedAt", "ASC"]],
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
const sendRetrySimulationRequest = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
+
let messages = yield getRetrySimulationMessages();
|
|
34
|
+
if (messages.length == 0)
|
|
35
|
+
return;
|
|
36
|
+
yield (0, utils_3.batchAndSendSimulateRequest)(messages, true);
|
|
37
|
+
});
|
|
38
|
+
exports.sendRetrySimulationRequest = sendRetrySimulationRequest;
|
|
39
|
+
const getRetrySimulationMessages = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
40
|
+
return yield models_1.Message.findAll({
|
|
41
|
+
limit: constants_1.executeBatchQueryLimit,
|
|
42
|
+
where: {
|
|
43
|
+
isExecuted: false,
|
|
44
|
+
firstSimulationTimestamp: {
|
|
45
|
+
[sequelize_1.Op.gt]: Math.floor(Date.now() / 1000) - constants_1.retryInterval,
|
|
46
|
+
},
|
|
47
|
+
inboundSuccess: false,
|
|
48
|
+
executeRelayStatus: models_1.ExecutionRelayStatus.NO,
|
|
49
|
+
},
|
|
50
|
+
order: [["updatedAt", "ASC"]],
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
const saveMessageSimulationResponse = (executeResponseData) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
54
|
+
if (!(executeResponseData === null || executeResponseData === void 0 ? void 0 : executeResponseData.length))
|
|
55
|
+
return;
|
|
56
|
+
const messageIds = [];
|
|
57
|
+
executeResponseData.map((data) => {
|
|
58
|
+
messageIds.push(data.messageId);
|
|
59
|
+
});
|
|
60
|
+
const messages = yield models_1.Message.findAll({
|
|
61
|
+
where: {
|
|
62
|
+
messageId: { [sequelize_1.Op.in]: messageIds },
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
const messageMap = new Map();
|
|
66
|
+
messages.forEach((message) => {
|
|
67
|
+
messageMap.set(message.messageId, message);
|
|
68
|
+
});
|
|
69
|
+
if (executeResponseData === null || executeResponseData === void 0 ? void 0 : executeResponseData.length) {
|
|
70
|
+
const messageDbUpdates = [];
|
|
71
|
+
for (const data of executeResponseData) {
|
|
72
|
+
const message = messageMap.get(data.messageId);
|
|
73
|
+
let executeRelayStatus = models_1.ExecutionRelayStatus.NO;
|
|
74
|
+
let ignoreReason = "";
|
|
75
|
+
const MaxMsgGasLimit = yield (0, gas_limits_1.getMsgGasLimitThresholdForIgnoring)(message === null || message === void 0 ? void 0 : message.dstChainSlug);
|
|
76
|
+
if (ethers_1.BigNumber.from(data.executeMsgGasLimit).gt(MaxMsgGasLimit)) {
|
|
77
|
+
executeRelayStatus = models_1.ExecutionRelayStatus.IGNORED;
|
|
78
|
+
ignoreReason = "executeMsgGasLimit Too Big";
|
|
79
|
+
}
|
|
80
|
+
if (data.inboundRevertString === constants_2.ErrorReasons.ZERO_AMOUNT) {
|
|
81
|
+
executeRelayStatus = models_1.ExecutionRelayStatus.IGNORED;
|
|
82
|
+
ignoreReason = "Zero Amount";
|
|
83
|
+
}
|
|
84
|
+
if (executeRelayStatus === models_1.ExecutionRelayStatus.IGNORED) {
|
|
85
|
+
const logData = {
|
|
86
|
+
messageId: message === null || message === void 0 ? void 0 : message.messageId,
|
|
87
|
+
ignoreReason,
|
|
88
|
+
srcChainSlug: message === null || message === void 0 ? void 0 : message.srcChainSlug,
|
|
89
|
+
dstChainSlug: message === null || message === void 0 ? void 0 : message.dstChainSlug,
|
|
90
|
+
executeMsgGasLimit: data.executeMsgGasLimit,
|
|
91
|
+
MaxMsgGasLimit,
|
|
92
|
+
};
|
|
93
|
+
(0, utils_2.logInfo)(Object.assign({ info: "Message IGNORED" }, logData));
|
|
94
|
+
yield (0, utils_1.sendToDiscordWebhook)("Message IGNORED", logData);
|
|
95
|
+
}
|
|
96
|
+
let updateData = Object.assign(Object.assign({}, data), { executeRelayStatus, firstSimulationTimestamp: (message === null || message === void 0 ? void 0 : message.firstSimulationTimestamp) != 0
|
|
97
|
+
? message === null || message === void 0 ? void 0 : message.firstSimulationTimestamp
|
|
98
|
+
: (0, utils_1.currentTimestampInSeconds)() });
|
|
99
|
+
messageDbUpdates.push(updateData);
|
|
100
|
+
}
|
|
101
|
+
(0, utils_2.logInfo)({
|
|
102
|
+
info: "UPDATING_SIMULATION_STATES",
|
|
103
|
+
msgCount: messageDbUpdates.length,
|
|
104
|
+
messageIds: messageDbUpdates.map((m) => m.messageId),
|
|
105
|
+
});
|
|
106
|
+
yield saveMessageSimulationUpdates(messageDbUpdates);
|
|
107
|
+
(0, utils_2.logInfo)({
|
|
108
|
+
info: "UPDATED_SIMULATION_STATES",
|
|
109
|
+
messageIds: messageDbUpdates.map((m) => m.messageId),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
exports.saveMessageSimulationResponse = saveMessageSimulationResponse;
|
|
114
|
+
const saveMessageSimulationUpdates = (dbUpdates) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
115
|
+
try {
|
|
116
|
+
yield models_1.Message.bulkCreate(dbUpdates, {
|
|
117
|
+
updateOnDuplicate: [
|
|
118
|
+
"inboundSuccess",
|
|
119
|
+
"inboundRevertString",
|
|
120
|
+
"firstSimulationTimestamp",
|
|
121
|
+
"executeSignature",
|
|
122
|
+
"executeMsgGasLimit",
|
|
123
|
+
"executeRelayStatus",
|
|
124
|
+
],
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
(0, utils_2.logError)({
|
|
129
|
+
info: "SIMULATION_REQUEST_DB_ERROR",
|
|
130
|
+
error,
|
|
131
|
+
messageIds: dbUpdates.map((m) => m.messageId),
|
|
132
|
+
});
|
|
133
|
+
throw new Error(`Error while saving execute signature updates ${error === null || error === void 0 ? void 0 : error.message}`);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=simulate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../../src/services/execute/simulate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ChainSlug } from "@socket.tech/dl-core";
|
|
2
|
+
import { Message } from "../../../dl-common/models";
|
|
3
|
+
export interface ExecuteSigRequest {
|
|
4
|
+
messageId: string;
|
|
5
|
+
destPlug: string;
|
|
6
|
+
srcPlug: string;
|
|
7
|
+
dstChainSlug: ChainSlug;
|
|
8
|
+
srcChainSlug: ChainSlug;
|
|
9
|
+
payload: string;
|
|
10
|
+
minMsgGasLimit: string;
|
|
11
|
+
executionParams: string;
|
|
12
|
+
packedMessage: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const sendRequest: (messages: Message[]) => Promise<void>;
|
|
15
|
+
export declare const batchAndSendSimulateRequest: (messages: Message[], retrySimulation: boolean) => Promise<void>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.batchAndSendSimulateRequest = exports.sendRequest = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const utils_1 = require("../../../dl-common/utils");
|
|
6
|
+
const utils_2 = require("../../utils");
|
|
7
|
+
const constants_1 = require("../../constants");
|
|
8
|
+
const sendRequest = (messages) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
9
|
+
const executeRequestData = [];
|
|
10
|
+
const start = Date.now();
|
|
11
|
+
for (const message of messages) {
|
|
12
|
+
executeRequestData.push({
|
|
13
|
+
messageId: message.messageId,
|
|
14
|
+
destPlug: message.destPlug,
|
|
15
|
+
srcPlug: message.srcPlug,
|
|
16
|
+
dstChainSlug: message.dstChainSlug,
|
|
17
|
+
srcChainSlug: message.srcChainSlug,
|
|
18
|
+
payload: message.payload,
|
|
19
|
+
minMsgGasLimit: message.minMsgGasLimit,
|
|
20
|
+
executionParams: message.executionParams,
|
|
21
|
+
packedMessage: message.packedMessage,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
(0, utils_2.logInfo)({
|
|
25
|
+
info: "EXECUTOR_POST_API_CALLING",
|
|
26
|
+
messageIds: messages.map((m) => m.messageId),
|
|
27
|
+
start,
|
|
28
|
+
packetIds: [],
|
|
29
|
+
});
|
|
30
|
+
if (constants_1.EXECUTOR_URL) {
|
|
31
|
+
const response = yield (0, utils_1.axiosPost)(constants_1.EXECUTOR_URL, { messageData: executeRequestData }, { headers: { "x-auth-token": constants_1.EXECUTOR_AUTH_TOKEN } });
|
|
32
|
+
(0, utils_2.logInfo)({
|
|
33
|
+
info: "EXECUTOR_POST_API_CALLED",
|
|
34
|
+
messageIds: messages.map((m) => m.messageId),
|
|
35
|
+
packetIds: [],
|
|
36
|
+
end: Date.now() - start,
|
|
37
|
+
response,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
console.log("Call to executor failed");
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
exports.sendRequest = sendRequest;
|
|
45
|
+
const batchAndSendSimulateRequest = (messages, retrySimulation) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
try {
|
|
47
|
+
(0, utils_2.logInfo)({
|
|
48
|
+
info: retrySimulation
|
|
49
|
+
? "SENDING_RETRY_SIMULATION_REQUEST"
|
|
50
|
+
: "SENDING_SIMULATION_REQUEST",
|
|
51
|
+
msgCount: messages.length,
|
|
52
|
+
messageIds: messages.map((m) => m.messageId),
|
|
53
|
+
});
|
|
54
|
+
const messagesAsChunks = [...(0, utils_1.chunks)(messages, constants_1.executeBatchRelayLimit)];
|
|
55
|
+
for (const chunk of messagesAsChunks)
|
|
56
|
+
yield (0, exports.sendRequest)(chunk);
|
|
57
|
+
(0, utils_2.logInfo)({
|
|
58
|
+
info: retrySimulation
|
|
59
|
+
? "RETRY_SIMULATION_REQUEST_SENT"
|
|
60
|
+
: "SIMULATION_REQUEST_SENT",
|
|
61
|
+
messageIds: messages.map((m) => m.messageId),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
(0, utils_2.logError)({
|
|
66
|
+
info: "SIMULATION_REQUEST_ERROR",
|
|
67
|
+
error,
|
|
68
|
+
messageIds: messages.map((m) => m.messageId),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
exports.batchAndSendSimulateRequest = batchAndSendSimulateRequest;
|
|
73
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/services/execute/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAttestGasLimit = exports.getProposeGasLimit = void 0;
|
|
4
|
-
|
|
5
|
-
const getProposeGasLimit =
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const getProposeGasLimit = (dstChainSlug) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
6
6
|
return 100000;
|
|
7
|
-
};
|
|
7
|
+
});
|
|
8
8
|
exports.getProposeGasLimit = getProposeGasLimit;
|
|
9
|
-
const getAttestGasLimit =
|
|
9
|
+
const getAttestGasLimit = (dstChainSlug) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
10
10
|
return 100000;
|
|
11
|
-
};
|
|
11
|
+
});
|
|
12
12
|
exports.getAttestGasLimit = getAttestGasLimit;
|
|
13
|
+
//# sourceMappingURL=gasEstimationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gasEstimationService.js","sourceRoot":"","sources":["../../../src/services/gasEstimationService.ts"],"names":[],"mappings":";;;;AAGO,MAAM,kBAAkB,GAAG,CAAO,YAAuB,EAAE,EAAE;IAClE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEK,MAAM,iBAAiB,GAAG,CAAO,YAAuB,EAAE,EAAE;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
|