@socket.tech/dl-common 1.0.3-test.9 → 1.0.4

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 (240) hide show
  1. package/dist/constants/confirmations.d.ts +5 -0
  2. package/dist/constants/confirmations.js +17 -0
  3. package/dist/constants/enums.d.ts +9 -2
  4. package/dist/constants/enums.js +9 -1
  5. package/dist/constants/types.d.ts +14 -5
  6. package/dist/constants/types.js +9 -1
  7. package/dist/constants/waitTime.d.ts +1 -0
  8. package/dist/constants/waitTime.js +7 -13
  9. package/dist/dl-common/constants/confirmations.d.ts +5 -0
  10. package/dist/dl-common/constants/confirmations.js +17 -0
  11. package/dist/dl-common/constants/enums.d.ts +44 -0
  12. package/dist/{types/codes.js → dl-common/constants/enums.js} +25 -1
  13. package/dist/dl-common/constants/index.d.ts +3 -0
  14. package/dist/{types → dl-common/constants}/index.js +2 -1
  15. package/dist/{types → dl-common/constants}/types.d.ts +49 -9
  16. package/dist/{types → dl-common/constants}/types.js +17 -13
  17. package/dist/dl-common/constants/waitTime.d.ts +8 -0
  18. package/dist/dl-common/constants/waitTime.js +49 -0
  19. package/dist/dl-common/index.d.ts +4 -0
  20. package/dist/dl-common/index.js +20 -0
  21. package/dist/dl-common/models/attestSignature.d.ts +35 -0
  22. package/dist/dl-common/models/attestSignature.js +53 -0
  23. package/dist/{models/attestations.d.ts → dl-common/models/attestation.d.ts} +3 -2
  24. package/dist/{models/attestations.js → dl-common/models/attestation.js} +30 -3
  25. package/dist/dl-common/models/index.d.ts +7 -0
  26. package/dist/dl-common/models/index.js +23 -0
  27. package/dist/dl-common/models/lastBlock.d.ts +28 -0
  28. package/dist/dl-common/models/lastBlock.js +27 -0
  29. package/dist/dl-common/models/message.d.ts +166 -0
  30. package/dist/dl-common/models/message.js +183 -0
  31. package/dist/dl-common/models/packet.d.ts +241 -0
  32. package/dist/dl-common/models/packet.js +250 -0
  33. package/dist/dl-common/models/proposal.d.ts +127 -0
  34. package/dist/dl-common/models/proposal.js +141 -0
  35. package/dist/dl-common/models/switchboard.d.ts +69 -0
  36. package/dist/dl-common/models/switchboard.js +92 -0
  37. package/dist/dl-common/models/transaction.d.ts +0 -0
  38. package/dist/dl-common/models/transaction.js +280 -0
  39. package/dist/dl-common/services/cacheService.d.ts +14 -0
  40. package/dist/dl-common/services/cacheService.js +77 -0
  41. package/dist/dl-common/services/eventBridgeService.d.ts +8 -0
  42. package/dist/dl-common/services/eventBridgeService.js +40 -0
  43. package/dist/dl-common/services/index.d.ts +3 -0
  44. package/dist/dl-common/services/index.js +20 -0
  45. package/dist/dl-common/services/queueService.d.ts +10 -0
  46. package/dist/dl-common/services/queueService.js +62 -0
  47. package/dist/dl-common/utils/address.d.ts +2 -0
  48. package/dist/dl-common/utils/address.js +8 -0
  49. package/dist/dl-common/utils/axios.d.ts +2 -0
  50. package/dist/dl-common/utils/axios.js +54 -0
  51. package/dist/dl-common/utils/dataStructHelper.d.ts +2 -0
  52. package/dist/dl-common/utils/dataStructHelper.js +10 -0
  53. package/dist/dl-common/utils/discord.d.ts +2 -0
  54. package/dist/dl-common/utils/discord.js +35 -0
  55. package/dist/dl-common/utils/ethersAwsKmsSigner.d.ts +2 -0
  56. package/dist/dl-common/utils/ethersAwsKmsSigner.js +26 -0
  57. package/dist/dl-common/utils/eventGetter.d.ts +4 -0
  58. package/dist/dl-common/utils/eventGetter.js +50 -0
  59. package/dist/dl-common/utils/extraUtils.d.ts +32 -0
  60. package/dist/dl-common/utils/extraUtils.js +103 -0
  61. package/dist/dl-common/utils/idUtils.d.ts +14 -0
  62. package/dist/dl-common/utils/idUtils.js +50 -0
  63. package/dist/dl-common/utils/index.d.ts +13 -0
  64. package/dist/dl-common/utils/index.js +29 -0
  65. package/dist/dl-common/utils/relaySigner.d.ts +21 -0
  66. package/dist/dl-common/utils/relaySigner.js +68 -0
  67. package/dist/dl-common/utils/s3Service.d.ts +5 -0
  68. package/dist/dl-common/utils/s3Service.js +45 -0
  69. package/dist/dl-common/utils/secretManagerService.d.ts +2 -0
  70. package/dist/dl-common/utils/secretManagerService.js +33 -0
  71. package/dist/dl-common/utils/signer/adapter.d.ts +18 -0
  72. package/dist/dl-common/utils/signer/adapter.js +71 -0
  73. package/dist/dl-common/utils/signer/address.d.ts +10 -0
  74. package/dist/dl-common/utils/signer/address.js +42 -0
  75. package/dist/dl-common/utils/signer/asn1-parser.d.ts +11 -0
  76. package/dist/dl-common/utils/signer/asn1-parser.js +80 -0
  77. package/dist/dl-common/utils/signer/crypto.d.ts +6 -0
  78. package/dist/dl-common/utils/signer/crypto.js +34 -0
  79. package/dist/dl-common/utils/signer/index.d.ts +4 -0
  80. package/dist/dl-common/utils/signer/index.js +20 -0
  81. package/dist/dl-common/utils/signer/kms-ethers-signer.d.ts +19 -0
  82. package/dist/dl-common/utils/signer/kms-ethers-signer.js +32 -0
  83. package/dist/dl-common/utils/signer/kms-signer.d.ts +14 -0
  84. package/dist/dl-common/utils/signer/kms-signer.js +46 -0
  85. package/dist/dl-common/utils/signer/signature.d.ts +17 -0
  86. package/dist/dl-common/utils/signer/signature.js +65 -0
  87. package/dist/dl-common/utils/signer/signer.d.ts +7 -0
  88. package/dist/dl-common/utils/signer/signer.js +2 -0
  89. package/dist/dl-common/utils/time.d.ts +2 -0
  90. package/dist/dl-common/utils/time.js +7 -0
  91. package/dist/index.js +30 -14
  92. package/dist/models/attestation.d.ts +2 -2
  93. package/dist/models/attestation.js +2 -2
  94. package/dist/models/index.d.ts +1 -0
  95. package/dist/models/index.js +1 -0
  96. package/dist/models/lastBlock.d.ts +28 -0
  97. package/dist/models/lastBlock.js +27 -0
  98. package/dist/models/message.d.ts +2 -2
  99. package/dist/models/message.js +2 -2
  100. package/dist/models/packet.d.ts +10 -2
  101. package/dist/models/packet.js +11 -2
  102. package/dist/models/proposal.d.ts +2 -2
  103. package/dist/models/proposal.js +2 -2
  104. package/dist/models/switchboard.d.ts +10 -2
  105. package/dist/models/switchboard.js +22 -5
  106. package/dist/models/transaction.d.ts +0 -0
  107. package/dist/models/transaction.js +280 -0
  108. package/dist/services/eventBridgeService.d.ts +8 -0
  109. package/dist/services/eventBridgeService.js +40 -0
  110. package/dist/services/index.d.ts +1 -0
  111. package/dist/services/index.js +1 -0
  112. package/dist/services/queueService.d.ts +2 -2
  113. package/dist/services/queueService.js +22 -14
  114. package/dist/src/constants/batcherModes.d.ts +7 -0
  115. package/dist/src/constants/batcherModes.js +56 -0
  116. package/dist/src/constants/config.d.ts +39 -0
  117. package/dist/src/constants/config.js +77 -0
  118. package/dist/src/constants/enums.d.ts +21 -0
  119. package/dist/src/constants/enums.js +27 -0
  120. package/dist/src/constants/gasEstimation.d.ts +8 -0
  121. package/dist/src/constants/gasEstimation.js +61 -0
  122. package/dist/src/constants/index.d.ts +11 -0
  123. package/dist/src/constants/index.js +28 -0
  124. package/dist/src/constants/limits.d.ts +21 -0
  125. package/dist/src/constants/limits.js +91 -0
  126. package/dist/src/constants/prometheus.config.d.ts +43 -0
  127. package/dist/src/constants/prometheus.config.js +316 -0
  128. package/dist/src/constants/relayer.d.ts +6 -0
  129. package/dist/src/constants/relayer.js +15 -0
  130. package/dist/src/constants/s3Config.d.ts +13 -0
  131. package/dist/src/constants/s3Config.js +61 -0
  132. package/dist/src/constants/stageConfig.d.ts +7 -0
  133. package/dist/src/constants/stageConfig.js +24 -0
  134. package/dist/src/constants/types.d.ts +45 -0
  135. package/dist/src/constants/types.js +2 -0
  136. package/dist/src/constants/watchers.d.ts +15 -0
  137. package/dist/src/constants/watchers.js +137 -0
  138. package/dist/src/controllers/index.d.ts +0 -0
  139. package/dist/src/controllers/index.js +3 -0
  140. package/dist/src/db/associations.d.ts +1 -0
  141. package/dist/src/db/associations.js +46 -0
  142. package/dist/src/db/connection.d.ts +4 -0
  143. package/dist/src/db/connection.js +73 -0
  144. package/dist/src/db/index.d.ts +2 -0
  145. package/dist/src/db/index.js +18 -0
  146. package/dist/src/db/init.d.ts +2 -0
  147. package/dist/src/db/init.js +27 -0
  148. package/dist/src/handlers/common.d.ts +2 -0
  149. package/dist/src/handlers/common.js +59 -0
  150. package/dist/src/handlers/cronHandler.d.ts +10 -0
  151. package/dist/src/handlers/cronHandler.js +268 -0
  152. package/dist/src/handlers/executeHandler.d.ts +3 -0
  153. package/dist/src/handlers/executeHandler.js +66 -0
  154. package/dist/src/handlers/handler.d.ts +2 -0
  155. package/dist/src/handlers/handler.js +29 -0
  156. package/dist/src/handlers/proposeHandler.d.ts +3 -0
  157. package/dist/src/handlers/proposeHandler.js +69 -0
  158. package/dist/src/handlers/routes.d.ts +2 -0
  159. package/dist/src/handlers/routes.js +26 -0
  160. package/dist/src/handlers/sealHandler.d.ts +4 -0
  161. package/dist/src/handlers/sealHandler.js +245 -0
  162. package/dist/src/handlers/statusHandler.d.ts +5 -0
  163. package/dist/src/handlers/statusHandler.js +116 -0
  164. package/dist/src/handlers/taskHandler.d.ts +2 -0
  165. package/dist/src/handlers/taskHandler.js +110 -0
  166. package/dist/src/handlers/testHandler.d.ts +4 -0
  167. package/dist/src/handlers/testHandler.js +99 -0
  168. package/dist/src/main.d.ts +0 -0
  169. package/dist/src/main.js +12 -0
  170. package/dist/src/relayers/common.d.ts +7 -0
  171. package/dist/src/relayers/common.js +55 -0
  172. package/dist/src/relayers/index.d.ts +2 -0
  173. package/dist/src/relayers/index.js +19 -0
  174. package/dist/src/relayers/proposeRelayer.d.ts +7 -0
  175. package/dist/src/relayers/proposeRelayer.js +587 -0
  176. package/dist/src/relayers/sealRelayer.d.ts +8 -0
  177. package/dist/src/relayers/sealRelayer.js +276 -0
  178. package/dist/src/services/attestService.d.ts +45 -0
  179. package/dist/src/services/attestService.js +269 -0
  180. package/dist/src/services/batcherService.d.ts +9 -0
  181. package/dist/src/services/batcherService.js +197 -0
  182. package/dist/src/services/executeService.d.ts +16 -0
  183. package/dist/src/services/executeService.js +209 -0
  184. package/dist/src/services/gasEstimationService.d.ts +3 -0
  185. package/dist/src/services/gasEstimationService.js +12 -0
  186. package/dist/src/services/index.d.ts +4 -0
  187. package/dist/src/services/index.js +23 -0
  188. package/dist/src/services/indexSealService.d.ts +15 -0
  189. package/dist/src/services/indexSealService.js +120 -0
  190. package/dist/src/services/proposalCheckService.d.ts +9 -0
  191. package/dist/src/services/proposalCheckService.js +119 -0
  192. package/dist/src/services/sealService.d.ts +27 -0
  193. package/dist/src/services/sealService.js +190 -0
  194. package/dist/src/statusTrackers/failedMessage.d.ts +8 -0
  195. package/dist/src/statusTrackers/failedMessage.js +72 -0
  196. package/dist/src/statusTrackers/failedPacket.d.ts +13 -0
  197. package/dist/src/statusTrackers/failedPacket.js +110 -0
  198. package/dist/src/statusTrackers/index.d.ts +3 -0
  199. package/dist/src/statusTrackers/index.js +26 -0
  200. package/dist/src/statusTrackers/message.d.ts +4 -0
  201. package/dist/src/statusTrackers/message.js +257 -0
  202. package/dist/src/statusTrackers/packet.d.ts +33 -0
  203. package/dist/src/statusTrackers/packet.js +477 -0
  204. package/dist/src/utils/chain-utils.d.ts +5 -0
  205. package/dist/src/utils/chain-utils.js +42 -0
  206. package/dist/src/utils/index.d.ts +2 -0
  207. package/dist/src/utils/index.js +18 -0
  208. package/dist/src/utils/logger.d.ts +9 -0
  209. package/dist/src/utils/logger.js +9 -0
  210. package/dist/utils/ethersAwsKmsSigner.d.ts +2 -2
  211. package/dist/utils/ethersAwsKmsSigner.js +6 -3
  212. package/dist/utils/index.d.ts +2 -0
  213. package/dist/utils/index.js +2 -0
  214. package/dist/utils/relaySigner.d.ts +2 -4
  215. package/dist/utils/relaySigner.js +7 -10
  216. package/dist/utils/s3Service.d.ts +5 -0
  217. package/dist/utils/s3Service.js +45 -0
  218. package/dist/utils/signer/adapter.d.ts +18 -0
  219. package/dist/utils/signer/adapter.js +71 -0
  220. package/dist/utils/signer/address.d.ts +10 -0
  221. package/dist/utils/signer/address.js +42 -0
  222. package/dist/utils/signer/asn1-parser.d.ts +11 -0
  223. package/dist/utils/signer/asn1-parser.js +80 -0
  224. package/dist/utils/signer/crypto.d.ts +6 -0
  225. package/dist/utils/signer/crypto.js +34 -0
  226. package/dist/utils/signer/index.d.ts +4 -0
  227. package/dist/utils/signer/index.js +20 -0
  228. package/dist/utils/signer/kms-ethers-signer.d.ts +19 -0
  229. package/dist/utils/signer/kms-ethers-signer.js +32 -0
  230. package/dist/utils/signer/kms-signer.d.ts +14 -0
  231. package/dist/utils/signer/kms-signer.js +46 -0
  232. package/dist/utils/signer/signature.d.ts +17 -0
  233. package/dist/utils/signer/signature.js +65 -0
  234. package/dist/utils/signer/signer.d.ts +7 -0
  235. package/dist/utils/signer/signer.js +2 -0
  236. package/dist/utils/time.d.ts +1 -0
  237. package/dist/utils/time.js +3 -1
  238. package/package.json +51 -16
  239. package/dist/types/codes.d.ts +0 -22
  240. package/dist/types/index.d.ts +0 -2
@@ -0,0 +1,268 @@
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.setCronSpeedHandler = exports.cronHandler = exports.setCronSpeed = exports.getCronSpeed = void 0;
27
+ const utils_1 = require("../utils");
28
+ const common_1 = require("./common");
29
+ const executeService_1 = require("../services/executeService");
30
+ const cacheService = __importStar(require("../../dl-common/services/cacheService"));
31
+ const relayers_1 = require("../relayers");
32
+ const statusTrackers_1 = require("../statusTrackers");
33
+ const constants_1 = require("../constants");
34
+ const dl_common_1 = require("../../dl-common");
35
+ const ll_common_1 = require("@socket.tech/ll-common");
36
+ const isTimeToExecute = async (taskName, cronPeriod) => {
37
+ try {
38
+ const redisKey = "cron_" + taskName;
39
+ const flag = await cacheService.getKey(redisKey);
40
+ if (flag)
41
+ return false;
42
+ await cacheService.setKey(redisKey, "true", cronPeriod);
43
+ return true;
44
+ }
45
+ catch (error) {
46
+ console.log(error);
47
+ return false;
48
+ }
49
+ };
50
+ const executeTaskAtIntervals = async (taskName, data, delays) => {
51
+ const queueDataArray = new Array(delays.length).fill({
52
+ type: taskName,
53
+ data,
54
+ });
55
+ (0, utils_1.logInfo)({
56
+ info: "QUEUEING_TASKS",
57
+ timestamp: Date.now(),
58
+ queueDataArray,
59
+ delays,
60
+ messageIds: [],
61
+ packetIds: [],
62
+ });
63
+ await (0, dl_common_1.sendStandardBatchMessages)(constants_1.SQS_BASE_URL + constants_1.QueueName.BATCHER_TASK_QUEUE, queueDataArray, delays);
64
+ (0, utils_1.logInfo)({
65
+ info: "QUEUED_TASKS",
66
+ timestamp: Date.now(),
67
+ queueDataArray,
68
+ delays,
69
+ messageIds: [],
70
+ packetIds: [],
71
+ });
72
+ };
73
+ var CRON_SPEED;
74
+ (function (CRON_SPEED) {
75
+ CRON_SPEED["SLOW"] = "SLOW";
76
+ // MEDIUM = "MEDIUM",
77
+ CRON_SPEED["FAST"] = "FAST";
78
+ // VERY_FAST = "VERY_FAST",
79
+ })(CRON_SPEED || (CRON_SPEED = {}));
80
+ var CRON_FUNCTIONS;
81
+ (function (CRON_FUNCTIONS) {
82
+ CRON_FUNCTIONS["sendRetrySimulationRequest"] = "sendRetrySimulationRequest";
83
+ CRON_FUNCTIONS["sendPendingSimulationRequest"] = "sendPendingSimulationRequest";
84
+ CRON_FUNCTIONS["checkAndPropose"] = "checkAndPropose";
85
+ CRON_FUNCTIONS["checkAndSeal"] = "checkAndSeal";
86
+ CRON_FUNCTIONS["statusUpdate"] = "statusUpdate";
87
+ CRON_FUNCTIONS["checkAndUpdateFullyExecutedStatus"] = "checkAndUpdateFullyExecutedStatus";
88
+ })(CRON_FUNCTIONS || (CRON_FUNCTIONS = {}));
89
+ const CRON_DURATION = {
90
+ [CRON_SPEED.SLOW]: {
91
+ [CRON_FUNCTIONS.sendRetrySimulationRequest]: 10 * 60,
92
+ [CRON_FUNCTIONS.sendPendingSimulationRequest]: 5 * 60,
93
+ [CRON_FUNCTIONS.checkAndPropose]: 5 * 60,
94
+ [CRON_FUNCTIONS.checkAndSeal]: 5 * 60,
95
+ [CRON_FUNCTIONS.statusUpdate]: 5 * 60,
96
+ [CRON_FUNCTIONS.checkAndUpdateFullyExecutedStatus]: 10 * 60,
97
+ },
98
+ [CRON_SPEED.FAST]: {
99
+ [CRON_FUNCTIONS.sendRetrySimulationRequest]: 30,
100
+ [CRON_FUNCTIONS.sendPendingSimulationRequest]: 30,
101
+ [CRON_FUNCTIONS.checkAndPropose]: 30,
102
+ [CRON_FUNCTIONS.checkAndSeal]: 30,
103
+ [CRON_FUNCTIONS.statusUpdate]: 30,
104
+ [CRON_FUNCTIONS.checkAndUpdateFullyExecutedStatus]: 30,
105
+ },
106
+ };
107
+ const STATUS_UPDATE_INTERVALS = {
108
+ [CRON_SPEED.SLOW]: [0],
109
+ // [CRON_SPEED.MEDIUM]:[30],
110
+ // [CRON_SPEED.FAST]: [0],
111
+ [CRON_SPEED.FAST]: [0, 30],
112
+ };
113
+ const redisKey = "cronSpeed";
114
+ const defaultSpeed = CRON_SPEED.FAST;
115
+ const getCronSpeed = async () => {
116
+ let cronSpeed = await cacheService.getKey(redisKey);
117
+ if (!cronSpeed) {
118
+ await cacheService.setKey(redisKey, defaultSpeed);
119
+ cronSpeed = defaultSpeed;
120
+ }
121
+ return cronSpeed;
122
+ };
123
+ exports.getCronSpeed = getCronSpeed;
124
+ const setCronSpeed = async (cronSpeed) => {
125
+ if (!Object.values(CRON_SPEED).includes(cronSpeed))
126
+ throw (0, dl_common_1.BadRequestError)("Invalid cron speed");
127
+ await cacheService.setKey(redisKey, cronSpeed);
128
+ };
129
+ exports.setCronSpeed = setCronSpeed;
130
+ const cronHandler = async (event, context) => {
131
+ context.callbackWaitsForEmptyEventLoop = false;
132
+ try {
133
+ (0, utils_1.logInfo)({
134
+ info: "CRON_HANDLER_STARTED",
135
+ timestamp: Date.now(),
136
+ messageIds: [],
137
+ packetIds: [],
138
+ });
139
+ await (0, common_1.initServices)();
140
+ const cronSpeed = await (0, exports.getCronSpeed)();
141
+ const cronDuration = CRON_DURATION[cronSpeed];
142
+ // this helps to execute several tasks at different intervals without
143
+ // having to create a new handler every time.
144
+ if (await isTimeToExecute(CRON_FUNCTIONS.sendRetrySimulationRequest, cronDuration[CRON_FUNCTIONS.sendRetrySimulationRequest])) {
145
+ (0, utils_1.logInfo)({
146
+ info: `CRON_STARTED_${CRON_FUNCTIONS.sendRetrySimulationRequest}`,
147
+ timestamp: Date.now(),
148
+ messageIds: [],
149
+ packetIds: [],
150
+ });
151
+ await (0, executeService_1.sendRetrySimulationRequest)();
152
+ (0, utils_1.logInfo)({
153
+ info: `CRON_ENDED_${CRON_FUNCTIONS.sendRetrySimulationRequest}`,
154
+ timestamp: Date.now(),
155
+ messageIds: [],
156
+ packetIds: [],
157
+ });
158
+ }
159
+ if (await isTimeToExecute(CRON_FUNCTIONS.sendPendingSimulationRequest, cronDuration.sendPendingSimulationRequest)) {
160
+ (0, utils_1.logInfo)({
161
+ info: `CRON_STARTED_${CRON_FUNCTIONS.sendPendingSimulationRequest}`,
162
+ timestamp: Date.now(),
163
+ messageIds: [],
164
+ packetIds: [],
165
+ });
166
+ await (0, executeService_1.sendPendingSimulationRequest)();
167
+ (0, utils_1.logInfo)({
168
+ info: `CRON_ENDED_${CRON_FUNCTIONS.sendPendingSimulationRequest}`,
169
+ timestamp: Date.now(),
170
+ messageIds: [],
171
+ packetIds: [],
172
+ });
173
+ }
174
+ if (await isTimeToExecute(CRON_FUNCTIONS.checkAndPropose, cronDuration.checkAndPropose)) {
175
+ (0, utils_1.logInfo)({
176
+ info: `CRON_STARTED_${CRON_FUNCTIONS.checkAndPropose}`,
177
+ timestamp: Date.now(),
178
+ messageIds: [],
179
+ packetIds: [],
180
+ });
181
+ await (0, relayers_1.checkAndPropose)();
182
+ (0, utils_1.logInfo)({
183
+ info: `CRON_ENDED_${CRON_FUNCTIONS.checkAndPropose}`,
184
+ timestamp: Date.now(),
185
+ messageIds: [],
186
+ packetIds: [],
187
+ });
188
+ }
189
+ if (await isTimeToExecute(CRON_FUNCTIONS.checkAndSeal, cronDuration.checkAndSeal)) {
190
+ (0, utils_1.logInfo)({
191
+ info: `CRON_STARTED_${CRON_FUNCTIONS.checkAndSeal}`,
192
+ timestamp: Date.now(),
193
+ messageIds: [],
194
+ packetIds: [],
195
+ });
196
+ await (0, relayers_1.checkAndSeal)();
197
+ (0, utils_1.logInfo)({
198
+ info: `CRON_ENDED_${CRON_FUNCTIONS.checkAndSeal}`,
199
+ timestamp: Date.now(),
200
+ messageIds: [],
201
+ packetIds: [],
202
+ });
203
+ }
204
+ if (await isTimeToExecute(CRON_FUNCTIONS.statusUpdate, cronDuration.statusUpdate)) {
205
+ (0, utils_1.logInfo)({
206
+ info: `CRON_STARTED_${CRON_FUNCTIONS.statusUpdate}`,
207
+ timestamp: Date.now(),
208
+ messageIds: [],
209
+ packetIds: [],
210
+ });
211
+ await (0, statusTrackers_1.checkAndUpdateStatus)();
212
+ (0, utils_1.logInfo)({
213
+ info: `CRON_ENDED_${CRON_FUNCTIONS.statusUpdate}`,
214
+ timestamp: Date.now(),
215
+ messageIds: [],
216
+ packetIds: [],
217
+ });
218
+ }
219
+ if (await isTimeToExecute(CRON_FUNCTIONS.checkAndUpdateFullyExecutedStatus, cronDuration.checkAndUpdateFullyExecutedStatus)) {
220
+ (0, utils_1.logInfo)({
221
+ info: `CRON_STARTED_${CRON_FUNCTIONS.checkAndUpdateFullyExecutedStatus}`,
222
+ timestamp: Date.now(),
223
+ messageIds: [],
224
+ packetIds: [],
225
+ });
226
+ await (0, statusTrackers_1.checkAndUpdateFullyExecutedStatus)();
227
+ (0, utils_1.logInfo)({
228
+ info: `CRON_ENDED_${CRON_FUNCTIONS.checkAndUpdateFullyExecutedStatus}`,
229
+ timestamp: Date.now(),
230
+ messageIds: [],
231
+ packetIds: [],
232
+ });
233
+ }
234
+ // const start = Date.now();
235
+ // await pushToGateway();
236
+ // console.log("pushed to gateway in ", Date.now() - start, "ms");
237
+ // await attesterDBInst.close();
238
+ }
239
+ catch (e) {
240
+ utils_1.logger.error("Error", e);
241
+ }
242
+ };
243
+ exports.cronHandler = cronHandler;
244
+ const setCronSpeedHandler = async (event, context) => {
245
+ var _a;
246
+ context.callbackWaitsForEmptyEventLoop = false;
247
+ try {
248
+ if (!event.queryStringParameters) {
249
+ throw (0, dl_common_1.BadRequestError)("No query string params found");
250
+ }
251
+ const speed = (_a = event.queryStringParameters) === null || _a === void 0 ? void 0 : _a.speed;
252
+ await (0, common_1.initServices)();
253
+ (0, utils_1.logInfo)({
254
+ info: "CRON_SPEED_SETTING",
255
+ speed,
256
+ messageIds: [],
257
+ packetIds: [],
258
+ });
259
+ await (0, exports.setCronSpeed)(speed);
260
+ (0, utils_1.logInfo)({ info: "CRON_SPEED_SET", messageIds: [], packetIds: [] });
261
+ return (0, ll_common_1.buildResponse)(200, { status: dl_common_1.StatusCodes.SUCCESS });
262
+ }
263
+ catch (e) {
264
+ utils_1.logger.error("Error", e);
265
+ return (0, common_1.buildErrorResponse)(e);
266
+ }
267
+ };
268
+ exports.setCronSpeedHandler = setCronSpeedHandler;
@@ -0,0 +1,3 @@
1
+ import { type APIGatewayProxyEvent, type APIGatewayProxyResult, type Context } from "aws-lambda";
2
+ export declare const simulationResponseHandler: (event: APIGatewayProxyEvent, context: Context) => Promise<APIGatewayProxyResult>;
3
+ export declare const simulationHandler: (event: APIGatewayProxyEvent, context: Context) => Promise<APIGatewayProxyResult>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.simulationHandler = exports.simulationResponseHandler = void 0;
4
+ const ll_common_1 = require("@socket.tech/ll-common");
5
+ const utils_1 = require("../utils");
6
+ const executeService_1 = require("../services/executeService");
7
+ const common_1 = require("./common");
8
+ const dl_common_1 = require("../../dl-common");
9
+ const simulationResponseHandler = async (event, context) => {
10
+ context.callbackWaitsForEmptyEventLoop = false;
11
+ try {
12
+ if (!event.body) {
13
+ throw (0, dl_common_1.BadRequestError)("No request data found");
14
+ }
15
+ const data = JSON.parse(event.body);
16
+ // console.log({ data });
17
+ if (!(data === null || data === void 0 ? void 0 : data.result)) {
18
+ throw (0, dl_common_1.BadRequestError)("No result field found");
19
+ }
20
+ await (0, common_1.initServices)();
21
+ sanitizeData(data === null || data === void 0 ? void 0 : data.result);
22
+ await (0, executeService_1.saveMessageSimulationResponse)(data === null || data === void 0 ? void 0 : data.result);
23
+ // const start = Date.now();
24
+ // await pushToGateway();
25
+ // console.log("pushed to gateway in ", Date.now() - start, "ms");
26
+ return (0, ll_common_1.buildResponse)(200, { status: dl_common_1.StatusCodes.SUCCESS });
27
+ }
28
+ catch (e) {
29
+ utils_1.logger.error("Error", e);
30
+ return (0, common_1.buildErrorResponse)(e);
31
+ }
32
+ };
33
+ exports.simulationResponseHandler = simulationResponseHandler;
34
+ const simulationHandler = async (event, context) => {
35
+ context.callbackWaitsForEmptyEventLoop = false;
36
+ try {
37
+ await (0, common_1.initServices)();
38
+ await (0, executeService_1.sendPendingSimulationRequest)();
39
+ return (0, ll_common_1.buildResponse)(200, { status: dl_common_1.StatusCodes.SUCCESS });
40
+ }
41
+ catch (e) {
42
+ utils_1.logger.error("Error", e);
43
+ return (0, common_1.buildErrorResponse)(e);
44
+ }
45
+ };
46
+ exports.simulationHandler = simulationHandler;
47
+ const sanitizeData = (dataArray) => {
48
+ dataArray.forEach((data) => {
49
+ const { messageId, retry, inboundSuccess, inboundRevertString, executeSignature, executeMsgGasLimit, } = data;
50
+ (0, dl_common_1.checkMissingFieldsAndType)({
51
+ messageId,
52
+ retry,
53
+ inboundSuccess,
54
+ inboundRevertString,
55
+ executeSignature,
56
+ executeMsgGasLimit,
57
+ }, {
58
+ messageId: "string",
59
+ retry: "boolean",
60
+ inboundSuccess: "boolean",
61
+ inboundRevertString: "string",
62
+ executeSignature: "string",
63
+ executeMsgGasLimit: "string",
64
+ });
65
+ });
66
+ };
@@ -0,0 +1,2 @@
1
+ import { type APIGatewayProxyEvent, type Context } from "aws-lambda";
2
+ export declare const routeHandler: (event: APIGatewayProxyEvent, context: Context) => Promise<any>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.routeHandler = void 0;
4
+ const routes_1 = require("./routes");
5
+ const common_1 = require("./common");
6
+ const index_1 = require("../../dl-common/index");
7
+ const routeHandler = async (event, context) => {
8
+ try {
9
+ // console.log("event",event);
10
+ console.log("event.resource", event.path, "method: ", event.httpMethod);
11
+ if (event.httpMethod == "GET") {
12
+ return await routes_1.getRequestRoutes[event.path](event, context);
13
+ }
14
+ else if (event.httpMethod == "POST") {
15
+ return await routes_1.postRequestRoutes[event.path](event, context);
16
+ }
17
+ // } else if (event.httpMethod == "PUT") {
18
+ // return await putRequestRoutes[event.path](event);
19
+ // } else if (event.httpMethod == "DELETE") {
20
+ // return await deleteRequestRoutes[event.path](event);
21
+ // }
22
+ }
23
+ catch (e) {
24
+ console.log("e", e);
25
+ const error = new index_1.ServerError(index_1.StatusCodes.NOT_FOUND, "resource not found");
26
+ return (0, common_1.buildErrorResponse)(error);
27
+ }
28
+ };
29
+ exports.routeHandler = routeHandler;
@@ -0,0 +1,3 @@
1
+ import { type APIGatewayProxyEvent, type APIGatewayProxyResult, type Context } from "aws-lambda";
2
+ export declare const relayProposeHandler: (event: APIGatewayProxyEvent, context: Context) => Promise<APIGatewayProxyResult>;
3
+ export declare const updateProposalCountHandler: (event: APIGatewayProxyEvent, context: Context) => Promise<APIGatewayProxyResult>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateProposalCountHandler = exports.relayProposeHandler = void 0;
4
+ const ll_common_1 = require("@socket.tech/ll-common");
5
+ const constants_1 = require("../constants");
6
+ const utils_1 = require("../utils");
7
+ const common_1 = require("./common");
8
+ const prometheus_config_1 = require("../constants/prometheus.config");
9
+ const index_1 = require("../../dl-common/index");
10
+ const relayProposeHandler = async (event, context) => {
11
+ context.callbackWaitsForEmptyEventLoop = false;
12
+ try {
13
+ if (!event.body) {
14
+ throw (0, index_1.BadRequestError)("No request data found");
15
+ }
16
+ const { chainSlug } = JSON.parse(event.body);
17
+ await (0, common_1.initServices)();
18
+ await (0, index_1.sendStandardSqsMessage)(constants_1.SQS_BASE_URL + constants_1.QueueName.BATCHER_TASK_QUEUE, {
19
+ type: constants_1.TaskNames.RELAY_PROPOSE,
20
+ data: { counter: Math.floor(Math.random() * 100) },
21
+ });
22
+ (0, utils_1.logInfo)({
23
+ info: "PROPOSED_RELAY_QUEUED",
24
+ timestamp: Date.now(),
25
+ messageIds: [],
26
+ packetIds: [],
27
+ });
28
+ const response = { message: "Relay Propose task added to queue" };
29
+ await (0, prometheus_config_1.pushToGateway)();
30
+ return (0, ll_common_1.buildResponse)(200, { status: index_1.StatusCodes.SUCCESS, response });
31
+ }
32
+ catch (e) {
33
+ utils_1.logger.error("Error", e);
34
+ return (0, common_1.buildErrorResponse)(e);
35
+ }
36
+ };
37
+ exports.relayProposeHandler = relayProposeHandler;
38
+ const updateProposalCountHandler = async (event, context) => {
39
+ context.callbackWaitsForEmptyEventLoop = false;
40
+ try {
41
+ if (!event.body) {
42
+ throw (0, index_1.BadRequestError)("No request data found");
43
+ }
44
+ const { chainSlug } = JSON.parse(event.body);
45
+ await (0, common_1.initServices)();
46
+ await (0, index_1.sendStandardSqsMessage)(constants_1.SQS_BASE_URL + constants_1.QueueName.BATCHER_TASK_QUEUE, {
47
+ type: constants_1.TaskNames.UPDATE_SELECTED_PROPOSAL_COUNT,
48
+ data: {
49
+ chainSlug,
50
+ },
51
+ });
52
+ const response = {
53
+ message: "UPDATE_SELECTED_PROPOSAL_COUNT task added to queue",
54
+ };
55
+ (0, utils_1.logInfo)({
56
+ info: "PROPOSAL_COUNT_UPDATE_QUEUED",
57
+ timestamp: Date.now(),
58
+ messageIds: [],
59
+ packetIds: [],
60
+ });
61
+ await (0, prometheus_config_1.pushToGateway)();
62
+ return (0, ll_common_1.buildResponse)(200, { status: index_1.StatusCodes.SUCCESS, response });
63
+ }
64
+ catch (e) {
65
+ utils_1.logger.error("Error", e);
66
+ return (0, common_1.buildErrorResponse)(e);
67
+ }
68
+ };
69
+ exports.updateProposalCountHandler = updateProposalCountHandler;
@@ -0,0 +1,2 @@
1
+ export declare const getRequestRoutes: Record<string, (event: any, context: any) => Promise<any>>;
2
+ export declare const postRequestRoutes: Record<string, (event: any, context: any) => Promise<any>>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postRequestRoutes = exports.getRequestRoutes = void 0;
4
+ const sealHandler_1 = require("./sealHandler");
5
+ const proposeHandler_1 = require("./proposeHandler");
6
+ const executeHandler_1 = require("./executeHandler");
7
+ const statusHandler_1 = require("./statusHandler");
8
+ const testHandler_1 = require("./testHandler");
9
+ const cronHandler_1 = require("./cronHandler");
10
+ exports.getRequestRoutes = {
11
+ "/statusUpdate": statusHandler_1.statusUpdateHandler,
12
+ "/setCronSpeed": cronHandler_1.setCronSpeedHandler,
13
+ "/simulate": executeHandler_1.simulationHandler,
14
+ };
15
+ exports.postRequestRoutes = {
16
+ "/seal": sealHandler_1.sealHandler,
17
+ "/relaySeal": sealHandler_1.relaySealHandler,
18
+ "/indexSeal": sealHandler_1.indexSealHandler,
19
+ "/relayPropose": proposeHandler_1.relayProposeHandler,
20
+ "/simulationResponse": executeHandler_1.simulationResponseHandler,
21
+ "/deleteRedisKey": testHandler_1.deleteKeyHandler,
22
+ "/updateProposalCount": proposeHandler_1.updateProposalCountHandler,
23
+ "/txStatusUpdate": statusHandler_1.relayerTxStatusUpdateHandler,
24
+ "/isChainSupported": testHandler_1.chainSupportHandler,
25
+ "/failedStatusUpdate": statusHandler_1.failedStatusUpdateHandler,
26
+ };
@@ -0,0 +1,4 @@
1
+ import { type APIGatewayProxyEvent, type APIGatewayProxyResult, type Context } from "aws-lambda";
2
+ export declare const sealHandler: (event: APIGatewayProxyEvent, context: Context) => Promise<APIGatewayProxyResult>;
3
+ export declare const relaySealHandler: (event: APIGatewayProxyEvent, context: Context) => Promise<APIGatewayProxyResult>;
4
+ export declare const indexSealHandler: (event: APIGatewayProxyEvent, context: Context) => Promise<APIGatewayProxyResult>;