@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.
- package/README.md +17 -0
- package/dist/constants/enums.d.ts +37 -0
- package/dist/constants/enums.js +44 -0
- package/dist/constants/index.d.ts +3 -0
- package/dist/constants/index.js +19 -0
- package/dist/constants/types.d.ts +117 -0
- package/dist/constants/types.js +37 -0
- package/dist/constants/waitTime.d.ts +7 -0
- package/dist/constants/waitTime.js +50 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/models/attestSignature.d.ts +1 -0
- package/dist/models/attestSignature.js +22 -1
- package/dist/models/attestation.d.ts +70 -0
- package/dist/models/attestation.js +86 -0
- package/dist/models/index.d.ts +3 -0
- package/dist/models/index.js +3 -0
- package/dist/models/message.d.ts +1 -0
- package/dist/models/message.js +49 -1
- package/dist/models/packet.d.ts +13 -0
- package/dist/models/packet.js +47 -1
- package/dist/models/proposal.d.ts +1 -0
- package/dist/models/proposal.js +28 -1
- package/dist/models/switchboard.d.ts +61 -0
- package/dist/models/switchboard.js +75 -0
- package/dist/services/cacheService.d.ts +3 -3
- package/dist/services/cacheService.js +9 -21
- package/dist/services/queueService.js +3 -6
- package/dist/utils/axios.js +7 -0
- package/dist/utils/discord.d.ts +2 -1
- package/dist/utils/discord.js +23 -5
- package/dist/utils/ethersAwsKmsSigner.d.ts +2 -0
- package/dist/utils/ethersAwsKmsSigner.js +23 -0
- package/dist/utils/eventGetter.d.ts +4 -0
- package/dist/utils/eventGetter.js +50 -0
- package/dist/utils/extraUtils.d.ts +18 -8
- package/dist/utils/extraUtils.js +35 -17
- package/dist/utils/idUtils.d.ts +3 -2
- package/dist/utils/idUtils.js +14 -5
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/relaySigner.d.ts +2 -2
- package/dist/utils/relaySigner.js +7 -8
- package/dist/utils/secretManagerService.d.ts +2 -0
- package/dist/utils/secretManagerService.js +33 -0
- package/dist/utils/time.d.ts +1 -0
- package/dist/utils/time.js +5 -0
- package/package.json +11 -6
package/dist/utils/idUtils.js
CHANGED
|
@@ -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
|
|
12
|
+
const packetCount = ethers_1.BigNumber.from(`0x${packetId.substring(40 + 2 + slugLength)}`).toString();
|
|
13
13
|
return {
|
|
14
14
|
chainSlug,
|
|
15
15
|
capacitorAddr,
|
|
16
|
-
|
|
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,
|
|
34
|
-
const nonce = ethers_1.BigNumber.from(
|
|
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;
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -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
|
-
|
|
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 = {}
|
|
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:
|
|
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,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.
|
|
4
|
-
"main": "./dist/
|
|
5
|
-
"types": "./dist/
|
|
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
|
-
"@
|
|
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",
|