@superorange/zka-js-sdk 1.0.88 → 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/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/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":";;AAAA,mCAAuC;AACvC,4CAAmD;AACnD,mEAAqE;AACrE,kDAA0I;AAC1I,4DAAyD;AACzD,gDAA6C;AAC7C,mCAAgH;AAEhH,mCAA4C;AAC5C,MAAqB,kBAAkB;IAC7B,IAAI,CAAM;IACV,WAAW,CAAS;IACpB,YAAY,CAAS;IACrB,QAAQ,CAAM;IACd,cAAc,CAAU;IACxB,mBAAmB,CAAU;IAC7B,cAAc,CAAU;IAChC,WAAW,CAAW;IACtB,aAAa,CAAU;IACvB,kBAAkB,CAAgB;IAClC,4BAA4B,CAA0B;IACtD,oBAAoB,CAAS;IAE7B;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,IAAI,CAAC,4BAA4B,GAAG,iCAAqB,CAAA;QACzD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAA;QAE5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;QAC3B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;QAChC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;QACxB,IAAI,CAAC,YAAY,GAAI,0BAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAA;QAC9B,sDAAsD;QACtD,8BAA8B;QAC9B,WAAW;QACX,6BAA6B;QAC7B,IAAI;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC/B,CAAC;IAED,eAAe,CAAC,UAAkB;QAChC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,MAAM,CAAC,WAAW,CAAC;YACjB,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,wBAAwB;YAChC,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACtB,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;oBACtD,MAAM,SAAS,GAAG,OAAO,CAAA;oBACzB,MAAM,CAAC,IAAI,0BAAkB,CAC3B,SAAS,CACV,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAA;YACP,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE;gBACnC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC5C,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;oBACxC,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;wBACnC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;wBACvC,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC,CAAA;wBACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;wBACvB,MAAM,CAAC,WAAW,CAAC;4BACjB,MAAM,EAAE,eAAe;4BACvB,MAAM,EAAE,wBAAwB;4BAChC,IAAI,EAAE,iBAAiB;yBACxB,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;wBAClC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;wBAC7D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;wBAC1C,IAAI,MAAM,EAAE,CAAC;4BACX,IAAI,CAAC,aAAa,GAAG,MAAM,EAAE,MAAM,CAAA;4BACnC,qCAAqC;4BACrC,mEAAmE;4BACnE,IAAI;4BACJ,IAAI,IAAI,EAAE,oBAAoB,EAAE,CAAC;gCAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;4BACvD,CAAC;4BACD,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;4BACtC,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;4BACtD,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;wBACrC,CAAC;6BAAM,CAAC;4BACN,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;4BACtD,iEAAiE;4BACjE,IAAI,SAAS,EAAE,CAAC;gCACd,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAA;gCAC1B,MAAM,CAAC,IAAI,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;4BACtC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAA;YACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,iBAAoC;QACzD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,OAAO,CAAA;YACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,SAAS,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,OAAO,CAAA;YACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,SAAS,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAE1B,IAAI,CAAC;YACH,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAA;YACpE,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,WAAW,CAAC,CAAA;YAChE,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;YAClD,IAAI,YAAY,GAAQ,EAAE,GAAG,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,qBAAqB,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAA;YAEpJ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,YAAY,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7F,CAAC;YAED,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;gBACpH,YAAY,CAAC,WAAW,CAAC,GAAI,aAAqB,CAAC,KAAK,CAAA;YAC1D,CAAC;YACD,+DAA+D;YAC/D,MAAM,CAAC,WAAW,CAAC;gBACjB,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,wBAAwB;gBAChC,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,YAAiB,CAAA;gBACrB,IAAI,YAAiB,CAAA;gBACrB,MAAM,aAAa,GAAG,KAAK,EAAE,KAAU,EAAE,EAAE;oBACzC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC5C,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;wBACxC,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAA;4BACxD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;4BACpC,IAAI,MAAM,EAAE,CAAC;gCACX,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;oCAC7B,IAAI,YAAY,EAAE,CAAC;wCACjB,aAAa,CAAC,YAAY,CAAC,CAAA;wCAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;wCAC3B,MAAM,CAAC,WAAW,CAAC;4CACjB,MAAM,EAAE,eAAe;4CACvB,MAAM,EAAE,wBAAwB;4CAChC,IAAI,EAAE,6BAA6B;4CACnC,MAAM,EAAE,EAAE;yCACX,CAAC,CAAC;oCACL,CAAC;gCACH,CAAC,EAAE,qCAAyB,CAAC,CAAA;gCAC7B,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;oCAC9B,MAAM,CAAC,WAAW,CAAC;wCACjB,MAAM,EAAE,eAAe;wCACvB,MAAM,EAAE,wBAAwB;wCAChC,IAAI,EAAE,sBAAsB;wCAC5B,MAAM,EAAE,EAAE;qCACX,CAAC,CAAC;gCACL,CAAC,EAAE,kCAAsB,CAAC,CAAA;4BAC5B,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;gCAC3B,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gCACtD,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAA;gCAC1B,MAAM,CAAC,IAAI,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;4BACtC,CAAC;wBACH,CAAC;wBACD,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;4BACnC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;4BAC1C,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,MAAM,CAAC,CAAA;4BAC9D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;4BAC3B,IAAI,MAAM,EAAE,CAAC;gCACX,aAAa,CAAC,YAAY,CAAC,CAAA;gCAC3B,YAAY,CAAC,YAAY,CAAC,CAAA;gCAC1B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;gCAClC,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gCACtD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAA;gCACpE,8BAA8B;gCAC9B,yCAAyC;gCACzC,sCAAsC;gCACtC,OAAO,CAAC,aAAa,CAAC,CAAA;4BACxB,CAAC;iCAAM,CAAC;gCACN,aAAa,CAAC,YAAY,CAAC,CAAA;gCAC3B,YAAY,CAAC,YAAY,CAAC,CAAA;gCAC1B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;gCAClC,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gCACtD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,CAAA;gCAChC,IAAI,iBAAiB,EAAE,iBAAiB,KAAK,KAAK,EAAE,CAAC;oCACnD,MAAM,CAAC,IAAI,0BAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;gCAC5C,CAAC;qCAAM,CAAC;oCACN,MAAM,CAAC,IAAI,0BAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;gCACtC,CAAC;gCAED,4BAA4B;gCAC5B,iDAAiD;gCACjD,mCAAmC;gCACnC,IAAI;4BACN,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,CAAA;gBACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;YAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,4BAA0D,EAAE,MAAW;QACvF,2BAA2B;QAC3B,sDAAsD;QACtD,WAAW;QACX,IAAI;QACJ,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,OAAO,CAAA;YACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,SAAS,EAAE,gDAAgD,CAAC,CAAC,CAAA;QAC5G,CAAC;QACD,IAAI,CAAC,4BAA4B,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,OAAO,CAAA;YACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,SAAS,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,GAAG,4BAA4B,CAAA;YAClD,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAmC,CAAC,SAAS,CAAC,CAAA;YACrE,kGAAkG;YAClG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YACzC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,4BAA4B,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YACzG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;YAClC,MAAM,EAAE,oBAAoB,EAAE,GAAG,4BAA4B,CAAA;YAC7D,MAAM,CAAC,WAAW,CAAC;gBACjB,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,wBAAwB;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE;oBACN,oBAAoB;oBACpB,SAAS;oBACT,UAAU;iBACX;aACF,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAA;YAC5D,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;YAChC,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,IAAI,UAAU,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;wBAC3B,MAAM,SAAS,GAAG,OAAO,CAAA;wBACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,SAAS,CAAC,CAAC,CAAA;oBAE1D,CAAC;yBAAM,IAAI,UAAU,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;wBAClC,MAAM,SAAS,GAAG,OAAO,CAAA;wBACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC9E,CAAC;oBACD,MAAM,SAAS,GAAG,OAAO,CAAA;oBACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,SAAS,CAAC,CAAC,CAAA;gBAC1D,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAQ,CAAC;gBAClD,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAG,CAAC;oBACnC,OAAO,GAAG,SAAS,CAAC,eAAe,GAAG,UAAU,EAAE,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,SAAS,EAAE,oBAAoB,IAAI,UAAU,EAAE,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;gBAChC,MAAM,SAAS,GAAG,OAAO,CAAA;gBACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,SAAS,CAAC,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAA;YAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;YAC9B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;YAChC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,0BAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QACnE,CAAC;IAEH,CAAC;IACD,iBAAiB,CAAC,4BAA0D;QAC1E,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,KAAK,CAAC,iDAAiD,CAAC,CAAA;YACxD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACrC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,4BAA4B,CAAC,iCAAiC,CAAA;QAC5G,IAAI,YAAY,GAAQ,EAAE,GAAG,MAAM,EAAE,CAAA;QACrC,OAAO,YAAY,CAAC,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,cAAK,CAAC,eAAe,CAClC,YAAY,EACZ,KAAK,EACL,OAAO,EACP,SAAS,CACV,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAExC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9E,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,MAAW;QAC1C,MAAM,eAAe,GAAI,IAAI,CAAC,QAAmC,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;QACjG,MAAM,GAAG,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC5D,IAAI,QAAQ,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,CAAC,2BAA2B,CAAC,4BAA0D,EAAE,QAAa,EAAE,MAAW;QACtH,MAAM,gBAAgB,GAAG,MAAM,CAAA;QAC/B,MAAM,EAAE,SAAS,EAAE,iCAAiC,EAAE,GAAG,4BAA4B,CAAA;QACrF,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,iCAAiC,CAAA;QAC7F,MAAM,0BAA0B,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QAChE,IAAI,QAAQ,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACnE,MAAM,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,QAAQ,CAAC;QACb,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACtE,QAAQ,GAAG,IAAI,eAAM,CAAC,QAAQ,CAC5B,0BAA0B,EAC1B,+BAAc,EACd,MAAM,CACP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,eAAM,CAAC,QAAQ,CAC5B,0BAA0B,EAC1B,mBAAQ,EACR,MAAM,CACP,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,CAAC;QACP,OAAO,CAAC,GAAG,CACT,uCAAuC,EACvC,MAAM,EACN,0BAA0B,CAC3B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG;YAChB,MAAM;YACN,IAAI,EAAE;gBACJ,SAAS;gBACT,cAAc,EAAE,CAAC;gBACjB,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,sBAAY;gBACpB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,CAAC;aACT;YACD,SAAS;YACT,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,QAAQ,EAAE,CAAC;SACZ,CAAC;QACF,IAAI,CAAC;YACH,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtE,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,EAAE,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CACpC,SAAS,EACT,EAAE,KAAK,EAAE,GAAG,EAAE;gBACd,qEAAqE;iBACtE,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,EAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,oDAAoD,EAAE,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,CAAC;gBACH,IACE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC7B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAChC,CAAC;oBACD,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,EAAE;wBAC3D,KAAK,EAAE,GAAG;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;YACD,IACE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/D,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAC7C,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,oBAAoB;iBAC9B,CAAC;YACJ,CAAC;iBAAM,IAAI,EAAE,CAAC,eAAe,KAAK,iBAAiB,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACrF,OAAO;oBACL,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,2BAA2B;iBACrC,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,SAAS,CAAC,CAAC;QACpE,IACE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAChC,CAAC;YACD,OAAO,SAAS,CAAC,eAAe,CAAC;QACnC,CAAC;aAAM,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,MAAM,GAAG,GAAG,uBAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACzE,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAa,EAAE,MAAW;QAC3C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAA;QACpG,MAAM,QAAQ,GAAG,MAAM,CAAA;QACvB,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG;YACV,OAAO;YACP,SAAS,EAAE,eAAe;YAC1B,OAAO;YACP,iBAAiB;YACjB,cAAc;SACf,CAAC;QAEF,IAAI,QAAQ,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC;YACH,iBAAiB;YACjB,MAAM,QAAQ,CAAC,OAAO,CAAC;gBACrB,MAAM,EAAE,4BAA4B;gBACpC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;aACtB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,cAAc;oBACd,MAAM,QAAQ,CAAC,OAAO,CAAC;wBACrB,MAAM,EAAE,yBAAyB;wBACjC,MAAM,EAAE,CAAC,GAAG,CAAC;qBACd,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC7B,iDAAiD;gBACjD,sCAAsC;gBACtC,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAA,CAAC;IAEF,wBAAwB,CAAC,iBAAoC;QAC3D,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,iBAAiB,CAAA;QAC9F,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,GAAG,qBAAqB,CAAA;QAC5E,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAA;QACvF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,cAAc,GAAG,cAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QACrD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,2BAA2B,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAA;QAC9G,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACjC,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAA;QACnE,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAA;YACnF,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,qBAAqB,CAAC,CAAA;gBACxD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,+HAA+H,CAAC,CAAA;gBACxK,CAAC;YACH,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAA;YACtF,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,qBAAqB,CAAC,CAAA;gBACxD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,kEAAkE,CAAC,CAAA;gBAC3G,CAAC;YACH,CAAC;QACH,CAAC;QAED,cAAc;QACd,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,iDAAiD,CAAC,CAAA;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,IAAA,4BAAoB,EAAC,qBAAqB,CAAC,CAAA;gBACzD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,4FAA4F,CAAC,CAAA;gBACrI,CAAC;YACH,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAA;YACnF,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,qBAAqB,CAAC,CAAA;gBACxD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,iIAAiI,CAAC,CAAA;gBAC1K,CAAC;YACH,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,mHAAmH,CAAC,CAAA;YAC5J,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAK,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAA;gBAC1E,CAAC;YACH,CAAC;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,mHAAmH,CAAC,CAAA;YAC5J,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAA,8BAAsB,EAAC,qBAAqB,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAA;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACvC,IAAK,qBAAqB,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE,CAAC;gBACxE,MAAM,IAAI,0BAAkB,CAAC,OAAO,EAAE,wDAAwD,CAAC,CAAA;YACjG,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,sBAAsB;QACpB,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAE,sBAAkB,CAAC,CAAC,MAAM,CAChE,CAAC,IAAS,EAAE,IAAS,EAAE,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACzB,OAAO,IAAI,CAAA;QACb,CAAC,EAAE,EAAE,CAAC,CAAA;QACR,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAChF,CAAC;YACC,IAAI,EAAE,CAAC,CAAC,YAAY;YACpB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACrE,CAAC;IACD,kBAAkB,CAAC,OAAe;QAChC,MAAM,CAAC,IAAI,CAAE,sBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;YACvD,MAAM,aAAa,GAAI,sBAAkB,CAAC,MAAM,CAAC,CAAA;YACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAA;YACrG,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;YACpB,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAI,sBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,YAAY,GAAI,0BAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvD,CAAC;CAEF;AAnkBD,qCAmkBC"}
|
|
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":";;AAGA,oDAGC;AACD,kDAGC;AAED,kDAGC;AAED,wDAuBC;AAED,sDASC;AAED,8CAOC;AACD,sCAMC;AACD,wCASC;AA5ED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAErC,SAAgB,oBAAoB,CAAC,KAAa;IAC9C,MAAM,KAAK,GAAG,UAAU,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AACD,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,MAAM,KAAK,GAAG,8CAA8C,CAAC;IAC7D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAY;IAC/C,yCAAyC;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,8CAA8C;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhC,+DAA+D;IAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,0FAA0F;IAC1F,oFAAoF;IACpF,0IAA0I;IAC1I,uIAAuI;IACvI,kGAAkG;IAClG,MAAM,aAAa,GAAG,CAAC,cAAc,CAAC,CAAC,8BAA8B;IACrE,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAE9C,OAAO,SAAS,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,CAAC;AACpE,CAAC;AAED,SAAgB,qBAAqB,CAAC,QAAY;IAC9C,MAAM,UAAU,GAAO,EAAE,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAChC,4CAA4C;QAC5C,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;YACtC,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAgB;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CACzC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACzE,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC;QAC9E,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,CAClE,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC;AACD,SAAgB,aAAa,CAAC,OAA0B;IACpD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CACzC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACxC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAC9D,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC;AACD,SAAgB,cAAc,CAAC,OAAoC;IAC/D,IAAI,UAAU,GAAC,IAAI,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CACpC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACvC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAC7E,CAAC;IACN,CAAC;IACJ,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC"}
|