@prosopo/types 1.0.1 → 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 (180) 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 +44 -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 +347 -96
  69. package/dist/config/config.d.ts.map +1 -1
  70. package/dist/config/config.js +65 -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
  180. package/typedoc.config.js +0 -19
@@ -1,7 +1,6 @@
1
- import { ApiParams } from '../api/params.js';
2
- import { CaptchaWithProof } from '../datasets/index.js';
3
- import { Hash, Provider } from '@prosopo/captcha-contract/types-returns';
4
- import { input, output, infer as zInfer } from 'zod';
1
+ import { type ZodDefault, type ZodNumber, type ZodObject, type ZodOptional, type input, type output, type infer as zInfer } from "zod";
2
+ import { ApiParams } from "../api/params.js";
3
+ import { type Captcha, PoWChallengeId } from "../datasets/index.js";
5
4
  export declare enum ApiPaths {
6
5
  GetImageCaptchaChallenge = "/v1/prosopo/provider/captcha/image",
7
6
  GetPowCaptchaChallenge = "/v1/prosopo/provider/captcha/pow",
@@ -20,6 +19,198 @@ export declare enum AdminApiPaths {
20
19
  ProviderDeregister = "/v1/prosopo/provider/admin/deregister",
21
20
  ProviderUpdate = "/v1/prosopo/provider/admin/update"
22
21
  }
22
+ export type CombinedApiPaths = ApiPaths | AdminApiPaths;
23
+ export declare const ProviderDefaultRateLimits: {
24
+ "/v1/prosopo/provider/captcha/image": {
25
+ windowMs: number;
26
+ limit: number;
27
+ };
28
+ "/v1/prosopo/provider/captcha/pow": {
29
+ windowMs: number;
30
+ limit: number;
31
+ };
32
+ "/v1/prosopo/provider/solution": {
33
+ windowMs: number;
34
+ limit: number;
35
+ };
36
+ "/v1/prosopo/provider/pow/solution": {
37
+ windowMs: number;
38
+ limit: number;
39
+ };
40
+ "/v1/prosopo/provider/pow/verify": {
41
+ windowMs: number;
42
+ limit: number;
43
+ };
44
+ "/v1/prosopo/provider/image/dapp/verify": {
45
+ windowMs: number;
46
+ limit: number;
47
+ };
48
+ "/v1/prosopo/provider/image/user/verify": {
49
+ windowMs: number;
50
+ limit: number;
51
+ };
52
+ "/v1/prosopo/provider/status": {
53
+ windowMs: number;
54
+ limit: number;
55
+ };
56
+ "/v1/prosopo/provider/details": {
57
+ windowMs: number;
58
+ limit: number;
59
+ };
60
+ "/v1/prosopo/provider/events": {
61
+ windowMs: number;
62
+ limit: number;
63
+ };
64
+ "/v1/prosopo/provider/admin/batch": {
65
+ windowMs: number;
66
+ limit: number;
67
+ };
68
+ "/v1/prosopo/provider/admin/dataset": {
69
+ windowMs: number;
70
+ limit: number;
71
+ };
72
+ "/v1/prosopo/provider/admin/deregister": {
73
+ windowMs: number;
74
+ limit: number;
75
+ };
76
+ "/v1/prosopo/provider/admin/update": {
77
+ windowMs: number;
78
+ limit: number;
79
+ };
80
+ };
81
+ export type Hash = string | number[];
82
+ export type Provider = {
83
+ url: Array<number>;
84
+ datasetId: Hash;
85
+ datasetIdContent: Hash;
86
+ };
87
+ export type FrontendProvider = Omit<Provider, "url"> & {
88
+ url: string;
89
+ };
90
+ export type RandomProvider = {
91
+ providerAccount: string;
92
+ provider: FrontendProvider;
93
+ blockNumber: number;
94
+ };
95
+ type RateLimitSchemaType = ZodObject<{
96
+ windowMs: ZodDefault<ZodOptional<ZodNumber>>;
97
+ limit: ZodDefault<ZodOptional<ZodNumber>>;
98
+ }>;
99
+ export declare const ApiPathRateLimits: ZodObject<Record<CombinedApiPaths, RateLimitSchemaType>, "strip", import("zod").ZodTypeAny, {
100
+ "/v1/prosopo/provider/captcha/image": {
101
+ windowMs: number;
102
+ limit: number;
103
+ };
104
+ "/v1/prosopo/provider/captcha/pow": {
105
+ windowMs: number;
106
+ limit: number;
107
+ };
108
+ "/v1/prosopo/provider/solution": {
109
+ windowMs: number;
110
+ limit: number;
111
+ };
112
+ "/v1/prosopo/provider/pow/solution": {
113
+ windowMs: number;
114
+ limit: number;
115
+ };
116
+ "/v1/prosopo/provider/pow/verify": {
117
+ windowMs: number;
118
+ limit: number;
119
+ };
120
+ "/v1/prosopo/provider/image/dapp/verify": {
121
+ windowMs: number;
122
+ limit: number;
123
+ };
124
+ "/v1/prosopo/provider/image/user/verify": {
125
+ windowMs: number;
126
+ limit: number;
127
+ };
128
+ "/v1/prosopo/provider/status": {
129
+ windowMs: number;
130
+ limit: number;
131
+ };
132
+ "/v1/prosopo/provider/details": {
133
+ windowMs: number;
134
+ limit: number;
135
+ };
136
+ "/v1/prosopo/provider/events": {
137
+ windowMs: number;
138
+ limit: number;
139
+ };
140
+ "/v1/prosopo/provider/admin/batch": {
141
+ windowMs: number;
142
+ limit: number;
143
+ };
144
+ "/v1/prosopo/provider/admin/dataset": {
145
+ windowMs: number;
146
+ limit: number;
147
+ };
148
+ "/v1/prosopo/provider/admin/deregister": {
149
+ windowMs: number;
150
+ limit: number;
151
+ };
152
+ "/v1/prosopo/provider/admin/update": {
153
+ windowMs: number;
154
+ limit: number;
155
+ };
156
+ }, {
157
+ "/v1/prosopo/provider/captcha/image": {
158
+ windowMs?: number | undefined;
159
+ limit?: number | undefined;
160
+ };
161
+ "/v1/prosopo/provider/captcha/pow": {
162
+ windowMs?: number | undefined;
163
+ limit?: number | undefined;
164
+ };
165
+ "/v1/prosopo/provider/solution": {
166
+ windowMs?: number | undefined;
167
+ limit?: number | undefined;
168
+ };
169
+ "/v1/prosopo/provider/pow/solution": {
170
+ windowMs?: number | undefined;
171
+ limit?: number | undefined;
172
+ };
173
+ "/v1/prosopo/provider/pow/verify": {
174
+ windowMs?: number | undefined;
175
+ limit?: number | undefined;
176
+ };
177
+ "/v1/prosopo/provider/image/dapp/verify": {
178
+ windowMs?: number | undefined;
179
+ limit?: number | undefined;
180
+ };
181
+ "/v1/prosopo/provider/image/user/verify": {
182
+ windowMs?: number | undefined;
183
+ limit?: number | undefined;
184
+ };
185
+ "/v1/prosopo/provider/status": {
186
+ windowMs?: number | undefined;
187
+ limit?: number | undefined;
188
+ };
189
+ "/v1/prosopo/provider/details": {
190
+ windowMs?: number | undefined;
191
+ limit?: number | undefined;
192
+ };
193
+ "/v1/prosopo/provider/events": {
194
+ windowMs?: number | undefined;
195
+ limit?: number | undefined;
196
+ };
197
+ "/v1/prosopo/provider/admin/batch": {
198
+ windowMs?: number | undefined;
199
+ limit?: number | undefined;
200
+ };
201
+ "/v1/prosopo/provider/admin/dataset": {
202
+ windowMs?: number | undefined;
203
+ limit?: number | undefined;
204
+ };
205
+ "/v1/prosopo/provider/admin/deregister": {
206
+ windowMs?: number | undefined;
207
+ limit?: number | undefined;
208
+ };
209
+ "/v1/prosopo/provider/admin/update": {
210
+ windowMs?: number | undefined;
211
+ limit?: number | undefined;
212
+ };
213
+ }>;
23
214
  export interface DappUserSolutionResult {
24
215
  [ApiParams.captchas]: CaptchaIdAndProof[];
25
216
  partialFee?: string;
@@ -32,7 +223,7 @@ export interface CaptchaIdAndProof {
32
223
  captchaId: string;
33
224
  proof: string[][];
34
225
  }
35
- export declare const CaptchaRequestBody: import("zod").ZodObject<{
226
+ export declare const CaptchaRequestBody: ZodObject<{
36
227
  user: import("zod").ZodString;
37
228
  dapp: import("zod").ZodString;
38
229
  datasetId: import("zod").ZodString;
@@ -50,13 +241,19 @@ export declare const CaptchaRequestBody: import("zod").ZodObject<{
50
241
  }>;
51
242
  export type CaptchaRequestBodyType = zInfer<typeof CaptchaRequestBody>;
52
243
  export type CaptchaResponseBody = {
53
- [ApiParams.captchas]: CaptchaWithProof[];
244
+ [ApiParams.captchas]: Captcha[];
54
245
  [ApiParams.requestHash]: string;
246
+ [ApiParams.timestamp]: string;
247
+ [ApiParams.signature]: {
248
+ [ApiParams.provider]: {
249
+ [ApiParams.timestamp]: string;
250
+ };
251
+ };
55
252
  };
56
- export declare const CaptchaSolutionBody: import("zod").ZodObject<{
253
+ export declare const CaptchaSolutionBody: ZodObject<{
57
254
  user: import("zod").ZodString;
58
255
  dapp: import("zod").ZodString;
59
- captchas: import("zod").ZodArray<import("zod").ZodObject<{
256
+ captchas: import("zod").ZodArray<ZodObject<{
60
257
  captchaId: import("zod").ZodString;
61
258
  captchaContentId: import("zod").ZodString;
62
259
  solution: import("zod").ZodArray<import("zod").ZodString, "many">;
@@ -73,11 +270,40 @@ export declare const CaptchaSolutionBody: import("zod").ZodObject<{
73
270
  solution: string[];
74
271
  }>, "many">;
75
272
  requestHash: import("zod").ZodString;
76
- signature: import("zod").ZodString;
273
+ timestamp: import("zod").ZodString;
274
+ signature: ZodObject<{
275
+ user: ZodObject<{
276
+ requestHash: import("zod").ZodString;
277
+ }, "strip", import("zod").ZodTypeAny, {
278
+ requestHash: string;
279
+ }, {
280
+ requestHash: string;
281
+ }>;
282
+ provider: ZodObject<{
283
+ timestamp: import("zod").ZodString;
284
+ }, "strip", import("zod").ZodTypeAny, {
285
+ timestamp: string;
286
+ }, {
287
+ timestamp: string;
288
+ }>;
289
+ }, "strip", import("zod").ZodTypeAny, {
290
+ user: {
291
+ requestHash: string;
292
+ };
293
+ provider: {
294
+ timestamp: string;
295
+ };
296
+ }, {
297
+ user: {
298
+ requestHash: string;
299
+ };
300
+ provider: {
301
+ timestamp: string;
302
+ };
303
+ }>;
77
304
  }, "strip", import("zod").ZodTypeAny, {
78
305
  user: string;
79
306
  dapp: string;
80
- signature: string;
81
307
  requestHash: string;
82
308
  captchas: {
83
309
  captchaId: string;
@@ -85,10 +311,18 @@ export declare const CaptchaSolutionBody: import("zod").ZodObject<{
85
311
  salt: string;
86
312
  solution: string[];
87
313
  }[];
314
+ timestamp: string;
315
+ signature: {
316
+ user: {
317
+ requestHash: string;
318
+ };
319
+ provider: {
320
+ timestamp: string;
321
+ };
322
+ };
88
323
  }, {
89
324
  user: string;
90
325
  dapp: string;
91
- signature: string;
92
326
  requestHash: string;
93
327
  captchas: {
94
328
  captchaId: string;
@@ -96,12 +330,21 @@ export declare const CaptchaSolutionBody: import("zod").ZodObject<{
96
330
  salt: string;
97
331
  solution: string[];
98
332
  }[];
333
+ timestamp: string;
334
+ signature: {
335
+ user: {
336
+ requestHash: string;
337
+ };
338
+ provider: {
339
+ timestamp: string;
340
+ };
341
+ };
99
342
  }>;
100
343
  export type CaptchaSolutionBodyType = zInfer<typeof CaptchaSolutionBody>;
101
- export declare const VerifySolutionBody: import("zod").ZodObject<{
344
+ export declare const VerifySolutionBody: ZodObject<{
102
345
  token: import("zod").ZodString;
103
346
  dappUserSignature: import("zod").ZodString;
104
- maxVerifiedTime: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
347
+ maxVerifiedTime: ZodDefault<ZodOptional<ZodNumber>>;
105
348
  }, "strip", import("zod").ZodTypeAny, {
106
349
  dappUserSignature: string;
107
350
  maxVerifiedTime: number;
@@ -122,7 +365,7 @@ export interface PendingCaptchaRequest {
122
365
  requestedAtBlock: number;
123
366
  }
124
367
  export interface ProviderRegistered {
125
- status: 'Registered' | 'Unregistered';
368
+ status: "Registered" | "Unregistered";
126
369
  }
127
370
  export interface ProviderDetails {
128
371
  provider: Provider;
@@ -133,21 +376,27 @@ export interface VerificationResponse {
133
376
  [ApiParams.verified]: boolean;
134
377
  }
135
378
  export interface ImageVerificationResponse extends VerificationResponse {
136
- [ApiParams.commitmentId]: Hash;
137
- [ApiParams.blockNumber]: number;
379
+ [ApiParams.commitmentId]?: Hash;
380
+ [ApiParams.blockNumber]?: number;
138
381
  }
139
382
  export interface GetPowCaptchaResponse {
140
- [ApiParams.challenge]: string;
383
+ [ApiParams.challenge]: PoWChallengeId;
141
384
  [ApiParams.difficulty]: number;
142
- [ApiParams.signature]: string;
385
+ [ApiParams.timestamp]: string;
386
+ [ApiParams.signature]: {
387
+ [ApiParams.provider]: {
388
+ [ApiParams.timestamp]: string;
389
+ [ApiParams.challenge]: string;
390
+ };
391
+ };
143
392
  }
144
393
  export interface PowCaptchaSolutionResponse {
145
394
  [ApiParams.verified]: boolean;
146
395
  }
147
- export declare const ServerPowCaptchaVerifyRequestBody: import("zod").ZodObject<{
396
+ export declare const ServerPowCaptchaVerifyRequestBody: ZodObject<{
148
397
  token: import("zod").ZodString;
149
398
  dappSignature: import("zod").ZodString;
150
- verifiedTimeout: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
399
+ verifiedTimeout: ZodDefault<ZodOptional<ZodNumber>>;
151
400
  }, "strip", import("zod").ZodTypeAny, {
152
401
  dappSignature: string;
153
402
  verifiedTimeout: number;
@@ -157,7 +406,7 @@ export declare const ServerPowCaptchaVerifyRequestBody: import("zod").ZodObject<
157
406
  token: string;
158
407
  verifiedTimeout?: number | undefined;
159
408
  }>;
160
- export declare const GetPowCaptchaChallengeRequestBody: import("zod").ZodObject<{
409
+ export declare const GetPowCaptchaChallengeRequestBody: ZodObject<{
161
410
  user: import("zod").ZodString;
162
411
  dapp: import("zod").ZodString;
163
412
  }, "strip", import("zod").ZodTypeAny, {
@@ -169,33 +418,74 @@ export declare const GetPowCaptchaChallengeRequestBody: import("zod").ZodObject<
169
418
  }>;
170
419
  export type GetPowCaptchaChallengeRequestBodyType = zInfer<typeof GetPowCaptchaChallengeRequestBody>;
171
420
  export type ServerPowCaptchaVerifyRequestBodyType = zInfer<typeof ServerPowCaptchaVerifyRequestBody>;
172
- export declare const SubmitPowCaptchaSolutionBody: import("zod").ZodObject<{
173
- blockNumber: import("zod").ZodNumber;
174
- challenge: import("zod").ZodString;
175
- difficulty: import("zod").ZodNumber;
176
- signature: import("zod").ZodString;
421
+ export declare const SubmitPowCaptchaSolutionBody: ZodObject<{
422
+ challenge: import("zod").ZodType<`${number}___${string}___${string}`, import("zod").ZodTypeDef, `${number}___${string}___${string}`>;
423
+ difficulty: ZodNumber;
424
+ signature: ZodObject<{
425
+ user: ZodObject<{
426
+ timestamp: import("zod").ZodString;
427
+ }, "strip", import("zod").ZodTypeAny, {
428
+ timestamp: string;
429
+ }, {
430
+ timestamp: string;
431
+ }>;
432
+ provider: ZodObject<{
433
+ challenge: import("zod").ZodString;
434
+ }, "strip", import("zod").ZodTypeAny, {
435
+ challenge: string;
436
+ }, {
437
+ challenge: string;
438
+ }>;
439
+ }, "strip", import("zod").ZodTypeAny, {
440
+ user: {
441
+ timestamp: string;
442
+ };
443
+ provider: {
444
+ challenge: string;
445
+ };
446
+ }, {
447
+ user: {
448
+ timestamp: string;
449
+ };
450
+ provider: {
451
+ challenge: string;
452
+ };
453
+ }>;
177
454
  user: import("zod").ZodString;
178
455
  dapp: import("zod").ZodString;
179
- nonce: import("zod").ZodNumber;
180
- verifiedTimeout: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
456
+ nonce: ZodNumber;
457
+ verifiedTimeout: ZodDefault<ZodOptional<ZodNumber>>;
181
458
  }, "strip", import("zod").ZodTypeAny, {
182
459
  user: string;
183
460
  dapp: string;
184
- blockNumber: number;
185
- signature: string;
186
461
  verifiedTimeout: number;
187
- challenge: string;
462
+ challenge: `${number}___${string}___${string}`;
188
463
  difficulty: number;
189
464
  nonce: number;
465
+ signature: {
466
+ user: {
467
+ timestamp: string;
468
+ };
469
+ provider: {
470
+ challenge: string;
471
+ };
472
+ };
190
473
  }, {
191
474
  user: string;
192
475
  dapp: string;
193
- blockNumber: number;
194
- signature: string;
195
- challenge: string;
476
+ challenge: `${number}___${string}___${string}`;
196
477
  difficulty: number;
197
478
  nonce: number;
479
+ signature: {
480
+ user: {
481
+ timestamp: string;
482
+ };
483
+ provider: {
484
+ challenge: string;
485
+ };
486
+ };
198
487
  verifiedTimeout?: number | undefined;
199
488
  }>;
200
489
  export type SubmitPowCaptchaSolutionBodyType = zInfer<typeof SubmitPowCaptchaSolutionBody>;
490
+ export {};
201
491
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/provider/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/provider/api.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { ApiParams } from '../api/params.js';
2
- import { CaptchaSolutionSchema } from '../datasets/index.js';
3
- import { DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED, DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT } from '../config/index.js';
4
- import { ProcaptchaTokenSpec } from '../procaptcha/index.js';
5
- import { array, number, object, string } from 'zod';
1
+ import { array, number, object, string, } from "zod";
2
+ import { ApiParams } from "../api/params.js";
3
+ import { DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED, DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT, } from "../config/timeouts.js";
4
+ import { CaptchaSolutionSchema, PowChallengeIdSchema, } from "../datasets/index.js";
5
+ import { ProcaptchaTokenSpec } from "../procaptcha/index.js";
6
6
  export var ApiPaths;
7
7
  (function (ApiPaths) {
8
8
  ApiPaths["GetImageCaptchaChallenge"] = "/v1/prosopo/provider/captcha/image";
@@ -23,6 +23,31 @@ export var AdminApiPaths;
23
23
  AdminApiPaths["ProviderDeregister"] = "/v1/prosopo/provider/admin/deregister";
24
24
  AdminApiPaths["ProviderUpdate"] = "/v1/prosopo/provider/admin/update";
25
25
  })(AdminApiPaths || (AdminApiPaths = {}));
26
+ export const ProviderDefaultRateLimits = {
27
+ [ApiPaths.GetImageCaptchaChallenge]: { windowMs: 60000, limit: 30 },
28
+ [ApiPaths.GetPowCaptchaChallenge]: { windowMs: 60000, limit: 60 },
29
+ [ApiPaths.SubmitImageCaptchaSolution]: { windowMs: 60000, limit: 60 },
30
+ [ApiPaths.SubmitPowCaptchaSolution]: { windowMs: 60000, limit: 60 },
31
+ [ApiPaths.VerifyPowCaptchaSolution]: { windowMs: 60000, limit: 60 },
32
+ [ApiPaths.VerifyImageCaptchaSolutionDapp]: { windowMs: 60000, limit: 60 },
33
+ [ApiPaths.VerifyImageCaptchaSolutionUser]: { windowMs: 60000, limit: 60 },
34
+ [ApiPaths.GetProviderStatus]: { windowMs: 60000, limit: 60 },
35
+ [ApiPaths.GetProviderDetails]: { windowMs: 60000, limit: 60 },
36
+ [ApiPaths.SubmitUserEvents]: { windowMs: 60000, limit: 60 },
37
+ [AdminApiPaths.BatchCommit]: { windowMs: 60000, limit: 5 },
38
+ [AdminApiPaths.UpdateDataset]: { windowMs: 60000, limit: 5 },
39
+ [AdminApiPaths.ProviderDeregister]: { windowMs: 60000, limit: 1 },
40
+ [AdminApiPaths.ProviderUpdate]: { windowMs: 60000, limit: 5 },
41
+ };
42
+ const createRateLimitSchemaWithDefaults = (paths) => object(Object.entries(paths).reduce((schemas, [path, defaults]) => {
43
+ const enumPath = path;
44
+ schemas[enumPath] = object({
45
+ windowMs: number().optional().default(defaults.windowMs),
46
+ limit: number().optional().default(defaults.limit),
47
+ });
48
+ return schemas;
49
+ }, {}));
50
+ export const ApiPathRateLimits = createRateLimitSchemaWithDefaults(ProviderDefaultRateLimits);
26
51
  export const CaptchaRequestBody = object({
27
52
  [ApiParams.user]: string(),
28
53
  [ApiParams.dapp]: string(),
@@ -34,30 +59,50 @@ export const CaptchaSolutionBody = object({
34
59
  [ApiParams.dapp]: string(),
35
60
  [ApiParams.captchas]: array(CaptchaSolutionSchema),
36
61
  [ApiParams.requestHash]: string(),
37
- [ApiParams.signature]: string(),
62
+ [ApiParams.timestamp]: string(),
63
+ [ApiParams.signature]: object({
64
+ [ApiParams.user]: object({
65
+ [ApiParams.requestHash]: string(),
66
+ }),
67
+ [ApiParams.provider]: object({
68
+ [ApiParams.timestamp]: string(),
69
+ }),
70
+ }),
38
71
  });
39
72
  export const VerifySolutionBody = object({
40
73
  [ApiParams.token]: ProcaptchaTokenSpec,
41
74
  [ApiParams.dappUserSignature]: string(),
42
- [ApiParams.maxVerifiedTime]: number().optional().default(DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED),
75
+ [ApiParams.maxVerifiedTime]: number()
76
+ .optional()
77
+ .default(DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED),
43
78
  });
44
79
  export const ServerPowCaptchaVerifyRequestBody = object({
45
80
  [ApiParams.token]: ProcaptchaTokenSpec,
46
81
  [ApiParams.dappSignature]: string(),
47
- [ApiParams.verifiedTimeout]: number().optional().default(DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
82
+ [ApiParams.verifiedTimeout]: number()
83
+ .optional()
84
+ .default(DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
48
85
  });
49
86
  export const GetPowCaptchaChallengeRequestBody = object({
50
87
  [ApiParams.user]: string(),
51
88
  [ApiParams.dapp]: string(),
52
89
  });
53
90
  export const SubmitPowCaptchaSolutionBody = object({
54
- [ApiParams.blockNumber]: number(),
55
- [ApiParams.challenge]: string(),
91
+ [ApiParams.challenge]: PowChallengeIdSchema,
56
92
  [ApiParams.difficulty]: number(),
57
- [ApiParams.signature]: string(),
93
+ [ApiParams.signature]: object({
94
+ [ApiParams.user]: object({
95
+ [ApiParams.timestamp]: string(),
96
+ }),
97
+ [ApiParams.provider]: object({
98
+ [ApiParams.challenge]: string(),
99
+ }),
100
+ }),
58
101
  [ApiParams.user]: string(),
59
102
  [ApiParams.dapp]: string(),
60
103
  [ApiParams.nonce]: number(),
61
- [ApiParams.verifiedTimeout]: number().optional().default(DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
104
+ [ApiParams.verifiedTimeout]: number()
105
+ .optional()
106
+ .default(DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
62
107
  });
63
108
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/provider/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/provider/api.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { Payee } from '@prosopo/captcha-contract/types-arguments';
1
+ import { Payee } from "@prosopo/types";
2
2
  export declare const PayeeSchema: import("zod").ZodNativeEnum<typeof Payee>;
3
3
  //# sourceMappingURL=argv.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../../src/provider/argv.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AAGjE,eAAO,MAAM,WAAW,2CAAoB,CAAA"}
1
+ {"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../../src/provider/argv.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,eAAO,MAAM,WAAW,2CAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Payee } from '@prosopo/captcha-contract/types-arguments';
2
- import { nativeEnum } from 'zod';
1
+ import { Payee } from "@prosopo/types";
2
+ import { nativeEnum } from "zod";
3
3
  export const PayeeSchema = nativeEnum(Payee);
4
4
  //# sourceMappingURL=argv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/provider/argv.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/provider/argv.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- export * from './accounts.js';
2
- export * from './api.js';
3
- export * from './scheduler.js';
4
- export * from './argv.js';
1
+ export * from "./accounts.js";
2
+ export * from "./api.js";
3
+ export * from "./scheduler.js";
4
+ export * from "./argv.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAaA,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAaA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
@@ -1,5 +1,5 @@
1
- export * from './accounts.js';
2
- export * from './api.js';
3
- export * from './scheduler.js';
4
- export * from './argv.js';
1
+ export * from "./accounts.js";
2
+ export * from "./api.js";
3
+ export * from "./scheduler.js";
4
+ export * from "./argv.js";
5
5
  //# sourceMappingURL=index.js.map