@socket.tech/dl-common 1.0.12 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/dist/constants/enums.d.ts +2 -8
  2. package/dist/constants/enums.js +1 -8
  3. package/dist/constants/types.d.ts +1 -11
  4. package/dist/constants/types.js +1 -9
  5. package/dist/constants/waitTime.js +4 -0
  6. package/dist/dl-common/constants/confirmations.js +1 -0
  7. package/dist/dl-common/constants/confirmations.js.map +1 -0
  8. package/dist/dl-common/constants/enums.js +1 -0
  9. package/dist/dl-common/constants/enums.js.map +1 -0
  10. package/dist/dl-common/constants/index.js +5 -17
  11. package/dist/dl-common/constants/index.js.map +1 -0
  12. package/dist/dl-common/constants/types.d.ts +18 -8
  13. package/dist/dl-common/constants/types.js +10 -1
  14. package/dist/dl-common/constants/types.js.map +1 -0
  15. package/dist/dl-common/constants/waitTime.js +1 -4
  16. package/dist/dl-common/constants/waitTime.js.map +1 -0
  17. package/dist/dl-common/index.js +6 -18
  18. package/dist/dl-common/index.js.map +1 -0
  19. package/dist/dl-common/models/attestSignature.js +1 -0
  20. package/dist/dl-common/models/attestSignature.js.map +1 -0
  21. package/dist/dl-common/models/attestation.js +1 -0
  22. package/dist/dl-common/models/attestation.js.map +1 -0
  23. package/dist/dl-common/models/index.js +9 -21
  24. package/dist/dl-common/models/index.js.map +1 -0
  25. package/dist/dl-common/models/lastBlock.js +1 -0
  26. package/dist/dl-common/models/lastBlock.js.map +1 -0
  27. package/dist/dl-common/models/message.d.ts +6 -1
  28. package/dist/dl-common/models/message.js +12 -1
  29. package/dist/dl-common/models/message.js.map +1 -0
  30. package/dist/dl-common/models/packet.d.ts +0 -1
  31. package/dist/dl-common/models/packet.js +1 -5
  32. package/dist/dl-common/models/packet.js.map +1 -0
  33. package/dist/dl-common/models/proposal.js +1 -0
  34. package/dist/dl-common/models/proposal.js.map +1 -0
  35. package/dist/dl-common/models/switchboard.js +4 -2
  36. package/dist/dl-common/models/switchboard.js.map +1 -0
  37. package/dist/dl-common/models/transaction.js +1 -279
  38. package/dist/dl-common/models/transaction.js.map +1 -0
  39. package/dist/dl-common/services/cacheService.js +35 -33
  40. package/dist/dl-common/services/cacheService.js.map +1 -0
  41. package/dist/dl-common/services/eventBridgeService.d.ts +1 -1
  42. package/dist/dl-common/services/eventBridgeService.js +5 -7
  43. package/dist/dl-common/services/eventBridgeService.js.map +1 -0
  44. package/dist/dl-common/services/index.js +5 -18
  45. package/dist/dl-common/services/index.js.map +1 -0
  46. package/dist/dl-common/services/queueService.js +11 -12
  47. package/dist/dl-common/services/queueService.js.map +1 -0
  48. package/dist/dl-common/utils/address.js +1 -0
  49. package/dist/dl-common/utils/address.js.map +1 -0
  50. package/dist/dl-common/utils/axios.js +13 -24
  51. package/dist/dl-common/utils/axios.js.map +1 -0
  52. package/dist/dl-common/utils/dataStructHelper.js +4 -3
  53. package/dist/dl-common/utils/dataStructHelper.js.map +1 -0
  54. package/dist/dl-common/utils/discord.d.ts +2 -2
  55. package/dist/dl-common/utils/discord.js +14 -5
  56. package/dist/dl-common/utils/discord.js.map +1 -0
  57. package/dist/dl-common/utils/ethersAwsKmsSigner.js +5 -4
  58. package/dist/dl-common/utils/ethersAwsKmsSigner.js.map +1 -0
  59. package/dist/dl-common/utils/eventGetter.js +8 -6
  60. package/dist/dl-common/utils/eventGetter.js.map +1 -0
  61. package/dist/dl-common/utils/extraUtils.d.ts +0 -7
  62. package/dist/dl-common/utils/extraUtils.js +3 -10
  63. package/dist/dl-common/utils/extraUtils.js.map +1 -0
  64. package/dist/dl-common/utils/idUtils.js +3 -5
  65. package/dist/dl-common/utils/idUtils.js.map +1 -0
  66. package/dist/dl-common/utils/index.js +15 -27
  67. package/dist/dl-common/utils/index.js.map +1 -0
  68. package/dist/dl-common/utils/relaySigner.js +38 -38
  69. package/dist/dl-common/utils/relaySigner.js.map +1 -0
  70. package/dist/dl-common/utils/s3Service.d.ts +6 -0
  71. package/dist/dl-common/utils/s3Service.js +42 -16
  72. package/dist/dl-common/utils/s3Service.js.map +1 -0
  73. package/dist/dl-common/utils/secretManagerService.js +9 -7
  74. package/dist/dl-common/utils/secretManagerService.js.map +1 -0
  75. package/dist/dl-common/utils/signer/adapter.js +50 -42
  76. package/dist/dl-common/utils/signer/adapter.js.map +1 -0
  77. package/dist/dl-common/utils/signer/address.d.ts +0 -1
  78. package/dist/dl-common/utils/signer/address.js +3 -5
  79. package/dist/dl-common/utils/signer/address.js.map +1 -0
  80. package/dist/dl-common/utils/signer/asn1-parser.d.ts +0 -6
  81. package/dist/dl-common/utils/signer/asn1-parser.js +5 -32
  82. package/dist/dl-common/utils/signer/asn1-parser.js.map +1 -0
  83. package/dist/dl-common/utils/signer/crypto.d.ts +0 -1
  84. package/dist/dl-common/utils/signer/crypto.js +6 -8
  85. package/dist/dl-common/utils/signer/crypto.js.map +1 -0
  86. package/dist/dl-common/utils/signer/index.d.ts +1 -0
  87. package/dist/dl-common/utils/signer/index.js +7 -18
  88. package/dist/dl-common/utils/signer/index.js.map +1 -0
  89. package/dist/dl-common/utils/signer/kms-ethers-signer.js +14 -7
  90. package/dist/dl-common/utils/signer/kms-ethers-signer.js.map +1 -0
  91. package/dist/dl-common/utils/signer/kms-signer.d.ts +0 -1
  92. package/dist/dl-common/utils/signer/kms-signer.js +37 -27
  93. package/dist/dl-common/utils/signer/kms-signer.js.map +1 -0
  94. package/dist/dl-common/utils/signer/signature.d.ts +0 -1
  95. package/dist/dl-common/utils/signer/signature.js +3 -4
  96. package/dist/dl-common/utils/signer/signature.js.map +1 -0
  97. package/dist/dl-common/utils/signer/signer.d.ts +0 -1
  98. package/dist/dl-common/utils/signer/signer.js +1 -0
  99. package/dist/dl-common/utils/signer/signer.js.map +1 -0
  100. package/dist/dl-common/utils/signer/socketSigner.js +155 -0
  101. package/dist/dl-common/utils/signer/socketSigner.js.map +1 -0
  102. package/dist/dl-common/utils/time.js +1 -0
  103. package/dist/dl-common/utils/time.js.map +1 -0
  104. package/dist/index.js +30 -14
  105. package/dist/models/index.d.ts +0 -1
  106. package/dist/models/index.js +0 -1
  107. package/dist/models/message.d.ts +1 -6
  108. package/dist/models/message.js +1 -11
  109. package/dist/models/packet.d.ts +1 -0
  110. package/dist/models/packet.js +1 -0
  111. package/dist/services/eventBridgeService.js +0 -1
  112. package/dist/services/queueService.d.ts +2 -2
  113. package/dist/services/queueService.js +14 -22
  114. package/dist/src/constants/batcherModes.js +1 -46
  115. package/dist/src/constants/batcherModes.js.map +1 -0
  116. package/dist/src/constants/config.d.ts +5 -0
  117. package/dist/src/constants/config.js +14 -13
  118. package/dist/src/constants/config.js.map +1 -0
  119. package/dist/src/constants/enums.d.ts +4 -0
  120. package/dist/src/constants/enums.js +7 -1
  121. package/dist/src/constants/enums.js.map +1 -0
  122. package/dist/src/constants/index.d.ts +0 -1
  123. package/dist/src/constants/index.js +12 -26
  124. package/dist/src/constants/index.js.map +1 -0
  125. package/dist/src/constants/limits.d.ts +5 -10
  126. package/dist/src/constants/limits.js +19 -56
  127. package/dist/src/constants/limits.js.map +1 -0
  128. package/dist/src/constants/prometheus.config.js +22 -215
  129. package/dist/src/constants/prometheus.config.js.map +1 -0
  130. package/dist/src/constants/relayer.d.ts +1 -0
  131. package/dist/src/constants/relayer.js +7 -4
  132. package/dist/src/constants/relayer.js.map +1 -0
  133. package/dist/src/constants/s3Config.js +18 -14
  134. package/dist/src/constants/s3Config.js.map +1 -0
  135. package/dist/src/constants/stageConfig.js +3 -2
  136. package/dist/src/constants/stageConfig.js.map +1 -0
  137. package/dist/src/constants/types.d.ts +13 -0
  138. package/dist/src/constants/types.js +1 -0
  139. package/dist/src/constants/types.js.map +1 -0
  140. package/dist/src/constants/watchers.d.ts +1 -0
  141. package/dist/src/constants/watchers.js +15 -13
  142. package/dist/src/constants/watchers.js.map +1 -0
  143. package/dist/src/controllers/index.js +1 -2
  144. package/dist/src/controllers/index.js.map +1 -0
  145. package/dist/src/db/associations.js +1 -24
  146. package/dist/src/db/associations.js.map +1 -0
  147. package/dist/src/db/connection.js +66 -61
  148. package/dist/src/db/connection.js.map +1 -0
  149. package/dist/src/db/index.js +4 -16
  150. package/dist/src/db/index.js.map +1 -0
  151. package/dist/src/db/init.js +8 -6
  152. package/dist/src/db/init.js.map +1 -0
  153. package/dist/src/handlers/common.js +7 -8
  154. package/dist/src/handlers/common.js.map +1 -0
  155. package/dist/src/handlers/cronHandler.d.ts +1 -7
  156. package/dist/src/handlers/cronHandler.js +26 -237
  157. package/dist/src/handlers/cronHandler.js.map +1 -0
  158. package/dist/src/handlers/executeHandler.js +12 -16
  159. package/dist/src/handlers/executeHandler.js.map +1 -0
  160. package/dist/src/handlers/handler.js +6 -10
  161. package/dist/src/handlers/handler.js.map +1 -0
  162. package/dist/src/handlers/proposeHandler.js +26 -11
  163. package/dist/src/handlers/proposeHandler.js.map +1 -0
  164. package/dist/src/handlers/routes.js +2 -0
  165. package/dist/src/handlers/routes.js.map +1 -0
  166. package/dist/src/handlers/sealHandler.js +14 -121
  167. package/dist/src/handlers/sealHandler.js.map +1 -0
  168. package/dist/src/handlers/statusHandler.js +30 -22
  169. package/dist/src/handlers/statusHandler.js.map +1 -0
  170. package/dist/src/handlers/taskHandler.js +24 -45
  171. package/dist/src/handlers/taskHandler.js.map +1 -0
  172. package/dist/src/handlers/testHandler.js +17 -49
  173. package/dist/src/handlers/testHandler.js.map +1 -0
  174. package/dist/src/main.js +1 -11
  175. package/dist/src/main.js.map +1 -0
  176. package/dist/src/relayers/common.d.ts +1 -1
  177. package/dist/src/relayers/common.js +10 -11
  178. package/dist/src/relayers/common.js.map +1 -0
  179. package/dist/src/relayers/index.d.ts +1 -1
  180. package/dist/src/relayers/index.js +4 -17
  181. package/dist/src/relayers/index.js.map +1 -0
  182. package/dist/src/relayers/propose/constants.d.ts +15 -0
  183. package/dist/src/relayers/propose/constants.js +3 -0
  184. package/dist/src/relayers/propose/constants.js.map +1 -0
  185. package/dist/src/relayers/propose/dbQuery.d.ts +2 -0
  186. package/dist/src/relayers/propose/dbQuery.js +141 -0
  187. package/dist/src/relayers/propose/dbQuery.js.map +1 -0
  188. package/dist/src/relayers/propose/main.d.ts +3 -0
  189. package/dist/src/relayers/propose/main.js +292 -0
  190. package/dist/src/relayers/propose/main.js.map +1 -0
  191. package/dist/src/relayers/propose/metrics.d.ts +2 -0
  192. package/dist/src/relayers/propose/metrics.js +51 -0
  193. package/dist/src/relayers/propose/metrics.js.map +1 -0
  194. package/dist/src/relayers/propose/proposalCount.d.ts +6 -0
  195. package/dist/src/relayers/propose/proposalCount.js +74 -0
  196. package/dist/src/relayers/propose/proposalCount.js.map +1 -0
  197. package/dist/src/relayers/propose/utils.d.ts +9 -0
  198. package/dist/src/relayers/propose/utils.js +42 -0
  199. package/dist/src/relayers/propose/utils.js.map +1 -0
  200. package/dist/src/relayers/sealRelayer.js +87 -60
  201. package/dist/src/relayers/sealRelayer.js.map +1 -0
  202. package/dist/src/services/attestService.d.ts +1 -1
  203. package/dist/src/services/attestService.js +53 -42
  204. package/dist/src/services/attestService.js.map +1 -0
  205. package/dist/src/services/batch/attest.d.ts +5 -0
  206. package/dist/src/services/batch/attest.js +29 -0
  207. package/dist/src/services/batch/attest.js.map +1 -0
  208. package/dist/src/services/batch/execute.d.ts +5 -0
  209. package/dist/src/services/batch/execute.js +34 -0
  210. package/dist/src/services/batch/execute.js.map +1 -0
  211. package/dist/src/services/batch/gasLimit.d.ts +6 -0
  212. package/dist/src/services/batch/gasLimit.js +59 -0
  213. package/dist/src/services/batch/gasLimit.js.map +1 -0
  214. package/dist/src/services/batch/main.d.ts +2 -0
  215. package/dist/src/services/batch/main.js +49 -0
  216. package/dist/src/services/batch/main.js.map +1 -0
  217. package/dist/src/services/batch/propose.d.ts +5 -0
  218. package/dist/src/services/batch/propose.js +22 -0
  219. package/dist/src/services/batch/propose.js.map +1 -0
  220. package/dist/src/services/batch/utils.d.ts +2 -0
  221. package/dist/src/services/batch/utils.js +67 -0
  222. package/dist/src/services/batch/utils.js.map +1 -0
  223. package/dist/src/services/cron/constants.d.ts +30 -0
  224. package/dist/src/services/cron/constants.js +71 -0
  225. package/dist/src/services/cron/constants.js.map +1 -0
  226. package/dist/src/services/cron/main.d.ts +1 -0
  227. package/dist/src/services/cron/main.js +32 -0
  228. package/dist/src/services/cron/main.js.map +1 -0
  229. package/dist/src/services/cron/utils.d.ts +7 -0
  230. package/dist/src/services/cron/utils.js +74 -0
  231. package/dist/src/services/cron/utils.js.map +1 -0
  232. package/dist/src/services/execute/executeData.d.ts +3 -0
  233. package/dist/src/services/execute/executeData.js +94 -0
  234. package/dist/src/services/execute/executeData.js.map +1 -0
  235. package/dist/src/services/execute/index.d.ts +2 -0
  236. package/dist/src/services/execute/index.js +6 -0
  237. package/dist/src/services/execute/index.js.map +1 -0
  238. package/dist/src/services/{executeService.d.ts → execute/simulate.d.ts} +2 -2
  239. package/dist/src/services/execute/simulate.js +136 -0
  240. package/dist/src/services/execute/simulate.js.map +1 -0
  241. package/dist/src/services/execute/utils.d.ts +15 -0
  242. package/dist/src/services/execute/utils.js +73 -0
  243. package/dist/src/services/execute/utils.js.map +1 -0
  244. package/dist/src/services/gasEstimationService.js +6 -5
  245. package/dist/src/services/gasEstimationService.js.map +1 -0
  246. package/dist/src/services/index.d.ts +1 -1
  247. package/dist/src/services/index.js +6 -21
  248. package/dist/src/services/index.js.map +1 -0
  249. package/dist/src/services/indexSealService.js +28 -22
  250. package/dist/src/services/indexSealService.js.map +1 -0
  251. package/dist/src/services/proposalCheckService.js +27 -21
  252. package/dist/src/services/proposalCheckService.js.map +1 -0
  253. package/dist/src/services/retry/message.d.ts +1 -0
  254. package/dist/src/services/retry/message.js +52 -0
  255. package/dist/src/services/retry/message.js.map +1 -0
  256. package/dist/src/services/retry/packet.d.ts +2 -0
  257. package/dist/src/services/retry/packet.js +70 -0
  258. package/dist/src/services/retry/packet.js.map +1 -0
  259. package/dist/src/services/sealService.js +77 -47
  260. package/dist/src/services/sealService.js.map +1 -0
  261. package/dist/src/statusTrackers/failedMessage.js +16 -19
  262. package/dist/src/statusTrackers/failedMessage.js.map +1 -0
  263. package/dist/src/statusTrackers/failedPacket.js +26 -45
  264. package/dist/src/statusTrackers/failedPacket.js.map +1 -0
  265. package/dist/src/statusTrackers/index.js +8 -20
  266. package/dist/src/statusTrackers/index.js.map +1 -0
  267. package/dist/src/statusTrackers/message.d.ts +2 -1
  268. package/dist/src/statusTrackers/message.js +60 -52
  269. package/dist/src/statusTrackers/message.js.map +1 -0
  270. package/dist/src/statusTrackers/packet.d.ts +1 -12
  271. package/dist/src/statusTrackers/packet.js +137 -149
  272. package/dist/src/statusTrackers/packet.js.map +1 -0
  273. package/dist/src/utils/chain-utils.js +8 -6
  274. package/dist/src/utils/chain-utils.js.map +1 -0
  275. package/dist/src/utils/gas-limits.d.ts +10 -0
  276. package/dist/src/utils/gas-limits.js +103 -0
  277. package/dist/src/utils/gas-limits.js.map +1 -0
  278. package/dist/src/utils/index.js +4 -16
  279. package/dist/src/utils/index.js.map +1 -0
  280. package/dist/src/utils/logger.d.ts +3 -3
  281. package/dist/src/utils/logger.js +1 -0
  282. package/dist/src/utils/logger.js.map +1 -0
  283. package/dist/utils/dataStructHelper.js +2 -2
  284. package/dist/utils/discord.d.ts +2 -2
  285. package/dist/utils/discord.js +3 -11
  286. package/dist/utils/idUtils.js +2 -2
  287. package/dist/utils/s3Service.d.ts +3 -10
  288. package/dist/utils/s3Service.js +9 -38
  289. package/dist/utils/signer/address.d.ts +1 -0
  290. package/dist/utils/signer/asn1-parser.d.ts +1 -0
  291. package/dist/utils/signer/asn1-parser.js +3 -2
  292. package/dist/utils/signer/crypto.d.ts +1 -0
  293. package/dist/utils/signer/crypto.js +4 -3
  294. package/dist/utils/signer/index.d.ts +0 -1
  295. package/dist/utils/signer/index.js +0 -1
  296. package/dist/utils/signer/kms-signer.d.ts +1 -0
  297. package/dist/utils/signer/signature.d.ts +1 -0
  298. package/dist/utils/signer/signer.d.ts +1 -0
  299. package/package.json +5 -3
  300. package/dist/models/lastBlock.d.ts +0 -28
  301. package/dist/models/lastBlock.js +0 -27
  302. package/dist/models/transaction.d.ts +0 -0
  303. package/dist/models/transaction.js +0 -280
  304. package/dist/src/constants/gasEstimation.d.ts +0 -8
  305. package/dist/src/constants/gasEstimation.js +0 -61
  306. package/dist/src/relayers/proposeRelayer.d.ts +0 -7
  307. package/dist/src/relayers/proposeRelayer.js +0 -587
  308. package/dist/src/services/batcherService.d.ts +0 -9
  309. package/dist/src/services/batcherService.js +0 -197
  310. package/dist/src/services/executeService.js +0 -209
  311. package/dist/utils/signer/socketSigner.js +0 -154
  312. /package/dist/{utils → dl-common/utils}/signer/socketSigner.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSealTimeout = exports.updatePacketTxStatus = exports.getPacketsByTxId = exports.getPendingFullyExecutedPackets = exports.checkAndUpdateFullyExecutedStatus = exports.checkAndUpdatePacketRelayStatus = exports.getUpdateObj = void 0;
3
+ exports.updatePacketTxStatus = exports.getPacketsByTxId = exports.getPendingFullyExecutedPackets = exports.checkAndUpdateFullyExecutedStatus = exports.checkAndUpdatePacketRelayStatus = exports.getUpdateObj = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const utils_1 = require("../utils");
5
6
  const utils_2 = require("../../dl-common/utils");
6
7
  const models_1 = require("../../dl-common/models");
@@ -9,10 +10,8 @@ const sequelize_1 = require("sequelize");
9
10
  const constants_1 = require("../constants");
10
11
  const constants_2 = require("../../dl-common/constants");
11
12
  const prometheus_config_1 = require("../constants/prometheus.config");
12
- const confirmations_1 = require("../../dl-common/constants/confirmations");
13
13
  const services_1 = require("../../dl-common/services");
14
14
  const relayers_1 = require("../relayers");
15
- const dl_core_1 = require("@socket.tech/dl-core");
16
15
  const getTxId = (packet) => {
17
16
  if (packet.sealRelayStatus === models_1.SealRelayStatus.SEALING)
18
17
  return packet.sealTxId;
@@ -23,7 +22,7 @@ const getTxId = (packet) => {
23
22
  console.log("No pending txId found for packet ", packet.packetId);
24
23
  return null;
25
24
  };
26
- const getUpdateObj = (packet, status, txHash, chainId, confirmations) => {
25
+ const getUpdateObj = (packet, status, txHash) => {
27
26
  let updateObj;
28
27
  if (status === constants_2.RelayerAPIStatus.FAILED) {
29
28
  updateObj = getFailedTxStatusUpdateObj(packet, txHash);
@@ -33,94 +32,46 @@ const getUpdateObj = (packet, status, txHash, chainId, confirmations) => {
33
32
  updateObj = getRetryTxStatusUpdateObj(packet, txHash);
34
33
  }
35
34
  else if (status === constants_2.RelayerAPIStatus.COMPLETED) {
36
- updateObj = getCompletedTxStatusUpdateObj(packet, txHash, chainId, confirmations);
35
+ updateObj = getCompletedTxStatusUpdateObj(packet, txHash);
37
36
  }
38
37
  return updateObj;
39
38
  };
40
39
  exports.getUpdateObj = getUpdateObj;
41
- const getCompletedTxStatusUpdateObj = (packet, txHash, chainId, confirmations) => {
40
+ const getCompletedTxStatusUpdateObj = (packet, txHash) => {
42
41
  let updateObj = { packetId: packet.packetId };
43
42
  if (packet.sealRelayStatus === models_1.SealRelayStatus.SEALING) {
44
- let isEnoughTimePassed = (0, utils_2.currentTimestampInSeconds)() - packet.outboundTime >
45
- (0, exports.getSealTimeout)(packet.srcChainSlug);
46
- let isEnoughConfirmations = chainId &&
47
- confirmations &&
48
- (0, confirmations_1.getConfirmations)(chainId) &&
49
- confirmations > (0, confirmations_1.getConfirmations)(chainId);
50
- if (isEnoughTimePassed || isEnoughConfirmations) {
51
- /// add discord alert
52
- console.log({ isEnoughTimePassed, isEnoughConfirmations });
53
- updateObj = {
54
- ...updateObj,
55
- isSealed: true,
56
- sealRelayStatus: models_1.SealRelayStatus.SEALED,
57
- sealTxHash: txHash,
58
- };
59
- }
43
+ updateObj = Object.assign(Object.assign({}, updateObj), { sealRelayStatus: models_1.SealRelayStatus.SEALED, sealTxHash: txHash });
60
44
  }
61
45
  if (packet.proposeRelayStatus === models_1.ProposeRelayStatus.PROPOSING)
62
- updateObj = {
63
- ...updateObj,
64
- proposeRelayStatus: models_1.ProposeRelayStatus.PROPOSED,
65
- proposeTxHash: txHash,
66
- isProposed: true,
67
- };
46
+ updateObj = Object.assign(Object.assign({}, updateObj), { proposeRelayStatus: models_1.ProposeRelayStatus.PROPOSED, proposeTxHash: txHash, isProposed: true });
68
47
  if (packet.attestRelayStatus === models_1.AttestRelayStatus.ATTESTING)
69
- updateObj = {
70
- ...updateObj,
71
- attestRelayStatus: models_1.AttestRelayStatus.ATTESTED,
72
- attestTxHash: txHash,
73
- isAttested: true,
74
- };
48
+ updateObj = Object.assign(Object.assign({}, updateObj), { attestRelayStatus: models_1.AttestRelayStatus.ATTESTED, attestTxHash: txHash, isAttested: true });
75
49
  return updateObj;
76
50
  };
77
51
  const getRetryTxStatusUpdateObj = (packet, txHash) => {
78
52
  let updateObj = { packetId: packet.packetId };
79
53
  if (packet.sealRelayStatus === models_1.SealRelayStatus.SEALING)
80
- updateObj = {
81
- ...updateObj,
82
- sealRelayStatus: models_1.SealRelayStatus.NO,
83
- sealTxHash: txHash,
84
- };
54
+ updateObj = Object.assign(Object.assign({}, updateObj), { sealRelayStatus: models_1.SealRelayStatus.NO, sealTxHash: txHash });
85
55
  if (packet.proposeRelayStatus === models_1.ProposeRelayStatus.PROPOSING)
86
- updateObj = {
87
- ...updateObj,
88
- proposeRelayStatus: models_1.ProposeRelayStatus.NO,
89
- proposeTxHash: txHash,
90
- };
56
+ updateObj = Object.assign(Object.assign({}, updateObj), { proposeRelayStatus: models_1.ProposeRelayStatus.NO, proposeTxHash: txHash });
91
57
  if (packet.attestRelayStatus === models_1.AttestRelayStatus.ATTESTING)
92
- updateObj = {
93
- ...updateObj,
94
- attestRelayStatus: models_1.AttestRelayStatus.NO,
95
- attestTxHash: txHash,
96
- };
58
+ updateObj = Object.assign(Object.assign({}, updateObj), { attestRelayStatus: models_1.AttestRelayStatus.NO, attestTxHash: txHash });
97
59
  return updateObj;
98
60
  };
99
61
  const getFailedTxStatusUpdateObj = (packet, txHash) => {
100
62
  let updateObj = { packetId: packet.packetId };
101
63
  if (packet.sealRelayStatus === models_1.SealRelayStatus.SEALING)
102
- updateObj = {
103
- ...updateObj,
104
- sealRelayStatus: models_1.SealRelayStatus.SEAL_FAILED,
105
- sealTxHash: txHash,
106
- };
64
+ updateObj = Object.assign(Object.assign({}, updateObj), { sealRelayStatus: models_1.SealRelayStatus.SEAL_FAILED, sealTxHash: txHash });
107
65
  if (packet.proposeRelayStatus === models_1.ProposeRelayStatus.PROPOSING)
108
- updateObj = {
109
- ...updateObj,
110
- proposeRelayStatus: models_1.ProposeRelayStatus.PROPOSE_FAILED,
111
- proposeTxHash: txHash,
112
- };
66
+ updateObj = Object.assign(Object.assign({}, updateObj), { proposeRelayStatus: models_1.ProposeRelayStatus.PROPOSE_FAILED, proposeTxHash: txHash });
113
67
  if (packet.attestRelayStatus === models_1.AttestRelayStatus.ATTESTING)
114
- updateObj = {
115
- ...updateObj,
116
- attestRelayStatus: models_1.AttestRelayStatus.ATTEST_FAILED,
117
- attestTxHash: txHash,
118
- };
68
+ updateObj = Object.assign(Object.assign({}, updateObj), { attestRelayStatus: models_1.AttestRelayStatus.ATTEST_FAILED, attestTxHash: txHash });
119
69
  return updateObj;
120
70
  };
121
- const checkAndUpdatePacketRelayStatus = async () => {
71
+ const checkAndUpdatePacketRelayStatus = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
72
+ let packets = [];
122
73
  try {
123
- const packets = await getPendingRelayPackets();
74
+ packets = yield getPendingRelayPackets();
124
75
  if (packets.length === 0) {
125
76
  utils_1.logger.info(`No pending relay packets found, returning`);
126
77
  return;
@@ -150,7 +101,7 @@ const checkAndUpdatePacketRelayStatus = async () => {
150
101
  txIds,
151
102
  messageIds: [],
152
103
  });
153
- const tx = await (0, utils_2.axiosPost)(url, { txIds: [...txIds] });
104
+ const tx = yield (0, utils_2.axiosPost)(url, { txIds: [...txIds] });
154
105
  const responses = tx === null || tx === void 0 ? void 0 : tx.data;
155
106
  (0, utils_1.logInfo)({
156
107
  info: "RELAYER_RESPONSE",
@@ -160,32 +111,27 @@ const checkAndUpdatePacketRelayStatus = async () => {
160
111
  messageIds: [],
161
112
  });
162
113
  responses.forEach((response) => {
163
- const { txId, txHash, status } = response;
164
- txIdStatusMap[txId] = { txHash, status };
114
+ const { txId, txHash, status, revertReason } = response;
115
+ txIdStatusMap[txId] = { txHash, status, revertReason };
165
116
  });
166
- packets.forEach((packet) => {
117
+ for (const packet of packets) {
167
118
  const txId = getTxId(packet);
168
119
  if (!txId)
169
120
  return;
170
- const { status, txHash } = txIdStatusMap[txId];
121
+ const { status, txHash, revertReason } = txIdStatusMap[txId];
171
122
  if (statusCount[status])
172
123
  statusCount[status] += 1;
173
124
  else
174
125
  statusCount[status] = 1;
175
126
  const updateObj = (0, exports.getUpdateObj)(packet, status, txHash);
176
127
  if (updateObj) {
177
- // using packet fields in update is important to avoid getting default value set for other fields
178
- // which are not part of updateObj. for example if only proposing, updateObj will have proposeTxHash, isProposed
179
- // etc, but if we not destructure packet here, sequelize will update isSealed with default values.
180
- packetDbUpdates.push({ ...packet, ...updateObj });
181
- // if (updateObj.sealRelayStatus == SealRelayStatus.SEALED) {
182
- // observeHistogram(relayMetrics.sealRelay.statusUpdateHistogram, {
183
- // labels: {
184
- // [Labels.SRC_CHAIN_SLUG]: packet.srcChainSlug,
185
- // },
186
- // timeDiff: currentTimestampInSeconds() - packet.outboundTime,
187
- // });
188
- // }
128
+ if (updateObj.sealRelayStatus == models_1.SealRelayStatus.SEAL_FAILED) {
129
+ yield (0, relayers_1.markSealRecentError)();
130
+ if (revertReason == constants_1.REVERT_REASON.OUT_OF_GAS) {
131
+ updateObj.sealRelayStatus = models_1.SealRelayStatus.NO;
132
+ }
133
+ }
134
+ packetDbUpdates.push(Object.assign(Object.assign({}, packet), updateObj));
189
135
  if (updateObj.proposeRelayStatus == models_1.ProposeRelayStatus.PROPOSED) {
190
136
  (0, prometheus_config_1.observeHistogram)(prometheus_config_1.relayMetrics.proposeRelay.statusUpdateHistogram, {
191
137
  labels: {
@@ -207,7 +153,7 @@ const checkAndUpdatePacketRelayStatus = async () => {
207
153
  });
208
154
  }
209
155
  }
210
- });
156
+ }
211
157
  (0, utils_1.logInfo)({
212
158
  info: "PACKET_STATUS_CHECK_DB_UPDATE",
213
159
  packetIds: packets.map((p) => p.packetId),
@@ -215,7 +161,7 @@ const checkAndUpdatePacketRelayStatus = async () => {
215
161
  messageIds: [],
216
162
  });
217
163
  if (packetDbUpdates.length > 0) {
218
- await savePacketUpdates(packetDbUpdates);
164
+ yield savePacketUpdates(packetDbUpdates);
219
165
  }
220
166
  (0, utils_1.logInfo)({
221
167
  info: "PACKET_STATUS_CHECK_DB_UPDATE_DONE",
@@ -224,16 +170,19 @@ const checkAndUpdatePacketRelayStatus = async () => {
224
170
  });
225
171
  }
226
172
  catch (error) {
227
- console.log("checkAndUpdatePacketRelayStatus", error);
173
+ (0, utils_1.logInfo)({
174
+ info: "PACKET_STATUS_CHECK_DB_UPDATE_ERROR",
175
+ packetIds: packets.map((p) => p.packetId),
176
+ messageIds: [],
177
+ error,
178
+ });
228
179
  }
229
- };
180
+ });
230
181
  exports.checkAndUpdatePacketRelayStatus = checkAndUpdatePacketRelayStatus;
231
- const savePacketUpdates = async (dbUpdates) => {
182
+ const savePacketUpdates = (dbUpdates) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
232
183
  try {
233
- //@ts-ignore
234
- await models_1.Packet.bulkCreate(dbUpdates, {
184
+ yield models_1.Packet.bulkCreate(dbUpdates, {
235
185
  updateOnDuplicate: [
236
- // "isSealed",
237
186
  "isProposed",
238
187
  "isAttested",
239
188
  "sealTxHash",
@@ -246,20 +195,26 @@ const savePacketUpdates = async (dbUpdates) => {
246
195
  });
247
196
  }
248
197
  catch (error) {
249
- utils_1.logger.error("Error while saving status updates", error);
198
+ (0, utils_1.logError)({
199
+ info: "PACKET_RELAY_DB_UPDATE_ERROR",
200
+ packetIds: dbUpdates.map((p) => p.packetId),
201
+ messageIds: [],
202
+ error,
203
+ });
250
204
  throw new Error(`Error while saving status updates ${error === null || error === void 0 ? void 0 : error.message}`);
251
205
  }
252
- };
253
- const checkAndUpdateFullyExecutedStatus = async () => {
206
+ });
207
+ const checkAndUpdateFullyExecutedStatus = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
254
208
  var _a;
209
+ let packets = [];
255
210
  try {
256
- const packets = await (0, exports.getPendingFullyExecutedPackets)();
211
+ packets = yield (0, exports.getPendingFullyExecutedPackets)();
257
212
  const fullyExecutedPacketIds = [];
258
213
  for (const packet of packets) {
259
214
  let fullyExecuted = true;
260
215
  if (!((_a = packet.Messages) === null || _a === void 0 ? void 0 : _a.length))
261
216
  continue;
262
- const messagesInPacket = 1; // update this later when using multi-message packets
217
+ const messagesInPacket = 1;
263
218
  let messageCount = 0;
264
219
  for (const message of packet.Messages) {
265
220
  if (!message.isExecuted) {
@@ -272,28 +227,34 @@ const checkAndUpdateFullyExecutedStatus = async () => {
272
227
  fullyExecutedPacketIds.push(packet.packetId);
273
228
  }
274
229
  }
275
- (0, utils_1.logInfo)({
276
- info: "UPDATING_PACKET_EXECUTION_STATUS_DB",
277
- packetIds: packets.map((p) => p.packetId),
278
- messageIds: [],
279
- });
280
230
  if (fullyExecutedPacketIds.length > 0) {
281
- await saveFullyExecutedPacketUpdates(fullyExecutedPacketIds);
231
+ (0, utils_1.logInfo)({
232
+ info: "UPDATING_PACKET_EXECUTION_STATUS_DB",
233
+ packetIds: fullyExecutedPacketIds,
234
+ messageIds: [],
235
+ });
236
+ yield saveFullyExecutedPacketUpdates(fullyExecutedPacketIds);
237
+ (0, utils_1.logInfo)({
238
+ info: "UPDATED_PACKET_EXECUTION_STATUS_DB",
239
+ packetIds: fullyExecutedPacketIds,
240
+ messageIds: [],
241
+ });
282
242
  }
283
- (0, utils_1.logInfo)({
284
- info: "UPDATED_PACKET_EXECUTION_STATUS_DB",
243
+ }
244
+ catch (error) {
245
+ (0, utils_1.logError)({
246
+ info: "UPDATE_PACKET_EXECUTION_STATUS_DB_ERROR",
285
247
  packetIds: packets.map((p) => p.packetId),
286
248
  messageIds: [],
249
+ error,
287
250
  });
288
- }
289
- catch (error) {
290
251
  console.log("error in checkAndUpdateFullyExecutedStatus: ", error);
291
252
  }
292
- };
253
+ });
293
254
  exports.checkAndUpdateFullyExecutedStatus = checkAndUpdateFullyExecutedStatus;
294
- const saveFullyExecutedPacketUpdates = async (packetIds) => {
255
+ const saveFullyExecutedPacketUpdates = (packetIds) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
295
256
  try {
296
- await models_1.Packet.update({
257
+ yield models_1.Packet.update({
297
258
  isFullyExecuted: true,
298
259
  }, {
299
260
  where: {
@@ -304,16 +265,21 @@ const saveFullyExecutedPacketUpdates = async (packetIds) => {
304
265
  });
305
266
  }
306
267
  catch (error) {
307
- utils_1.logger.error("Error while saving status updates", error);
268
+ (0, utils_1.logError)({
269
+ info: "UPDATE_PACKET_EXECUTED_DB_ERROR",
270
+ packetIds,
271
+ messageIds: [],
272
+ error,
273
+ });
308
274
  throw new Error(`Error while saving status updates ${error === null || error === void 0 ? void 0 : error.message}`);
309
275
  }
310
- };
311
- const getPendingRelayPackets = async () => {
312
- const startTime = new Date(new Date().getTime() - 30 * 1000); // 30 seconds ago
313
- const oneDayAgo = new Date(new Date().getTime() - 24 * 60 * 60 * 1000); // 24 hours ago
276
+ });
277
+ const getPendingRelayPackets = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
278
+ const startTime = new Date(new Date().getTime() - 30 * 1000);
279
+ const oneDayAgo = new Date(new Date().getTime() - 24 * 60 * 60 * 1000);
314
280
  let results = [];
315
281
  try {
316
- results = await models_1.Packet.findAll({
282
+ results = yield models_1.Packet.findAll({
317
283
  limit: constants_1.checkTxStatusLimit,
318
284
  where: {
319
285
  [sequelize_1.Op.or]: [
@@ -326,7 +292,7 @@ const getPendingRelayPackets = async () => {
326
292
  updatedAt: {
327
293
  [sequelize_1.Op.and]: [
328
294
  { [sequelize_1.Op.lte]: startTime },
329
- { [sequelize_1.Op.gte]: oneDayAgo }, // updatedAt >= oneDayAgo
295
+ { [sequelize_1.Op.gte]: oneDayAgo },
330
296
  ],
331
297
  },
332
298
  },
@@ -344,11 +310,11 @@ const getPendingRelayPackets = async () => {
344
310
  utils_1.logger.error("Error", err);
345
311
  }
346
312
  return results;
347
- };
348
- const getPendingFullyExecutedPackets = async () => {
349
- const startTime = new Date(new Date().getTime() - 30 * 1000); // 30 seconds ago
350
- const oneDayAgo = new Date(new Date().getTime() - 24 * 60 * 60 * 1000); // 24 hours ago
351
- const packets = await models_1.Packet.findAll({
313
+ });
314
+ const getPendingFullyExecutedPackets = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
315
+ const startTime = new Date(new Date().getTime() - 30 * 1000);
316
+ const oneDayAgo = new Date(new Date().getTime() - 24 * 60 * 60 * 1000);
317
+ const packets = yield models_1.Packet.findAll({
352
318
  limit: constants_1.proposeBatchQueryLimit,
353
319
  where: {
354
320
  isFullyExecuted: false,
@@ -357,16 +323,13 @@ const getPendingFullyExecutedPackets = async () => {
357
323
  updatedAt: {
358
324
  [sequelize_1.Op.and]: [
359
325
  { [sequelize_1.Op.lte]: startTime },
360
- { [sequelize_1.Op.gte]: oneDayAgo }, // updatedAt >=24 hours ago
326
+ { [sequelize_1.Op.gte]: oneDayAgo },
361
327
  ],
362
328
  },
363
329
  },
364
330
  include: [
365
331
  {
366
332
  model: models_1.Message,
367
- // we dont want to fetch messages which dont have inboundSuccess as true.
368
- // if there are no valid messages, no point fetching packet as well. therefore not
369
- // using required: false;
370
333
  where: {
371
334
  inboundSuccess: true,
372
335
  executeRelayStatus: {
@@ -380,10 +343,10 @@ const getPendingFullyExecutedPackets = async () => {
380
343
  });
381
344
  console.log(" getPendingFullyExecutedPackets count: ", packets.length);
382
345
  return packets;
383
- };
346
+ });
384
347
  exports.getPendingFullyExecutedPackets = getPendingFullyExecutedPackets;
385
- const getPacketsByTxId = async (txIds) => {
386
- const packets = (await models_1.Packet.findAll({
348
+ const getPacketsByTxId = (txIds) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
349
+ const packets = (yield models_1.Packet.findAll({
387
350
  where: {
388
351
  [sequelize_1.Op.or]: [
389
352
  { sealTxId: { [sequelize_1.Op.in]: txIds } },
@@ -393,50 +356,80 @@ const getPacketsByTxId = async (txIds) => {
393
356
  },
394
357
  })).map((el) => el.get({ plain: true }));
395
358
  return packets;
396
- };
359
+ });
397
360
  exports.getPacketsByTxId = getPacketsByTxId;
398
- const updatePacketTxStatus = async (updates) => {
361
+ const updatePacketTxStatus = (updates) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
399
362
  const statusCount = {};
400
363
  const txIdStatusMap = {};
401
364
  updates.forEach((update) => {
402
365
  txIdStatusMap[update.txId] = update;
403
366
  });
404
367
  const txIds = updates.map((u) => u.txId);
405
- const packets = await (0, exports.getPacketsByTxId)(txIds);
368
+ const packets = yield (0, exports.getPacketsByTxId)(txIds);
406
369
  const packetDbUpdates = [];
407
370
  let isRelayProposeRequired = false;
408
371
  for (const packet of packets) {
409
372
  const txId = getTxId(packet);
410
373
  if (!txId || !txIdStatusMap[txId])
411
374
  return;
412
- const { status, txHash, chainId, confirmations } = txIdStatusMap[txId];
375
+ const { status, txHash, chainId, confirmations, revertReason } = txIdStatusMap[txId];
413
376
  if (statusCount[status])
414
377
  statusCount[status] += 1;
415
378
  else
416
379
  statusCount[status] = 1;
417
- const updateObj = (0, exports.getUpdateObj)(packet, status, txHash, chainId, confirmations);
380
+ const updateObj = (0, exports.getUpdateObj)(packet, status, txHash);
418
381
  if (updateObj) {
419
- packetDbUpdates.push({ ...packet, ...updateObj });
420
- if (updateObj === null || updateObj === void 0 ? void 0 : updateObj.isSealed)
421
- isRelayProposeRequired = true;
422
- if (updateObj.sealRelayStatus === models_1.SealRelayStatus.SEAL_FAILED)
423
- await (0, relayers_1.markSealRecentError)();
382
+ if (updateObj.sealRelayStatus == models_1.SealRelayStatus.SEAL_FAILED) {
383
+ yield (0, relayers_1.markSealRecentError)();
384
+ yield (0, utils_2.sendToDiscordWebhook)("SEAL TX FAILED", {
385
+ txHash,
386
+ packetId: packet.packetId,
387
+ chainSlug: packet.srcChainSlug,
388
+ status: status,
389
+ revertReason,
390
+ });
391
+ if (revertReason == constants_1.REVERT_REASON.OUT_OF_GAS) {
392
+ updateObj.sealRelayStatus = models_1.SealRelayStatus.NO;
393
+ }
394
+ }
395
+ if (updateObj.proposeRelayStatus == models_1.ProposeRelayStatus.PROPOSE_FAILED) {
396
+ yield (0, utils_2.sendToDiscordWebhook)("PROPOSE TX FAILED", {
397
+ txHash,
398
+ packetId: packet.packetId,
399
+ chainSlug: packet.dstChainSlug,
400
+ status: status,
401
+ revertReason,
402
+ });
403
+ if (revertReason == constants_1.REVERT_REASON.OUT_OF_GAS) {
404
+ }
405
+ }
406
+ if (updateObj.attestRelayStatus == models_1.AttestRelayStatus.ATTEST_FAILED) {
407
+ yield (0, utils_2.sendToDiscordWebhook)("ATTEST_FAILED", {
408
+ txHash,
409
+ packetId: packet.packetId,
410
+ chainSlug: packet.dstChainSlug,
411
+ status: status,
412
+ revertReason,
413
+ });
414
+ if (revertReason == constants_1.REVERT_REASON.OUT_OF_GAS) {
415
+ }
416
+ }
417
+ packetDbUpdates.push(Object.assign(Object.assign({}, packet), updateObj));
424
418
  observeStatusUpdateMetrics(packet, updateObj);
425
419
  }
426
420
  }
427
421
  const updatedPacketIds = packetDbUpdates.map((p) => p.packetId);
428
- console.log({ updatedPacketIds });
422
+ (0, utils_1.logInfo)({ info: "STATUS_UPDATE_DETAILS", updatedPacketIds, statusCount });
429
423
  if (packetDbUpdates.length > 0) {
430
- // console.log({packetDbUpdates});
431
- await savePacketUpdates(packetDbUpdates);
424
+ yield savePacketUpdates(packetDbUpdates);
432
425
  }
433
426
  if (isRelayProposeRequired) {
434
- await (0, services_1.sendStandardSqsMessage)(constants_1.SQS_BASE_URL + constants_1.QueueName.BATCHER_TASK_QUEUE, {
427
+ yield (0, services_1.sendStandardSqsMessage)(constants_1.SQS_BASE_URL + constants_1.QueueName.BATCHER_TASK_QUEUE, {
435
428
  type: constants_1.TaskNames.RELAY_PROPOSE,
436
429
  data: { counter: Math.floor(Math.random() * 100) },
437
430
  });
438
431
  }
439
- };
432
+ });
440
433
  exports.updatePacketTxStatus = updatePacketTxStatus;
441
434
  const observeStatusUpdateMetrics = (packet, updateObj) => {
442
435
  if (updateObj.sealRelayStatus == models_1.SealRelayStatus.SEALED &&
@@ -469,9 +462,4 @@ const observeStatusUpdateMetrics = (packet, updateObj) => {
469
462
  });
470
463
  }
471
464
  };
472
- const getSealTimeout = (chainSlug) => {
473
- if (chainSlug === dl_core_1.ChainSlug.POLYGON_MAINNET)
474
- return 15 * 60;
475
- return 5 * 60;
476
- };
477
- exports.getSealTimeout = getSealTimeout;
465
+ //# 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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"}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRPCGasPrice = exports.getReceipt = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const constants_1 = require("../constants");
5
6
  const index_1 = require("../../dl-common/index");
6
7
  const logger_1 = require("./logger");
7
- const getReceipt = async (txHash, chainSlug) => {
8
+ const getReceipt = (txHash, chainSlug) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
8
9
  let receipt;
9
10
  try {
10
11
  const provider = (0, constants_1.getProvider)(chainSlug);
11
- receipt = await provider.getTransactionReceipt(txHash);
12
+ receipt = yield provider.getTransactionReceipt(txHash);
12
13
  }
13
14
  catch (e) {
14
15
  const err = e;
@@ -24,13 +25,13 @@ const getReceipt = async (txHash, chainSlug) => {
24
25
  throw new index_1.ServerError(index_1.StatusCodes.NOT_FOUND, `tx ${txHash} not found on ${chainSlug} `);
25
26
  }
26
27
  return receipt;
27
- };
28
+ });
28
29
  exports.getReceipt = getReceipt;
29
- const getRPCGasPrice = async (chainSlug) => {
30
+ const getRPCGasPrice = (chainSlug) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
30
31
  let gasPrice;
31
32
  try {
32
33
  const provider = (0, constants_1.getProvider)(chainSlug);
33
- gasPrice = await provider.getGasPrice();
34
+ gasPrice = yield provider.getGasPrice();
34
35
  }
35
36
  catch (e) {
36
37
  const err = e;
@@ -38,5 +39,6 @@ const getRPCGasPrice = async (chainSlug) => {
38
39
  throw (0, index_1.InternalServerError)("Error while getting gas price from rpc");
39
40
  }
40
41
  return gasPrice;
41
- };
42
+ });
42
43
  exports.getRPCGasPrice = getRPCGasPrice;
44
+ //# sourceMappingURL=chain-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-utils.js","sourceRoot":"","sources":["../../../src/utils/chain-utils.ts"],"names":[],"mappings":";;;;AAEA,4CAA2C;AAC3C,iDAK+B;AAC/B,qCAAkC;AAG3B,MAAM,UAAU,GAAG,CACxB,MAAc,EACd,SAAoB,EACS,EAAE;IAC/B,IAAI,OAA2B,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,SAAS,CAAC,CAAC;QACxC,OAAO,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAgB,CAAC;QAC7B,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,kBAAkB,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAW,CAAC,mBAAW,CAAC,WAAW,EAAE,gBAAgB,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5D,MAAM,IAAI,mBAAW,CAAC,mBAAW,CAAC,qBAAqB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,mBAAW,CACnB,mBAAW,CAAC,SAAS,EACrB,MAAM,MAAM,iBAAiB,SAAS,GAAG,CAC1C,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AA1BW,QAAA,UAAU,cA0BrB;AAEK,MAAM,cAAc,GAAG,CAC5B,SAAoB,EACA,EAAE;IACtB,IAAI,QAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,SAAS,CAAC,CAAC;QACxC,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAgB,CAAC;QAC7B,eAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,MAAM,IAAA,2BAAmB,EAAC,wCAAwC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAA,CAAC;AAbW,QAAA,cAAc,kBAazB"}
@@ -0,0 +1,10 @@
1
+ import { ChainGasLimits } from "../constants";
2
+ import { BigNumber } from "ethers";
3
+ import { ChainSlug } from "@socket.tech/dl-core";
4
+ export declare const MSG_GAS_LIMIT_THRESHOLD: {
5
+ [key in ChainSlug]?: number;
6
+ };
7
+ export declare const MaxMsgGasLimitOtherChains: BigNumber;
8
+ export declare const getMsgGasLimitThresholdForIgnoring: (chainSlug: ChainSlug) => Promise<BigNumber>;
9
+ export declare const getGasLimits: (dstChainSlug: ChainSlug) => Promise<ChainGasLimits | null>;
10
+ export declare const fetchGasLimitPricesFromFeesUpdater: () => Promise<any>;