@prosopo/account 1.0.2 → 2.0.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.
Files changed (34) hide show
  1. package/dist/cjs/common/dist/error.cjs +20 -16
  2. package/dist/cjs/common/dist/hash.cjs +1 -1
  3. package/dist/cjs/common/dist/i18n.cjs +3 -3
  4. package/dist/cjs/common/dist/locales/en.json.cjs +2 -1
  5. package/dist/cjs/common/dist/logger.cjs +23 -11
  6. package/dist/cjs/common/dist/node/UrlConverter.cjs +15 -7
  7. package/dist/cjs/common/dist/utils.cjs +4 -2
  8. package/dist/cjs/detector/src/index.cjs +4586 -0
  9. package/dist/cjs/extension/ExtensionWeb2.cjs +30 -30
  10. package/dist/cjs/extension/ExtensionWeb3.cjs +5 -3
  11. package/dist/cjs/util/dist/at.cjs +3 -0
  12. package/dist/cjs/util/dist/canvas.cjs +15 -9
  13. package/dist/cjs/util/dist/hex.cjs +37 -2
  14. package/dist/cjs/util/dist/index.cjs +1 -0
  15. package/dist/cjs/util/dist/ofLen.cjs +1 -1
  16. package/dist/cjs/util/dist/table.cjs +2 -2
  17. package/dist/cjs/util/dist/util.cjs +1 -1
  18. package/dist/extension/Extension.d.ts +1 -1
  19. package/dist/extension/Extension.d.ts.map +1 -1
  20. package/dist/extension/Extension.js.map +1 -1
  21. package/dist/extension/ExtensionWeb2.d.ts +4 -5
  22. package/dist/extension/ExtensionWeb2.d.ts.map +1 -1
  23. package/dist/extension/ExtensionWeb2.js +27 -36
  24. package/dist/extension/ExtensionWeb2.js.map +1 -1
  25. package/dist/extension/ExtensionWeb3.d.ts +2 -2
  26. package/dist/extension/ExtensionWeb3.d.ts.map +1 -1
  27. package/dist/extension/ExtensionWeb3.js +8 -6
  28. package/dist/extension/ExtensionWeb3.js.map +1 -1
  29. package/dist/index.d.ts +3 -3
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +3 -3
  32. package/dist/index.js.map +1 -1
  33. package/package.json +53 -58
  34. package/vite.cjs.config.ts +3 -3
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Api = require("@polkadot/api/promise/Api");
4
- const Extension = require("./Extension.cjs");
5
- const keyring = require("@polkadot/keyring");
6
- require("../common/dist/index.cjs");
7
3
  const Signer = require("@polkadot/extension-base/page/Signer");
8
- const ws = require("@polkadot/rpc-provider/ws");
9
- const address = require("@polkadot/util-crypto/address");
4
+ const keyring = require("@polkadot/keyring");
5
+ const utilCrypto = require("@polkadot/util-crypto");
10
6
  const bip39 = require("@polkadot/util-crypto/mnemonic/bip39");
11
- const fingerprintjs = require("@fingerprintjs/fingerprintjs");
12
- require("../util/dist/index.cjs");
13
7
  const string = require("@polkadot/util/string");
14
8
  const u8a = require("@polkadot/util/u8a");
9
+ require("../common/dist/index.cjs");
10
+ const index = require("../detector/src/index.cjs");
11
+ require("../util/dist/index.cjs");
12
+ const Extension = require("./Extension.cjs");
15
13
  const error = require("../common/dist/error.cjs");
16
14
  const version = require("../util/dist/version.cjs");
17
15
  const canvas = require("../util/dist/canvas.cjs");
@@ -23,16 +21,16 @@ class ExtensionWeb2 extends Extension.Extension {
23
21
  const network = config.networks[config.defaultNetwork];
24
22
  if (!network) {
25
23
  throw new error.ProsopoEnvError("DEVELOPER.NETWORK_NOT_FOUND", {
26
- context: { error: `No network found for environment ${config.defaultEnvironment}` }
24
+ context: {
25
+ error: `No network found for environment ${config.defaultEnvironment}`
26
+ }
27
27
  });
28
28
  }
29
29
  return network;
30
30
  };
31
31
  }
32
32
  async getAccount(config) {
33
- const network = this.getNetwork(config);
34
- const wsProvider = new ws.WsProvider(network.endpoint);
35
- const account = await this.createAccount(wsProvider);
33
+ const account = await this.createAccount(config);
36
34
  const extension = await this.createExtension(account);
37
35
  return {
38
36
  account,
@@ -67,7 +65,8 @@ class ExtensionWeb2 extends Extension.Extension {
67
65
  signer
68
66
  };
69
67
  }
70
- async createAccount(wsProvider) {
68
+ async createAccount(config) {
69
+ await utilCrypto.cryptoWaitReady();
71
70
  const params = {
72
71
  area: { width: 300, height: 300 },
73
72
  offsetParameter: 2001000001,
@@ -77,29 +76,30 @@ class ExtensionWeb2 extends Extension.Extension {
77
76
  numberOfRounds: 5,
78
77
  seed: 42
79
78
  };
80
- const browserEntropy = await this.getFingerprint();
81
- const canvasEntropy = canvas.picassoCanvas(params.numberOfRounds, params.seed, params);
82
- const entropy = hash.hexHash([canvasEntropy, browserEntropy].join(""), 128).slice(2);
79
+ const browserEntropy = await index.getFingerprint();
80
+ const canvasEntropy = canvas.picassoCanvas(
81
+ params.numberOfRounds,
82
+ params.seed,
83
+ params
84
+ );
85
+ const entropy = hash.hexHash(
86
+ [canvasEntropy, browserEntropy].join(""),
87
+ 128
88
+ ).slice(2);
83
89
  const u8Entropy = string.stringToU8a(entropy);
84
90
  const mnemonic = bip39.entropyToMnemonic(u8Entropy);
85
- const api = await Api.ApiPromise.create({ provider: wsProvider, initWasm: false, noInitWarn: true });
86
- const type = "ed25519";
87
- const keyring$1 = new keyring.Keyring({ type, ss58Format: api.registry.chainSS58 });
91
+ const type = "sr25519";
92
+ const keyring$1 = new keyring.Keyring({
93
+ type,
94
+ ss58Format: config.networks[config.defaultNetwork].ss58Format
95
+ });
88
96
  const keypair = keyring$1.addFromMnemonic(mnemonic);
89
- const address$1 = keypair.address.length === 42 ? keypair.address : address.encodeAddress(address.decodeAddress(keypair.address), api.registry.chainSS58);
97
+ const address = keypair.address;
90
98
  return {
91
- address: address$1,
92
- type,
93
- name: address$1,
99
+ address,
100
+ name: address,
94
101
  keypair
95
102
  };
96
103
  }
97
- async getFingerprint() {
98
- const fpPromise = fingerprintjs.load();
99
- const fp = await fpPromise;
100
- const result = await fp.get();
101
- const { screenFrame, ...componentsReduced } = result.components;
102
- return fingerprintjs.hashComponents(componentsReduced);
103
- }
104
104
  }
105
105
  exports.ExtensionWeb2 = ExtensionWeb2;
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Extension = require("./Extension.cjs");
4
- require("../common/dist/index.cjs");
5
3
  const extensionDapp = require("@polkadot/extension-dapp");
4
+ require("../common/dist/index.cjs");
5
+ const Extension = require("./Extension.cjs");
6
6
  const error = require("../common/dist/error.cjs");
7
7
  class ExtensionWeb3 extends Extension.Extension {
8
8
  async getAccount(config) {
9
9
  const { dappName, userAccountAddress: address } = config;
10
10
  if (!address) {
11
- throw new error.ProsopoError("WIDGET.NO_ACCOUNTS_FOUND", { context: { error: "No account address provided" } });
11
+ throw new error.ProsopoError("WIDGET.NO_ACCOUNTS_FOUND", {
12
+ context: { error: "No account address provided" }
13
+ });
12
14
  }
13
15
  const extensions = await extensionDapp.web3Enable(dappName);
14
16
  if (extensions.length === 0) {
@@ -4,6 +4,9 @@ function at(items, index, options) {
4
4
  if (items.length === 0) {
5
5
  throw new Error("Array is empty");
6
6
  }
7
+ if (!Number.isFinite(index)) {
8
+ throw new Error(`Index ${index} is not a finite number`);
9
+ }
7
10
  if (!options?.noWrap) {
8
11
  if (index > 0) {
9
12
  index = index % items.length;
@@ -49,22 +49,28 @@ function x64Rotl(m, n) {
49
49
  n %= 64;
50
50
  if (n === 32) {
51
51
  return [at.at(m, 1), at.at(m, 0)];
52
- } else if (n < 32) {
53
- return [at.at(m, 0) << n | at.at(m, 1) >>> 32 - n, at.at(m, 1) << n | at.at(m, 0) >>> 32 - n];
54
- } else {
55
- n -= 32;
56
- return [at.at(m, 1) << n | at.at(m, 0) >>> 32 - n, at.at(m, 0) << n | at.at(m, 1) >>> 32 - n];
57
52
  }
53
+ if (n < 32) {
54
+ return [
55
+ at.at(m, 0) << n | at.at(m, 1) >>> 32 - n,
56
+ at.at(m, 1) << n | at.at(m, 0) >>> 32 - n
57
+ ];
58
+ }
59
+ n -= 32;
60
+ return [
61
+ at.at(m, 1) << n | at.at(m, 0) >>> 32 - n,
62
+ at.at(m, 0) << n | at.at(m, 1) >>> 32 - n
63
+ ];
58
64
  }
59
65
  function x64LeftShift(m, n) {
60
66
  n %= 64;
61
67
  if (n === 0) {
62
68
  return m;
63
- } else if (n < 32) {
69
+ }
70
+ if (n < 32) {
64
71
  return [at.at(m, 0) << n | at.at(m, 1) >>> 32 - n, at.at(m, 1) << n];
65
- } else {
66
- return [at.at(m, 1) << n - 32, 0];
67
72
  }
73
+ return [at.at(m, 1) << n - 32, 0];
68
74
  }
69
75
  function x64Xor(m, n) {
70
76
  return [at.at(m, 0) ^ at.at(n, 0), at.at(m, 1) ^ at.at(n, 1)];
@@ -177,7 +183,7 @@ function x64hash128(key, seed) {
177
183
  h2 = x64Fmix(h2);
178
184
  h1 = x64Add(h1, h2);
179
185
  h2 = x64Add(h2, h1);
180
- return ("00000000" + (at.at(h1, 0) >>> 0).toString(16)).slice(-8) + ("00000000" + (at.at(h1, 1) >>> 0).toString(16)).slice(-8) + ("00000000" + (at.at(h2, 0) >>> 0).toString(16)).slice(-8) + ("00000000" + (at.at(h2, 1) >>> 0).toString(16)).slice(-8);
186
+ return `00000000${(at.at(h1, 0) >>> 0).toString(16)}`.slice(-8) + `00000000${(at.at(h1, 1) >>> 0).toString(16)}`.slice(-8) + `00000000${(at.at(h2, 0) >>> 0).toString(16)}`.slice(-8) + `00000000${(at.at(h2, 1) >>> 0).toString(16)}`.slice(-8);
181
187
  }
182
188
  function picassoCanvas(roundNumber, seed, params) {
183
189
  const { area, offsetParameter, multiplier, fontSizeFactor, maxShadowBlur } = params;
@@ -1,11 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const checks = require("./checks.cjs");
4
- const util = require("@polkadot/util");
4
+ const U8 = new Array(256);
5
+ const U16 = new Array(256 * 256);
6
+ for (let n = 0; n < 256; n++) {
7
+ U8[n] = n.toString(16).padStart(2, "0");
8
+ }
9
+ for (let i = 0; i < 256; i++) {
10
+ const s = i << 8;
11
+ for (let j = 0; j < 256; j++) {
12
+ U16[s | j] = U8[i] + U8[j];
13
+ }
14
+ }
15
+ function hex(value, result) {
16
+ const mod = value.length % 2 | 0;
17
+ const length = value.length - mod | 0;
18
+ for (let i = 0; i < length; i += 2) {
19
+ result += U16[value[i] << 8 | value[i + 1]];
20
+ }
21
+ if (mod) {
22
+ result += U8[value[length] | 0];
23
+ }
24
+ return result;
25
+ }
26
+ function u8aToHex(value, bitLength = -1, isPrefixed = true) {
27
+ const empty = isPrefixed ? "0x" : "";
28
+ if (!value?.length) {
29
+ return empty;
30
+ }
31
+ if (bitLength > 0) {
32
+ const length = Math.ceil(bitLength / 8);
33
+ if (value.length > length) {
34
+ return `${hex(value.subarray(0, length / 2), empty)}…${hex(value.subarray(value.length - length / 2), "")}`;
35
+ }
36
+ }
37
+ return hex(value, empty);
38
+ }
5
39
  const hashToHex = (hash) => {
6
40
  if (checks.isArray(hash)) {
7
- return util.u8aToHex(new Uint8Array(hash));
41
+ return u8aToHex(new Uint8Array(hash));
8
42
  }
9
43
  return hash.toString();
10
44
  };
11
45
  exports.hashToHex = hashToHex;
46
+ exports.u8aToHex = u8aToHex;
@@ -37,5 +37,6 @@ exports.choice = choice.choice;
37
37
  exports.permutations = permutations.permutations;
38
38
  exports.version = version.version;
39
39
  exports.hashToHex = hex.hashToHex;
40
+ exports.u8aToHex = hex.u8aToHex;
40
41
  exports.isArray = checks.isArray;
41
42
  exports.isObject = checks.isObject;
@@ -520,7 +520,7 @@ function ofLen(arr, len) {
520
520
  case 256:
521
521
  return arr;
522
522
  default:
523
- throw new Error("Len" + len + " type is not enumerated");
523
+ throw new Error(`Len${len} type is not enumerated`);
524
524
  }
525
525
  }
526
526
  exports.ofLen = ofLen;
@@ -9,10 +9,10 @@ function wrapItemToMultipleRows(item, maxCellWidth) {
9
9
  }
10
10
  const itemRow = {};
11
11
  const remaining = {};
12
- Object.entries(item).forEach(([key, value]) => {
12
+ for (const [key, value] of Object.entries(item)) {
13
13
  itemRow[key] = value?.slice ? value.slice(0, maxCellWidth) : value;
14
14
  remaining[key] = value?.slice ? value.slice(maxCellWidth) : value;
15
- });
15
+ }
16
16
  return [itemRow, ...wrapItemToMultipleRows(remaining, maxCellWidth)];
17
17
  }
18
18
  function consoleTableWithWrapping(data, maxColWidth = 90) {
@@ -8,7 +8,7 @@ const flatten = (obj, prefix = "") => {
8
8
  const flattenedObj = {};
9
9
  for (const [key, value] of Object.entries(obj)) {
10
10
  if (value instanceof Object) {
11
- Object.assign(flattenedObj, flatten(value, prefix + key + "."));
11
+ Object.assign(flattenedObj, flatten(value, `${prefix + key}.`));
12
12
  } else {
13
13
  flattenedObj[prefix + key] = value;
14
14
  }
@@ -1,4 +1,4 @@
1
- import { Account, ProcaptchaClientConfigOutput } from '@prosopo/types';
1
+ import type { Account, ProcaptchaClientConfigOutput } from "@prosopo/types";
2
2
  export declare abstract class Extension {
3
3
  abstract getAccount(config: ProcaptchaClientConfigOutput): Promise<Account>;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Extension.d.ts","sourceRoot":"","sources":["../../src/extension/Extension.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAKtE,8BAAsB,SAAS;aAOX,UAAU,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;CACrF"}
1
+ {"version":3,"file":"Extension.d.ts","sourceRoot":"","sources":["../../src/extension/Extension.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAK5E,8BAAsB,SAAS;aAOd,UAAU,CACzB,MAAM,EAAE,4BAA4B,GAClC,OAAO,CAAC,OAAO,CAAC;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Extension.js","sourceRoot":"","sources":["../../src/extension/Extension.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAgB,SAAS;CAQ9B"}
1
+ {"version":3,"file":"Extension.js","sourceRoot":"","sources":["../../src/extension/Extension.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAgB,SAAS;CAU9B"}
@@ -1,16 +1,15 @@
1
- import { Account, ProcaptchaClientConfigOutput } from '@prosopo/types';
2
- import { Extension } from './Extension.js';
1
+ import type { Account, ProcaptchaClientConfigOutput } from "@prosopo/types";
2
+ import { Extension } from "./Extension.js";
3
3
  export declare class ExtensionWeb2 extends Extension {
4
4
  getAccount(config: ProcaptchaClientConfigOutput): Promise<Account>;
5
5
  private createExtension;
6
6
  private createAccount;
7
- private getFingerprint;
8
7
  getNetwork: (config: ProcaptchaClientConfigOutput) => {
9
- endpoint: string[];
10
8
  contract: {
11
- address: string;
12
9
  name: string;
10
+ address: string;
13
11
  };
12
+ endpoint: string[];
14
13
  pairType: "ed25519" | "sr25519" | "ecdsa" | "ethereum";
15
14
  ss58Format: number;
16
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionWeb2.d.ts","sourceRoot":"","sources":["../../src/extension/ExtensionWeb2.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAsB1C,qBAAa,aAAc,SAAQ,SAAS;IAC3B,UAAU,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;YAajE,eAAe;YAiCf,aAAa;YAgCb,cAAc;IAW5B,UAAU,WAAY,4BAA4B;;;;;;;;MAQjD;CACJ"}
1
+ {"version":3,"file":"ExtensionWeb2.d.ts","sourceRoot":"","sources":["../../src/extension/ExtensionWeb2.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAG5E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAO3C,qBAAa,aAAc,SAAQ,SAAS;IAC9B,UAAU,CACtB,MAAM,EAAE,4BAA4B,GAClC,OAAO,CAAC,OAAO,CAAC;YAUL,eAAe;YAmCf,aAAa;IAwC3B,UAAU,WAAY,4BAA4B;;;;;;;;MAUhD;CACF"}
@@ -1,33 +1,31 @@
1
- import { ApiPromise } from '@polkadot/api/promise/Api';
2
- import { Extension } from './Extension.js';
3
- import { Keyring } from '@polkadot/keyring';
4
- import { ProsopoEnvError, hexHash } from '@prosopo/common';
5
- import { default as Signer } from '@polkadot/extension-base/page/Signer';
6
- import { WsProvider } from '@polkadot/rpc-provider/ws';
7
- import { decodeAddress, encodeAddress } from '@polkadot/util-crypto/address';
8
- import { entropyToMnemonic } from '@polkadot/util-crypto/mnemonic/bip39';
9
- import { hashComponents, load } from '@fingerprintjs/fingerprintjs';
10
- import { picassoCanvas } from '@prosopo/util';
11
- import { stringToU8a } from '@polkadot/util/string';
12
- import { u8aToHex } from '@polkadot/util/u8a';
13
- import { version } from '@prosopo/util';
1
+ import { default as Signer } from "@polkadot/extension-base/page/Signer";
2
+ import { Keyring } from "@polkadot/keyring";
3
+ import { cryptoWaitReady } from "@polkadot/util-crypto";
4
+ import { entropyToMnemonic } from "@polkadot/util-crypto/mnemonic/bip39";
5
+ import { stringToU8a } from "@polkadot/util/string";
6
+ import { u8aToHex } from "@polkadot/util/u8a";
7
+ import { ProsopoEnvError, hexHash } from "@prosopo/common";
8
+ import { getFingerprint } from "@prosopo/detector";
9
+ import { picassoCanvas } from "@prosopo/util";
10
+ import { version } from "@prosopo/util";
11
+ import { Extension } from "./Extension.js";
14
12
  export class ExtensionWeb2 extends Extension {
15
13
  constructor() {
16
14
  super(...arguments);
17
15
  this.getNetwork = (config) => {
18
16
  const network = config.networks[config.defaultNetwork];
19
17
  if (!network) {
20
- throw new ProsopoEnvError('DEVELOPER.NETWORK_NOT_FOUND', {
21
- context: { error: `No network found for environment ${config.defaultEnvironment}` },
18
+ throw new ProsopoEnvError("DEVELOPER.NETWORK_NOT_FOUND", {
19
+ context: {
20
+ error: `No network found for environment ${config.defaultEnvironment}`,
21
+ },
22
22
  });
23
23
  }
24
24
  return network;
25
25
  };
26
26
  }
27
27
  async getAccount(config) {
28
- const network = this.getNetwork(config);
29
- const wsProvider = new WsProvider(network.endpoint);
30
- const account = await this.createAccount(wsProvider);
28
+ const account = await this.createAccount(config);
31
29
  const extension = await this.createExtension(account);
32
30
  return {
33
31
  account,
@@ -56,12 +54,13 @@ export class ExtensionWeb2 extends Extension {
56
54
  };
57
55
  },
58
56
  },
59
- name: 'procaptcha-web2',
57
+ name: "procaptcha-web2",
60
58
  version,
61
59
  signer,
62
60
  };
63
61
  }
64
- async createAccount(wsProvider) {
62
+ async createAccount(config) {
63
+ await cryptoWaitReady();
65
64
  const params = {
66
65
  area: { width: 300, height: 300 },
67
66
  offsetParameter: 2001000001,
@@ -71,31 +70,23 @@ export class ExtensionWeb2 extends Extension {
71
70
  numberOfRounds: 5,
72
71
  seed: 42,
73
72
  };
74
- const browserEntropy = await this.getFingerprint();
73
+ const browserEntropy = await getFingerprint();
75
74
  const canvasEntropy = picassoCanvas(params.numberOfRounds, params.seed, params);
76
- const entropy = hexHash([canvasEntropy, browserEntropy].join(''), 128).slice(2);
75
+ const entropy = hexHash([canvasEntropy, browserEntropy].join(""), 128).slice(2);
77
76
  const u8Entropy = stringToU8a(entropy);
78
77
  const mnemonic = entropyToMnemonic(u8Entropy);
79
- const api = await ApiPromise.create({ provider: wsProvider, initWasm: false, noInitWarn: true });
80
- const type = 'ed25519';
81
- const keyring = new Keyring({ type, ss58Format: api.registry.chainSS58 });
78
+ const type = "sr25519";
79
+ const keyring = new Keyring({
80
+ type,
81
+ ss58Format: config.networks[config.defaultNetwork].ss58Format,
82
+ });
82
83
  const keypair = keyring.addFromMnemonic(mnemonic);
83
- const address = keypair.address.length === 42
84
- ? keypair.address
85
- : encodeAddress(decodeAddress(keypair.address), api.registry.chainSS58);
84
+ const address = keypair.address;
86
85
  return {
87
86
  address,
88
- type,
89
87
  name: address,
90
88
  keypair,
91
89
  };
92
90
  }
93
- async getFingerprint() {
94
- const fpPromise = load();
95
- const fp = await fpPromise;
96
- const result = await fp.get();
97
- const { screenFrame, ...componentsReduced } = result.components;
98
- return hashComponents(componentsReduced);
99
- }
100
91
  }
101
92
  //# sourceMappingURL=ExtensionWeb2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionWeb2.js","sourceRoot":"","sources":["../../src/extension/ExtensionWeb2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionWeb2.js","sourceRoot":"","sources":["../../src/extension/ExtensionWeb2.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Account, ProcaptchaClientConfigOutput } from '@prosopo/types';
2
- import { Extension } from './Extension.js';
1
+ import type { Account, ProcaptchaClientConfigOutput } from "@prosopo/types";
2
+ import { Extension } from "./Extension.js";
3
3
  export declare class ExtensionWeb3 extends Extension {
4
4
  getAccount(config: ProcaptchaClientConfigOutput): Promise<Account>;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionWeb3.d.ts","sourceRoot":"","sources":["../../src/extension/ExtensionWeb3.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAQ1C,qBAAa,aAAc,SAAQ,SAAS;IAC3B,UAAU,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;CA0BlF"}
1
+ {"version":3,"file":"ExtensionWeb3.d.ts","sourceRoot":"","sources":["../../src/extension/ExtensionWeb3.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,qBAAa,aAAc,SAAQ,SAAS;IAC9B,UAAU,CACtB,MAAM,EAAE,4BAA4B,GAClC,OAAO,CAAC,OAAO,CAAC;CA4BnB"}
@@ -1,15 +1,17 @@
1
- import { Extension } from './Extension.js';
2
- import { ProsopoError } from '@prosopo/common';
3
- import { web3Enable } from '@polkadot/extension-dapp';
1
+ import { web3Enable } from "@polkadot/extension-dapp";
2
+ import { ProsopoError } from "@prosopo/common";
3
+ import { Extension } from "./Extension.js";
4
4
  export class ExtensionWeb3 extends Extension {
5
5
  async getAccount(config) {
6
6
  const { dappName, userAccountAddress: address } = config;
7
7
  if (!address) {
8
- throw new ProsopoError('WIDGET.NO_ACCOUNTS_FOUND', { context: { error: 'No account address provided' } });
8
+ throw new ProsopoError("WIDGET.NO_ACCOUNTS_FOUND", {
9
+ context: { error: "No account address provided" },
10
+ });
9
11
  }
10
12
  const extensions = await web3Enable(dappName);
11
13
  if (extensions.length === 0) {
12
- throw new ProsopoError('WIDGET.NO_EXTENSION_FOUND');
14
+ throw new ProsopoError("WIDGET.NO_EXTENSION_FOUND");
13
15
  }
14
16
  for (const extension of extensions) {
15
17
  const accounts = await extension.accounts.get();
@@ -18,7 +20,7 @@ export class ExtensionWeb3 extends Extension {
18
20
  return { account, extension };
19
21
  }
20
22
  }
21
- throw new ProsopoError('WIDGET.ACCOUNT_NOT_FOUND', {
23
+ throw new ProsopoError("WIDGET.ACCOUNT_NOT_FOUND", {
22
24
  context: { error: `No account found matching ${address}` },
23
25
  });
24
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionWeb3.js","sourceRoot":"","sources":["../../src/extension/ExtensionWeb3.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAKrD,MAAM,OAAO,aAAc,SAAQ,SAAS;IACjC,KAAK,CAAC,UAAU,CAAC,MAAoC;QACxD,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QAExD,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,YAAY,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAA;SAC5G;QAGD,MAAM,UAAU,GAAwB,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAA;QAClE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAA;SACtD;QAGD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;YAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;YACvE,IAAI,OAAO,EAAE;gBACT,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;aAChC;SACJ;QAED,MAAM,IAAI,YAAY,CAAC,0BAA0B,EAAE;YAC/C,OAAO,EAAE,EAAE,KAAK,EAAE,6BAA6B,OAAO,EAAE,EAAE;SAC7D,CAAC,CAAA;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"ExtensionWeb3.js","sourceRoot":"","sources":["../../src/extension/ExtensionWeb3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAe/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,MAAM,OAAO,aAAc,SAAQ,SAAS;IACpC,KAAK,CAAC,UAAU,CACtB,MAAoC;QAEpC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEzD,IAAI,CAAC,OAAO,EAAE;YACb,MAAM,IAAI,YAAY,CAAC,0BAA0B,EAAE;gBAClD,OAAO,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE;aACjD,CAAC,CAAC;SACH;QAGD,MAAM,UAAU,GAAwB,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;SACpD;QAGD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YACnC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YACxE,IAAI,OAAO,EAAE;gBACZ,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;aAC9B;SACD;QAED,MAAM,IAAI,YAAY,CAAC,0BAA0B,EAAE;YAClD,OAAO,EAAE,EAAE,KAAK,EAAE,6BAA6B,OAAO,EAAE,EAAE;SAC1D,CAAC,CAAC;IACJ,CAAC;CACD"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from './extension/Extension.js';
2
- export * from './extension/ExtensionWeb2.js';
3
- export * from './extension/ExtensionWeb3.js';
1
+ export * from "./extension/Extension.js";
2
+ export * from "./extension/ExtensionWeb2.js";
3
+ export * from "./extension/ExtensionWeb3.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export * from './extension/Extension.js';
2
- export * from './extension/ExtensionWeb2.js';
3
- export * from './extension/ExtensionWeb3.js';
1
+ export * from "./extension/Extension.js";
2
+ export * from "./extension/ExtensionWeb2.js";
3
+ export * from "./extension/ExtensionWeb3.js";
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}