@prosopo/procaptcha 2.1.0 → 2.1.1

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.
@@ -73,23 +73,30 @@ function Manager(configOptional, state, onStateUpdate, callbacks) {
73
73
  );
74
74
  updateState({ captchaApi });
75
75
  const challenge = await captchaApi.getCaptchaChallenge();
76
- if (challenge.captchas.length <= 0) {
77
- throw new common.ProsopoDatasetError("DEVELOPER.PROVIDER_NO_CAPTCHA");
76
+ if (challenge.error) {
77
+ updateState({
78
+ loading: false,
79
+ error: challenge.error
80
+ });
81
+ } else {
82
+ if (challenge.captchas.length <= 0) {
83
+ throw new common.ProsopoDatasetError("DEVELOPER.PROVIDER_NO_CAPTCHA");
84
+ }
85
+ const timeMillis = challenge.captchas.map(
86
+ (captcha) => captcha.timeLimitMs || config.captchas.image.challengeTimeout
87
+ ).reduce((a, b) => a + b);
88
+ const timeout = setTimeout(() => {
89
+ events.onChallengeExpired();
90
+ updateState({ isHuman: false, showModal: false, loading: false });
91
+ }, timeMillis);
92
+ updateState({
93
+ index: 0,
94
+ solutions: challenge.captchas.map(() => []),
95
+ challenge,
96
+ showModal: true,
97
+ timeout
98
+ });
78
99
  }
79
- const timeMillis = challenge.captchas.map(
80
- (captcha) => captcha.timeLimitMs || config.captchas.image.challengeTimeout
81
- ).reduce((a, b) => a + b);
82
- const timeout = setTimeout(() => {
83
- events.onChallengeExpired();
84
- updateState({ isHuman: false, showModal: false, loading: false });
85
- }, timeMillis);
86
- updateState({
87
- index: 0,
88
- solutions: challenge.captchas.map(() => []),
89
- challenge,
90
- showModal: true,
91
- timeout
92
- });
93
100
  },
94
101
  start,
95
102
  resetState,
@@ -2,6 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const common = require("@prosopo/common");
4
4
  const datasets = require("@prosopo/datasets");
5
+ const types = require("@prosopo/types");
5
6
  class ProsopoCaptchaApi {
6
7
  constructor(userAccount, provider, providerApi, web2, dappAccount) {
7
8
  this.userAccount = userAccount;
@@ -19,6 +20,9 @@ class ProsopoCaptchaApi {
19
20
  this.userAccount,
20
21
  this.provider
21
22
  );
23
+ if (captchaChallenge[types.ApiParams.error]) {
24
+ return captchaChallenge;
25
+ }
22
26
  for (const captcha of captchaChallenge.captchas) {
23
27
  for (const item of captcha.items) {
24
28
  if (item.data) {
@@ -1 +1 @@
1
- {"version":3,"file":"Manager.d.ts","sourceRoot":"","sources":["../../src/modules/Manager.ts"],"names":[],"mappings":"AA8BA,OAAO,EAKN,KAAK,mBAAmB,EAExB,KAAK,4BAA4B,EAEjC,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAI5B,MAAM,gBAAgB,CAAC;AAwBxB,wBAAgB,OAAO,CACtB,cAAc,EAAE,4BAA4B,EAC5C,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,uBAAuB,EACtC,SAAS,EAAE,mBAAmB;;;;mBAuPR,MAAM;;EA2I5B"}
1
+ {"version":3,"file":"Manager.d.ts","sourceRoot":"","sources":["../../src/modules/Manager.ts"],"names":[],"mappings":"AA8BA,OAAO,EAKN,KAAK,mBAAmB,EAExB,KAAK,4BAA4B,EAEjC,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAG5B,MAAM,gBAAgB,CAAC;AAwBxB,wBAAgB,OAAO,CACtB,cAAc,EAAE,4BAA4B,EAC5C,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,uBAAuB,EACtC,SAAS,EAAE,mBAAmB;;;;mBA8PR,MAAM;;EA2I5B"}
@@ -3,274 +3,327 @@ import { randomAsHex } from "@polkadot/util-crypto/random";
3
3
  import { stringToHex } from "@polkadot/util/string";
4
4
  import { ExtensionWeb2, ExtensionWeb3 } from "@prosopo/account";
5
5
  import { ProviderApi } from "@prosopo/api";
6
- import { ProsopoDatasetError, ProsopoEnvError, ProsopoError, } from "@prosopo/common";
7
- import { buildUpdateState, getDefaultEvents, getRandomActiveProvider, providerRetry, } from "@prosopo/procaptcha-common";
8
- import { ApiParams, ProcaptchaConfigSchema, encodeProcaptchaOutput, } from "@prosopo/types";
6
+ import {
7
+ ProsopoDatasetError,
8
+ ProsopoEnvError,
9
+ ProsopoError
10
+ } from "@prosopo/common";
11
+ import {
12
+ buildUpdateState,
13
+ getDefaultEvents,
14
+ getRandomActiveProvider,
15
+ providerRetry
16
+ } from "@prosopo/procaptcha-common";
17
+ import {
18
+ ApiParams,
19
+ ProcaptchaConfigSchema,
20
+ encodeProcaptchaOutput
21
+ } from "@prosopo/types";
9
22
  import { at, hashToHex } from "@prosopo/util";
10
23
  import { sleep } from "../utils/utils.js";
11
24
  import ProsopoCaptchaApi from "./ProsopoCaptchaApi.js";
12
25
  import storage from "./storage.js";
13
26
  const defaultState = () => {
14
- return {
15
- showModal: false,
16
- loading: false,
17
- index: 0,
18
- challenge: undefined,
19
- solutions: undefined,
20
- isHuman: false,
21
- captchaApi: undefined,
22
- account: undefined,
23
- };
27
+ return {
28
+ // note order matters! see buildUpdateState. These fields are set in order, so disable modal first, then set loading to false, etc.
29
+ showModal: false,
30
+ loading: false,
31
+ index: 0,
32
+ challenge: void 0,
33
+ solutions: void 0,
34
+ isHuman: false,
35
+ captchaApi: void 0,
36
+ account: void 0
37
+ // don't handle timeout here, this should be handled by the state management
38
+ };
24
39
  };
25
- export function Manager(configOptional, state, onStateUpdate, callbacks) {
26
- const events = getDefaultEvents(onStateUpdate, state, callbacks);
27
- const updateState = buildUpdateState(state, onStateUpdate);
28
- const getConfig = () => {
29
- const config = {
30
- userAccountAddress: "",
31
- ...configOptional,
32
- };
33
- if (state.account) {
34
- config.userAccountAddress = state.account.account.address;
35
- }
36
- return ProcaptchaConfigSchema.parse(config);
37
- };
38
- const start = async () => {
39
- events.onOpen();
40
- await providerRetry(async () => {
41
- if (state.loading) {
42
- return;
43
- }
44
- if (state.isHuman) {
45
- return;
46
- }
47
- await cryptoWaitReady();
48
- resetState();
49
- updateState({ loading: true });
50
- updateState({
51
- attemptCount: state.attemptCount ? state.attemptCount + 1 : 1,
52
- });
53
- const config = getConfig();
54
- updateState({ dappAccount: config.account.address });
55
- await sleep(100);
56
- const account = await loadAccount();
57
- const getRandomProviderResponse = await getRandomActiveProvider(getConfig());
58
- const providerUrl = getRandomProviderResponse.provider.url;
59
- const providerApi = await loadProviderApi(providerUrl);
60
- const captchaApi = new ProsopoCaptchaApi(account.account.address, getRandomProviderResponse, providerApi, config.web2, config.account.address || "");
61
- updateState({ captchaApi });
62
- const challenge = await captchaApi.getCaptchaChallenge();
63
- if (challenge.captchas.length <= 0) {
64
- throw new ProsopoDatasetError("DEVELOPER.PROVIDER_NO_CAPTCHA");
65
- }
66
- const timeMillis = challenge.captchas
67
- .map((captcha) => captcha.timeLimitMs || config.captchas.image.challengeTimeout)
68
- .reduce((a, b) => a + b);
69
- const timeout = setTimeout(() => {
70
- events.onChallengeExpired();
71
- updateState({ isHuman: false, showModal: false, loading: false });
72
- }, timeMillis);
73
- updateState({
74
- index: 0,
75
- solutions: challenge.captchas.map(() => []),
76
- challenge,
77
- showModal: true,
78
- timeout,
79
- });
80
- }, start, resetState, state.attemptCount, 10);
40
+ function Manager(configOptional, state, onStateUpdate, callbacks) {
41
+ const events = getDefaultEvents(onStateUpdate, state, callbacks);
42
+ const updateState = buildUpdateState(state, onStateUpdate);
43
+ const getConfig = () => {
44
+ const config = {
45
+ userAccountAddress: "",
46
+ ...configOptional
81
47
  };
82
- const submit = async () => {
83
- await providerRetry(async () => {
84
- clearTimeout();
85
- if (!state.challenge) {
86
- throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
87
- context: { error: "Cannot submit, no Captcha found in state" },
88
- });
89
- }
90
- updateState({ showModal: false });
91
- const challenge = state.challenge;
92
- const salt = randomAsHex();
93
- const captchaSolution = state.challenge.captchas.map((captcha, index) => {
94
- const solution = at(state.solutions, index);
95
- return {
96
- captchaId: captcha.captchaId,
97
- captchaContentId: captcha.captchaContentId,
98
- salt,
99
- solution,
100
- };
101
- });
102
- const account = getAccount();
103
- const signer = getExtension(account).signer;
104
- const first = at(challenge.captchas, 0);
105
- if (!first.datasetId) {
106
- throw new ProsopoDatasetError("CAPTCHA.INVALID_CAPTCHA_ID", {
107
- context: { error: "No datasetId set for challenge" },
108
- });
109
- }
110
- const captchaApi = state.captchaApi;
111
- if (!captchaApi) {
112
- throw new ProsopoError("CAPTCHA.INVALID_TOKEN", {
113
- context: { error: "No Captcha API found in state" },
114
- });
115
- }
116
- if (!signer || !signer.signRaw) {
117
- throw new ProsopoEnvError("GENERAL.CANT_FIND_KEYRINGPAIR", {
118
- context: {
119
- error: "Signer is not defined, cannot sign message to prove account ownership",
120
- },
121
- });
122
- }
123
- const userRequestHashSignature = await signer.signRaw({
124
- address: account.account.address,
125
- data: stringToHex(challenge.requestHash),
126
- type: "bytes",
127
- });
128
- const submission = await captchaApi.submitCaptchaSolution(userRequestHashSignature.signature, challenge.requestHash, captchaSolution, challenge.timestamp, challenge.signature.provider.requestHash);
129
- const isHuman = submission[0].verified;
130
- if (!isHuman) {
131
- events.onFailed();
132
- }
133
- updateState({
134
- submission,
135
- isHuman,
136
- loading: false,
137
- });
138
- if (state.isHuman) {
139
- const providerUrl = captchaApi.provider.provider.url;
140
- storage.setProcaptchaStorage({
141
- ...storage.getProcaptchaStorage(),
142
- providerUrl,
143
- });
144
- events.onHuman(encodeProcaptchaOutput({
145
- [ApiParams.providerUrl]: providerUrl,
146
- [ApiParams.user]: account.account.address,
147
- [ApiParams.dapp]: getDappAccount(),
148
- [ApiParams.commitmentId]: hashToHex(submission[1]),
149
- [ApiParams.timestamp]: challenge.timestamp,
150
- [ApiParams.signature]: {
151
- [ApiParams.provider]: {
152
- [ApiParams.requestHash]: challenge.signature.provider.requestHash,
153
- },
154
- [ApiParams.user]: {
155
- [ApiParams.requestHash]: userRequestHashSignature.signature,
156
- },
157
- },
158
- }));
159
- setValidChallengeTimeout();
160
- }
161
- }, start, resetState, state.attemptCount, 10);
162
- };
163
- const cancel = async () => {
164
- clearTimeout();
165
- resetState();
166
- events.onClose();
167
- };
168
- const select = (hash) => {
169
- if (!state.challenge) {
170
- throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
171
- context: { error: "Cannot select, no Captcha found in state" },
172
- });
173
- }
174
- if (state.index >= state.challenge.captchas.length || state.index < 0) {
175
- throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
176
- context: {
177
- error: "Cannot select, index is out of range for this Captcha",
178
- },
179
- });
48
+ if (state.account) {
49
+ config.userAccountAddress = state.account.account.address;
50
+ }
51
+ return ProcaptchaConfigSchema.parse(config);
52
+ };
53
+ const start = async () => {
54
+ events.onOpen();
55
+ await providerRetry(
56
+ async () => {
57
+ if (state.loading) {
58
+ return;
180
59
  }
181
- const index = state.index;
182
- const solutions = state.solutions;
183
- const solution = at(solutions, index);
184
- if (solution.includes(hash)) {
185
- solution.splice(solution.indexOf(hash), 1);
60
+ if (state.isHuman) {
61
+ return;
186
62
  }
187
- else {
188
- solution.push(hash);
63
+ await cryptoWaitReady();
64
+ resetState();
65
+ updateState({ loading: true });
66
+ updateState({
67
+ attemptCount: state.attemptCount ? state.attemptCount + 1 : 1
68
+ });
69
+ const config = getConfig();
70
+ updateState({ dappAccount: config.account.address });
71
+ await sleep(100);
72
+ const account = await loadAccount();
73
+ const getRandomProviderResponse = await getRandomActiveProvider(
74
+ getConfig()
75
+ );
76
+ const providerUrl = getRandomProviderResponse.provider.url;
77
+ const providerApi = await loadProviderApi(providerUrl);
78
+ const captchaApi = new ProsopoCaptchaApi(
79
+ account.account.address,
80
+ getRandomProviderResponse,
81
+ providerApi,
82
+ config.web2,
83
+ config.account.address || ""
84
+ );
85
+ updateState({ captchaApi });
86
+ const challenge = await captchaApi.getCaptchaChallenge();
87
+ if (challenge.error) {
88
+ updateState({
89
+ loading: false,
90
+ error: challenge.error
91
+ });
92
+ } else {
93
+ if (challenge.captchas.length <= 0) {
94
+ throw new ProsopoDatasetError("DEVELOPER.PROVIDER_NO_CAPTCHA");
95
+ }
96
+ const timeMillis = challenge.captchas.map(
97
+ (captcha) => captcha.timeLimitMs || config.captchas.image.challengeTimeout
98
+ ).reduce((a, b) => a + b);
99
+ const timeout = setTimeout(() => {
100
+ events.onChallengeExpired();
101
+ updateState({ isHuman: false, showModal: false, loading: false });
102
+ }, timeMillis);
103
+ updateState({
104
+ index: 0,
105
+ solutions: challenge.captchas.map(() => []),
106
+ challenge,
107
+ showModal: true,
108
+ timeout
109
+ });
189
110
  }
190
- updateState({ solutions });
191
- };
192
- const nextRound = () => {
111
+ },
112
+ start,
113
+ resetState,
114
+ state.attemptCount,
115
+ 10
116
+ );
117
+ };
118
+ const submit = async () => {
119
+ await providerRetry(
120
+ async () => {
121
+ clearTimeout();
193
122
  if (!state.challenge) {
194
- throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
195
- context: { error: "Cannot select, no Captcha found in state" },
196
- });
123
+ throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
124
+ context: { error: "Cannot submit, no Captcha found in state" }
125
+ });
197
126
  }
198
- if (state.index + 1 >= state.challenge.captchas.length) {
199
- throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
200
- context: {
201
- error: "Cannot select, index is out of range for this Captcha",
202
- },
203
- });
127
+ updateState({ showModal: false });
128
+ const challenge = state.challenge;
129
+ const salt = randomAsHex();
130
+ const captchaSolution = state.challenge.captchas.map(
131
+ (captcha, index) => {
132
+ const solution = at(state.solutions, index);
133
+ return {
134
+ captchaId: captcha.captchaId,
135
+ captchaContentId: captcha.captchaContentId,
136
+ salt,
137
+ solution
138
+ };
139
+ }
140
+ );
141
+ const account = getAccount();
142
+ const signer = getExtension(account).signer;
143
+ const first = at(challenge.captchas, 0);
144
+ if (!first.datasetId) {
145
+ throw new ProsopoDatasetError("CAPTCHA.INVALID_CAPTCHA_ID", {
146
+ context: { error: "No datasetId set for challenge" }
147
+ });
204
148
  }
205
- updateState({ index: state.index + 1 });
206
- };
207
- const loadProviderApi = async (providerUrl) => {
208
- const config = getConfig();
209
- if (!config.account.address) {
210
- throw new ProsopoEnvError("GENERAL.SITE_KEY_MISSING");
149
+ const captchaApi = state.captchaApi;
150
+ if (!captchaApi) {
151
+ throw new ProsopoError("CAPTCHA.INVALID_TOKEN", {
152
+ context: { error: "No Captcha API found in state" }
153
+ });
211
154
  }
212
- return new ProviderApi(providerUrl, config.account.address);
213
- };
214
- const clearTimeout = () => {
215
- window.clearTimeout(state.timeout);
216
- updateState({ timeout: undefined });
217
- };
218
- const setValidChallengeTimeout = () => {
219
- const timeMillis = configOptional.captchas.image.solutionTimeout;
220
- const successfullChallengeTimeout = setTimeout(() => {
221
- updateState({ isHuman: false });
222
- events.onExpired();
223
- }, timeMillis);
224
- updateState({ successfullChallengeTimeout });
225
- };
226
- const resetState = () => {
227
- clearTimeout();
228
- updateState(defaultState());
229
- };
230
- const loadAccount = async () => {
231
- const config = getConfig();
232
- if (!config.web2 && !config.userAccountAddress) {
233
- throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", {
234
- context: { error: "Account address has not been set for web3 mode" },
235
- });
155
+ if (!signer || !signer.signRaw) {
156
+ throw new ProsopoEnvError("GENERAL.CANT_FIND_KEYRINGPAIR", {
157
+ context: {
158
+ error: "Signer is not defined, cannot sign message to prove account ownership"
159
+ }
160
+ });
236
161
  }
237
- const ext = config.web2 ? new ExtensionWeb2() : new ExtensionWeb3();
238
- const account = await ext.getAccount(config);
239
- storage.setAccount(account.account.address);
240
- updateState({ account });
241
- return getAccount();
242
- };
243
- const getAccount = () => {
244
- if (!state.account) {
245
- throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", {
246
- context: { error: "Account not loaded" },
247
- });
162
+ const userRequestHashSignature = await signer.signRaw({
163
+ address: account.account.address,
164
+ data: stringToHex(challenge.requestHash),
165
+ type: "bytes"
166
+ });
167
+ const submission = await captchaApi.submitCaptchaSolution(
168
+ userRequestHashSignature.signature,
169
+ challenge.requestHash,
170
+ captchaSolution,
171
+ challenge.timestamp,
172
+ challenge.signature.provider.requestHash
173
+ );
174
+ const isHuman = submission[0].verified;
175
+ if (!isHuman) {
176
+ events.onFailed();
248
177
  }
249
- const account = state.account;
250
- return account;
251
- };
252
- const getDappAccount = () => {
253
- if (!state.dappAccount) {
254
- throw new ProsopoEnvError("GENERAL.SITE_KEY_MISSING");
178
+ updateState({
179
+ submission,
180
+ isHuman,
181
+ loading: false
182
+ });
183
+ if (state.isHuman) {
184
+ const providerUrl = captchaApi.provider.provider.url;
185
+ storage.setProcaptchaStorage({
186
+ ...storage.getProcaptchaStorage(),
187
+ providerUrl
188
+ });
189
+ events.onHuman(
190
+ encodeProcaptchaOutput({
191
+ [ApiParams.providerUrl]: providerUrl,
192
+ [ApiParams.user]: account.account.address,
193
+ [ApiParams.dapp]: getDappAccount(),
194
+ [ApiParams.commitmentId]: hashToHex(submission[1]),
195
+ [ApiParams.timestamp]: challenge.timestamp,
196
+ [ApiParams.signature]: {
197
+ [ApiParams.provider]: {
198
+ [ApiParams.requestHash]: challenge.signature.provider.requestHash
199
+ },
200
+ [ApiParams.user]: {
201
+ [ApiParams.requestHash]: userRequestHashSignature.signature
202
+ }
203
+ }
204
+ })
205
+ );
206
+ setValidChallengeTimeout();
255
207
  }
256
- const dappAccount = state.dappAccount;
257
- return dappAccount;
258
- };
259
- const getExtension = (possiblyAccount) => {
260
- const account = possiblyAccount || getAccount();
261
- if (!account.extension) {
262
- throw new ProsopoEnvError("ACCOUNT.NO_POLKADOT_EXTENSION", {
263
- context: { error: "Extension not loaded" },
264
- });
208
+ },
209
+ start,
210
+ resetState,
211
+ state.attemptCount,
212
+ 10
213
+ );
214
+ };
215
+ const cancel = async () => {
216
+ clearTimeout();
217
+ resetState();
218
+ events.onClose();
219
+ };
220
+ const select = (hash) => {
221
+ if (!state.challenge) {
222
+ throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
223
+ context: { error: "Cannot select, no Captcha found in state" }
224
+ });
225
+ }
226
+ if (state.index >= state.challenge.captchas.length || state.index < 0) {
227
+ throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
228
+ context: {
229
+ error: "Cannot select, index is out of range for this Captcha"
265
230
  }
266
- return account.extension;
267
- };
268
- return {
269
- start,
270
- cancel,
271
- submit,
272
- select,
273
- nextRound,
274
- };
231
+ });
232
+ }
233
+ const index = state.index;
234
+ const solutions = state.solutions;
235
+ const solution = at(solutions, index);
236
+ if (solution.includes(hash)) {
237
+ solution.splice(solution.indexOf(hash), 1);
238
+ } else {
239
+ solution.push(hash);
240
+ }
241
+ updateState({ solutions });
242
+ };
243
+ const nextRound = () => {
244
+ if (!state.challenge) {
245
+ throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
246
+ context: { error: "Cannot select, no Captcha found in state" }
247
+ });
248
+ }
249
+ if (state.index + 1 >= state.challenge.captchas.length) {
250
+ throw new ProsopoError("CAPTCHA.NO_CAPTCHA", {
251
+ context: {
252
+ error: "Cannot select, index is out of range for this Captcha"
253
+ }
254
+ });
255
+ }
256
+ updateState({ index: state.index + 1 });
257
+ };
258
+ const loadProviderApi = async (providerUrl) => {
259
+ const config = getConfig();
260
+ if (!config.account.address) {
261
+ throw new ProsopoEnvError("GENERAL.SITE_KEY_MISSING");
262
+ }
263
+ return new ProviderApi(providerUrl, config.account.address);
264
+ };
265
+ const clearTimeout = () => {
266
+ window.clearTimeout(state.timeout);
267
+ updateState({ timeout: void 0 });
268
+ };
269
+ const setValidChallengeTimeout = () => {
270
+ const timeMillis = configOptional.captchas.image.solutionTimeout;
271
+ const successfullChallengeTimeout = setTimeout(() => {
272
+ updateState({ isHuman: false });
273
+ events.onExpired();
274
+ }, timeMillis);
275
+ updateState({ successfullChallengeTimeout });
276
+ };
277
+ const resetState = () => {
278
+ clearTimeout();
279
+ updateState(defaultState());
280
+ };
281
+ const loadAccount = async () => {
282
+ const config = getConfig();
283
+ if (!config.web2 && !config.userAccountAddress) {
284
+ throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", {
285
+ context: { error: "Account address has not been set for web3 mode" }
286
+ });
287
+ }
288
+ const ext = config.web2 ? new ExtensionWeb2() : new ExtensionWeb3();
289
+ const account = await ext.getAccount(config);
290
+ storage.setAccount(account.account.address);
291
+ updateState({ account });
292
+ return getAccount();
293
+ };
294
+ const getAccount = () => {
295
+ if (!state.account) {
296
+ throw new ProsopoEnvError("GENERAL.ACCOUNT_NOT_FOUND", {
297
+ context: { error: "Account not loaded" }
298
+ });
299
+ }
300
+ const account = state.account;
301
+ return account;
302
+ };
303
+ const getDappAccount = () => {
304
+ if (!state.dappAccount) {
305
+ throw new ProsopoEnvError("GENERAL.SITE_KEY_MISSING");
306
+ }
307
+ const dappAccount = state.dappAccount;
308
+ return dappAccount;
309
+ };
310
+ const getExtension = (possiblyAccount) => {
311
+ const account = possiblyAccount || getAccount();
312
+ if (!account.extension) {
313
+ throw new ProsopoEnvError("ACCOUNT.NO_POLKADOT_EXTENSION", {
314
+ context: { error: "Extension not loaded" }
315
+ });
316
+ }
317
+ return account.extension;
318
+ };
319
+ return {
320
+ start,
321
+ cancel,
322
+ submit,
323
+ select,
324
+ nextRound
325
+ };
275
326
  }
276
- //# sourceMappingURL=Manager.js.map
327
+ export {
328
+ Manager
329
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/modules/Manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACN,mBAAmB,EACnB,eAAe,EACf,YAAY,GACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEN,SAAS,EAMT,sBAAsB,EAKtB,sBAAsB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,YAAY,GAAG,GAA6B,EAAE;IACnD,OAAO;QAEN,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,SAAS;KAElB,CAAC;AACH,CAAC,CAAC;AAKF,MAAM,UAAU,OAAO,CACtB,cAA4C,EAC5C,KAAsB,EACtB,aAAsC,EACtC,SAA8B;IAE9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAGjE,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAS3D,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,MAAM,MAAM,GAAgC;YAC3C,kBAAkB,EAAE,EAAE;YACtB,GAAG,cAAc;SACjB,CAAC;QAGF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3D,CAAC;QACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC;IAKF,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACxB,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,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;YACD,MAAM,eAAe,EAAE,CAAC;YAExB,UAAU,EAAE,CAAC;YAEb,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,WAAW,CAAC;gBACX,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7D,CAAC,CAAC;YAGH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAGrD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAEjB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;YAGpC,MAAM,yBAAyB,GAAG,MAAM,uBAAuB,CAC9D,SAAS,EAAE,CACX,CAAC;YAEF,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC;YAE3D,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;YAEvD,MAAM,UAAU,GAAG,IAAI,iBAAiB,CACvC,OAAO,CAAC,OAAO,CAAC,OAAO,EACvB,yBAAyB,EACzB,WAAW,EACX,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAC5B,CAAC;YACF,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAE5B,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,mBAAmB,EAAE,CAAC;YAEzD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;YAChE,CAAC;YAGD,MAAM,UAAU,GAAW,SAAS,CAAC,QAAQ;iBAC3C,GAAG,CACH,CAAC,OAAO,EAAE,EAAE,CACX,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAC9D;iBACA,MAAM,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAE5B,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC,EAAE,UAAU,CAAC,CAAC;YAGf,WAAW,CAAC;gBACX,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;aACP,CAAC,CAAC;QACJ,CAAC,EACD,KAAK,EACL,UAAU,EACV,KAAK,CAAC,YAAY,EAClB,EAAE,CACF,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACzB,MAAM,aAAa,CAClB,KAAK,IAAI,EAAE;YAEV,YAAY,EAAE,CAAC;YAEf,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE;oBAC5C,OAAO,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE;iBAC9D,CAAC,CAAC;YACJ,CAAC;YAGD,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAElC,MAAM,SAAS,GAAwB,KAAK,CAAC,SAAS,CAAC;YACvD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;YAG3B,MAAM,eAAe,GAAsB,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CACtE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBAClB,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC5C,OAAO;oBACN,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,IAAI;oBACJ,QAAQ;iBACR,CAAC;YACH,CAAC,CACD,CAAC;YAEF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAE5C,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,mBAAmB,CAAC,4BAA4B,EAAE;oBAC3D,OAAO,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE;iBACpD,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAEpC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,MAAM,IAAI,YAAY,CAAC,uBAAuB,EAAE;oBAC/C,OAAO,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE;iBACnD,CAAC,CAAC;YACJ,CAAC;YAED,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,wBAAwB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBACrD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;gBAChC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC;gBACxC,IAAI,EAAE,OAAO;aACb,CAAC,CAAC;YAGH,MAAM,UAAU,GACf,MAAM,UAAU,CAAC,qBAAqB,CACrC,wBAAwB,CAAC,SAAS,EAClC,SAAS,CAAC,WAAW,EACrB,eAAe,EACf,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CACxC,CAAC;YAGH,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAEd,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnB,CAAC;YAGD,WAAW,CAAC;gBACX,UAAU;gBACV,OAAO;gBACP,OAAO,EAAE,KAAK;aACd,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAErD,OAAO,CAAC,oBAAoB,CAAC;oBAC5B,GAAG,OAAO,CAAC,oBAAoB,EAAE;oBACjC,WAAW;iBACX,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,CACb,sBAAsB,CAAC;oBACtB,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW;oBACpC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;oBACzC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE;oBAClC,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS;oBAC1C,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;wBACtB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;4BACrB,CAAC,SAAS,CAAC,WAAW,CAAC,EACtB,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW;yBACzC;wBACD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;4BACjB,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC,SAAS;yBAC3D;qBACD;iBACD,CAAC,CACF,CAAC;gBACF,wBAAwB,EAAE,CAAC;YAC5B,CAAC;QACF,CAAC,EACD,KAAK,EACL,UAAU,EACV,KAAK,CAAC,YAAY,EAClB,EAAE,CACF,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QAEzB,YAAY,EAAE,CAAC;QAEf,UAAU,EAAE,CAAC;QAEb,MAAM,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC;IAMF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE;gBAC5C,OAAO,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE;aAC9D,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE;gBAC5C,OAAO,EAAE;oBACR,KAAK,EAAE,uDAAuD;iBAC9D;aACD,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAE7B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YAEP,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC;IAKF,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE;gBAC5C,OAAO,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE;aAC9D,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE;gBAC5C,OAAO,EAAE;oBACR,KAAK,EAAE,uDAAuD;iBAC9D;aACD,CAAC,CAAC;QACJ,CAAC;QAED,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QAEzB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE;QACrC,MAAM,UAAU,GAAW,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;QACzE,MAAM,2BAA2B,GAAG,UAAU,CAAC,GAAG,EAAE;YAEnD,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEhC,MAAM,CAAC,SAAS,EAAE,CAAC;QACpB,CAAC,EAAE,UAAU,CAAC,CAAC;QAEf,WAAW,CAAC,EAAE,2BAA2B,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QAEvB,YAAY,EAAE,CAAC;QACf,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;IAKF,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE;gBACtD,OAAO,EAAE,EAAE,KAAK,EAAE,gDAAgD,EAAE;aACpE,CAAC,CAAC;QACJ,CAAC;QAGD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzB,OAAO,UAAU,EAAE,CAAC;IACrB,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,OAAO,CAAC;IAChB,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;IAEF,MAAM,YAAY,GAAG,CAAC,eAAyB,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,eAAe,IAAI,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,eAAe,CAAC,+BAA+B,EAAE;gBAC1D,OAAO,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE;aAC1C,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC,SAAS,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,SAAS;KACT,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/modules/Manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ProviderApi } from "@prosopo/api";
2
- import type { CaptchaResponseBody, CaptchaSolution, ProsopoCaptchaApiInterface, RandomProvider } from "@prosopo/types";
2
+ import { type CaptchaResponseBody, type CaptchaSolution, type ProcaptchaApiInterface, type RandomProvider } from "@prosopo/types";
3
3
  import type { TCaptchaSubmitResult } from "@prosopo/types";
4
- export declare class ProsopoCaptchaApi implements ProsopoCaptchaApiInterface {
4
+ export declare class ProsopoCaptchaApi implements ProcaptchaApiInterface {
5
5
  userAccount: string;
6
6
  provider: RandomProvider;
7
7
  providerApi: ProviderApi;
@@ -1 +1 @@
1
- {"version":3,"file":"ProsopoCaptchaApi.d.ts","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,OAAO,KAAK,EACX,mBAAmB,EACnB,eAAe,EAEf,0BAA0B,EAC1B,cAAc,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,iBAAkB,YAAW,0BAA0B;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;gBAGd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,MAAM;IASpB,IAAI,IAAI,IAAI,OAAO,CAElB;IAEY,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAyBnD,qBAAqB,CACjC,wBAAwB,EAAE,MAAM,EAChC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,4BAA4B,EAAE,MAAM,GAClC,OAAO,CAAC,oBAAoB,CAAC;CAsChC;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ProsopoCaptchaApi.d.ts","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,OAAO,EAEN,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAEpB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,iBAAkB,YAAW,sBAAsB;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;gBAGd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,MAAM;IASpB,IAAI,IAAI,IAAI,OAAO,CAElB;IAEY,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA8BnD,qBAAqB,CACjC,wBAAwB,EAAE,MAAM,EAChC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,eAAe,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,4BAA4B,EAAE,MAAM,GAClC,OAAO,CAAC,oBAAoB,CAAC;CAsChC;AAED,eAAe,iBAAiB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { ProsopoDatasetError, ProsopoEnvError } from "@prosopo/common";
2
2
  import { CaptchaMerkleTree, computeCaptchaSolutionHash, } from "@prosopo/datasets";
3
+ import { ApiParams, } from "@prosopo/types";
3
4
  export class ProsopoCaptchaApi {
4
5
  constructor(userAccount, provider, providerApi, web2, dappAccount) {
5
6
  this.userAccount = userAccount;
@@ -14,6 +15,9 @@ export class ProsopoCaptchaApi {
14
15
  async getCaptchaChallenge() {
15
16
  try {
16
17
  const captchaChallenge = await this.providerApi.getCaptchaChallenge(this.userAccount, this.provider);
18
+ if (captchaChallenge[ApiParams.error]) {
19
+ return captchaChallenge;
20
+ }
17
21
  for (const captcha of captchaChallenge.captchas) {
18
22
  for (const item of captcha.items) {
19
23
  if (item.data) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProsopoCaptchaApi.js","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACN,iBAAiB,EACjB,0BAA0B,GAC1B,MAAM,mBAAmB,CAAC;AAU3B,MAAM,OAAO,iBAAiB;IAO7B,YACC,WAAmB,EACnB,QAAwB,EACxB,WAAwB,EACxB,IAAa,EACb,WAAmB;QAEnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAClE,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,CACb,CAAC;YAEF,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBACjD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBAGf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;oBACvD,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,gBAAgB,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CAAC,mCAAmC,EAAE;gBAC9D,OAAO,EAAE,EAAE,KAAK,EAAE;aAClB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,qBAAqB,CACjC,wBAAgC,EAChC,WAAmB,EACnB,SAA4B,EAC5B,SAAiB,EACjB,4BAAoC;QAEpC,MAAM,IAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAErC,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAChD,0BAA0B,CAAC,OAAO,CAAC,CACnC,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,EAAE;gBAClE,OAAO,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE;aACnD,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAEpC,MAAM,EAAE,GAA0C,SAAS,CAAC;QAE5D,IAAI,MAA+B,CAAC;QAEpC,IAAI,CAAC;YACJ,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CACpD,SAAS,EACT,WAAW,EACX,IAAI,CAAC,WAAW,EAChB,SAAS,EACT,4BAA4B,EAC5B,wBAAwB,CACxB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,EAAE;gBAClE,OAAO,EAAE,EAAE,KAAK,EAAE;aAClB,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;CACD;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ProsopoCaptchaApi.js","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/procaptcha",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -33,14 +33,14 @@
33
33
  "@polkadot/api-contract": "10.13.1",
34
34
  "@polkadot/util": "12.6.2",
35
35
  "@polkadot/util-crypto": "12.6.2",
36
- "@prosopo/account": "2.1.0",
37
- "@prosopo/api": "2.1.0",
38
- "@prosopo/common": "2.1.0",
39
- "@prosopo/datasets": "2.1.0",
40
- "@prosopo/load-balancer": "2.1.0",
41
- "@prosopo/procaptcha-common": "2.1.0",
42
- "@prosopo/types": "2.1.0",
43
- "@prosopo/util": "2.1.0",
36
+ "@prosopo/account": "2.1.1",
37
+ "@prosopo/api": "2.1.1",
38
+ "@prosopo/common": "2.1.1",
39
+ "@prosopo/datasets": "2.1.1",
40
+ "@prosopo/load-balancer": "2.1.1",
41
+ "@prosopo/procaptcha-common": "2.1.1",
42
+ "@prosopo/types": "2.1.1",
43
+ "@prosopo/util": "2.1.1",
44
44
  "jsdom": "25.0.0"
45
45
  },
46
46
  "overrides": {
@@ -56,7 +56,7 @@
56
56
  }
57
57
  },
58
58
  "devDependencies": {
59
- "@prosopo/config": "2.1.0",
59
+ "@prosopo/config": "2.1.1",
60
60
  "@vitest/coverage-v8": "2.1.1",
61
61
  "concurrently": "9.0.1",
62
62
  "dotenv": "16.4.5",