@socket.tech/dl-common 1.0.2 → 1.0.3-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 (48) hide show
  1. package/README.md +17 -0
  2. package/dist/constants/enums.d.ts +37 -0
  3. package/dist/constants/enums.js +44 -0
  4. package/dist/constants/index.d.ts +3 -0
  5. package/dist/constants/index.js +19 -0
  6. package/dist/constants/types.d.ts +117 -0
  7. package/dist/constants/types.js +37 -0
  8. package/dist/constants/waitTime.d.ts +7 -0
  9. package/dist/constants/waitTime.js +50 -0
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/models/attestSignature.d.ts +1 -0
  13. package/dist/models/attestSignature.js +22 -1
  14. package/dist/models/attestation.d.ts +70 -0
  15. package/dist/models/attestation.js +86 -0
  16. package/dist/models/index.d.ts +3 -0
  17. package/dist/models/index.js +3 -0
  18. package/dist/models/message.d.ts +1 -0
  19. package/dist/models/message.js +49 -1
  20. package/dist/models/packet.d.ts +13 -0
  21. package/dist/models/packet.js +47 -1
  22. package/dist/models/proposal.d.ts +1 -0
  23. package/dist/models/proposal.js +28 -1
  24. package/dist/models/switchboard.d.ts +61 -0
  25. package/dist/models/switchboard.js +75 -0
  26. package/dist/services/cacheService.d.ts +3 -3
  27. package/dist/services/cacheService.js +9 -21
  28. package/dist/services/queueService.js +3 -6
  29. package/dist/utils/axios.js +7 -0
  30. package/dist/utils/discord.d.ts +2 -1
  31. package/dist/utils/discord.js +23 -5
  32. package/dist/utils/ethersAwsKmsSigner.d.ts +2 -0
  33. package/dist/utils/ethersAwsKmsSigner.js +23 -0
  34. package/dist/utils/eventGetter.d.ts +4 -0
  35. package/dist/utils/eventGetter.js +50 -0
  36. package/dist/utils/extraUtils.d.ts +18 -8
  37. package/dist/utils/extraUtils.js +35 -17
  38. package/dist/utils/idUtils.d.ts +3 -2
  39. package/dist/utils/idUtils.js +14 -5
  40. package/dist/utils/index.d.ts +4 -0
  41. package/dist/utils/index.js +4 -0
  42. package/dist/utils/relaySigner.d.ts +2 -2
  43. package/dist/utils/relaySigner.js +7 -8
  44. package/dist/utils/secretManagerService.d.ts +2 -0
  45. package/dist/utils/secretManagerService.js +33 -0
  46. package/dist/utils/time.d.ts +1 -0
  47. package/dist/utils/time.js +5 -0
  48. package/package.json +11 -6
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.packPacketId = exports.unpackMessageId = exports.unpackPacketId = void 0;
3
+ exports.encodePacketId = exports.packPacketId = exports.unpackMessageId = exports.unpackPacketId = void 0;
4
4
  const ethers_1 = require("ethers");
5
5
  const address_1 = require("./address");
6
6
  const utils_1 = require("ethers/lib/utils");
@@ -9,11 +9,11 @@ const unpackPacketId = (packetId) => {
9
9
  const slugLength = packetId.length - 58;
10
10
  const chainSlug = parseInt(ethers_1.BigNumber.from(`0x${packetId.substring(2, 2 + slugLength)}`).toString());
11
11
  const capacitorAddr = (0, address_1.toLowerCase)(`0x${packetId.substring(2 + slugLength, 40 + 2 + slugLength)}`);
12
- const packetNonce = ethers_1.BigNumber.from(`0x${packetId.substring(40 + 2 + slugLength)}`).toString();
12
+ const packetCount = ethers_1.BigNumber.from(`0x${packetId.substring(40 + 2 + slugLength)}`).toString();
13
13
  return {
14
14
  chainSlug,
15
15
  capacitorAddr,
16
- packetNonce,
16
+ packetCount,
17
17
  };
18
18
  };
19
19
  exports.unpackPacketId = unpackPacketId;
@@ -30,8 +30,8 @@ const unpackMessageId = (messageId) => {
30
30
  };
31
31
  };
32
32
  exports.unpackMessageId = unpackMessageId;
33
- const packPacketId = (chainSlug, capacitorAddr, packetNonce) => {
34
- const nonce = ethers_1.BigNumber.from(packetNonce).toHexString();
33
+ const packPacketId = (chainSlug, capacitorAddr, packetCount) => {
34
+ const nonce = ethers_1.BigNumber.from(packetCount).toHexString();
35
35
  const nonceHex = nonce.length <= 16 ? (0, utils_1.hexZeroPad)(nonce, 8).substring(2) : nonce.substring(2);
36
36
  const slug = ethers_1.BigNumber.from(chainSlug).toHexString();
37
37
  const slugHex = slug.length <= 10 ? (0, utils_1.hexZeroPad)(slug, 4) : slug;
@@ -39,3 +39,12 @@ const packPacketId = (chainSlug, capacitorAddr, packetNonce) => {
39
39
  return id.toLowerCase();
40
40
  };
41
41
  exports.packPacketId = packPacketId;
42
+ function encodePacketId(chainSlug, capacitorAddress, packetCount) {
43
+ const encodedValue = (BigInt(chainSlug) << BigInt(224)) |
44
+ (BigInt(capacitorAddress) << BigInt(64)) |
45
+ BigInt(packetCount);
46
+ // Ensure the result is a 32-byte hex string (bytes32 in Solidity)
47
+ const resultHex = encodedValue.toString(16).padStart(64, "0");
48
+ return "0x" + resultHex;
49
+ }
50
+ exports.encodePacketId = encodePacketId;
@@ -5,3 +5,7 @@ export * from "./idUtils";
5
5
  export * from "./address";
6
6
  export * from "./dataStructHelper";
7
7
  export * from "./extraUtils";
8
+ export * from "./time";
9
+ export * from "./ethersAwsKmsSigner";
10
+ export * from "./secretManagerService";
11
+ export * from "./eventGetter";
@@ -21,3 +21,7 @@ __exportStar(require("./idUtils"), exports);
21
21
  __exportStar(require("./address"), exports);
22
22
  __exportStar(require("./dataStructHelper"), exports);
23
23
  __exportStar(require("./extraUtils"), exports);
24
+ __exportStar(require("./time"), exports);
25
+ __exportStar(require("./ethersAwsKmsSigner"), exports);
26
+ __exportStar(require("./secretManagerService"), exports);
27
+ __exportStar(require("./eventGetter"), exports);
@@ -4,13 +4,13 @@ import { Bytes } from "@ethersproject/bytes";
4
4
  import { Deferrable } from "@ethersproject/properties";
5
5
  export declare class SocketRelaySigner extends Signer {
6
6
  readonly provider: Provider;
7
+ readonly chainId: number;
7
8
  readonly relayUrl: string;
8
9
  readonly relayerAPIKey: string;
9
10
  readonly sequential: boolean;
10
11
  readonly isCritical: boolean;
11
12
  readonly metadata: object;
12
- readonly source: string;
13
- constructor(provider: Provider, relayUrl: string, relayerAPIKey: string, sequential?: boolean, isCritical?: boolean, metadata?: object, source?: string);
13
+ constructor(provider: Provider, chainId: number, relayUrl: string, relayerAPIKey: string, sequential?: boolean, isCritical?: boolean, metadata?: object);
14
14
  getAddress(): Promise<string>;
15
15
  signMessage(message: string | Bytes): Promise<string>;
16
16
  connect(provider: Provider): SocketRelaySigner;
@@ -4,18 +4,18 @@ exports.SocketRelaySigner = void 0;
4
4
  const abstract_signer_1 = require("@ethersproject/abstract-signer");
5
5
  const axios_1 = require("./axios");
6
6
  class SocketRelaySigner extends abstract_signer_1.Signer {
7
- constructor(provider, relayUrl, relayerAPIKey, sequential = false,
7
+ constructor(provider, chainId, relayUrl, relayerAPIKey, sequential = false,
8
8
  // if isCritical is set to true, will try multiple relayers
9
9
  // to get the transaction included
10
- isCritical = false, metadata = {}, source = "Attester") {
10
+ isCritical = false, metadata = {}) {
11
11
  super();
12
12
  this.provider = provider;
13
+ this.chainId = chainId;
13
14
  this.relayUrl = relayUrl;
14
15
  this.relayerAPIKey = relayerAPIKey;
15
16
  this.sequential = sequential;
16
17
  this.isCritical = isCritical;
17
18
  this.metadata = metadata;
18
- this.source = source;
19
19
  }
20
20
  async getAddress() {
21
21
  // some random address
@@ -25,13 +25,13 @@ class SocketRelaySigner extends abstract_signer_1.Signer {
25
25
  throw new Error(" signMessage not Implemented");
26
26
  }
27
27
  connect(provider) {
28
- return new SocketRelaySigner(provider, this.relayUrl, this.relayerAPIKey, this.sequential, this.isCritical, this.metadata);
28
+ return new SocketRelaySigner(provider, this.chainId, this.relayUrl, this.relayerAPIKey, this.sequential, this.isCritical, this.metadata);
29
29
  }
30
30
  setCritical(isCritical) {
31
- return new SocketRelaySigner(this.provider, this.relayUrl, this.relayerAPIKey, this.sequential, isCritical, this.metadata);
31
+ return new SocketRelaySigner(this.provider, this.chainId, this.relayUrl, this.relayerAPIKey, this.sequential, isCritical, this.metadata);
32
32
  }
33
33
  addMetadata(metadata) {
34
- return new SocketRelaySigner(this.provider, this.relayUrl, this.relayerAPIKey, this.sequential, this.isCritical, metadata);
34
+ return new SocketRelaySigner(this.provider, this.chainId, this.relayUrl, this.relayerAPIKey, this.sequential, this.isCritical, metadata);
35
35
  }
36
36
  async signTransaction(transaction) {
37
37
  throw new Error(" signTransaction not Implemented");
@@ -43,10 +43,9 @@ class SocketRelaySigner extends abstract_signer_1.Signer {
43
43
  if (!this.relayUrl)
44
44
  throw new Error("relayUrl not provided");
45
45
  let payload = {
46
- chainId: (await this.provider.getNetwork()).chainId,
46
+ chainId: this.chainId,
47
47
  sequential: this.sequential,
48
48
  isCritical: this.isCritical,
49
- source: this.source,
50
49
  metadata: this.metadata,
51
50
  ...transaction,
52
51
  };
@@ -0,0 +1,2 @@
1
+ export declare const getAllSecrets: (secretName: string, region?: string) => Promise<any>;
2
+ export declare const getSecret: (secretName: string, secretKey: string, region?: string) => Promise<any>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSecret = exports.getAllSecrets = void 0;
4
+ const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
5
+ const defaultRegion = "us-east-1";
6
+ const getAllSecrets = async (secretName, region = defaultRegion) => {
7
+ try {
8
+ const client = new client_secrets_manager_1.SecretsManagerClient({
9
+ region,
10
+ });
11
+ let response = await client.send(new client_secrets_manager_1.GetSecretValueCommand({
12
+ SecretId: secretName,
13
+ VersionStage: "AWSCURRENT", // VersionStage defaults to AWSCURRENT if unspecified
14
+ }));
15
+ if (!(response === null || response === void 0 ? void 0 : response.SecretString))
16
+ throw new Error("No secret found");
17
+ return JSON.parse(response.SecretString);
18
+ }
19
+ catch (error) {
20
+ throw error;
21
+ }
22
+ };
23
+ exports.getAllSecrets = getAllSecrets;
24
+ const getSecret = async (secretName, secretKey, region = defaultRegion) => {
25
+ try {
26
+ let secrets = await (0, exports.getAllSecrets)(secretName, region);
27
+ return secrets === null || secrets === void 0 ? void 0 : secrets[secretKey];
28
+ }
29
+ catch (error) {
30
+ throw error;
31
+ }
32
+ };
33
+ exports.getSecret = getSecret;
@@ -0,0 +1 @@
1
+ export declare const currentTimestampInSeconds: () => number;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.currentTimestampInSeconds = void 0;
4
+ const currentTimestampInSeconds = () => Math.floor(new Date().getTime() / 1000);
5
+ exports.currentTimestampInSeconds = currentTimestampInSeconds;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@socket.tech/dl-common",
3
- "version": "1.0.2",
4
- "main": "./dist/dl-common/index.js",
5
- "types": "./dist/dl-common/index.d.ts",
3
+ "version": "1.0.3-test.10",
4
+ "main": "./dist/index.js",
5
+ "types": "./dist/index.d.ts",
6
6
  "description": "common utilities for socket data layer.",
7
7
  "author": "akash <akash.minato@gmail.com>",
8
8
  "files": [
@@ -20,7 +20,7 @@
20
20
  "start": "serverless offline start --reloadHandler -s dev",
21
21
  "start:dev": "serverless offline start --reloadHandler -s dev",
22
22
  "deploy": "npx sls deploy -s dev --verbose",
23
- "deploy:prod": "npx sls deploy -s prod --verbose",
23
+ "deploy:prod": "export AWS_PROFILE=dlprod && npx sls deploy -s prod --verbose",
24
24
  "deploy:surge": "npx sls deploy -s surge --verbose",
25
25
  "build": "tsc --project lib.tsconfig.json",
26
26
  "build:clean": "rm -rf tsconfig.build.tsbuildinfo && rm -rf ./dist",
@@ -30,14 +30,19 @@
30
30
  "prettier:fix": "npx prettier src dl-common --write ./**/*.{ts,js,json,yml,md}",
31
31
  "format": "prettier \"./**\" --write --ignore-unknown",
32
32
  "format:check": "prettier \"./**\" --ignore-unknown --check",
33
- "prepare": "husky install"
33
+ "prepare": "husky install",
34
+ "publishp": "yarn lint && yarn build"
34
35
  },
35
36
  "dependencies": {
37
+ "@aws-sdk/client-secrets-manager": "^3.433.0",
36
38
  "@aws-sdk/client-sqs": "^3.421.0",
37
- "@socket.tech/dl-core": "^2.4.6-test.0",
39
+ "@aws-sdk/smithy-client": "^3.329.0",
40
+ "@ethersproject/providers": "^5.7.2",
41
+ "@socket.tech/dl-core": "2.4.10",
38
42
  "@socket.tech/ll-common": "^0.0.19",
39
43
  "async-redis": "^2.0.0",
40
44
  "ethers": "^5.7.1",
45
+ "ethers-aws-kms-signer": "^1.3.2",
41
46
  "pg": "^8.8.0",
42
47
  "pg-hstore": "^2.3.4",
43
48
  "prom-client": "^14.2.0",