@prosopo/procaptcha 0.1.8 → 0.1.9

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 (98) hide show
  1. package/.eslintrc.js +20 -4
  2. package/dist/api/AccountCreator.d.ts +6 -3
  3. package/dist/api/AccountCreator.d.ts.map +1 -1
  4. package/dist/api/AccountCreator.js +40 -10
  5. package/dist/api/AccountCreator.js.map +1 -1
  6. package/dist/api/AsyncFactory.d.ts +7 -0
  7. package/dist/api/AsyncFactory.d.ts.map +1 -0
  8. package/dist/api/AsyncFactory.js +30 -0
  9. package/dist/api/AsyncFactory.js.map +1 -0
  10. package/dist/api/ExtensionWeb2.d.ts +4 -1
  11. package/dist/api/ExtensionWeb2.d.ts.map +1 -1
  12. package/dist/api/ExtensionWeb2.js +6 -2
  13. package/dist/api/ExtensionWeb2.js.map +1 -1
  14. package/dist/api/ExtensionWeb3.d.ts +2 -1
  15. package/dist/api/ExtensionWeb3.d.ts.map +1 -1
  16. package/dist/api/ExtensionWeb3.js +4 -2
  17. package/dist/api/ExtensionWeb3.js.map +1 -1
  18. package/dist/api/HttpClientBase.d.ts +9 -0
  19. package/dist/api/HttpClientBase.d.ts.map +1 -0
  20. package/dist/api/HttpClientBase.js +36 -0
  21. package/dist/api/HttpClientBase.js.map +1 -0
  22. package/dist/api/ProsopoContract.d.ts +13 -0
  23. package/dist/api/ProsopoContract.d.ts.map +1 -0
  24. package/dist/api/ProsopoContract.js +38 -0
  25. package/dist/api/ProsopoContract.js.map +1 -0
  26. package/dist/api/ProsopoContractBase.d.ts +32 -0
  27. package/dist/api/ProsopoContractBase.d.ts.map +1 -0
  28. package/dist/api/ProsopoContractBase.js +132 -0
  29. package/dist/api/ProsopoContractBase.js.map +1 -0
  30. package/dist/api/ProviderApi.d.ts +14 -0
  31. package/dist/api/ProviderApi.d.ts.map +1 -0
  32. package/dist/api/ProviderApi.js +53 -0
  33. package/dist/api/ProviderApi.js.map +1 -0
  34. package/dist/api/handlers.d.ts +5 -0
  35. package/dist/api/handlers.d.ts.map +1 -0
  36. package/dist/api/handlers.js +21 -0
  37. package/dist/api/handlers.js.map +1 -0
  38. package/dist/api/index.d.ts +8 -0
  39. package/dist/api/index.d.ts.map +1 -0
  40. package/dist/api/index.js +26 -0
  41. package/dist/api/index.js.map +1 -0
  42. package/dist/index.d.ts +4 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +22 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/modules/ProsopoCaptchaApi.d.ts +21 -0
  47. package/dist/modules/ProsopoCaptchaApi.d.ts.map +1 -0
  48. package/dist/modules/ProsopoCaptchaApi.js +120 -0
  49. package/dist/modules/ProsopoCaptchaApi.js.map +1 -0
  50. package/dist/modules/ProsopoCaptchaClient.d.ts +26 -0
  51. package/dist/modules/ProsopoCaptchaClient.d.ts.map +1 -0
  52. package/dist/modules/ProsopoCaptchaClient.js +112 -0
  53. package/dist/modules/ProsopoCaptchaClient.js.map +1 -0
  54. package/dist/modules/ProsopoCaptchaStateClient.d.ts +18 -0
  55. package/dist/modules/ProsopoCaptchaStateClient.d.ts.map +1 -0
  56. package/dist/modules/ProsopoCaptchaStateClient.js +111 -0
  57. package/dist/modules/ProsopoCaptchaStateClient.js.map +1 -0
  58. package/dist/modules/canvas.d.ts +2 -0
  59. package/dist/modules/canvas.d.ts.map +1 -0
  60. package/dist/modules/canvas.js +286 -0
  61. package/dist/modules/canvas.js.map +1 -0
  62. package/dist/modules/client.d.ts +9 -0
  63. package/dist/modules/client.d.ts.map +1 -0
  64. package/dist/modules/client.js +40 -0
  65. package/dist/modules/client.js.map +1 -0
  66. package/dist/modules/contract.d.ts +7 -0
  67. package/dist/modules/contract.d.ts.map +1 -0
  68. package/dist/modules/contract.js +42 -0
  69. package/dist/modules/contract.js.map +1 -0
  70. package/dist/modules/extension.d.ts +4 -0
  71. package/dist/modules/extension.d.ts.map +1 -0
  72. package/dist/modules/extension.js +31 -0
  73. package/dist/modules/extension.js.map +1 -0
  74. package/dist/modules/index.d.ts +8 -0
  75. package/dist/modules/index.d.ts.map +1 -0
  76. package/dist/modules/index.js +26 -0
  77. package/dist/modules/index.js.map +1 -0
  78. package/dist/modules/storage.d.ts +14 -0
  79. package/dist/modules/storage.d.ts.map +1 -0
  80. package/dist/modules/storage.js +35 -0
  81. package/dist/modules/storage.js.map +1 -0
  82. package/dist/types/api.d.ts +53 -0
  83. package/dist/types/api.d.ts.map +1 -0
  84. package/dist/types/api.js +22 -0
  85. package/dist/types/api.js.map +1 -0
  86. package/dist/types/client.d.ts +61 -0
  87. package/dist/types/client.d.ts.map +1 -0
  88. package/dist/types/client.js +3 -0
  89. package/dist/types/client.js.map +1 -0
  90. package/dist/types/contract.d.ts +5 -0
  91. package/dist/types/contract.d.ts.map +1 -0
  92. package/dist/types/contract.js +3 -0
  93. package/dist/types/contract.js.map +1 -0
  94. package/dist/types/index.d.ts +4 -0
  95. package/dist/types/index.d.ts.map +1 -0
  96. package/dist/types/index.js +22 -0
  97. package/dist/types/index.js.map +1 -0
  98. package/package.json +8 -6
package/.eslintrc.js CHANGED
@@ -12,10 +12,26 @@ module.exports = {
12
12
  "ecmaVersion": "latest",
13
13
  "sourceType": "module"
14
14
  },
15
- "plugins": [
16
- "@typescript-eslint"
17
- ],
15
+
16
+ "plugins": ["unused-imports", "@typescript-eslint"],
18
17
  "rules": {
18
+ "no-unused-vars": "off",
19
+ "unused-imports/no-unused-imports": "error",
20
+ "unused-imports/no-unused-vars": [
21
+ "warn",
22
+ {
23
+ "vars": "all",
24
+ "varsIgnorePattern": "^_",
25
+ "args": "after-used",
26
+ "argsIgnorePattern": "^_"
27
+ }
28
+ ],
19
29
  "indent": ["error", 4],
20
- }
30
+ "sort-imports": [
31
+ "error",
32
+ {
33
+ "ignoreDeclarationSort": true
34
+ }
35
+ ]
36
+ },
21
37
  }
@@ -2,15 +2,18 @@ import { ApiPromise } from "@polkadot/api";
2
2
  import { InjectedAccountWithMeta } from "@polkadot/extension-inject/types";
3
3
  import AsyncFactory from "./AsyncFactory";
4
4
  import { Keyring } from "@polkadot/keyring";
5
- import { KeyringPair } from "@polkadot/keyring/types";
6
5
  import { ProviderInterface } from "@polkadot/rpc-provider/types";
6
+ import { AccountCreatorConfig } from "../types/index";
7
7
  export declare class AccountCreator extends AsyncFactory {
8
8
  protected api: ApiPromise;
9
+ protected config: AccountCreatorConfig;
10
+ protected source: string;
9
11
  /**
10
12
  * @param providerInterface
13
+ * @param config
11
14
  */
12
- init(providerInterface: ProviderInterface): Promise<this>;
13
- generateMnemonic(keyring: Keyring): Promise<KeyringPair>;
15
+ init(providerInterface: ProviderInterface, config: AccountCreatorConfig, source: string): Promise<this>;
14
16
  createAccount(keyring?: Keyring, address?: string): Promise<InjectedAccountWithMeta>;
17
+ getFingerprint(): Promise<string>;
15
18
  }
16
19
  //# sourceMappingURL=AccountCreator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccountCreator.d.ts","sourceRoot":"","sources":["../../src/api/AccountCreator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,uBAAuB,EAAC,MAAM,kCAAkC,CAAC;AACzE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAA+B,OAAO,EAAC,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,qBAAa,cAAe,SAAQ,YAAY;IAE5C,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACU,IAAI,CAAC,iBAAiB,EAAE,iBAAiB;IAKzC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAMxD,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAuBpG"}
1
+ {"version":3,"file":"AccountCreator.d.ts","sourceRoot":"","sources":["../../src/api/AccountCreator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,uBAAuB,EAAC,MAAM,kCAAkC,CAAC;AACzE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,OAAO,EAA+B,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAK/D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAGpD,qBAAa,cAAe,SAAQ,YAAY;IAE5C,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC;IAC1B,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACvC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACU,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM;IAOvF,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAsCpF,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;CAUjD"}
@@ -21,38 +21,68 @@ const api_1 = require("@polkadot/api");
21
21
  const AsyncFactory_1 = tslib_1.__importDefault(require("./AsyncFactory"));
22
22
  const keyring_1 = require("@polkadot/keyring");
23
23
  const util_crypto_1 = require("@polkadot/util-crypto");
24
+ const fingerprintjs_1 = tslib_1.__importStar(require("@fingerprintjs/fingerprintjs"));
25
+ const bip39_1 = require("@polkadot/util-crypto/mnemonic/bip39");
26
+ const util_1 = require("@polkadot/util");
27
+ const canvas_1 = require("../modules/canvas");
28
+ const datasets_1 = require("@prosopo/datasets");
24
29
  class AccountCreator extends AsyncFactory_1.default {
25
30
  api;
31
+ config;
32
+ source;
26
33
  /**
27
34
  * @param providerInterface
35
+ * @param config
28
36
  */
29
- async init(providerInterface) {
37
+ async init(providerInterface, config, source) {
30
38
  this.api = await api_1.ApiPromise.create({ provider: providerInterface });
39
+ this.source = source;
40
+ this.config = config;
31
41
  return this;
32
42
  }
33
- async generateMnemonic(keyring) {
34
- await (0, util_crypto_1.cryptoWaitReady)();
35
- const mnemonic = (0, util_crypto_1.mnemonicGenerate)();
36
- return keyring.addFromMnemonic(mnemonic);
37
- }
38
43
  async createAccount(keyring, address) {
39
- const source = 'procaptcha';
44
+ const params = {
45
+ area: this.config.area,
46
+ offsetParameter: this.config.offsetParameter,
47
+ multiplier: this.config.multiplier,
48
+ fontSizeFactor: this.config.fontSizeFactor,
49
+ maxShadowBlur: this.config.maxShadowBlur
50
+ };
51
+ const browserEntropy = await this.getFingerprint();
52
+ const canvasEntropy = (0, canvas_1.picassoCanvas)(this.config.numberOfRounds, this.config.seed, params);
53
+ const entropy = (0, datasets_1.hexHash)([canvasEntropy, browserEntropy].join(""), 128).slice(2);
54
+ console.log("canvas entropy", canvasEntropy);
55
+ console.log("browserEntropy", browserEntropy);
56
+ console.log("entropy", entropy);
57
+ const u8Entropy = (0, util_1.stringToU8a)(entropy);
58
+ const mnemonic = (0, bip39_1.entropyToMnemonic)(u8Entropy);
40
59
  if (!keyring) {
41
60
  keyring = new keyring_1.Keyring({ type: 'sr25519', ss58Format: this.api.registry.chainSS58 });
42
61
  }
62
+ await (0, util_crypto_1.cryptoWaitReady)();
43
63
  if (address) {
44
- return { address: address, meta: { source, name: address } };
64
+ return { address: address, meta: { source: this.source, name: address } };
45
65
  }
46
66
  else {
47
- const account = await this.generateMnemonic(keyring);
67
+ const account = keyring?.addFromMnemonic(mnemonic);
48
68
  return {
49
69
  address: account.address.length === 42
50
70
  ? account.address
51
71
  : (0, keyring_1.encodeAddress)((0, keyring_1.decodeAddress)(account.address), this.api.registry.chainSS58),
52
- meta: { source, name: account.address },
72
+ meta: { source: this.source, name: account.address },
53
73
  };
54
74
  }
55
75
  }
76
+ async getFingerprint() {
77
+ // Initialize an agent at application startup.
78
+ const fpPromise = fingerprintjs_1.default.load();
79
+ // Get the visitor identifier when you need it.
80
+ const fp = await fpPromise;
81
+ const result = await fp.get();
82
+ // strip out the components that change in incognito mode
83
+ const { screenFrame, ...componentsReduced } = result.components;
84
+ return (0, fingerprintjs_1.hashComponents)(componentsReduced);
85
+ }
56
86
  }
57
87
  exports.AccountCreator = AccountCreator;
58
88
  //# sourceMappingURL=AccountCreator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccountCreator.js","sourceRoot":"","sources":["../../src/api/AccountCreator.ts"],"names":[],"mappings":";;;;AAAA,4CAA4C;AAC5C,2EAA2E;AAC3E,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,gEAAgE;AAChE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,sEAAsE;AACtE,uCAAyC;AAEzC,0EAA0C;AAC1C,+CAAwE;AAExE,uDAAwE;AAGxE,MAAa,cAAe,SAAQ,sBAAY;IAElC,GAAG,CAAa;IAE1B;;OAEG;IACI,KAAK,CAAC,IAAI,CAAC,iBAAoC;QAClD,IAAI,CAAC,GAAG,GAAG,MAAM,gBAAU,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAE,iBAAiB,EAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QAC1C,MAAM,IAAA,6BAAe,GAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAA,8BAAgB,GAAE,CAAC;QACpC,OAAO,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAiB,EAAE,OAAgB;QAC1D,MAAM,MAAM,GAAG,YAAY,CAAC;QAE5B,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAC,CAAC,CAAC;SACrF;QAGD,IAAI,OAAO,EAAE;YACT,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,EAAC,CAAA;SAC3D;aAAM;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACrD,OAAO;gBACH,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE;oBAClC,CAAC,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC,IAAA,uBAAa,EAAC,IAAA,uBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChF,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAC;aACxC,CAAA;SACJ;IAGL,CAAC;CAEJ;AAzCD,wCAyCC"}
1
+ {"version":3,"file":"AccountCreator.js","sourceRoot":"","sources":["../../src/api/AccountCreator.ts"],"names":[],"mappings":";;;;AAAA,4CAA4C;AAC5C,2EAA2E;AAC3E,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,gEAAgE;AAChE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,sEAAsE;AACtE,uCAAyC;AAEzC,0EAA0C;AAC1C,+CAAwE;AACxE,uDAAsD;AAEtD,sFAA0E;AAC1E,gEAAuE;AACvE,yCAA2C;AAC3C,8CAAgD;AAEhD,gDAA0C;AAE1C,MAAa,cAAe,SAAQ,sBAAY;IAElC,GAAG,CAAa;IAChB,MAAM,CAAuB;IAC7B,MAAM,CAAS;IAEzB;;;OAGG;IACI,KAAK,CAAC,IAAI,CAAC,iBAAoC,EAAE,MAA4B,EAAE,MAAc;QAChG,IAAI,CAAC,GAAG,GAAG,MAAM,gBAAU,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAE,iBAAiB,EAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAiB,EAAE,OAAgB;QAC1D,MAAM,MAAM,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;YAC5C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YAC1C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SAC3C,CAAA;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,IAAA,kBAAO,EAAC,CAAC,aAAa,EAAG,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;QAC7C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC/B,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAA,yBAAiB,EAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAC,CAAC,CAAC;SACrF;QAED,MAAM,IAAA,6BAAe,GAAE,CAAA;QACvB,IAAI,OAAO,EAAE;YACT,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,EAAC,CAAA;SACxE;aAAM;YACH,MAAM,OAAO,GAAG,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;YACnD,OAAO;gBACH,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE;oBAClC,CAAC,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC,IAAA,uBAAa,EAAC,IAAA,uBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChF,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAC;aACrD,CAAA;SACJ;IAGL,CAAC;IAEM,KAAK,CAAC,cAAc;QACvB,8CAA8C;QAC9C,MAAM,SAAS,GAAG,uBAAa,CAAC,IAAI,EAAE,CAAA;QACtC,+CAA+C;QAC/C,MAAM,EAAE,GAAG,MAAM,SAAS,CAAA;QAC1B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;QAC7B,yDAAyD;QACzD,MAAM,EAAC,WAAW,EAAE,GAAG,iBAAiB,EAAC,GAAG,MAAM,CAAC,UAAU,CAAA;QAC7D,OAAO,IAAA,8BAAc,EAAC,iBAAiB,CAAC,CAAA;IAC5C,CAAC;CACJ;AAjED,wCAiEC"}
@@ -0,0 +1,7 @@
1
+ export declare abstract class AsyncFactory {
2
+ constructor();
3
+ static create(...args: any[]): Promise<any>;
4
+ abstract init(...args: any[]): Promise<this>;
5
+ }
6
+ export default AsyncFactory;
7
+ //# sourceMappingURL=AsyncFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncFactory.d.ts","sourceRoot":"","sources":["../../src/api/AsyncFactory.ts"],"names":[],"mappings":"AAiBA,8BAAsB,YAAY;;WAMV,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;aAIzB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAEtD;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AsyncFactory = void 0;
4
+ // Copyright (C) 2021-2022 Prosopo (UK) Ltd.
5
+ // This file is part of procaptcha <https://github.com/prosopo/procaptcha>.
6
+ //
7
+ // procaptcha is free software: you can redistribute it and/or modify
8
+ // it under the terms of the GNU General Public License as published by
9
+ // the Free Software Foundation, either version 3 of the License, or
10
+ // (at your option) any later version.
11
+ //
12
+ // procaptcha is distributed in the hope that it will be useful,
13
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ // GNU General Public License for more details.
16
+ //
17
+ // You should have received a copy of the GNU General Public License
18
+ // along with procaptcha. If not, see <http://www.gnu.org/licenses/>.
19
+ const contract_1 = require("@prosopo/contract");
20
+ class AsyncFactory {
21
+ constructor() {
22
+ throw new contract_1.ProsopoEnvError("GENERAL.ASYNC_FACTORY_CREATE");
23
+ }
24
+ static async create(...args) {
25
+ return await Object.create(this.prototype).init(...args);
26
+ }
27
+ }
28
+ exports.AsyncFactory = AsyncFactory;
29
+ exports.default = AsyncFactory;
30
+ //# sourceMappingURL=AsyncFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncFactory.js","sourceRoot":"","sources":["../../src/api/AsyncFactory.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,2EAA2E;AAC3E,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,gEAAgE;AAChE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,sEAAsE;AACtE,gDAAkD;AAElD,MAAsB,YAAY;IAE9B;QACI,MAAM,IAAI,0BAAe,CAAC,8BAA8B,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAW;QACrC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;CAIJ;AAZD,oCAYC;AAED,kBAAe,YAAY,CAAC"}
@@ -2,12 +2,15 @@ import { InjectedAccountWithMeta, InjectedExtension } from "@polkadot/extension-
2
2
  import { IExtensionInterface } from "../types/client";
3
3
  import AsyncFactory from "./AsyncFactory";
4
4
  import { WsProvider } from "@polkadot/rpc-provider";
5
+ import { AccountCreatorConfig } from "../types/index";
5
6
  export declare class ExtensionWeb2 extends AsyncFactory implements IExtensionInterface {
6
7
  private extension?;
7
8
  private account;
8
9
  private accounts;
10
+ protected source: string;
11
+ protected accountCreatorConfig: AccountCreatorConfig;
9
12
  protected wsProvider: WsProvider;
10
- init(wsProvider: WsProvider): Promise<this>;
13
+ init(wsProvider: WsProvider, accountCreatorConfig: AccountCreatorConfig, source: string): Promise<this>;
11
14
  checkExtension(): Promise<void>;
12
15
  getExtension(): InjectedExtension | undefined;
13
16
  private setExtension;
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionWeb2.d.ts","sourceRoot":"","sources":["../../src/api/ExtensionWeb2.ts"],"names":[],"mappings":"AAeA,OAAO,EAEH,uBAAuB,EACvB,iBAAiB,EAEpB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAMlD,qBAAa,aAAc,SAAQ,YAAa,YAAW,mBAAmB;IAE1E,OAAO,CAAC,SAAS,CAAC,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAA4B;IAE5C,SAAS,CAAC,UAAU,EAAE,UAAU,CAAA;IAEnB,IAAI,CAAC,UAAU,EAAE,UAAU;IAM3B,cAAc;IAIpB,YAAY;YAIL,YAAY;IA8BnB,WAAW;YAIJ,WAAW;IASlB,UAAU;IAIV,UAAU,CAAC,OAAO,EAAE,MAAM;IAc1B,YAAY;IAKZ,iBAAiB;IAKjB,iBAAiB;IAOX,aAAa;CAS7B;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ExtensionWeb2.d.ts","sourceRoot":"","sources":["../../src/api/ExtensionWeb2.ts"],"names":[],"mappings":"AAeA,OAAO,EACH,uBAAuB,EACvB,iBAAiB,EACpB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAKlD,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAEpD,qBAAa,aAAc,SAAQ,YAAa,YAAW,mBAAmB;IAE1E,OAAO,CAAC,SAAS,CAAC,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAA4B;IAE5C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;IACpD,SAAS,CAAC,UAAU,EAAE,UAAU,CAAA;IAEnB,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM;IAQvF,cAAc;IAIpB,YAAY;YAIL,YAAY;IA8BnB,WAAW;YAIJ,WAAW;IASlB,UAAU;IAIV,UAAU,CAAC,OAAO,EAAE,MAAM;IAc1B,YAAY;IAKZ,iBAAiB;IAKjB,iBAAiB;IAOX,aAAa;CAS7B;AAED,eAAe,aAAa,CAAC"}
@@ -11,10 +11,14 @@ class ExtensionWeb2 extends AsyncFactory_1.default {
11
11
  extension;
12
12
  account;
13
13
  accounts;
14
+ source;
15
+ accountCreatorConfig;
14
16
  wsProvider;
15
- async init(wsProvider) {
17
+ async init(wsProvider, accountCreatorConfig, source) {
18
+ this.source = source;
16
19
  await this.setExtension();
17
20
  this.wsProvider = wsProvider;
21
+ this.accountCreatorConfig = accountCreatorConfig;
18
22
  return this;
19
23
  }
20
24
  async checkExtension() {
@@ -89,7 +93,7 @@ class ExtensionWeb2 extends AsyncFactory_1.default {
89
93
  }
90
94
  }
91
95
  async createAccount() {
92
- const accountCreator = await AccountCreator_1.AccountCreator.create(this.wsProvider);
96
+ const accountCreator = await AccountCreator_1.AccountCreator.create(this.wsProvider, this.accountCreatorConfig, this.source);
93
97
  const storedAccount = storage_1.default.getAccount();
94
98
  const account = await accountCreator.createAccount(undefined, storedAccount);
95
99
  await this.setAccounts([account]);
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionWeb2.js","sourceRoot":"","sources":["../../src/api/ExtensionWeb2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionWeb2.js","sourceRoot":"","sources":["../../src/api/ExtensionWeb2.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@ export declare class ExtensionWeb3 extends AsyncFactory implements IExtensionInt
9
9
  private account;
10
10
  private accounts;
11
11
  private injectedExtensions;
12
- init(): Promise<this>;
12
+ private source;
13
+ init(source: string): Promise<this>;
13
14
  checkExtension(): Promise<void>;
14
15
  /**
15
16
  * Get the extension for the selected account.
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionWeb3.d.ts","sourceRoot":"","sources":["../../src/api/ExtensionWeb3.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAE7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAa,YAAW,mBAAmB;IAG1E,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,OAAO,CAAC,OAAO,CAAsC;IAErD,OAAO,CAAC,QAAQ,CAA4B;IAE5C,OAAO,CAAC,kBAAkB,CAAsB;IAEnC,IAAI;IAOJ,cAAc;IAW3B;;;OAGG;IACI,YAAY;IAInB;;OAEG;YACW,YAAY;IAY1B;;;OAGG;IACI,WAAW;IAIlB;;OAEG;YACW,WAAW;IAczB;;;OAGG;IACI,UAAU;IAIjB;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM;IAY1B,YAAY;IAMnB;;;OAGG;IACI,iBAAiB;IAKxB;;OAEG;IACI,iBAAiB;IAOX,aAAa;CAY7B;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ExtensionWeb3.d.ts","sourceRoot":"","sources":["../../src/api/ExtensionWeb3.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAE7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAa,YAAW,mBAAmB;IAG1E,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,OAAO,CAAC,OAAO,CAAsC;IAErD,OAAO,CAAC,QAAQ,CAA4B;IAE5C,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,MAAM,CAAQ;IAET,IAAI,CAAC,MAAM,EAAE,MAAM;IAQnB,cAAc;IAW3B;;;OAGG;IACI,YAAY;IAInB;;OAEG;YACW,YAAY;IAY1B;;;OAGG;IACI,WAAW;IAIlB;;OAEG;YACW,WAAW;IAczB;;;OAGG;IACI,UAAU;IAIjB;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM;IAY1B,YAAY;IAMnB;;;OAGG;IACI,iBAAiB;IAKxB;;OAEG;IACI,iBAAiB;IAOX,aAAa;CAY7B;AAED,eAAe,aAAa,CAAC"}
@@ -33,7 +33,9 @@ class ExtensionWeb3 extends AsyncFactory_1.default {
33
33
  accounts;
34
34
  // the discovered extensions
35
35
  injectedExtensions;
36
- async init() {
36
+ source;
37
+ async init(source) {
38
+ this.source = source;
37
39
  await this.checkExtension();
38
40
  await this.setAccounts();
39
41
  await this.setExtension();
@@ -41,7 +43,7 @@ class ExtensionWeb3 extends AsyncFactory_1.default {
41
43
  }
42
44
  async checkExtension() {
43
45
  try {
44
- this.injectedExtensions = await (0, extension_dapp_1.web3Enable)('Prosopo');
46
+ this.injectedExtensions = await (0, extension_dapp_1.web3Enable)(this.source);
45
47
  }
46
48
  catch (err) {
47
49
  throw new contract_1.ProsopoEnvError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionWeb3.js","sourceRoot":"","sources":["../../src/api/ExtensionWeb3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionWeb3.js","sourceRoot":"","sources":["../../src/api/ExtensionWeb3.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { AxiosInstance, AxiosResponse } from "axios";
2
+ export declare class HttpClientBase {
3
+ protected readonly axios: AxiosInstance;
4
+ constructor(baseURL: string, prefix?: string);
5
+ protected responseHandler: (response: AxiosResponse) => any;
6
+ protected errorHandler: (error: any) => Promise<never>;
7
+ }
8
+ export default HttpClientBase;
9
+ //# sourceMappingURL=HttpClientBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpClientBase.d.ts","sourceRoot":"","sources":["../../src/api/HttpClientBase.ts"],"names":[],"mappings":"AAeA,OAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE5D,qBAAa,cAAc;IAEvB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;gBAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,SAAK;IAMxC,SAAS,CAAC,eAAe,aAAc,aAAa,SAGnD;IAED,SAAS,CAAC,YAAY,UAAW,GAAG,oBAAoC;CAE3E;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpClientBase = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Copyright (C) 2021-2022 Prosopo (UK) Ltd.
6
+ // This file is part of procaptcha <https://github.com/prosopo/procaptcha>.
7
+ //
8
+ // procaptcha is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+ //
13
+ // procaptcha is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+ //
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with procaptcha. If not, see <http://www.gnu.org/licenses/>.
20
+ const axios_1 = tslib_1.__importDefault(require("axios"));
21
+ class HttpClientBase {
22
+ axios;
23
+ constructor(baseURL, prefix = "") {
24
+ baseURL = baseURL + prefix;
25
+ this.axios = axios_1.default.create({ baseURL });
26
+ this.axios.interceptors.response.use(this.responseHandler, this.errorHandler);
27
+ }
28
+ responseHandler = (response) => {
29
+ console.log("API REQUEST", response.request);
30
+ return response.data;
31
+ };
32
+ errorHandler = (error) => Promise.reject(error.response);
33
+ }
34
+ exports.HttpClientBase = HttpClientBase;
35
+ exports.default = HttpClientBase;
36
+ //# sourceMappingURL=HttpClientBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpClientBase.js","sourceRoot":"","sources":["../../src/api/HttpClientBase.ts"],"names":[],"mappings":";;;;AAAA,4CAA4C;AAC5C,2EAA2E;AAC3E,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,gEAAgE;AAChE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,sEAAsE;AACtE,0DAA4D;AAE5D,MAAa,cAAc;IAEJ,KAAK,CAAgB;IAExC,YAAY,OAAe,EAAE,MAAM,GAAG,EAAE;QACpC,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,eAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAClF,CAAC;IAES,eAAe,GAAG,CAAC,QAAuB,EAAE,EAAE;QACpD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC,CAAA;IAES,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;CAE3E;AAjBD,wCAiBC;AAED,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,13 @@
1
+ import ProsopoContractBase from "./ProsopoContractBase";
2
+ import { Signer } from '@polkadot/api/types';
3
+ import { ProsopoDappOperatorIsHumanUserResponse, TransactionResponse } from '../types';
4
+ import { ProsopoRandomProviderResponse } from "../types";
5
+ import { CaptchaSolutionCommitment } from "@prosopo/datasets";
6
+ export declare class ProsopoContract extends ProsopoContractBase {
7
+ getRandomProvider(): Promise<ProsopoRandomProviderResponse>;
8
+ getCaptchaSolutionCommitment(commitmentId: string): Promise<CaptchaSolutionCommitment>;
9
+ dappUserCommit(signer: Signer, captchaDatasetId: string, userMerkleTreeRoot: string, providerAddress: string): Promise<TransactionResponse>;
10
+ dappOperatorIsHumanUser(solutionThreshold: number): Promise<ProsopoDappOperatorIsHumanUserResponse>;
11
+ }
12
+ export default ProsopoContract;
13
+ //# sourceMappingURL=ProsopoContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProsopoContract.d.ts","sourceRoot":"","sources":["../../src/api/ProsopoContract.ts"],"names":[],"mappings":"AAgBA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,sCAAsC,EAAE,mBAAmB,EAAC,MAAM,UAAU,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,qBAAa,eAAgB,SAAQ,mBAAmB;IAEvC,iBAAiB,IAAI,OAAO,CAAC,6BAA6B,CAAC;IAI3D,4BAA4B,CAAC,YAAY,EAAE,MAAM;IAIjD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI3I,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,sCAAsC,CAAC;CAOnH;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProsopoContract = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Copyright (C) 2021-2022 Prosopo (UK) Ltd.
6
+ // This file is part of procaptcha <https://github.com/prosopo/procaptcha>.
7
+ //
8
+ // procaptcha is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+ //
13
+ // procaptcha is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+ //
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with procaptcha. If not, see <http://www.gnu.org/licenses/>.
20
+ // import {Hash} from '@polkadot/types/interfaces';
21
+ const ProsopoContractBase_1 = tslib_1.__importDefault(require("./ProsopoContractBase"));
22
+ class ProsopoContract extends ProsopoContractBase_1.default {
23
+ async getRandomProvider() {
24
+ return await this.query('getRandomActiveProvider', [this.account.address, this.dappAddress]);
25
+ }
26
+ async getCaptchaSolutionCommitment(commitmentId) {
27
+ return await this.query('getCaptchaSolutionCommitment', [commitmentId]);
28
+ }
29
+ async dappUserCommit(signer, captchaDatasetId, userMerkleTreeRoot, providerAddress) {
30
+ return await this.transaction(signer, 'dappUserCommit', [this.dappAddress, captchaDatasetId, userMerkleTreeRoot, providerAddress]);
31
+ }
32
+ async dappOperatorIsHumanUser(solutionThreshold) {
33
+ return await this.query('dappOperatorIsHumanUser', [this.account.address, solutionThreshold]);
34
+ }
35
+ }
36
+ exports.ProsopoContract = ProsopoContract;
37
+ exports.default = ProsopoContract;
38
+ //# sourceMappingURL=ProsopoContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProsopoContract.js","sourceRoot":"","sources":["../../src/api/ProsopoContract.ts"],"names":[],"mappings":";;;;AAAA,4CAA4C;AAC5C,2EAA2E;AAC3E,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,gEAAgE;AAChE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,sEAAsE;AACtE,mDAAmD;AACnD,wFAAwD;AAMxD,MAAa,eAAgB,SAAQ,6BAAmB;IAE7C,KAAK,CAAC,iBAAiB;QAC1B,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAkC,CAAC;IAClI,CAAC;IAEM,KAAK,CAAC,4BAA4B,CAAC,YAAoB;QAC1D,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,YAAY,CAAC,CAA8B,CAAC;IACzG,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,gBAAwB,EAAE,kBAA0B,EAAE,eAAuB;QACrH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAC;IACvI,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,iBAAyB;QAE1D,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAA2C,CAAC;IAC5I,CAAC;CAIJ;AArBD,0CAqBC;AAED,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { ApiPromise } from "@polkadot/api";
2
+ import { Abi, ContractPromise } from "@polkadot/api-contract";
3
+ import { InjectedAccountWithMeta } from "@polkadot/extension-inject/types";
4
+ import { AnyJson } from "@polkadot/types/types/codec";
5
+ import { ProviderInterface } from "@polkadot/rpc-provider/types";
6
+ import { Signer } from "@polkadot/api/types";
7
+ import { TransactionResponse } from '../types';
8
+ import AsyncFactory from "./AsyncFactory";
9
+ export declare class ProsopoContractBase extends AsyncFactory {
10
+ protected api: ApiPromise;
11
+ protected abi: Abi;
12
+ protected contract: ContractPromise;
13
+ protected account: InjectedAccountWithMeta;
14
+ protected dappAddress: string;
15
+ address: string;
16
+ /**
17
+ * @param address
18
+ * @param dappAddress
19
+ * @param account
20
+ * @param providerInterface
21
+ */
22
+ init(address: string, dappAddress: string, account: InjectedAccountWithMeta, providerInterface: ProviderInterface): Promise<this>;
23
+ getApi(): ApiPromise;
24
+ getContract(): ContractPromise;
25
+ getAccount(): InjectedAccountWithMeta;
26
+ getDappAddress(): string;
27
+ disconnect(): Promise<void>;
28
+ query<T>(method: string, args: any[]): Promise<T | AnyJson | null>;
29
+ transaction(signer: Signer, method: string, args: any[]): Promise<TransactionResponse>;
30
+ }
31
+ export default ProsopoContractBase;
32
+ //# sourceMappingURL=ProsopoContractBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProsopoContractBase.d.ts","sourceRoot":"","sources":["../../src/api/ProsopoContractBase.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAqB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,qBAAa,mBAAoB,SAAQ,YAAY;IAEjD,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC;IAC1B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC3C,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAEvB,OAAO,EAAE,MAAM,CAAC;IAEvB;;;;;KAKC;IACY,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,iBAAiB;IAUvH,MAAM,IAAI,UAAU;IAIpB,WAAW,IAAI,eAAe;IAI9B,UAAU,IAAI,uBAAuB;IAIrC,cAAc,IAAI,MAAM;IAIlB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IA0BlE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAwEtG;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProsopoContractBase = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Copyright (C) 2021-2022 Prosopo (UK) Ltd.
6
+ // This file is part of procaptcha <https://github.com/prosopo/procaptcha>.
7
+ //
8
+ // procaptcha is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+ //
13
+ // procaptcha is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+ //
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with procaptcha. If not, see <http://www.gnu.org/licenses/>.
20
+ const api_1 = require("@polkadot/api");
21
+ const api_contract_1 = require("@polkadot/api-contract");
22
+ const contract_1 = require("@prosopo/contract");
23
+ const AsyncFactory_1 = tslib_1.__importDefault(require("./AsyncFactory"));
24
+ class ProsopoContractBase extends AsyncFactory_1.default {
25
+ api;
26
+ abi;
27
+ contract;
28
+ account;
29
+ dappAddress;
30
+ address;
31
+ /**
32
+ * @param address
33
+ * @param dappAddress
34
+ * @param account
35
+ * @param providerInterface
36
+ */
37
+ async init(address, dappAddress, account, providerInterface) {
38
+ this.api = await api_1.ApiPromise.create({ provider: providerInterface });
39
+ this.abi = new api_contract_1.Abi(contract_1.abiJson, this.api.registry.getChainProperties());
40
+ this.contract = new api_contract_1.ContractPromise(this.api, this.abi, address);
41
+ this.address = address;
42
+ this.dappAddress = dappAddress;
43
+ this.account = account;
44
+ return this;
45
+ }
46
+ getApi() {
47
+ return this.api;
48
+ }
49
+ getContract() {
50
+ return this.contract;
51
+ }
52
+ getAccount() {
53
+ return this.account;
54
+ }
55
+ getDappAddress() {
56
+ return this.dappAddress;
57
+ }
58
+ async disconnect() {
59
+ await this.api.disconnect();
60
+ }
61
+ async query(method, args) {
62
+ try {
63
+ const abiMessage = this.abi.findMessage(method);
64
+ const response = await this.contract.query[method](this.account.address, {}, ...(0, contract_1.encodeStringArgs)(abiMessage, args));
65
+ console.log("QUERY RESPONSE", method, args, response);
66
+ if (response.result.isOk) {
67
+ if (response.output) {
68
+ return (0, contract_1.unwrap)(response.output.toHuman());
69
+ }
70
+ else {
71
+ return null;
72
+ }
73
+ }
74
+ else {
75
+ throw new contract_1.ProsopoContractError(response.result.asErr);
76
+ }
77
+ }
78
+ catch (e) {
79
+ console.error("ERROR", e);
80
+ return null;
81
+ }
82
+ }
83
+ // https://polkadot.js.org/docs/api/cookbook/tx/
84
+ // https://polkadot.js.org/docs/api/start/api.tx.subs/
85
+ async transaction(signer, method, args) {
86
+ const queryBeforeTx = await this.query(method, args);
87
+ console.log("QUERY BEFORE TX....................", queryBeforeTx);
88
+ const abiMessage = this.abi.findMessage(method);
89
+ const extrinsic = this.contract.tx[method]({}, ...(0, contract_1.encodeStringArgs)(abiMessage, args));
90
+ // this.api.setSigner(signer);
91
+ // const response = await buildTx(this.api.registry, extrinsic, this.account.address, { signer });
92
+ // console.log("buildTx RESPONSE", response);
93
+ // return;
94
+ return new Promise((resolve, reject) => {
95
+ extrinsic.signAndSend(this.account.address, { signer }, (result) => {
96
+ const { dispatchError, dispatchInfo, events, internalError, status, txHash, txIndex } = result;
97
+ console.log("TX STATUS", status.type);
98
+ console.log("IS FINALIZED", status?.isFinalized);
99
+ console.log("IN BLOCK", status?.isInBlock);
100
+ console.log("EVENTS", events);
101
+ if (internalError) {
102
+ console.error("internalError", internalError);
103
+ reject(internalError);
104
+ return;
105
+ }
106
+ if (dispatchError) {
107
+ console.error("dispatchError", dispatchError);
108
+ reject(dispatchError);
109
+ return;
110
+ }
111
+ // [Ready, InBlock, Finalized...]
112
+ // Instant seal ON.
113
+ if (status?.isInBlock) {
114
+ const blockHash = status.asInBlock.toHex();
115
+ resolve({ dispatchError, dispatchInfo, events, internalError, status, txHash, txIndex, blockHash });
116
+ }
117
+ // Instant seal OFF.
118
+ // if (status?.isFinalized) {
119
+ // const blockHash = status.asFinalized.toHex();
120
+ // resolve({ dispatchError, dispatchInfo, events, internalError, status, txHash, txIndex, blockHash });
121
+ // }
122
+ })
123
+ .catch((e) => {
124
+ console.error("signAndSend ERROR", e);
125
+ reject(e);
126
+ });
127
+ });
128
+ }
129
+ }
130
+ exports.ProsopoContractBase = ProsopoContractBase;
131
+ exports.default = ProsopoContractBase;
132
+ //# sourceMappingURL=ProsopoContractBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProsopoContractBase.js","sourceRoot":"","sources":["../../src/api/ProsopoContractBase.ts"],"names":[],"mappings":"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"}