@superorange/zka-js-sdk 1.0.0

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/index.js ADDED
@@ -0,0 +1,376 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ 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
+ const constants_1 = require("./config/constants");
7
+ const lineaportalabi_1 = require("./config/lineaportalabi");
8
+ const proxyabi_1 = require("./config/proxyabi");
9
+ class ZkAttestationJSSDK {
10
+ isInstalled;
11
+ isInitialized;
12
+ supportedChainNameList;
13
+ supportedAttestationTypeList;
14
+ constructor() {
15
+ this.isInitialized = false;
16
+ this.isInstalled = false;
17
+ this.supportedChainNameList = constants_1.CHAINNAMELIST;
18
+ this.supportedAttestationTypeList = constants_1.ATTESTATIONTYPEIDLIST;
19
+ }
20
+ initAttestation() {
21
+ window.postMessage({
22
+ target: "padoExtension",
23
+ origin: "padoZKAttestationJSSDK",
24
+ name: "checkIsInstalled",
25
+ });
26
+ console.time('checkIsInstalledCost');
27
+ console.time('initAttestCost');
28
+ return new Promise((resolve) => {
29
+ const tickerTimer = setTimeout(() => {
30
+ if (!this.isInstalled) {
31
+ console.log('Please install the Pado extension first!');
32
+ window?.removeEventListener('message', eventListener);
33
+ resolve(false);
34
+ }
35
+ }, 500);
36
+ const eventListener = (event) => {
37
+ const { target, name } = event.data;
38
+ if (target === "padoZKAttestationJSSDK") {
39
+ if (name === "checkIsInstalledRes") {
40
+ console.timeEnd('checkIsInstalledCost');
41
+ tickerTimer && clearTimeout(tickerTimer);
42
+ console.log('333 sdk receive checkIsInstalledRes');
43
+ this.isInstalled = true;
44
+ window.postMessage({
45
+ target: "padoExtension",
46
+ origin: "padoZKAttestationJSSDK",
47
+ name: "initAttest",
48
+ });
49
+ }
50
+ if (name === "initAttestRes") {
51
+ console.log('333 sdk receive initAttestRes', event.data);
52
+ this.isInitialized = true;
53
+ console.timeEnd('initAttestCost');
54
+ window?.removeEventListener('message', eventListener);
55
+ resolve(true);
56
+ }
57
+ }
58
+ };
59
+ window.addEventListener("message", eventListener);
60
+ });
61
+ }
62
+ async startAttestation(attestationParams) {
63
+ if (!this._verifyAttestationParams(attestationParams)) {
64
+ return;
65
+ }
66
+ if (!this.isInitialized) {
67
+ alert('Please wait for the algorithm to initialize and try again!');
68
+ return;
69
+ }
70
+ const initRes = await this.initAttestation();
71
+ if (initRes) {
72
+ window.postMessage({
73
+ target: "padoExtension",
74
+ origin: "padoZKAttestationJSSDK",
75
+ name: "startAttest",
76
+ params: attestationParams,
77
+ });
78
+ console.time('startAttestCost');
79
+ return new Promise((resolve) => {
80
+ let pollingTimer;
81
+ let timeoueTimer;
82
+ const eventListener = async (event) => {
83
+ const { target, name, params } = event.data;
84
+ if (target === "padoZKAttestationJSSDK") {
85
+ if (name === "getAttestationRes") {
86
+ console.log('333 sdk receive getAttestationRes', params);
87
+ const { result } = params;
88
+ if (result) {
89
+ timeoueTimer = setTimeout(() => {
90
+ if (pollingTimer) {
91
+ clearInterval(pollingTimer);
92
+ window.postMessage({
93
+ target: "padoExtension",
94
+ origin: "padoZKAttestationJSSDK",
95
+ name: "getAttestationResultTimeout",
96
+ params: {}
97
+ });
98
+ }
99
+ }, constants_1.ATTESTATIONPOLLINGTIMEOUT);
100
+ pollingTimer = setInterval(() => {
101
+ window.postMessage({
102
+ target: "padoExtension",
103
+ origin: "padoZKAttestationJSSDK",
104
+ name: "getAttestationResult",
105
+ params: {}
106
+ });
107
+ }, constants_1.ATTESTATIONPOLLINGTIME);
108
+ }
109
+ else {
110
+ window?.removeEventListener('message', eventListener);
111
+ resolve(false);
112
+ }
113
+ }
114
+ if (name === "startAttestationRes") {
115
+ const { result, reStartFlag, attestationRequestId, eip712MessageRawDataWithSignature } = params;
116
+ console.log('333-sdk-receive getAttestationResultRes', params);
117
+ if (result) {
118
+ clearInterval(pollingTimer);
119
+ clearTimeout(timeoueTimer);
120
+ console.timeEnd('startAttestCost');
121
+ window?.removeEventListener('message', eventListener);
122
+ resolve(Object.assign({ attestationRequestId: attestationRequestId, chainName: attestationParams.chainName }, eip712MessageRawDataWithSignature));
123
+ }
124
+ else {
125
+ if (reStartFlag) {
126
+ console.log('333-reStartFlag');
127
+ await this.initAttestation();
128
+ }
129
+ window?.removeEventListener('message', eventListener);
130
+ resolve(false);
131
+ }
132
+ }
133
+ }
134
+ };
135
+ window.addEventListener("message", eventListener);
136
+ });
137
+ }
138
+ else {
139
+ return false;
140
+ }
141
+ }
142
+ verifyAttestation(eip712Msg) {
143
+ console.time('verifyAttestationCost');
144
+ const { domain, message, signature, types } = eip712Msg;
145
+ delete domain.salt;
146
+ const result = ethers_1.utils.verifyTypedData(domain, types, message, signature);
147
+ console.log('333-sdk-Verification successful:', result);
148
+ console.timeEnd('verifyAttestationCost');
149
+ const verifyResult = constants_1.PADOADDRESS.toLowerCase() === result.toLowerCase();
150
+ return verifyResult;
151
+ }
152
+ async sendToChain(eip712Msg) {
153
+ // if (!this.isInstalled) {
154
+ // alert('Please install the Pado extension first!')
155
+ // return
156
+ // }
157
+ const chainObj = constants_1.EASInfo[eip712Msg.chainName];
158
+ await this._switchChain(chainObj);
159
+ console.time('sendToChainCost');
160
+ const onChainRes = await this._attestByDelegationProxyFee(eip712Msg, chainObj);
161
+ console.timeEnd('sendToChainCost');
162
+ // const {attestationRequestId, chainName} = eip712Msg
163
+ // window.postMessage({
164
+ // target: "padoExtension",
165
+ // origin: "padoZKAttestationJSSDK",
166
+ // name: "sendToChainRes",
167
+ // params: {
168
+ // attestationRequestId,
169
+ // chainName,
170
+ // onChainRes
171
+ // },
172
+ // });
173
+ if (onChainRes) {
174
+ if (onChainRes.error) {
175
+ if (onChainRes.error === 1) {
176
+ alert('Your balance is insufficient');
177
+ return false;
178
+ }
179
+ else if (onChainRes.error === 2) {
180
+ alert('Please try again later.');
181
+ return false;
182
+ }
183
+ return;
184
+ }
185
+ return true;
186
+ }
187
+ else {
188
+ return false;
189
+ }
190
+ }
191
+ async _getFee(chainName) {
192
+ // @ts-ignore
193
+ const contractAddress = constants_1.EASInfo[chainName].easProxyFeeContract;
194
+ const abi = ['function fee() public view returns(uint256)'];
195
+ let provider = new ethers_1.ethers.providers.Web3Provider(window.ethereum);
196
+ const contract = new ethers_1.ethers.Contract(contractAddress, abi, provider);
197
+ console.log('get contract=', contract);
198
+ const fee = await contract.fee();
199
+ console.log('get fee=', fee);
200
+ return fee;
201
+ }
202
+ async _attestByDelegationProxyFee(eip712Msg, chainObj) {
203
+ const metamaskprovider = window.ethereum;
204
+ const { chainName } = eip712Msg;
205
+ const { message: { data, recipient, schema }, signature } = eip712Msg;
206
+ const easProxyFeeContractAddress = chainObj.easProxyFeeContract;
207
+ let provider = new ethers_1.ethers.providers.Web3Provider(metamaskprovider);
208
+ await provider.send('eth_requestAccounts', []);
209
+ let signer = provider.getSigner();
210
+ let contract;
211
+ if (chainName.startsWith('Linea') || chainName.indexOf('Scroll') > -1) {
212
+ contract = new ethers_1.ethers.Contract(easProxyFeeContractAddress, lineaportalabi_1.lineaportalabi, signer);
213
+ }
214
+ else {
215
+ contract = new ethers_1.ethers.Contract(easProxyFeeContractAddress, proxyabi_1.proxyabi, signer);
216
+ }
217
+ let tx;
218
+ console.log('attestByDelegationProxyFee schemauid=', schema, easProxyFeeContractAddress);
219
+ const fee = await this._getFee(chainName);
220
+ const paramsobj = {
221
+ schema,
222
+ data: {
223
+ recipient,
224
+ expirationTime: 0,
225
+ revocable: true,
226
+ refUID: eas_sdk_1.ZERO_BYTES32,
227
+ data: data,
228
+ value: 0,
229
+ },
230
+ signature,
231
+ attester: constants_1.PADOADDRESS,
232
+ deadline: 0,
233
+ };
234
+ try {
235
+ if (chainName.startsWith('Linea') || chainName.indexOf('Scroll') > -1) {
236
+ tx = await contract.attest(paramsobj, { value: fee });
237
+ }
238
+ else {
239
+ tx = await contract.attestByDelegation(paramsobj, { value: fee }
240
+ // { gasPrice: BN.from('20000000000'), gasLimit: BN.from('1000000') }
241
+ );
242
+ }
243
+ }
244
+ catch (er) {
245
+ console.log('222222eas attestByDelegationProxyFee attest failed', er);
246
+ try {
247
+ if (chainName.startsWith('Linea') ||
248
+ chainName.indexOf('Scroll') > -1) {
249
+ tx = await contract.callStatic.attest(paramsobj, { value: fee });
250
+ }
251
+ else {
252
+ tx = await contract.callStatic.attestByDelegation(paramsobj, {
253
+ value: fee,
254
+ });
255
+ }
256
+ }
257
+ catch (error) {
258
+ console.log('eas attestByDelegationProxyFee caught error:\n', error);
259
+ }
260
+ if ((er.data && er.data.message.indexOf('insufficient funds') > -1) ||
261
+ er.message.indexOf('insufficient funds') > -1) {
262
+ return {
263
+ error: 1,
264
+ message: 'insufficient funds',
265
+ };
266
+ }
267
+ else if (er.ACTION_REJECTED === 'ACTION_REJECTED') {
268
+ return {
269
+ error: 2,
270
+ message: 'user rejected transaction',
271
+ };
272
+ }
273
+ // throw new Error(er);
274
+ return;
275
+ }
276
+ console.log('eas attestByDelegationProxyFee tx=', tx);
277
+ const txreceipt = await tx.wait();
278
+ console.log('eas attestByDelegationProxyFee txreceipt=', txreceipt);
279
+ if (chainName.startsWith('Linea') ||
280
+ chainName.indexOf('Scroll') > -1) {
281
+ return txreceipt.transactionHash;
282
+ }
283
+ else if (chainName.indexOf('opBNB') > -1) {
284
+ const data = txreceipt.logs[1].data;
285
+ const res = utils_1.defaultAbiCoder.decode(['uint64', 'string'], data);
286
+ console.log(res[0]._hex);
287
+ return res[0]._hex;
288
+ }
289
+ else {
290
+ const newAttestationUID = txreceipt.logs[txreceipt.logs.length - 1].data;
291
+ return newAttestationUID;
292
+ }
293
+ }
294
+ async _switchChain(chainObj) {
295
+ const { chainId, chainName: formatChainName, rpcUrls, blockExplorerUrls, nativeCurrency } = chainObj;
296
+ const provider = window.ethereum;
297
+ const connectedChainId = await provider.request({ method: 'eth_chainId' });
298
+ const obj = {
299
+ chainId,
300
+ chainName: formatChainName,
301
+ rpcUrls,
302
+ blockExplorerUrls,
303
+ nativeCurrency,
304
+ };
305
+ if (parseInt(connectedChainId) === parseInt(chainId)) {
306
+ console.log(`The current chain is already:${obj.chainName}`);
307
+ return;
308
+ }
309
+ else {
310
+ console.log(`Switching chain to:${obj.chainName}`);
311
+ }
312
+ try {
313
+ // switch network
314
+ await provider.request({
315
+ method: 'wallet_switchEthereumChain',
316
+ params: [{ chainId }],
317
+ });
318
+ return true;
319
+ }
320
+ catch (err) {
321
+ if (err.code === 4902) {
322
+ try {
323
+ // add network
324
+ await provider.request({
325
+ method: 'wallet_addEthereumChain',
326
+ params: [obj],
327
+ });
328
+ }
329
+ catch (addError) {
330
+ console.error(addError);
331
+ }
332
+ }
333
+ else if (err.code === 4001) {
334
+ throw new Error(err.code);
335
+ }
336
+ return true;
337
+ }
338
+ }
339
+ ;
340
+ _verifyAttestationParams(attestationParams) {
341
+ console.log('333-sdk-_verifyAttestationParams', attestationParams);
342
+ const { chainName, walletAddress, attestationTypeId, tokenSymbol, assetsBalance, followersCount } = attestationParams;
343
+ const activeChainOption = this.supportedChainNameList.find(i => i.value === chainName);
344
+ if (!activeChainOption) {
345
+ alert('Unsupported chainName!');
346
+ return false;
347
+ }
348
+ const isAddressVaild = ethers_1.utils.isAddress(walletAddress);
349
+ if (!isAddressVaild) {
350
+ alert('The wallet address is incorrect!');
351
+ return false;
352
+ }
353
+ const activeAttestationTypeOption = this.supportedAttestationTypeList.find(i => i.value === attestationTypeId);
354
+ if (!activeAttestationTypeOption) {
355
+ alert('Unsupported attestationTypeId!');
356
+ return false;
357
+ }
358
+ if (['9', '11'].includes(attestationTypeId) && !assetsBalance) {
359
+ alert('Missing assetsBalance parameter!');
360
+ return false;
361
+ }
362
+ // binance Token Holding ,okx Token Holding
363
+ if (['10', '12'].includes(attestationTypeId) && !tokenSymbol) {
364
+ alert('Missing tokenSymbol parameter!');
365
+ return false;
366
+ }
367
+ // X Followers
368
+ if (['15'].includes(attestationTypeId) && !followersCount) {
369
+ alert('Missing followersCount parameter!');
370
+ return false;
371
+ }
372
+ return true;
373
+ }
374
+ }
375
+ exports.default = ZkAttestationJSSDK;
376
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@superorange/zka-js-sdk",
3
+ "version": "1.0.0",
4
+ "author": "",
5
+ "description": "",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "files": [
9
+ "./dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "rm -rf dist && tsc --build tsconfig.json",
13
+ "lint": "eslint -c .eslintrc --ext .ts src",
14
+ "format": "prettier --check --write src/**/*.ts --config .prettierrc",
15
+ "pretest:integration": "npm run build && npm link",
16
+ "publish": "rm -rf dist/demo dist/test && npm publish --access public",
17
+ "test": "jest"
18
+ },
19
+ "dependencies":{
20
+ "ethers": "5.7.2",
21
+ "@ethereum-attestation-service/eas-sdk": "^0.29.0"
22
+ },
23
+ "devDependencies": {
24
+ "@types/jest": "^29.5.12",
25
+ "@types/node": "^20.12.7",
26
+ "@typescript-eslint/eslint-plugin": "^7.7.0",
27
+ "@typescript-eslint/parser": "^7.7.0",
28
+ "eslint": "^8.56.0",
29
+ "eslint-plugin-import": "^2.29.1",
30
+ "eslint-plugin-prefer-arrow": "^1.2.3",
31
+ "jest": "^29.7.0",
32
+ "prettier": "^3.2.5",
33
+ "prettier-package-json": "^2.8.0",
34
+ "ts-jest": "^29.1.4",
35
+ "ts-node": "^10.9.2",
36
+ "tslib": "^2.6.2",
37
+ "typescript": "^5.4.5"
38
+ },
39
+ "jest": {
40
+ "transform": {
41
+ "^.+\\.(ts|tsx)$": "ts-jest"
42
+ },
43
+ "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(ts|tsx|js)$",
44
+ "moduleFileExtensions": [
45
+ "ts",
46
+ "tsx",
47
+ "js"
48
+ ]
49
+ }
50
+ }