@prosopo/procaptcha 0.1.10 → 0.1.14

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.
Files changed (77) hide show
  1. package/README.md +10 -3
  2. package/assets/contracts-page.png +0 -0
  3. package/dist/api/Extension.d.ts +3 -2
  4. package/dist/api/Extension.d.ts.map +1 -1
  5. package/dist/api/Extension.js.map +1 -1
  6. package/dist/api/ExtensionWeb2.d.ts +3 -2
  7. package/dist/api/ExtensionWeb2.d.ts.map +1 -1
  8. package/dist/api/ExtensionWeb2.js +24 -18
  9. package/dist/api/ExtensionWeb2.js.map +1 -1
  10. package/dist/api/ExtensionWeb3.d.ts +3 -2
  11. package/dist/api/ExtensionWeb3.d.ts.map +1 -1
  12. package/dist/api/ExtensionWeb3.js +1 -1
  13. package/dist/api/ExtensionWeb3.js.map +1 -1
  14. package/dist/api/errors.d.ts +3 -0
  15. package/dist/api/errors.d.ts.map +1 -1
  16. package/dist/api/errors.js +7 -1
  17. package/dist/api/errors.js.map +1 -1
  18. package/dist/api/handlers.js +1 -1
  19. package/dist/api/handlers.js.map +1 -1
  20. package/dist/api/index.d.ts +0 -3
  21. package/dist/api/index.d.ts.map +1 -1
  22. package/dist/api/index.js +0 -3
  23. package/dist/api/index.js.map +1 -1
  24. package/dist/api/sign.d.ts +5 -0
  25. package/dist/api/sign.d.ts.map +1 -0
  26. package/dist/api/sign.js +16 -0
  27. package/dist/api/sign.js.map +1 -0
  28. package/dist/index.d.ts +1 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/modules/Manager.d.ts +9 -0
  33. package/dist/modules/Manager.d.ts.map +1 -1
  34. package/dist/modules/Manager.js +113 -40
  35. package/dist/modules/Manager.js.map +1 -1
  36. package/dist/modules/ProsopoCaptchaApi.d.ts +10 -8
  37. package/dist/modules/ProsopoCaptchaApi.d.ts.map +1 -1
  38. package/dist/modules/ProsopoCaptchaApi.js +55 -35
  39. package/dist/modules/ProsopoCaptchaApi.js.map +1 -1
  40. package/dist/modules/canvas.js +2 -2
  41. package/dist/modules/canvas.js.map +1 -1
  42. package/dist/modules/storage.d.ts.map +1 -1
  43. package/dist/modules/storage.js +15 -0
  44. package/dist/modules/storage.js.map +1 -1
  45. package/dist/types/api.d.ts +1 -17
  46. package/dist/types/api.d.ts.map +1 -1
  47. package/dist/types/client.d.ts +3 -9
  48. package/dist/types/client.d.ts.map +1 -1
  49. package/dist/types/contract.d.ts.map +1 -1
  50. package/dist/types/manager.d.ts +20 -27
  51. package/dist/types/manager.d.ts.map +1 -1
  52. package/dist/utils/index.d.ts +2 -0
  53. package/dist/utils/index.d.ts.map +1 -0
  54. package/dist/utils/index.js +5 -0
  55. package/dist/utils/index.js.map +1 -0
  56. package/package.json +21 -24
  57. package/.eslintignore +0 -3
  58. package/.eslintrc.js +0 -36
  59. package/.prettierrc.js +0 -7
  60. package/LICENSE +0 -201
  61. package/dist/api/AsyncFactory.d.ts +0 -7
  62. package/dist/api/AsyncFactory.d.ts.map +0 -1
  63. package/dist/api/AsyncFactory.js +0 -30
  64. package/dist/api/AsyncFactory.js.map +0 -1
  65. package/dist/api/ProsopoContract.d.ts +0 -13
  66. package/dist/api/ProsopoContract.d.ts.map +0 -1
  67. package/dist/api/ProsopoContract.js +0 -59
  68. package/dist/api/ProsopoContract.js.map +0 -1
  69. package/dist/api/ProsopoContractBase.d.ts +0 -30
  70. package/dist/api/ProsopoContractBase.d.ts.map +0 -1
  71. package/dist/api/ProsopoContractBase.js +0 -139
  72. package/dist/api/ProsopoContractBase.js.map +0 -1
  73. package/dist/modules/ProsopoCaptchaStateClient.d.ts +0 -1
  74. package/dist/modules/ProsopoCaptchaStateClient.d.ts.map +0 -1
  75. package/dist/modules/ProsopoCaptchaStateClient.js +0 -2
  76. package/dist/modules/ProsopoCaptchaStateClient.js.map +0 -1
  77. package/tsconfig.json +0 -27
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Manager = exports.defaultState = void 0;
3
+ exports.Manager = exports.getNetwork = exports.defaultState = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const ProsopoContract_1 = tslib_1.__importDefault(require("../api/ProsopoContract"));
5
+ const api_1 = require("@polkadot/api");
6
+ const api_2 = require("@prosopo/api");
7
+ const contract_1 = require("@prosopo/contract");
6
8
  const rpc_provider_1 = require("@polkadot/rpc-provider");
7
- const storage_1 = tslib_1.__importDefault(require("./storage"));
8
- const api_1 = require("@prosopo/api");
9
- const util_1 = require("@polkadot/util");
10
- const ProsopoCaptchaApi_1 = tslib_1.__importDefault(require("./ProsopoCaptchaApi"));
9
+ const util_crypto_1 = require("@polkadot/util-crypto");
11
10
  const utils_1 = require("../utils/utils");
11
+ const util_1 = require("@polkadot/util");
12
+ const common_1 = require("@prosopo/common");
12
13
  const ExtensionWeb2_1 = tslib_1.__importDefault(require("../api/ExtensionWeb2"));
13
14
  const ExtensionWeb3_1 = tslib_1.__importDefault(require("../api/ExtensionWeb3"));
14
- const util_crypto_1 = require("@polkadot/util-crypto");
15
+ const ProsopoCaptchaApi_1 = tslib_1.__importDefault(require("./ProsopoCaptchaApi"));
16
+ const storage_1 = tslib_1.__importDefault(require("./storage"));
15
17
  const defaultState = () => {
16
18
  return {
17
19
  // note order matters! see buildUpdateState. These fields are set in order, so disable modal first, then set loading to false, etc.
@@ -23,6 +25,7 @@ const defaultState = () => {
23
25
  isHuman: false,
24
26
  captchaApi: undefined,
25
27
  account: undefined,
28
+ // don't handle timeout here, this should be handled by the state management
26
29
  };
27
30
  };
28
31
  exports.defaultState = defaultState;
@@ -39,6 +42,14 @@ const buildUpdateState = (state, onStateUpdate) => {
39
42
  };
40
43
  return updateCurrentState;
41
44
  };
45
+ const getNetwork = (config) => {
46
+ const network = config.networks[config.defaultEnvironment];
47
+ if (!network) {
48
+ throw new Error(`No network found for environment ${config.defaultEnvironment}`);
49
+ }
50
+ return network;
51
+ };
52
+ exports.getNetwork = getNetwork;
42
53
  /**
43
54
  * The state operator. This is used to mutate the state of Procaptcha during the captcha process. State updates are published via the onStateUpdate callback. This should be used by frontends, e.g. react, to maintain the state of Procaptcha across renders.
44
55
  */
@@ -49,7 +60,7 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
49
60
  alert(`Account ${address} not found`);
50
61
  },
51
62
  onError: (error) => {
52
- alert(error ? error.message : 'An error occurred');
63
+ alert(`${error?.message ?? 'An unexpected error occurred'}, please try again`);
53
64
  },
54
65
  onHuman: (output) => {
55
66
  console.log('onHuman event triggered', output);
@@ -57,12 +68,19 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
57
68
  onExtensionNotFound: () => {
58
69
  alert('No extension found');
59
70
  },
71
+ onExpired: () => {
72
+ alert('Challenge has expired, please try again');
73
+ },
74
+ onFailed: () => {
75
+ alert('Captcha challenge failed. Please try again');
76
+ },
60
77
  }, callbacks);
61
78
  // mapping of type of error to relevant event callback
62
79
  const errorToEventMap = {
63
80
  AccountNotFoundError: events.onAccountNotFound,
64
81
  ExtensionNotFoundError: events.onExtensionNotFound,
65
82
  Error: events.onError,
83
+ ExpiredError: events.onExpired,
66
84
  };
67
85
  // get the state update mechanism
68
86
  const updateState = buildUpdateState(state, onStateUpdate);
@@ -72,7 +90,6 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
72
90
  */
73
91
  const getConfig = () => {
74
92
  const config = {
75
- web2: false,
76
93
  userAccountAddress: '',
77
94
  ...configOptional,
78
95
  };
@@ -86,6 +103,7 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
86
103
  * Called on start of user verification. This is when the user ticks the box to claim they are human.
87
104
  */
88
105
  const start = async () => {
106
+ console.log('Starting procaptcha');
89
107
  try {
90
108
  if (state.loading) {
91
109
  console.log('Procaptcha already loading');
@@ -100,7 +118,7 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
100
118
  updateState({ loading: true });
101
119
  // snapshot the config into the state
102
120
  const config = getConfig();
103
- console.log('Starting procaptcha using config:', config);
121
+ updateState({ dappAccount: config.account.address });
104
122
  // allow UI to catch up with the loading state
105
123
  await (0, utils_1.sleep)(100);
106
124
  // check accounts / setup accounts
@@ -109,11 +127,20 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
109
127
  // first, ask the smart contract
110
128
  const contract = await loadContract();
111
129
  // We don't need to show CAPTCHA challenges if the user is determined as human by the contract
112
- const contractIsHuman = await contract.dappOperatorIsHumanUser(config.solutionThreshold);
130
+ let contractIsHuman = false;
131
+ try {
132
+ contractIsHuman = (await contract.query.dappOperatorIsHumanUser(account.account.address, config.solutionThreshold)).value
133
+ .unwrap()
134
+ .unwrap();
135
+ }
136
+ catch (error) {
137
+ console.warn(error);
138
+ }
113
139
  if (contractIsHuman) {
114
140
  updateState({ isHuman: true, loading: false });
115
141
  events.onHuman({
116
- userAccountAddress: account.account.address,
142
+ user: account.account.address,
143
+ dapp: config.account.address,
117
144
  });
118
145
  return;
119
146
  }
@@ -130,7 +157,8 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
130
157
  updateState({ isHuman: true, loading: false });
131
158
  events.onHuman({
132
159
  providerUrl: providerUrlFromStorage,
133
- userAccountAddress: account.account.address,
160
+ user: account.account.address,
161
+ dapp: config.account.address,
134
162
  commitmentId: verifyDappUserResponse.commitmentId,
135
163
  });
136
164
  return;
@@ -142,26 +170,47 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
142
170
  // continue as if the provider was not in storage
143
171
  }
144
172
  }
173
+ const payload = {
174
+ address: account.account.address,
175
+ data: (0, util_1.stringToU8a)('message'),
176
+ type: 'bytes',
177
+ };
178
+ const signed = await account.extension.signer.signRaw(payload);
179
+ console.log('Signature:', signed);
145
180
  // get a random provider
146
- const provider = await loadRandomProvider(contract);
147
- console.log('provider', provider);
148
- const providerUrl = provider.provider.serviceOrigin;
181
+ const getRandomProviderResponse = await (0, contract_1.wrapQuery)(contract.query.getRandomActiveProvider, contract.query)(account.account.address, config.account.address);
182
+ const blockNumber = getRandomProviderResponse.blockNumber;
183
+ console.log('provider', getRandomProviderResponse);
184
+ const providerUrl = (0, common_1.trimProviderUrl)(getRandomProviderResponse.provider.url.toString());
149
185
  // get the provider api inst
150
186
  providerApi = await loadProviderApi(providerUrl);
151
187
  console.log('providerApi', providerApi);
152
188
  // get the captcha challenge and begin the challenge
153
- const captchaApi = await loadCaptchaApi(contract, provider, providerApi);
189
+ const captchaApi = await loadCaptchaApi(contract, getRandomProviderResponse, providerApi);
154
190
  console.log('captchaApi', captchaApi);
155
191
  const challenge = await captchaApi.getCaptchaChallenge();
192
+ console.log('challenge', challenge);
156
193
  if (challenge.captchas.length <= 0) {
157
194
  throw new Error('No captchas returned from provider');
158
195
  }
196
+ // setup timeout
197
+ const timeMillis = challenge.captchas
198
+ .map((captcha) => captcha.captcha.timeLimitMs || 30 * 1000)
199
+ .reduce((a, b) => a + b);
200
+ const timeout = setTimeout(() => {
201
+ console.log('challenge expired after ' + timeMillis + 'ms');
202
+ events.onExpired();
203
+ // expired, disallow user's claim to be human
204
+ updateState({ isHuman: false, showModal: false, loading: false });
205
+ }, timeMillis);
159
206
  // update state with new challenge
160
207
  updateState({
161
208
  index: 0,
162
209
  solutions: challenge.captchas.map(() => []),
163
210
  challenge,
164
211
  showModal: true,
212
+ timeout,
213
+ blockNumber,
165
214
  });
166
215
  }
167
216
  catch (err) {
@@ -173,20 +222,11 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
173
222
  updateState({ isHuman: false, showModal: false, loading: false });
174
223
  }
175
224
  };
176
- const loadRandomProvider = async (contract) => {
177
- const provider = await contract.getRandomProvider();
178
- console.log('Got random provider', provider);
179
- if (!provider || !provider.provider || !provider.provider.serviceOrigin) {
180
- throw new Error('No provider found: ' + JSON.stringify(provider));
181
- }
182
- provider.provider.serviceOrigin = trimProviderUrl(provider.provider.serviceOrigin);
183
- // record provider in localstorage for subsequent human checks (i.e. if the user has already solved some captchas but they have not been put on chain yet, contact the provider in the local storage to verify)
184
- storage_1.default.setProviderUrl(provider.provider.serviceOrigin);
185
- return provider;
186
- };
187
225
  const submit = async () => {
188
226
  try {
189
227
  console.log('submitting solutions');
228
+ // disable the time limit, user has submitted their solution in time
229
+ clearTimeout();
190
230
  if (!state.challenge) {
191
231
  throw new Error('cannot submit, no challenge found');
192
232
  }
@@ -205,6 +245,7 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
205
245
  };
206
246
  });
207
247
  const account = getAccount();
248
+ const blockNumber = getBlockNumber();
208
249
  const signer = account.extension.signer;
209
250
  if (!challenge.captchas[0].captcha.datasetId) {
210
251
  throw new Error('No datasetId set for challenge');
@@ -212,18 +253,25 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
212
253
  const captchaApi = getCaptchaApi();
213
254
  // send the commitment to the provider
214
255
  const submission = await captchaApi.submitCaptchaSolution(signer, challenge.requestHash, challenge.captchas[0].captcha.datasetId, captchaSolution, salt);
256
+ // mark as is human if solution has been approved
257
+ const isHuman = submission[0].solutionApproved;
258
+ if (!isHuman) {
259
+ // user failed the captcha for some reason according to the provider
260
+ events.onFailed();
261
+ }
215
262
  // update the state with the result of the submission
216
263
  updateState({
217
264
  submission,
218
- // mark as is human if solution has been approved
219
- isHuman: submission[0].solutionApproved,
265
+ isHuman,
220
266
  loading: false,
221
267
  });
222
268
  if (state.isHuman) {
223
269
  events.onHuman({
224
- providerUrl: captchaApi.provider.provider.serviceOrigin,
225
- userAccountAddress: account.account.address,
270
+ providerUrl: (0, common_1.trimProviderUrl)(captchaApi.provider.provider.url.toString()),
271
+ user: account.account.address,
272
+ dapp: getDappAccount(),
226
273
  commitmentId: submission[1],
274
+ blockNumber,
227
275
  });
228
276
  }
229
277
  }
@@ -237,6 +285,8 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
237
285
  };
238
286
  const cancel = async () => {
239
287
  console.log('cancel');
288
+ // disable the time limit
289
+ clearTimeout();
240
290
  // abandon the captcha process
241
291
  resetState();
242
292
  };
@@ -282,16 +332,24 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
282
332
  const loadCaptchaApi = async (contract, provider, providerApi) => {
283
333
  const config = getConfig();
284
334
  // setup the captcha api to carry out a challenge
285
- const captchaApi = new ProsopoCaptchaApi_1.default(getAccount().account.address, contract, provider, providerApi, config.web2);
335
+ const captchaApi = new ProsopoCaptchaApi_1.default(getAccount().account.address, contract, provider, providerApi, config.web2, config.account.address);
286
336
  updateState({ captchaApi });
287
337
  return getCaptchaApi();
288
338
  };
289
339
  const loadProviderApi = async (providerUrl) => {
290
340
  const config = getConfig();
291
- const providerApi = new api_1.ProviderApi(config.network, providerUrl);
292
- return providerApi;
341
+ const network = (0, exports.getNetwork)(config);
342
+ return new api_2.ProviderApi(network, providerUrl, config.account.address);
343
+ };
344
+ const clearTimeout = () => {
345
+ // clear the timeout
346
+ window.clearTimeout(state.timeout);
347
+ // then clear the timeout from the state
348
+ updateState({ timeout: undefined });
293
349
  };
294
350
  const resetState = () => {
351
+ // clear timeout just in case a timer is still active (shouldn't be)
352
+ clearTimeout();
295
353
  updateState((0, exports.defaultState)());
296
354
  };
297
355
  const getCaptchaApi = () => {
@@ -323,13 +381,31 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
323
381
  const account = state.account;
324
382
  return account;
325
383
  };
384
+ const getDappAccount = () => {
385
+ if (!state.dappAccount) {
386
+ throw new Error('Dapp account not loaded');
387
+ }
388
+ const dappAccount = state.dappAccount;
389
+ return dappAccount;
390
+ };
391
+ const getBlockNumber = () => {
392
+ if (!state.blockNumber) {
393
+ throw new Error('Account not loaded');
394
+ }
395
+ const blockNumber = state.blockNumber;
396
+ return blockNumber;
397
+ };
326
398
  /**
327
399
  * Load the contract instance using addresses from config.
328
400
  */
329
401
  const loadContract = async () => {
330
402
  const config = getConfig();
331
- const contract = await ProsopoContract_1.default.create(config.network.prosopoContract.address, config.network.dappContract.address, getAccount().account.address, new rpc_provider_1.WsProvider(config.network.endpoint));
332
- return contract;
403
+ const network = (0, exports.getNetwork)(config);
404
+ const api = await api_1.ApiPromise.create({ provider: new rpc_provider_1.WsProvider(network.endpoint) });
405
+ // TODO create a shared keyring that's stored somewhere
406
+ const type = 'sr25519';
407
+ const keyring = new api_1.Keyring({ type, ss58Format: api.registry.chainSS58 });
408
+ return new contract_1.ProsopoCaptchaContract(api, contract_1.abiJson, network.contract.address, keyring.addFromAddress(getAccount().account.address), 'prosopo', 0);
333
409
  };
334
410
  return {
335
411
  start,
@@ -340,7 +416,4 @@ const Manager = (configOptional, state, onStateUpdate, callbacks) => {
340
416
  };
341
417
  };
342
418
  exports.Manager = Manager;
343
- const trimProviderUrl = (url) => {
344
- return (0, util_1.hexToString)(url).replace(/\0/g, '');
345
- };
346
419
  //# sourceMappingURL=Manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/modules/Manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/modules/Manager.ts"],"names":[],"mappings":";;;;AAQA,uCAAmD;AAQnD,sCAA8D;AAC9D,gDAA8E;AAG9E,yDAAmD;AACnD,uDAAmD;AACnD,0CAAsC;AACtC,yCAA4C;AAC5C,4CAAiD;AACjD,iFAAgD;AAChD,iFAAgD;AAChD,oFAAmD;AACnD,gEAA+B;AAExB,MAAM,YAAY,GAAG,GAA6B,EAAE;IACvD,OAAO;QACH,mIAAmI;QACnI,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,CAAC,CAAC;QACT,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,SAAS;QAClB,4EAA4E;KAC/E,CAAA;AACL,CAAC,CAAA;AAbY,QAAA,YAAY,gBAaxB;AAED,MAAM,gBAAgB,GAAG,CAAC,KAAsB,EAAE,aAAsC,EAAE,EAAE;IACxF,MAAM,kBAAkB,GAAG,CAAC,SAAmC,EAAE,EAAE;QAC/D,8FAA8F;QAC9F,mNAAmN;QACnN,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YACzB,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;SAC9B;QACD,gEAAgE;QAChE,aAAa,CAAC,SAAS,CAAC,CAAA;QAExB,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;IAC1E,CAAC,CAAA;IAED,OAAO,kBAAkB,CAAA;AAC7B,CAAC,CAAA;AAEM,MAAM,UAAU,GAAG,CAAC,MAA2B,EAAE,EAAE;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC1D,IAAI,CAAC,OAAO,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;KACnF;IACD,OAAO,OAAO,CAAA;AAClB,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB;AAED;;GAEG;AACI,MAAM,OAAO,GAAG,CACnB,cAAwC,EACxC,KAAsB,EACtB,aAAsC,EACtC,SAA8B,EAChC,EAAE;IACA,qKAAqK;IAErK,MAAM,MAAM,GAAqB,MAAM,CAAC,MAAM,CAC1C;QACI,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3B,KAAK,CAAC,WAAW,OAAO,YAAY,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,KAAK,CAAC,GAAG,KAAK,EAAE,OAAO,IAAI,8BAA8B,oBAAoB,CAAC,CAAA;QAClF,CAAC;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAA;QAClD,CAAC;QACD,mBAAmB,EAAE,GAAG,EAAE;YACtB,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC/B,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACZ,KAAK,CAAC,yCAAyC,CAAC,CAAA;QACpD,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACX,KAAK,CAAC,4CAA4C,CAAC,CAAA;QACvD,CAAC;KACJ,EACD,SAAS,CACZ,CAAA;IAED,sDAAsD;IACtD,MAAM,eAAe,GAAG;QACpB,oBAAoB,EAAE,MAAM,CAAC,iBAAiB;QAC9C,sBAAsB,EAAE,MAAM,CAAC,mBAAmB;QAClD,KAAK,EAAE,MAAM,CAAC,OAAO;QACrB,YAAY,EAAE,MAAM,CAAC,SAAS;KACjC,CAAA;IAED,iCAAiC;IACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAE1D;;;OAGG;IACH,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,MAAM,MAAM,GAA2B;YACnC,kBAAkB,EAAE,EAAE;YACtB,GAAG,cAAc;SACpB,CAAA;QACD,mKAAmK;QACnK,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,MAAM,CAAC,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAA;SAC5D;QACD,OAAO,MAAM,CAAA;IACjB,CAAC,CAAA;IAED;;OAEG;IACH,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAClC,IAAI;YACA,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;gBACzC,OAAM;aACT;YACD,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;gBAC5B,OAAM;aACT;YAED,UAAU,EAAE,CAAA;YACZ,kIAAkI;YAClI,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAE9B,qCAAqC;YACrC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;YAC1B,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YAEpD,8CAA8C;YAC9C,MAAM,IAAA,aAAK,EAAC,GAAG,CAAC,CAAA;YAEhB,kCAAkC;YAClC,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;YAEnC,sEAAsE;YACtE,gCAAgC;YAChC,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAA;YACrC,8FAA8F;YAC9F,IAAI,eAAe,GAAG,KAAK,CAAA;YAC3B,IAAI;gBACA,eAAe,GAAG,CACd,MAAM,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAClG,CAAC,KAAK;qBACF,MAAM,EAAE;qBACR,MAAM,EAAE,CAAA;aAChB;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACtB;YAED,IAAI,eAAe,EAAE;gBACjB,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC9C,MAAM,CAAC,OAAO,CAAC;oBACX,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;oBAC7B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;iBAC/B,CAAC,CAAA;gBACF,OAAM;aACT;YAED,sFAAsF;YACtF,MAAM,sBAAsB,GAAG,iBAAO,CAAC,cAAc,EAAE,CAAA;YACvD,IAAI,WAAwB,CAAA;YAC5B,IAAI,sBAAsB,EAAE;gBACxB,WAAW,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,CAAA;gBAE3D,iIAAiI;gBACjI,uDAAuD;gBACvD,IAAI;oBACA,MAAM,sBAAsB,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBACxF,IAAI,sBAAsB,CAAC,gBAAgB,EAAE;wBACzC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;wBAC9C,MAAM,CAAC,OAAO,CAAC;4BACX,WAAW,EAAE,sBAAsB;4BACnC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;4BAC7B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;4BAC5B,YAAY,EAAE,sBAAsB,CAAC,YAAY;yBACpD,CAAC,CAAA;wBACF,OAAM;qBACT;iBACJ;gBAAC,OAAO,GAAG,EAAE;oBACV,8FAA8F;oBAC9F,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,sBAAsB,CAAC,CAAA;oBAC/E,iDAAiD;iBACpD;aACJ;YACD,MAAM,OAAO,GAAG;gBACZ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;gBAChC,IAAI,EAAE,IAAA,kBAAW,EAAC,SAAS,CAAC;gBAC5B,IAAI,EAAE,OAAO;aAChB,CAAA;YACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAU,CAAC,MAAO,CAAC,OAAQ,CAAC,OAAsC,CAAC,CAAA;YAChG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YAEjC,wBAAwB;YACxB,MAAM,yBAAyB,GAAmB,MAAM,IAAA,oBAAS,EAC7D,QAAQ,CAAC,KAAK,CAAC,uBAAuB,EACtC,QAAQ,CAAC,KAAK,CACjB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAClD,MAAM,WAAW,GAAG,yBAAyB,CAAC,WAAW,CAAA;YACzD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAA;YAClD,MAAM,WAAW,GAAG,IAAA,wBAAe,EAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;YACtF,4BAA4B;YAC5B,WAAW,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAA;YAChD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;YACvC,oDAAoD;YACpD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,yBAAyB,EAAE,WAAW,CAAC,CAAA;YAEzF,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACrC,MAAM,SAAS,GAAuB,MAAM,UAAU,CAAC,mBAAmB,EAAE,CAAA;YAC5E,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;YACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;aACxD;YAED,gBAAgB;YAChB,MAAM,UAAU,GAAW,SAAS,CAAC,QAAQ;iBACxC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,GAAG,IAAI,CAAC;iBAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,UAAU,GAAG,IAAI,CAAC,CAAA;gBAC3D,MAAM,CAAC,SAAS,EAAE,CAAA;gBAClB,6CAA6C;gBAC7C,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;YACrE,CAAC,EAAE,UAAU,CAAC,CAAA;YAEd,kCAAkC;YAClC,WAAW,CAAC;gBACR,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;gBAC3C,SAAS;gBACT,SAAS,EAAE,IAAI;gBACf,OAAO;gBACP,WAAW;aACd,CAAC,CAAA;SACL;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,gCAAgC;YAChC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAA;YAChE,KAAK,CAAC,GAAG,CAAC,CAAA;YACV,kDAAkD;YAClD,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;SACpE;IACL,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI;YACA,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;YACnC,oEAAoE;YACpE,YAAY,EAAE,CAAA;YAEd,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;aACvD;YAED,sDAAsD;YACtD,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;YAEjC,MAAM,SAAS,GAAuB,KAAK,CAAC,SAAS,CAAA;YACrD,MAAM,IAAI,GAAG,IAAA,yBAAW,GAAE,CAAA;YAE1B,mDAAmD;YACnD,MAAM,eAAe,GAAsB,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACvF,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACvC,OAAO;oBACH,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;oBACpC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;oBAClD,IAAI;oBACJ,QAAQ;iBACX,CAAA;YACL,CAAC,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;YAC5B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;YACpC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAA;YAEvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;aACpD;YAED,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;YAElC,sCAAsC;YACtC,MAAM,UAAU,GAAyB,MAAM,UAAU,CAAC,qBAAqB,CAC3E,MAAM,EACN,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EACvC,eAAe,EACf,IAAI,CACP,CAAA;YAED,iDAAiD;YACjD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAA;YAE9C,IAAI,CAAC,OAAO,EAAE;gBACV,oEAAoE;gBACpE,MAAM,CAAC,QAAQ,EAAE,CAAA;aACpB;YAED,qDAAqD;YACrD,WAAW,CAAC;gBACR,UAAU;gBACV,OAAO;gBACP,OAAO,EAAE,KAAK;aACjB,CAAC,CAAA;YACF,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,MAAM,CAAC,OAAO,CAAC;oBACX,WAAW,EAAE,IAAA,wBAAe,EAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACzE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;oBAC7B,IAAI,EAAE,cAAc,EAAE;oBACtB,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;oBAC3B,WAAW;iBACd,CAAC,CAAA;aACL;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,gCAAgC;YAChC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAA;YAChE,KAAK,CAAC,GAAG,CAAC,CAAA;YACV,kDAAkD;YAClD,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;SACpE;IACL,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACrB,yBAAyB;QACzB,YAAY,EAAE,CAAA;QACd,8BAA8B;QAC9B,UAAU,EAAE,CAAA;IAChB,CAAC,CAAA;IAED;;;OAGG;IACH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;SACvD;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE;YACnE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;SAC7D;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;YAChC,oCAAoC;YACpC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;SAC7C;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;YAC9B,+BAA+B;YAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACtB;QACD,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAC9B,CAAC,CAAA;IAED;;OAEG;IACH,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACtE;QACD,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;SACzE;QACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;QACvC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;IAC3C,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,KAAK,EACxB,QAAgC,EAChC,QAAwB,EACxB,WAAwB,EAC1B,EAAE;QACA,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,iDAAiD;QACjD,MAAM,UAAU,GAAG,IAAI,2BAAiB,CACpC,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO,EAC5B,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,OAAO,CAAC,OAAO,CACzB,CAAA;QAED,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAE3B,OAAO,aAAa,EAAE,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAA;QAClC,OAAO,IAAI,iBAAW,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACxE,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,oBAAoB;QACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,wCAAwC;QACxC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,oEAAoE;QACpE,YAAY,EAAE,CAAA;QACd,WAAW,CAAC,IAAA,oBAAY,GAAE,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACzC;QACD,OAAO,KAAK,CAAC,UAAU,CAAA;IAC3B,CAAC,CAAA;IAED;;OAEG;IACH,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,6EAA6E;QAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;SACpE;QAED,uCAAuC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAa,EAAE,CAAC,CAAC,CAAC,IAAI,uBAAa,EAAE,CAAA;QACnE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAE5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QACtC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAExB,OAAO,UAAU,EAAE,CAAA;IACvB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;SACxC;QACD,MAAM,OAAO,GAAY,KAAK,CAAC,OAAO,CAAA;QACtC,OAAO,OAAO,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;SAC7C;QACD,MAAM,WAAW,GAAW,KAAK,CAAC,WAAW,CAAA;QAC7C,OAAO,WAAW,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;SACxC;QACD,MAAM,WAAW,GAAW,KAAK,CAAC,WAAW,CAAA;QAC7C,OAAO,WAAW,CAAA;IACtB,CAAC,CAAA;IAED;;OAEG;IACH,MAAM,YAAY,GAAG,KAAK,IAAqC,EAAE;QAC7D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAA;QAClC,MAAM,GAAG,GAAG,MAAM,gBAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,yBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnF,uDAAuD;QACvD,MAAM,IAAI,GAAG,SAAS,CAAA;QACtB,MAAM,OAAO,GAAG,IAAI,aAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;QACzE,OAAO,IAAI,iCAAsB,CAC7B,GAAG,EACH,kBAAsB,EACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,EACxB,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EACpD,SAAS,EACT,CAAC,CACJ,CAAA;IACL,CAAC,CAAA;IAED,OAAO;QACH,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,SAAS;KACZ,CAAA;AACL,CAAC,CAAA;AAzbY,QAAA,OAAO,WAybnB"}
@@ -1,18 +1,20 @@
1
- import { CaptchaSolution } from '@prosopo/datasets';
2
- import { Signer } from '@polkadot/api/types';
3
- import { GetCaptchaResponse, ProsopoRandomProviderResponse } from '../types/api';
1
+ import { CaptchaSolution } from '@prosopo/types';
2
+ import { GetCaptchaResponse } from '../types/api';
3
+ import { ProsopoCaptchaContract } from '@prosopo/contract';
4
4
  import { ProviderApi } from '@prosopo/api';
5
- import ProsopoContract from '../api/ProsopoContract';
5
+ import { RandomProvider } from '@prosopo/types';
6
+ import { Signer } from '@polkadot/api/types';
6
7
  import { TCaptchaSubmitResult } from '../types/client';
7
8
  export declare class ProsopoCaptchaApi {
8
9
  userAccount: string;
9
- contract: ProsopoContract;
10
- provider: ProsopoRandomProviderResponse;
10
+ contract: ProsopoCaptchaContract;
11
+ provider: RandomProvider;
11
12
  providerApi: ProviderApi;
13
+ dappAccount: string;
12
14
  private web2;
13
- constructor(userAccount: string, contract: ProsopoContract, provider: ProsopoRandomProviderResponse, providerApi: ProviderApi, web2: boolean);
15
+ constructor(userAccount: string, contract: ProsopoCaptchaContract, provider: RandomProvider, providerApi: ProviderApi, web2: boolean, dappAccount: string);
14
16
  getCaptchaChallenge(): Promise<GetCaptchaResponse>;
15
- verifyCaptchaChallengeContent(provider: ProsopoRandomProviderResponse, captchaChallenge: GetCaptchaResponse): void;
17
+ verifyCaptchaChallengeContent(provider: RandomProvider, captchaChallenge: GetCaptchaResponse): void;
16
18
  submitCaptchaSolution(signer: Signer, requestHash: string, datasetId: string, solutions: CaptchaSolution[], salt: string): Promise<TCaptchaSubmitResult>;
17
19
  }
18
20
  export default ProsopoCaptchaApi;
@@ -1 +1 @@
1
- {"version":3,"file":"ProsopoCaptchaApi.d.ts","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"AAeA,OAAO,EAAqB,eAAe,EAA0C,MAAM,mBAAmB,CAAA;AAC9G,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAA2B,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AAGzG,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,eAAe,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAKtD,qBAAa,iBAAiB;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,eAAe,CAAA;IACzB,QAAQ,EAAE,6BAA6B,CAAA;IACvC,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,CAAC,IAAI,CAAS;gBAGjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,6BAA6B,EACvC,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO;IASJ,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IASxD,6BAA6B,CAChC,QAAQ,EAAE,6BAA6B,EACvC,gBAAgB,EAAE,kBAAkB,GACrC,IAAI;IAuBM,qBAAqB,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,EAAE,EAC5B,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC;CAuDnC;AAED,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"ProsopoCaptchaApi.d.ts","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,eAAe,EAAoB,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAA2B,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAG1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAGtD,qBAAa,iBAAiB;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,QAAQ,EAAE,cAAc,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,IAAI,CAAS;gBAGjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,MAAM;IAUV,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAUxD,6BAA6B,CAAC,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,GAAG,IAAI;IAuB7F,qBAAqB,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,EAAE,EAC5B,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC;CA0CnC;AA4BD,eAAe,iBAAiB,CAAA"}
@@ -18,41 +18,47 @@ exports.ProsopoCaptchaApi = void 0;
18
18
  // along with procaptcha. If not, see <http://www.gnu.org/licenses/>.
19
19
  const datasets_1 = require("@prosopo/datasets");
20
20
  const handlers_1 = require("../api/handlers");
21
- const datasets_2 = require("@prosopo/datasets");
22
- const datasets_3 = require("@prosopo/datasets");
21
+ const common_1 = require("@prosopo/common");
22
+ const util_1 = require("@polkadot/util");
23
23
  class ProsopoCaptchaApi {
24
24
  userAccount;
25
25
  contract;
26
26
  provider;
27
27
  providerApi;
28
+ dappAccount;
28
29
  web2;
29
- constructor(userAccount, contract, provider, providerApi, web2) {
30
+ constructor(userAccount, contract, provider, providerApi, web2, dappAccount) {
30
31
  this.userAccount = userAccount;
31
32
  this.contract = contract;
32
33
  this.provider = provider;
33
34
  this.providerApi = providerApi;
34
35
  this.web2 = web2;
36
+ this.dappAccount = dappAccount;
35
37
  }
36
38
  async getCaptchaChallenge() {
37
- const captchaChallenge = await this.providerApi.getCaptchaChallenge(this.userAccount, this.provider);
38
- this.verifyCaptchaChallengeContent(this.provider, captchaChallenge);
39
- return captchaChallenge;
39
+ try {
40
+ const captchaChallenge = await this.providerApi.getCaptchaChallenge(this.userAccount, this.provider);
41
+ this.verifyCaptchaChallengeContent(this.provider, captchaChallenge);
42
+ return captchaChallenge;
43
+ }
44
+ catch (e) {
45
+ throw new common_1.ProsopoEnvError(e);
46
+ }
40
47
  }
41
48
  verifyCaptchaChallengeContent(provider, captchaChallenge) {
42
49
  // TODO make sure root is equal to root on the provider
43
50
  const proofLength = captchaChallenge.captchas[0].proof.length;
44
51
  console.log(provider.provider);
45
- console.log(provider.provider.datasetIdContent, captchaChallenge.captchas[0].proof[proofLength - 1][0]);
46
- if (provider.provider.datasetIdContent !== captchaChallenge.captchas[0].proof[proofLength - 1][0]) {
47
- throw new datasets_2.ProsopoEnvError('CAPTCHA.INVALID_DATASET_CONTENT_ID');
52
+ if (provider.provider.datasetIdContent.toString() !== captchaChallenge.captchas[0].proof[proofLength - 1][0]) {
53
+ throw new common_1.ProsopoEnvError('CAPTCHA.INVALID_DATASET_CONTENT_ID');
48
54
  }
49
55
  for (const captchaWithProof of captchaChallenge.captchas) {
50
56
  //TODO calculate the captchaId from the captcha content
51
- // if (!verifyCaptchaData(captchaWithProof.captcha, captchaWithProof.proof)) {
52
- // throw new ProsopoEnvError('CAPTCHA.INVALID_CAPTCHA_CHALLENGE')
53
- // }
57
+ if (!verifyCaptchaData(captchaWithProof)) {
58
+ throw new common_1.ProsopoEnvError('CAPTCHA.INVALID_CAPTCHA_CHALLENGE');
59
+ }
54
60
  if (!(0, datasets_1.verifyProof)(captchaWithProof.captcha.captchaContentId, captchaWithProof.proof)) {
55
- throw new datasets_2.ProsopoEnvError('CAPTCHA.INVALID_CAPTCHA_CHALLENGE');
61
+ throw new common_1.ProsopoEnvError('CAPTCHA.INVALID_CAPTCHA_CHALLENGE');
56
62
  }
57
63
  }
58
64
  console.log('CAPTCHA.CHALLENGE_VERIFIED');
@@ -60,41 +66,55 @@ class ProsopoCaptchaApi {
60
66
  }
61
67
  async submitCaptchaSolution(signer, requestHash, datasetId, solutions, salt) {
62
68
  const tree = new datasets_1.CaptchaMerkleTree();
63
- const captchasHashed = solutions.map((captcha) => (0, datasets_3.computeCaptchaSolutionHash)(captcha));
69
+ const captchasHashed = solutions.map((captcha) => (0, datasets_1.computeCaptchaSolutionHash)(captcha));
64
70
  tree.build(captchasHashed);
65
71
  const commitmentId = tree.root.hash;
66
72
  console.log('solveCaptchaChallenge commitmentId', commitmentId);
67
- // console.log("solveCaptchaChallenge USER ACCOUNT", this.contract.getAccount().address);
68
- // console.log("solveCaptchaChallenge DAPP ACCOUNT", this.contract.getDappAddress());
69
- // console.log("solveCaptchaChallenge CONTRACT ADDRESS", this.contract.getContract().address.toString());
70
- let tx = undefined;
71
- if (!this.web2) {
72
- try {
73
- tx = await this.contract.dappUserCommit(signer, datasetId, commitmentId, this.provider.providerId);
74
- }
75
- catch (err) {
76
- throw new datasets_2.ProsopoEnvError(err);
73
+ const tx = undefined;
74
+ let signature = undefined;
75
+ if (this.web2) {
76
+ if (!signer || !signer.signRaw) {
77
+ throw new Error('Signer is not defined, cannot sign message to prove account ownership');
77
78
  }
79
+ // sign the request hash to prove account ownership
80
+ const signed = await signer.signRaw({
81
+ address: this.userAccount,
82
+ data: (0, util_1.stringToHex)(requestHash),
83
+ type: 'bytes',
84
+ });
85
+ signature = signed.signature;
78
86
  }
79
87
  let result;
80
88
  try {
81
- result = await this.providerApi.submitCaptchaSolution(solutions, requestHash, this.contract.userAccountAddress, salt, tx ? tx?.blockHash : undefined, tx ? tx?.txHash.toString() : undefined, this.web2);
89
+ result = await this.providerApi.submitCaptchaSolution(solutions, requestHash, this.contract.pair.address, salt, signature);
82
90
  }
83
91
  catch (err) {
84
92
  throw new handlers_1.ProsopoApiError(err);
85
93
  }
86
- let commitment = undefined;
87
- if (!this.web2) {
88
- try {
89
- commitment = await this.contract.getCaptchaSolutionCommitment(commitmentId);
90
- }
91
- catch (err) {
92
- throw new datasets_2.ProsopoEnvError(err);
93
- }
94
- }
95
- return [result, commitmentId, tx, commitment];
94
+ return [result, commitmentId, tx];
96
95
  }
97
96
  }
98
97
  exports.ProsopoCaptchaApi = ProsopoCaptchaApi;
98
+ /**
99
+ * Verify the captcha data by hashing the images and checking the hashes correspond to the hashes passed in the captcha
100
+ * Verify the captcha content id is present in the first layer of the proof
101
+ * @param {CaptchaWithProof} captchaWithProof
102
+ * @returns {boolean}
103
+ */
104
+ async function verifyCaptchaData(captchaWithProof) {
105
+ const captcha = captchaWithProof.captcha;
106
+ const proof = captchaWithProof.proof;
107
+ // Check that all the item hashes are equal to the provided item hashes in the captcha
108
+ if (!(await Promise.all(captcha.items.map(async (item) => (await (0, datasets_1.computeItemHash)(item)).hash === item.hash))).every((hash) => hash === true)) {
109
+ return false;
110
+ }
111
+ // Check that the computed captcha content id is equal to the provided captcha content id
112
+ const captchaHash = (0, datasets_1.computeCaptchaHash)(captcha, false, false, false);
113
+ if (captchaHash !== captcha.captchaContentId) {
114
+ return false;
115
+ }
116
+ // Check that the captcha content id is present in the first layer of the proof
117
+ return proof[0].indexOf(captchaHash) !== -1;
118
+ }
99
119
  exports.default = ProsopoCaptchaApi;
100
120
  //# sourceMappingURL=ProsopoCaptchaApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProsopoCaptchaApi.js","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProsopoCaptchaApi.js","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.picassoCanvas = void 0;
4
- const datasets_1 = require("@prosopo/datasets");
4
+ const common_1 = require("@prosopo/common");
5
5
  function x64Add(m, n) {
6
6
  m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff];
7
7
  n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff];
@@ -342,7 +342,7 @@ function picassoCanvas(roundNumber, seed, params) {
342
342
  }
343
343
  catch (e) {
344
344
  console.log(e);
345
- throw new datasets_1.ProsopoEnvError(e);
345
+ throw new common_1.ProsopoEnvError(e);
346
346
  }
347
347
  }
348
348
  exports.picassoCanvas = picassoCanvas;