@prosopo/procaptcha 0.1.7 → 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 (99) hide show
  1. package/.eslintrc.js +20 -4
  2. package/README.md +3 -3
  3. package/dist/api/AccountCreator.d.ts +19 -0
  4. package/dist/api/AccountCreator.d.ts.map +1 -0
  5. package/dist/api/AccountCreator.js +88 -0
  6. package/dist/api/AccountCreator.js.map +1 -0
  7. package/dist/api/AsyncFactory.d.ts +7 -0
  8. package/dist/api/AsyncFactory.d.ts.map +1 -0
  9. package/dist/api/AsyncFactory.js +30 -0
  10. package/dist/api/AsyncFactory.js.map +1 -0
  11. package/dist/api/ExtensionWeb2.d.ts +27 -0
  12. package/dist/api/ExtensionWeb2.d.ts.map +1 -0
  13. package/dist/api/ExtensionWeb2.js +106 -0
  14. package/dist/api/ExtensionWeb2.js.map +1 -0
  15. package/dist/api/ExtensionWeb3.d.ts +56 -0
  16. package/dist/api/ExtensionWeb3.d.ts.map +1 -0
  17. package/dist/api/ExtensionWeb3.js +151 -0
  18. package/dist/api/ExtensionWeb3.js.map +1 -0
  19. package/dist/api/HttpClientBase.d.ts +9 -0
  20. package/dist/api/HttpClientBase.d.ts.map +1 -0
  21. package/dist/api/HttpClientBase.js +36 -0
  22. package/dist/api/HttpClientBase.js.map +1 -0
  23. package/dist/api/ProsopoContract.d.ts +13 -0
  24. package/dist/api/ProsopoContract.d.ts.map +1 -0
  25. package/dist/api/ProsopoContract.js +38 -0
  26. package/dist/api/ProsopoContract.js.map +1 -0
  27. package/dist/api/ProsopoContractBase.d.ts +32 -0
  28. package/dist/api/ProsopoContractBase.d.ts.map +1 -0
  29. package/dist/api/ProsopoContractBase.js +132 -0
  30. package/dist/api/ProsopoContractBase.js.map +1 -0
  31. package/dist/api/ProviderApi.d.ts +14 -0
  32. package/dist/api/ProviderApi.d.ts.map +1 -0
  33. package/dist/api/ProviderApi.js +53 -0
  34. package/dist/api/ProviderApi.js.map +1 -0
  35. package/dist/api/handlers.d.ts +5 -0
  36. package/dist/api/handlers.d.ts.map +1 -0
  37. package/dist/api/handlers.js +21 -0
  38. package/dist/api/handlers.js.map +1 -0
  39. package/dist/api/index.d.ts +8 -0
  40. package/dist/api/index.d.ts.map +1 -0
  41. package/dist/api/index.js +26 -0
  42. package/dist/api/index.js.map +1 -0
  43. package/dist/index.d.ts +4 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +22 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/modules/ProsopoCaptchaApi.d.ts +21 -0
  48. package/dist/modules/ProsopoCaptchaApi.d.ts.map +1 -0
  49. package/dist/modules/ProsopoCaptchaApi.js +120 -0
  50. package/dist/modules/ProsopoCaptchaApi.js.map +1 -0
  51. package/dist/modules/ProsopoCaptchaClient.d.ts +26 -0
  52. package/dist/modules/ProsopoCaptchaClient.d.ts.map +1 -0
  53. package/dist/modules/ProsopoCaptchaClient.js +112 -0
  54. package/dist/modules/ProsopoCaptchaClient.js.map +1 -0
  55. package/dist/modules/ProsopoCaptchaStateClient.d.ts +18 -0
  56. package/dist/modules/ProsopoCaptchaStateClient.d.ts.map +1 -0
  57. package/dist/modules/ProsopoCaptchaStateClient.js +111 -0
  58. package/dist/modules/ProsopoCaptchaStateClient.js.map +1 -0
  59. package/dist/modules/canvas.d.ts +2 -0
  60. package/dist/modules/canvas.d.ts.map +1 -0
  61. package/dist/modules/canvas.js +286 -0
  62. package/dist/modules/canvas.js.map +1 -0
  63. package/dist/modules/client.d.ts +9 -0
  64. package/dist/modules/client.d.ts.map +1 -0
  65. package/dist/modules/client.js +40 -0
  66. package/dist/modules/client.js.map +1 -0
  67. package/dist/modules/contract.d.ts +7 -0
  68. package/dist/modules/contract.d.ts.map +1 -0
  69. package/dist/modules/contract.js +42 -0
  70. package/dist/modules/contract.js.map +1 -0
  71. package/dist/modules/extension.d.ts +4 -0
  72. package/dist/modules/extension.d.ts.map +1 -0
  73. package/dist/modules/extension.js +31 -0
  74. package/dist/modules/extension.js.map +1 -0
  75. package/dist/modules/index.d.ts +8 -0
  76. package/dist/modules/index.d.ts.map +1 -0
  77. package/dist/modules/index.js +26 -0
  78. package/dist/modules/index.js.map +1 -0
  79. package/dist/modules/storage.d.ts +14 -0
  80. package/dist/modules/storage.d.ts.map +1 -0
  81. package/dist/modules/storage.js +35 -0
  82. package/dist/modules/storage.js.map +1 -0
  83. package/dist/types/api.d.ts +53 -0
  84. package/dist/types/api.d.ts.map +1 -0
  85. package/dist/types/api.js +22 -0
  86. package/dist/types/api.js.map +1 -0
  87. package/dist/types/client.d.ts +61 -0
  88. package/dist/types/client.d.ts.map +1 -0
  89. package/dist/types/client.js +3 -0
  90. package/dist/types/client.js.map +1 -0
  91. package/dist/types/contract.d.ts +5 -0
  92. package/dist/types/contract.d.ts.map +1 -0
  93. package/dist/types/contract.js +3 -0
  94. package/dist/types/contract.js.map +1 -0
  95. package/dist/types/index.d.ts +4 -0
  96. package/dist/types/index.d.ts.map +1 -0
  97. package/dist/types/index.js +22 -0
  98. package/dist/types/index.js.map +1 -0
  99. package/package.json +9 -6
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProsopoCaptchaClient = void 0;
4
+ const contract_1 = require("./contract");
5
+ const extension_1 = require("./extension");
6
+ const ProviderApi_1 = require("../api/ProviderApi");
7
+ const ProsopoCaptchaApi_1 = require("./ProsopoCaptchaApi");
8
+ const contract_2 = require("@prosopo/contract");
9
+ class ProsopoCaptchaClient {
10
+ manager;
11
+ status;
12
+ callbacks;
13
+ providerApi;
14
+ static extension;
15
+ static contract;
16
+ static provider;
17
+ static captchaApi;
18
+ constructor(manager, status, callbacks) {
19
+ this.manager = manager;
20
+ this.status = status;
21
+ this.callbacks = callbacks;
22
+ this.providerApi = new ProviderApi_1.ProviderApi(manager.state.config);
23
+ }
24
+ getExtension() {
25
+ return ProsopoCaptchaClient.extension;
26
+ }
27
+ setExtension(extension) {
28
+ ProsopoCaptchaClient.extension = extension;
29
+ }
30
+ getContract() {
31
+ return ProsopoCaptchaClient.contract;
32
+ }
33
+ getProvider() {
34
+ return ProsopoCaptchaClient.provider;
35
+ }
36
+ getCaptchaApi() {
37
+ return ProsopoCaptchaClient.captchaApi;
38
+ }
39
+ async onLoad(createAccount) {
40
+ if (!ProsopoCaptchaClient.extension) {
41
+ try {
42
+ ProsopoCaptchaClient.extension = await (0, extension_1.getExtension)((0, contract_1.getWsProvider)(this.manager.state.config['dappUrl']), this.manager.state.config['web2'], this.manager.state.config['accountCreator'], this.manager.state.config['dappName']);
43
+ }
44
+ catch (err) {
45
+ throw new contract_2.ProsopoEnvError(err);
46
+ }
47
+ }
48
+ if (this.callbacks?.onLoad) {
49
+ this.callbacks.onLoad(ProsopoCaptchaClient.extension, this.manager.state.config['prosopoContractAccount']);
50
+ this.manager.update({ contractAddress: this.manager.state.config['prosopoContractAccount'] });
51
+ }
52
+ let account;
53
+ if (createAccount) {
54
+ try {
55
+ account = await this.getExtension().createAccount();
56
+ }
57
+ catch (err) {
58
+ throw new contract_2.ProsopoEnvError(err);
59
+ }
60
+ }
61
+ else {
62
+ try {
63
+ account = await this.getExtension().getAccount();
64
+ }
65
+ catch (err) {
66
+ throw new contract_2.ProsopoEnvError(err);
67
+ }
68
+ }
69
+ await this.onAccountChange(account);
70
+ }
71
+ async onAccountChange(account) {
72
+ if (!account) {
73
+ this.onAccountUnset();
74
+ return;
75
+ }
76
+ try {
77
+ ProsopoCaptchaClient.extension.setAccount(account.address);
78
+ }
79
+ catch (err) {
80
+ throw new contract_2.ProsopoEnvError(err);
81
+ }
82
+ try {
83
+ ProsopoCaptchaClient.contract = await (0, contract_1.getProsopoContract)(this.manager.state.config['prosopoContractAccount'], this.manager.state.config['dappAccount'], account, (0, contract_1.getWsProvider)(this.manager.state.config['dappUrl']));
84
+ }
85
+ catch (err) {
86
+ throw new contract_2.ProsopoEnvError(err);
87
+ }
88
+ try {
89
+ ProsopoCaptchaClient.provider = await ProsopoCaptchaClient.contract.getRandomProvider();
90
+ }
91
+ catch (err) {
92
+ throw new contract_2.ProsopoEnvError(err);
93
+ }
94
+ ProsopoCaptchaClient.captchaApi = new ProsopoCaptchaApi_1.ProsopoCaptchaApi(ProsopoCaptchaClient.contract, ProsopoCaptchaClient.provider, this.providerApi, this.manager.state.config['web2']);
95
+ if (this.callbacks?.onAccountChange) {
96
+ this.callbacks.onAccountChange(account);
97
+ }
98
+ this.manager.update({ account });
99
+ }
100
+ onAccountUnset() {
101
+ ProsopoCaptchaClient.contract = undefined;
102
+ ProsopoCaptchaClient.provider = undefined;
103
+ ProsopoCaptchaClient.captchaApi = undefined;
104
+ if (this.callbacks?.onAccountChange) {
105
+ this.callbacks.onAccountChange(undefined);
106
+ }
107
+ this.manager.update({ account: undefined });
108
+ }
109
+ }
110
+ exports.ProsopoCaptchaClient = ProsopoCaptchaClient;
111
+ exports.default = ProsopoCaptchaClient;
112
+ //# sourceMappingURL=ProsopoCaptchaClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProsopoCaptchaClient.js","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { ICaptchaStateReducer, TCaptchaSubmitResult } from "../types/client";
2
+ import { GetCaptchaResponse } from "../types/api";
3
+ import { ProsopoCaptchaClient } from "./ProsopoCaptchaClient";
4
+ import { CaptchaSolution } from '@prosopo/datasets';
5
+ export declare class ProsopoCaptchaStateClient {
6
+ context: ProsopoCaptchaClient;
7
+ manager: ICaptchaStateReducer;
8
+ constructor(context: ProsopoCaptchaClient, manager: ICaptchaStateReducer);
9
+ onLoadCaptcha(): Promise<void>;
10
+ onCancel(): void;
11
+ onSubmit(): Promise<void>;
12
+ onSolved(submitResult: TCaptchaSubmitResult): Promise<void>;
13
+ onChange(hash: string): void;
14
+ dismissCaptcha(): void;
15
+ parseSolution(captchaChallenge: GetCaptchaResponse, captchaSolution: string[][]): CaptchaSolution[];
16
+ }
17
+ export default ProsopoCaptchaStateClient;
18
+ //# sourceMappingURL=ProsopoCaptchaStateClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProsopoCaptchaStateClient.d.ts","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaStateClient.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EACH,eAAe,EAElB,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,yBAAyB;IAE3B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,oBAAoB,CAAC;gBAEzB,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;IAK3D,aAAa;IAqBnB,QAAQ;IAOF,QAAQ;IA0DR,QAAQ,CAAC,YAAY,EAAE,oBAAoB;IAajD,QAAQ,CAAC,IAAI,EAAE,MAAM;IAerB,cAAc;IAKd,aAAa,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,GAAG,eAAe,EAAE;CAc7G;AAED,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProsopoCaptchaStateClient = void 0;
4
+ const contract_1 = require("@prosopo/contract");
5
+ const datasets_1 = require("@prosopo/datasets");
6
+ class ProsopoCaptchaStateClient {
7
+ context;
8
+ manager;
9
+ constructor(context, manager) {
10
+ this.context = context;
11
+ this.manager = manager;
12
+ }
13
+ async onLoadCaptcha() {
14
+ let captchaChallenge;
15
+ try {
16
+ captchaChallenge = await this.context.getCaptchaApi()?.getCaptchaChallenge();
17
+ }
18
+ catch (err) {
19
+ captchaChallenge = err;
20
+ throw new contract_1.ProsopoEnvError(captchaChallenge);
21
+ }
22
+ if (this.context.callbacks?.onLoadCaptcha && captchaChallenge) {
23
+ this.context.callbacks.onLoadCaptcha(captchaChallenge);
24
+ }
25
+ if (captchaChallenge instanceof Error) {
26
+ captchaChallenge = undefined;
27
+ }
28
+ this.manager.update({ captchaChallenge, captchaIndex: 0 });
29
+ }
30
+ onCancel() {
31
+ if (this.context.callbacks?.onCancel) {
32
+ this.context.callbacks.onCancel();
33
+ }
34
+ this.dismissCaptcha();
35
+ }
36
+ async onSubmit() {
37
+ const { captchaChallenge, captchaIndex, captchaSolution } = this.manager.state;
38
+ const nextCaptchaIndex = captchaIndex + 1;
39
+ if (!captchaChallenge) {
40
+ throw new contract_1.ProsopoEnvError("CAPTCHA.INVALID_CAPTCHA_CHALLENGE");
41
+ }
42
+ if (nextCaptchaIndex < captchaChallenge.captchas.length) {
43
+ captchaSolution[nextCaptchaIndex] = [];
44
+ this.manager.update({ captchaIndex: nextCaptchaIndex, captchaSolution });
45
+ return;
46
+ }
47
+ const signer = this.context.getExtension().getExtension()?.signer;
48
+ const currentCaptcha = captchaChallenge.captchas[captchaIndex];
49
+ const { datasetId } = currentCaptcha.captcha;
50
+ const solutions = this.parseSolution(captchaChallenge, captchaSolution);
51
+ let submitResult;
52
+ if (signer) {
53
+ try {
54
+ submitResult = await this.context
55
+ .getCaptchaApi()
56
+ .submitCaptchaSolution(signer, captchaChallenge.requestHash, datasetId, solutions);
57
+ }
58
+ catch (err) {
59
+ submitResult = err;
60
+ }
61
+ if (this.context.callbacks?.onSubmit) {
62
+ this.context.callbacks.onSubmit(submitResult, this.manager.state);
63
+ }
64
+ this.manager.update({ captchaSolution: [] });
65
+ if (submitResult instanceof Error) {
66
+ return;
67
+ }
68
+ await this.onSolved(submitResult);
69
+ }
70
+ this.manager.update({ captchaSolution: [] });
71
+ }
72
+ async onSolved(submitResult) {
73
+ let isHuman;
74
+ try {
75
+ isHuman = await this.context.getContract()?.dappOperatorIsHumanUser(this.context.manager.state.config['solutionThreshold']);
76
+ }
77
+ catch (err) {
78
+ console.log("Error determining whether user is human");
79
+ }
80
+ this.dismissCaptcha();
81
+ if (this.context.callbacks?.onSolved) {
82
+ this.context.callbacks.onSolved(submitResult, isHuman);
83
+ }
84
+ }
85
+ onChange(hash) {
86
+ const { captchaIndex, captchaSolution } = this.manager.state;
87
+ let currentSolution = captchaSolution[captchaIndex] || [];
88
+ currentSolution = currentSolution.includes(hash) ? currentSolution.filter(item => item !== hash) : [...currentSolution, hash];
89
+ captchaSolution[captchaIndex] = currentSolution;
90
+ if (this.context.callbacks?.onChange) {
91
+ this.context.callbacks.onChange(captchaSolution, captchaIndex);
92
+ }
93
+ this.manager.update({ captchaSolution });
94
+ }
95
+ dismissCaptcha() {
96
+ this.manager.update({ captchaChallenge: undefined });
97
+ }
98
+ parseSolution(captchaChallenge, captchaSolution) {
99
+ const parsedSolution = [];
100
+ for (const [index, challenge] of captchaChallenge.captchas.entries()) {
101
+ const solution = captchaSolution[index] || [];
102
+ // challenge.captcha.solution = solution;
103
+ parsedSolution[index] = (0, datasets_1.convertCaptchaToCaptchaSolution)({ ...challenge.captcha, solution });
104
+ }
105
+ console.log("CAPTCHA SOLUTIONS", parsedSolution);
106
+ return parsedSolution;
107
+ }
108
+ }
109
+ exports.ProsopoCaptchaStateClient = ProsopoCaptchaStateClient;
110
+ exports.default = ProsopoCaptchaStateClient;
111
+ //# sourceMappingURL=ProsopoCaptchaStateClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProsopoCaptchaStateClient.js","sourceRoot":"","sources":["../../src/modules/ProsopoCaptchaStateClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function picassoCanvas(roundNumber: any, seed: any, params: any): string;
2
+ //# sourceMappingURL=canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/modules/canvas.ts"],"names":[],"mappings":"AAsLA,wBAAgB,aAAa,CAAC,WAAW,KAAA,EAAE,IAAI,KAAA,EAAE,MAAM,KAAA,UAiKtD"}
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.picassoCanvas = void 0;
4
+ const contract_1 = require("@prosopo/contract");
5
+ function x64Add(m, n) {
6
+ m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff];
7
+ n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff];
8
+ const o = [0, 0, 0, 0];
9
+ o[3] += m[3] + n[3];
10
+ o[2] += o[3] >>> 16;
11
+ o[3] &= 0xffff;
12
+ o[2] += m[2] + n[2];
13
+ o[1] += o[2] >>> 16;
14
+ o[2] &= 0xffff;
15
+ o[1] += m[1] + n[1];
16
+ o[0] += o[1] >>> 16;
17
+ o[1] &= 0xffff;
18
+ o[0] += m[0] + n[0];
19
+ o[0] &= 0xffff;
20
+ return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]];
21
+ }
22
+ function x64Multiply(m, n) {
23
+ m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff];
24
+ n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff];
25
+ const o = [0, 0, 0, 0];
26
+ o[3] += m[3] * n[3];
27
+ o[2] += o[3] >>> 16;
28
+ o[3] &= 0xffff;
29
+ o[2] += m[2] * n[3];
30
+ o[1] += o[2] >>> 16;
31
+ o[2] &= 0xffff;
32
+ o[2] += m[3] * n[2];
33
+ o[1] += o[2] >>> 16;
34
+ o[2] &= 0xffff;
35
+ o[1] += m[1] * n[3];
36
+ o[0] += o[1] >>> 16;
37
+ o[1] &= 0xffff;
38
+ o[1] += m[2] * n[2];
39
+ o[0] += o[1] >>> 16;
40
+ o[1] &= 0xffff;
41
+ o[1] += m[3] * n[1];
42
+ o[0] += o[1] >>> 16;
43
+ o[1] &= 0xffff;
44
+ o[0] += (m[0] * n[3]) + (m[1] * n[2]) + (m[2] * n[1]) + (m[3] * n[0]);
45
+ o[0] &= 0xffff;
46
+ return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]];
47
+ }
48
+ function x64Rotl(m, n) {
49
+ n %= 64;
50
+ if (n === 32) {
51
+ return [m[1], m[0]];
52
+ }
53
+ else if (n < 32) {
54
+ return [(m[0] << n) | (m[1] >>> (32 - n)), (m[1] << n) | (m[0] >>> (32 - n))];
55
+ }
56
+ else {
57
+ n -= 32;
58
+ return [(m[1] << n) | (m[0] >>> (32 - n)), (m[0] << n) | (m[1] >>> (32 - n))];
59
+ }
60
+ }
61
+ function x64LeftShift(m, n) {
62
+ n %= 64;
63
+ if (n === 0) {
64
+ return m;
65
+ }
66
+ else if (n < 32) {
67
+ return [(m[0] << n) | (m[1] >>> (32 - n)), m[1] << n];
68
+ }
69
+ else {
70
+ return [m[1] << (n - 32), 0];
71
+ }
72
+ }
73
+ function x64Xor(m, n) {
74
+ return [m[0] ^ n[0], m[1] ^ n[1]];
75
+ }
76
+ function x64Fmix(h) {
77
+ h = x64Xor(h, [0, h[0] >>> 1]);
78
+ h = x64Multiply(h, [0xff51afd7, 0xed558ccd]);
79
+ h = x64Xor(h, [0, h[0] >>> 1]);
80
+ h = x64Multiply(h, [0xc4ceb9fe, 0x1a85ec53]);
81
+ h = x64Xor(h, [0, h[0] >>> 1]);
82
+ return h;
83
+ }
84
+ function x64hash128(key, seed) {
85
+ key = key || '';
86
+ seed = seed || 0;
87
+ const remainder = key.length % 16;
88
+ const bytes = key.length - remainder;
89
+ let h1 = [0, seed];
90
+ let h2 = [0, seed];
91
+ let k1 = [0, 0];
92
+ let k2 = [0, 0];
93
+ const c1 = [0x87c37b91, 0x114253d5];
94
+ const c2 = [0x4cf5ad43, 0x2745937f];
95
+ let i = 0;
96
+ for (i = 0; i < bytes; i = i + 16) {
97
+ k1 = [((key.charCodeAt(i + 4) & 0xff)) | ((key.charCodeAt(i + 5) & 0xff) << 8) | ((key.charCodeAt(i + 6) & 0xff) << 16) | ((key.charCodeAt(i + 7) & 0xff) << 24), ((key.charCodeAt(i) & 0xff)) | ((key.charCodeAt(i + 1) & 0xff) << 8) | ((key.charCodeAt(i + 2) & 0xff) << 16) | ((key.charCodeAt(i + 3) & 0xff) << 24)];
98
+ k2 = [((key.charCodeAt(i + 12) & 0xff)) | ((key.charCodeAt(i + 13) & 0xff) << 8) | ((key.charCodeAt(i + 14) & 0xff) << 16) | ((key.charCodeAt(i + 15) & 0xff) << 24), ((key.charCodeAt(i + 8) & 0xff)) | ((key.charCodeAt(i + 9) & 0xff) << 8) | ((key.charCodeAt(i + 10) & 0xff) << 16) | ((key.charCodeAt(i + 11) & 0xff) << 24)];
99
+ k1 = x64Multiply(k1, c1);
100
+ k1 = x64Rotl(k1, 31);
101
+ k1 = x64Multiply(k1, c2);
102
+ h1 = x64Xor(h1, k1);
103
+ h1 = x64Rotl(h1, 27);
104
+ h1 = x64Add(h1, h2);
105
+ h1 = x64Add(x64Multiply(h1, [0, 5]), [0, 0x52dce729]);
106
+ k2 = x64Multiply(k2, c2);
107
+ k2 = x64Rotl(k2, 33);
108
+ k2 = x64Multiply(k2, c1);
109
+ h2 = x64Xor(h2, k2);
110
+ h2 = x64Rotl(h2, 31);
111
+ h2 = x64Add(h2, h1);
112
+ h2 = x64Add(x64Multiply(h2, [0, 5]), [0, 0x38495ab5]);
113
+ }
114
+ k1 = [0, 0];
115
+ k2 = [0, 0];
116
+ switch (remainder) {
117
+ case 15:
118
+ k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 14)], 48));
119
+ break;
120
+ case 14:
121
+ k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 13)], 40));
122
+ break;
123
+ case 13:
124
+ k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 12)], 32));
125
+ break;
126
+ case 12:
127
+ k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 11)], 24));
128
+ break;
129
+ case 11:
130
+ k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 10)], 16));
131
+ break;
132
+ case 10:
133
+ k2 = x64Xor(k2, x64LeftShift([0, key.charCodeAt(i + 9)], 8));
134
+ break;
135
+ case 9:
136
+ k2 = x64Xor(k2, [0, key.charCodeAt(i + 8)]);
137
+ k2 = x64Multiply(k2, c2);
138
+ k2 = x64Rotl(k2, 33);
139
+ k2 = x64Multiply(k2, c1);
140
+ h2 = x64Xor(h2, k2);
141
+ break;
142
+ case 8:
143
+ k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 7)], 56));
144
+ break;
145
+ case 7:
146
+ k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 6)], 48));
147
+ break;
148
+ case 6:
149
+ k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 5)], 40));
150
+ break;
151
+ case 5:
152
+ k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 4)], 32));
153
+ break;
154
+ case 4:
155
+ k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 3)], 24));
156
+ break;
157
+ case 3:
158
+ k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 2)], 16));
159
+ break;
160
+ case 2:
161
+ k1 = x64Xor(k1, x64LeftShift([0, key.charCodeAt(i + 1)], 8));
162
+ break;
163
+ case 1:
164
+ k1 = x64Xor(k1, [0, key.charCodeAt(i)]);
165
+ k1 = x64Multiply(k1, c1);
166
+ k1 = x64Rotl(k1, 31);
167
+ k1 = x64Multiply(k1, c2);
168
+ h1 = x64Xor(h1, k1);
169
+ }
170
+ h1 = x64Xor(h1, [0, key.length]);
171
+ h2 = x64Xor(h2, [0, key.length]);
172
+ h1 = x64Add(h1, h2);
173
+ h2 = x64Add(h2, h1);
174
+ h1 = x64Fmix(h1);
175
+ h2 = x64Fmix(h2);
176
+ h1 = x64Add(h1, h2);
177
+ h2 = x64Add(h2, h1);
178
+ return ('00000000' + (h1[0] >>> 0).toString(16)).slice(-8) + ('00000000' + (h1[1] >>> 0).toString(16)).slice(-8) + ('00000000' + (h2[0] >>> 0).toString(16)).slice(-8) + ('00000000' + (h2[1] >>> 0).toString(16)).slice(-8);
179
+ }
180
+ function picassoCanvas(roundNumber, seed, params) {
181
+ const { area, offsetParameter, multiplier, fontSizeFactor, maxShadowBlur } = params;
182
+ class Prng {
183
+ currentNumber;
184
+ constructor(seed) {
185
+ this.currentNumber = seed % offsetParameter;
186
+ if (this.currentNumber <= 0) {
187
+ this.currentNumber += offsetParameter;
188
+ }
189
+ }
190
+ getNext() {
191
+ this.currentNumber = multiplier * this.currentNumber % offsetParameter;
192
+ return this.currentNumber;
193
+ }
194
+ }
195
+ function adaptRandomNumberToContext(randomNumber, maxBound, floatAllowed) {
196
+ randomNumber = (randomNumber - 1) / offsetParameter;
197
+ if (floatAllowed) {
198
+ return randomNumber * maxBound;
199
+ }
200
+ return Math.floor(randomNumber * maxBound);
201
+ }
202
+ function addRandomCanvasGradient(prng, context, area) {
203
+ const canvasGradient = context.createRadialGradient(adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined), adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined), adaptRandomNumberToContext(prng.getNext(), area.width, undefined));
204
+ canvasGradient.addColorStop(0, colors[adaptRandomNumberToContext(prng.getNext(), colors.length, undefined)]);
205
+ canvasGradient.addColorStop(1, colors[adaptRandomNumberToContext(prng.getNext(), colors.length, undefined)]);
206
+ context.fillStyle = canvasGradient;
207
+ }
208
+ function generateRandomWord(prng, wordLength) {
209
+ const minAscii = 65;
210
+ const maxAscii = 126;
211
+ const wordGenerated = [];
212
+ for (let i = 0; i < wordLength; i++) {
213
+ const asciiCode = minAscii + (prng.getNext() % (maxAscii - minAscii));
214
+ wordGenerated.push(String.fromCharCode(asciiCode));
215
+ }
216
+ return wordGenerated.join('');
217
+ }
218
+ if (!window.CanvasRenderingContext2D) {
219
+ return 'unknown';
220
+ }
221
+ const colors = ['#FF6633', '#FFB399', '#FF33FF', '#FFFF99', '#00B3E6',
222
+ '#E6B333', '#3366E6', '#999966', '#99FF99', '#B34D4D',
223
+ '#80B300', '#809900', '#E6B3B3', '#6680B3', '#66991A',
224
+ '#FF99E6', '#CCFF1A', '#FF1A66', '#E6331A', '#33FFCC',
225
+ '#66994D', '#B366CC', '#4D8000', '#B33300', '#CC80CC',
226
+ '#66664D', '#991AFF', '#E666FF', '#4DB3FF', '#1AB399',
227
+ '#E666B3', '#33991A', '#CC9999', '#B3B31A', '#00E680',
228
+ '#4D8066', '#809980', '#E6FF80', '#1AFF33', '#999933',
229
+ '#FF3380', '#CCCC00', '#66E64D', '#4D80CC', '#9900B3',
230
+ '#E64D66', '#4DB380', '#FF4D4D', '#99E6E6', '#6666FF'];
231
+ const primitives = [
232
+ function arc(prng, context, area) {
233
+ context.beginPath();
234
+ context.arc(adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined), adaptRandomNumberToContext(prng.getNext(), Math.min(area.width, area.height), undefined), adaptRandomNumberToContext(prng.getNext(), 2 * Math.PI, true), adaptRandomNumberToContext(prng.getNext(), 2 * Math.PI, true));
235
+ context.stroke();
236
+ },
237
+ function text(prng, context, area) {
238
+ const wordLength = Math.max(1, adaptRandomNumberToContext(prng.getNext(), 5, undefined));
239
+ const textToStroke = generateRandomWord(prng, wordLength);
240
+ context.font = `${area.height / fontSizeFactor}px aafakefontaa`;
241
+ context.strokeText(textToStroke, adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined), adaptRandomNumberToContext(prng.getNext(), area.width, undefined));
242
+ },
243
+ function bezierCurve(prng, context, area) {
244
+ context.beginPath();
245
+ context.moveTo(adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined));
246
+ context.bezierCurveTo(adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined), adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined), adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined));
247
+ context.stroke();
248
+ },
249
+ function quadraticCurve(prng, context, area) {
250
+ context.beginPath();
251
+ context.moveTo(adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined));
252
+ context.quadraticCurveTo(adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined), adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined));
253
+ context.stroke();
254
+ },
255
+ function ellipse(prng, context, area) {
256
+ context.beginPath();
257
+ context.ellipse(adaptRandomNumberToContext(prng.getNext(), area.width, undefined), adaptRandomNumberToContext(prng.getNext(), area.height, undefined), adaptRandomNumberToContext(prng.getNext(), Math.floor(area.width / 2), undefined), adaptRandomNumberToContext(prng.getNext(), Math.floor(area.height / 2), undefined), adaptRandomNumberToContext(prng.getNext(), 2 * Math.PI, true), adaptRandomNumberToContext(prng.getNext(), 2 * Math.PI, true), adaptRandomNumberToContext(prng.getNext(), 2 * Math.PI, true));
258
+ context.stroke();
259
+ }
260
+ ];
261
+ try {
262
+ const prng = new Prng(seed);
263
+ const canvasElt = document.createElement("canvas");
264
+ canvasElt.width = area.width;
265
+ canvasElt.height = area.height;
266
+ canvasElt.style.display = "none";
267
+ const context = canvasElt.getContext("2d");
268
+ if (context !== null) {
269
+ for (let i = 0; i < roundNumber; i++) {
270
+ addRandomCanvasGradient(prng, context, area);
271
+ context.shadowBlur = adaptRandomNumberToContext(prng.getNext(), maxShadowBlur, undefined);
272
+ context.shadowColor = colors[adaptRandomNumberToContext(prng.getNext(), colors.length, undefined)];
273
+ const randomPrimitive = primitives[adaptRandomNumberToContext(prng.getNext(), primitives.length, undefined)];
274
+ randomPrimitive(prng, context, area);
275
+ context.fill();
276
+ }
277
+ }
278
+ return x64hash128(canvasElt.toDataURL(), seed);
279
+ }
280
+ catch (e) {
281
+ console.log(e);
282
+ throw new contract_1.ProsopoEnvError(e);
283
+ }
284
+ }
285
+ exports.picassoCanvas = picassoCanvas;
286
+ //# sourceMappingURL=canvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/modules/canvas.ts"],"names":[],"mappings":"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G,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1T,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpU,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACzB,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"}
@@ -0,0 +1,9 @@
1
+ import { ICaptchaContextState, ICaptchaState, ICaptchaStatusReducerAction, ICaptchaStatusState } from '../types';
2
+ export declare const captchaContextReducer: (state: ICaptchaContextState, action: Partial<ICaptchaContextState>) => {
3
+ config: import("../types").ProsopoCaptchaConfig;
4
+ contractAddress?: string | undefined;
5
+ account?: import("@polkadot/extension-inject/types").InjectedAccountWithMeta | undefined;
6
+ };
7
+ export declare const captchaStateReducer: (state: ICaptchaState, action: Partial<ICaptchaState>) => ICaptchaState;
8
+ export declare const captchaStatusReducer: (state: ICaptchaStatusState, action: ICaptchaStatusReducerAction) => ICaptchaStatusState;
9
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/modules/client.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGjH,eAAO,MAAM,qBAAqB,UAAW,oBAAoB,UAAU,QAAQ,oBAAoB,CAAC;;;;CAEvG,CAAA;AAED,eAAO,MAAM,mBAAmB,UAAW,aAAa,UAAU,QAAQ,aAAa,CAAC,KAAG,aAE1F,CAAA;AAED,eAAO,MAAM,oBAAoB,UAAW,mBAAmB,UAAU,2BAA2B,KAAG,mBAWtG,CAAA"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ // Copyright (C) 2021-2022 Prosopo (UK) Ltd.
3
+ // This file is part of procaptcha <https://github.com/prosopo/procaptcha>.
4
+ //
5
+ // procaptcha is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // procaptcha is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
16
+ // along with procaptcha. If not, see <http://www.gnu.org/licenses/>.
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.captchaStatusReducer = exports.captchaStateReducer = exports.captchaContextReducer = void 0;
19
+ const captchaContextReducer = (state, action) => {
20
+ return { ...state, ...action };
21
+ };
22
+ exports.captchaContextReducer = captchaContextReducer;
23
+ const captchaStateReducer = (state, action) => {
24
+ return { ...state, ...action };
25
+ };
26
+ exports.captchaStateReducer = captchaStateReducer;
27
+ const captchaStatusReducer = (state, action) => {
28
+ const logger = { info: console.log, error: console.error };
29
+ for (const key in action) {
30
+ logger[key](action[key]);
31
+ let status = Array.isArray(action[key]) ? action[key][1] : action[key];
32
+ if (status instanceof Error) {
33
+ status = status.message;
34
+ }
35
+ return { [key]: String(status) };
36
+ }
37
+ return state;
38
+ };
39
+ exports.captchaStatusReducer = captchaStatusReducer;
40
+ //# sourceMappingURL=client.js.map