@prosopo/procaptcha-puzzle 2.10.39 → 2.10.41

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 (59) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +13 -11
  2. package/.turbo/turbo-build$colon$tsc.log +19 -19
  3. package/.turbo/turbo-build.log +15 -12
  4. package/CHANGELOG.md +41 -0
  5. package/dist/_virtual/_rolldown/runtime.js +3 -0
  6. package/dist/cjs/components/ProcaptchaPuzzle.cjs +6 -9
  7. package/dist/cjs/components/ProcaptchaWidget.cjs +191 -213
  8. package/dist/cjs/components/PuzzleCanvas.cjs +228 -270
  9. package/dist/cjs/index.cjs +2 -4
  10. package/dist/cjs/services/Manager.cjs +209 -289
  11. package/dist/components/ProcaptchaPuzzle.js +6 -8
  12. package/dist/components/ProcaptchaWidget.d.ts.map +1 -1
  13. package/dist/components/ProcaptchaWidget.js +190 -212
  14. package/dist/components/ProcaptchaWidget.js.map +1 -1
  15. package/dist/components/PuzzleCanvas.js +229 -271
  16. package/dist/index.js +2 -4
  17. package/dist/services/Manager.d.ts.map +1 -1
  18. package/dist/services/Manager.js +205 -286
  19. package/dist/services/Manager.js.map +1 -1
  20. package/dist/tests/manager.unit.test.d.ts +2 -0
  21. package/dist/tests/manager.unit.test.d.ts.map +1 -0
  22. package/dist/tests/manager.unit.test.js +506 -0
  23. package/dist/tests/manager.unit.test.js.map +1 -0
  24. package/dist/tests/managerHarness.d.ts +20 -0
  25. package/dist/tests/managerHarness.d.ts.map +1 -0
  26. package/dist/tests/managerHarness.js +86 -0
  27. package/dist/tests/managerHarness.js.map +1 -0
  28. package/dist/tests/procaptchaPuzzle.test-d.d.ts +2 -0
  29. package/dist/tests/procaptchaPuzzle.test-d.d.ts.map +1 -0
  30. package/dist/tests/procaptchaPuzzle.test-d.js +97 -0
  31. package/dist/tests/procaptchaPuzzle.test-d.js.map +1 -0
  32. package/dist/tests/procaptchaPuzzle.unit.test.d.ts +2 -0
  33. package/dist/tests/procaptchaPuzzle.unit.test.d.ts.map +1 -0
  34. package/dist/tests/procaptchaPuzzle.unit.test.js +81 -0
  35. package/dist/tests/procaptchaPuzzle.unit.test.js.map +1 -0
  36. package/dist/tests/procaptchaWidget.unit.test.d.ts +2 -0
  37. package/dist/tests/procaptchaWidget.unit.test.d.ts.map +1 -0
  38. package/dist/tests/procaptchaWidget.unit.test.js +547 -0
  39. package/dist/tests/procaptchaWidget.unit.test.js.map +1 -0
  40. package/dist/tests/puzzleCanvas.unit.test.d.ts +2 -0
  41. package/dist/tests/puzzleCanvas.unit.test.d.ts.map +1 -0
  42. package/dist/tests/puzzleCanvas.unit.test.js +312 -0
  43. package/dist/tests/puzzleCanvas.unit.test.js.map +1 -0
  44. package/dist/tests/setup.d.ts +5 -0
  45. package/dist/tests/setup.d.ts.map +1 -0
  46. package/dist/tests/setup.js +3 -0
  47. package/dist/tests/setup.js.map +1 -0
  48. package/package.json +17 -12
  49. package/src/components/ProcaptchaWidget.tsx +17 -6
  50. package/src/services/Manager.ts +14 -10
  51. package/src/tests/manager.unit.test.ts +763 -0
  52. package/src/tests/managerHarness.ts +169 -0
  53. package/src/tests/procaptchaPuzzle.test-d.ts +191 -0
  54. package/src/tests/procaptchaPuzzle.unit.test.ts +123 -0
  55. package/src/tests/procaptchaWidget.unit.test.ts +789 -0
  56. package/src/tests/puzzleCanvas.unit.test.ts +418 -0
  57. package/src/tests/setup.ts +26 -0
  58. package/tsconfig.tsbuildinfo +1 -1
  59. package/vite.test.config.ts +27 -0
@@ -1,291 +1,210 @@
1
+ import { ExtensionLoader, buildUpdateState, getDefaultEvents, getProcaptchaRandomActiveProvider, getSimdReadingsForSubmit, pickIpMode, providerRetry } from "@prosopo/procaptcha-common";
2
+ import { ApiParams, CaptchaType, ProcaptchaConfigSchema, encodeProcaptchaOutput } from "@prosopo/types";
1
3
  import { stringToHex } from "@polkadot/util/string";
2
4
  import { ProviderApi } from "@prosopo/api";
3
5
  import { ProsopoEnvError } from "@prosopo/common";
4
- import { getDefaultEvents, buildUpdateState, providerRetry, ExtensionLoader, getProcaptchaRandomActiveProvider, pickIpMode } from "@prosopo/procaptcha-common";
5
- import { ProcaptchaConfigSchema, ApiParams, encodeProcaptchaOutput, CaptchaType } from "@prosopo/types";
6
- import { sleep, embedData } from "@prosopo/util";
6
+ import { embedData, sleep } from "@prosopo/util";
7
7
  import { randomAsHex } from "@prosopo/util-crypto";
8
- const Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState, getHoneypotValue) => {
9
- const events = getDefaultEvents(callbacks);
10
- let storedChallengeResponse;
11
- let storedProviderApi;
12
- let storedProviderUrl;
13
- let storedUser;
14
- let storedClickX;
15
- let storedClickY;
16
- let previousProviderUrl;
17
- const defaultState = () => {
18
- return {
19
- // note order matters! see buildUpdateState. These fields are set in order, so disable modal first, then set loading to false, etc.
20
- showModal: false,
21
- loading: false,
22
- index: 0,
23
- challenge: void 0,
24
- solutions: void 0,
25
- isHuman: false,
26
- captchaApi: void 0,
27
- account: void 0
28
- // don't handle timeout here, this should be handled by the state management
29
- };
30
- };
31
- const clearTimeout = () => {
32
- window.clearTimeout(Number(state.timeout));
33
- updateState({ timeout: void 0 });
34
- };
35
- const onFailed = () => {
36
- updateState({
37
- isHuman: false,
38
- loading: false
39
- });
40
- events.onFailed();
41
- resetState(frictionlessState?.restart);
42
- };
43
- const clearSuccessfulChallengeTimeout = () => {
44
- window.clearTimeout(Number(state.successfullChallengeTimeout));
45
- updateState({ successfullChallengeTimeout: void 0 });
46
- };
47
- const getConfig = () => {
48
- const config = {
49
- userAccountAddress: configInput.userAccountAddress || "",
50
- ...configInput
51
- };
52
- if (state.account) {
53
- config.userAccountAddress = state.account.account.address;
54
- }
55
- return ProcaptchaConfigSchema.parse(config);
56
- };
57
- const getAccount = () => {
58
- if (!state.account) {
59
- throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", {
60
- context: { error: "Account not loaded" }
61
- });
62
- }
63
- const account = state.account;
64
- return { account };
65
- };
66
- const getDappAccount = () => {
67
- if (!state.dappAccount) {
68
- throw new ProsopoEnvError("GENERAL.SITE_KEY_MISSING");
69
- }
70
- const dappAccount = state.dappAccount;
71
- return dappAccount;
72
- };
73
- const updateState = buildUpdateState(state, onStateUpdate);
74
- const resetState = (frictionlessRestart) => {
75
- clearTimeout();
76
- clearSuccessfulChallengeTimeout();
77
- updateState(defaultState());
78
- events.onReset();
79
- if (frictionlessRestart) {
80
- frictionlessRestart();
81
- }
82
- storedChallengeResponse = void 0;
83
- storedProviderApi = void 0;
84
- storedProviderUrl = void 0;
85
- storedUser = void 0;
86
- storedClickX = void 0;
87
- storedClickY = void 0;
88
- };
89
- const setValidChallengeTimeout = () => {
90
- const timeMillis = getConfig().captchas.puzzle.solutionTimeout;
91
- const successfullChallengeTimeout = setTimeout(() => {
92
- updateState({ isHuman: false });
93
- events.onExpired();
94
- resetState(frictionlessState?.restart);
95
- }, timeMillis);
96
- updateState({ successfullChallengeTimeout });
97
- };
98
- const start = async (x = 0, y = 0) => {
99
- storedClickX = x;
100
- storedClickY = y;
101
- await providerRetry(
102
- async () => {
103
- if (state.loading) {
104
- return;
105
- }
106
- if (state.isHuman) {
107
- return;
108
- }
109
- resetState();
110
- updateState({
111
- loading: true
112
- });
113
- updateState({ attemptCount: state.attemptCount + 1 });
114
- const config = getConfig();
115
- const selectAccount = async () => {
116
- if (frictionlessState) {
117
- return frictionlessState.userAccount;
118
- }
119
- const ext = new (await ExtensionLoader(config.web2))();
120
- return ext.getAccount(config);
121
- };
122
- const user = await selectAccount();
123
- const userAccount = user.account.address;
124
- updateState({
125
- account: { account: { address: userAccount } }
126
- });
127
- updateState({ dappAccount: config.account.address });
128
- await sleep(100);
129
- if (!config.web2 && !config.userAccountAddress) {
130
- throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", {
131
- context: {
132
- error: "Account address has not been set for web3 mode"
133
- }
134
- });
135
- }
136
- let getRandomProviderResponse = void 0;
137
- if (frictionlessState?.provider) {
138
- getRandomProviderResponse = frictionlessState.provider;
139
- } else {
140
- const currentConfig = getConfig();
141
- getRandomProviderResponse = await getProcaptchaRandomActiveProvider(
142
- currentConfig.defaultEnvironment,
143
- pickIpMode(currentConfig),
144
- { attempt: state.attemptCount, excludeUrl: previousProviderUrl }
145
- );
146
- }
147
- const providerUrl = getRandomProviderResponse.provider.url;
148
- previousProviderUrl = providerUrl;
149
- const providerApi = new ProviderApi(providerUrl, getDappAccount());
150
- const simdReadingsOnChallenge = frictionlessState?.getSimdReadings ? await frictionlessState.getSimdReadings(0) : void 0;
151
- const challenge = await providerApi.getPuzzleCaptchaChallenge(
152
- userAccount,
153
- getDappAccount(),
154
- frictionlessState?.sessionId,
155
- simdReadingsOnChallenge
156
- );
157
- if (challenge.error) {
158
- updateState({
159
- loading: false,
160
- error: {
161
- message: challenge.error.message,
162
- key: challenge.error.key || "API.UNKNOWN_ERROR"
163
- }
164
- });
165
- return;
166
- }
167
- storedChallengeResponse = challenge;
168
- storedProviderApi = providerApi;
169
- storedProviderUrl = providerUrl;
170
- storedUser = user;
171
- updateState({
172
- loading: false
173
- });
174
- },
175
- async () => {
176
- await start();
177
- },
178
- () => {
179
- resetState();
180
- },
181
- state.attemptCount,
182
- 3
183
- );
184
- return storedChallengeResponse;
185
- };
186
- const submitSolution = async (finalX, finalY, puzzleEvents) => {
187
- if (!storedChallengeResponse || !storedProviderApi || !storedProviderUrl || !storedUser) {
188
- throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", {
189
- context: { error: "No challenge data available. Call start() first." }
190
- });
191
- }
192
- updateState({ loading: true });
193
- try {
194
- const challenge = storedChallengeResponse;
195
- const providerApi = storedProviderApi;
196
- const providerUrl = storedProviderUrl;
197
- const user = storedUser;
198
- const config = getConfig();
199
- const signer = user.extension?.signer;
200
- if (!signer || !signer.signRaw) {
201
- throw new ProsopoEnvError("GENERAL.CANT_FIND_KEYRINGPAIR", {
202
- context: {
203
- error: "Signer is not defined, cannot sign message to prove account ownership"
204
- }
205
- });
206
- }
207
- const userTimestampSignature = await signer.signRaw({
208
- address: user.account.address,
209
- data: stringToHex(challenge[ApiParams.timestamp].toString()),
210
- type: "bytes"
211
- });
212
- let encryptedBehavioralData;
213
- if (frictionlessState?.encryptBehavioralData && (frictionlessState?.behaviorCollector1 || frictionlessState?.behaviorCollector2 || frictionlessState?.behaviorCollector3)) {
214
- try {
215
- const behavioralData = {
216
- collector1: frictionlessState.behaviorCollector1?.getData() || [],
217
- collector2: frictionlessState.behaviorCollector2?.getData() || [],
218
- collector3: frictionlessState.behaviorCollector3?.getData() || [],
219
- deviceCapability: frictionlessState.deviceCapability || "unknown"
220
- };
221
- const dataToEncrypt = frictionlessState.packBehavioralData ? frictionlessState.packBehavioralData(behavioralData) : behavioralData;
222
- encryptedBehavioralData = await frictionlessState.encryptBehavioralData(
223
- JSON.stringify(dataToEncrypt)
224
- );
225
- } catch {
226
- }
227
- }
228
- let salt;
229
- if (storedClickX !== void 0 && storedClickY !== void 0) {
230
- const coords = [storedClickX, storedClickY];
231
- const randomSalt = randomAsHex(
232
- coords.map((coord) => coord.toString(16).length + 4).reduce((acc, curr) => acc + curr, 0)
233
- );
234
- salt = embedData(randomSalt, coords);
235
- }
236
- const simdReadings = frictionlessState?.getSimdReadings ? await frictionlessState.getSimdReadings() : void 0;
237
- const hpValue = getHoneypotValue?.();
238
- const clientMetaData = hpValue ? { hp: hpValue } : void 0;
239
- const verifiedSolution = await providerApi.submitPuzzleCaptchaSolution(
240
- challenge,
241
- getAccount().account.account.address,
242
- getDappAccount(),
243
- finalX,
244
- finalY,
245
- puzzleEvents,
246
- userTimestampSignature.signature.toString(),
247
- encryptedBehavioralData,
248
- salt,
249
- simdReadings,
250
- clientMetaData
251
- );
252
- if (verifiedSolution[ApiParams.verified]) {
253
- updateState({
254
- isHuman: true,
255
- loading: false
256
- });
257
- events.onHuman(
258
- encodeProcaptchaOutput({
259
- [ApiParams.providerUrl]: providerUrl,
260
- [ApiParams.user]: getAccount().account.account.address,
261
- [ApiParams.dapp]: getDappAccount(),
262
- [ApiParams.challenge]: challenge.challenge,
263
- [ApiParams.timestamp]: challenge.timestamp,
264
- [ApiParams.signature]: {
265
- [ApiParams.provider]: challenge.signature.provider,
266
- [ApiParams.user]: {
267
- [ApiParams.timestamp]: userTimestampSignature.signature.toString()
268
- }
269
- },
270
- [ApiParams.captchaType]: CaptchaType.puzzle
271
- })
272
- );
273
- setValidChallengeTimeout();
274
- return true;
275
- }
276
- onFailed();
277
- return false;
278
- } catch (error) {
279
- updateState({ loading: false });
280
- throw error;
281
- }
282
- };
283
- return {
284
- start,
285
- submitSolution,
286
- resetState
287
- };
288
- };
289
- export {
290
- Manager
8
+ //#region src/services/Manager.ts
9
+ var Manager = (configInput, state, onStateUpdate, callbacks, frictionlessState, getHoneypotValue) => {
10
+ const events = getDefaultEvents(callbacks);
11
+ let storedChallengeResponse;
12
+ let storedProviderApi;
13
+ let storedProviderUrl;
14
+ let storedUser;
15
+ let storedClickX;
16
+ let storedClickY;
17
+ let previousProviderUrl;
18
+ const defaultState = () => {
19
+ return {
20
+ showModal: false,
21
+ loading: false,
22
+ index: 0,
23
+ challenge: void 0,
24
+ solutions: void 0,
25
+ isHuman: false,
26
+ captchaApi: void 0,
27
+ account: void 0
28
+ };
29
+ };
30
+ const clearTimeout = () => {
31
+ window.clearTimeout(Number(state.timeout));
32
+ updateState({ timeout: void 0 });
33
+ };
34
+ const onFailed = () => {
35
+ updateState({
36
+ isHuman: false,
37
+ loading: false
38
+ });
39
+ events.onFailed();
40
+ resetState(frictionlessState?.restart);
41
+ };
42
+ const clearSuccessfulChallengeTimeout = () => {
43
+ window.clearTimeout(Number(state.successfullChallengeTimeout));
44
+ updateState({ successfullChallengeTimeout: void 0 });
45
+ };
46
+ const getConfig = () => {
47
+ const config = {
48
+ userAccountAddress: configInput.userAccountAddress || "",
49
+ ...configInput
50
+ };
51
+ if (state.account) config.userAccountAddress = state.account.account.address;
52
+ return ProcaptchaConfigSchema.parse(config);
53
+ };
54
+ const getAccount = () => {
55
+ if (!state.account) throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", { context: { error: "Account not loaded" } });
56
+ return { account: state.account };
57
+ };
58
+ const getDappAccount = () => {
59
+ if (!state.dappAccount) throw new ProsopoEnvError("GENERAL.SITE_KEY_MISSING");
60
+ return state.dappAccount;
61
+ };
62
+ const updateState = buildUpdateState(state, onStateUpdate);
63
+ const resetState = (frictionlessRestart) => {
64
+ clearTimeout();
65
+ clearSuccessfulChallengeTimeout();
66
+ updateState(defaultState());
67
+ events.onReset();
68
+ if (frictionlessRestart) frictionlessRestart();
69
+ storedChallengeResponse = void 0;
70
+ storedProviderApi = void 0;
71
+ storedProviderUrl = void 0;
72
+ storedUser = void 0;
73
+ storedClickX = void 0;
74
+ storedClickY = void 0;
75
+ };
76
+ const setValidChallengeTimeout = () => {
77
+ const timeMillis = getConfig().captchas.puzzle.solutionTimeout;
78
+ const successfullChallengeTimeout = setTimeout(() => {
79
+ updateState({ isHuman: false });
80
+ events.onExpired();
81
+ resetState(frictionlessState?.restart);
82
+ }, timeMillis);
83
+ updateState({ successfullChallengeTimeout });
84
+ };
85
+ const start = async (x = 0, y = 0) => {
86
+ await providerRetry(async () => {
87
+ if (state.loading) return;
88
+ if (state.isHuman) return;
89
+ resetState();
90
+ storedClickX = x;
91
+ storedClickY = y;
92
+ updateState({ loading: true });
93
+ updateState({ attemptCount: state.attemptCount + 1 });
94
+ const config = getConfig();
95
+ const selectAccount = async () => {
96
+ if (frictionlessState) return frictionlessState.userAccount;
97
+ return new (await (ExtensionLoader(config.web2)))().getAccount(config);
98
+ };
99
+ const user = await selectAccount();
100
+ const userAccount = user.account.address;
101
+ updateState({ account: { account: { address: userAccount } } });
102
+ updateState({ dappAccount: config.account.address });
103
+ await sleep(100);
104
+ if (!config.web2 && !config.userAccountAddress) throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", { context: { error: "Account address has not been set for web3 mode" } });
105
+ let getRandomProviderResponse = void 0;
106
+ if (frictionlessState?.provider) getRandomProviderResponse = frictionlessState.provider;
107
+ else {
108
+ const currentConfig = getConfig();
109
+ getRandomProviderResponse = await getProcaptchaRandomActiveProvider(currentConfig.defaultEnvironment, pickIpMode(currentConfig), {
110
+ attempt: state.attemptCount,
111
+ excludeUrl: previousProviderUrl
112
+ });
113
+ }
114
+ const providerUrl = getRandomProviderResponse.provider.url;
115
+ previousProviderUrl = providerUrl;
116
+ const providerApi = new ProviderApi(providerUrl, getDappAccount());
117
+ const simdReadingsOnChallenge = frictionlessState?.getSimdReadings ? await frictionlessState.getSimdReadings(0) : void 0;
118
+ const challenge = await providerApi.getPuzzleCaptchaChallenge(userAccount, getDappAccount(), frictionlessState?.sessionId, simdReadingsOnChallenge);
119
+ if (challenge.error) {
120
+ updateState({
121
+ loading: false,
122
+ error: {
123
+ message: challenge.error.message,
124
+ key: challenge.error.key || "API.UNKNOWN_ERROR"
125
+ }
126
+ });
127
+ return;
128
+ }
129
+ storedChallengeResponse = challenge;
130
+ storedProviderApi = providerApi;
131
+ storedProviderUrl = providerUrl;
132
+ storedUser = user;
133
+ updateState({ loading: false });
134
+ }, async () => {
135
+ await start(x, y);
136
+ }, () => {
137
+ resetState();
138
+ }, state.attemptCount, 3);
139
+ return storedChallengeResponse;
140
+ };
141
+ const submitSolution = async (finalX, finalY, puzzleEvents) => {
142
+ if (!storedChallengeResponse || !storedProviderApi || !storedProviderUrl || !storedUser) throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", { context: { error: "No challenge data available. Call start() first." } });
143
+ updateState({ loading: true });
144
+ try {
145
+ const challenge = storedChallengeResponse;
146
+ const providerApi = storedProviderApi;
147
+ const providerUrl = storedProviderUrl;
148
+ const user = storedUser;
149
+ getConfig();
150
+ const signer = user.extension?.signer;
151
+ if (!signer || !signer.signRaw) throw new ProsopoEnvError("GENERAL.CANT_FIND_KEYRINGPAIR", { context: { error: "Signer is not defined, cannot sign message to prove account ownership" } });
152
+ const userTimestampSignature = await signer.signRaw({
153
+ address: user.account.address,
154
+ data: stringToHex(challenge[ApiParams.timestamp].toString()),
155
+ type: "bytes"
156
+ });
157
+ let encryptedBehavioralData;
158
+ if (frictionlessState?.encryptBehavioralData && (frictionlessState?.behaviorCollector1 || frictionlessState?.behaviorCollector2 || frictionlessState?.behaviorCollector3)) try {
159
+ const behavioralData = {
160
+ collector1: frictionlessState.behaviorCollector1?.getData() || [],
161
+ collector2: frictionlessState.behaviorCollector2?.getData() || [],
162
+ collector3: frictionlessState.behaviorCollector3?.getData() || [],
163
+ deviceCapability: frictionlessState.deviceCapability || "unknown"
164
+ };
165
+ const dataToEncrypt = frictionlessState.packBehavioralData ? frictionlessState.packBehavioralData(behavioralData) : behavioralData;
166
+ encryptedBehavioralData = await frictionlessState.encryptBehavioralData(JSON.stringify(dataToEncrypt));
167
+ } catch {}
168
+ let salt;
169
+ if (storedClickX !== void 0 && storedClickY !== void 0) {
170
+ const coords = [storedClickX, storedClickY];
171
+ salt = embedData(randomAsHex(coords.map((coord) => coord.toString(16).length + 4).reduce((acc, curr) => acc + curr, 0)), coords);
172
+ }
173
+ const simdReadings = await getSimdReadingsForSubmit(frictionlessState);
174
+ const hpValue = getHoneypotValue?.();
175
+ const clientMetaData = hpValue ? { hp: hpValue } : void 0;
176
+ if ((await providerApi.submitPuzzleCaptchaSolution(challenge, getAccount().account.account.address, getDappAccount(), finalX, finalY, puzzleEvents, userTimestampSignature.signature.toString(), encryptedBehavioralData, salt, simdReadings, clientMetaData))[ApiParams.verified]) {
177
+ updateState({
178
+ isHuman: true,
179
+ loading: false
180
+ });
181
+ events.onHuman(encodeProcaptchaOutput({
182
+ [ApiParams.providerUrl]: providerUrl,
183
+ [ApiParams.user]: getAccount().account.account.address,
184
+ [ApiParams.dapp]: getDappAccount(),
185
+ [ApiParams.challenge]: challenge.challenge,
186
+ [ApiParams.timestamp]: challenge.timestamp,
187
+ [ApiParams.signature]: {
188
+ [ApiParams.provider]: challenge.signature.provider,
189
+ [ApiParams.user]: { [ApiParams.timestamp]: userTimestampSignature.signature.toString() }
190
+ },
191
+ [ApiParams.captchaType]: CaptchaType.puzzle
192
+ }));
193
+ setValidChallengeTimeout();
194
+ return true;
195
+ }
196
+ onFailed();
197
+ return false;
198
+ } catch (error) {
199
+ updateState({ loading: false });
200
+ throw error;
201
+ }
202
+ };
203
+ return {
204
+ start,
205
+ submitSolution,
206
+ resetState
207
+ };
291
208
  };
209
+ //#endregion
210
+ export { Manager };
@@ -1 +1 @@
1
- {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/services/Manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/services/Manager.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,iCAAiC,EACjC,wBAAwB,EACxB,UAAU,EACV,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEN,SAAS,EACT,WAAW,EAKX,sBAAsB,EAItB,sBAAsB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAenD,MAAM,CAAC,MAAM,OAAO,GAAG,CACtB,WAAwC,EACxC,KAAsB,EACtB,aAAsC,EACtC,SAA8B,EAC9B,iBAAqC,EAGrC,gBAA2C,EACrB,EAAE;IACxB,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAG3C,IAAI,uBAA6D,CAAC;IAClE,IAAI,iBAA0C,CAAC;IAC/C,IAAI,iBAAqC,CAAC;IAC1C,IAAI,UAA+B,CAAC;IAIpC,IAAI,YAAgC,CAAC;IACrC,IAAI,YAAgC,CAAC;IAKrC,IAAI,mBAAuC,CAAC;IAE5C,MAAM,YAAY,GAAG,GAA6B,EAAE;QACnD,OAAO;YAEN,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;SAElB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QAEzB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAE3C,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,WAAW,CAAC;YACX,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,+BAA+B,GAAG,GAAG,EAAE;QAE5C,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAE/D,WAAW,CAAC,EAAE,2BAA2B,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,MAAM,MAAM,GAAgC;YAC3C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,IAAI,EAAE;YACxD,GAAG,WAAW;SACd,CAAC;QAIF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3D,CAAC;QAED,OAAO,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE;gBACtD,OAAO,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;aACxC,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAY,KAAK,CAAC,OAAO,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,WAAW,GAAW,KAAK,CAAC,WAAW,CAAC;QAC9C,OAAO,WAAW,CAAC;IACpB,CAAC,CAAC;IAGF,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,CAAC,mBAAgC,EAAE,EAAE;QAEvD,YAAY,EAAE,CAAC;QACf,+BAA+B,EAAE,CAAC;QAClC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,IAAI,mBAAmB,EAAE,CAAC;YACzB,mBAAmB,EAAE,CAAC;QACvB,CAAC;QAED,uBAAuB,GAAG,SAAS,CAAC;QACpC,iBAAiB,GAAG,SAAS,CAAC;QAC9B,iBAAiB,GAAG,SAAS,CAAC;QAC9B,UAAU,GAAG,SAAS,CAAC;QACvB,YAAY,GAAG,SAAS,CAAC;QACzB,YAAY,GAAG,SAAS,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE;QACrC,MAAM,UAAU,GAAW,SAAS,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;QACvE,MAAM,2BAA2B,GAAG,UAAU,CAAC,GAAG,EAAE;YAEnD,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEhC,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC,EAAE,UAAU,CAAC,CAAC;QAEf,WAAW,CAAC,EAAE,2BAA2B,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,EAClB,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EAC2C,EAAE;QAClD,MAAM,aAAa,CAClB,KAAK,IAAI,EAAE;YACV,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO;YACR,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO;YACR,CAAC;YAGD,UAAU,EAAE,CAAC;YAMb,YAAY,GAAG,CAAC,CAAC;YACjB,YAAY,GAAG,CAAC,CAAC;YAGjB,WAAW,CAAC;gBACX,OAAO,EAAE,IAAI;aACb,CAAC,CAAC;YACH,WAAW,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAG3B,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;gBAChC,IAAI,iBAAiB,EAAE,CAAC;oBACvB,OAAO,iBAAiB,CAAC,WAAW,CAAC;gBACtC,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACvD,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC,CAAC;YAGF,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAGzC,WAAW,CAAC;gBACX,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;aAC9C,CAAC,CAAC;YAGH,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAGrD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAGjB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAChD,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE;oBACtD,OAAO,EAAE;wBACR,KAAK,EAAE,gDAAgD;qBACvD;iBACD,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,yBAAyB,GAAG,SAAS,CAAC;YAE1C,IAAI,iBAAiB,EAAE,QAAQ,EAAE,CAAC;gBACjC,yBAAyB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACP,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC;gBAClC,yBAAyB,GAAG,MAAM,iCAAiC,CAClE,aAAa,CAAC,kBAAkB,EAChC,UAAU,CAAC,aAAa,CAAC,EACzB,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAChE,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC3D,mBAAmB,GAAG,WAAW,CAAC;YAElC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;YAInE,MAAM,uBAAuB,GAAG,iBAAiB,EAAE,eAAe;gBACjE,CAAC,CAAC,MAAM,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC5C,CAAC,CAAC,SAAS,CAAC;YACb,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,yBAAyB,CAC5D,WAAW,EACX,cAAc,EAAE,EAChB,iBAAiB,EAAE,SAAS,EAC5B,uBAAuB,CACvB,CAAC;YAEF,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACrB,WAAW,CAAC;oBACX,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACN,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO;wBAChC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,mBAAmB;qBAC/C;iBACD,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAGD,uBAAuB,GAAG,SAAS,CAAC;YACpC,iBAAiB,GAAG,WAAW,CAAC;YAChC,iBAAiB,GAAG,WAAW,CAAC;YAChC,UAAU,GAAG,IAAI,CAAC;YAGlB,WAAW,CAAC;gBACX,OAAO,EAAE,KAAK;aACd,CAAC,CAAC;QACJ,CAAC,EACD,KAAK,IAAI,EAAE;YAGV,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC,EACD,GAAG,EAAE;YACJ,UAAU,EAAE,CAAC;QACd,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,CAAC,CACD,CAAC;QAIF,OAAO,uBAAuB,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,EAC3B,MAAc,EACd,MAAc,EACd,YAA2B,EACR,EAAE;QACrB,IACC,CAAC,uBAAuB;YACxB,CAAC,iBAAiB;YAClB,CAAC,iBAAiB;YAClB,CAAC,UAAU,EACV,CAAC;YACF,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE;gBACtD,OAAO,EAAE,EAAE,KAAK,EAAE,kDAAkD,EAAE;aACtE,CAAC,CAAC;QACJ,CAAC;QAED,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/B,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,uBAAuB,CAAC;YAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACtC,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACtC,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;YAEtC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,IAAI,eAAe,CAAC,+BAA+B,EAAE;oBAC1D,OAAO,EAAE;wBACR,KAAK,EACJ,uEAAuE;qBACxE;iBACD,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,sBAAsB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC7B,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5D,IAAI,EAAE,OAAO;aACb,CAAC,CAAC;YAEH,IAAI,uBAA2C,CAAC;YAGhD,IACC,iBAAiB,EAAE,qBAAqB;gBACxC,CAAC,iBAAiB,EAAE,kBAAkB;oBACrC,iBAAiB,EAAE,kBAAkB;oBACrC,iBAAiB,EAAE,kBAAkB,CAAC,EACtC,CAAC;gBACF,IAAI,CAAC;oBACJ,MAAM,cAAc,GAAG;wBACtB,UAAU,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE;wBACjE,UAAU,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE;wBACjE,UAAU,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE;wBACjE,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB,IAAI,SAAS;qBACjE,CAAC;oBAGF,MAAM,aAAa,GAAG,iBAAiB,CAAC,kBAAkB;wBACzD,CAAC,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC;wBACtD,CAAC,CAAC,cAAc,CAAC;oBAElB,uBAAuB;wBACtB,MAAM,iBAAiB,CAAC,qBAAqB,CAC5C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAC7B,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;YACF,CAAC;YAKD,IAAI,IAAwB,CAAC;YAC7B,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,WAAW,CAC7B,MAAM;qBACJ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC7C,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CACtC,CAAC;gBACF,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;YAGD,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,gBAAgB,EAAE,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,2BAA2B,CACrE,SAAS,EACT,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EACpC,cAAc,EAAE,EAChB,MAAM,EACN,MAAM,EACN,YAAY,EACZ,sBAAsB,CAAC,SAAS,CAAC,QAAQ,EAAE,EAC3C,uBAAuB,EACvB,IAAI,EACJ,YAAY,EACZ,cAAc,CACd,CAAC;YAEF,IAAI,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,WAAW,CAAC;oBACX,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,KAAK;iBACd,CAAC,CAAC;gBAEH,MAAM,CAAC,OAAO,CACb,sBAAsB,CAAC;oBACtB,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW;oBACpC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;oBACtD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE;oBAClC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS;oBAC1C,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS;oBAC1C,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;wBACtB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ;wBAClD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;4BACjB,CAAC,SAAS,CAAC,SAAS,CAAC,EACpB,sBAAsB,CAAC,SAAS,CAAC,QAAQ,EAAE;yBAC5C;qBACD;oBACD,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM;iBAC3C,CAAC,CACF,CAAC;gBACF,wBAAwB,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACb,CAAC;YACD,QAAQ,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC,CAAC;IAEF,OAAO;QACN,KAAK;QACL,cAAc;QACd,UAAU;KACV,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=manager.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/manager.unit.test.ts"],"names":[],"mappings":""}