@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.
@@ -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 PADO extension version 0.3.15 or above was detected as installed.',
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 PADO team.',
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 PADO team for further support',
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 response."
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,sEAAsE;IAC9E,OAAO,EAAC,8BAA8B;IACtC,OAAO,EAAC,gFAAgF;IACxF,OAAO,EAAC,4DAA4D;IACpE,OAAO,EAAC,8CAA8C;IACtD,OAAO,EAAC,qCAAqC;IAC7C,OAAO,EAAC,4DAA4D;IACpE,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,mBAAmB;CAC/B,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"}
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 { AttestationParams, ChainOption, StartAttestationReturnParams, AttestationTypeOption } from './index.d';
2
- export default class ZkAttestationJSSDK {
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
- initAttestation(dappSymbol: string): Promise<string>;
17
- startAttestation(attestationParams: AttestationParams): Promise<StartAttestationReturnParams>;
18
- sendToChain(startAttestationReturnParams: StartAttestationReturnParams, wallet: any): Promise<string>;
19
- verifyAttestation(startAttestationReturnParams: StartAttestationReturnParams): boolean;
20
- _getFee(chainName: string, wallet: any): Promise<any>;
21
- _attestByDelegationProxyFee(startAttestationReturnParams: StartAttestationReturnParams, chainObj: any, wallet: any): Promise<any>;
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
- class ZkAttestationJSSDK {
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
- initAttestation(dappSymbol) {
45
- this._dappSymbol = dappSymbol;
46
- window.postMessage({
47
- target: "padoExtension",
48
- origin: "padoZKAttestationJSSDK",
49
- name: "checkIsInstalled",
50
- });
51
- console.time('checkIsInstalledCost');
52
- console.time('initAttestationCost');
53
- return new Promise((resolve, reject) => {
54
- const tickerTimer = setTimeout(() => {
55
- if (!this.isInstalled) {
56
- window?.removeEventListener('message', eventListener);
57
- const errorCode = '00006';
58
- reject(new error_1.ZkAttestationError(errorCode));
59
- }
60
- }, 500);
61
- const eventListener = (event) => {
62
- const { target, name, params } = event.data;
63
- if (target === "padoZKAttestationJSSDK") {
64
- if (name === "checkIsInstalledRes") {
65
- console.timeEnd('checkIsInstalledCost');
66
- tickerTimer && clearTimeout(tickerTimer);
67
- this.isInstalled = true;
68
- window.postMessage({
69
- target: "padoExtension",
70
- origin: "padoZKAttestationJSSDK",
71
- name: "initAttestation",
72
- });
73
- }
74
- if (name === "initAttestationRes") {
75
- console.log('333 sdk receive initAttestationRes', event.data);
76
- const { result, errorData, data } = params;
77
- if (result) {
78
- this.isInitialized = params?.result;
79
- // if (data?.attestationTypeIdList) {
80
- // this.supportedAttestationTypeList = data.attestationTypeIdList
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
- console.timeEnd('initAttestationCost');
86
- window?.removeEventListener('message', eventListener);
87
- resolve(this.padoExtensionVersion);
88
- }
89
- else {
90
- window?.removeEventListener('message', eventListener);
91
- // console.log('333-sdk-initAttestationRes-errorData:',errorData)
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
- window.addEventListener("message", eventListener);
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
- async startAttestation(attestationParams) {
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('333-sdk-startAttestation-vaildResult', vaildResult);
117
- this._initEnvProperties(attestationParams.chainID);
118
- let formatParams = { ...attestationParams, attestationParameters: attestationParams.attestationParameters || [], dappSymbol: this._dappSymbol };
119
- if (['10', '12'].includes(formatParams.attestationTypeID) && formatParams.attestationParameters?.[0]) {
120
- formatParams.attestationParameters[0] = formatParams.attestationParameters[0].toUpperCase();
121
- }
122
- if (formatParams['chainID']) {
123
- const chainMetaInfo = Object.values(this._easInfo).find((i) => formatParams['chainID'] === parseInt(i.chainId));
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('333 sdk receive getAttestationRes', params);
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('333-sdk-receive getAttestationResultRes', params);
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
- reject(new error_1.ZkAttestationError(code, desc));
195
- }
196
- else {
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
- async sendToChain(startAttestationReturnParams, wallet) {
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 { domain, message, signature, types } = startAttestationReturnParams.eip712MessageRawDataWithSignature;
293
- let formatDomain = { ...domain };
294
- delete formatDomain.salt;
295
- const result = ethers_1.utils.verifyTypedData(formatDomain, types, message, signature);
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 { chainID, walletAddress, attestationTypeID, attestationParameters } = attestationParams;
453
- const [attestationParameter1, attestationParameter2] = attestationParameters;
454
- const activeChainOption = this.supportedChainList.find((i) => i.value === chainID);
455
- if (!activeChainOption) {
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 (!ethers_1.utils.isHexString(attestationParameter1)) {
520
- throw new error_1.ZkAttestationError('00005', 'Input "signature" is incorrect.');
243
+ if (typeof value !== valueType) {
244
+ throw new error_1.ZkAttestationError('00005', `Wrong ${label}!`);
521
245
  }
522
246
  }
523
- if (!attestationParameter2) {
524
- throw new error_1.ZkAttestationError('00005', 'Incorrect attestationParameter. The input should follow this order: first, ‘user signature’; second, ‘timestamp’.');
525
- }
526
- else {
527
- if (!(0, utils_2.isValidTimestampString)(attestationParameter2)) {
528
- throw new error_1.ZkAttestationError('00005', 'Input "timestamp" is incorrect.');
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('333-sdk-env:', this._env, this._easInfo);
276
+ console.log('sdk-env:', this._env, this._easInfo);
562
277
  }
563
278
  }
564
- exports.default = ZkAttestationJSSDK;
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":";;AACA,oDAGC;AACD,kDAGC;AAED,kDAGC;AAED,wDAuBC;AArCD,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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superorange/zka-js-sdk",
3
- "version": "1.0.87",
3
+ "version": "1.0.89",
4
4
  "author": "",
5
5
  "description": "",
6
6
  "main": "./dist/index.js",