@socket.tech/dl-common 1.0.1
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/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +20 -0
- package/dist/models/attestSignature.d.ts +34 -0
- package/dist/models/attestSignature.js +32 -0
- package/dist/models/attestations.d.ts +69 -0
- package/dist/models/attestations.js +59 -0
- package/dist/models/index.d.ts +3 -0
- package/dist/models/index.js +19 -0
- package/dist/models/message.d.ts +165 -0
- package/dist/models/message.js +135 -0
- package/dist/models/packet.d.ts +220 -0
- package/dist/models/packet.js +195 -0
- package/dist/models/proposal.d.ts +126 -0
- package/dist/models/proposal.js +114 -0
- package/dist/services/cacheService.d.ts +14 -0
- package/dist/services/cacheService.js +89 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.js +19 -0
- package/dist/services/queueService.d.ts +10 -0
- package/dist/services/queueService.js +57 -0
- package/dist/types/codes.d.ts +22 -0
- package/dist/types/codes.js +28 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +18 -0
- package/dist/types/types.d.ts +86 -0
- package/dist/types/types.js +41 -0
- package/dist/utils/address.d.ts +2 -0
- package/dist/utils/address.js +8 -0
- package/dist/utils/axios.d.ts +2 -0
- package/dist/utils/axios.js +47 -0
- package/dist/utils/dataStructHelper.d.ts +2 -0
- package/dist/utils/dataStructHelper.js +10 -0
- package/dist/utils/discord.d.ts +1 -0
- package/dist/utils/discord.js +17 -0
- package/dist/utils/extraUtils.d.ts +22 -0
- package/dist/utils/extraUtils.js +85 -0
- package/dist/utils/idUtils.d.ts +13 -0
- package/dist/utils/idUtils.js +41 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.js +23 -0
- package/dist/utils/relaySigner.d.ts +21 -0
- package/dist/utils/relaySigner.js +69 -0
- package/package.json +80 -0
|
@@ -0,0 +1,23 @@
|
|
|
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("./axios"), exports);
|
|
18
|
+
__exportStar(require("./discord"), exports);
|
|
19
|
+
__exportStar(require("./relaySigner"), exports);
|
|
20
|
+
__exportStar(require("./idUtils"), exports);
|
|
21
|
+
__exportStar(require("./address"), exports);
|
|
22
|
+
__exportStar(require("./dataStructHelper"), exports);
|
|
23
|
+
__exportStar(require("./extraUtils"), exports);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Provider, TransactionRequest, TransactionResponse } from "@ethersproject/abstract-provider";
|
|
2
|
+
import { Signer } from "@ethersproject/abstract-signer";
|
|
3
|
+
import { Bytes } from "@ethersproject/bytes";
|
|
4
|
+
import { Deferrable } from "@ethersproject/properties";
|
|
5
|
+
export declare class SocketRelaySigner extends Signer {
|
|
6
|
+
readonly provider: Provider;
|
|
7
|
+
readonly relayUrl: string;
|
|
8
|
+
readonly relayerAPIKey: string;
|
|
9
|
+
readonly sequential: boolean;
|
|
10
|
+
readonly isCritical: boolean;
|
|
11
|
+
readonly metadata: object;
|
|
12
|
+
readonly source: string;
|
|
13
|
+
constructor(provider: Provider, relayUrl: string, relayerAPIKey: string, sequential?: boolean, isCritical?: boolean, metadata?: object, source?: string);
|
|
14
|
+
getAddress(): Promise<string>;
|
|
15
|
+
signMessage(message: string | Bytes): Promise<string>;
|
|
16
|
+
connect(provider: Provider): SocketRelaySigner;
|
|
17
|
+
setCritical(isCritical: boolean): SocketRelaySigner;
|
|
18
|
+
addMetadata(metadata: object): SocketRelaySigner;
|
|
19
|
+
signTransaction(transaction: Deferrable<TransactionRequest>): Promise<string>;
|
|
20
|
+
sendTransaction(transaction: Deferrable<TransactionRequest>): Promise<TransactionResponse>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SocketRelaySigner = void 0;
|
|
4
|
+
const abstract_signer_1 = require("@ethersproject/abstract-signer");
|
|
5
|
+
const axios_1 = require("./axios");
|
|
6
|
+
class SocketRelaySigner extends abstract_signer_1.Signer {
|
|
7
|
+
constructor(provider, relayUrl, relayerAPIKey, sequential = false,
|
|
8
|
+
// if isCritical is set to true, will try multiple relayers
|
|
9
|
+
// to get the transaction included
|
|
10
|
+
isCritical = false, metadata = {}, source = "Attester") {
|
|
11
|
+
super();
|
|
12
|
+
this.provider = provider;
|
|
13
|
+
this.relayUrl = relayUrl;
|
|
14
|
+
this.relayerAPIKey = relayerAPIKey;
|
|
15
|
+
this.sequential = sequential;
|
|
16
|
+
this.isCritical = isCritical;
|
|
17
|
+
this.metadata = metadata;
|
|
18
|
+
this.source = source;
|
|
19
|
+
}
|
|
20
|
+
async getAddress() {
|
|
21
|
+
// some random address
|
|
22
|
+
return "0x5367Efc17020Aa1CF0943bA7eD17f1D3e4c7d7EE";
|
|
23
|
+
}
|
|
24
|
+
async signMessage(message) {
|
|
25
|
+
throw new Error(" signMessage not Implemented");
|
|
26
|
+
}
|
|
27
|
+
connect(provider) {
|
|
28
|
+
return new SocketRelaySigner(provider, this.relayUrl, this.relayerAPIKey, this.sequential, this.isCritical, this.metadata);
|
|
29
|
+
}
|
|
30
|
+
setCritical(isCritical) {
|
|
31
|
+
return new SocketRelaySigner(this.provider, this.relayUrl, this.relayerAPIKey, this.sequential, isCritical, this.metadata);
|
|
32
|
+
}
|
|
33
|
+
addMetadata(metadata) {
|
|
34
|
+
return new SocketRelaySigner(this.provider, this.relayUrl, this.relayerAPIKey, this.sequential, this.isCritical, metadata);
|
|
35
|
+
}
|
|
36
|
+
async signTransaction(transaction) {
|
|
37
|
+
throw new Error(" signTransaction not Implemented");
|
|
38
|
+
}
|
|
39
|
+
async sendTransaction(transaction) {
|
|
40
|
+
try {
|
|
41
|
+
if (!this.relayerAPIKey)
|
|
42
|
+
throw new Error("relayerAPIKey not provided");
|
|
43
|
+
if (!this.relayUrl)
|
|
44
|
+
throw new Error("relayUrl not provided");
|
|
45
|
+
let payload = {
|
|
46
|
+
chainId: (await this.provider.getNetwork()).chainId,
|
|
47
|
+
sequential: this.sequential,
|
|
48
|
+
isCritical: this.isCritical,
|
|
49
|
+
source: this.source,
|
|
50
|
+
metadata: this.metadata,
|
|
51
|
+
...transaction,
|
|
52
|
+
};
|
|
53
|
+
const config = {
|
|
54
|
+
headers: {
|
|
55
|
+
"x-api-key": this.relayerAPIKey,
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
let result = await (0, axios_1.axiosPost)(this.relayUrl, payload, config);
|
|
59
|
+
if (!result.success)
|
|
60
|
+
throw result;
|
|
61
|
+
let tx = result === null || result === void 0 ? void 0 : result.data;
|
|
62
|
+
return this.provider._wrapTransaction(tx);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.SocketRelaySigner = SocketRelaySigner;
|
package/package.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@socket.tech/dl-common",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"main": "./dist/dl-common/index.js",
|
|
5
|
+
"types": "./dist/dl-common/index.d.ts",
|
|
6
|
+
"description": "common utilities for socket data layer.",
|
|
7
|
+
"author": "akash <akash.minato@gmail.com>",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/SocketDotTech/dl-batcher-service.git"
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"scripts": {
|
|
20
|
+
"start": "serverless offline start --reloadHandler -s dev",
|
|
21
|
+
"start:dev": "serverless offline start --reloadHandler -s dev",
|
|
22
|
+
"deploy": "npx sls deploy -s dev --verbose",
|
|
23
|
+
"deploy:prod": "npx sls deploy -s prod --verbose",
|
|
24
|
+
"deploy:surge": "npx sls deploy -s surge --verbose",
|
|
25
|
+
"build": "tsc --project lib.tsconfig.json",
|
|
26
|
+
"build:clean": "rm -rf tsconfig.build.tsbuildinfo && rm -rf ./dist",
|
|
27
|
+
"eslint:check": "npx eslint src --ext ts,js",
|
|
28
|
+
"eslint:fix": "npx eslint src --ext ts,js --fix",
|
|
29
|
+
"lint": "npm run prettier:fix",
|
|
30
|
+
"prettier:fix": "npx prettier src dl-common --write ./**/*.{ts,js,json,yml,md}",
|
|
31
|
+
"format": "prettier \"./**\" --write --ignore-unknown",
|
|
32
|
+
"format:check": "prettier \"./**\" --ignore-unknown --check",
|
|
33
|
+
"prepare": "husky install",
|
|
34
|
+
"postinstall": "husky install"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@aws-sdk/client-sqs": "^3.421.0",
|
|
38
|
+
"@socket.tech/dl-core": "^2.4.6-test.0",
|
|
39
|
+
"@socket.tech/ll-common": "^0.0.19",
|
|
40
|
+
"async-redis": "^2.0.0",
|
|
41
|
+
"ethers": "^5.7.1",
|
|
42
|
+
"pg": "^8.8.0",
|
|
43
|
+
"pg-hstore": "^2.3.4",
|
|
44
|
+
"prom-client": "^14.2.0",
|
|
45
|
+
"sequelize": "^6.21.6"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@commitlint/cli": "^16.2.3",
|
|
49
|
+
"@commitlint/config-conventional": "^16.2.1",
|
|
50
|
+
"@types/aws-lambda": "^8.10.108",
|
|
51
|
+
"@types/express": "^4.17.14",
|
|
52
|
+
"@types/node": "^17.0.23",
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "^6.4.0",
|
|
54
|
+
"@typescript-eslint/parser": "^5.17.0",
|
|
55
|
+
"aws-lambda": "^1.0.7",
|
|
56
|
+
"esbuild": "^0.19.3",
|
|
57
|
+
"eslint": "^8.0.1",
|
|
58
|
+
"eslint-config-prettier": "8.3.0",
|
|
59
|
+
"eslint-config-standard-with-typescript": "^39.1.0",
|
|
60
|
+
"eslint-plugin-import": "^2.25.2",
|
|
61
|
+
"eslint-plugin-jsdoc": "36.0.8",
|
|
62
|
+
"eslint-plugin-n": "^15.0.0 || ^16.0.0 ",
|
|
63
|
+
"eslint-plugin-node": "^11.1.0",
|
|
64
|
+
"eslint-plugin-promise": "^6.0.0",
|
|
65
|
+
"eslint-plugin-tsdoc": "^0.2.14",
|
|
66
|
+
"husky": "^7.0.4",
|
|
67
|
+
"lint-staged": "^12.3.7",
|
|
68
|
+
"nodemon": "^2.0.15",
|
|
69
|
+
"prettier": "2.7.1",
|
|
70
|
+
"serverless": "3.22.0",
|
|
71
|
+
"serverless-domain-manager": "^7.1.2",
|
|
72
|
+
"serverless-dotenv-plugin": "4.0.0",
|
|
73
|
+
"serverless-esbuild": "^1.48.0",
|
|
74
|
+
"serverless-lumigo": "1.14.1",
|
|
75
|
+
"serverless-offline": "12.0.4",
|
|
76
|
+
"serverless-plugin-aws-alerts": "^1.7.5",
|
|
77
|
+
"ts-node": "^10.7.0",
|
|
78
|
+
"typescript": "*"
|
|
79
|
+
}
|
|
80
|
+
}
|