@socket.tech/dl-common 1.0.4-test.1 → 1.0.4-test.10

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 (198) hide show
  1. package/dist/constants/types.d.ts +11 -1
  2. package/dist/constants/types.js +9 -1
  3. package/dist/dl-common/constants/confirmations.d.ts +5 -0
  4. package/dist/dl-common/constants/confirmations.js +17 -0
  5. package/dist/dl-common/constants/enums.d.ts +44 -0
  6. package/dist/dl-common/constants/enums.js +52 -0
  7. package/dist/dl-common/constants/index.d.ts +3 -0
  8. package/dist/dl-common/constants/index.js +19 -0
  9. package/dist/dl-common/constants/types.d.ts +126 -0
  10. package/dist/dl-common/constants/types.js +45 -0
  11. package/dist/dl-common/constants/waitTime.d.ts +8 -0
  12. package/dist/dl-common/constants/waitTime.js +49 -0
  13. package/dist/dl-common/index.d.ts +4 -0
  14. package/dist/dl-common/index.js +20 -0
  15. package/dist/dl-common/models/attestSignature.d.ts +35 -0
  16. package/dist/dl-common/models/attestSignature.js +53 -0
  17. package/dist/dl-common/models/attestation.d.ts +70 -0
  18. package/dist/dl-common/models/attestation.js +86 -0
  19. package/dist/dl-common/models/index.d.ts +7 -0
  20. package/dist/dl-common/models/index.js +23 -0
  21. package/dist/dl-common/models/lastBlock.d.ts +28 -0
  22. package/dist/dl-common/models/lastBlock.js +27 -0
  23. package/dist/dl-common/models/message.d.ts +166 -0
  24. package/dist/dl-common/models/message.js +183 -0
  25. package/dist/dl-common/models/packet.d.ts +241 -0
  26. package/dist/dl-common/models/packet.js +250 -0
  27. package/dist/dl-common/models/proposal.d.ts +127 -0
  28. package/dist/dl-common/models/proposal.js +141 -0
  29. package/dist/dl-common/models/switchboard.d.ts +69 -0
  30. package/dist/dl-common/models/switchboard.js +92 -0
  31. package/dist/dl-common/models/transaction.d.ts +0 -0
  32. package/dist/dl-common/models/transaction.js +280 -0
  33. package/dist/dl-common/services/cacheService.d.ts +14 -0
  34. package/dist/dl-common/services/cacheService.js +77 -0
  35. package/dist/dl-common/services/eventBridgeService.d.ts +8 -0
  36. package/dist/dl-common/services/eventBridgeService.js +40 -0
  37. package/dist/dl-common/services/index.d.ts +3 -0
  38. package/dist/dl-common/services/index.js +20 -0
  39. package/dist/dl-common/services/queueService.d.ts +10 -0
  40. package/dist/dl-common/services/queueService.js +62 -0
  41. package/dist/dl-common/utils/address.d.ts +2 -0
  42. package/dist/dl-common/utils/address.js +8 -0
  43. package/dist/dl-common/utils/axios.d.ts +2 -0
  44. package/dist/dl-common/utils/axios.js +54 -0
  45. package/dist/dl-common/utils/dataStructHelper.d.ts +2 -0
  46. package/dist/dl-common/utils/dataStructHelper.js +10 -0
  47. package/dist/dl-common/utils/discord.d.ts +2 -0
  48. package/dist/dl-common/utils/discord.js +35 -0
  49. package/dist/dl-common/utils/ethersAwsKmsSigner.d.ts +2 -0
  50. package/dist/dl-common/utils/ethersAwsKmsSigner.js +26 -0
  51. package/dist/dl-common/utils/eventGetter.d.ts +4 -0
  52. package/dist/dl-common/utils/eventGetter.js +50 -0
  53. package/dist/dl-common/utils/extraUtils.d.ts +32 -0
  54. package/dist/dl-common/utils/extraUtils.js +103 -0
  55. package/dist/dl-common/utils/idUtils.d.ts +14 -0
  56. package/dist/dl-common/utils/idUtils.js +50 -0
  57. package/dist/dl-common/utils/index.d.ts +13 -0
  58. package/dist/dl-common/utils/index.js +29 -0
  59. package/dist/dl-common/utils/relaySigner.d.ts +21 -0
  60. package/dist/dl-common/utils/relaySigner.js +68 -0
  61. package/dist/dl-common/utils/s3Service.d.ts +5 -0
  62. package/dist/dl-common/utils/s3Service.js +45 -0
  63. package/dist/dl-common/utils/secretManagerService.d.ts +2 -0
  64. package/dist/dl-common/utils/secretManagerService.js +33 -0
  65. package/dist/dl-common/utils/signer/adapter.d.ts +18 -0
  66. package/dist/dl-common/utils/signer/adapter.js +71 -0
  67. package/dist/dl-common/utils/signer/address.d.ts +10 -0
  68. package/dist/dl-common/utils/signer/address.js +42 -0
  69. package/dist/dl-common/utils/signer/asn1-parser.d.ts +11 -0
  70. package/dist/dl-common/utils/signer/asn1-parser.js +80 -0
  71. package/dist/dl-common/utils/signer/crypto.d.ts +6 -0
  72. package/dist/dl-common/utils/signer/crypto.js +34 -0
  73. package/dist/dl-common/utils/signer/index.d.ts +4 -0
  74. package/dist/dl-common/utils/signer/index.js +20 -0
  75. package/dist/dl-common/utils/signer/kms-ethers-signer.d.ts +19 -0
  76. package/dist/dl-common/utils/signer/kms-ethers-signer.js +32 -0
  77. package/dist/dl-common/utils/signer/kms-signer.d.ts +14 -0
  78. package/dist/dl-common/utils/signer/kms-signer.js +46 -0
  79. package/dist/dl-common/utils/signer/signature.d.ts +17 -0
  80. package/dist/dl-common/utils/signer/signature.js +65 -0
  81. package/dist/dl-common/utils/signer/signer.d.ts +7 -0
  82. package/dist/dl-common/utils/signer/signer.js +2 -0
  83. package/dist/dl-common/utils/time.d.ts +2 -0
  84. package/dist/dl-common/utils/time.js +7 -0
  85. package/dist/index.js +14 -30
  86. package/dist/models/packet.d.ts +0 -1
  87. package/dist/models/packet.js +0 -1
  88. package/dist/src/constants/batcherModes.d.ts +7 -0
  89. package/dist/src/constants/batcherModes.js +56 -0
  90. package/dist/src/constants/config.d.ts +39 -0
  91. package/dist/src/constants/config.js +77 -0
  92. package/dist/src/constants/enums.d.ts +21 -0
  93. package/dist/src/constants/enums.js +27 -0
  94. package/dist/src/constants/gasEstimation.d.ts +8 -0
  95. package/dist/src/constants/gasEstimation.js +61 -0
  96. package/dist/src/constants/index.d.ts +11 -0
  97. package/dist/src/constants/index.js +28 -0
  98. package/dist/src/constants/limits.d.ts +21 -0
  99. package/dist/src/constants/limits.js +91 -0
  100. package/dist/src/constants/prometheus.config.d.ts +43 -0
  101. package/dist/src/constants/prometheus.config.js +316 -0
  102. package/dist/src/constants/relayer.d.ts +6 -0
  103. package/dist/src/constants/relayer.js +15 -0
  104. package/dist/src/constants/s3Config.d.ts +13 -0
  105. package/dist/src/constants/s3Config.js +61 -0
  106. package/dist/src/constants/stageConfig.d.ts +7 -0
  107. package/dist/src/constants/stageConfig.js +24 -0
  108. package/dist/src/constants/types.d.ts +45 -0
  109. package/dist/src/constants/types.js +2 -0
  110. package/dist/src/constants/watchers.d.ts +15 -0
  111. package/dist/src/constants/watchers.js +137 -0
  112. package/dist/src/controllers/index.d.ts +0 -0
  113. package/dist/src/controllers/index.js +3 -0
  114. package/dist/src/db/associations.d.ts +1 -0
  115. package/dist/src/db/associations.js +46 -0
  116. package/dist/src/db/connection.d.ts +4 -0
  117. package/dist/src/db/connection.js +73 -0
  118. package/dist/src/db/index.d.ts +2 -0
  119. package/dist/src/db/index.js +18 -0
  120. package/dist/src/db/init.d.ts +2 -0
  121. package/dist/src/db/init.js +27 -0
  122. package/dist/src/handlers/common.d.ts +2 -0
  123. package/dist/src/handlers/common.js +59 -0
  124. package/dist/src/handlers/cronHandler.d.ts +10 -0
  125. package/dist/src/handlers/cronHandler.js +268 -0
  126. package/dist/src/handlers/executeHandler.d.ts +3 -0
  127. package/dist/src/handlers/executeHandler.js +66 -0
  128. package/dist/src/handlers/handler.d.ts +2 -0
  129. package/dist/src/handlers/handler.js +29 -0
  130. package/dist/src/handlers/proposeHandler.d.ts +3 -0
  131. package/dist/src/handlers/proposeHandler.js +69 -0
  132. package/dist/src/handlers/routes.d.ts +2 -0
  133. package/dist/src/handlers/routes.js +26 -0
  134. package/dist/src/handlers/sealHandler.d.ts +4 -0
  135. package/dist/src/handlers/sealHandler.js +245 -0
  136. package/dist/src/handlers/statusHandler.d.ts +5 -0
  137. package/dist/src/handlers/statusHandler.js +116 -0
  138. package/dist/src/handlers/taskHandler.d.ts +2 -0
  139. package/dist/src/handlers/taskHandler.js +110 -0
  140. package/dist/src/handlers/testHandler.d.ts +4 -0
  141. package/dist/src/handlers/testHandler.js +99 -0
  142. package/dist/src/main.d.ts +0 -0
  143. package/dist/src/main.js +12 -0
  144. package/dist/src/relayers/common.d.ts +7 -0
  145. package/dist/src/relayers/common.js +55 -0
  146. package/dist/src/relayers/index.d.ts +2 -0
  147. package/dist/src/relayers/index.js +19 -0
  148. package/dist/src/relayers/proposeRelayer.d.ts +7 -0
  149. package/dist/src/relayers/proposeRelayer.js +587 -0
  150. package/dist/src/relayers/sealRelayer.d.ts +8 -0
  151. package/dist/src/relayers/sealRelayer.js +276 -0
  152. package/dist/src/services/attestService.d.ts +45 -0
  153. package/dist/src/services/attestService.js +269 -0
  154. package/dist/src/services/batcherService.d.ts +9 -0
  155. package/dist/src/services/batcherService.js +197 -0
  156. package/dist/src/services/executeService.d.ts +16 -0
  157. package/dist/src/services/executeService.js +209 -0
  158. package/dist/src/services/gasEstimationService.d.ts +3 -0
  159. package/dist/src/services/gasEstimationService.js +12 -0
  160. package/dist/src/services/index.d.ts +4 -0
  161. package/dist/src/services/index.js +23 -0
  162. package/dist/src/services/indexSealService.d.ts +15 -0
  163. package/dist/src/services/indexSealService.js +120 -0
  164. package/dist/src/services/proposalCheckService.d.ts +9 -0
  165. package/dist/src/services/proposalCheckService.js +119 -0
  166. package/dist/src/services/sealService.d.ts +27 -0
  167. package/dist/src/services/sealService.js +190 -0
  168. package/dist/src/statusTrackers/failedMessage.d.ts +8 -0
  169. package/dist/src/statusTrackers/failedMessage.js +72 -0
  170. package/dist/src/statusTrackers/failedPacket.d.ts +13 -0
  171. package/dist/src/statusTrackers/failedPacket.js +110 -0
  172. package/dist/src/statusTrackers/index.d.ts +3 -0
  173. package/dist/src/statusTrackers/index.js +26 -0
  174. package/dist/src/statusTrackers/message.d.ts +4 -0
  175. package/dist/src/statusTrackers/message.js +257 -0
  176. package/dist/src/statusTrackers/packet.d.ts +33 -0
  177. package/dist/src/statusTrackers/packet.js +477 -0
  178. package/dist/src/utils/chain-utils.d.ts +5 -0
  179. package/dist/src/utils/chain-utils.js +42 -0
  180. package/dist/src/utils/index.d.ts +2 -0
  181. package/dist/src/utils/index.js +18 -0
  182. package/dist/src/utils/logger.d.ts +9 -0
  183. package/dist/src/utils/logger.js +9 -0
  184. package/dist/utils/dataStructHelper.js +2 -2
  185. package/dist/utils/idUtils.js +2 -2
  186. package/dist/utils/signer/address.d.ts +0 -1
  187. package/dist/utils/signer/asn1-parser.d.ts +0 -1
  188. package/dist/utils/signer/asn1-parser.js +2 -3
  189. package/dist/utils/signer/crypto.d.ts +0 -1
  190. package/dist/utils/signer/crypto.js +3 -4
  191. package/dist/utils/signer/index.d.ts +1 -0
  192. package/dist/utils/signer/index.js +1 -0
  193. package/dist/utils/signer/kms-signer.d.ts +0 -1
  194. package/dist/utils/signer/signature.d.ts +0 -1
  195. package/dist/utils/signer/signer.d.ts +0 -1
  196. package/dist/utils/signer/socketSigner.d.ts +32 -0
  197. package/dist/utils/signer/socketSigner.js +121 -0
  198. package/package.json +3 -3
@@ -18,3 +18,4 @@ __exportStar(require("./address"), exports);
18
18
  __exportStar(require("./signature"), exports);
19
19
  __exportStar(require("./kms-signer"), exports);
20
20
  __exportStar(require("./kms-ethers-signer"), exports);
21
+ __exportStar(require("./socketSigner"), exports);
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { KMSClientConfig } from "@aws-sdk/client-kms";
3
2
  import { Signature } from "./signature";
4
3
  import { Address } from "./address";
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import BN from "bn.js";
3
2
  import { Address } from "./address";
4
3
  export declare const secp256k1N: BN;
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Address } from "./address";
3
2
  import { Signature } from "./signature";
4
3
  export interface Signer {
@@ -0,0 +1,32 @@
1
+ import { type Provider, type TransactionRequest, type TransactionResponse } from "@ethersproject/abstract-provider";
2
+ import { type Deferrable } from "@ethersproject/properties";
3
+ import { SocketRelaySigner } from "../relaySigner";
4
+ import { Contract, type Wallet } from "ethers";
5
+ export declare const EIP712_SAFE_TX_TYPE: {
6
+ SafeTx: {
7
+ type: string;
8
+ name: string;
9
+ }[];
10
+ };
11
+ export declare class SocketSigner extends SocketRelaySigner {
12
+ readonly provider: Provider;
13
+ readonly chainId: number;
14
+ readonly safeAddress: string;
15
+ readonly safeWrapperAddress: string;
16
+ readonly relayUrl: string;
17
+ readonly relayerAPIKey: string;
18
+ readonly signingWallet?: Wallet | undefined;
19
+ readonly useSafe: boolean;
20
+ readonly useEOA: boolean;
21
+ readonly sequential: boolean;
22
+ readonly isCritical: boolean;
23
+ readonly metadata: object;
24
+ readonly safeWrapperContract: Contract;
25
+ readonly address: string;
26
+ constructor(provider: Provider, chainId: number, safeAddress: string, safeWrapperAddress: string, relayUrl: string, relayerAPIKey: string, signingWallet?: Wallet | undefined, useSafe?: boolean, useEOA?: boolean, sequential?: boolean, isCritical?: boolean, metadata?: object);
27
+ setSigningWallet(signingWallet: Wallet): SocketRelaySigner;
28
+ setSafeWrapperAddress(safeWrapperAddress: string): SocketRelaySigner;
29
+ setSafeAddress(safeAddress: string): SocketRelaySigner;
30
+ getAddress(): Promise<string>;
31
+ sendTransaction(transaction: Deferrable<TransactionRequest>): Promise<TransactionResponse>;
32
+ }
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SocketSigner = exports.EIP712_SAFE_TX_TYPE = void 0;
7
+ const relaySigner_1 = require("../relaySigner");
8
+ const ethers_1 = require("ethers");
9
+ const MultiSigWrapper_json_1 = __importDefault(require("@socket.tech/dl-core/artifacts/abi/MultiSigWrapper.json"));
10
+ exports.EIP712_SAFE_TX_TYPE = {
11
+ // "SafeTx(address to,uint256 value,bytes data,uint8 operation,uint256 safeTxGas,uint256 baseGas,uint256 gasPrice,address gasToken,address refundReceiver,uint256 nonce)"
12
+ SafeTx: [
13
+ { type: "address", name: "to" },
14
+ { type: "uint256", name: "value" },
15
+ { type: "bytes", name: "data" },
16
+ { type: "uint8", name: "operation" },
17
+ { type: "uint256", name: "safeTxGas" },
18
+ { type: "uint256", name: "baseGas" },
19
+ { type: "uint256", name: "gasPrice" },
20
+ { type: "address", name: "gasToken" },
21
+ { type: "address", name: "refundReceiver" },
22
+ { type: "uint256", name: "nonce" },
23
+ ],
24
+ };
25
+ class SocketSigner extends relaySigner_1.SocketRelaySigner {
26
+ constructor(provider, chainId,
27
+ // address of safe
28
+ safeAddress,
29
+ // address of safe wrapper to store sign
30
+ safeWrapperAddress, relayUrl, relayerAPIKey,
31
+ // wallet for signing safe hash data
32
+ signingWallet,
33
+ // if you want to relay tx to wrapper
34
+ useSafe = false,
35
+ // if you want to relay tx using EOA, otherwise it will use relayer
36
+ useEOA = false, sequential = false,
37
+ // if isCritical is set to true, will try multiple relayers
38
+ // to get the transaction included
39
+ isCritical = false, metadata = {}) {
40
+ super(provider, chainId, relayUrl, relayerAPIKey, sequential, isCritical, metadata);
41
+ this.provider = provider;
42
+ this.chainId = chainId;
43
+ this.safeAddress = safeAddress;
44
+ this.safeWrapperAddress = safeWrapperAddress;
45
+ this.relayUrl = relayUrl;
46
+ this.relayerAPIKey = relayerAPIKey;
47
+ this.signingWallet = signingWallet;
48
+ this.useSafe = useSafe;
49
+ this.useEOA = useEOA;
50
+ this.sequential = sequential;
51
+ this.isCritical = isCritical;
52
+ this.metadata = metadata;
53
+ this.address =
54
+ this.signingWallet != null
55
+ ? this.signingWallet.address
56
+ : "0x5367Efc17020Aa1CF0943bA7eD17f1D3e4c7d7EE";
57
+ if (this.safeWrapperAddress.length !== 0 ||
58
+ this.safeWrapperAddress !== ethers_1.constants.AddressZero)
59
+ this.safeWrapperContract = new ethers_1.Contract(this.safeWrapperAddress, MultiSigWrapper_json_1.default, this.provider);
60
+ }
61
+ setSigningWallet(signingWallet) {
62
+ return new SocketSigner(this.provider, this.chainId, this.safeAddress, this.safeWrapperAddress, this.relayUrl, this.relayerAPIKey, signingWallet, this.useSafe, this.useEOA, this.sequential, this.isCritical, this.metadata);
63
+ }
64
+ setSafeWrapperAddress(safeWrapperAddress) {
65
+ return new SocketSigner(this.provider, this.chainId, this.safeAddress, safeWrapperAddress, this.relayUrl, this.relayerAPIKey, this.signingWallet, this.useSafe, this.useEOA, this.sequential, this.isCritical, this.metadata);
66
+ }
67
+ setSafeAddress(safeAddress) {
68
+ return new SocketSigner(this.provider, this.chainId, safeAddress, this.safeWrapperAddress, this.relayUrl, this.relayerAPIKey, this.signingWallet, this.useSafe, this.useEOA, this.sequential, this.isCritical, this.metadata);
69
+ }
70
+ async getAddress() {
71
+ if (this.signingWallet != null)
72
+ return this.signingWallet.address;
73
+ return await super.getAddress();
74
+ }
75
+ async sendTransaction(transaction) {
76
+ var _a, _b;
77
+ if (this.useSafe) {
78
+ if (this.safeAddress.length === 0 ||
79
+ this.safeAddress === ethers_1.constants.AddressZero)
80
+ throw new Error("safeAddress not provided");
81
+ if (this.safeWrapperContract == null)
82
+ throw new Error("safe wrapper not provided");
83
+ if (this.signingWallet == null)
84
+ throw new Error("signingWallet not provided");
85
+ const signerAddress = await this.getAddress();
86
+ let nonce = await this.safeWrapperContract.lastNonce(signerAddress);
87
+ if (Number(nonce) !== 0)
88
+ nonce = Number(nonce) + 1;
89
+ const contractData = {
90
+ to: transaction.to,
91
+ value: (_a = transaction.value) !== null && _a !== void 0 ? _a : 0,
92
+ data: (_b = transaction.data) !== null && _b !== void 0 ? _b : "0x",
93
+ operation: 0,
94
+ safeTxGas: 0,
95
+ baseGas: 0,
96
+ gasPrice: 0,
97
+ gasToken: ethers_1.constants.AddressZero,
98
+ refundReceiver: ethers_1.constants.AddressZero,
99
+ nonce,
100
+ };
101
+ const signature = await this.signingWallet._signTypedData({ verifyingContract: this.safeAddress, chainId: this.chainId }, exports.EIP712_SAFE_TX_TYPE, contractData);
102
+ // update to & data
103
+ transaction.data = this.safeWrapperContract.interface.encodeFunctionData("storeOrRelaySignatures", [
104
+ this.signingWallet.address,
105
+ contractData.to,
106
+ nonce,
107
+ contractData.value,
108
+ contractData.data,
109
+ signature,
110
+ ]);
111
+ transaction.to = this.safeWrapperAddress;
112
+ }
113
+ if (this.useEOA) {
114
+ if (this.signingWallet == null)
115
+ throw new Error("signingWallet not provided");
116
+ return await this.signingWallet.sendTransaction(transaction);
117
+ }
118
+ return await super.sendTransaction(transaction);
119
+ }
120
+ }
121
+ exports.SocketSigner = SocketSigner;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@socket.tech/dl-common",
3
- "version": "1.0.4-test.1",
3
+ "version": "1.0.4-test.10",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "description": "common utilities for socket data layer.",
@@ -51,8 +51,8 @@
51
51
  "@aws-sdk/client-secrets-manager": "^3.433.0",
52
52
  "@aws-sdk/client-sqs": "^3.421.0",
53
53
  "@ethersproject/providers": "^5.7.2",
54
- "@smithy/smithy-client": "^3.1.4",
55
- "@socket.tech/dl-core": "^2.7.0",
54
+ "@smithy/smithy-client": "^3.1.5",
55
+ "@socket.tech/dl-core": "^2.17.0-test.1",
56
56
  "@socket.tech/ll-common": "^0.0.19",
57
57
  "async-redis": "^2.0.0",
58
58
  "aws-kms-ethers-signer": "^0.1.3",