@socket.tech/dl-common 1.0.3-test.11 → 1.0.3-test.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) 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 +1 -0
  4. package/dist/constants/enums.js +1 -0
  5. package/dist/constants/waitTime.d.ts +1 -0
  6. package/dist/constants/waitTime.js +8 -3
  7. package/dist/dl-common/constants/confirmations.d.ts +5 -0
  8. package/dist/dl-common/constants/confirmations.js +18 -0
  9. package/dist/dl-common/constants/confirmations.js.map +1 -0
  10. package/dist/dl-common/constants/enums.d.ts +38 -0
  11. package/dist/dl-common/constants/enums.js +46 -0
  12. package/dist/dl-common/constants/enums.js.map +1 -0
  13. package/dist/dl-common/constants/index.d.ts +3 -0
  14. package/dist/dl-common/constants/index.js +7 -0
  15. package/dist/dl-common/constants/index.js.map +1 -0
  16. package/dist/dl-common/constants/types.d.ts +117 -0
  17. package/dist/dl-common/constants/types.js +38 -0
  18. package/dist/dl-common/constants/types.js.map +1 -0
  19. package/dist/dl-common/constants/waitTime.d.ts +8 -0
  20. package/dist/dl-common/constants/waitTime.js +56 -0
  21. package/dist/dl-common/constants/waitTime.js.map +1 -0
  22. package/dist/dl-common/index.d.ts +4 -0
  23. package/dist/dl-common/index.js +8 -0
  24. package/dist/dl-common/index.js.map +1 -0
  25. package/dist/dl-common/models/attestSignature.d.ts +35 -0
  26. package/dist/dl-common/models/attestSignature.js +54 -0
  27. package/dist/dl-common/models/attestSignature.js.map +1 -0
  28. package/dist/dl-common/models/attestation.d.ts +70 -0
  29. package/dist/dl-common/models/attestation.js +87 -0
  30. package/dist/dl-common/models/attestation.js.map +1 -0
  31. package/dist/dl-common/models/index.d.ts +6 -0
  32. package/dist/dl-common/models/index.js +10 -0
  33. package/dist/dl-common/models/index.js.map +1 -0
  34. package/dist/dl-common/models/message.d.ts +166 -0
  35. package/dist/dl-common/models/message.js +184 -0
  36. package/dist/dl-common/models/message.js.map +1 -0
  37. package/dist/dl-common/models/packet.d.ts +241 -0
  38. package/dist/dl-common/models/packet.js +247 -0
  39. package/dist/dl-common/models/packet.js.map +1 -0
  40. package/dist/dl-common/models/proposal.d.ts +127 -0
  41. package/dist/dl-common/models/proposal.js +142 -0
  42. package/dist/dl-common/models/proposal.js.map +1 -0
  43. package/dist/dl-common/models/switchboard.d.ts +69 -0
  44. package/dist/dl-common/models/switchboard.js +94 -0
  45. package/dist/dl-common/models/switchboard.js.map +1 -0
  46. package/dist/dl-common/services/cacheService.d.ts +14 -0
  47. package/dist/dl-common/services/cacheService.js +79 -0
  48. package/dist/dl-common/services/cacheService.js.map +1 -0
  49. package/dist/dl-common/services/index.d.ts +2 -0
  50. package/dist/dl-common/services/index.js +6 -0
  51. package/dist/dl-common/services/index.js.map +1 -0
  52. package/dist/dl-common/services/queueService.d.ts +10 -0
  53. package/dist/dl-common/services/queueService.js +53 -0
  54. package/dist/dl-common/services/queueService.js.map +1 -0
  55. package/dist/dl-common/utils/address.d.ts +2 -0
  56. package/dist/dl-common/utils/address.js +9 -0
  57. package/dist/dl-common/utils/address.js.map +1 -0
  58. package/dist/dl-common/utils/axios.d.ts +2 -0
  59. package/dist/dl-common/utils/axios.js +43 -0
  60. package/dist/dl-common/utils/axios.js.map +1 -0
  61. package/dist/dl-common/utils/dataStructHelper.d.ts +2 -0
  62. package/dist/dl-common/utils/dataStructHelper.js +11 -0
  63. package/dist/dl-common/utils/dataStructHelper.js.map +1 -0
  64. package/dist/dl-common/utils/discord.d.ts +2 -0
  65. package/dist/dl-common/utils/discord.js +36 -0
  66. package/dist/dl-common/utils/discord.js.map +1 -0
  67. package/dist/dl-common/utils/ethersAwsKmsSigner.d.ts +2 -0
  68. package/dist/dl-common/utils/ethersAwsKmsSigner.js +24 -0
  69. package/dist/dl-common/utils/ethersAwsKmsSigner.js.map +1 -0
  70. package/dist/dl-common/utils/eventGetter.d.ts +4 -0
  71. package/dist/dl-common/utils/eventGetter.js +52 -0
  72. package/dist/dl-common/utils/eventGetter.js.map +1 -0
  73. package/dist/dl-common/utils/extraUtils.d.ts +25 -0
  74. package/dist/dl-common/utils/extraUtils.js +96 -0
  75. package/dist/dl-common/utils/extraUtils.js.map +1 -0
  76. package/dist/dl-common/utils/idUtils.d.ts +14 -0
  77. package/dist/dl-common/utils/idUtils.js +48 -0
  78. package/dist/dl-common/utils/idUtils.js.map +1 -0
  79. package/dist/dl-common/utils/index.d.ts +11 -0
  80. package/dist/dl-common/utils/index.js +15 -0
  81. package/dist/dl-common/utils/index.js.map +1 -0
  82. package/dist/dl-common/utils/relaySigner.d.ts +21 -0
  83. package/dist/dl-common/utils/relaySigner.js +68 -0
  84. package/dist/dl-common/utils/relaySigner.js.map +1 -0
  85. package/dist/dl-common/utils/secretManagerService.d.ts +2 -0
  86. package/dist/dl-common/utils/secretManagerService.js +35 -0
  87. package/dist/dl-common/utils/secretManagerService.js.map +1 -0
  88. package/dist/dl-common/utils/time.d.ts +1 -0
  89. package/dist/dl-common/utils/time.js +6 -0
  90. package/dist/dl-common/utils/time.js.map +1 -0
  91. package/dist/models/packet.d.ts +4 -0
  92. package/dist/models/packet.js +6 -0
  93. package/dist/models/switchboard.d.ts +8 -0
  94. package/dist/models/switchboard.js +20 -3
  95. package/dist/src/constants/batcherModes.d.ts +6 -0
  96. package/dist/src/constants/batcherModes.js +10 -0
  97. package/dist/src/constants/batcherModes.js.map +1 -0
  98. package/dist/src/constants/config.d.ts +27 -0
  99. package/dist/src/constants/config.js +62 -0
  100. package/dist/src/constants/config.js.map +1 -0
  101. package/dist/src/constants/enums.d.ts +15 -0
  102. package/dist/src/constants/enums.js +22 -0
  103. package/dist/src/constants/enums.js.map +1 -0
  104. package/dist/src/constants/gasEstimation.d.ts +8 -0
  105. package/dist/src/constants/gasEstimation.js +66 -0
  106. package/dist/src/constants/gasEstimation.js.map +1 -0
  107. package/dist/src/constants/index.d.ts +10 -0
  108. package/dist/src/constants/index.js +14 -0
  109. package/dist/src/constants/index.js.map +1 -0
  110. package/dist/src/constants/limits.d.ts +18 -0
  111. package/dist/src/constants/limits.js +61 -0
  112. package/dist/src/constants/limits.js.map +1 -0
  113. package/dist/src/constants/prometheus.config.d.ts +43 -0
  114. package/dist/src/constants/prometheus.config.js +123 -0
  115. package/dist/src/constants/prometheus.config.js.map +1 -0
  116. package/dist/src/constants/relayer.d.ts +6 -0
  117. package/dist/src/constants/relayer.js +16 -0
  118. package/dist/src/constants/relayer.js.map +1 -0
  119. package/dist/src/constants/stageConfig.d.ts +10 -0
  120. package/dist/src/constants/stageConfig.js +52 -0
  121. package/dist/src/constants/stageConfig.js.map +1 -0
  122. package/dist/src/constants/types.d.ts +45 -0
  123. package/dist/src/constants/types.js +3 -0
  124. package/dist/src/constants/types.js.map +1 -0
  125. package/dist/src/constants/watchers.d.ts +16 -0
  126. package/dist/src/constants/watchers.js +70 -0
  127. package/dist/src/constants/watchers.js.map +1 -0
  128. package/dist/src/controllers/index.d.ts +0 -0
  129. package/dist/src/controllers/index.js +2 -0
  130. package/dist/src/controllers/index.js.map +1 -0
  131. package/dist/src/db/associations.d.ts +1 -0
  132. package/dist/src/db/associations.js +24 -0
  133. package/dist/src/db/associations.js.map +1 -0
  134. package/dist/src/db/connection.d.ts +4 -0
  135. package/dist/src/db/connection.js +72 -0
  136. package/dist/src/db/connection.js.map +1 -0
  137. package/dist/src/db/index.d.ts +2 -0
  138. package/dist/src/db/index.js +6 -0
  139. package/dist/src/db/index.js.map +1 -0
  140. package/dist/src/db/init.d.ts +2 -0
  141. package/dist/src/db/init.js +30 -0
  142. package/dist/src/db/init.js.map +1 -0
  143. package/dist/src/handlers/common.d.ts +2 -0
  144. package/dist/src/handlers/common.js +45 -0
  145. package/dist/src/handlers/common.js.map +1 -0
  146. package/dist/src/handlers/cronHandler.d.ts +10 -0
  147. package/dist/src/handlers/cronHandler.js +142 -0
  148. package/dist/src/handlers/cronHandler.js.map +1 -0
  149. package/dist/src/handlers/executeHandler.d.ts +3 -0
  150. package/dist/src/handlers/executeHandler.js +70 -0
  151. package/dist/src/handlers/executeHandler.js.map +1 -0
  152. package/dist/src/handlers/handler.d.ts +2 -0
  153. package/dist/src/handlers/handler.js +25 -0
  154. package/dist/src/handlers/handler.js.map +1 -0
  155. package/dist/src/handlers/proposeHandler.d.ts +3 -0
  156. package/dist/src/handlers/proposeHandler.js +65 -0
  157. package/dist/src/handlers/proposeHandler.js.map +1 -0
  158. package/dist/src/handlers/routes.d.ts +6 -0
  159. package/dist/src/handlers/routes.js +25 -0
  160. package/dist/src/handlers/routes.js.map +1 -0
  161. package/dist/src/handlers/sealHandler.d.ts +4 -0
  162. package/dist/src/handlers/sealHandler.js +154 -0
  163. package/dist/src/handlers/sealHandler.js.map +1 -0
  164. package/dist/src/handlers/statusHandler.d.ts +4 -0
  165. package/dist/src/handlers/statusHandler.js +90 -0
  166. package/dist/src/handlers/statusHandler.js.map +1 -0
  167. package/dist/src/handlers/taskHandler.d.ts +2 -0
  168. package/dist/src/handlers/taskHandler.js +88 -0
  169. package/dist/src/handlers/taskHandler.js.map +1 -0
  170. package/dist/src/handlers/testHandler.d.ts +3 -0
  171. package/dist/src/handlers/testHandler.js +57 -0
  172. package/dist/src/handlers/testHandler.js.map +1 -0
  173. package/dist/src/main.d.ts +0 -0
  174. package/dist/src/main.js +2 -0
  175. package/dist/src/main.js.map +1 -0
  176. package/dist/src/relayers/common.d.ts +5 -0
  177. package/dist/src/relayers/common.js +39 -0
  178. package/dist/src/relayers/common.js.map +1 -0
  179. package/dist/src/relayers/index.d.ts +2 -0
  180. package/dist/src/relayers/index.js +6 -0
  181. package/dist/src/relayers/index.js.map +1 -0
  182. package/dist/src/relayers/proposeRelayer.d.ts +5 -0
  183. package/dist/src/relayers/proposeRelayer.js +423 -0
  184. package/dist/src/relayers/proposeRelayer.js.map +1 -0
  185. package/dist/src/relayers/sealRelayer.d.ts +5 -0
  186. package/dist/src/relayers/sealRelayer.js +165 -0
  187. package/dist/src/relayers/sealRelayer.js.map +1 -0
  188. package/dist/src/services/attestService.d.ts +10 -0
  189. package/dist/src/services/attestService.js +180 -0
  190. package/dist/src/services/attestService.js.map +1 -0
  191. package/dist/src/services/batcherService.d.ts +2 -0
  192. package/dist/src/services/batcherService.js +139 -0
  193. package/dist/src/services/batcherService.js.map +1 -0
  194. package/dist/src/services/executeService.d.ts +16 -0
  195. package/dist/src/services/executeService.js +149 -0
  196. package/dist/src/services/executeService.js.map +1 -0
  197. package/dist/src/services/gasEstimationService.d.ts +3 -0
  198. package/dist/src/services/gasEstimationService.js +13 -0
  199. package/dist/src/services/gasEstimationService.js.map +1 -0
  200. package/dist/src/services/index.d.ts +4 -0
  201. package/dist/src/services/index.js +8 -0
  202. package/dist/src/services/index.js.map +1 -0
  203. package/dist/src/services/indexSealService.d.ts +16 -0
  204. package/dist/src/services/indexSealService.js +92 -0
  205. package/dist/src/services/indexSealService.js.map +1 -0
  206. package/dist/src/services/proposalCheckService.d.ts +9 -0
  207. package/dist/src/services/proposalCheckService.js +91 -0
  208. package/dist/src/services/proposalCheckService.js.map +1 -0
  209. package/dist/src/services/sealService.d.ts +2 -0
  210. package/dist/src/services/sealService.js +120 -0
  211. package/dist/src/services/sealService.js.map +1 -0
  212. package/dist/src/statusTrackers/index.d.ts +3 -0
  213. package/dist/src/statusTrackers/index.js +14 -0
  214. package/dist/src/statusTrackers/index.js.map +1 -0
  215. package/dist/src/statusTrackers/message.d.ts +4 -0
  216. package/dist/src/statusTrackers/message.js +210 -0
  217. package/dist/src/statusTrackers/message.js.map +1 -0
  218. package/dist/src/statusTrackers/packet.d.ts +22 -0
  219. package/dist/src/statusTrackers/packet.js +370 -0
  220. package/dist/src/statusTrackers/packet.js.map +1 -0
  221. package/dist/src/utils/chain-utils.d.ts +6 -0
  222. package/dist/src/utils/chain-utils.js +47 -0
  223. package/dist/src/utils/chain-utils.js.map +1 -0
  224. package/dist/src/utils/contract.d.ts +5 -0
  225. package/dist/src/utils/contract.js +17 -0
  226. package/dist/src/utils/contract.js.map +1 -0
  227. package/dist/src/utils/index.d.ts +4 -0
  228. package/dist/src/utils/index.js +8 -0
  229. package/dist/src/utils/index.js.map +1 -0
  230. package/dist/src/utils/logger.d.ts +1 -0
  231. package/dist/src/utils/logger.js +6 -0
  232. package/dist/src/utils/logger.js.map +1 -0
  233. package/package.json +5 -5
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateMessageTxStatus = exports.getMessagesByTxId = exports.checkAndUpdateMessageRelayStatus = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const utils_1 = require("../utils");
6
+ const models_1 = require("@dl-common/models");
7
+ const db_1 = require("../db");
8
+ const sequelize_1 = require("sequelize");
9
+ const utils_2 = require("@dl-common/utils");
10
+ const constants_1 = require("../constants");
11
+ const constants_2 = require("@dl-common/constants");
12
+ const prometheus_config_1 = require("src/constants/prometheus.config");
13
+ const getTxId = (message) => {
14
+ if (message.executeRelayStatus === models_1.ExecutionRelayStatus.EXECUTING)
15
+ return message.executeTxId;
16
+ throw Error("No pending txId found for message");
17
+ };
18
+ const getUpdateObj = (message, status, txHash) => {
19
+ let updateObj;
20
+ if (status === constants_2.RelayerAPIStatus.FAILED) {
21
+ updateObj = getFailedTxStatusUpdateObj(message, txHash);
22
+ }
23
+ else if (status === constants_2.RelayerAPIStatus.SIMULATION_FAILED) {
24
+ updateObj = getSimulationFailedTxStatusUpdateObj(message, txHash);
25
+ }
26
+ else if (status === constants_2.RelayerAPIStatus.COMPLETED) {
27
+ updateObj = getCompletedTxStatusUpdateObj(message, txHash);
28
+ }
29
+ return updateObj;
30
+ };
31
+ const getCompletedTxStatusUpdateObj = (message, txHash) => {
32
+ let updateObj = { messageId: message.messageId };
33
+ if (message.executeRelayStatus === models_1.ExecutionRelayStatus.EXECUTING)
34
+ updateObj = Object.assign(Object.assign({ executeRelayStatus: models_1.ExecutionRelayStatus.EXECUTED, executeTxHash: txHash }, updateObj), { isExecuted: true });
35
+ return updateObj;
36
+ };
37
+ const getSimulationFailedTxStatusUpdateObj = (message, txHash) => {
38
+ let updateObj = { messageId: message.messageId };
39
+ if (message.executeRelayStatus === models_1.ExecutionRelayStatus.EXECUTING)
40
+ updateObj = Object.assign(Object.assign({}, updateObj), { executeRelayStatus: models_1.ExecutionRelayStatus.NO, executeTxHash: txHash });
41
+ return updateObj;
42
+ };
43
+ const getFailedTxStatusUpdateObj = (message, txHash) => {
44
+ let updateObj = { messageId: message.messageId };
45
+ if (message.executeRelayStatus === models_1.ExecutionRelayStatus.EXECUTING)
46
+ updateObj = Object.assign(Object.assign({}, updateObj), { executeRelayStatus: models_1.ExecutionRelayStatus.EXECUTE_FAILED, executeTxHash: txHash });
47
+ return updateObj;
48
+ };
49
+ const checkAndUpdateMessageRelayStatus = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
50
+ const messages = yield getPendingRelayMessages();
51
+ if (messages.length === 0) {
52
+ utils_1.logger.info(`No pending relay messages found, returning`);
53
+ return;
54
+ }
55
+ utils_1.logger.info(`found ${messages.length} pending messages, checking and updating status`);
56
+ let txIds = [];
57
+ let messageDbUpdates = [];
58
+ let statusCount = {};
59
+ let txIdStatusMap = {};
60
+ let messageMap = {};
61
+ messages.forEach((message) => {
62
+ let txId = getTxId(message);
63
+ messageMap[message.messageId] = message;
64
+ txIds.push(txId);
65
+ });
66
+ let url = (0, constants_1.multipleTxStatusUrl)();
67
+ let tx = yield (0, utils_2.axiosPost)(url, { txIds });
68
+ let responses = tx === null || tx === void 0 ? void 0 : tx.data;
69
+ console.log("message tx status response length: ", responses.length);
70
+ responses.forEach((response) => {
71
+ let { txId, txHash, status } = response;
72
+ txIdStatusMap[txId] = { txHash, status };
73
+ if (statusCount[status])
74
+ statusCount[status] += 1;
75
+ else
76
+ statusCount[status] = 1;
77
+ });
78
+ console.log({ statusCount });
79
+ let completedPacketIds = [];
80
+ messages.forEach((message) => {
81
+ let txId = getTxId(message);
82
+ let { status, txHash } = txIdStatusMap[txId];
83
+ let updateObj = getUpdateObj(message, status, txHash);
84
+ if (updateObj) {
85
+ let { messageId } = message;
86
+ messageDbUpdates.push(Object.assign(Object.assign({}, updateObj), { messageId }));
87
+ if (updateObj.executeRelayStatus === models_1.ExecutionRelayStatus.EXECUTED) {
88
+ completedPacketIds.push(message.packetId);
89
+ observeStatusUpdateMetrics(message);
90
+ }
91
+ }
92
+ });
93
+ if (messageDbUpdates.length) {
94
+ yield saveMessageUpdates(messageDbUpdates);
95
+ }
96
+ if (completedPacketIds.length) {
97
+ yield savePacketUpdates(completedPacketIds);
98
+ }
99
+ });
100
+ exports.checkAndUpdateMessageRelayStatus = checkAndUpdateMessageRelayStatus;
101
+ const saveMessageUpdates = (dbUpdates) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
102
+ try {
103
+ yield models_1.Message.bulkCreate(dbUpdates, {
104
+ updateOnDuplicate: ["isExecuted", "executeTxHash", "executeRelayStatus"],
105
+ });
106
+ }
107
+ catch (error) {
108
+ utils_1.logger.error("Error while saving status updates", error);
109
+ throw new Error(`Error while saving status updates ${error === null || error === void 0 ? void 0 : error.message}`);
110
+ }
111
+ });
112
+ const savePacketUpdates = (completedPacketIds) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
113
+ try {
114
+ yield models_1.Packet.update({ isFullyExecuted: true }, {
115
+ where: {
116
+ packetId: {
117
+ [sequelize_1.Op.in]: completedPacketIds,
118
+ },
119
+ },
120
+ });
121
+ }
122
+ catch (error) {
123
+ utils_1.logger.error(`Error while saving isFullyExecuted packet updates", ${error}`);
124
+ throw new Error("Error while saving isFullyExecuted packet updates");
125
+ }
126
+ });
127
+ const getPendingRelayMessages = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
128
+ const startTime = new Date(new Date().getTime() - 30 * 1000);
129
+ const twoHoursAgo = new Date(new Date().getTime() - 2 * 60 * 60 * 1000);
130
+ let result = [];
131
+ try {
132
+ result = yield models_1.Message.findAll({
133
+ limit: constants_1.checkTxStatusLimit,
134
+ where: {
135
+ executeRelayStatus: models_1.ExecutionRelayStatus.EXECUTING,
136
+ updatedAt: {
137
+ [sequelize_1.Op.and]: [
138
+ { [sequelize_1.Op.lte]: startTime },
139
+ { [sequelize_1.Op.gte]: twoHoursAgo },
140
+ ],
141
+ },
142
+ },
143
+ order: [
144
+ [
145
+ db_1.attesterDBInst.cast(db_1.attesterDBInst.col("updatedAt"), "timestamp"),
146
+ "ASC",
147
+ ],
148
+ ],
149
+ });
150
+ }
151
+ catch (err) {
152
+ utils_1.logger.error(`message-tx-status-checker -> error while querying Messages-Awaiting-RelayCompletion`, err);
153
+ }
154
+ return result;
155
+ });
156
+ const getMessagesByTxId = (txIds) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
157
+ let messages = (yield models_1.Message.findAll({
158
+ where: { executeTxId: { [sequelize_1.Op.in]: txIds } },
159
+ })).map((el) => el.get({ plain: true }));
160
+ return messages;
161
+ });
162
+ exports.getMessagesByTxId = getMessagesByTxId;
163
+ const updateMessageTxStatus = (updates) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
164
+ let statusCount = {};
165
+ let completedPacketIds = [];
166
+ let txIdStatusMap = {};
167
+ updates.forEach((update) => {
168
+ txIdStatusMap[update.txId] = update;
169
+ });
170
+ let txIds = updates.map((u) => u.txId);
171
+ let messages = yield (0, exports.getMessagesByTxId)(txIds);
172
+ let messageDbUpdates = [];
173
+ messages.forEach((message) => {
174
+ let txId = getTxId(message);
175
+ if (!txId || !txIdStatusMap[txId])
176
+ return;
177
+ let { status, txHash } = txIdStatusMap[txId];
178
+ if (statusCount[status])
179
+ statusCount[status] += 1;
180
+ else
181
+ statusCount[status] = 1;
182
+ let updateObj = getUpdateObj(message, status, txHash);
183
+ if (updateObj) {
184
+ messageDbUpdates.push(Object.assign(Object.assign({}, message), updateObj));
185
+ if (updateObj.executeRelayStatus === models_1.ExecutionRelayStatus.EXECUTED) {
186
+ completedPacketIds.push(message.packetId);
187
+ }
188
+ observeStatusUpdateMetrics(message);
189
+ }
190
+ });
191
+ let updatedMessageIds = messageDbUpdates.map((m) => m.messageId);
192
+ console.log({ updatedMessageIds, completedPacketIds });
193
+ if (messageDbUpdates.length) {
194
+ yield saveMessageUpdates(messageDbUpdates);
195
+ }
196
+ if (completedPacketIds.length) {
197
+ yield savePacketUpdates(completedPacketIds);
198
+ }
199
+ });
200
+ exports.updateMessageTxStatus = updateMessageTxStatus;
201
+ const observeStatusUpdateMetrics = (message) => {
202
+ (0, prometheus_config_1.observeHistogram)(prometheus_config_1.relayMetrics.executeRelay.statusUpdateHistogram, {
203
+ labels: {
204
+ [prometheus_config_1.Labels.SRC_CHAIN_SLUG]: message.srcChainSlug,
205
+ [prometheus_config_1.Labels.DST_CHAIN_SLUG]: message.dstChainSlug,
206
+ },
207
+ timeDiff: (0, utils_1.currentTimestampInSeconds)() - message.outboundTime,
208
+ });
209
+ };
210
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/statusTrackers/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Packet } from "@dl-common/models";
2
+ import { PacketMessageAttestJoin, TxStatusUpdate } from "../constants";
3
+ import { RelayerAPIStatus } from "@dl-common/constants";
4
+ type PacketDbUpdate = {
5
+ packetId: string;
6
+ sealRelayStatus?: string;
7
+ proposeRelayStatus?: string;
8
+ attestRelayStatus?: string;
9
+ sealTxHash?: string;
10
+ attestTxHash?: string;
11
+ proposeTxHash?: string;
12
+ isSealed?: boolean;
13
+ isProposed?: boolean;
14
+ isAttested?: boolean;
15
+ };
16
+ export declare const getUpdateObj: (packet: Packet, status: RelayerAPIStatus, txHash: string, chainId?: number, confirmations?: number) => PacketDbUpdate | undefined;
17
+ export declare const checkAndUpdatePacketRelayStatus: () => Promise<void>;
18
+ export declare const checkAndUpdateFullyExecutedStatus: () => Promise<void>;
19
+ export declare const getPendingFullyExecutedPackets: () => Promise<PacketMessageAttestJoin[]>;
20
+ export declare const getPacketsByTxId: (txIds: string[]) => Promise<any[]>;
21
+ export declare const updatePacketTxStatus: (updates: TxStatusUpdate[]) => Promise<void>;
22
+ export {};
@@ -0,0 +1,370 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updatePacketTxStatus = exports.getPacketsByTxId = exports.getPendingFullyExecutedPackets = exports.checkAndUpdateFullyExecutedStatus = exports.checkAndUpdatePacketRelayStatus = exports.getUpdateObj = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const utils_1 = require("../utils");
6
+ const utils_2 = require("@dl-common/utils");
7
+ const models_1 = require("@dl-common/models");
8
+ const db_1 = require("../db");
9
+ const sequelize_1 = require("sequelize");
10
+ const constants_1 = require("../constants");
11
+ const constants_2 = require("@dl-common/constants");
12
+ const prometheus_config_1 = require("src/constants/prometheus.config");
13
+ const confirmations_1 = require("@dl-common/constants/confirmations");
14
+ const services_1 = require("@dl-common/services");
15
+ const getTxId = (packet) => {
16
+ if (packet.sealRelayStatus === models_1.SealRelayStatus.SEALING)
17
+ return packet.sealTxId;
18
+ if (packet.proposeRelayStatus === models_1.ProposeRelayStatus.PROPOSING)
19
+ return packet.proposeTxId;
20
+ if (packet.attestRelayStatus === models_1.AttestRelayStatus.ATTESTING)
21
+ return packet.attestTxId;
22
+ console.log("No pending txId found for packet ", packet.packetId);
23
+ return null;
24
+ };
25
+ const getUpdateObj = (packet, status, txHash, chainId, confirmations) => {
26
+ let updateObj;
27
+ if (status === constants_2.RelayerAPIStatus.FAILED) {
28
+ updateObj = getFailedTxStatusUpdateObj(packet, txHash);
29
+ }
30
+ else if (status === constants_2.RelayerAPIStatus.SIMULATION_FAILED) {
31
+ updateObj = getSimulationFailedTxStatusUpdateObj(packet, txHash);
32
+ }
33
+ else if (status === constants_2.RelayerAPIStatus.COMPLETED) {
34
+ updateObj = getCompletedTxStatusUpdateObj(packet, txHash, chainId, confirmations);
35
+ }
36
+ return updateObj;
37
+ };
38
+ exports.getUpdateObj = getUpdateObj;
39
+ const getCompletedTxStatusUpdateObj = (packet, txHash, chainId, confirmations) => {
40
+ let updateObj = { packetId: packet.packetId };
41
+ if (packet.sealRelayStatus === models_1.SealRelayStatus.SEALING) {
42
+ updateObj = Object.assign({ sealRelayStatus: models_1.SealRelayStatus.SEALED, sealTxHash: txHash }, updateObj);
43
+ if (chainId && confirmations) {
44
+ if ((0, confirmations_1.getConfirmations)(chainId) &&
45
+ confirmations > (0, confirmations_1.getConfirmations)(chainId))
46
+ updateObj = Object.assign(Object.assign({}, updateObj), { isSealed: true });
47
+ }
48
+ }
49
+ if (packet.proposeRelayStatus === models_1.ProposeRelayStatus.PROPOSING)
50
+ updateObj = Object.assign(Object.assign({}, updateObj), { proposeRelayStatus: models_1.ProposeRelayStatus.PROPOSED, proposeTxHash: txHash, isProposed: true });
51
+ if (packet.attestRelayStatus === models_1.AttestRelayStatus.ATTESTING)
52
+ updateObj = Object.assign(Object.assign({}, updateObj), { attestRelayStatus: models_1.AttestRelayStatus.ATTESTED, attestTxHash: txHash, isAttested: true });
53
+ return updateObj;
54
+ };
55
+ const getSimulationFailedTxStatusUpdateObj = (packet, txHash) => {
56
+ let updateObj = { packetId: packet.packetId };
57
+ if (packet.sealRelayStatus === models_1.SealRelayStatus.SEALING)
58
+ updateObj = Object.assign(Object.assign({}, updateObj), { sealRelayStatus: models_1.SealRelayStatus.NO, sealTxHash: txHash });
59
+ if (packet.proposeRelayStatus === models_1.ProposeRelayStatus.PROPOSING)
60
+ updateObj = Object.assign(Object.assign({}, updateObj), { proposeRelayStatus: models_1.ProposeRelayStatus.NO, proposeTxHash: txHash });
61
+ if (packet.attestRelayStatus === models_1.AttestRelayStatus.ATTESTING)
62
+ updateObj = Object.assign(Object.assign({}, updateObj), { attestRelayStatus: models_1.AttestRelayStatus.NO, attestTxHash: txHash });
63
+ return updateObj;
64
+ };
65
+ const getFailedTxStatusUpdateObj = (packet, txHash) => {
66
+ let updateObj = { packetId: packet.packetId };
67
+ if (packet.sealRelayStatus === models_1.SealRelayStatus.SEALING)
68
+ updateObj = Object.assign(Object.assign({}, updateObj), { sealRelayStatus: models_1.SealRelayStatus.SEAL_FAILED, sealTxHash: txHash });
69
+ if (packet.proposeRelayStatus === models_1.ProposeRelayStatus.PROPOSING)
70
+ updateObj = Object.assign(Object.assign({}, updateObj), { proposeRelayStatus: models_1.ProposeRelayStatus.PROPOSE_FAILED, proposeTxHash: txHash });
71
+ if (packet.attestRelayStatus === models_1.AttestRelayStatus.ATTESTING)
72
+ updateObj = Object.assign(Object.assign({}, updateObj), { attestRelayStatus: models_1.AttestRelayStatus.ATTEST_FAILED, attestTxHash: txHash });
73
+ return updateObj;
74
+ };
75
+ const checkAndUpdatePacketRelayStatus = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
76
+ try {
77
+ const packets = yield getPendingRelayPackets();
78
+ if (packets.length === 0) {
79
+ utils_1.logger.info(`No pending relay packets found, returning`);
80
+ return;
81
+ }
82
+ utils_1.logger.info(`found ${packets.length} pending packets, checking and updating status`);
83
+ let txIds = new Set();
84
+ let packetDbUpdates = [];
85
+ let statusCount = {};
86
+ let txIdStatusMap = {};
87
+ let packetMap = {};
88
+ packets.forEach((packet) => {
89
+ let txId = getTxId(packet);
90
+ if (!txId)
91
+ return;
92
+ txIds.add(txId);
93
+ packetMap[packet.packetId] = packet;
94
+ });
95
+ let url = (0, constants_1.multipleTxStatusUrl)();
96
+ let tx = yield (0, utils_2.axiosPost)(url, { txIds: [...txIds] });
97
+ let responses = tx === null || tx === void 0 ? void 0 : tx.data;
98
+ console.log("packet tx status response length: ", responses.length, responses);
99
+ responses.forEach((response) => {
100
+ let { txId, txHash, status } = response;
101
+ txIdStatusMap[txId] = { txHash, status };
102
+ });
103
+ console.log({ statusCount });
104
+ packets.forEach((packet) => {
105
+ let txId = getTxId(packet);
106
+ if (!txId)
107
+ return;
108
+ let { status, txHash } = txIdStatusMap[txId];
109
+ if (statusCount[status])
110
+ statusCount[status] += 1;
111
+ else
112
+ statusCount[status] = 1;
113
+ let updateObj = (0, exports.getUpdateObj)(packet, status, txHash);
114
+ if (updateObj) {
115
+ packetDbUpdates.push(Object.assign(Object.assign({}, packet), updateObj));
116
+ if (updateObj.proposeRelayStatus == models_1.ProposeRelayStatus.PROPOSED) {
117
+ (0, prometheus_config_1.observeHistogram)(prometheus_config_1.relayMetrics.proposeRelay.statusUpdateHistogram, {
118
+ labels: {
119
+ [prometheus_config_1.Labels.SRC_CHAIN_SLUG]: packet.srcChainSlug,
120
+ [prometheus_config_1.Labels.DST_CHAIN_SLUG]: packet.dstChainSlug,
121
+ [prometheus_config_1.Labels.INTEGRATION_TYPE]: packet.integrationType,
122
+ },
123
+ timeDiff: (0, utils_1.currentTimestampInSeconds)() - packet.outboundTime,
124
+ });
125
+ }
126
+ if (updateObj.attestRelayStatus == models_1.AttestRelayStatus.ATTESTED) {
127
+ (0, prometheus_config_1.observeHistogram)(prometheus_config_1.relayMetrics.attestRelay.statusUpdateHistogram, {
128
+ labels: {
129
+ [prometheus_config_1.Labels.SRC_CHAIN_SLUG]: packet.srcChainSlug,
130
+ [prometheus_config_1.Labels.DST_CHAIN_SLUG]: packet.dstChainSlug,
131
+ [prometheus_config_1.Labels.INTEGRATION_TYPE]: packet.integrationType,
132
+ },
133
+ timeDiff: (0, utils_1.currentTimestampInSeconds)() - packet.outboundTime,
134
+ });
135
+ }
136
+ }
137
+ });
138
+ if (packetDbUpdates.length) {
139
+ yield savePacketUpdates(packetDbUpdates);
140
+ }
141
+ }
142
+ catch (error) {
143
+ console.log("checkAndUpdatePacketRelayStatus", error);
144
+ }
145
+ });
146
+ exports.checkAndUpdatePacketRelayStatus = checkAndUpdatePacketRelayStatus;
147
+ const savePacketUpdates = (dbUpdates) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
148
+ try {
149
+ yield models_1.Packet.bulkCreate(dbUpdates, {
150
+ updateOnDuplicate: [
151
+ "isSealed",
152
+ "isProposed",
153
+ "isAttested",
154
+ "sealTxHash",
155
+ "attestTxHash",
156
+ "proposeTxHash",
157
+ "proposeRelayStatus",
158
+ "sealRelayStatus",
159
+ "attestRelayStatus",
160
+ ],
161
+ });
162
+ }
163
+ catch (error) {
164
+ utils_1.logger.error("Error while saving status updates", error);
165
+ throw new Error(`Error while saving status updates ${error === null || error === void 0 ? void 0 : error.message}`);
166
+ }
167
+ });
168
+ const checkAndUpdateFullyExecutedStatus = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
169
+ try {
170
+ let packets = yield (0, exports.getPendingFullyExecutedPackets)();
171
+ let fullyExecutedPacketIds = [];
172
+ for (let packet of packets) {
173
+ let fullyExecuted = true;
174
+ if (!packet.Messages || !packet.Messages.length)
175
+ continue;
176
+ let messagesInPacket = 1;
177
+ let messageCount = 0;
178
+ for (let message of packet.Messages) {
179
+ if (!message.isExecuted) {
180
+ fullyExecuted = false;
181
+ break;
182
+ }
183
+ messageCount++;
184
+ }
185
+ if (fullyExecuted && messageCount === messagesInPacket) {
186
+ fullyExecutedPacketIds.push(packet.packetId);
187
+ }
188
+ }
189
+ if (fullyExecutedPacketIds.length) {
190
+ yield saveFullyExecutedPacketUpdates(fullyExecutedPacketIds);
191
+ }
192
+ }
193
+ catch (error) {
194
+ console.log("error in checkAndUpdateFullyExecutedStatus: ", error);
195
+ }
196
+ });
197
+ exports.checkAndUpdateFullyExecutedStatus = checkAndUpdateFullyExecutedStatus;
198
+ const saveFullyExecutedPacketUpdates = (packetIds) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
199
+ try {
200
+ yield models_1.Packet.update({
201
+ isFullyExecuted: true,
202
+ }, {
203
+ where: {
204
+ packetId: {
205
+ [sequelize_1.Op.in]: packetIds,
206
+ },
207
+ },
208
+ });
209
+ }
210
+ catch (error) {
211
+ utils_1.logger.error("Error while saving status updates", error);
212
+ throw new Error(`Error while saving status updates ${error === null || error === void 0 ? void 0 : error.message}`);
213
+ }
214
+ });
215
+ const getPendingRelayPackets = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
216
+ const startTime = new Date(new Date().getTime() - 30 * 1000);
217
+ const twoHoursAgo = new Date(new Date().getTime() - 2 * 60 * 60 * 1000);
218
+ let results = [];
219
+ try {
220
+ results = yield models_1.Packet.findAll({
221
+ limit: constants_1.checkTxStatusLimit,
222
+ where: {
223
+ [sequelize_1.Op.or]: [
224
+ {
225
+ sealRelayStatus: models_1.SealRelayStatus.SEALING,
226
+ },
227
+ { proposeRelayStatus: models_1.ProposeRelayStatus.PROPOSING },
228
+ { attestRelayStatus: models_1.AttestRelayStatus.ATTESTING },
229
+ ],
230
+ updatedAt: {
231
+ [sequelize_1.Op.and]: [
232
+ { [sequelize_1.Op.lte]: startTime },
233
+ { [sequelize_1.Op.gte]: twoHoursAgo },
234
+ ],
235
+ },
236
+ },
237
+ order: [
238
+ [
239
+ db_1.attesterDBInst.cast(db_1.attesterDBInst.col("updatedAt"), "timestamp"),
240
+ "ASC",
241
+ ],
242
+ ],
243
+ });
244
+ results = results.map((result) => result.get({ plain: true }));
245
+ }
246
+ catch (err) {
247
+ utils_1.logger.error(`packet-txstatus-checker -> error while querying Packets-Awaiting-RelayCompletion`);
248
+ utils_1.logger.error("Error", err);
249
+ }
250
+ return results;
251
+ });
252
+ const getPendingFullyExecutedPackets = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
253
+ const startTime = new Date(new Date().getTime() - 30 * 1000);
254
+ const oneDayAgo = new Date(new Date().getTime() - 24 * 60 * 60 * 1000);
255
+ const packets = yield models_1.Packet.findAll({
256
+ limit: constants_1.proposeBatchQueryLimit,
257
+ where: {
258
+ isFullyExecuted: false,
259
+ isAttested: true,
260
+ tripReason: models_1.TripReason.NO,
261
+ updatedAt: {
262
+ [sequelize_1.Op.and]: [
263
+ { [sequelize_1.Op.lte]: startTime },
264
+ { [sequelize_1.Op.gte]: oneDayAgo },
265
+ ],
266
+ },
267
+ },
268
+ include: [
269
+ {
270
+ model: models_1.Message,
271
+ where: {
272
+ inboundSuccess: true,
273
+ executeRelayStatus: {
274
+ [sequelize_1.Op.ne]: models_1.ExecutionRelayStatus.IGNORED,
275
+ },
276
+ },
277
+ attributes: ["messageId", "isExecuted"],
278
+ },
279
+ ],
280
+ order: [["updatedAt", "ASC"]],
281
+ });
282
+ console.log(" getPendingFullyExecutedPackets count: ", packets.length);
283
+ return packets;
284
+ });
285
+ exports.getPendingFullyExecutedPackets = getPendingFullyExecutedPackets;
286
+ const getPacketsByTxId = (txIds) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
287
+ let packets = (yield models_1.Packet.findAll({
288
+ where: {
289
+ [sequelize_1.Op.or]: [
290
+ { sealTxId: { [sequelize_1.Op.in]: txIds } },
291
+ { proposeTxId: { [sequelize_1.Op.in]: txIds } },
292
+ { attestTxId: { [sequelize_1.Op.in]: txIds } },
293
+ ],
294
+ },
295
+ })).map((el) => el.get({ plain: true }));
296
+ return packets;
297
+ });
298
+ exports.getPacketsByTxId = getPacketsByTxId;
299
+ const updatePacketTxStatus = (updates) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
300
+ let statusCount = {};
301
+ let txIdStatusMap = {};
302
+ updates.forEach((update) => {
303
+ txIdStatusMap[update.txId] = update;
304
+ });
305
+ let txIds = updates.map((u) => u.txId);
306
+ let packets = yield (0, exports.getPacketsByTxId)(txIds);
307
+ let packetDbUpdates = [];
308
+ let isRelayProposeRequired = false;
309
+ packets.forEach((packet) => {
310
+ let txId = getTxId(packet);
311
+ if (!txId || !txIdStatusMap[txId])
312
+ return;
313
+ let { status, txHash, chainId, confirmations } = txIdStatusMap[txId];
314
+ if (statusCount[status])
315
+ statusCount[status] += 1;
316
+ else
317
+ statusCount[status] = 1;
318
+ let updateObj = (0, exports.getUpdateObj)(packet, status, txHash, chainId, confirmations);
319
+ if (updateObj) {
320
+ packetDbUpdates.push(Object.assign(Object.assign({}, packet), updateObj));
321
+ if (updateObj === null || updateObj === void 0 ? void 0 : updateObj.isSealed)
322
+ isRelayProposeRequired = true;
323
+ observeStatusUpdateMetrics(packet, updateObj);
324
+ }
325
+ });
326
+ let updatedPacketIds = packetDbUpdates.map((p) => p.packetId);
327
+ console.log({ updatedPacketIds });
328
+ if (packetDbUpdates.length) {
329
+ yield savePacketUpdates(packetDbUpdates);
330
+ }
331
+ if (isRelayProposeRequired) {
332
+ yield (0, services_1.sendStandardSqsMessage)(constants_1.stageConfig.SQS_BASE_URL + constants_1.QueueName.BATCHER_TASK_QUEUE, {
333
+ type: constants_1.TaskNames.RELAY_PROPOSE,
334
+ data: { counter: Math.floor(Math.random() * 100) },
335
+ });
336
+ }
337
+ });
338
+ exports.updatePacketTxStatus = updatePacketTxStatus;
339
+ const observeStatusUpdateMetrics = (packet, updateObj) => {
340
+ if (updateObj.sealRelayStatus == models_1.SealRelayStatus.SEALED &&
341
+ (updateObj === null || updateObj === void 0 ? void 0 : updateObj.isSealed)) {
342
+ (0, prometheus_config_1.observeHistogram)(prometheus_config_1.relayMetrics.sealRelay.statusUpdateHistogram, {
343
+ labels: {
344
+ [prometheus_config_1.Labels.SRC_CHAIN_SLUG]: packet.srcChainSlug,
345
+ },
346
+ timeDiff: (0, utils_1.currentTimestampInSeconds)() - packet.outboundTime,
347
+ });
348
+ }
349
+ if (updateObj.proposeRelayStatus == models_1.ProposeRelayStatus.PROPOSED) {
350
+ (0, prometheus_config_1.observeHistogram)(prometheus_config_1.relayMetrics.proposeRelay.statusUpdateHistogram, {
351
+ labels: {
352
+ [prometheus_config_1.Labels.SRC_CHAIN_SLUG]: packet.srcChainSlug,
353
+ [prometheus_config_1.Labels.DST_CHAIN_SLUG]: packet.dstChainSlug,
354
+ [prometheus_config_1.Labels.INTEGRATION_TYPE]: packet.integrationType,
355
+ },
356
+ timeDiff: (0, utils_1.currentTimestampInSeconds)() - packet.outboundTime,
357
+ });
358
+ }
359
+ if (updateObj.attestRelayStatus == models_1.AttestRelayStatus.ATTESTED) {
360
+ (0, prometheus_config_1.observeHistogram)(prometheus_config_1.relayMetrics.attestRelay.statusUpdateHistogram, {
361
+ labels: {
362
+ [prometheus_config_1.Labels.SRC_CHAIN_SLUG]: packet.srcChainSlug,
363
+ [prometheus_config_1.Labels.DST_CHAIN_SLUG]: packet.dstChainSlug,
364
+ [prometheus_config_1.Labels.INTEGRATION_TYPE]: packet.integrationType,
365
+ },
366
+ timeDiff: (0, utils_1.currentTimestampInSeconds)() - packet.outboundTime,
367
+ });
368
+ }
369
+ };
370
+ //# sourceMappingURL=packet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packet.js","sourceRoot":"","sources":["../../../src/statusTrackers/packet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { StaticJsonRpcProvider, type TransactionReceipt } from "@ethersproject/providers";
2
+ import { type BigNumber } from "ethers";
3
+ import { ChainSlug } from "@socket.tech/dl-core";
4
+ export declare const getProvider: (chainSlug: ChainSlug) => StaticJsonRpcProvider;
5
+ export declare const getReceipt: (txHash: string, chainSlug: ChainSlug) => Promise<TransactionReceipt>;
6
+ export declare const getRPCGasPrice: (chainSlug: ChainSlug) => Promise<BigNumber>;