@prosopo/types 1.0.2 → 2.0.0

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 (179) hide show
  1. package/dist/api/api.d.ts +10 -12
  2. package/dist/api/api.d.ts.map +1 -1
  3. package/dist/api/index.d.ts +2 -2
  4. package/dist/api/index.d.ts.map +1 -1
  5. package/dist/api/index.js +2 -2
  6. package/dist/api/index.js.map +1 -1
  7. package/dist/api/params.d.ts +3 -2
  8. package/dist/api/params.d.ts.map +1 -1
  9. package/dist/api/params.js +2 -1
  10. package/dist/api/params.js.map +1 -1
  11. package/dist/cjs/api/params.cjs +2 -1
  12. package/dist/cjs/config/config.cjs +43 -38
  13. package/dist/cjs/config/index.cjs +9 -8
  14. package/dist/cjs/config/network.cjs +6 -1
  15. package/dist/cjs/config/timeouts.cjs +19 -0
  16. package/dist/cjs/contract/artifacts.cjs +10 -3
  17. package/dist/cjs/datasets/captcha.cjs +35 -1
  18. package/dist/cjs/datasets/dataset.cjs +1 -1
  19. package/dist/cjs/datasets/index.cjs +5 -0
  20. package/dist/cjs/dist/api/api.cjs +1 -0
  21. package/dist/cjs/dist/api/index.cjs +8 -0
  22. package/dist/cjs/dist/api/params.cjs +30 -0
  23. package/dist/cjs/dist/config/config.cjs +182 -0
  24. package/dist/cjs/dist/config/enumMap.cjs +8 -0
  25. package/dist/cjs/dist/config/index.cjs +33 -0
  26. package/dist/cjs/dist/config/network.cjs +34 -0
  27. package/dist/cjs/dist/config/timeouts.cjs +19 -0
  28. package/dist/cjs/dist/contract/artifacts.cjs +135 -0
  29. package/dist/cjs/dist/contract/batch.cjs +1 -0
  30. package/dist/cjs/dist/contract/contract.cjs +1 -0
  31. package/dist/cjs/dist/contract/index.cjs +22 -0
  32. package/dist/cjs/dist/contract/interface.cjs +1 -0
  33. package/dist/cjs/dist/contract/useWeight.cjs +1 -0
  34. package/dist/cjs/dist/datasets/assets.cjs +1 -0
  35. package/dist/cjs/dist/datasets/captcha.cjs +118 -0
  36. package/dist/cjs/dist/datasets/dataset.cjs +32 -0
  37. package/dist/cjs/dist/datasets/index.cjs +52 -0
  38. package/dist/cjs/dist/datasets/merkle.cjs +1 -0
  39. package/dist/cjs/dist/index.cjs +16 -0
  40. package/dist/cjs/dist/networks/index.cjs +52 -0
  41. package/dist/cjs/dist/procaptcha/api.cjs +1 -0
  42. package/dist/cjs/dist/procaptcha/client.cjs +1 -0
  43. package/dist/cjs/dist/procaptcha/collector.cjs +1 -0
  44. package/dist/cjs/dist/procaptcha/index.cjs +17 -0
  45. package/dist/cjs/dist/procaptcha/manager.cjs +10 -0
  46. package/dist/cjs/dist/procaptcha/props.cjs +1 -0
  47. package/dist/cjs/dist/procaptcha/storage.cjs +9 -0
  48. package/dist/cjs/dist/procaptcha/token.cjs +58 -0
  49. package/dist/cjs/dist/procaptcha/utils.cjs +1 -0
  50. package/dist/cjs/dist/procaptcha-bundle/index.cjs +8 -0
  51. package/dist/cjs/dist/procaptcha-frictionless/index.cjs +2 -0
  52. package/dist/cjs/dist/procaptcha-frictionless/props.cjs +1 -0
  53. package/dist/cjs/dist/provider/accounts.cjs +7 -0
  54. package/dist/cjs/dist/provider/api.cjs +113 -0
  55. package/dist/cjs/dist/provider/argv.cjs +7 -0
  56. package/dist/cjs/dist/provider/index.cjs +35 -0
  57. package/dist/cjs/dist/provider/scheduler.cjs +14 -0
  58. package/dist/cjs/index.cjs +19 -8
  59. package/dist/cjs/networks/index.cjs +11 -5
  60. package/dist/cjs/procaptcha/manager.cjs +1 -1
  61. package/dist/cjs/procaptcha/token.cjs +23 -5
  62. package/dist/cjs/procaptcha-frictionless/index.cjs +2 -0
  63. package/dist/cjs/procaptcha-frictionless/props.cjs +1 -0
  64. package/dist/cjs/provider/accounts.cjs +7 -0
  65. package/dist/cjs/provider/api.cjs +102 -14
  66. package/dist/cjs/provider/argv.cjs +3 -2
  67. package/dist/cjs/provider/index.cjs +4 -1
  68. package/dist/config/config.d.ts +344 -96
  69. package/dist/config/config.d.ts.map +1 -1
  70. package/dist/config/config.js +64 -30
  71. package/dist/config/config.js.map +1 -1
  72. package/dist/config/enumMap.d.ts +1 -1
  73. package/dist/config/enumMap.d.ts.map +1 -1
  74. package/dist/config/enumMap.js +1 -1
  75. package/dist/config/enumMap.js.map +1 -1
  76. package/dist/config/index.d.ts +3 -2
  77. package/dist/config/index.d.ts.map +1 -1
  78. package/dist/config/index.js +3 -2
  79. package/dist/config/index.js.map +1 -1
  80. package/dist/config/network.d.ts +18 -18
  81. package/dist/config/network.d.ts.map +1 -1
  82. package/dist/config/network.js +12 -7
  83. package/dist/config/network.js.map +1 -1
  84. package/dist/config/timeouts.d.ts +9 -0
  85. package/dist/config/timeouts.d.ts.map +1 -0
  86. package/dist/config/timeouts.js +10 -0
  87. package/dist/config/timeouts.js.map +1 -0
  88. package/dist/contract/artifacts.d.ts +171 -171
  89. package/dist/contract/artifacts.d.ts.map +1 -1
  90. package/dist/contract/artifacts.js +7 -4
  91. package/dist/contract/artifacts.js.map +1 -1
  92. package/dist/contract/batch.d.ts +4 -4
  93. package/dist/contract/batch.d.ts.map +1 -1
  94. package/dist/contract/contract.d.ts +2 -2
  95. package/dist/contract/contract.d.ts.map +1 -1
  96. package/dist/contract/index.d.ts +5 -5
  97. package/dist/contract/index.d.ts.map +1 -1
  98. package/dist/contract/index.js +5 -5
  99. package/dist/contract/index.js.map +1 -1
  100. package/dist/contract/interface.d.ts +9 -9
  101. package/dist/contract/interface.d.ts.map +1 -1
  102. package/dist/contract/useWeight.d.ts +2 -2
  103. package/dist/contract/useWeight.d.ts.map +1 -1
  104. package/dist/datasets/assets.d.ts.map +1 -1
  105. package/dist/datasets/captcha.d.ts +52 -10
  106. package/dist/datasets/captcha.d.ts.map +1 -1
  107. package/dist/datasets/captcha.js +31 -3
  108. package/dist/datasets/captcha.js.map +1 -1
  109. package/dist/datasets/dataset.d.ts +43 -43
  110. package/dist/datasets/dataset.d.ts.map +1 -1
  111. package/dist/datasets/dataset.js +2 -2
  112. package/dist/datasets/dataset.js.map +1 -1
  113. package/dist/datasets/index.d.ts +4 -4
  114. package/dist/datasets/index.d.ts.map +1 -1
  115. package/dist/datasets/index.js +4 -4
  116. package/dist/datasets/index.js.map +1 -1
  117. package/dist/datasets/merkle.d.ts.map +1 -1
  118. package/dist/index.d.ts +9 -9
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +9 -8
  121. package/dist/index.js.map +1 -1
  122. package/dist/networks/index.d.ts +1 -1
  123. package/dist/networks/index.d.ts.map +1 -1
  124. package/dist/networks/index.js +22 -20
  125. package/dist/networks/index.js.map +1 -1
  126. package/dist/procaptcha/api.d.ts +8 -10
  127. package/dist/procaptcha/api.d.ts.map +1 -1
  128. package/dist/procaptcha/client.d.ts +8 -3
  129. package/dist/procaptcha/client.d.ts.map +1 -1
  130. package/dist/procaptcha/collector.d.ts.map +1 -1
  131. package/dist/procaptcha/index.d.ts +8 -8
  132. package/dist/procaptcha/index.d.ts.map +1 -1
  133. package/dist/procaptcha/index.js +8 -8
  134. package/dist/procaptcha/index.js.map +1 -1
  135. package/dist/procaptcha/manager.d.ts +5 -5
  136. package/dist/procaptcha/manager.d.ts.map +1 -1
  137. package/dist/procaptcha/manager.js +3 -3
  138. package/dist/procaptcha/manager.js.map +1 -1
  139. package/dist/procaptcha/props.d.ts +2 -2
  140. package/dist/procaptcha/props.d.ts.map +1 -1
  141. package/dist/procaptcha/storage.d.ts +1 -1
  142. package/dist/procaptcha/storage.d.ts.map +1 -1
  143. package/dist/procaptcha/storage.js +1 -1
  144. package/dist/procaptcha/storage.js.map +1 -1
  145. package/dist/procaptcha/token.d.ts +56 -1
  146. package/dist/procaptcha/token.d.ts.map +1 -1
  147. package/dist/procaptcha/token.js +21 -5
  148. package/dist/procaptcha/token.js.map +1 -1
  149. package/dist/procaptcha/utils.d.ts.map +1 -1
  150. package/dist/procaptcha-bundle/index.d.ts.map +1 -1
  151. package/dist/procaptcha-bundle/index.js.map +1 -1
  152. package/dist/procaptcha-frictionless/index.d.ts +2 -0
  153. package/dist/procaptcha-frictionless/index.d.ts.map +1 -0
  154. package/dist/procaptcha-frictionless/index.js +2 -0
  155. package/dist/procaptcha-frictionless/index.js.map +1 -0
  156. package/dist/procaptcha-frictionless/props.d.ts +8 -0
  157. package/dist/procaptcha-frictionless/props.d.ts.map +1 -0
  158. package/dist/procaptcha-frictionless/props.js +2 -0
  159. package/dist/procaptcha-frictionless/props.js.map +1 -0
  160. package/dist/provider/accounts.d.ts +6 -3
  161. package/dist/provider/accounts.d.ts.map +1 -1
  162. package/dist/provider/accounts.js +5 -1
  163. package/dist/provider/accounts.js.map +1 -1
  164. package/dist/provider/api.d.ts +324 -34
  165. package/dist/provider/api.d.ts.map +1 -1
  166. package/dist/provider/api.js +57 -12
  167. package/dist/provider/api.js.map +1 -1
  168. package/dist/provider/argv.d.ts +1 -1
  169. package/dist/provider/argv.d.ts.map +1 -1
  170. package/dist/provider/argv.js +2 -2
  171. package/dist/provider/argv.js.map +1 -1
  172. package/dist/provider/index.d.ts +4 -4
  173. package/dist/provider/index.d.ts.map +1 -1
  174. package/dist/provider/index.js +4 -4
  175. package/dist/provider/index.js.map +1 -1
  176. package/dist/provider/scheduler.d.ts.map +1 -1
  177. package/dist/provider/scheduler.js.map +1 -1
  178. package/package.json +50 -55
  179. package/vite.cjs.config.ts +3 -3
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ const network = require("../config/network.cjs");
3
+ const pairTypeSr25519 = network.NetworkPairTypeSchema.parse("sr25519");
4
+ const getContractAddress = (defaultAddress) => {
5
+ return process.env.PROSOPO_CONTRACT_ADDRESS ? process.env.PROSOPO_CONTRACT_ADDRESS : defaultAddress || "";
6
+ };
7
+ const networks = () => {
8
+ return {
9
+ [network.NetworkNamesSchema.Values.development]: {
10
+ endpoint: process.env.PROSOPO_SUBSTRATE_ENDPOINT ? [process.env.PROSOPO_SUBSTRATE_ENDPOINT] : ["ws://127.0.0.1:9944"],
11
+ contract: {
12
+ name: "captcha",
13
+ address: getContractAddress("CONTRACT_NOT_DEPLOYED")
14
+ },
15
+ pairType: pairTypeSr25519,
16
+ ss58Format: 42
17
+ },
18
+ [network.NetworkNamesSchema.Values.rococo]: {
19
+ endpoint: process.env.PROSOPO_SUBSTRATE_ENDPOINT ? [process.env.PROSOPO_SUBSTRATE_ENDPOINT] : ["wss://rococo-contracts-rpc.polkadot.io:443"],
20
+ contract: {
21
+ name: "captcha",
22
+ address: getContractAddress("5HiVWQhJrysNcFNEWf2crArKht16zrhro3FcekVWocyQjx5u")
23
+ },
24
+ pairType: pairTypeSr25519,
25
+ ss58Format: 42
26
+ },
27
+ [network.NetworkNamesSchema.Values.shiden]: {
28
+ endpoint: process.env.PROSOPO_SUBSTRATE_ENDPOINT ? [process.env.PROSOPO_SUBSTRATE_ENDPOINT] : ["wss://shiden.public.blastapi.io"],
29
+ contract: {
30
+ address: getContractAddress("XpRox5bNg6YV8BHafsuHQ3b8i7gSq3GKPeYLA1b8EZwrDb3"),
31
+ name: "captcha"
32
+ },
33
+ pairType: pairTypeSr25519,
34
+ ss58Format: 42
35
+ },
36
+ [network.NetworkNamesSchema.Values.astar]: {
37
+ endpoint: process.env.PROSOPO_SUBSTRATE_ENDPOINT ? [process.env.PROSOPO_SUBSTRATE_ENDPOINT] : [
38
+ "wss://rpc.astar.network",
39
+ "wss://1rpc.io/astr",
40
+ "wss://astar.public.blastapi.io",
41
+ "wss://astar.public.curie.radiumblock.co/ws"
42
+ ],
43
+ contract: {
44
+ address: getContractAddress("X2NLPj49L4UKWAzX8tS1LHTwioMHNyVurCsvTyUNYxcPuWA"),
45
+ name: "captcha"
46
+ },
47
+ pairType: pairTypeSr25519,
48
+ ss58Format: 42
49
+ }
50
+ };
51
+ };
52
+ module.exports = networks;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("./api.cjs");
4
+ require("./client.cjs");
5
+ require("./collector.cjs");
6
+ const manager = require("./manager.cjs");
7
+ require("./props.cjs");
8
+ const storage = require("./storage.cjs");
9
+ const token = require("./token.cjs");
10
+ require("./utils.cjs");
11
+ exports.ProcaptchaResponse = manager.ProcaptchaResponse;
12
+ exports.ProsopoLocalStorageSchema = storage.ProsopoLocalStorageSchema;
13
+ exports.ProcaptchaOutputSchema = token.ProcaptchaOutputSchema;
14
+ exports.ProcaptchaTokenCodec = token.ProcaptchaTokenCodec;
15
+ exports.ProcaptchaTokenSpec = token.ProcaptchaTokenSpec;
16
+ exports.decodeProcaptchaOutput = token.decodeProcaptchaOutput;
17
+ exports.encodeProcaptchaOutput = token.encodeProcaptchaOutput;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const z = require("zod");
4
+ require("../api/index.cjs");
5
+ const token = require("./token.cjs");
6
+ const params = require("../api/params.cjs");
7
+ const ProcaptchaResponse = z.object({
8
+ [params.ApiParams.procaptchaResponse]: token.ProcaptchaTokenSpec
9
+ });
10
+ exports.ProcaptchaResponse = ProcaptchaResponse;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const z = require("zod");
4
+ const ProsopoLocalStorageSchema = z.z.object({
5
+ account: z.z.string().optional(),
6
+ blockNumber: z.z.number().optional(),
7
+ providerUrl: z.z.string().optional()
8
+ });
9
+ exports.ProsopoLocalStorageSchema = ProsopoLocalStorageSchema;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const util = require("@polkadot/util");
4
+ const scaleTs = require("scale-ts");
5
+ const z = require("zod");
6
+ const params = require("../api/params.cjs");
7
+ const ProcaptchaOutputSchema = z.object({
8
+ [params.ApiParams.commitmentId]: z.string().optional(),
9
+ [params.ApiParams.providerUrl]: z.string().optional(),
10
+ [params.ApiParams.dapp]: z.string(),
11
+ [params.ApiParams.user]: z.string(),
12
+ [params.ApiParams.blockNumber]: z.number(),
13
+ [params.ApiParams.challenge]: z.string().optional(),
14
+ [params.ApiParams.nonce]: z.number().optional(),
15
+ [params.ApiParams.timestamp]: z.string(),
16
+ [params.ApiParams.signature]: z.object({
17
+ [params.ApiParams.provider]: z.object({
18
+ [params.ApiParams.timestamp]: z.string()
19
+ }),
20
+ [params.ApiParams.user]: z.object({
21
+ [params.ApiParams.timestamp]: z.string()
22
+ }).optional()
23
+ })
24
+ });
25
+ const ProcaptchaTokenCodec = scaleTs.Struct({
26
+ [params.ApiParams.commitmentId]: scaleTs.Option(scaleTs.str),
27
+ [params.ApiParams.providerUrl]: scaleTs.Option(scaleTs.str),
28
+ [params.ApiParams.dapp]: scaleTs.str,
29
+ [params.ApiParams.user]: scaleTs.str,
30
+ [params.ApiParams.blockNumber]: scaleTs.u32,
31
+ [params.ApiParams.challenge]: scaleTs.Option(scaleTs.str),
32
+ [params.ApiParams.nonce]: scaleTs.Option(scaleTs.u32),
33
+ [params.ApiParams.timestamp]: scaleTs.str,
34
+ [params.ApiParams.signature]: scaleTs.Struct({
35
+ [params.ApiParams.provider]: scaleTs.Struct({
36
+ [params.ApiParams.timestamp]: scaleTs.str
37
+ })
38
+ })
39
+ });
40
+ const ProcaptchaTokenSpec = z.string().startsWith("0x");
41
+ const encodeProcaptchaOutput = (procaptchaOutput) => {
42
+ console.log("encoding", procaptchaOutput);
43
+ return util.u8aToHex(ProcaptchaTokenCodec.enc({
44
+ [params.ApiParams.commitmentId]: void 0,
45
+ [params.ApiParams.providerUrl]: void 0,
46
+ [params.ApiParams.challenge]: void 0,
47
+ [params.ApiParams.nonce]: void 0,
48
+ ...procaptchaOutput
49
+ }));
50
+ };
51
+ const decodeProcaptchaOutput = (procaptchaToken) => {
52
+ return ProcaptchaOutputSchema.parse(ProcaptchaTokenCodec.dec(util.hexToU8a(procaptchaToken)));
53
+ };
54
+ exports.ProcaptchaOutputSchema = ProcaptchaOutputSchema;
55
+ exports.ProcaptchaTokenCodec = ProcaptchaTokenCodec;
56
+ exports.ProcaptchaTokenSpec = ProcaptchaTokenSpec;
57
+ exports.decodeProcaptchaOutput = decodeProcaptchaOutput;
58
+ exports.encodeProcaptchaOutput = encodeProcaptchaOutput;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ exports.FeaturesEnum = void 0;
4
+ (function(FeaturesEnum) {
5
+ FeaturesEnum["Image"] = "image";
6
+ FeaturesEnum["Pow"] = "pow";
7
+ FeaturesEnum["Frictionless"] = "frictionless";
8
+ })(exports.FeaturesEnum || (exports.FeaturesEnum = {}));
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ require("./props.cjs");
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ exports.Payee = void 0;
4
+ (function(Payee) {
5
+ Payee["provider"] = "Provider";
6
+ Payee["dapp"] = "Dapp";
7
+ })(exports.Payee || (exports.Payee = {}));
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const z = require("zod");
4
+ const params = require("../api/params.cjs");
5
+ const timeouts = require("../config/timeouts.cjs");
6
+ require("../datasets/index.cjs");
7
+ require("../procaptcha/index.cjs");
8
+ const captcha = require("../datasets/captcha.cjs");
9
+ const token = require("../procaptcha/token.cjs");
10
+ exports.ApiPaths = void 0;
11
+ (function(ApiPaths) {
12
+ ApiPaths["GetImageCaptchaChallenge"] = "/v1/prosopo/provider/captcha/image";
13
+ ApiPaths["GetPowCaptchaChallenge"] = "/v1/prosopo/provider/captcha/pow";
14
+ ApiPaths["SubmitImageCaptchaSolution"] = "/v1/prosopo/provider/solution";
15
+ ApiPaths["SubmitPowCaptchaSolution"] = "/v1/prosopo/provider/pow/solution";
16
+ ApiPaths["VerifyPowCaptchaSolution"] = "/v1/prosopo/provider/pow/verify";
17
+ ApiPaths["VerifyImageCaptchaSolutionDapp"] = "/v1/prosopo/provider/image/dapp/verify";
18
+ ApiPaths["VerifyImageCaptchaSolutionUser"] = "/v1/prosopo/provider/image/user/verify";
19
+ ApiPaths["GetProviderStatus"] = "/v1/prosopo/provider/status";
20
+ ApiPaths["GetProviderDetails"] = "/v1/prosopo/provider/details";
21
+ ApiPaths["SubmitUserEvents"] = "/v1/prosopo/provider/events";
22
+ })(exports.ApiPaths || (exports.ApiPaths = {}));
23
+ exports.AdminApiPaths = void 0;
24
+ (function(AdminApiPaths) {
25
+ AdminApiPaths["BatchCommit"] = "/v1/prosopo/provider/admin/batch";
26
+ AdminApiPaths["UpdateDataset"] = "/v1/prosopo/provider/admin/dataset";
27
+ AdminApiPaths["ProviderDeregister"] = "/v1/prosopo/provider/admin/deregister";
28
+ AdminApiPaths["ProviderUpdate"] = "/v1/prosopo/provider/admin/update";
29
+ })(exports.AdminApiPaths || (exports.AdminApiPaths = {}));
30
+ const ProviderDefaultRateLimits = {
31
+ [exports.ApiPaths.GetImageCaptchaChallenge]: { windowMs: 6e4, limit: 30 },
32
+ [exports.ApiPaths.GetPowCaptchaChallenge]: { windowMs: 6e4, limit: 60 },
33
+ [exports.ApiPaths.SubmitImageCaptchaSolution]: { windowMs: 6e4, limit: 60 },
34
+ [exports.ApiPaths.SubmitPowCaptchaSolution]: { windowMs: 6e4, limit: 60 },
35
+ [exports.ApiPaths.VerifyPowCaptchaSolution]: { windowMs: 6e4, limit: 60 },
36
+ [exports.ApiPaths.VerifyImageCaptchaSolutionDapp]: { windowMs: 6e4, limit: 60 },
37
+ [exports.ApiPaths.VerifyImageCaptchaSolutionUser]: { windowMs: 6e4, limit: 60 },
38
+ [exports.ApiPaths.GetProviderStatus]: { windowMs: 6e4, limit: 60 },
39
+ [exports.ApiPaths.GetProviderDetails]: { windowMs: 6e4, limit: 60 },
40
+ [exports.ApiPaths.SubmitUserEvents]: { windowMs: 6e4, limit: 60 },
41
+ [exports.AdminApiPaths.BatchCommit]: { windowMs: 6e4, limit: 5 },
42
+ [exports.AdminApiPaths.UpdateDataset]: { windowMs: 6e4, limit: 5 },
43
+ [exports.AdminApiPaths.ProviderDeregister]: { windowMs: 6e4, limit: 1 },
44
+ [exports.AdminApiPaths.ProviderUpdate]: { windowMs: 6e4, limit: 5 }
45
+ };
46
+ const createRateLimitSchemaWithDefaults = (paths) => z.object(Object.entries(paths).reduce((schemas, [path, defaults]) => {
47
+ const enumPath = path;
48
+ schemas[enumPath] = z.object({
49
+ windowMs: z.number().optional().default(defaults.windowMs),
50
+ limit: z.number().optional().default(defaults.limit)
51
+ });
52
+ return schemas;
53
+ }, {}));
54
+ const ApiPathRateLimits = createRateLimitSchemaWithDefaults(ProviderDefaultRateLimits);
55
+ const CaptchaRequestBody = z.object({
56
+ [params.ApiParams.user]: z.string(),
57
+ [params.ApiParams.dapp]: z.string(),
58
+ [params.ApiParams.datasetId]: z.string(),
59
+ [params.ApiParams.blockNumber]: z.string()
60
+ });
61
+ const CaptchaSolutionBody = z.object({
62
+ [params.ApiParams.user]: z.string(),
63
+ [params.ApiParams.dapp]: z.string(),
64
+ [params.ApiParams.captchas]: z.array(captcha.CaptchaSolutionSchema),
65
+ [params.ApiParams.requestHash]: z.string(),
66
+ [params.ApiParams.timestamp]: z.string(),
67
+ [params.ApiParams.signature]: z.object({
68
+ [params.ApiParams.user]: z.object({
69
+ [params.ApiParams.requestHash]: z.string()
70
+ }),
71
+ [params.ApiParams.provider]: z.object({
72
+ [params.ApiParams.timestamp]: z.string()
73
+ })
74
+ })
75
+ });
76
+ const VerifySolutionBody = z.object({
77
+ [params.ApiParams.token]: token.ProcaptchaTokenSpec,
78
+ [params.ApiParams.dappUserSignature]: z.string(),
79
+ [params.ApiParams.maxVerifiedTime]: z.number().optional().default(timeouts.DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED)
80
+ });
81
+ const ServerPowCaptchaVerifyRequestBody = z.object({
82
+ [params.ApiParams.token]: token.ProcaptchaTokenSpec,
83
+ [params.ApiParams.dappSignature]: z.string(),
84
+ [params.ApiParams.verifiedTimeout]: z.number().optional().default(timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT)
85
+ });
86
+ const GetPowCaptchaChallengeRequestBody = z.object({
87
+ [params.ApiParams.user]: z.string(),
88
+ [params.ApiParams.dapp]: z.string()
89
+ });
90
+ const SubmitPowCaptchaSolutionBody = z.object({
91
+ [params.ApiParams.challenge]: captcha.PowChallengeIdSchema,
92
+ [params.ApiParams.difficulty]: z.number(),
93
+ [params.ApiParams.signature]: z.object({
94
+ [params.ApiParams.user]: z.object({
95
+ [params.ApiParams.timestamp]: z.string()
96
+ }),
97
+ [params.ApiParams.provider]: z.object({
98
+ [params.ApiParams.challenge]: z.string()
99
+ })
100
+ }),
101
+ [params.ApiParams.user]: z.string(),
102
+ [params.ApiParams.dapp]: z.string(),
103
+ [params.ApiParams.nonce]: z.number(),
104
+ [params.ApiParams.verifiedTimeout]: z.number().optional().default(timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT)
105
+ });
106
+ exports.ApiPathRateLimits = ApiPathRateLimits;
107
+ exports.CaptchaRequestBody = CaptchaRequestBody;
108
+ exports.CaptchaSolutionBody = CaptchaSolutionBody;
109
+ exports.GetPowCaptchaChallengeRequestBody = GetPowCaptchaChallengeRequestBody;
110
+ exports.ProviderDefaultRateLimits = ProviderDefaultRateLimits;
111
+ exports.ServerPowCaptchaVerifyRequestBody = ServerPowCaptchaVerifyRequestBody;
112
+ exports.SubmitPowCaptchaSolutionBody = SubmitPowCaptchaSolutionBody;
113
+ exports.VerifySolutionBody = VerifySolutionBody;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../index.cjs");
4
+ const z = require("zod");
5
+ const accounts = require("./accounts.cjs");
6
+ const PayeeSchema = z.nativeEnum(accounts.Payee);
7
+ exports.PayeeSchema = PayeeSchema;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const accounts = require("./accounts.cjs");
4
+ const api = require("./api.cjs");
5
+ const scheduler = require("./scheduler.cjs");
6
+ const argv = require("./argv.cjs");
7
+ Object.defineProperty(exports, "Payee", {
8
+ enumerable: true,
9
+ get: () => accounts.Payee
10
+ });
11
+ Object.defineProperty(exports, "AdminApiPaths", {
12
+ enumerable: true,
13
+ get: () => api.AdminApiPaths
14
+ });
15
+ exports.ApiPathRateLimits = api.ApiPathRateLimits;
16
+ Object.defineProperty(exports, "ApiPaths", {
17
+ enumerable: true,
18
+ get: () => api.ApiPaths
19
+ });
20
+ exports.CaptchaRequestBody = api.CaptchaRequestBody;
21
+ exports.CaptchaSolutionBody = api.CaptchaSolutionBody;
22
+ exports.GetPowCaptchaChallengeRequestBody = api.GetPowCaptchaChallengeRequestBody;
23
+ exports.ProviderDefaultRateLimits = api.ProviderDefaultRateLimits;
24
+ exports.ServerPowCaptchaVerifyRequestBody = api.ServerPowCaptchaVerifyRequestBody;
25
+ exports.SubmitPowCaptchaSolutionBody = api.SubmitPowCaptchaSolutionBody;
26
+ exports.VerifySolutionBody = api.VerifySolutionBody;
27
+ Object.defineProperty(exports, "ScheduledTaskNames", {
28
+ enumerable: true,
29
+ get: () => scheduler.ScheduledTaskNames
30
+ });
31
+ Object.defineProperty(exports, "ScheduledTaskStatus", {
32
+ enumerable: true,
33
+ get: () => scheduler.ScheduledTaskStatus
34
+ });
35
+ exports.PayeeSchema = argv.PayeeSchema;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ exports.ScheduledTaskNames = void 0;
4
+ (function(ScheduledTaskNames) {
5
+ ScheduledTaskNames["BatchCommitment"] = "BatchCommitment";
6
+ ScheduledTaskNames["CalculateSolution"] = "CalculateSolution";
7
+ })(exports.ScheduledTaskNames || (exports.ScheduledTaskNames = {}));
8
+ exports.ScheduledTaskStatus = void 0;
9
+ (function(ScheduledTaskStatus) {
10
+ ScheduledTaskStatus["Pending"] = "Pending";
11
+ ScheduledTaskStatus["Running"] = "Running";
12
+ ScheduledTaskStatus["Completed"] = "Completed";
13
+ ScheduledTaskStatus["Failed"] = "Failed";
14
+ })(exports.ScheduledTaskStatus || (exports.ScheduledTaskStatus = {}));
@@ -7,13 +7,16 @@ require("./datasets/index.cjs");
7
7
  require("./provider/index.cjs");
8
8
  require("./procaptcha/index.cjs");
9
9
  const index$1 = require("./procaptcha-bundle/index.cjs");
10
+ require("./procaptcha-frictionless/index.cjs");
10
11
  const index = require("./networks/index.cjs");
11
12
  const params = require("./api/params.cjs");
12
13
  const config = require("./config/config.cjs");
13
14
  const network = require("./config/network.cjs");
15
+ const timeouts = require("./config/timeouts.cjs");
14
16
  const artifacts = require("./contract/artifacts.cjs");
15
17
  const captcha = require("./datasets/captcha.cjs");
16
18
  const dataset = require("./datasets/dataset.cjs");
19
+ const accounts = require("./provider/accounts.cjs");
17
20
  const api = require("./provider/api.cjs");
18
21
  const scheduler = require("./provider/scheduler.cjs");
19
22
  const argv = require("./provider/argv.cjs");
@@ -26,14 +29,6 @@ exports.ApiParams = params.ApiParams;
26
29
  exports.AccountCreatorConfigSchema = config.AccountCreatorConfigSchema;
27
30
  exports.BatchCommitConfigSchema = config.BatchCommitConfigSchema;
28
31
  exports.CaptchaTimeoutSchema = config.CaptchaTimeoutSchema;
29
- exports.DEFAULT_IMAGE_CAPTCHA_SOLUTION_TIMEOUT = config.DEFAULT_IMAGE_CAPTCHA_SOLUTION_TIMEOUT;
30
- exports.DEFAULT_IMAGE_CAPTCHA_TIMEOUT = config.DEFAULT_IMAGE_CAPTCHA_TIMEOUT;
31
- exports.DEFAULT_IMAGE_CAPTCHA_VERIFIED_TIMEOUT = config.DEFAULT_IMAGE_CAPTCHA_VERIFIED_TIMEOUT;
32
- exports.DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED = config.DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED;
33
- exports.DEFAULT_MAX_VERIFIED_TIME_CONTRACT = config.DEFAULT_MAX_VERIFIED_TIME_CONTRACT;
34
- exports.DEFAULT_POW_CAPTCHA_CACHED_TIMEOUT = config.DEFAULT_POW_CAPTCHA_CACHED_TIMEOUT;
35
- exports.DEFAULT_POW_CAPTCHA_SOLUTION_TIMEOUT = config.DEFAULT_POW_CAPTCHA_SOLUTION_TIMEOUT;
36
- exports.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT = config.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT;
37
32
  exports.DatabaseConfigSchema = config.DatabaseConfigSchema;
38
33
  exports.DatabaseTypes = config.DatabaseTypes;
39
34
  exports.EnvironmentTypesSchema = config.EnvironmentTypesSchema;
@@ -51,6 +46,14 @@ exports.NetworkConfigSchema = network.NetworkConfigSchema;
51
46
  exports.NetworkNamesSchema = network.NetworkNamesSchema;
52
47
  exports.NetworkPairTypeSchema = network.NetworkPairTypeSchema;
53
48
  exports.ProsopoNetworkSchema = network.ProsopoNetworkSchema;
49
+ exports.DEFAULT_IMAGE_CAPTCHA_SOLUTION_TIMEOUT = timeouts.DEFAULT_IMAGE_CAPTCHA_SOLUTION_TIMEOUT;
50
+ exports.DEFAULT_IMAGE_CAPTCHA_TIMEOUT = timeouts.DEFAULT_IMAGE_CAPTCHA_TIMEOUT;
51
+ exports.DEFAULT_IMAGE_CAPTCHA_VERIFIED_TIMEOUT = timeouts.DEFAULT_IMAGE_CAPTCHA_VERIFIED_TIMEOUT;
52
+ exports.DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED = timeouts.DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED;
53
+ exports.DEFAULT_MAX_VERIFIED_TIME_CONTRACT = timeouts.DEFAULT_MAX_VERIFIED_TIME_CONTRACT;
54
+ exports.DEFAULT_POW_CAPTCHA_CACHED_TIMEOUT = timeouts.DEFAULT_POW_CAPTCHA_CACHED_TIMEOUT;
55
+ exports.DEFAULT_POW_CAPTCHA_SOLUTION_TIMEOUT = timeouts.DEFAULT_POW_CAPTCHA_SOLUTION_TIMEOUT;
56
+ exports.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT = timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT;
54
57
  exports.AbiCellSpec = artifacts.AbiCellSpec;
55
58
  exports.AbiDetailsSpec = artifacts.AbiDetailsSpec;
56
59
  exports.AbiEnumSpec = artifacts.AbiEnumSpec;
@@ -72,16 +75,21 @@ exports.CaptchaSchema = captcha.CaptchaSchema;
72
75
  exports.CaptchaSolutionArraySchema = captcha.CaptchaSolutionArraySchema;
73
76
  exports.CaptchaSolutionSchema = captcha.CaptchaSolutionSchema;
74
77
  exports.CaptchaStates = captcha.CaptchaStates;
78
+ exports.CaptchaStatus = captcha.CaptchaStatus;
75
79
  exports.CaptchaTypes = captcha.CaptchaTypes;
76
80
  exports.CaptchasContainerSchema = captcha.CaptchasContainerSchema;
77
81
  exports.CaptchasSchema = captcha.CaptchasSchema;
78
82
  exports.CaptchasWithNumericSolutionSchema = captcha.CaptchasWithNumericSolutionSchema;
83
+ exports.DappPayee = captcha.DappPayee;
79
84
  exports.DataSchema = captcha.DataSchema;
85
+ exports.GovernanceStatus = captcha.GovernanceStatus;
80
86
  exports.HashedCaptchaItemSchema = captcha.HashedCaptchaItemSchema;
81
87
  exports.LabelledDataSchema = captcha.LabelledDataSchema;
82
88
  exports.LabelledItemSchema = captcha.LabelledItemSchema;
83
89
  exports.LabelsContainerSchema = captcha.LabelsContainerSchema;
84
90
  exports.MaybeLabelledHashedItemSchema = captcha.MaybeLabelledHashedItemSchema;
91
+ exports.POW_SEPARATOR = captcha.POW_SEPARATOR;
92
+ exports.PowChallengeIdSchema = captcha.PowChallengeIdSchema;
85
93
  exports.SelectAllCaptchaSchema = captcha.SelectAllCaptchaSchema;
86
94
  exports.SelectAllCaptchaSchemaRaw = captcha.SelectAllCaptchaSchemaRaw;
87
95
  exports.SelectAllCaptchaSchemaWithNumericSolution = captcha.SelectAllCaptchaSchemaWithNumericSolution;
@@ -89,11 +97,14 @@ exports.DatasetSchema = dataset.DatasetSchema;
89
97
  exports.DatasetWithIdsAndTreeSchema = dataset.DatasetWithIdsAndTreeSchema;
90
98
  exports.DatasetWithIdsSchema = dataset.DatasetWithIdsSchema;
91
99
  exports.DatasetWithNumericSolutionSchema = dataset.DatasetWithNumericSolutionSchema;
100
+ exports.Payee = accounts.Payee;
92
101
  exports.AdminApiPaths = api.AdminApiPaths;
102
+ exports.ApiPathRateLimits = api.ApiPathRateLimits;
93
103
  exports.ApiPaths = api.ApiPaths;
94
104
  exports.CaptchaRequestBody = api.CaptchaRequestBody;
95
105
  exports.CaptchaSolutionBody = api.CaptchaSolutionBody;
96
106
  exports.GetPowCaptchaChallengeRequestBody = api.GetPowCaptchaChallengeRequestBody;
107
+ exports.ProviderDefaultRateLimits = api.ProviderDefaultRateLimits;
97
108
  exports.ServerPowCaptchaVerifyRequestBody = api.ServerPowCaptchaVerifyRequestBody;
98
109
  exports.SubmitPowCaptchaSolutionBody = api.SubmitPowCaptchaSolutionBody;
99
110
  exports.VerifySolutionBody = api.VerifySolutionBody;
@@ -19,7 +19,9 @@ const networks = () => {
19
19
  endpoint: process.env.PROSOPO_SUBSTRATE_ENDPOINT ? [process.env.PROSOPO_SUBSTRATE_ENDPOINT] : ["wss://rococo-contracts-rpc.polkadot.io:443"],
20
20
  contract: {
21
21
  name: "captcha",
22
- address: getContractAddress("5HiVWQhJrysNcFNEWf2crArKht16zrhro3FcekVWocyQjx5u")
22
+ address: getContractAddress(
23
+ "5HiVWQhJrysNcFNEWf2crArKht16zrhro3FcekVWocyQjx5u"
24
+ )
23
25
  },
24
26
  pairType: pairTypeSr25519,
25
27
  ss58Format: 42
@@ -27,11 +29,13 @@ const networks = () => {
27
29
  [network.NetworkNamesSchema.Values.shiden]: {
28
30
  endpoint: process.env.PROSOPO_SUBSTRATE_ENDPOINT ? [process.env.PROSOPO_SUBSTRATE_ENDPOINT] : ["wss://shiden.public.blastapi.io"],
29
31
  contract: {
30
- address: getContractAddress("XpRox5bNg6YV8BHafsuHQ3b8i7gSq3GKPeYLA1b8EZwrDb3"),
32
+ address: getContractAddress(
33
+ "XpRox5bNg6YV8BHafsuHQ3b8i7gSq3GKPeYLA1b8EZwrDb3"
34
+ ),
31
35
  name: "captcha"
32
36
  },
33
37
  pairType: pairTypeSr25519,
34
- ss58Format: 5
38
+ ss58Format: 42
35
39
  },
36
40
  [network.NetworkNamesSchema.Values.astar]: {
37
41
  endpoint: process.env.PROSOPO_SUBSTRATE_ENDPOINT ? [process.env.PROSOPO_SUBSTRATE_ENDPOINT] : [
@@ -41,11 +45,13 @@ const networks = () => {
41
45
  "wss://astar.public.curie.radiumblock.co/ws"
42
46
  ],
43
47
  contract: {
44
- address: getContractAddress("X2NLPj49L4UKWAzX8tS1LHTwioMHNyVurCsvTyUNYxcPuWA"),
48
+ address: getContractAddress(
49
+ "X2NLPj49L4UKWAzX8tS1LHTwioMHNyVurCsvTyUNYxcPuWA"
50
+ ),
45
51
  name: "captcha"
46
52
  },
47
53
  pairType: pairTypeSr25519,
48
- ss58Format: 5
54
+ ss58Format: 42
49
55
  }
50
56
  };
51
57
  };
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const z = require("zod");
3
4
  require("../api/index.cjs");
4
5
  const token = require("./token.cjs");
5
- const z = require("zod");
6
6
  const params = require("../api/params.cjs");
7
7
  const ProcaptchaResponse = z.object({
8
8
  [params.ApiParams.procaptchaResponse]: token.ProcaptchaTokenSpec
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const params = require("../api/params.cjs");
4
- const scaleTs = require("scale-ts");
5
3
  const util = require("@polkadot/util");
4
+ const scaleTs = require("scale-ts");
6
5
  const z = require("zod");
6
+ const params = require("../api/params.cjs");
7
7
  const ProcaptchaOutputSchema = z.object({
8
8
  [params.ApiParams.commitmentId]: z.string().optional(),
9
9
  [params.ApiParams.providerUrl]: z.string().optional(),
@@ -11,7 +11,16 @@ const ProcaptchaOutputSchema = z.object({
11
11
  [params.ApiParams.user]: z.string(),
12
12
  [params.ApiParams.blockNumber]: z.number(),
13
13
  [params.ApiParams.challenge]: z.string().optional(),
14
- [params.ApiParams.nonce]: z.number().optional()
14
+ [params.ApiParams.nonce]: z.number().optional(),
15
+ [params.ApiParams.timestamp]: z.string(),
16
+ [params.ApiParams.signature]: z.object({
17
+ [params.ApiParams.provider]: z.object({
18
+ [params.ApiParams.timestamp]: z.string()
19
+ }),
20
+ [params.ApiParams.user]: z.object({
21
+ [params.ApiParams.timestamp]: z.string()
22
+ }).optional()
23
+ })
15
24
  });
16
25
  const ProcaptchaTokenCodec = scaleTs.Struct({
17
26
  [params.ApiParams.commitmentId]: scaleTs.Option(scaleTs.str),
@@ -20,10 +29,17 @@ const ProcaptchaTokenCodec = scaleTs.Struct({
20
29
  [params.ApiParams.user]: scaleTs.str,
21
30
  [params.ApiParams.blockNumber]: scaleTs.u32,
22
31
  [params.ApiParams.challenge]: scaleTs.Option(scaleTs.str),
23
- [params.ApiParams.nonce]: scaleTs.Option(scaleTs.u32)
32
+ [params.ApiParams.nonce]: scaleTs.Option(scaleTs.u32),
33
+ [params.ApiParams.timestamp]: scaleTs.str,
34
+ [params.ApiParams.signature]: scaleTs.Struct({
35
+ [params.ApiParams.provider]: scaleTs.Struct({
36
+ [params.ApiParams.timestamp]: scaleTs.str
37
+ })
38
+ })
24
39
  });
25
40
  const ProcaptchaTokenSpec = z.string().startsWith("0x");
26
41
  const encodeProcaptchaOutput = (procaptchaOutput) => {
42
+ console.log("encoding", procaptchaOutput);
27
43
  return util.u8aToHex(
28
44
  ProcaptchaTokenCodec.enc({
29
45
  [params.ApiParams.commitmentId]: void 0,
@@ -36,7 +52,9 @@ const encodeProcaptchaOutput = (procaptchaOutput) => {
36
52
  );
37
53
  };
38
54
  const decodeProcaptchaOutput = (procaptchaToken) => {
39
- return ProcaptchaOutputSchema.parse(ProcaptchaTokenCodec.dec(util.hexToU8a(procaptchaToken)));
55
+ return ProcaptchaOutputSchema.parse(
56
+ ProcaptchaTokenCodec.dec(util.hexToU8a(procaptchaToken))
57
+ );
40
58
  };
41
59
  exports.ProcaptchaOutputSchema = ProcaptchaOutputSchema;
42
60
  exports.ProcaptchaTokenCodec = ProcaptchaTokenCodec;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ require("./props.cjs");
@@ -0,0 +1 @@
1
+ "use strict";
@@ -1 +1,8 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ var Payee = /* @__PURE__ */ ((Payee2) => {
4
+ Payee2["provider"] = "Provider";
5
+ Payee2["dapp"] = "Dapp";
6
+ return Payee2;
7
+ })(Payee || {});
8
+ exports.Payee = Payee;