@prosopo/procaptcha 0.3.5 → 0.3.37

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.
@@ -58,7 +58,7 @@ class ExtensionWeb2 extends Extension.Extension {
58
58
  }
59
59
  },
60
60
  name: "procaptcha-web2",
61
- version: "0.3.x",
61
+ version: util.version,
62
62
  signer
63
63
  };
64
64
  }
@@ -13,7 +13,6 @@ const util = require("@prosopo/util");
13
13
  const procaptchaCommon = require("@prosopo/procaptcha-common");
14
14
  const random = require("@polkadot/util-crypto/random");
15
15
  const utils = require("../utils/utils.cjs");
16
- const string = require("@polkadot/util/string");
17
16
  const ProsopoCaptchaApi = require("./ProsopoCaptchaApi.cjs");
18
17
  const storage = require("./storage.cjs");
19
18
  const ExtensionWeb2 = require("../account/dist/extension/ExtensionWeb2.cjs");
@@ -101,21 +100,22 @@ function Manager(configOptional, state, onStateUpdate, callbacks) {
101
100
  setValidChallengeTimeout();
102
101
  return;
103
102
  }
104
- const providerUrlFromStorage = storage.getProviderUrl();
103
+ const procaptchaStorage = storage.getProcaptchaStorage();
105
104
  let providerApi;
106
- if (providerUrlFromStorage) {
107
- providerApi = await loadProviderApi(providerUrlFromStorage);
105
+ if (procaptchaStorage.providerUrl && procaptchaStorage.blockNumber) {
106
+ providerApi = await loadProviderApi(procaptchaStorage.providerUrl);
108
107
  try {
109
108
  const verifyDappUserResponse = await providerApi.verifyDappUser(
110
109
  getDappAccount(),
111
110
  account.account.address,
111
+ procaptchaStorage.blockNumber,
112
112
  void 0,
113
113
  configOptional.challengeValidLength
114
114
  );
115
115
  if (verifyDappUserResponse.verified) {
116
116
  updateState({ isHuman: true, loading: false });
117
117
  const output = {
118
- [types.ApiParams.providerUrl]: providerUrlFromStorage,
118
+ [types.ApiParams.providerUrl]: procaptchaStorage.providerUrl,
119
119
  [types.ApiParams.user]: account.account.address,
120
120
  [types.ApiParams.dapp]: getDappAccount(),
121
121
  [types.ApiParams.commitmentId]: util.hashToHex(verifyDappUserResponse.commitmentId),
@@ -126,15 +126,9 @@ function Manager(configOptional, state, onStateUpdate, callbacks) {
126
126
  return;
127
127
  }
128
128
  } catch (err) {
129
- console.error("Error contacting provider from storage", providerUrlFromStorage);
129
+ console.error("Error contacting provider from storage", procaptchaStorage.providerUrl);
130
130
  }
131
131
  }
132
- const payload = {
133
- address: account.account.address,
134
- data: string.stringToU8a("message"),
135
- type: "bytes"
136
- };
137
- const signed = await account.extension.signer.signRaw(payload);
138
132
  const getRandomProviderResponse = await contract.wrapQuery(
139
133
  contract$1.query.getRandomActiveProvider,
140
134
  contract$1.query
@@ -211,10 +205,10 @@ function Manager(configOptional, state, onStateUpdate, callbacks) {
211
205
  loading: false
212
206
  });
213
207
  if (state.isHuman) {
214
- const trimmedUrl = common.trimProviderUrl(captchaApi.provider.provider.url.toString());
215
- storage.setProviderUrl(trimmedUrl);
208
+ const providerUrl = common.trimProviderUrl(captchaApi.provider.provider.url.toString());
209
+ storage.setProcaptchaStorage({ ...storage.getProcaptchaStorage(), providerUrl, blockNumber });
216
210
  events.onHuman({
217
- providerUrl: trimmedUrl,
211
+ providerUrl,
218
212
  user: account.account.address,
219
213
  dapp: getDappAccount(),
220
214
  commitmentId: util.hashToHex(submission[1]),
@@ -367,7 +361,8 @@ function Manager(configOptional, state, onStateUpdate, callbacks) {
367
361
  );
368
362
  };
369
363
  const exportData = async (events2) => {
370
- const providerUrlFromStorage = storage.getProviderUrl();
364
+ const procaptchaStorage = storage.getProcaptchaStorage();
365
+ const providerUrlFromStorage = procaptchaStorage.providerUrl;
371
366
  let providerApi;
372
367
  if (providerUrlFromStorage) {
373
368
  providerApi = await loadProviderApi(providerUrlFromStorage);
@@ -380,7 +375,7 @@ function Manager(configOptional, state, onStateUpdate, callbacks) {
380
375
  const providerUrl2 = common.trimProviderUrl(getRandomProviderResponse.provider.url.toString());
381
376
  providerApi = await loadProviderApi(providerUrl2);
382
377
  }
383
- const providerUrl = storage.getProviderUrl() || state.captchaApi?.provider.provider.url.toString();
378
+ const providerUrl = storage.getProcaptchaStorage().providerUrl || state.captchaApi?.provider.provider.url.toString();
384
379
  if (!providerUrl) {
385
380
  return;
386
381
  }
@@ -54,23 +54,20 @@ class ProsopoCaptchaApi {
54
54
  const captchasHashed = solutions.map((captcha) => datasets.computeCaptchaSolutionHash(captcha));
55
55
  tree.build(captchasHashed);
56
56
  const commitmentId = tree.root.hash;
57
- console.log("solveCaptchaChallenge commitmentId", commitmentId);
58
57
  const tx = void 0;
59
58
  let signature = void 0;
60
- if (this.web2) {
61
- if (!signer || !signer.signRaw) {
62
- throw new common.ProsopoEnvError("GENERAL.CANT_FIND_KEYRINGPAIR", {
63
- context: { error: "Signer is not defined, cannot sign message to prove account ownership" }
64
- });
65
- }
66
- const signed = await signer.signRaw({
67
- address: this.userAccount,
68
- data: string.stringToHex(requestHash),
69
- type: "bytes"
59
+ if (!signer || !signer.signRaw) {
60
+ throw new common.ProsopoEnvError("GENERAL.CANT_FIND_KEYRINGPAIR", {
61
+ context: { error: "Signer is not defined, cannot sign message to prove account ownership" }
70
62
  });
71
- signature = signed.signature;
72
63
  }
73
64
  let result;
65
+ const signed = await signer.signRaw({
66
+ address: this.userAccount,
67
+ data: string.stringToHex(requestHash),
68
+ type: "bytes"
69
+ });
70
+ signature = signed.signature;
74
71
  try {
75
72
  result = await this.providerApi.submitCaptchaSolution(
76
73
  solutions,
@@ -1,22 +1,26 @@
1
1
  "use strict";
2
- const CURRENT_ACCOUNT_KEY = "@prosopo/current_account";
3
- const PROVIDER_URL_KEY = "@prosopo/provider";
4
- function setAccount(account) {
5
- localStorage.setItem(CURRENT_ACCOUNT_KEY, account);
2
+ const types = require("@prosopo/types");
3
+ const util = require("@polkadot/util");
4
+ const string = require("@polkadot/util/string");
5
+ const PROCAPTCHA_STORAGE_KEY = "@prosopo/procaptcha";
6
+ function getProcaptchaStorage() {
7
+ return types.ProsopoLocalStorageSchema.parse(
8
+ JSON.parse(util.hexToString(localStorage.getItem(PROCAPTCHA_STORAGE_KEY) || "0x7b7d"))
9
+ );
6
10
  }
7
- function getAccount() {
8
- return localStorage.getItem(CURRENT_ACCOUNT_KEY);
11
+ function setProcaptchaStorage(storage2) {
12
+ localStorage.setItem(PROCAPTCHA_STORAGE_KEY, string.stringToHex(JSON.stringify(types.ProsopoLocalStorageSchema.parse(storage2))));
9
13
  }
10
- function setProviderUrl(providerUrl) {
11
- localStorage.setItem(PROVIDER_URL_KEY, providerUrl);
14
+ function setAccount(account) {
15
+ setProcaptchaStorage({ ...getProcaptchaStorage(), account });
12
16
  }
13
- function getProviderUrl() {
14
- return localStorage.getItem(PROVIDER_URL_KEY);
17
+ function getAccount() {
18
+ return getProcaptchaStorage().account || null;
15
19
  }
16
20
  const storage = {
17
21
  setAccount,
18
22
  getAccount,
19
- setProviderUrl,
20
- getProviderUrl
23
+ setProcaptchaStorage,
24
+ getProcaptchaStorage
21
25
  };
22
26
  module.exports = storage;
@@ -1 +1 @@
1
- {"version":3,"file":"Manager.d.ts","sourceRoot":"","sources":["../../src/modules/Manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAMH,mBAAmB,EACnB,2BAA2B,EAI3B,eAAe,EACf,uBAAuB,EACvB,YAAY,EAEf,MAAM,gBAAgB,CAAA;AAsDvB,wBAAgB,OAAO,CACnB,cAAc,EAAE,2BAA2B,EAC3C,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,uBAAuB,EACtC,SAAS,EAAE,mBAAmB;;;;mBAwRR,MAAM;;yBAwLM,YAAY;EAsCjD"}
1
+ {"version":3,"file":"Manager.d.ts","sourceRoot":"","sources":["../../src/modules/Manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAMH,mBAAmB,EACnB,2BAA2B,EAI3B,eAAe,EACf,uBAAuB,EACvB,YAAY,EAEf,MAAM,gBAAgB,CAAA;AAoDvB,wBAAgB,OAAO,CACnB,cAAc,EAAE,2BAA2B,EAC3C,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,uBAAuB,EACtC,SAAS,EAAE,mBAAmB;;;;mBAmRR,MAAM;;yBAwLM,YAAY;EAwCjD"}
@@ -11,7 +11,6 @@ import { at, hashToHex } from '@prosopo/util';
11
11
  import { buildUpdateState, getDefaultEvents } from '@prosopo/procaptcha-common';
12
12
  import { randomAsHex } from '@polkadot/util-crypto/random';
13
13
  import { sleep } from '../utils/utils.js';
14
- import { stringToU8a } from '@polkadot/util/string';
15
14
  import ProsopoCaptchaApi from './ProsopoCaptchaApi.js';
16
15
  import storage from './storage.js';
17
16
  const defaultState = () => {
@@ -99,16 +98,16 @@ export function Manager(configOptional, state, onStateUpdate, callbacks) {
99
98
  setValidChallengeTimeout();
100
99
  return;
101
100
  }
102
- const providerUrlFromStorage = storage.getProviderUrl();
101
+ const procaptchaStorage = storage.getProcaptchaStorage();
103
102
  let providerApi;
104
- if (providerUrlFromStorage) {
105
- providerApi = await loadProviderApi(providerUrlFromStorage);
103
+ if (procaptchaStorage.providerUrl && procaptchaStorage.blockNumber) {
104
+ providerApi = await loadProviderApi(procaptchaStorage.providerUrl);
106
105
  try {
107
- const verifyDappUserResponse = await providerApi.verifyDappUser(getDappAccount(), account.account.address, undefined, configOptional.challengeValidLength);
106
+ const verifyDappUserResponse = await providerApi.verifyDappUser(getDappAccount(), account.account.address, procaptchaStorage.blockNumber, undefined, configOptional.challengeValidLength);
108
107
  if (verifyDappUserResponse.verified) {
109
108
  updateState({ isHuman: true, loading: false });
110
109
  const output = {
111
- [ApiParams.providerUrl]: providerUrlFromStorage,
110
+ [ApiParams.providerUrl]: procaptchaStorage.providerUrl,
112
111
  [ApiParams.user]: account.account.address,
113
112
  [ApiParams.dapp]: getDappAccount(),
114
113
  [ApiParams.commitmentId]: hashToHex(verifyDappUserResponse.commitmentId),
@@ -120,15 +119,9 @@ export function Manager(configOptional, state, onStateUpdate, callbacks) {
120
119
  }
121
120
  }
122
121
  catch (err) {
123
- console.error('Error contacting provider from storage', providerUrlFromStorage);
122
+ console.error('Error contacting provider from storage', procaptchaStorage.providerUrl);
124
123
  }
125
124
  }
126
- const payload = {
127
- address: account.account.address,
128
- data: stringToU8a('message'),
129
- type: 'bytes',
130
- };
131
- const signed = await account.extension.signer.signRaw(payload);
132
125
  const getRandomProviderResponse = await wrapQuery(contract.query.getRandomActiveProvider, contract.query)(account.account.address, getDappAccount());
133
126
  const blockNumber = parseInt(getRandomProviderResponse.blockNumber.toString());
134
127
  const providerUrl = trimProviderUrl(getRandomProviderResponse.provider.url.toString());
@@ -196,10 +189,10 @@ export function Manager(configOptional, state, onStateUpdate, callbacks) {
196
189
  loading: false,
197
190
  });
198
191
  if (state.isHuman) {
199
- const trimmedUrl = trimProviderUrl(captchaApi.provider.provider.url.toString());
200
- storage.setProviderUrl(trimmedUrl);
192
+ const providerUrl = trimProviderUrl(captchaApi.provider.provider.url.toString());
193
+ storage.setProcaptchaStorage({ ...storage.getProcaptchaStorage(), providerUrl, blockNumber });
201
194
  events.onHuman({
202
- providerUrl: trimmedUrl,
195
+ providerUrl,
203
196
  user: account.account.address,
204
197
  dapp: getDappAccount(),
205
198
  commitmentId: hashToHex(submission[1]),
@@ -339,7 +332,8 @@ export function Manager(configOptional, state, onStateUpdate, callbacks) {
339
332
  return new ProsopoCaptchaContract(api, JSON.parse(abiJson), network.contract.address, 'prosopo', 0, keyring.addFromAddress(getAccount().account.address));
340
333
  };
341
334
  const exportData = async (events) => {
342
- const providerUrlFromStorage = storage.getProviderUrl();
335
+ const procaptchaStorage = storage.getProcaptchaStorage();
336
+ const providerUrlFromStorage = procaptchaStorage.providerUrl;
343
337
  let providerApi;
344
338
  if (providerUrlFromStorage) {
345
339
  providerApi = await loadProviderApi(providerUrlFromStorage);
@@ -350,7 +344,7 @@ export function Manager(configOptional, state, onStateUpdate, callbacks) {
350
344
  const providerUrl = trimProviderUrl(getRandomProviderResponse.provider.url.toString());
351
345
  providerApi = await loadProviderApi(providerUrl);
352
346
  }
353
- const providerUrl = storage.getProviderUrl() || state.captchaApi?.provider.provider.url.toString();
347
+ const providerUrl = storage.getProcaptchaStorage().providerUrl || state.captchaApi?.provider.provider.url.toString();
354
348
  if (!providerUrl) {
355
349
  return;
356
350
  }
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProsopoCaptchaApi.d.ts","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"AAoBA,OAAO,EACH,mBAAmB,EACnB,eAAe,EAGf,0BAA0B,EAC7B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAIrD,qBAAa,iBAAkB,YAAW,0BAA0B;IAChE,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,KAAK,EAAE,OAAO,CAAA;gBAGV,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,MAAM;IAUvB,IAAI,IAAI,IAAI,OAAO,CAElB;IAEY,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAqBzD,6BAA6B,CAAC,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,GAAG,IAAI;IAuB9F,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;CA4CnC;AA4BD,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"ProsopoCaptchaApi.d.ts","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaApi.ts"],"names":[],"mappings":"AAoBA,OAAO,EACH,mBAAmB,EACnB,eAAe,EAGf,0BAA0B,EAC7B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAIrD,qBAAa,iBAAkB,YAAW,0BAA0B;IAChE,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,KAAK,EAAE,OAAO,CAAA;gBAGV,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,MAAM;IAUvB,IAAI,IAAI,IAAI,OAAO,CAElB;IAEY,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAqBzD,6BAA6B,CAAC,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,GAAG,IAAI;IAuB9F,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"}
@@ -53,23 +53,20 @@ export class ProsopoCaptchaApi {
53
53
  const captchasHashed = solutions.map((captcha) => computeCaptchaSolutionHash(captcha));
54
54
  tree.build(captchasHashed);
55
55
  const commitmentId = tree.root.hash;
56
- console.log('solveCaptchaChallenge commitmentId', commitmentId);
57
56
  const tx = undefined;
58
57
  let signature = undefined;
59
- if (this.web2) {
60
- if (!signer || !signer.signRaw) {
61
- throw new ProsopoEnvError('GENERAL.CANT_FIND_KEYRINGPAIR', {
62
- context: { error: 'Signer is not defined, cannot sign message to prove account ownership' },
63
- });
64
- }
65
- const signed = await signer.signRaw({
66
- address: this.userAccount,
67
- data: stringToHex(requestHash),
68
- type: 'bytes',
58
+ if (!signer || !signer.signRaw) {
59
+ throw new ProsopoEnvError('GENERAL.CANT_FIND_KEYRINGPAIR', {
60
+ context: { error: 'Signer is not defined, cannot sign message to prove account ownership' },
69
61
  });
70
- signature = signed.signature;
71
62
  }
72
63
  let result;
64
+ const signed = await signer.signRaw({
65
+ address: this.userAccount,
66
+ data: stringToHex(requestHash),
67
+ type: 'bytes',
68
+ });
69
+ signature = signed.signature;
73
70
  try {
74
71
  result = await this.providerApi.submitCaptchaSolution(solutions, requestHash, this.contract.pair.address, salt, signature);
75
72
  }
@@ -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,12 +1,13 @@
1
+ import { ProcaptchaLocalStorage } from '@prosopo/types';
2
+ declare function getProcaptchaStorage(): ProcaptchaLocalStorage;
3
+ declare function setProcaptchaStorage(storage: ProcaptchaLocalStorage): void;
1
4
  declare function setAccount(account: string): void;
2
5
  declare function getAccount(): string | null;
3
- declare function setProviderUrl(providerUrl: string): void;
4
- declare function getProviderUrl(): string | null;
5
6
  declare const _default: {
6
7
  setAccount: typeof setAccount;
7
8
  getAccount: typeof getAccount;
8
- setProviderUrl: typeof setProviderUrl;
9
- getProviderUrl: typeof getProviderUrl;
9
+ setProcaptchaStorage: typeof setProcaptchaStorage;
10
+ getProcaptchaStorage: typeof getProcaptchaStorage;
10
11
  };
11
12
  export default _default;
12
13
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/modules/storage.ts"],"names":[],"mappings":"AAoBA,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,QAElC;AAKD,iBAAS,UAAU,IAAI,MAAM,GAAG,IAAI,CAEnC;AAKD,iBAAS,cAAc,CAAC,WAAW,EAAE,MAAM,QAE1C;AAKD,iBAAS,cAAc,IAAI,MAAM,GAAG,IAAI,CAEvC;;;;;;;AAED,wBAKC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/modules/storage.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,sBAAsB,EAA6B,MAAM,gBAAgB,CAAA;AASlF,iBAAS,oBAAoB,IAAI,sBAAsB,CAItD;AAMD,iBAAS,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,QAE5D;AAKD,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,QAElC;AAKD,iBAAS,UAAU,IAAI,MAAM,GAAG,IAAI,CAEnC;;;;;;;AAED,wBAKC"}
@@ -1,21 +1,23 @@
1
- const CURRENT_ACCOUNT_KEY = '@prosopo/current_account';
2
- const PROVIDER_URL_KEY = '@prosopo/provider';
3
- function setAccount(account) {
4
- localStorage.setItem(CURRENT_ACCOUNT_KEY, account);
1
+ import { ProsopoLocalStorageSchema } from '@prosopo/types';
2
+ import { hexToString } from '@polkadot/util';
3
+ import { stringToHex } from '@polkadot/util/string';
4
+ const PROCAPTCHA_STORAGE_KEY = '@prosopo/procaptcha';
5
+ function getProcaptchaStorage() {
6
+ return ProsopoLocalStorageSchema.parse(JSON.parse(hexToString(localStorage.getItem(PROCAPTCHA_STORAGE_KEY) || '0x7b7d')));
5
7
  }
6
- function getAccount() {
7
- return localStorage.getItem(CURRENT_ACCOUNT_KEY);
8
+ function setProcaptchaStorage(storage) {
9
+ localStorage.setItem(PROCAPTCHA_STORAGE_KEY, stringToHex(JSON.stringify(ProsopoLocalStorageSchema.parse(storage))));
8
10
  }
9
- function setProviderUrl(providerUrl) {
10
- localStorage.setItem(PROVIDER_URL_KEY, providerUrl);
11
+ function setAccount(account) {
12
+ setProcaptchaStorage({ ...getProcaptchaStorage(), account });
11
13
  }
12
- function getProviderUrl() {
13
- return localStorage.getItem(PROVIDER_URL_KEY);
14
+ function getAccount() {
15
+ return getProcaptchaStorage().account || null;
14
16
  }
15
17
  export default {
16
18
  setAccount,
17
19
  getAccount,
18
- setProviderUrl,
19
- getProviderUrl,
20
+ setProcaptchaStorage,
21
+ getProcaptchaStorage,
20
22
  };
21
23
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/modules/storage.ts"],"names":[],"mappings":"AAcA,MAAM,mBAAmB,GAAG,0BAA0B,CAAA;AACtD,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;AAK5C,SAAS,UAAU,CAAC,OAAe;IAC/B,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC;AAKD,SAAS,UAAU;IACf,OAAO,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACpD,CAAC;AAKD,SAAS,cAAc,CAAC,WAAmB;IACvC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;AACvD,CAAC;AAKD,SAAS,cAAc;IACnB,OAAO,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;AACjD,CAAC;AAED,eAAe;IACX,UAAU;IACV,UAAU;IACV,cAAc;IACd,cAAc;CACjB,CAAA"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/modules/storage.ts"],"names":[],"mappings":"AAaA,OAAO,EAA0B,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,sBAAsB,GAAG,qBAAqB,CAAA;AAKpD,SAAS,oBAAoB;IACzB,OAAO,yBAAyB,CAAC,KAAK,CAClC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,QAAQ,CAAC,CAAC,CACpF,CAAA;AACL,CAAC;AAMD,SAAS,oBAAoB,CAAC,OAA+B;IACzD,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACvH,CAAC;AAKD,SAAS,UAAU,CAAC,OAAe;IAC/B,oBAAoB,CAAC,EAAE,GAAG,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;AAChE,CAAC;AAKD,SAAS,UAAU;IACf,OAAO,oBAAoB,EAAE,CAAC,OAAO,IAAI,IAAI,CAAA;AACjD,CAAC;AAED,eAAe;IACX,UAAU;IACV,UAAU;IACV,oBAAoB;IACpB,oBAAoB;CACvB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=storage.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["../../../src/tests/modules/storage.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { describe, expect, test } from 'vitest';
2
+ import storage from '../../modules/storage.js';
3
+ const { setAccount, getAccount, getProcaptchaStorage, setProcaptchaStorage } = storage;
4
+ describe('storage tests', () => {
5
+ test('sets and gets account', async () => {
6
+ setAccount('abc');
7
+ expect(getAccount()).to.equal('abc');
8
+ });
9
+ test('sets provider URL and block number', async () => {
10
+ setAccount('abc');
11
+ const procaptchaStorage = getProcaptchaStorage();
12
+ setProcaptchaStorage({ ...procaptchaStorage, providerUrl: 'http://localhost:9229', blockNumber: 100 });
13
+ expect(getProcaptchaStorage()).toMatchObject({
14
+ account: 'abc',
15
+ providerUrl: 'http://localhost:9229',
16
+ blockNumber: 100,
17
+ });
18
+ });
19
+ });
20
+ //# sourceMappingURL=storage.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../../../src/tests/modules/storage.test.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,OAAO,MAAM,0BAA0B,CAAA;AAE9C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAA;AAEtF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,UAAU,CAAC,KAAK,CAAC,CAAA;QACjB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,UAAU,CAAC,KAAK,CAAC,CAAA;QACjB,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAA;QAChD,oBAAoB,CAAC,EAAE,GAAG,iBAAiB,EAAE,WAAW,EAAE,uBAAuB,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;QACtG,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC;YACzC,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,uBAAuB;YACpC,WAAW,EAAE,GAAG;SACnB,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/procaptcha",
3
- "version": "0.3.5",
3
+ "version": "0.3.37",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -19,7 +19,8 @@
19
19
  "prettier": "npx prettier . --check --no-error-on-unmatched-pattern --ignore-path ../../.eslintignore",
20
20
  "prettier:fix": "npm run prettier -- --write",
21
21
  "lint": "npm run eslint && npm run prettier",
22
- "lint:fix": "npm run eslint:fix && npm run prettier:fix"
22
+ "lint:fix": "npm run eslint:fix && npm run prettier:fix",
23
+ "test": "NODE_ENV=test vitest --run --config vite.test.config.ts"
23
24
  },
24
25
  "exports": {
25
26
  ".": {
@@ -45,13 +46,13 @@
45
46
  "@polkadot/types": "10.11.2",
46
47
  "@polkadot/util": "12.6.2",
47
48
  "@polkadot/util-crypto": "12.6.2",
48
- "@prosopo/account": "0.3.5",
49
- "@prosopo/api": "0.3.5",
50
- "@prosopo/common": "0.3.5",
51
- "@prosopo/contract": "0.3.5",
52
- "@prosopo/datasets": "0.3.5",
53
- "@prosopo/types": "0.3.5",
54
- "@prosopo/util": "0.3.5",
49
+ "@prosopo/account": "0.3.37",
50
+ "@prosopo/api": "0.3.37",
51
+ "@prosopo/common": "0.3.37",
52
+ "@prosopo/contract": "0.3.37",
53
+ "@prosopo/datasets": "0.3.37",
54
+ "@prosopo/types": "0.3.37",
55
+ "@prosopo/util": "0.3.37",
55
56
  "rxjs": "7.8.1"
56
57
  },
57
58
  "devDependencies": {
@@ -0,0 +1,36 @@
1
+ // Copyright 2021-2024 Prosopo (UK) Ltd.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { defineConfig } from 'vitest/config'
15
+ import dotenv from 'dotenv'
16
+ import fs from 'fs'
17
+ import path from 'path'
18
+ process.env.NODE_ENV = 'test'
19
+ // if .env.test exists at this level, use it, otherwise use the one at the root
20
+ const envFile = `.env.${process.env.NODE_ENV || 'development'}`
21
+ let envPath = envFile
22
+ if (fs.existsSync(envFile)) {
23
+ envPath = path.resolve(envFile)
24
+ } else if (fs.existsSync(`../../${envFile}`)) {
25
+ envPath = path.resolve(`../../${envFile}`)
26
+ } else {
27
+ throw new Error(`No ${envFile} file found`)
28
+ }
29
+
30
+ dotenv.config({ path: envPath })
31
+
32
+ export default defineConfig({
33
+ test: {
34
+ environment: 'jsdom',
35
+ },
36
+ })