@socket.tech/dl-common 1.0.6 → 1.0.7
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/dl-common/constants/confirmations.d.ts +5 -0
- package/dist/dl-common/constants/confirmations.js +17 -0
- package/dist/dl-common/constants/enums.d.ts +44 -0
- package/dist/dl-common/constants/enums.js +52 -0
- package/dist/dl-common/constants/index.d.ts +3 -0
- package/dist/dl-common/constants/index.js +19 -0
- package/dist/dl-common/constants/types.d.ts +126 -0
- package/dist/dl-common/constants/types.js +45 -0
- package/dist/dl-common/constants/waitTime.d.ts +8 -0
- package/dist/dl-common/constants/waitTime.js +49 -0
- package/dist/dl-common/index.d.ts +4 -0
- package/dist/dl-common/index.js +20 -0
- package/dist/dl-common/models/attestSignature.d.ts +35 -0
- package/dist/dl-common/models/attestSignature.js +53 -0
- package/dist/dl-common/models/attestation.d.ts +70 -0
- package/dist/dl-common/models/attestation.js +86 -0
- package/dist/dl-common/models/index.d.ts +7 -0
- package/dist/dl-common/models/index.js +23 -0
- package/dist/dl-common/models/lastBlock.d.ts +28 -0
- package/dist/dl-common/models/lastBlock.js +27 -0
- package/dist/dl-common/models/message.d.ts +166 -0
- package/dist/dl-common/models/message.js +183 -0
- package/dist/dl-common/models/packet.d.ts +241 -0
- package/dist/dl-common/models/packet.js +250 -0
- package/dist/dl-common/models/proposal.d.ts +127 -0
- package/dist/dl-common/models/proposal.js +141 -0
- package/dist/dl-common/models/switchboard.d.ts +69 -0
- package/dist/dl-common/models/switchboard.js +92 -0
- package/dist/dl-common/models/transaction.d.ts +0 -0
- package/dist/dl-common/models/transaction.js +280 -0
- package/dist/dl-common/services/cacheService.d.ts +14 -0
- package/dist/dl-common/services/cacheService.js +77 -0
- package/dist/dl-common/services/eventBridgeService.d.ts +8 -0
- package/dist/dl-common/services/eventBridgeService.js +40 -0
- package/dist/dl-common/services/index.d.ts +3 -0
- package/dist/dl-common/services/index.js +20 -0
- package/dist/dl-common/services/queueService.d.ts +10 -0
- package/dist/dl-common/services/queueService.js +62 -0
- package/dist/dl-common/utils/address.d.ts +2 -0
- package/dist/dl-common/utils/address.js +8 -0
- package/dist/dl-common/utils/axios.d.ts +2 -0
- package/dist/dl-common/utils/axios.js +54 -0
- package/dist/dl-common/utils/dataStructHelper.d.ts +2 -0
- package/dist/dl-common/utils/dataStructHelper.js +10 -0
- package/dist/dl-common/utils/discord.d.ts +2 -0
- package/dist/dl-common/utils/discord.js +35 -0
- package/dist/dl-common/utils/ethersAwsKmsSigner.d.ts +2 -0
- package/dist/dl-common/utils/ethersAwsKmsSigner.js +26 -0
- package/dist/dl-common/utils/eventGetter.d.ts +4 -0
- package/dist/dl-common/utils/eventGetter.js +50 -0
- package/dist/dl-common/utils/extraUtils.d.ts +32 -0
- package/dist/dl-common/utils/extraUtils.js +103 -0
- package/dist/dl-common/utils/idUtils.d.ts +14 -0
- package/dist/dl-common/utils/idUtils.js +50 -0
- package/dist/dl-common/utils/index.d.ts +13 -0
- package/dist/dl-common/utils/index.js +29 -0
- package/dist/dl-common/utils/relaySigner.d.ts +21 -0
- package/dist/dl-common/utils/relaySigner.js +68 -0
- package/dist/dl-common/utils/s3Service.d.ts +5 -0
- package/dist/dl-common/utils/s3Service.js +45 -0
- package/dist/dl-common/utils/secretManagerService.d.ts +2 -0
- package/dist/dl-common/utils/secretManagerService.js +33 -0
- package/dist/dl-common/utils/signer/adapter.d.ts +18 -0
- package/dist/dl-common/utils/signer/adapter.js +71 -0
- package/dist/dl-common/utils/signer/address.d.ts +10 -0
- package/dist/dl-common/utils/signer/address.js +42 -0
- package/dist/dl-common/utils/signer/asn1-parser.d.ts +11 -0
- package/dist/dl-common/utils/signer/asn1-parser.js +80 -0
- package/dist/dl-common/utils/signer/crypto.d.ts +6 -0
- package/dist/dl-common/utils/signer/crypto.js +34 -0
- package/dist/dl-common/utils/signer/index.d.ts +4 -0
- package/dist/dl-common/utils/signer/index.js +20 -0
- package/dist/dl-common/utils/signer/kms-ethers-signer.d.ts +19 -0
- package/dist/dl-common/utils/signer/kms-ethers-signer.js +32 -0
- package/dist/dl-common/utils/signer/kms-signer.d.ts +14 -0
- package/dist/dl-common/utils/signer/kms-signer.js +46 -0
- package/dist/dl-common/utils/signer/signature.d.ts +17 -0
- package/dist/dl-common/utils/signer/signature.js +65 -0
- package/dist/dl-common/utils/signer/signer.d.ts +7 -0
- package/dist/dl-common/utils/signer/signer.js +2 -0
- package/dist/dl-common/utils/time.d.ts +2 -0
- package/dist/dl-common/utils/time.js +7 -0
- package/dist/index.js +30 -14
- package/dist/src/constants/batcherModes.d.ts +7 -0
- package/dist/src/constants/batcherModes.js +56 -0
- package/dist/src/constants/config.d.ts +39 -0
- package/dist/src/constants/config.js +77 -0
- package/dist/src/constants/enums.d.ts +21 -0
- package/dist/src/constants/enums.js +27 -0
- package/dist/src/constants/gasEstimation.d.ts +8 -0
- package/dist/src/constants/gasEstimation.js +61 -0
- package/dist/src/constants/index.d.ts +11 -0
- package/dist/src/constants/index.js +28 -0
- package/dist/src/constants/limits.d.ts +21 -0
- package/dist/src/constants/limits.js +91 -0
- package/dist/src/constants/prometheus.config.d.ts +43 -0
- package/dist/src/constants/prometheus.config.js +316 -0
- package/dist/src/constants/relayer.d.ts +6 -0
- package/dist/src/constants/relayer.js +15 -0
- package/dist/src/constants/s3Config.d.ts +13 -0
- package/dist/src/constants/s3Config.js +61 -0
- package/dist/src/constants/stageConfig.d.ts +7 -0
- package/dist/src/constants/stageConfig.js +24 -0
- package/dist/src/constants/types.d.ts +45 -0
- package/dist/src/constants/types.js +2 -0
- package/dist/src/constants/watchers.d.ts +15 -0
- package/dist/src/constants/watchers.js +137 -0
- package/dist/src/controllers/index.d.ts +0 -0
- package/dist/src/controllers/index.js +3 -0
- package/dist/src/db/associations.d.ts +1 -0
- package/dist/src/db/associations.js +46 -0
- package/dist/src/db/connection.d.ts +4 -0
- package/dist/src/db/connection.js +73 -0
- package/dist/src/db/index.d.ts +2 -0
- package/dist/src/db/index.js +18 -0
- package/dist/src/db/init.d.ts +2 -0
- package/dist/src/db/init.js +27 -0
- package/dist/src/handlers/common.d.ts +2 -0
- package/dist/src/handlers/common.js +59 -0
- package/dist/src/handlers/cronHandler.d.ts +10 -0
- package/dist/src/handlers/cronHandler.js +268 -0
- package/dist/src/handlers/executeHandler.d.ts +3 -0
- package/dist/src/handlers/executeHandler.js +66 -0
- package/dist/src/handlers/handler.d.ts +2 -0
- package/dist/src/handlers/handler.js +29 -0
- package/dist/src/handlers/proposeHandler.d.ts +3 -0
- package/dist/src/handlers/proposeHandler.js +69 -0
- package/dist/src/handlers/routes.d.ts +2 -0
- package/dist/src/handlers/routes.js +26 -0
- package/dist/src/handlers/sealHandler.d.ts +4 -0
- package/dist/src/handlers/sealHandler.js +245 -0
- package/dist/src/handlers/statusHandler.d.ts +5 -0
- package/dist/src/handlers/statusHandler.js +116 -0
- package/dist/src/handlers/taskHandler.d.ts +2 -0
- package/dist/src/handlers/taskHandler.js +110 -0
- package/dist/src/handlers/testHandler.d.ts +4 -0
- package/dist/src/handlers/testHandler.js +99 -0
- package/dist/src/main.d.ts +0 -0
- package/dist/src/main.js +12 -0
- package/dist/src/relayers/common.d.ts +7 -0
- package/dist/src/relayers/common.js +55 -0
- package/dist/src/relayers/index.d.ts +2 -0
- package/dist/src/relayers/index.js +19 -0
- package/dist/src/relayers/proposeRelayer.d.ts +7 -0
- package/dist/src/relayers/proposeRelayer.js +587 -0
- package/dist/src/relayers/sealRelayer.d.ts +8 -0
- package/dist/src/relayers/sealRelayer.js +276 -0
- package/dist/src/services/attestService.d.ts +45 -0
- package/dist/src/services/attestService.js +269 -0
- package/dist/src/services/batcherService.d.ts +9 -0
- package/dist/src/services/batcherService.js +197 -0
- package/dist/src/services/executeService.d.ts +16 -0
- package/dist/src/services/executeService.js +209 -0
- package/dist/src/services/gasEstimationService.d.ts +3 -0
- package/dist/src/services/gasEstimationService.js +12 -0
- package/dist/src/services/index.d.ts +4 -0
- package/dist/src/services/index.js +23 -0
- package/dist/src/services/indexSealService.d.ts +15 -0
- package/dist/src/services/indexSealService.js +120 -0
- package/dist/src/services/proposalCheckService.d.ts +9 -0
- package/dist/src/services/proposalCheckService.js +119 -0
- package/dist/src/services/sealService.d.ts +27 -0
- package/dist/src/services/sealService.js +190 -0
- package/dist/src/statusTrackers/failedMessage.d.ts +8 -0
- package/dist/src/statusTrackers/failedMessage.js +72 -0
- package/dist/src/statusTrackers/failedPacket.d.ts +13 -0
- package/dist/src/statusTrackers/failedPacket.js +110 -0
- package/dist/src/statusTrackers/index.d.ts +3 -0
- package/dist/src/statusTrackers/index.js +26 -0
- package/dist/src/statusTrackers/message.d.ts +4 -0
- package/dist/src/statusTrackers/message.js +257 -0
- package/dist/src/statusTrackers/packet.d.ts +33 -0
- package/dist/src/statusTrackers/packet.js +477 -0
- package/dist/src/utils/chain-utils.d.ts +5 -0
- package/dist/src/utils/chain-utils.js +42 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.js +18 -0
- package/dist/src/utils/logger.d.ts +9 -0
- package/dist/src/utils/logger.js +9 -0
- package/dist/utils/s3Service.js +1 -1
- package/dist/utils/signer/socketSigner.d.ts +32 -0
- package/dist/utils/signer/socketSigner.js +121 -0
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskNames = exports.QueueName = exports.WatcherIDs = void 0;
|
|
4
|
+
var WatcherIDs;
|
|
5
|
+
(function (WatcherIDs) {
|
|
6
|
+
WatcherIDs["SOCKET"] = "SOCKET";
|
|
7
|
+
WatcherIDs["AEVO"] = "AEVO";
|
|
8
|
+
WatcherIDs["SX1"] = "SX1";
|
|
9
|
+
WatcherIDs["SX2"] = "SX2";
|
|
10
|
+
WatcherIDs["SXPROD1"] = "SXPROD1";
|
|
11
|
+
WatcherIDs["SXPROD2"] = "SXPROD2";
|
|
12
|
+
WatcherIDs["SXPROD3"] = "SXPROD3";
|
|
13
|
+
WatcherIDs["SXPROD4"] = "SXPROD4";
|
|
14
|
+
})(WatcherIDs || (exports.WatcherIDs = WatcherIDs = {}));
|
|
15
|
+
var QueueName;
|
|
16
|
+
(function (QueueName) {
|
|
17
|
+
QueueName["BATCHER_TASK_QUEUE"] = "batcherTaskQueue";
|
|
18
|
+
})(QueueName || (exports.QueueName = QueueName = {}));
|
|
19
|
+
var TaskNames;
|
|
20
|
+
(function (TaskNames) {
|
|
21
|
+
TaskNames["RELAY_PROPOSE"] = "RELAY_PROPOSE";
|
|
22
|
+
TaskNames["RELAY_SEAL"] = "RELAY_SEAL";
|
|
23
|
+
TaskNames["RELAY_EXECUTE"] = "RELAY_EXECUTE";
|
|
24
|
+
TaskNames["STATUS_UPDATE"] = "STATUS_UPDATE";
|
|
25
|
+
TaskNames["SIMULATE_MESSAGES"] = "SIMULATE_MESSAGES";
|
|
26
|
+
TaskNames["UPDATE_SELECTED_PROPOSAL_COUNT"] = "UPDATE_SELECTED_PROPOSAL_COUNT";
|
|
27
|
+
})(TaskNames || (exports.TaskNames = TaskNames = {}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ChainSlug } from "@socket.tech/dl-core";
|
|
2
|
+
import { BigNumber } from "ethers";
|
|
3
|
+
export declare const MAX_GAS_LIMIT: {
|
|
4
|
+
[key in ChainSlug]?: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const getMaxGasLimit: (chainSlug: ChainSlug) => number;
|
|
7
|
+
export declare const DEFAULT_MAX_GAS_LIMIT = 4000000;
|
|
8
|
+
export declare const gasLimits: Record<number, BigNumber>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gasLimits = exports.DEFAULT_MAX_GAS_LIMIT = exports.getMaxGasLimit = exports.MAX_GAS_LIMIT = void 0;
|
|
4
|
+
const dl_core_1 = require("@socket.tech/dl-core");
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
const utils_1 = require("ethers/lib/utils");
|
|
7
|
+
exports.MAX_GAS_LIMIT = {
|
|
8
|
+
[dl_core_1.ChainSlug.ARBITRUM]: 2500000,
|
|
9
|
+
[dl_core_1.ChainSlug.REYA]: 200000000,
|
|
10
|
+
};
|
|
11
|
+
const getMaxGasLimit = (chainSlug) => {
|
|
12
|
+
var _a;
|
|
13
|
+
return (_a = exports.MAX_GAS_LIMIT[chainSlug]) !== null && _a !== void 0 ? _a : exports.DEFAULT_MAX_GAS_LIMIT;
|
|
14
|
+
};
|
|
15
|
+
exports.getMaxGasLimit = getMaxGasLimit;
|
|
16
|
+
exports.DEFAULT_MAX_GAS_LIMIT = 4000000;
|
|
17
|
+
const COMMON_GAS_LIMIT = ethers_1.BigNumber.from(3000000);
|
|
18
|
+
const relayerBalThreshold = {
|
|
19
|
+
[dl_core_1.ChainSlug.BSC]: (0, utils_1.parseUnits)("0.03", "ether"),
|
|
20
|
+
[dl_core_1.ChainSlug.OPTIMISM]: (0, utils_1.parseUnits)("0.02", "ether"),
|
|
21
|
+
[dl_core_1.ChainSlug.AEVO]: (0, utils_1.parseUnits)("0.01", "ether"),
|
|
22
|
+
[dl_core_1.ChainSlug.ARBITRUM]: (0, utils_1.parseUnits)("0.02", "ether"),
|
|
23
|
+
[dl_core_1.ChainSlug.MAINNET]: (0, utils_1.parseUnits)("0.15", "ether"),
|
|
24
|
+
[dl_core_1.ChainSlug.POLYGON_MAINNET]: (0, utils_1.parseUnits)("4", "ether"),
|
|
25
|
+
[dl_core_1.ChainSlug.BSC_TESTNET]: (0, utils_1.parseUnits)("0.01", "ether"),
|
|
26
|
+
[dl_core_1.ChainSlug.OPTIMISM_GOERLI]: (0, utils_1.parseUnits)("0.01", "ether"),
|
|
27
|
+
[dl_core_1.ChainSlug.ARBITRUM_GOERLI]: (0, utils_1.parseUnits)("0.01", "ether"),
|
|
28
|
+
[dl_core_1.ChainSlug.GOERLI]: (0, utils_1.parseUnits)("0.05", "ether"),
|
|
29
|
+
[dl_core_1.ChainSlug.POLYGON_MUMBAI]: (0, utils_1.parseUnits)("4", "ether"),
|
|
30
|
+
[dl_core_1.ChainSlug.AEVO_TESTNET]: (0, utils_1.parseUnits)("0.01", "ether"),
|
|
31
|
+
[dl_core_1.ChainSlug.LYRA]: (0, utils_1.parseUnits)("0.01", "ether"),
|
|
32
|
+
[dl_core_1.ChainSlug.LYRA_TESTNET]: (0, utils_1.parseUnits)("0.01", "ether"),
|
|
33
|
+
};
|
|
34
|
+
const gasPrice = {
|
|
35
|
+
[dl_core_1.ChainSlug.OPTIMISM]: (0, utils_1.parseUnits)("0.1", "gwei"),
|
|
36
|
+
[dl_core_1.ChainSlug.AEVO]: (0, utils_1.parseUnits)("0.1", "gwei"),
|
|
37
|
+
[dl_core_1.ChainSlug.ARBITRUM]: (0, utils_1.parseUnits)("0.15", "gwei"),
|
|
38
|
+
[dl_core_1.ChainSlug.OPTIMISM_GOERLI]: (0, utils_1.parseUnits)("0.1", "gwei"),
|
|
39
|
+
[dl_core_1.ChainSlug.ARBITRUM_GOERLI]: (0, utils_1.parseUnits)("0.15", "gwei"),
|
|
40
|
+
[dl_core_1.ChainSlug.AEVO_TESTNET]: (0, utils_1.parseUnits)("0.1", "gwei"),
|
|
41
|
+
[dl_core_1.ChainSlug.LYRA]: (0, utils_1.parseUnits)("0.1", "gwei"),
|
|
42
|
+
[dl_core_1.ChainSlug.LYRA_TESTNET]: (0, utils_1.parseUnits)("0.1", "gwei"),
|
|
43
|
+
};
|
|
44
|
+
exports.gasLimits = {
|
|
45
|
+
[dl_core_1.ChainSlug.BSC]: COMMON_GAS_LIMIT,
|
|
46
|
+
[dl_core_1.ChainSlug.OPTIMISM]: relayerBalThreshold[dl_core_1.ChainSlug.OPTIMISM].div(gasPrice[dl_core_1.ChainSlug.OPTIMISM]),
|
|
47
|
+
[dl_core_1.ChainSlug.AEVO]: relayerBalThreshold[dl_core_1.ChainSlug.AEVO].div(gasPrice[dl_core_1.ChainSlug.AEVO]),
|
|
48
|
+
[dl_core_1.ChainSlug.ARBITRUM]: relayerBalThreshold[dl_core_1.ChainSlug.ARBITRUM].div(gasPrice[dl_core_1.ChainSlug.ARBITRUM]),
|
|
49
|
+
[dl_core_1.ChainSlug.MAINNET]: COMMON_GAS_LIMIT,
|
|
50
|
+
[dl_core_1.ChainSlug.POLYGON_MAINNET]: COMMON_GAS_LIMIT,
|
|
51
|
+
[dl_core_1.ChainSlug.BSC_TESTNET]: COMMON_GAS_LIMIT,
|
|
52
|
+
[dl_core_1.ChainSlug.OPTIMISM_GOERLI]: relayerBalThreshold[dl_core_1.ChainSlug.OPTIMISM_GOERLI].div(gasPrice[dl_core_1.ChainSlug.OPTIMISM_GOERLI]),
|
|
53
|
+
[dl_core_1.ChainSlug.ARBITRUM_GOERLI]: relayerBalThreshold[dl_core_1.ChainSlug.ARBITRUM_GOERLI].div(gasPrice[dl_core_1.ChainSlug.ARBITRUM_GOERLI]),
|
|
54
|
+
[dl_core_1.ChainSlug.GOERLI]: COMMON_GAS_LIMIT,
|
|
55
|
+
[dl_core_1.ChainSlug.POLYGON_MUMBAI]: COMMON_GAS_LIMIT,
|
|
56
|
+
[dl_core_1.ChainSlug.AEVO_TESTNET]: relayerBalThreshold[dl_core_1.ChainSlug.AEVO_TESTNET].div(gasPrice[dl_core_1.ChainSlug.AEVO_TESTNET]),
|
|
57
|
+
[dl_core_1.ChainSlug.SEPOLIA]: COMMON_GAS_LIMIT,
|
|
58
|
+
[dl_core_1.ChainSlug.HARDHAT]: COMMON_GAS_LIMIT,
|
|
59
|
+
[dl_core_1.ChainSlug.LYRA]: COMMON_GAS_LIMIT,
|
|
60
|
+
[dl_core_1.ChainSlug.LYRA_TESTNET]: COMMON_GAS_LIMIT,
|
|
61
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./types";
|
|
2
|
+
export * from "./config";
|
|
3
|
+
export * from "./limits";
|
|
4
|
+
export * from "./relayer";
|
|
5
|
+
export * from "./enums";
|
|
6
|
+
export * from "./batcherModes";
|
|
7
|
+
export * from "./gasEstimation";
|
|
8
|
+
export * from "./prometheus.config";
|
|
9
|
+
export * from "./stageConfig";
|
|
10
|
+
export * from "./watchers";
|
|
11
|
+
export * from "./s3Config";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// types has to be first export since it is imported in other const files
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
__exportStar(require("./config"), exports);
|
|
20
|
+
__exportStar(require("./limits"), exports);
|
|
21
|
+
__exportStar(require("./relayer"), exports);
|
|
22
|
+
__exportStar(require("./enums"), exports);
|
|
23
|
+
__exportStar(require("./batcherModes"), exports);
|
|
24
|
+
__exportStar(require("./gasEstimation"), exports);
|
|
25
|
+
__exportStar(require("./prometheus.config"), exports);
|
|
26
|
+
__exportStar(require("./stageConfig"), exports);
|
|
27
|
+
__exportStar(require("./watchers"), exports);
|
|
28
|
+
__exportStar(require("./s3Config"), exports);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BigNumber } from "ethers";
|
|
2
|
+
import { ChainSlug } from "@socket.tech/dl-core";
|
|
3
|
+
export declare const sealBatchRelayLimit: number;
|
|
4
|
+
export declare const tripProposalBatchRelayLimit: number;
|
|
5
|
+
export declare const sealBatchQueryLimit: number;
|
|
6
|
+
export declare const tripProposalBatchQueryLimit: number;
|
|
7
|
+
export declare const proposeBatchRelayLimit: number;
|
|
8
|
+
export declare const proposeBatchQueryLimit: number;
|
|
9
|
+
export declare const attestBatchRelayLimit: number;
|
|
10
|
+
export declare const attestBatchQueryLimit: number;
|
|
11
|
+
export declare const executeBatchRelayLimit: number;
|
|
12
|
+
export declare const executeBatchQueryLimit: number;
|
|
13
|
+
export declare const rootMatchIndexerQueryLimit: number;
|
|
14
|
+
export declare const relayNativeInitiatorBatchLimit: number;
|
|
15
|
+
export declare const relayNativeInitiatorQueryLimit: number;
|
|
16
|
+
export declare const relayNativePolygonBatchLimit: number;
|
|
17
|
+
export declare const relayNativePolygonQueryLimit: number;
|
|
18
|
+
export declare const checkTxStatusLimit: number;
|
|
19
|
+
export declare const getMaxMsgGasLimit: (chainSlug: ChainSlug) => BigNumber;
|
|
20
|
+
export declare const MaxMsgGasLimitArbChains: BigNumber;
|
|
21
|
+
export declare const MaxMsgGasLimitOtherChains: BigNumber;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MaxMsgGasLimitOtherChains = exports.MaxMsgGasLimitArbChains = exports.getMaxMsgGasLimit = exports.checkTxStatusLimit = exports.relayNativePolygonQueryLimit = exports.relayNativePolygonBatchLimit = exports.relayNativeInitiatorQueryLimit = exports.relayNativeInitiatorBatchLimit = exports.rootMatchIndexerQueryLimit = exports.executeBatchQueryLimit = exports.executeBatchRelayLimit = exports.attestBatchQueryLimit = exports.attestBatchRelayLimit = exports.proposeBatchQueryLimit = exports.proposeBatchRelayLimit = exports.tripProposalBatchQueryLimit = exports.sealBatchQueryLimit = exports.tripProposalBatchRelayLimit = exports.sealBatchRelayLimit = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
const s3Config_1 = require("./s3Config");
|
|
6
|
+
const dl_core_1 = require("@socket.tech/dl-core");
|
|
7
|
+
// max total number of packets to be sealed in a seal-batch transaction
|
|
8
|
+
exports.sealBatchRelayLimit = process.env.SEAL_BATCH_RELAY_LIMIT
|
|
9
|
+
? parseInt(process.env.SEAL_BATCH_RELAY_LIMIT)
|
|
10
|
+
: 50;
|
|
11
|
+
// max total number of proposals to be tripped in a trip-proposal-batch transaction
|
|
12
|
+
exports.tripProposalBatchRelayLimit = process.env
|
|
13
|
+
.TRIP_PROPOSAL_BATCH_RELAY_LIMIT
|
|
14
|
+
? parseInt(process.env.TRIP_PROPOSAL_BATCH_RELAY_LIMIT)
|
|
15
|
+
: 10;
|
|
16
|
+
// max total number of packets to be pulled from the database in a scheduled run for seal-batch-relayer
|
|
17
|
+
exports.sealBatchQueryLimit = process.env.SEAL_BATCH_QUERY_LIMIT
|
|
18
|
+
? parseInt(process.env.SEAL_BATCH_QUERY_LIMIT)
|
|
19
|
+
: 1000;
|
|
20
|
+
// max total number of proposals to be pulled from the database in a scheduled run for trip-proposal-batch-relayer
|
|
21
|
+
exports.tripProposalBatchQueryLimit = process.env
|
|
22
|
+
.TRIP_PROPOSAL_BATCH_QUERY_LIMIT
|
|
23
|
+
? parseInt(process.env.TRIP_PROPOSAL_BATCH_QUERY_LIMIT)
|
|
24
|
+
: 100;
|
|
25
|
+
// max total number of packets to be proposed in a propose-batch transaction
|
|
26
|
+
exports.proposeBatchRelayLimit = process.env.PROPOSE_BATCH_RELAY_LIMIT
|
|
27
|
+
? parseInt(process.env.PROPOSE_BATCH_RELAY_LIMIT)
|
|
28
|
+
: 5;
|
|
29
|
+
// max total number of packets to be pulled from the database in a scheduled run for propose-batch-relayer
|
|
30
|
+
exports.proposeBatchQueryLimit = process.env.PROPOSE_BATCH_QUERY_LIMIT
|
|
31
|
+
? parseInt(process.env.PROPOSE_BATCH_QUERY_LIMIT)
|
|
32
|
+
: 100;
|
|
33
|
+
// max total number of packets to be attested in a attest-batch transaction
|
|
34
|
+
exports.attestBatchRelayLimit = process.env.ATTEST_BATCH_RELAY_LIMIT
|
|
35
|
+
? parseInt(process.env.ATTEST_BATCH_RELAY_LIMIT)
|
|
36
|
+
: 50;
|
|
37
|
+
// max total number of packets to be pulled from the database in a scheduled run for attest-batch-relayer
|
|
38
|
+
exports.attestBatchQueryLimit = process.env.ATTEST_BATCH_QUERY_LIMIT
|
|
39
|
+
? parseInt(process.env.ATTEST_BATCH_QUERY_LIMIT)
|
|
40
|
+
: 1000;
|
|
41
|
+
// max total number of messages to be executed in a execute-batch transaction
|
|
42
|
+
exports.executeBatchRelayLimit = process.env.EXECUTE_BATCH_RELAY_LIMIT
|
|
43
|
+
? parseInt(process.env.EXECUTE_BATCH_RELAY_LIMIT)
|
|
44
|
+
: 50;
|
|
45
|
+
// max total number of messages to be pulled from the database in a scheduled run for execute-batch-relayer
|
|
46
|
+
exports.executeBatchQueryLimit = process.env.EXECUTE_BATCH_QUERY_LIMIT
|
|
47
|
+
? parseInt(process.env.EXECUTE_BATCH_QUERY_LIMIT)
|
|
48
|
+
: 1000;
|
|
49
|
+
// max total number of proposals to be pulled from the database in a scheduled run for root-mismatch-indexer
|
|
50
|
+
exports.rootMatchIndexerQueryLimit = process.env
|
|
51
|
+
.ROOT_MATCH_INDEXER_QUERY_LIMIT
|
|
52
|
+
? parseInt(process.env.ROOT_MATCH_INDEXER_QUERY_LIMIT)
|
|
53
|
+
: 1000;
|
|
54
|
+
// max total number of native-packets to be relayed for initiation
|
|
55
|
+
exports.relayNativeInitiatorBatchLimit = process.env
|
|
56
|
+
.NATIVE_INITIATE_RELAY_LIMIT
|
|
57
|
+
? parseInt(process.env.NATIVE_INITIATE_RELAY_LIMIT)
|
|
58
|
+
: 10;
|
|
59
|
+
// max total number of nativePackets to be pulled from the database in a scheduled run for native-batch-initiator
|
|
60
|
+
exports.relayNativeInitiatorQueryLimit = process.env
|
|
61
|
+
.NATIVE_INITIATE_QUERY_LIMIT
|
|
62
|
+
? parseInt(process.env.NATIVE_INITIATE_QUERY_LIMIT)
|
|
63
|
+
: 1000;
|
|
64
|
+
// max total number of native-packets to be relayed for polygon
|
|
65
|
+
exports.relayNativePolygonBatchLimit = process.env
|
|
66
|
+
.NATIVE_POLYGON_RELAY_LIMIT
|
|
67
|
+
? parseInt(process.env.NATIVE_POLYGON_RELAY_LIMIT)
|
|
68
|
+
: 10;
|
|
69
|
+
// max total number of nativePackets to be pulled from the database in a scheduled run for polygon-batch-relayer
|
|
70
|
+
exports.relayNativePolygonQueryLimit = process.env
|
|
71
|
+
.NATIVE_POLYGON_QUERY_LIMIT
|
|
72
|
+
? parseInt(process.env.NATIVE_POLYGON_QUERY_LIMIT)
|
|
73
|
+
: 1000;
|
|
74
|
+
exports.checkTxStatusLimit = process.env.CHECK_TX_STATUS_LIMIT
|
|
75
|
+
? parseInt(process.env.CHECK_TX_STATUS_LIMIT)
|
|
76
|
+
: 200;
|
|
77
|
+
const getMaxMsgGasLimit = (chainSlug) => {
|
|
78
|
+
var _a, _b;
|
|
79
|
+
const chainType = (_b = (_a = s3Config_1.s3Config === null || s3Config_1.s3Config === void 0 ? void 0 : s3Config_1.s3Config.chains) === null || _a === void 0 ? void 0 : _a[chainSlug]) === null || _b === void 0 ? void 0 : _b.chainType;
|
|
80
|
+
if (!chainType)
|
|
81
|
+
return exports.MaxMsgGasLimitOtherChains;
|
|
82
|
+
else if ([dl_core_1.ChainType.arbChain, dl_core_1.ChainType.arbL3Chain].includes(chainType)) {
|
|
83
|
+
return exports.MaxMsgGasLimitArbChains;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return exports.MaxMsgGasLimitOtherChains;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
exports.getMaxMsgGasLimit = getMaxMsgGasLimit;
|
|
90
|
+
exports.MaxMsgGasLimitArbChains = ethers_1.BigNumber.from("2000000000"); // 2 billion
|
|
91
|
+
exports.MaxMsgGasLimitOtherChains = ethers_1.BigNumber.from("20000000"); // 20 million
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import promClient, { type Counter, type Histogram, type Pushgateway, type Registry } from "prom-client";
|
|
2
|
+
export declare enum ProcessType {
|
|
3
|
+
INDEX = "INDEX",
|
|
4
|
+
RELAY = "RELAY",
|
|
5
|
+
NATIVE_RELAY = "NATIVE_RELAY"
|
|
6
|
+
}
|
|
7
|
+
export interface SocketMetric {
|
|
8
|
+
txDiffHistogram: Histogram;
|
|
9
|
+
counter: Counter;
|
|
10
|
+
signHistogram: Histogram;
|
|
11
|
+
relayerHistogram: Histogram;
|
|
12
|
+
statusUpdateHistogram: Histogram;
|
|
13
|
+
}
|
|
14
|
+
export interface RelayMetrics {
|
|
15
|
+
sealRelay: SocketMetric;
|
|
16
|
+
proposeRelay: SocketMetric;
|
|
17
|
+
proposeTripRelay: SocketMetric;
|
|
18
|
+
attestRelay: SocketMetric;
|
|
19
|
+
executeRelay: SocketMetric;
|
|
20
|
+
}
|
|
21
|
+
export interface PrometheusConfig {
|
|
22
|
+
gateway: Pushgateway;
|
|
23
|
+
metrics: RelayMetrics;
|
|
24
|
+
}
|
|
25
|
+
export declare enum Labels {
|
|
26
|
+
SRC_CHAIN_SLUG = "src_chain_slug",
|
|
27
|
+
DST_CHAIN_SLUG = "dst_chain_slug",
|
|
28
|
+
INTEGRATION_TYPE = "integration_type",
|
|
29
|
+
ERROR_CODE = "error_code"
|
|
30
|
+
}
|
|
31
|
+
export interface Metrics {
|
|
32
|
+
labels: any;
|
|
33
|
+
timeDiff: number;
|
|
34
|
+
}
|
|
35
|
+
export declare let register: Registry;
|
|
36
|
+
export declare let gateway: Pushgateway;
|
|
37
|
+
export declare let relayMetrics: RelayMetrics;
|
|
38
|
+
export declare function initializePromMetrics(): {
|
|
39
|
+
gateway: promClient.Pushgateway;
|
|
40
|
+
metrics: RelayMetrics;
|
|
41
|
+
} | undefined;
|
|
42
|
+
export declare function observeHistogram(histogram: Histogram, metric: Metrics): void;
|
|
43
|
+
export declare function pushToGateway(): Promise<void>;
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.pushToGateway = exports.observeHistogram = exports.initializePromMetrics = exports.relayMetrics = exports.gateway = exports.register = exports.Labels = exports.ProcessType = void 0;
|
|
27
|
+
const prom_client_1 = __importStar(require("prom-client"));
|
|
28
|
+
const _1 = require(".");
|
|
29
|
+
const logger_1 = require("../utils/logger");
|
|
30
|
+
// import { isMode, logger } from "../utils";
|
|
31
|
+
var ProcessType;
|
|
32
|
+
(function (ProcessType) {
|
|
33
|
+
ProcessType["INDEX"] = "INDEX";
|
|
34
|
+
ProcessType["RELAY"] = "RELAY";
|
|
35
|
+
ProcessType["NATIVE_RELAY"] = "NATIVE_RELAY";
|
|
36
|
+
})(ProcessType || (exports.ProcessType = ProcessType = {}));
|
|
37
|
+
var Labels;
|
|
38
|
+
(function (Labels) {
|
|
39
|
+
Labels["SRC_CHAIN_SLUG"] = "src_chain_slug";
|
|
40
|
+
Labels["DST_CHAIN_SLUG"] = "dst_chain_slug";
|
|
41
|
+
Labels["INTEGRATION_TYPE"] = "integration_type";
|
|
42
|
+
Labels["ERROR_CODE"] = "error_code";
|
|
43
|
+
})(Labels || (exports.Labels = Labels = {}));
|
|
44
|
+
// time buckets in seconds
|
|
45
|
+
const txDiffBuckets = [1, 10, 20, 30, 40, 50, 60, 120];
|
|
46
|
+
const relayTimeBuckets = [2, 5, 10];
|
|
47
|
+
const labels = [
|
|
48
|
+
Labels.SRC_CHAIN_SLUG,
|
|
49
|
+
Labels.DST_CHAIN_SLUG,
|
|
50
|
+
Labels.INTEGRATION_TYPE,
|
|
51
|
+
];
|
|
52
|
+
const prefixWithProcess = () => {
|
|
53
|
+
// if (isMode(Mode.INDEXER, Mode.WATCHER_INDEXER)) {
|
|
54
|
+
// return `${prometheusPrefix}_indexer_${chainSlug}_`;
|
|
55
|
+
// } else if (isMode(Mode.TRANSMITTER, Mode.WATCHER, Mode.EXECUTOR)) {
|
|
56
|
+
// return `${prometheusPrefix}_relayer_`;
|
|
57
|
+
// } else if (isMode(Mode.NATIVE_WATCHER)) {
|
|
58
|
+
// return `${prometheusPrefix}_native_watcher_`;
|
|
59
|
+
// } else
|
|
60
|
+
return `${_1.prometheusPrefix}_`;
|
|
61
|
+
};
|
|
62
|
+
function initializePromMetrics() {
|
|
63
|
+
if (_1.reRegisterPrometheus) {
|
|
64
|
+
exports.register.clear();
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
if (exports.register && exports.gateway && exports.relayMetrics)
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
exports.register = new prom_client_1.default.Registry();
|
|
71
|
+
(0, prom_client_1.collectDefaultMetrics)({ register: exports.register, prefix: prefixWithProcess() });
|
|
72
|
+
exports.gateway = new prom_client_1.default.Pushgateway(_1.stageConfig.prometheusServerURL, [], exports.register);
|
|
73
|
+
// if (type === ProcessType.INDEX) {
|
|
74
|
+
// const metrics: IndexMetrics = {
|
|
75
|
+
// switchboardRegistrationIndex: createAndRegisterMetrics(
|
|
76
|
+
// register,
|
|
77
|
+
// promClient,
|
|
78
|
+
// "switchboard_registration_index",
|
|
79
|
+
// "index switchboard registrations",
|
|
80
|
+
// []
|
|
81
|
+
// ),
|
|
82
|
+
// switchboardUpdateIndex: createAndRegisterMetrics(
|
|
83
|
+
// register,
|
|
84
|
+
// promClient,
|
|
85
|
+
// "switchboard_update_index",
|
|
86
|
+
// "index switchboard updates",
|
|
87
|
+
// []
|
|
88
|
+
// ),
|
|
89
|
+
// outboundIndex: createAndRegisterMetrics(
|
|
90
|
+
// register,
|
|
91
|
+
// promClient,
|
|
92
|
+
// "outbound_index",
|
|
93
|
+
// "index outbound tx",
|
|
94
|
+
// labels
|
|
95
|
+
// ),
|
|
96
|
+
// sealIndex: createAndRegisterMetrics(
|
|
97
|
+
// register,
|
|
98
|
+
// promClient,
|
|
99
|
+
// "seal_index",
|
|
100
|
+
// "index seal txs",
|
|
101
|
+
// labels
|
|
102
|
+
// ),
|
|
103
|
+
// proposeIndex: createAndRegisterMetrics(
|
|
104
|
+
// register,
|
|
105
|
+
// promClient,
|
|
106
|
+
// "propose_index",
|
|
107
|
+
// "index propose txs",
|
|
108
|
+
// labels
|
|
109
|
+
// ),
|
|
110
|
+
// proposeTripIndex: createAndRegisterMetrics(
|
|
111
|
+
// register,
|
|
112
|
+
// promClient,
|
|
113
|
+
// "propose_trip_index",
|
|
114
|
+
// "index propose trip txs",
|
|
115
|
+
// labels
|
|
116
|
+
// ),
|
|
117
|
+
// rootMismatchIndex: createAndRegisterMetrics(
|
|
118
|
+
// register,
|
|
119
|
+
// promClient,
|
|
120
|
+
// "root_mismatch_index",
|
|
121
|
+
// "verify root mismatch for existing proposals",
|
|
122
|
+
// labels
|
|
123
|
+
// ),
|
|
124
|
+
// attestIndex: createAndRegisterMetrics(
|
|
125
|
+
// register,
|
|
126
|
+
// promClient,
|
|
127
|
+
// "attest_index",
|
|
128
|
+
// "index attest txs",
|
|
129
|
+
// labels
|
|
130
|
+
// ),
|
|
131
|
+
// initiateIndex: createAndRegisterMetrics(
|
|
132
|
+
// register,
|
|
133
|
+
// promClient,
|
|
134
|
+
// "initiate_index",
|
|
135
|
+
// "index native initiate txs",
|
|
136
|
+
// labels
|
|
137
|
+
// ),
|
|
138
|
+
// rootReceivedIndex: createAndRegisterMetrics(
|
|
139
|
+
// register,
|
|
140
|
+
// promClient,
|
|
141
|
+
// "root_receive_index",
|
|
142
|
+
// "index root receive txs",
|
|
143
|
+
// labels
|
|
144
|
+
// ),
|
|
145
|
+
// verifyIndex: createAndRegisterMetrics(
|
|
146
|
+
// register,
|
|
147
|
+
// promClient,
|
|
148
|
+
// "allow_packet_index",
|
|
149
|
+
// "allow packet calls",
|
|
150
|
+
// labels
|
|
151
|
+
// ),
|
|
152
|
+
// simulationIndex: createAndRegisterMetrics(
|
|
153
|
+
// register,
|
|
154
|
+
// promClient,
|
|
155
|
+
// "simulation_index",
|
|
156
|
+
// "inbound simulation",
|
|
157
|
+
// labels
|
|
158
|
+
// ),
|
|
159
|
+
// executeIndex: createAndRegisterMetrics(
|
|
160
|
+
// register,
|
|
161
|
+
// promClient,
|
|
162
|
+
// "execute_index",
|
|
163
|
+
// "index execute txs",
|
|
164
|
+
// labels
|
|
165
|
+
// ),
|
|
166
|
+
// };
|
|
167
|
+
// return { gateway, metrics };
|
|
168
|
+
// } else if (type === ProcessType.RELAY) {
|
|
169
|
+
exports.relayMetrics = {
|
|
170
|
+
sealRelay: createAndRegisterMetrics(exports.register, prom_client_1.default, "seal_relay", "relay seal", labels),
|
|
171
|
+
proposeRelay: createAndRegisterMetrics(exports.register, prom_client_1.default, "propose_relay", "relay propose", labels),
|
|
172
|
+
proposeTripRelay: createAndRegisterMetrics(exports.register, prom_client_1.default, "propose_trip_relay", "relay propose trip", labels),
|
|
173
|
+
attestRelay: createAndRegisterMetrics(exports.register, prom_client_1.default, "attest_relay", "relay attest", labels),
|
|
174
|
+
executeRelay: createAndRegisterMetrics(exports.register, prom_client_1.default, "execute_relay", "relay execute", labels),
|
|
175
|
+
};
|
|
176
|
+
return { gateway: exports.gateway, metrics: exports.relayMetrics };
|
|
177
|
+
// } else if (type === ProcessType.NATIVE_RELAY) {
|
|
178
|
+
// const metrics: NativeRelayMetrics = {
|
|
179
|
+
// initiateRelay: createAndRegisterMetrics(
|
|
180
|
+
// register,
|
|
181
|
+
// promClient,
|
|
182
|
+
// "initiate_relay",
|
|
183
|
+
// "relay initiate native packet",
|
|
184
|
+
// labels
|
|
185
|
+
// ),
|
|
186
|
+
// polygonProofRelay: createAndRegisterMetrics(
|
|
187
|
+
// register,
|
|
188
|
+
// promClient,
|
|
189
|
+
// "polygon_proof_relay",
|
|
190
|
+
// "relay polygon proof",
|
|
191
|
+
// labels
|
|
192
|
+
// ),
|
|
193
|
+
// arbitrumProofRelay: createAndRegisterMetrics(
|
|
194
|
+
// register,
|
|
195
|
+
// promClient,
|
|
196
|
+
// "arbitrum_proof_relay",
|
|
197
|
+
// "relay arbitrum proof",
|
|
198
|
+
// labels
|
|
199
|
+
// ),
|
|
200
|
+
// optimismProofRelay: createAndRegisterMetrics(
|
|
201
|
+
// register,
|
|
202
|
+
// promClient,
|
|
203
|
+
// "optimism_proof_relay",
|
|
204
|
+
// "relay optimism proof",
|
|
205
|
+
// labels
|
|
206
|
+
// ),
|
|
207
|
+
// };
|
|
208
|
+
// return { gateway, metrics };
|
|
209
|
+
// } else
|
|
210
|
+
// throw new Error("Invalid Process type");
|
|
211
|
+
}
|
|
212
|
+
exports.initializePromMetrics = initializePromMetrics;
|
|
213
|
+
function observeHistogram(histogram, metric) {
|
|
214
|
+
if (!_1.isPrometheusEnabled)
|
|
215
|
+
return;
|
|
216
|
+
try {
|
|
217
|
+
histogram.observe(metric.labels, metric.timeDiff);
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
logger_1.logger.info(error);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
exports.observeHistogram = observeHistogram;
|
|
224
|
+
async function pushToGateway() {
|
|
225
|
+
if (!_1.isPrometheusEnabled)
|
|
226
|
+
return;
|
|
227
|
+
await exports.gateway
|
|
228
|
+
.push({
|
|
229
|
+
jobName: prefixWithProcess(),
|
|
230
|
+
})
|
|
231
|
+
.then(({ resp, body }) => {
|
|
232
|
+
const response = resp;
|
|
233
|
+
logger_1.logger.info(`Response status: ${response.statusCode}`);
|
|
234
|
+
})
|
|
235
|
+
.catch((err) => {
|
|
236
|
+
logger_1.logger.info(`Error: ${err}`);
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
exports.pushToGateway = pushToGateway;
|
|
240
|
+
// name helps in identifying counter
|
|
241
|
+
// label names are characteristics of the metric
|
|
242
|
+
function createAndRegisterMetrics(register, promClient, name, help, labelNames) {
|
|
243
|
+
const txDiffHistogram = new promClient.Histogram({
|
|
244
|
+
name: `${prefixWithProcess()}${name}_tx_diff_histogram`,
|
|
245
|
+
help: `stores actual tx timestamp of ${help}`,
|
|
246
|
+
labelNames,
|
|
247
|
+
txDiffBuckets,
|
|
248
|
+
});
|
|
249
|
+
register.registerMetric(txDiffHistogram);
|
|
250
|
+
// const logsHistogram = new promClient.Histogram({
|
|
251
|
+
// name: `${prefixWithProcess()}${name}_logs_histogram`,
|
|
252
|
+
// help: `stores delay in getting logs of ${help}`,
|
|
253
|
+
// labelNames: [Labels.SRC_CHAIN_SLUG],
|
|
254
|
+
// buckets,
|
|
255
|
+
// });
|
|
256
|
+
// register.registerMetric(logsHistogram);
|
|
257
|
+
const counter = new promClient.Counter({
|
|
258
|
+
name: `${prefixWithProcess()}${name}_counter`,
|
|
259
|
+
help: `counts ${help}`,
|
|
260
|
+
});
|
|
261
|
+
register.registerMetric(counter);
|
|
262
|
+
// // todo: add for all db logs
|
|
263
|
+
// const dbHistogram = new promClient.Histogram({
|
|
264
|
+
// name: `${prefixWithProcess()}${name}_db_histogram`,
|
|
265
|
+
// help: `stores db metric`,
|
|
266
|
+
// labelNames: [],
|
|
267
|
+
// buckets,
|
|
268
|
+
// });
|
|
269
|
+
// register.registerMetric(dbHistogram);
|
|
270
|
+
// // todo: add for all kms logs
|
|
271
|
+
const signHistogram = new promClient.Histogram({
|
|
272
|
+
name: `${prefixWithProcess()}${name}_sign_histogram`,
|
|
273
|
+
help: `stores sign metric of ${help}`,
|
|
274
|
+
labelNames,
|
|
275
|
+
txDiffBuckets,
|
|
276
|
+
});
|
|
277
|
+
register.registerMetric(signHistogram);
|
|
278
|
+
const relayerHistogram = new promClient.Histogram({
|
|
279
|
+
name: `${prefixWithProcess()}${name}_relay_histogram`,
|
|
280
|
+
help: `stores relayer metric of ${help}`,
|
|
281
|
+
labelNames,
|
|
282
|
+
relayTimeBuckets,
|
|
283
|
+
});
|
|
284
|
+
register.registerMetric(relayerHistogram);
|
|
285
|
+
const statusUpdateHistogram = new promClient.Histogram({
|
|
286
|
+
name: `${prefixWithProcess()}${name}_status_update_histogram`,
|
|
287
|
+
help: `stores status update time metric`,
|
|
288
|
+
labelNames,
|
|
289
|
+
txDiffBuckets,
|
|
290
|
+
});
|
|
291
|
+
register.registerMetric(statusUpdateHistogram);
|
|
292
|
+
// const processTimeHistogram = new promClient.Histogram({
|
|
293
|
+
// name: `${prefixWithProcess()}${name}_process_time_histogram`,
|
|
294
|
+
// help: `stores process time metric`,
|
|
295
|
+
// labelNames: [],
|
|
296
|
+
// txDiffBuckets,
|
|
297
|
+
// });
|
|
298
|
+
// register.registerMetric(processTimeHistogram);
|
|
299
|
+
// const relayErrorCounter = new promClient.Counter({
|
|
300
|
+
// name: `${prefixWithProcess()}${name}_relay_error_counter`,
|
|
301
|
+
// help: `counts relay error in ${help}`,
|
|
302
|
+
// labelNames: [Labels.ERROR_CODE],
|
|
303
|
+
// });
|
|
304
|
+
// register.registerMetric(relayErrorCounter);
|
|
305
|
+
return {
|
|
306
|
+
txDiffHistogram,
|
|
307
|
+
counter,
|
|
308
|
+
// logsHistogram,
|
|
309
|
+
signHistogram,
|
|
310
|
+
// dbHistogram,
|
|
311
|
+
relayerHistogram,
|
|
312
|
+
statusUpdateHistogram,
|
|
313
|
+
// relayErrorCounter,
|
|
314
|
+
// processTimeHistogram,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.relayerBalance = exports.multipleTxStatusUrl = exports.txStatusUrl = exports.relayUrl = void 0;
|
|
4
|
+
const dl_core_1 = require("@socket.tech/dl-core");
|
|
5
|
+
const utils_1 = require("ethers/lib/utils");
|
|
6
|
+
const config_1 = require("./config");
|
|
7
|
+
const relayUrl = () => config_1.relayerBaseUrl + "/relayTx";
|
|
8
|
+
exports.relayUrl = relayUrl;
|
|
9
|
+
const txStatusUrl = () => config_1.relayerBaseUrl + "/getTx";
|
|
10
|
+
exports.txStatusUrl = txStatusUrl;
|
|
11
|
+
const multipleTxStatusUrl = () => config_1.relayerBaseUrl + "/getTxs";
|
|
12
|
+
exports.multipleTxStatusUrl = multipleTxStatusUrl;
|
|
13
|
+
exports.relayerBalance = {
|
|
14
|
+
[dl_core_1.ChainSlug.OPTIMISM_GOERLI]: (0, utils_1.parseUnits)("0.01"),
|
|
15
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StaticJsonRpcProvider } from "@ethersproject/providers";
|
|
2
|
+
import { type ChainSlug, type DeploymentAddresses, type S3Config } from "@socket.tech/dl-core";
|
|
3
|
+
export declare let s3Config: S3Config;
|
|
4
|
+
export declare let supportedChainSlugs: ChainSlug[];
|
|
5
|
+
export declare const providers: {
|
|
6
|
+
[chainSlug in ChainSlug]?: StaticJsonRpcProvider;
|
|
7
|
+
};
|
|
8
|
+
export declare let addresses: DeploymentAddresses;
|
|
9
|
+
export declare let ChainSlugToId: Record<number, number>;
|
|
10
|
+
export declare const initS3Config: () => Promise<void>;
|
|
11
|
+
export declare const getProvider: (chainSlug: ChainSlug) => StaticJsonRpcProvider;
|
|
12
|
+
export declare const refreshS3Config: () => Promise<boolean>;
|
|
13
|
+
export declare const setS3Version: (version: string) => Promise<void>;
|