@socket.tech/dl-common 1.0.16 → 1.0.18

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 (133) 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 +44 -0
  4. package/dist/constants/enums.js +52 -0
  5. package/dist/constants/index.d.ts +3 -0
  6. package/dist/constants/index.js +19 -0
  7. package/dist/constants/types.d.ts +136 -0
  8. package/dist/constants/types.js +53 -0
  9. package/dist/constants/waitTime.d.ts +8 -0
  10. package/dist/constants/waitTime.js +45 -0
  11. package/dist/dl-common/constants/index.d.ts +1 -0
  12. package/dist/dl-common/constants/index.js +1 -0
  13. package/dist/dl-common/constants/index.js.map +1 -1
  14. package/dist/dl-common/constants/relay-types.d.ts +78 -0
  15. package/dist/dl-common/constants/relay-types.js +24 -0
  16. package/dist/dl-common/constants/relay-types.js.map +1 -0
  17. package/dist/dl-common/constants/types.d.ts +0 -6
  18. package/dist/dl-common/constants/types.js +1 -8
  19. package/dist/dl-common/constants/types.js.map +1 -1
  20. package/dist/dl-common/utils/index.d.ts +1 -0
  21. package/dist/dl-common/utils/index.js +1 -0
  22. package/dist/dl-common/utils/index.js.map +1 -1
  23. package/dist/dl-common/utils/relaySigner.d.ts +6 -2
  24. package/dist/dl-common/utils/relaySigner.js +23 -5
  25. package/dist/dl-common/utils/relaySigner.js.map +1 -1
  26. package/dist/dl-common/utils/relayUtils.d.ts +2 -0
  27. package/dist/dl-common/utils/relayUtils.js +21 -0
  28. package/dist/dl-common/utils/relayUtils.js.map +1 -0
  29. package/dist/dl-common/utils/signer/adapter.js.map +1 -1
  30. package/dist/dl-common/utils/signer/kms-ethers-signer.js.map +1 -1
  31. package/dist/dl-common/utils/signer/kms-signer.js +1 -1
  32. package/dist/dl-common/utils/signer/socketSigner.js +1 -1
  33. package/dist/dl-common/utils/signer/socketSigner.js.map +1 -1
  34. package/dist/index.d.ts +4 -0
  35. package/dist/index.js +36 -0
  36. package/dist/models/attestSignature.d.ts +35 -0
  37. package/dist/models/attestSignature.js +53 -0
  38. package/dist/models/attestation.d.ts +70 -0
  39. package/dist/models/attestation.js +86 -0
  40. package/dist/models/index.d.ts +7 -0
  41. package/dist/models/index.js +23 -0
  42. package/dist/models/lastBlock.d.ts +28 -0
  43. package/dist/models/lastBlock.js +27 -0
  44. package/dist/models/message.d.ts +171 -0
  45. package/dist/models/message.js +193 -0
  46. package/dist/models/packet.d.ts +240 -0
  47. package/dist/models/packet.js +249 -0
  48. package/dist/models/proposal.d.ts +127 -0
  49. package/dist/models/proposal.js +141 -0
  50. package/dist/models/switchboard.d.ts +69 -0
  51. package/dist/models/switchboard.js +92 -0
  52. package/dist/models/transaction.d.ts +0 -0
  53. package/dist/models/transaction.js +280 -0
  54. package/dist/services/cacheService.d.ts +14 -0
  55. package/dist/services/cacheService.js +77 -0
  56. package/dist/services/eventBridgeService.d.ts +8 -0
  57. package/dist/services/eventBridgeService.js +40 -0
  58. package/dist/services/index.d.ts +3 -0
  59. package/dist/services/index.js +20 -0
  60. package/dist/services/queueService.d.ts +10 -0
  61. package/dist/services/queueService.js +62 -0
  62. package/dist/src/constants/gasEstimation.d.ts +8 -0
  63. package/dist/src/constants/gasEstimation.js +61 -0
  64. package/dist/src/constants/relayer.d.ts +0 -3
  65. package/dist/src/constants/relayer.js +4 -9
  66. package/dist/src/constants/relayer.js.map +1 -1
  67. package/dist/src/constants/types.d.ts +3 -3
  68. package/dist/src/handlers/statusHandler.js +1 -1
  69. package/dist/src/handlers/statusHandler.js.map +1 -1
  70. package/dist/src/relayers/common.js +3 -3
  71. package/dist/src/relayers/common.js.map +1 -1
  72. package/dist/src/relayers/propose/main.js +4 -8
  73. package/dist/src/relayers/propose/main.js.map +1 -1
  74. package/dist/src/relayers/proposeRelayer.d.ts +7 -0
  75. package/dist/src/relayers/proposeRelayer.js +587 -0
  76. package/dist/src/relayers/sealRelayer.js +4 -6
  77. package/dist/src/relayers/sealRelayer.js.map +1 -1
  78. package/dist/src/services/batcherService.d.ts +9 -0
  79. package/dist/src/services/batcherService.js +197 -0
  80. package/dist/src/services/executeService.d.ts +16 -0
  81. package/dist/src/services/executeService.js +209 -0
  82. package/dist/src/statusTrackers/message.js +6 -5
  83. package/dist/src/statusTrackers/message.js.map +1 -1
  84. package/dist/src/statusTrackers/packet.d.ts +2 -2
  85. package/dist/src/statusTrackers/packet.js +6 -5
  86. package/dist/src/statusTrackers/packet.js.map +1 -1
  87. package/dist/utils/address.d.ts +2 -0
  88. package/dist/utils/address.js +8 -0
  89. package/dist/utils/axios.d.ts +2 -0
  90. package/dist/utils/axios.js +54 -0
  91. package/dist/utils/dataStructHelper.d.ts +2 -0
  92. package/dist/utils/dataStructHelper.js +10 -0
  93. package/dist/utils/discord.d.ts +2 -0
  94. package/dist/utils/discord.js +43 -0
  95. package/dist/utils/ethersAwsKmsSigner.d.ts +2 -0
  96. package/dist/utils/ethersAwsKmsSigner.js +26 -0
  97. package/dist/utils/eventGetter.d.ts +4 -0
  98. package/dist/utils/eventGetter.js +50 -0
  99. package/dist/utils/extraUtils.d.ts +32 -0
  100. package/dist/utils/extraUtils.js +103 -0
  101. package/dist/utils/idUtils.d.ts +14 -0
  102. package/dist/utils/idUtils.js +50 -0
  103. package/dist/utils/index.d.ts +13 -0
  104. package/dist/utils/index.js +29 -0
  105. package/dist/utils/relaySigner.d.ts +21 -0
  106. package/dist/utils/relaySigner.js +68 -0
  107. package/dist/utils/s3Service.d.ts +11 -0
  108. package/dist/utils/s3Service.js +70 -0
  109. package/dist/utils/secretManagerService.d.ts +2 -0
  110. package/dist/utils/secretManagerService.js +33 -0
  111. package/dist/utils/signer/adapter.d.ts +18 -0
  112. package/dist/utils/signer/adapter.js +71 -0
  113. package/dist/utils/signer/address.d.ts +9 -0
  114. package/dist/utils/signer/address.js +42 -0
  115. package/dist/utils/signer/asn1-parser.d.ts +10 -0
  116. package/dist/utils/signer/asn1-parser.js +79 -0
  117. package/dist/utils/signer/crypto.d.ts +5 -0
  118. package/dist/utils/signer/crypto.js +33 -0
  119. package/dist/utils/signer/index.d.ts +5 -0
  120. package/dist/utils/signer/index.js +21 -0
  121. package/dist/utils/signer/kms-ethers-signer.d.ts +19 -0
  122. package/dist/utils/signer/kms-ethers-signer.js +32 -0
  123. package/dist/utils/signer/kms-signer.d.ts +13 -0
  124. package/dist/utils/signer/kms-signer.js +46 -0
  125. package/dist/utils/signer/signature.d.ts +16 -0
  126. package/dist/utils/signer/signature.js +65 -0
  127. package/dist/utils/signer/signer.d.ts +6 -0
  128. package/dist/utils/signer/signer.js +2 -0
  129. package/dist/utils/signer/socketSigner.d.ts +39 -0
  130. package/dist/utils/signer/socketSigner.js +153 -0
  131. package/dist/utils/time.d.ts +2 -0
  132. package/dist/utils/time.js +7 -0
  133. package/package.json +4 -4
@@ -0,0 +1,5 @@
1
+ import { ChainSlug } from "@socket.tech/dl-core";
2
+ export declare const getConfirmations: (chainSlug: ChainSlug) => number;
3
+ export declare const Confirmations: {
4
+ [chain: number]: number;
5
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Confirmations = exports.getConfirmations = void 0;
4
+ const dl_core_1 = require("@socket.tech/dl-core");
5
+ const getConfirmations = (chainSlug) => {
6
+ if (dl_core_1.TestnetIds.includes(chainSlug)) {
7
+ return 1;
8
+ }
9
+ return exports.Confirmations[chainSlug];
10
+ };
11
+ exports.getConfirmations = getConfirmations;
12
+ exports.Confirmations = {
13
+ [dl_core_1.ChainSlug.MAINNET]: 12,
14
+ [dl_core_1.ChainSlug.ARBITRUM]: 1,
15
+ [dl_core_1.ChainSlug.OPTIMISM]: 18,
16
+ [dl_core_1.ChainSlug.AEVO]: 18,
17
+ };
@@ -0,0 +1,44 @@
1
+ export declare enum tableNames {
2
+ packet = "packets",
3
+ signature = "signatures",
4
+ attestation = "attestations",
5
+ message = "messages",
6
+ nativePacket = "native_packets",
7
+ proposal = "proposals",
8
+ switchboard = "switchboards",
9
+ tripState = "trip_states",
10
+ attestSignatures = "attest_signatures",
11
+ lastBlock = "last_blocks"
12
+ }
13
+ export declare enum MessageStatuses {
14
+ RECEIVED = "RECEIVED",
15
+ SEALED = "SEALED",
16
+ PROPOSED = "PROPOSED",
17
+ CONFIRMED = "CONFIRMED",
18
+ EXECUTION_SUCCESS = "EXECUTION_SUCCESS",
19
+ EXECUTION_FAILURE = "EXECUTION_FAILURE",
20
+ VERIFIED = "VERIFIED",
21
+ ATTESTED = "ATTESTED",
22
+ EXECUTING = "EXECUTING",
23
+ INBOUND_REVERTING = "INBOUND_REVERTING"
24
+ }
25
+ export declare enum MessageStatusStep {
26
+ RECEIVED = 0,
27
+ SEALED = 1,
28
+ PROPOSED = 2,
29
+ CONFIRMED = 3,
30
+ EXECUTION_SUCCESS = 4,
31
+ EXECUTION_FAILURE = 5
32
+ }
33
+ export declare enum StatusCodes {
34
+ SUCCESS = "SUCCESS",
35
+ NOT_FOUND = "NOT_FOUND",
36
+ BAD_REQUEST = "BAD_REQUEST",
37
+ UNAUTHORIZED = "UNAUTHORIZED",
38
+ INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR",
39
+ RATE_LIMIT_EXCEEDED = "RATE_LIMIT_EXCEEDED"
40
+ }
41
+ export declare enum Accounts {
42
+ dl = "dl",
43
+ ll = "ll"
44
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Accounts = exports.StatusCodes = exports.MessageStatusStep = exports.MessageStatuses = exports.tableNames = void 0;
4
+ var tableNames;
5
+ (function (tableNames) {
6
+ tableNames["packet"] = "packets";
7
+ tableNames["signature"] = "signatures";
8
+ tableNames["attestation"] = "attestations";
9
+ tableNames["message"] = "messages";
10
+ tableNames["nativePacket"] = "native_packets";
11
+ tableNames["proposal"] = "proposals";
12
+ tableNames["switchboard"] = "switchboards";
13
+ tableNames["tripState"] = "trip_states";
14
+ tableNames["attestSignatures"] = "attest_signatures";
15
+ tableNames["lastBlock"] = "last_blocks";
16
+ })(tableNames || (exports.tableNames = tableNames = {}));
17
+ var MessageStatuses;
18
+ (function (MessageStatuses) {
19
+ MessageStatuses["RECEIVED"] = "RECEIVED";
20
+ MessageStatuses["SEALED"] = "SEALED";
21
+ MessageStatuses["PROPOSED"] = "PROPOSED";
22
+ MessageStatuses["CONFIRMED"] = "CONFIRMED";
23
+ MessageStatuses["EXECUTION_SUCCESS"] = "EXECUTION_SUCCESS";
24
+ MessageStatuses["EXECUTION_FAILURE"] = "EXECUTION_FAILURE";
25
+ MessageStatuses["VERIFIED"] = "VERIFIED";
26
+ MessageStatuses["ATTESTED"] = "ATTESTED";
27
+ MessageStatuses["EXECUTING"] = "EXECUTING";
28
+ MessageStatuses["INBOUND_REVERTING"] = "INBOUND_REVERTING";
29
+ })(MessageStatuses || (exports.MessageStatuses = MessageStatuses = {}));
30
+ var MessageStatusStep;
31
+ (function (MessageStatusStep) {
32
+ MessageStatusStep[MessageStatusStep["RECEIVED"] = 0] = "RECEIVED";
33
+ MessageStatusStep[MessageStatusStep["SEALED"] = 1] = "SEALED";
34
+ MessageStatusStep[MessageStatusStep["PROPOSED"] = 2] = "PROPOSED";
35
+ MessageStatusStep[MessageStatusStep["CONFIRMED"] = 3] = "CONFIRMED";
36
+ MessageStatusStep[MessageStatusStep["EXECUTION_SUCCESS"] = 4] = "EXECUTION_SUCCESS";
37
+ MessageStatusStep[MessageStatusStep["EXECUTION_FAILURE"] = 5] = "EXECUTION_FAILURE";
38
+ })(MessageStatusStep || (exports.MessageStatusStep = MessageStatusStep = {}));
39
+ var StatusCodes;
40
+ (function (StatusCodes) {
41
+ StatusCodes["SUCCESS"] = "SUCCESS";
42
+ StatusCodes["NOT_FOUND"] = "NOT_FOUND";
43
+ StatusCodes["BAD_REQUEST"] = "BAD_REQUEST";
44
+ StatusCodes["UNAUTHORIZED"] = "UNAUTHORIZED";
45
+ StatusCodes["INTERNAL_SERVER_ERROR"] = "INTERNAL_SERVER_ERROR";
46
+ StatusCodes["RATE_LIMIT_EXCEEDED"] = "RATE_LIMIT_EXCEEDED";
47
+ })(StatusCodes || (exports.StatusCodes = StatusCodes = {}));
48
+ var Accounts;
49
+ (function (Accounts) {
50
+ Accounts["dl"] = "dl";
51
+ Accounts["ll"] = "ll";
52
+ })(Accounts || (exports.Accounts = Accounts = {}));
@@ -0,0 +1,3 @@
1
+ export * from "./waitTime";
2
+ export * from "./enums";
3
+ export * from "./types";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./waitTime"), exports);
18
+ __exportStar(require("./enums"), exports);
19
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,136 @@
1
+ import { TripReason } from "../models";
2
+ import { StatusCodes } from "./enums";
3
+ import { IntegrationTypes } from "@socket.tech/dl-core";
4
+ export type Speed = "safeLow" | "average" | "fast" | "fastest";
5
+ export declare enum InboundStatus {
6
+ NOT_TRIED = "NOT_TRIED",
7
+ REVERTING = "REVERTING",
8
+ EXECUTING = "EXECUTING",
9
+ SUCCESS = "SUCCESS"
10
+ }
11
+ export interface FeeEstimate {
12
+ transmissionFees: string;
13
+ verificationFees: string;
14
+ executionFees: string;
15
+ totalFees: string;
16
+ }
17
+ export declare enum RelayerAPIStatus {
18
+ FAILED = "FAILED",
19
+ SIMULATION_FAILED = "SIMULATION_FAILED",
20
+ COMPLETED = "COMPLETED",
21
+ DUPLICATE_NONCE_TX = "DUPLICATE_NONCE_TX"
22
+ }
23
+ export declare const ErrorReasons: {
24
+ ZERO_AMOUNT: string;
25
+ PRE_EXEC_VALIDATION_ERROR: string;
26
+ WRONG_PLUG_CONNECTION: string;
27
+ INBOUND_FAILURE: string;
28
+ LOW_GAS_LIMIT: string;
29
+ };
30
+ export declare enum SigPendingReason {
31
+ INVALID_MESSAGE_OUTBOUND_TX = "INVALID_MESSAGE_OUTBOUND_TX",
32
+ MISSING_SEAL_EVENT = "MISSING_SEAL_EVENT",
33
+ PENDING_CONFIRMATIONS = "PENDING_CONFIRMATIONS",
34
+ INALID_SEAL_TX = "INALID_SEAL_TX",
35
+ NO = "NO"
36
+ }
37
+ export declare class ServerError {
38
+ code: Omit<StatusCodes, StatusCodes.SUCCESS>;
39
+ message?: string;
40
+ constructor(code: Omit<StatusCodes, StatusCodes.SUCCESS>, message?: string);
41
+ toString(): string;
42
+ }
43
+ export declare const BadRequestError: (message?: string) => ServerError;
44
+ export declare const InternalServerError: (message?: string) => ServerError;
45
+ export interface EthersError {
46
+ reason?: string;
47
+ code?: string;
48
+ argument?: string;
49
+ value?: string;
50
+ }
51
+ export type SealParams = {
52
+ srcChainSlug: number;
53
+ dstChainSlug: number;
54
+ dstSwitchboard: string;
55
+ srcSwitchboard: string;
56
+ integrationType: IntegrationTypes;
57
+ message: {
58
+ messageId: string;
59
+ srcPlug: string;
60
+ destPlug: string;
61
+ minMsgGasLimit: string;
62
+ executionParams: string;
63
+ transmissionParams: string;
64
+ executionFee: string;
65
+ transmissionFees: string;
66
+ switchboardFees: string;
67
+ fees: string;
68
+ decapacitorProof: string;
69
+ payload: string;
70
+ packedMessage: string;
71
+ outboundTxHash: string;
72
+ outboundTime: number;
73
+ capacitorMsgCount: string;
74
+ };
75
+ packet: {
76
+ capacitorPacketCount: string;
77
+ packetId: string;
78
+ srcCapacitor: string;
79
+ root: string;
80
+ sealSignature: string;
81
+ };
82
+ };
83
+ export type SealIndexedParams = {
84
+ srcChainSlug: number;
85
+ sealer: string;
86
+ sealTime: number;
87
+ sealTxHash: string;
88
+ rootSealed: string;
89
+ dstSwitchboard: string;
90
+ sealSignature: string;
91
+ packetId: string;
92
+ };
93
+ export interface ExecuteSigResponse {
94
+ messageId: string;
95
+ retry: boolean;
96
+ inboundSuccess: boolean;
97
+ inboundRevertString: string;
98
+ executeSignature: string;
99
+ executeMsgGasLimit: string;
100
+ }
101
+ export interface AttestRequest {
102
+ switchboardAddress: string;
103
+ dstChainSlug: number;
104
+ packetId: string;
105
+ root: string;
106
+ proposalCount: number;
107
+ outboundTxHash: string;
108
+ sealTxHash: string;
109
+ }
110
+ export interface AttestSuccess {
111
+ proposalValid: true;
112
+ packetId: string;
113
+ proposalCount: number;
114
+ signature: string;
115
+ digest: string;
116
+ signerAddress: string;
117
+ }
118
+ export interface AttestFailure {
119
+ proposalValid: false;
120
+ packetId: string;
121
+ proposalCount: number;
122
+ tripReason: TripReason;
123
+ sigPendingReason: SigPendingReason;
124
+ }
125
+ export type AttestResponse = AttestSuccess | AttestFailure;
126
+ export type MessageData = {
127
+ messageId: string;
128
+ destPlug: string;
129
+ srcPlug: string;
130
+ dstChainSlug: number;
131
+ srcChainSlug: number;
132
+ payload: string;
133
+ minMsgGasLimit: string;
134
+ executionParams: string;
135
+ packedMessage: string;
136
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InternalServerError = exports.BadRequestError = exports.ServerError = exports.SigPendingReason = exports.ErrorReasons = exports.RelayerAPIStatus = exports.InboundStatus = void 0;
4
+ const enums_1 = require("./enums");
5
+ var InboundStatus;
6
+ (function (InboundStatus) {
7
+ InboundStatus["NOT_TRIED"] = "NOT_TRIED";
8
+ InboundStatus["REVERTING"] = "REVERTING";
9
+ InboundStatus["EXECUTING"] = "EXECUTING";
10
+ InboundStatus["SUCCESS"] = "SUCCESS";
11
+ })(InboundStatus || (exports.InboundStatus = InboundStatus = {}));
12
+ var RelayerAPIStatus;
13
+ (function (RelayerAPIStatus) {
14
+ RelayerAPIStatus["FAILED"] = "FAILED";
15
+ RelayerAPIStatus["SIMULATION_FAILED"] = "SIMULATION_FAILED";
16
+ RelayerAPIStatus["COMPLETED"] = "COMPLETED";
17
+ RelayerAPIStatus["DUPLICATE_NONCE_TX"] = "DUPLICATE_NONCE_TX";
18
+ })(RelayerAPIStatus || (exports.RelayerAPIStatus = RelayerAPIStatus = {}));
19
+ exports.ErrorReasons = {
20
+ ZERO_AMOUNT: "ZERO_AMOUNT",
21
+ PRE_EXEC_VALIDATION_ERROR: "PRE_EXEC_VALIDATION_ERROR",
22
+ WRONG_PLUG_CONNECTION: "WRONG_PLUG_CONNECTION",
23
+ INBOUND_FAILURE: "INBOUND_FAILURE",
24
+ LOW_GAS_LIMIT: "LOW_GAS_LIMIT",
25
+ };
26
+ var SigPendingReason;
27
+ (function (SigPendingReason) {
28
+ SigPendingReason["INVALID_MESSAGE_OUTBOUND_TX"] = "INVALID_MESSAGE_OUTBOUND_TX";
29
+ SigPendingReason["MISSING_SEAL_EVENT"] = "MISSING_SEAL_EVENT";
30
+ SigPendingReason["PENDING_CONFIRMATIONS"] = "PENDING_CONFIRMATIONS";
31
+ SigPendingReason["INALID_SEAL_TX"] = "INALID_SEAL_TX";
32
+ SigPendingReason["NO"] = "NO";
33
+ })(SigPendingReason || (exports.SigPendingReason = SigPendingReason = {}));
34
+ class ServerError {
35
+ constructor(code, message) {
36
+ this.code = code;
37
+ if (message) {
38
+ this.message = message;
39
+ }
40
+ }
41
+ toString() {
42
+ return `code: ${this.code}, message: ${this.message}`;
43
+ }
44
+ }
45
+ exports.ServerError = ServerError;
46
+ const BadRequestError = (message) => {
47
+ return new ServerError(enums_1.StatusCodes.BAD_REQUEST, message);
48
+ };
49
+ exports.BadRequestError = BadRequestError;
50
+ const InternalServerError = (message) => {
51
+ return new ServerError(enums_1.StatusCodes.INTERNAL_SERVER_ERROR, message);
52
+ };
53
+ exports.InternalServerError = InternalServerError;
@@ -0,0 +1,8 @@
1
+ import { ChainSlug, IntegrationTypes } from "@socket.tech/dl-core";
2
+ export declare const getWaitTime: (integrationType: IntegrationTypes, srcChainSlug: ChainSlug, dstChainSlug: ChainSlug) => number;
3
+ export declare const getNativeWaitTime: (srcChainSlug: ChainSlug, dstChainSlug: ChainSlug) => number;
4
+ export declare const NativeWaitTime: {
5
+ [srcChain in ChainSlug]?: {
6
+ [dstChain in ChainSlug]?: number;
7
+ };
8
+ };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NativeWaitTime = exports.getNativeWaitTime = exports.getWaitTime = void 0;
4
+ const dl_core_1 = require("@socket.tech/dl-core");
5
+ const getWaitTime = (integrationType, srcChainSlug, dstChainSlug) => {
6
+ switch (integrationType) {
7
+ case dl_core_1.IntegrationTypes.fast:
8
+ return 0;
9
+ case dl_core_1.IntegrationTypes.fast2:
10
+ return 0;
11
+ case dl_core_1.IntegrationTypes.optimistic:
12
+ return 2 * 3600;
13
+ case dl_core_1.IntegrationTypes.native:
14
+ return (0, exports.getNativeWaitTime)(srcChainSlug, dstChainSlug);
15
+ default:
16
+ return 0;
17
+ }
18
+ };
19
+ exports.getWaitTime = getWaitTime;
20
+ const getNativeWaitTime = (srcChainSlug, dstChainSlug) => {
21
+ var _a, _b;
22
+ return (_b = (_a = exports.NativeWaitTime[srcChainSlug]) === null || _a === void 0 ? void 0 : _a[dstChainSlug]) !== null && _b !== void 0 ? _b : 0;
23
+ };
24
+ exports.getNativeWaitTime = getNativeWaitTime;
25
+ exports.NativeWaitTime = {
26
+ [dl_core_1.ChainSlug.OPTIMISM_GOERLI]: {
27
+ [dl_core_1.ChainSlug.GOERLI]: 5 * 60,
28
+ },
29
+ [dl_core_1.ChainSlug.ARBITRUM_GOERLI]: {
30
+ [dl_core_1.ChainSlug.GOERLI]: 5 * 60,
31
+ },
32
+ [dl_core_1.ChainSlug.GOERLI]: {
33
+ [dl_core_1.ChainSlug.ARBITRUM_GOERLI]: 5 * 60,
34
+ [dl_core_1.ChainSlug.OPTIMISM_GOERLI]: 5 * 60,
35
+ },
36
+ [dl_core_1.ChainSlug.ARBITRUM]: {
37
+ [dl_core_1.ChainSlug.MAINNET]: 7 * 24 * 3600,
38
+ },
39
+ [dl_core_1.ChainSlug.OPTIMISM]: {
40
+ [dl_core_1.ChainSlug.MAINNET]: 7 * 24 * 3600,
41
+ },
42
+ [dl_core_1.ChainSlug.POLYGON_MAINNET]: {
43
+ [dl_core_1.ChainSlug.MAINNET]: 4 * 3600,
44
+ },
45
+ };
@@ -1,3 +1,4 @@
1
1
  export * from "./waitTime";
2
2
  export * from "./enums";
3
3
  export * from "./types";
4
+ export * from "./relay-types";
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./waitTime"), exports);
5
5
  tslib_1.__exportStar(require("./enums"), exports);
6
6
  tslib_1.__exportStar(require("./types"), exports);
7
+ tslib_1.__exportStar(require("./relay-types"), exports);
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dl-common/constants/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,kDAAwB;AACxB,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dl-common/constants/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,kDAAwB;AACxB,kDAAwB;AACxB,wDAA8B"}
@@ -0,0 +1,78 @@
1
+ import { BigNumberish, providers } from "ethers";
2
+ export type TxStatusUpdate = {
3
+ chainId: number;
4
+ txHash: string;
5
+ status: string;
6
+ confirmations: number;
7
+ txId: string;
8
+ source: string;
9
+ revertReason: string;
10
+ receipt?: providers.TransactionReceipt;
11
+ metadata?: object;
12
+ };
13
+ export declare enum TxStatus {
14
+ PENDING = "PENDING",
15
+ IN_PROGRESS = "IN_PROGRESS",
16
+ SUCCESS = "SUCCESS",
17
+ FAILED = "FAILED"
18
+ }
19
+ export declare enum RelayerStatus {
20
+ PENDING = "PENDING",
21
+ STARTED = "STARTED",
22
+ IN_PROGRESS = "IN_PROGRESS",
23
+ COMPLETED = "COMPLETED",
24
+ FAILED = "FAILED",
25
+ MAX_RETRY_REACHED = "MAX_RETRY_REACHED",
26
+ DUPLICATE_NONCE_TX = "DUPLICATE_NONCE_TX",
27
+ SIMULATION_FAILED = "SIMULATION_FAILED",
28
+ QUEUED = "QUEUED",
29
+ RETRYING = "RETRYING"
30
+ }
31
+ export interface RelayRequest {
32
+ to: string;
33
+ data: string;
34
+ chainId: number;
35
+ value?: number;
36
+ gasLimit?: number;
37
+ gasPrice?: BigNumberish;
38
+ sequential?: boolean;
39
+ source?: string;
40
+ useFlashBots?: boolean;
41
+ metadata?: Record<string, unknown>;
42
+ }
43
+ export interface RelayResponse {
44
+ txId: string;
45
+ status: string;
46
+ chainId: number;
47
+ }
48
+ export interface RelayerStatusResponse {
49
+ txId: string;
50
+ status: RelayerStatus;
51
+ chainId: number;
52
+ simulationBlock: number | null;
53
+ txHash: string | null;
54
+ to: string;
55
+ data: string;
56
+ source?: string;
57
+ metadata?: Record<string, unknown>;
58
+ value?: string;
59
+ gasLimit?: number | null;
60
+ gasPrice?: string | null;
61
+ maxFeePerGas?: string | null;
62
+ maxPriorityFeePerGas?: string | null;
63
+ nonce?: number | null;
64
+ relayerIndex?: number | null;
65
+ blockNumber?: number | null;
66
+ retryCount: number;
67
+ replacementCount?: number;
68
+ txFees?: number | null;
69
+ txFeesUSD?: number | null;
70
+ revertReason?: string | null;
71
+ errorMessage?: string | null;
72
+ replacedTxHashes: string[];
73
+ }
74
+ export interface RelayerApiResponse<T> {
75
+ success: boolean;
76
+ data: T;
77
+ timestamp: string;
78
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelayerStatus = exports.TxStatus = void 0;
4
+ var TxStatus;
5
+ (function (TxStatus) {
6
+ TxStatus["PENDING"] = "PENDING";
7
+ TxStatus["IN_PROGRESS"] = "IN_PROGRESS";
8
+ TxStatus["SUCCESS"] = "SUCCESS";
9
+ TxStatus["FAILED"] = "FAILED";
10
+ })(TxStatus || (exports.TxStatus = TxStatus = {}));
11
+ var RelayerStatus;
12
+ (function (RelayerStatus) {
13
+ RelayerStatus["PENDING"] = "PENDING";
14
+ RelayerStatus["STARTED"] = "STARTED";
15
+ RelayerStatus["IN_PROGRESS"] = "IN_PROGRESS";
16
+ RelayerStatus["COMPLETED"] = "COMPLETED";
17
+ RelayerStatus["FAILED"] = "FAILED";
18
+ RelayerStatus["MAX_RETRY_REACHED"] = "MAX_RETRY_REACHED";
19
+ RelayerStatus["DUPLICATE_NONCE_TX"] = "DUPLICATE_NONCE_TX";
20
+ RelayerStatus["SIMULATION_FAILED"] = "SIMULATION_FAILED";
21
+ RelayerStatus["QUEUED"] = "QUEUED";
22
+ RelayerStatus["RETRYING"] = "RETRYING";
23
+ })(RelayerStatus || (exports.RelayerStatus = RelayerStatus = {}));
24
+ //# sourceMappingURL=relay-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-types.js","sourceRoot":"","sources":["../../../dl-common/constants/relay-types.ts"],"names":[],"mappings":";;;AAcA,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,uCAA2B,CAAA;IAC3B,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;AACnB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAED,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;IACjB,wDAAuC,CAAA;IACvC,0DAAyC,CAAA;IACzC,wDAAuC,CAAA;IACvC,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;AACvB,CAAC,EAXW,aAAa,6BAAb,aAAa,QAWxB"}
@@ -8,12 +8,6 @@ export declare enum InboundStatus {
8
8
  EXECUTING = "EXECUTING",
9
9
  SUCCESS = "SUCCESS"
10
10
  }
11
- export declare enum RelayerAPIStatus {
12
- FAILED = "FAILED",
13
- SIMULATION_FAILED = "SIMULATION_FAILED",
14
- COMPLETED = "COMPLETED",
15
- DUPLICATE_NONCE_TX = "DUPLICATE_NONCE_TX"
16
- }
17
11
  export interface FeeEstimate {
18
12
  transmissionFees: string;
19
13
  verificationFees: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InternalServerError = exports.BadRequestError = exports.ServerError = exports.SigPendingReason = exports.ErrorReasons = exports.RelayerAPIStatus = exports.InboundStatus = void 0;
3
+ exports.InternalServerError = exports.BadRequestError = exports.ServerError = exports.SigPendingReason = exports.ErrorReasons = exports.InboundStatus = void 0;
4
4
  const enums_1 = require("./enums");
5
5
  var InboundStatus;
6
6
  (function (InboundStatus) {
@@ -9,13 +9,6 @@ var InboundStatus;
9
9
  InboundStatus["EXECUTING"] = "EXECUTING";
10
10
  InboundStatus["SUCCESS"] = "SUCCESS";
11
11
  })(InboundStatus || (exports.InboundStatus = InboundStatus = {}));
12
- var RelayerAPIStatus;
13
- (function (RelayerAPIStatus) {
14
- RelayerAPIStatus["FAILED"] = "FAILED";
15
- RelayerAPIStatus["SIMULATION_FAILED"] = "SIMULATION_FAILED";
16
- RelayerAPIStatus["COMPLETED"] = "COMPLETED";
17
- RelayerAPIStatus["DUPLICATE_NONCE_TX"] = "DUPLICATE_NONCE_TX";
18
- })(RelayerAPIStatus || (exports.RelayerAPIStatus = RelayerAPIStatus = {}));
19
12
  exports.ErrorReasons = {
20
13
  ZERO_AMOUNT: "ZERO_AMOUNT",
21
14
  PRE_EXEC_VALIDATION_ERROR: "PRE_EXEC_VALIDATION_ERROR",
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../dl-common/constants/types.ts"],"names":[],"mappings":";;;AAGA,mCAAsC;AAGtC,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,wCAAuB,CAAA;IACvB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,2DAAuC,CAAA;IACvC,2CAAuB,CAAA;IACvB,6DAAyC,CAAA;AAC3C,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AASY,QAAA,YAAY,GAAG;IAC1B,WAAW,EAAE,aAAa;IAC1B,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;CAC/B,CAAC;AAEF,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,+EAA2D,CAAA;IAC3D,6DAAyC,CAAA;IACzC,mEAA+C,CAAA;IAC/C,qDAAiC,CAAA;IACjC,6BAAS,CAAA;AACX,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAED,MAAa,WAAW;IAItB,YAAY,IAA4C,EAAE,OAAgB;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC;CACF;AAdD,kCAcC;AAEM,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE;IAClD,OAAO,IAAI,WAAW,CAAC,mBAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACtD,OAAO,IAAI,WAAW,CAAC,mBAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../dl-common/constants/types.ts"],"names":[],"mappings":";;;AAGA,mCAAsC;AAGtC,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,wCAAuB,CAAA;IACvB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AASY,QAAA,YAAY,GAAG;IAC1B,WAAW,EAAE,aAAa;IAC1B,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAC9C,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;CAC/B,CAAC;AAEF,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,+EAA2D,CAAA;IAC3D,6DAAyC,CAAA;IACzC,mEAA+C,CAAA;IAC/C,qDAAiC,CAAA;IACjC,6BAAS,CAAA;AACX,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAED,MAAa,WAAW;IAItB,YAAY,IAA4C,EAAE,OAAgB;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC;CACF;AAdD,kCAcC;AAEM,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE;IAClD,OAAO,IAAI,WAAW,CAAC,mBAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACtD,OAAO,IAAI,WAAW,CAAC,mBAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
@@ -11,3 +11,4 @@ export * from "./ethersAwsKmsSigner";
11
11
  export * from "./secretManagerService";
12
12
  export * from "./eventGetter";
13
13
  export * from "./s3Service";
14
+ export * from "./relayUtils";
@@ -14,4 +14,5 @@ tslib_1.__exportStar(require("./ethersAwsKmsSigner"), exports);
14
14
  tslib_1.__exportStar(require("./secretManagerService"), exports);
15
15
  tslib_1.__exportStar(require("./eventGetter"), exports);
16
16
  tslib_1.__exportStar(require("./s3Service"), exports);
17
+ tslib_1.__exportStar(require("./relayUtils"), exports);
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dl-common/utils/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,oDAA0B;AAC1B,wDAA8B;AAC9B,oDAA0B;AAC1B,oDAA0B;AAC1B,6DAAmC;AACnC,uDAA6B;AAC7B,iDAAuB;AACvB,mDAAyB;AACzB,+DAAqC;AACrC,iEAAuC;AACvC,wDAA8B;AAC9B,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dl-common/utils/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,oDAA0B;AAC1B,wDAA8B;AAC9B,oDAA0B;AAC1B,oDAA0B;AAC1B,6DAAmC;AACnC,uDAA6B;AAC7B,iDAAuB;AACvB,mDAAyB;AACzB,+DAAqC;AACrC,iEAAuC;AACvC,wDAA8B;AAC9B,sDAA4B;AAC5B,uDAA6B"}
@@ -2,15 +2,18 @@ import { Provider, TransactionRequest, TransactionResponse } from "@ethersprojec
2
2
  import { Signer } from "@ethersproject/abstract-signer";
3
3
  import { Bytes } from "@ethersproject/bytes";
4
4
  import { Deferrable } from "@ethersproject/properties";
5
+ import { RelayerStatusResponse } from "../constants";
5
6
  export declare class SocketRelaySigner extends Signer {
6
7
  readonly provider: Provider;
7
8
  readonly chainId: number;
8
9
  readonly relayUrl: string;
9
10
  readonly relayerAPIKey: string;
10
11
  readonly sequential: boolean;
12
+ readonly metadata: Object;
13
+ readonly source: string;
11
14
  readonly isCritical: boolean;
12
- readonly metadata: object;
13
- constructor(provider: Provider, chainId: number, relayUrl: string, relayerAPIKey: string, sequential?: boolean, isCritical?: boolean, metadata?: object);
15
+ readonly useFlashBots: boolean;
16
+ constructor(provider: Provider, chainId: number, relayUrl: string, relayerAPIKey: string, sequential?: boolean, metadata?: Object, source?: string, isCritical?: boolean, useFlashBots?: boolean);
14
17
  getAddress(): Promise<string>;
15
18
  signMessage(message: string | Bytes): Promise<string>;
16
19
  connect(provider: Provider): SocketRelaySigner;
@@ -18,4 +21,5 @@ export declare class SocketRelaySigner extends Signer {
18
21
  addMetadata(metadata: object): SocketRelaySigner;
19
22
  signTransaction(transaction: Deferrable<TransactionRequest>): Promise<string>;
20
23
  sendTransaction(transaction: Deferrable<TransactionRequest>): Promise<TransactionResponse>;
24
+ getTransactionStatus(txId: string): Promise<RelayerStatusResponse | null>;
21
25
  }