@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.
Files changed (183) hide show
  1. package/dist/dl-common/constants/confirmations.d.ts +5 -0
  2. package/dist/dl-common/constants/confirmations.js +17 -0
  3. package/dist/dl-common/constants/enums.d.ts +44 -0
  4. package/dist/dl-common/constants/enums.js +52 -0
  5. package/dist/dl-common/constants/index.d.ts +3 -0
  6. package/dist/dl-common/constants/index.js +19 -0
  7. package/dist/dl-common/constants/types.d.ts +126 -0
  8. package/dist/dl-common/constants/types.js +45 -0
  9. package/dist/dl-common/constants/waitTime.d.ts +8 -0
  10. package/dist/dl-common/constants/waitTime.js +49 -0
  11. package/dist/dl-common/index.d.ts +4 -0
  12. package/dist/dl-common/index.js +20 -0
  13. package/dist/dl-common/models/attestSignature.d.ts +35 -0
  14. package/dist/dl-common/models/attestSignature.js +53 -0
  15. package/dist/dl-common/models/attestation.d.ts +70 -0
  16. package/dist/dl-common/models/attestation.js +86 -0
  17. package/dist/dl-common/models/index.d.ts +7 -0
  18. package/dist/dl-common/models/index.js +23 -0
  19. package/dist/dl-common/models/lastBlock.d.ts +28 -0
  20. package/dist/dl-common/models/lastBlock.js +27 -0
  21. package/dist/dl-common/models/message.d.ts +166 -0
  22. package/dist/dl-common/models/message.js +183 -0
  23. package/dist/dl-common/models/packet.d.ts +241 -0
  24. package/dist/dl-common/models/packet.js +250 -0
  25. package/dist/dl-common/models/proposal.d.ts +127 -0
  26. package/dist/dl-common/models/proposal.js +141 -0
  27. package/dist/dl-common/models/switchboard.d.ts +69 -0
  28. package/dist/dl-common/models/switchboard.js +92 -0
  29. package/dist/dl-common/models/transaction.d.ts +0 -0
  30. package/dist/dl-common/models/transaction.js +280 -0
  31. package/dist/dl-common/services/cacheService.d.ts +14 -0
  32. package/dist/dl-common/services/cacheService.js +77 -0
  33. package/dist/dl-common/services/eventBridgeService.d.ts +8 -0
  34. package/dist/dl-common/services/eventBridgeService.js +40 -0
  35. package/dist/dl-common/services/index.d.ts +3 -0
  36. package/dist/dl-common/services/index.js +20 -0
  37. package/dist/dl-common/services/queueService.d.ts +10 -0
  38. package/dist/dl-common/services/queueService.js +62 -0
  39. package/dist/dl-common/utils/address.d.ts +2 -0
  40. package/dist/dl-common/utils/address.js +8 -0
  41. package/dist/dl-common/utils/axios.d.ts +2 -0
  42. package/dist/dl-common/utils/axios.js +54 -0
  43. package/dist/dl-common/utils/dataStructHelper.d.ts +2 -0
  44. package/dist/dl-common/utils/dataStructHelper.js +10 -0
  45. package/dist/dl-common/utils/discord.d.ts +2 -0
  46. package/dist/dl-common/utils/discord.js +35 -0
  47. package/dist/dl-common/utils/ethersAwsKmsSigner.d.ts +2 -0
  48. package/dist/dl-common/utils/ethersAwsKmsSigner.js +26 -0
  49. package/dist/dl-common/utils/eventGetter.d.ts +4 -0
  50. package/dist/dl-common/utils/eventGetter.js +50 -0
  51. package/dist/dl-common/utils/extraUtils.d.ts +32 -0
  52. package/dist/dl-common/utils/extraUtils.js +103 -0
  53. package/dist/dl-common/utils/idUtils.d.ts +14 -0
  54. package/dist/dl-common/utils/idUtils.js +50 -0
  55. package/dist/dl-common/utils/index.d.ts +13 -0
  56. package/dist/dl-common/utils/index.js +29 -0
  57. package/dist/dl-common/utils/relaySigner.d.ts +21 -0
  58. package/dist/dl-common/utils/relaySigner.js +68 -0
  59. package/dist/dl-common/utils/s3Service.d.ts +5 -0
  60. package/dist/dl-common/utils/s3Service.js +45 -0
  61. package/dist/dl-common/utils/secretManagerService.d.ts +2 -0
  62. package/dist/dl-common/utils/secretManagerService.js +33 -0
  63. package/dist/dl-common/utils/signer/adapter.d.ts +18 -0
  64. package/dist/dl-common/utils/signer/adapter.js +71 -0
  65. package/dist/dl-common/utils/signer/address.d.ts +10 -0
  66. package/dist/dl-common/utils/signer/address.js +42 -0
  67. package/dist/dl-common/utils/signer/asn1-parser.d.ts +11 -0
  68. package/dist/dl-common/utils/signer/asn1-parser.js +80 -0
  69. package/dist/dl-common/utils/signer/crypto.d.ts +6 -0
  70. package/dist/dl-common/utils/signer/crypto.js +34 -0
  71. package/dist/dl-common/utils/signer/index.d.ts +4 -0
  72. package/dist/dl-common/utils/signer/index.js +20 -0
  73. package/dist/dl-common/utils/signer/kms-ethers-signer.d.ts +19 -0
  74. package/dist/dl-common/utils/signer/kms-ethers-signer.js +32 -0
  75. package/dist/dl-common/utils/signer/kms-signer.d.ts +14 -0
  76. package/dist/dl-common/utils/signer/kms-signer.js +46 -0
  77. package/dist/dl-common/utils/signer/signature.d.ts +17 -0
  78. package/dist/dl-common/utils/signer/signature.js +65 -0
  79. package/dist/dl-common/utils/signer/signer.d.ts +7 -0
  80. package/dist/dl-common/utils/signer/signer.js +2 -0
  81. package/dist/dl-common/utils/time.d.ts +2 -0
  82. package/dist/dl-common/utils/time.js +7 -0
  83. package/dist/index.js +30 -14
  84. package/dist/src/constants/batcherModes.d.ts +7 -0
  85. package/dist/src/constants/batcherModes.js +56 -0
  86. package/dist/src/constants/config.d.ts +39 -0
  87. package/dist/src/constants/config.js +77 -0
  88. package/dist/src/constants/enums.d.ts +21 -0
  89. package/dist/src/constants/enums.js +27 -0
  90. package/dist/src/constants/gasEstimation.d.ts +8 -0
  91. package/dist/src/constants/gasEstimation.js +61 -0
  92. package/dist/src/constants/index.d.ts +11 -0
  93. package/dist/src/constants/index.js +28 -0
  94. package/dist/src/constants/limits.d.ts +21 -0
  95. package/dist/src/constants/limits.js +91 -0
  96. package/dist/src/constants/prometheus.config.d.ts +43 -0
  97. package/dist/src/constants/prometheus.config.js +316 -0
  98. package/dist/src/constants/relayer.d.ts +6 -0
  99. package/dist/src/constants/relayer.js +15 -0
  100. package/dist/src/constants/s3Config.d.ts +13 -0
  101. package/dist/src/constants/s3Config.js +61 -0
  102. package/dist/src/constants/stageConfig.d.ts +7 -0
  103. package/dist/src/constants/stageConfig.js +24 -0
  104. package/dist/src/constants/types.d.ts +45 -0
  105. package/dist/src/constants/types.js +2 -0
  106. package/dist/src/constants/watchers.d.ts +15 -0
  107. package/dist/src/constants/watchers.js +137 -0
  108. package/dist/src/controllers/index.d.ts +0 -0
  109. package/dist/src/controllers/index.js +3 -0
  110. package/dist/src/db/associations.d.ts +1 -0
  111. package/dist/src/db/associations.js +46 -0
  112. package/dist/src/db/connection.d.ts +4 -0
  113. package/dist/src/db/connection.js +73 -0
  114. package/dist/src/db/index.d.ts +2 -0
  115. package/dist/src/db/index.js +18 -0
  116. package/dist/src/db/init.d.ts +2 -0
  117. package/dist/src/db/init.js +27 -0
  118. package/dist/src/handlers/common.d.ts +2 -0
  119. package/dist/src/handlers/common.js +59 -0
  120. package/dist/src/handlers/cronHandler.d.ts +10 -0
  121. package/dist/src/handlers/cronHandler.js +268 -0
  122. package/dist/src/handlers/executeHandler.d.ts +3 -0
  123. package/dist/src/handlers/executeHandler.js +66 -0
  124. package/dist/src/handlers/handler.d.ts +2 -0
  125. package/dist/src/handlers/handler.js +29 -0
  126. package/dist/src/handlers/proposeHandler.d.ts +3 -0
  127. package/dist/src/handlers/proposeHandler.js +69 -0
  128. package/dist/src/handlers/routes.d.ts +2 -0
  129. package/dist/src/handlers/routes.js +26 -0
  130. package/dist/src/handlers/sealHandler.d.ts +4 -0
  131. package/dist/src/handlers/sealHandler.js +245 -0
  132. package/dist/src/handlers/statusHandler.d.ts +5 -0
  133. package/dist/src/handlers/statusHandler.js +116 -0
  134. package/dist/src/handlers/taskHandler.d.ts +2 -0
  135. package/dist/src/handlers/taskHandler.js +110 -0
  136. package/dist/src/handlers/testHandler.d.ts +4 -0
  137. package/dist/src/handlers/testHandler.js +99 -0
  138. package/dist/src/main.d.ts +0 -0
  139. package/dist/src/main.js +12 -0
  140. package/dist/src/relayers/common.d.ts +7 -0
  141. package/dist/src/relayers/common.js +55 -0
  142. package/dist/src/relayers/index.d.ts +2 -0
  143. package/dist/src/relayers/index.js +19 -0
  144. package/dist/src/relayers/proposeRelayer.d.ts +7 -0
  145. package/dist/src/relayers/proposeRelayer.js +587 -0
  146. package/dist/src/relayers/sealRelayer.d.ts +8 -0
  147. package/dist/src/relayers/sealRelayer.js +276 -0
  148. package/dist/src/services/attestService.d.ts +45 -0
  149. package/dist/src/services/attestService.js +269 -0
  150. package/dist/src/services/batcherService.d.ts +9 -0
  151. package/dist/src/services/batcherService.js +197 -0
  152. package/dist/src/services/executeService.d.ts +16 -0
  153. package/dist/src/services/executeService.js +209 -0
  154. package/dist/src/services/gasEstimationService.d.ts +3 -0
  155. package/dist/src/services/gasEstimationService.js +12 -0
  156. package/dist/src/services/index.d.ts +4 -0
  157. package/dist/src/services/index.js +23 -0
  158. package/dist/src/services/indexSealService.d.ts +15 -0
  159. package/dist/src/services/indexSealService.js +120 -0
  160. package/dist/src/services/proposalCheckService.d.ts +9 -0
  161. package/dist/src/services/proposalCheckService.js +119 -0
  162. package/dist/src/services/sealService.d.ts +27 -0
  163. package/dist/src/services/sealService.js +190 -0
  164. package/dist/src/statusTrackers/failedMessage.d.ts +8 -0
  165. package/dist/src/statusTrackers/failedMessage.js +72 -0
  166. package/dist/src/statusTrackers/failedPacket.d.ts +13 -0
  167. package/dist/src/statusTrackers/failedPacket.js +110 -0
  168. package/dist/src/statusTrackers/index.d.ts +3 -0
  169. package/dist/src/statusTrackers/index.js +26 -0
  170. package/dist/src/statusTrackers/message.d.ts +4 -0
  171. package/dist/src/statusTrackers/message.js +257 -0
  172. package/dist/src/statusTrackers/packet.d.ts +33 -0
  173. package/dist/src/statusTrackers/packet.js +477 -0
  174. package/dist/src/utils/chain-utils.d.ts +5 -0
  175. package/dist/src/utils/chain-utils.js +42 -0
  176. package/dist/src/utils/index.d.ts +2 -0
  177. package/dist/src/utils/index.js +18 -0
  178. package/dist/src/utils/logger.d.ts +9 -0
  179. package/dist/src/utils/logger.js +9 -0
  180. package/dist/utils/s3Service.js +1 -1
  181. package/dist/utils/signer/socketSigner.d.ts +32 -0
  182. package/dist/utils/signer/socketSigner.js +121 -0
  183. 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,6 @@
1
+ export declare const relayUrl: () => string;
2
+ export declare const txStatusUrl: () => string;
3
+ export declare const multipleTxStatusUrl: () => string;
4
+ export declare const relayerBalance: {
5
+ 420: import("ethers").BigNumber;
6
+ };
@@ -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>;