@superorange/zka-js-sdk 1.0.87 → 1.0.89
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/dist/classes/AttRequest.d.ts +15 -0
- package/dist/classes/AttRequest.js +37 -0
- package/dist/classes/AttRequest.js.map +1 -0
- package/dist/error.js +4 -4
- package/dist/error.js.map +1 -1
- package/dist/index.d.ts +12 -13
- package/dist/index.js +111 -396
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +5 -0
- package/dist/utils.js +31 -0
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AttMode, BaseAttestationParams } from '../index.d';
|
|
2
|
+
export default class AttRequest {
|
|
3
|
+
appId: string;
|
|
4
|
+
attTemplateID: string;
|
|
5
|
+
userAddress: string;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
attMode?: AttMode;
|
|
8
|
+
attConditions?: object;
|
|
9
|
+
additionParams?: string;
|
|
10
|
+
constructor(baseAttestationParams: BaseAttestationParams);
|
|
11
|
+
setAdditionParams(additionParams: string): void;
|
|
12
|
+
setAttMode(attMode: AttMode): void;
|
|
13
|
+
setAttConditions(attConditions: Object): void;
|
|
14
|
+
toJsonString(): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("../utils");
|
|
4
|
+
class AttRequest {
|
|
5
|
+
appId;
|
|
6
|
+
attTemplateID;
|
|
7
|
+
userAddress;
|
|
8
|
+
timestamp;
|
|
9
|
+
attMode;
|
|
10
|
+
attConditions;
|
|
11
|
+
additionParams;
|
|
12
|
+
constructor(baseAttestationParams) {
|
|
13
|
+
const { appId, attTemplateID, userAddress } = baseAttestationParams;
|
|
14
|
+
this.appId = appId;
|
|
15
|
+
this.attTemplateID = attTemplateID;
|
|
16
|
+
this.userAddress = userAddress;
|
|
17
|
+
this.timestamp = +new Date();
|
|
18
|
+
this.attMode = {
|
|
19
|
+
algorithmType: 'mpctls',
|
|
20
|
+
resultType: 'plain'
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
setAdditionParams(additionParams) {
|
|
24
|
+
this.additionParams = additionParams;
|
|
25
|
+
}
|
|
26
|
+
setAttMode(attMode) {
|
|
27
|
+
this.attMode = attMode;
|
|
28
|
+
}
|
|
29
|
+
setAttConditions(attConditions) {
|
|
30
|
+
this.attConditions = attConditions;
|
|
31
|
+
}
|
|
32
|
+
toJsonString() {
|
|
33
|
+
return JSON.stringify((0, utils_1.getInstanceProperties)(this));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = AttRequest;
|
|
37
|
+
//# sourceMappingURL=AttRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttRequest.js","sourceRoot":"","sources":["../../src/classes/AttRequest.ts"],"names":[],"mappings":";;AACA,oCAAgD;AAEhD,MAAqB,UAAU;IAC7B,KAAK,CAAS;IACd,aAAa,CAAS;IACtB,WAAW,CAAS;IACpB,SAAS,CAAS;IAClB,OAAO,CAAW;IAClB,aAAa,CAAU;IACvB,cAAc,CAAU;IAExB,YAAY,qBAA4C;QACtD,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,qBAAqB,CAAA;QACnE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,CAAE,IAAI,IAAI,EAAE,CAAA;QAC7B,IAAI,CAAC,OAAO,GAAG;YACb,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,OAAO;SACpB,CAAA;IACH,CAAC;IACD,iBAAiB,CAAC,cAAsB;QACtC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACtC,CAAC;IACD,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IACD,gBAAgB,CAAC,aAAqB;QACpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;CACF;AAhCD,6BAgCC"}
|
package/dist/error.js
CHANGED
|
@@ -7,13 +7,13 @@ exports.ErrorCodeMAP = {
|
|
|
7
7
|
'00003': 'A zkAttestation process is currently being generated. Please try again later.',
|
|
8
8
|
'00004': 'The user closes or cancels the attestation process.',
|
|
9
9
|
'00005': 'Wrong parameters!',
|
|
10
|
-
'00006': 'No
|
|
10
|
+
'00006': 'No Primus extension version 0.3.15 or above was detected as installed.',
|
|
11
11
|
'00007': 'Insufficient wallet balance.',
|
|
12
12
|
'00008': 'Failed to submit the proof on-chain. Or other errors in the Wallet operations.',
|
|
13
|
-
'00009': 'Your dApp is not registered. Please contact the
|
|
13
|
+
'00009': 'Your dApp is not registered. Please contact the Primus team.',
|
|
14
14
|
'00010': 'Verification failed. Please try again later.',
|
|
15
15
|
'00011': 'Launch failed: unstable connection.',
|
|
16
|
-
'99999': 'Undefined error. Contact the
|
|
16
|
+
'99999': 'Undefined error. Contact the Primus team for further support',
|
|
17
17
|
'00102': 'Attestation requirements not met. Insufficient assets balance in Binance Spot Account.',
|
|
18
18
|
'00104': 'Attestation requirements not met.',
|
|
19
19
|
'10001': 'The internet condition is not stable enough to complete the zkAttestation flow. Please try again later.',
|
|
@@ -44,7 +44,7 @@ exports.ErrorCodeMAP = {
|
|
|
44
44
|
'50004': "Something went wrong. Please try again later.",
|
|
45
45
|
'50005': "Something went wrong. Please try again later.",
|
|
46
46
|
'50006': "Something went wrong. Please try again later.",
|
|
47
|
-
'-1200010': "Invalid
|
|
47
|
+
'-1200010': "Invalid message."
|
|
48
48
|
};
|
|
49
49
|
class ZkAttestationError {
|
|
50
50
|
code;
|
package/dist/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAgBa,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,6EAA6E;IACtF,OAAO,EAAC,+CAA+C;IACvD,OAAO,EAAC,+EAA+E;IACvF,OAAO,EAAC,qDAAqD;IAC7D,OAAO,EAAC,mBAAmB;IAC3B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAgBa,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,6EAA6E;IACtF,OAAO,EAAC,+CAA+C;IACvD,OAAO,EAAC,+EAA+E;IACvF,OAAO,EAAC,qDAAqD;IAC7D,OAAO,EAAC,mBAAmB;IAC3B,OAAO,EAAC,wEAAwE;IAChF,OAAO,EAAC,8BAA8B;IACtC,OAAO,EAAC,gFAAgF;IACxF,OAAO,EAAC,8DAA8D;IACtE,OAAO,EAAC,8CAA8C;IACtD,OAAO,EAAC,qCAAqC;IAC7C,OAAO,EAAC,8DAA8D;IACtE,OAAO,EAAC,wFAAwF;IAChG,OAAO,EAAE,mCAAmC;IAC5C,OAAO,EAAC,yGAAyG;IACjH,OAAO,EAAC,yGAAyG;IACjH,OAAO,EAAC,8FAA8F;IACtG,OAAO,EAAE,8FAA8F;IACvG,OAAO,EAAC,oFAAoF;IAC5F,OAAO,EAAE,oFAAoF;IAC7F,OAAO,EAAE,oFAAoF;IAC7F,OAAO,EAAE,oFAAoF;IAC7F,OAAO,EAAE,oFAAoF;IAC7F,OAAO,EAAC,mEAAmE;IAC3E,OAAO,EAAC,mEAAmE;IAC3E,OAAO,EAAE,yDAAyD;IAClE,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,iEAAiE;IAC1E,OAAO,EAAC,kFAAkF;IAC1F,OAAO,EAAE,qJAAqJ;IAC9J,OAAO,EAAC,+CAA+C;IACvD,OAAO,EAAC,+CAA+C;IACvD,OAAO,EAAC,+CAA+C;IACvD,OAAO,EAAE,+CAA+C;IACxD,OAAO,EAAC,+CAA+C;IACvD,OAAO,EAAE,+CAA+C;IACxD,OAAO,EAAC,+CAA+C;IACvD,OAAO,EAAE,+CAA+C;IACxD,OAAO,EAAC,+CAA+C;IACvD,OAAO,EAAE,+CAA+C;IACxD,OAAO,EAAC,+CAA+C;IACvD,OAAO,EAAE,+CAA+C;IACxD,UAAU,EAAC,kBAAkB;CAC9B,CAAA;AACD,MAAa,kBAAkB;IAC7B,IAAI,CAAY;IAChB,OAAO,CAAS;IAChB,YAAY,IAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,oBAAY,CAAC,IAAiC,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAPD,gDAOC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,26 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { ChainOption, Attestation, SignedAttRequest } from './index.d';
|
|
2
|
+
import AttRequest from './classes/AttRequest';
|
|
3
|
+
export default class PrimusZKTLS {
|
|
3
4
|
private _env;
|
|
4
|
-
private _dappSymbol;
|
|
5
5
|
private _padoAddress;
|
|
6
6
|
private _easInfo;
|
|
7
7
|
private _attestLoading;
|
|
8
|
-
private _sendToChainLoading;
|
|
9
8
|
private _verifyLoading;
|
|
10
9
|
isInstalled?: boolean;
|
|
11
10
|
isInitialized: boolean;
|
|
12
11
|
supportedChainList: ChainOption[];
|
|
13
|
-
supportedAttestationTypeList: AttestationTypeOption[];
|
|
14
12
|
padoExtensionVersion: string;
|
|
13
|
+
appId: string;
|
|
14
|
+
appSecret?: string;
|
|
15
|
+
isAppServer: boolean;
|
|
15
16
|
constructor();
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
_switchChain(chainObj: any, wallet: any): Promise<true | undefined>;
|
|
23
|
-
_verifyAttestationParams(attestationParams: AttestationParams): boolean;
|
|
17
|
+
init(appId: string, appSecret?: string): Promise<string | boolean>;
|
|
18
|
+
generateRequestParams(attTemplateID: string, userAddress: string): AttRequest;
|
|
19
|
+
sign(signParams: string): Promise<string>;
|
|
20
|
+
startAttestation(attestationParamsStr: string): Promise<Attestation>;
|
|
21
|
+
verifyAttestation(attestation: Attestation): boolean;
|
|
22
|
+
_verifyAttestationParams(attestationParams: SignedAttRequest): boolean;
|
|
24
23
|
_getSupportedChainList(): void;
|
|
25
24
|
_initEnvProperties(chainID: number): void;
|
|
26
25
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,35 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
3
4
|
const ethers_1 = require("ethers");
|
|
4
|
-
const utils_1 = require("ethers/lib/utils");
|
|
5
|
-
const eas_sdk_1 = require("@ethereum-attestation-service/eas-sdk");
|
|
6
5
|
const constants_1 = require("./config/constants");
|
|
7
|
-
const lineaportalabi_1 = require("./config/lineaportalabi");
|
|
8
|
-
const proxyabi_1 = require("./config/proxyabi");
|
|
9
|
-
const utils_2 = require("./utils");
|
|
10
6
|
const error_1 = require("./error");
|
|
11
|
-
|
|
7
|
+
const AttRequest_1 = tslib_1.__importDefault(require("./classes/AttRequest"));
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
class PrimusZKTLS {
|
|
12
10
|
_env;
|
|
13
|
-
_dappSymbol;
|
|
14
11
|
_padoAddress;
|
|
15
12
|
_easInfo;
|
|
16
13
|
_attestLoading;
|
|
17
|
-
_sendToChainLoading;
|
|
18
14
|
_verifyLoading;
|
|
19
15
|
isInstalled;
|
|
20
16
|
isInitialized;
|
|
21
17
|
supportedChainList;
|
|
22
|
-
supportedAttestationTypeList;
|
|
23
18
|
padoExtensionVersion;
|
|
19
|
+
appId;
|
|
20
|
+
appSecret;
|
|
21
|
+
isAppServer;
|
|
24
22
|
constructor() {
|
|
25
|
-
this._dappSymbol = '';
|
|
26
23
|
this.isInitialized = false;
|
|
27
24
|
this.isInstalled = false;
|
|
28
|
-
this.supportedAttestationTypeList = constants_1.ATTESTATIONTYPEIDLIST;
|
|
29
25
|
this.supportedChainList = [];
|
|
30
26
|
this._easInfo = {};
|
|
31
27
|
this._attestLoading = false;
|
|
32
|
-
this._sendToChainLoading = false;
|
|
33
28
|
this._verifyLoading = false;
|
|
34
29
|
this._env = 'production';
|
|
35
30
|
this._padoAddress = constants_1.PADOADDRESSMAP[this._env];
|
|
@@ -40,67 +35,80 @@ class ZkAttestationJSSDK {
|
|
|
40
35
|
// this._env = 'production'
|
|
41
36
|
// }
|
|
42
37
|
this._getSupportedChainList();
|
|
38
|
+
this.appId = '';
|
|
39
|
+
this.isAppServer = false;
|
|
43
40
|
}
|
|
44
|
-
|
|
45
|
-
this.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
// }
|
|
82
|
-
if (data?.padoExtensionVersion) {
|
|
83
|
-
this.padoExtensionVersion = data.padoExtensionVersion;
|
|
41
|
+
init(appId, appSecret) {
|
|
42
|
+
this.appId = appId;
|
|
43
|
+
this.appSecret = appSecret;
|
|
44
|
+
if (appSecret) {
|
|
45
|
+
this.isAppServer = true;
|
|
46
|
+
this.isInitialized = true;
|
|
47
|
+
return Promise.resolve(true);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.isInstalled = !!window.primus;
|
|
51
|
+
if (this.isInstalled) {
|
|
52
|
+
window.postMessage({
|
|
53
|
+
target: "padoExtension",
|
|
54
|
+
origin: "padoZKAttestationJSSDK",
|
|
55
|
+
name: "initAttestation",
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const errorCode = '00006';
|
|
60
|
+
return Promise.reject(new error_1.ZkAttestationError(errorCode));
|
|
61
|
+
}
|
|
62
|
+
console.time('initAttestationCost');
|
|
63
|
+
return new Promise((resolve, reject) => {
|
|
64
|
+
const eventListener = (event) => {
|
|
65
|
+
const { target, name, params } = event.data;
|
|
66
|
+
if (target === "padoZKAttestationJSSDK") {
|
|
67
|
+
if (name === "initAttestationRes") {
|
|
68
|
+
console.log('sdk receive initAttestationRes', event.data);
|
|
69
|
+
const { result, errorData, data } = params;
|
|
70
|
+
if (result) {
|
|
71
|
+
this.isInitialized = params?.result;
|
|
72
|
+
if (data?.padoExtensionVersion) {
|
|
73
|
+
this.padoExtensionVersion = data.padoExtensionVersion;
|
|
74
|
+
}
|
|
75
|
+
console.timeEnd('initAttestationCost');
|
|
76
|
+
window?.removeEventListener('message', eventListener);
|
|
77
|
+
resolve(this.padoExtensionVersion);
|
|
84
78
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (errorData) {
|
|
93
|
-
const { code } = errorData;
|
|
94
|
-
reject(new error_1.ZkAttestationError(code));
|
|
79
|
+
else {
|
|
80
|
+
window?.removeEventListener('message', eventListener);
|
|
81
|
+
// console.log('sdk-initAttestationRes-errorData:',errorData)
|
|
82
|
+
if (errorData) {
|
|
83
|
+
const { code } = errorData;
|
|
84
|
+
reject(new error_1.ZkAttestationError(code));
|
|
85
|
+
}
|
|
95
86
|
}
|
|
96
87
|
}
|
|
97
88
|
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
89
|
+
};
|
|
90
|
+
window.addEventListener("message", eventListener);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
generateRequestParams(attTemplateID, userAddress) {
|
|
95
|
+
return new AttRequest_1.default({
|
|
96
|
+
appId: this.appId,
|
|
97
|
+
attTemplateID,
|
|
98
|
+
userAddress
|
|
101
99
|
});
|
|
102
100
|
}
|
|
103
|
-
|
|
101
|
+
sign(signParams) {
|
|
102
|
+
if (this.isAppServer && this.appSecret) {
|
|
103
|
+
const wallet = new ethers_1.ethers.Wallet(this.appSecret);
|
|
104
|
+
const messageHash = ethers_1.ethers.utils.keccak256(new TextEncoder().encode(signParams));
|
|
105
|
+
return wallet.signMessage(messageHash);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
throw new Error("Only call in App server environment.");
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async startAttestation(attestationParamsStr) {
|
|
104
112
|
if (!this.isInitialized) {
|
|
105
113
|
const errorCode = '00001';
|
|
106
114
|
return Promise.reject(new error_1.ZkAttestationError(errorCode));
|
|
@@ -111,19 +119,17 @@ class ZkAttestationJSSDK {
|
|
|
111
119
|
}
|
|
112
120
|
this._attestLoading = true;
|
|
113
121
|
try {
|
|
122
|
+
const attestationParams = JSON.parse(attestationParamsStr);
|
|
114
123
|
this._verifyAttestationParams(attestationParams);
|
|
115
|
-
const vaildResult = this._verifyAttestationParams(attestationParams)
|
|
116
|
-
console.log('
|
|
117
|
-
this._initEnvProperties(attestationParams.chainID)
|
|
118
|
-
let formatParams = { ...attestationParams
|
|
119
|
-
if (['
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
formatParams['chainName'] = chainMetaInfo.title;
|
|
125
|
-
}
|
|
126
|
-
// console.log('333-sdk-startAttestation-params',formatParams )
|
|
124
|
+
// const vaildResult = this._verifyAttestationParams(attestationParams)
|
|
125
|
+
// console.log('sdk-startAttestation-vaildResult', vaildResult)
|
|
126
|
+
// this._initEnvProperties(attestationParams.chainID)// TODO???
|
|
127
|
+
let formatParams = { ...attestationParams };
|
|
128
|
+
// if (formatParams['chainID']) {
|
|
129
|
+
// const chainMetaInfo = Object.values(this._easInfo).find((i: any) => formatParams['chainID'] === parseInt(i.chainId))
|
|
130
|
+
// formatParams['chainName'] = (chainMetaInfo as any).title
|
|
131
|
+
// }
|
|
132
|
+
// console.log('sdk-startAttestation-params',formatParams )
|
|
127
133
|
window.postMessage({
|
|
128
134
|
target: "padoExtension",
|
|
129
135
|
origin: "padoZKAttestationJSSDK",
|
|
@@ -138,7 +144,7 @@ class ZkAttestationJSSDK {
|
|
|
138
144
|
const { target, name, params } = event.data;
|
|
139
145
|
if (target === "padoZKAttestationJSSDK") {
|
|
140
146
|
if (name === "getAttestationRes") {
|
|
141
|
-
console.log('
|
|
147
|
+
console.log('sdk receive getAttestationRes', params);
|
|
142
148
|
const { result, errorData } = params;
|
|
143
149
|
if (result) {
|
|
144
150
|
timeoutTimer = setTimeout(() => {
|
|
@@ -171,7 +177,7 @@ class ZkAttestationJSSDK {
|
|
|
171
177
|
}
|
|
172
178
|
if (name === "startAttestationRes") {
|
|
173
179
|
const { result, data, errorData } = params;
|
|
174
|
-
console.log('
|
|
180
|
+
console.log('sdk-receive getAttestationResultRes', params);
|
|
175
181
|
this._attestLoading = false;
|
|
176
182
|
if (result) {
|
|
177
183
|
clearInterval(pollingTimer);
|
|
@@ -189,13 +195,11 @@ class ZkAttestationJSSDK {
|
|
|
189
195
|
clearTimeout(timeoutTimer);
|
|
190
196
|
console.timeEnd('startAttestCost');
|
|
191
197
|
window?.removeEventListener('message', eventListener);
|
|
192
|
-
const { code, desc } = errorData;
|
|
193
|
-
if (attestationParams?.attestationTypeID === '101') {
|
|
194
|
-
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
reject(new error_1.ZkAttestationError(code));
|
|
198
|
-
}
|
|
198
|
+
const { code, /*desc*/ } = errorData;
|
|
199
|
+
// if (attestationParams?.attestationTypeID === '101') {
|
|
200
|
+
// reject(new ZkAttestationError(code, desc))
|
|
201
|
+
// } else {
|
|
202
|
+
reject(new error_1.ZkAttestationError(code));
|
|
199
203
|
// if (params.reStartFlag) {
|
|
200
204
|
// await this.initAttestation(this._dappSymbol)
|
|
201
205
|
// console.log('333-reStartFlag')
|
|
@@ -212,329 +216,40 @@ class ZkAttestationJSSDK {
|
|
|
212
216
|
return Promise.reject(e);
|
|
213
217
|
}
|
|
214
218
|
}
|
|
215
|
-
|
|
216
|
-
// if (!this.isInstalled) {
|
|
217
|
-
// alert('Please install the Pado extension first!')
|
|
218
|
-
// return
|
|
219
|
-
// }
|
|
220
|
-
if (this._sendToChainLoading) {
|
|
221
|
-
const errorCode = '00008';
|
|
222
|
-
return Promise.reject(new error_1.ZkAttestationError(errorCode, 'Submitting to the chain, please wait patiently'));
|
|
223
|
-
}
|
|
224
|
-
if (!startAttestationReturnParams || !wallet) {
|
|
225
|
-
const errorCode = '00005';
|
|
226
|
-
return Promise.reject(new error_1.ZkAttestationError(errorCode));
|
|
227
|
-
}
|
|
228
|
-
this._sendToChainLoading = true;
|
|
229
|
-
try {
|
|
230
|
-
const { chainName } = startAttestationReturnParams;
|
|
231
|
-
const chainObj = this._easInfo[chainName];
|
|
232
|
-
// console.log('333-sdk-chainObj',startAttestationReturnParams,chainName, this._easInfo, chainObj)
|
|
233
|
-
await this._switchChain(chainObj, wallet);
|
|
234
|
-
console.time('sendToChainCost');
|
|
235
|
-
const onChainRes = await this._attestByDelegationProxyFee(startAttestationReturnParams, chainObj, wallet);
|
|
236
|
-
console.timeEnd('sendToChainCost');
|
|
237
|
-
const { attestationRequestId } = startAttestationReturnParams;
|
|
238
|
-
window.postMessage({
|
|
239
|
-
target: "padoExtension",
|
|
240
|
-
origin: "padoZKAttestationJSSDK",
|
|
241
|
-
name: "sendToChainRes",
|
|
242
|
-
params: {
|
|
243
|
-
attestationRequestId,
|
|
244
|
-
chainName,
|
|
245
|
-
onChainRes
|
|
246
|
-
},
|
|
247
|
-
});
|
|
248
|
-
console.log('333-sdk-sendToChainRes-onChainRes', onChainRes);
|
|
249
|
-
this._sendToChainLoading = false;
|
|
250
|
-
if (onChainRes) {
|
|
251
|
-
if (onChainRes.error) {
|
|
252
|
-
if (onChainRes.error === 1) {
|
|
253
|
-
const errorCode = '00007';
|
|
254
|
-
return Promise.reject(new error_1.ZkAttestationError(errorCode));
|
|
255
|
-
}
|
|
256
|
-
else if (onChainRes.error === 2) {
|
|
257
|
-
const errorCode = '00008';
|
|
258
|
-
return Promise.reject(new error_1.ZkAttestationError(errorCode, onChainRes.message));
|
|
259
|
-
}
|
|
260
|
-
const errorCode = '00008';
|
|
261
|
-
return Promise.reject(new error_1.ZkAttestationError(errorCode));
|
|
262
|
-
}
|
|
263
|
-
const chainInfo = this._easInfo[chainName];
|
|
264
|
-
if (chainName.startsWith('opBNB')) {
|
|
265
|
-
return `${chainInfo.bucketDetailUrl}${onChainRes}`;
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
return `${chainInfo?.transactionDetailUrl}/${onChainRes}`;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
else {
|
|
272
|
-
this._sendToChainLoading = false;
|
|
273
|
-
const errorCode = '00008';
|
|
274
|
-
return Promise.reject(new error_1.ZkAttestationError(errorCode));
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
catch (e) {
|
|
278
|
-
console.log('333-sdk-sendToChain error', e);
|
|
279
|
-
console.dir(e);
|
|
280
|
-
console.log(e.code, e.message);
|
|
281
|
-
this._sendToChainLoading = false;
|
|
282
|
-
return Promise.reject(new error_1.ZkAttestationError('00008', e.message));
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
verifyAttestation(startAttestationReturnParams) {
|
|
219
|
+
verifyAttestation(attestation) {
|
|
286
220
|
if (this._verifyLoading) {
|
|
287
221
|
alert("Verification in progress, please wait patiently");
|
|
288
222
|
return false;
|
|
289
223
|
}
|
|
290
224
|
this._verifyLoading = true;
|
|
291
225
|
console.time('verifyAttestationCost');
|
|
292
|
-
const
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
226
|
+
const encodeData = (0, utils_1.encodeAttestation)(attestation);
|
|
227
|
+
const signature = attestation.signatures[0];
|
|
228
|
+
console.log('333-sdk-Verification encodeData:', encodeData);
|
|
229
|
+
console.log('333-sdk-Verification signature:', signature);
|
|
230
|
+
const result = ethers_1.ethers.utils.recoverAddress(encodeData, signature);
|
|
296
231
|
console.log('333-sdk-Verification result:', result);
|
|
297
232
|
console.timeEnd('verifyAttestationCost');
|
|
298
233
|
const verifyResult = this._padoAddress.toLowerCase() === result.toLowerCase();
|
|
299
234
|
return verifyResult;
|
|
300
235
|
}
|
|
301
|
-
async _getFee(chainName, wallet) {
|
|
302
|
-
const contractAddress = this._easInfo[chainName].easProxyFeeContract;
|
|
303
|
-
const abi = ['function fee() public view returns(uint256)'];
|
|
304
|
-
let provider = new ethers_1.ethers.providers.Web3Provider(wallet);
|
|
305
|
-
const contract = new ethers_1.ethers.Contract(contractAddress, abi, provider);
|
|
306
|
-
console.log('get contract=', contract);
|
|
307
|
-
const fee = await contract.fee();
|
|
308
|
-
console.log('get fee=', fee);
|
|
309
|
-
return fee;
|
|
310
|
-
}
|
|
311
|
-
async _attestByDelegationProxyFee(startAttestationReturnParams, chainObj, wallet) {
|
|
312
|
-
const metamaskprovider = wallet;
|
|
313
|
-
const { chainName, eip712MessageRawDataWithSignature } = startAttestationReturnParams;
|
|
314
|
-
const { message: { data, recipient, schema }, signature } = eip712MessageRawDataWithSignature;
|
|
315
|
-
const easProxyFeeContractAddress = chainObj.easProxyFeeContract;
|
|
316
|
-
let provider = new ethers_1.ethers.providers.Web3Provider(metamaskprovider);
|
|
317
|
-
await provider.send('eth_requestAccounts', []);
|
|
318
|
-
let signer = provider.getSigner();
|
|
319
|
-
let contract;
|
|
320
|
-
if (chainName.startsWith('Linea') || chainName.indexOf('Scroll') > -1) {
|
|
321
|
-
contract = new ethers_1.ethers.Contract(easProxyFeeContractAddress, lineaportalabi_1.lineaportalabi, signer);
|
|
322
|
-
}
|
|
323
|
-
else {
|
|
324
|
-
contract = new ethers_1.ethers.Contract(easProxyFeeContractAddress, proxyabi_1.proxyabi, signer);
|
|
325
|
-
}
|
|
326
|
-
let tx;
|
|
327
|
-
console.log('attestByDelegationProxyFee schemauid=', schema, easProxyFeeContractAddress);
|
|
328
|
-
const fee = await this._getFee(chainName, wallet);
|
|
329
|
-
const paramsobj = {
|
|
330
|
-
schema,
|
|
331
|
-
data: {
|
|
332
|
-
recipient,
|
|
333
|
-
expirationTime: 0,
|
|
334
|
-
revocable: true,
|
|
335
|
-
refUID: eas_sdk_1.ZERO_BYTES32,
|
|
336
|
-
data: data,
|
|
337
|
-
value: 0,
|
|
338
|
-
},
|
|
339
|
-
signature,
|
|
340
|
-
attester: this._padoAddress,
|
|
341
|
-
deadline: 0,
|
|
342
|
-
};
|
|
343
|
-
try {
|
|
344
|
-
if (chainName.startsWith('Linea') || chainName.indexOf('Scroll') > -1) {
|
|
345
|
-
tx = await contract.attest(paramsobj, { value: fee });
|
|
346
|
-
}
|
|
347
|
-
else {
|
|
348
|
-
tx = await contract.attestByDelegation(paramsobj, { value: fee }
|
|
349
|
-
// { gasPrice: BN.from('20000000000'), gasLimit: BN.from('1000000') }
|
|
350
|
-
);
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
catch (er) {
|
|
354
|
-
console.log('222222eas attestByDelegationProxyFee attest failed', er);
|
|
355
|
-
console.dir(er);
|
|
356
|
-
try {
|
|
357
|
-
if (chainName.startsWith('Linea') ||
|
|
358
|
-
chainName.indexOf('Scroll') > -1) {
|
|
359
|
-
tx = await contract.callStatic.attest(paramsobj, { value: fee });
|
|
360
|
-
}
|
|
361
|
-
else {
|
|
362
|
-
tx = await contract.callStatic.attestByDelegation(paramsobj, {
|
|
363
|
-
value: fee,
|
|
364
|
-
});
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
catch (error) {
|
|
368
|
-
console.log('eas attestByDelegationProxyFee caught error:\n', error);
|
|
369
|
-
}
|
|
370
|
-
if ((er.data && er.data.message.indexOf('insufficient funds') > -1) ||
|
|
371
|
-
er.message.indexOf('insufficient funds') > -1) {
|
|
372
|
-
return {
|
|
373
|
-
error: 1,
|
|
374
|
-
message: 'insufficient funds',
|
|
375
|
-
};
|
|
376
|
-
}
|
|
377
|
-
else if (er.ACTION_REJECTED === 'ACTION_REJECTED' || er.code === 'ACTION_REJECTED') {
|
|
378
|
-
return {
|
|
379
|
-
error: 2,
|
|
380
|
-
message: 'user rejected transaction',
|
|
381
|
-
};
|
|
382
|
-
}
|
|
383
|
-
return;
|
|
384
|
-
}
|
|
385
|
-
console.log('eas attestByDelegationProxyFee tx=', tx);
|
|
386
|
-
const txreceipt = await tx.wait();
|
|
387
|
-
console.log('eas attestByDelegationProxyFee txreceipt=', txreceipt);
|
|
388
|
-
if (chainName.startsWith('Linea') ||
|
|
389
|
-
chainName.indexOf('Scroll') > -1) {
|
|
390
|
-
return txreceipt.transactionHash;
|
|
391
|
-
}
|
|
392
|
-
else if (chainName.indexOf('opBNB') > -1) {
|
|
393
|
-
const data = txreceipt.logs[1].data;
|
|
394
|
-
const res = utils_1.defaultAbiCoder.decode(['uint64', 'string'], data);
|
|
395
|
-
console.log(res[0]._hex);
|
|
396
|
-
return res[0]._hex;
|
|
397
|
-
}
|
|
398
|
-
else {
|
|
399
|
-
const newAttestationUID = txreceipt.logs[txreceipt.logs.length - 1].data;
|
|
400
|
-
return newAttestationUID;
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
async _switchChain(chainObj, wallet) {
|
|
404
|
-
const { chainId, chainName: formatChainName, rpcUrls, blockExplorerUrls, nativeCurrency } = chainObj;
|
|
405
|
-
const provider = wallet;
|
|
406
|
-
const connectedChainId = await provider.request({ method: 'eth_chainId' });
|
|
407
|
-
const obj = {
|
|
408
|
-
chainId,
|
|
409
|
-
chainName: formatChainName,
|
|
410
|
-
rpcUrls,
|
|
411
|
-
blockExplorerUrls,
|
|
412
|
-
nativeCurrency,
|
|
413
|
-
};
|
|
414
|
-
if (parseInt(connectedChainId) === parseInt(chainId)) {
|
|
415
|
-
console.log(`The current chain is already:${obj.chainName}`);
|
|
416
|
-
return;
|
|
417
|
-
}
|
|
418
|
-
else {
|
|
419
|
-
console.log(`Switching chain to:${obj.chainName}`);
|
|
420
|
-
}
|
|
421
|
-
try {
|
|
422
|
-
// switch network
|
|
423
|
-
await provider.request({
|
|
424
|
-
method: 'wallet_switchEthereumChain',
|
|
425
|
-
params: [{ chainId }],
|
|
426
|
-
});
|
|
427
|
-
return true;
|
|
428
|
-
}
|
|
429
|
-
catch (err) {
|
|
430
|
-
if (err.code === 4902) {
|
|
431
|
-
try {
|
|
432
|
-
// add network
|
|
433
|
-
await provider.request({
|
|
434
|
-
method: 'wallet_addEthereumChain',
|
|
435
|
-
params: [obj],
|
|
436
|
-
});
|
|
437
|
-
}
|
|
438
|
-
catch (addError) {
|
|
439
|
-
console.error(addError);
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
else if (err.code === 4001) {
|
|
443
|
-
// console.log('333-sdk-switchChain error:', err)
|
|
444
|
-
// console.log( err.code, err.message)
|
|
445
|
-
throw err;
|
|
446
|
-
}
|
|
447
|
-
return true;
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
;
|
|
451
236
|
_verifyAttestationParams(attestationParams) {
|
|
452
|
-
const {
|
|
453
|
-
const
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
throw new error_1.ZkAttestationError('00005', 'Unsupported chainID!');
|
|
457
|
-
}
|
|
458
|
-
const isAddressVaild = ethers_1.utils.isAddress(walletAddress);
|
|
459
|
-
if (!isAddressVaild) {
|
|
460
|
-
throw new error_1.ZkAttestationError('00005', 'The wallet address is incorrect!');
|
|
461
|
-
}
|
|
462
|
-
const activeAttestationTypeOption = this.supportedAttestationTypeList.find(i => i.value === attestationTypeID);
|
|
463
|
-
if (!activeAttestationTypeOption) {
|
|
464
|
-
throw new error_1.ZkAttestationError('00005', 'Wrong attestationTypeID!');
|
|
465
|
-
}
|
|
466
|
-
if (['9', '11'].includes(attestationTypeID)) {
|
|
467
|
-
if (!attestationParameter1) {
|
|
468
|
-
throw new error_1.ZkAttestationError('00005', 'Missing attestationParameter, USD value.');
|
|
469
|
-
}
|
|
470
|
-
else {
|
|
471
|
-
const valid = (0, utils_2.isValidNumberString)(attestationParameter1);
|
|
472
|
-
if (!valid) {
|
|
473
|
-
throw new error_1.ZkAttestationError('00005', 'Input "assetsBalance" value is incorrect, should be restricted to a 6-decimal-place number and the minimum value is 0.000001.');
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
}
|
|
477
|
-
// binance Token Holding ,okx Token Holding
|
|
478
|
-
if (['10', '12'].includes(attestationTypeID)) {
|
|
479
|
-
if (!attestationParameter1) {
|
|
480
|
-
throw new error_1.ZkAttestationError('00005', 'Missing attestationParameter, token symbol.');
|
|
481
|
-
}
|
|
482
|
-
else {
|
|
483
|
-
const valid = (0, utils_2.isValidLetterString)(attestationParameter1);
|
|
484
|
-
if (!valid) {
|
|
485
|
-
throw new error_1.ZkAttestationError('00005', 'Input "tokenSymbol" value is incorrect, should only be alphabet.');
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
// X Followers
|
|
490
|
-
if (['15'].includes(attestationTypeID)) {
|
|
491
|
-
if (!attestationParameter1) {
|
|
492
|
-
throw new error_1.ZkAttestationError('00005', 'Missing attestationParameter, followers number.');
|
|
493
|
-
}
|
|
494
|
-
else {
|
|
495
|
-
const valid = (0, utils_2.isValidNumericString)(attestationParameter1);
|
|
496
|
-
if (!valid) {
|
|
497
|
-
throw new error_1.ZkAttestationError('00005', 'Input "followersNO" value is incorrect, should only be numeric and the minimum value is 0.');
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
// binance okx spot30dTradeVol
|
|
502
|
-
if (['16', '17'].includes(attestationTypeID)) {
|
|
503
|
-
if (!attestationParameter1) {
|
|
504
|
-
throw new error_1.ZkAttestationError('00005', 'Missing attestationParameter, USD value.');
|
|
505
|
-
}
|
|
506
|
-
else {
|
|
507
|
-
const valid = (0, utils_2.isValidNumberString)(attestationParameter1);
|
|
508
|
-
if (!valid) {
|
|
509
|
-
throw new error_1.ZkAttestationError('00005', 'Input "spot30dTradeVol" value is incorrect, should be restricted to a 6-decimal-place number and the minimum value is 0.000001.');
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
// Has transactions on BNB Chain since 2024 July
|
|
514
|
-
if (['101'].includes(attestationTypeID)) {
|
|
515
|
-
if (!attestationParameter1) {
|
|
516
|
-
throw new error_1.ZkAttestationError('00005', 'Incorrect attestationParameter. The input should follow this order: first, ‘user signature’; second, ‘timestamp’.');
|
|
237
|
+
const { attRequest: { appId, attTemplateID, userAddress, timestamp }, appSignature } = attestationParams;
|
|
238
|
+
const checkFn = (label, value, valueType) => {
|
|
239
|
+
if (!value) {
|
|
240
|
+
throw new error_1.ZkAttestationError('00005', `Missing ${label}!`);
|
|
517
241
|
}
|
|
518
242
|
else {
|
|
519
|
-
if (
|
|
520
|
-
throw new error_1.ZkAttestationError('00005',
|
|
243
|
+
if (typeof value !== valueType) {
|
|
244
|
+
throw new error_1.ZkAttestationError('00005', `Wrong ${label}!`);
|
|
521
245
|
}
|
|
522
246
|
}
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
// ChatGPT conversation proof
|
|
533
|
-
if (['19'].includes(attestationTypeID)) {
|
|
534
|
-
if (attestationParameter1 && typeof attestationParameter1 !== 'string') {
|
|
535
|
-
throw new error_1.ZkAttestationError('00005', 'Input "keywords" value is incorrect, should be string.');
|
|
536
|
-
}
|
|
537
|
-
}
|
|
247
|
+
};
|
|
248
|
+
checkFn('appId', appId, 'string');
|
|
249
|
+
checkFn('attTemplateID', attTemplateID, 'string');
|
|
250
|
+
checkFn('userAddress', userAddress, 'string');
|
|
251
|
+
checkFn('timestamp', timestamp, 'number');
|
|
252
|
+
checkFn('appSignature', appSignature, 'string');
|
|
538
253
|
return true;
|
|
539
254
|
}
|
|
540
255
|
_getSupportedChainList() {
|
|
@@ -558,8 +273,8 @@ class ZkAttestationJSSDK {
|
|
|
558
273
|
});
|
|
559
274
|
this._easInfo = constants_1.EASINFOMAP[this._env];
|
|
560
275
|
this._padoAddress = constants_1.PADOADDRESSMAP[this._env];
|
|
561
|
-
console.log('
|
|
276
|
+
console.log('sdk-env:', this._env, this._easInfo);
|
|
562
277
|
}
|
|
563
278
|
}
|
|
564
|
-
exports.default =
|
|
279
|
+
exports.default = PrimusZKTLS;
|
|
565
280
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import { Attestation, AttNetworkRequest, AttNetworkResponseResolve } from './index.d';
|
|
1
2
|
export declare function isValidNumericString(value: string): boolean;
|
|
2
3
|
export declare function isValidLetterString(value: string): boolean;
|
|
3
4
|
export declare function isValidNumberString(value: string): boolean;
|
|
4
5
|
export declare function isValidTimestampString(value: string): boolean;
|
|
6
|
+
export declare function getInstanceProperties(instance: any): any;
|
|
7
|
+
export declare function encodeAttestation(att: Attestation): any;
|
|
8
|
+
export declare function encodeRequest(request: AttNetworkRequest): any;
|
|
9
|
+
export declare function encodeResponse(reponse: AttNetworkResponseResolve[]): any;
|
package/dist/utils.js
CHANGED
|
@@ -4,6 +4,11 @@ exports.isValidNumericString = isValidNumericString;
|
|
|
4
4
|
exports.isValidLetterString = isValidLetterString;
|
|
5
5
|
exports.isValidNumberString = isValidNumberString;
|
|
6
6
|
exports.isValidTimestampString = isValidTimestampString;
|
|
7
|
+
exports.getInstanceProperties = getInstanceProperties;
|
|
8
|
+
exports.encodeAttestation = encodeAttestation;
|
|
9
|
+
exports.encodeRequest = encodeRequest;
|
|
10
|
+
exports.encodeResponse = encodeResponse;
|
|
11
|
+
const { ethers } = require("ethers");
|
|
7
12
|
function isValidNumericString(value) {
|
|
8
13
|
const regex = /^[0-9]*$/;
|
|
9
14
|
return typeof value === 'string' && regex.test(value);
|
|
@@ -36,4 +41,30 @@ function isValidTimestampString(value) {
|
|
|
36
41
|
const MAX_TIMESTAMP = Number.MAX_SAFE_INTEGER;
|
|
37
42
|
return timestamp >= MIN_TIMESTAMP && timestamp <= MAX_TIMESTAMP;
|
|
38
43
|
}
|
|
44
|
+
function getInstanceProperties(instance) {
|
|
45
|
+
const properties = {};
|
|
46
|
+
Object.keys(instance).forEach(key => {
|
|
47
|
+
// Only copy the attributes, not the methods
|
|
48
|
+
if (typeof instance[key] !== 'function') {
|
|
49
|
+
properties[key] = instance[key];
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return properties;
|
|
53
|
+
}
|
|
54
|
+
function encodeAttestation(att) {
|
|
55
|
+
const encodedData = ethers.utils.solidityPack(["address", "bytes32", "bytes32", "string", "string", "uint64", "string"], [att.recipient, encodeRequest(att.request), encodeResponse(att.reponseResolve),
|
|
56
|
+
att.data, att.attConditions, att.timestamp, att.additionParams]);
|
|
57
|
+
return ethers.utils.keccak256(encodedData);
|
|
58
|
+
}
|
|
59
|
+
function encodeRequest(request) {
|
|
60
|
+
const encodedData = ethers.utils.solidityPack(["string", "string", "string", "string"], [request.url, request.header, request.method, request.body]);
|
|
61
|
+
return ethers.utils.keccak256(encodedData);
|
|
62
|
+
}
|
|
63
|
+
function encodeResponse(reponse) {
|
|
64
|
+
let encodeData = "0x";
|
|
65
|
+
for (let i = 0; i < reponse.length; i++) {
|
|
66
|
+
encodeData = ethers.utils.solidityPack(["bytes", "string", "string", "string"], [encodeData, reponse[i].keyName, reponse[i].parseType, reponse[i].parsePath]);
|
|
67
|
+
}
|
|
68
|
+
return ethers.utils.keccak256(encodeData);
|
|
69
|
+
}
|
|
39
70
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|