@prosopo/types 3.0.3 → 3.0.4
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.
- package/CHANGELOG.md +23 -0
- package/dist/api/api.js +1 -2
- package/dist/api/index.js +5 -3
- package/dist/api/params.js +43 -41
- package/dist/cjs/config/config.cjs +2 -2
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/provider/api.cjs +6 -2
- package/dist/cjs/provider/index.cjs +2 -0
- package/dist/client/captchaType/captchaType.js +11 -9
- package/dist/client/captchaType/captchaTypeSpec.js +3 -2
- package/dist/client/index.js +18 -5
- package/dist/client/settings.js +20 -17
- package/dist/client/user.js +31 -18
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +167 -153
- package/dist/config/frictionless.js +7 -5
- package/dist/config/index.js +32 -5
- package/dist/config/network.js +9 -7
- package/dist/config/timeouts.js +19 -10
- package/dist/datasets/assets.js +1 -2
- package/dist/datasets/captcha.js +122 -94
- package/dist/datasets/dataset.js +28 -23
- package/dist/datasets/index.js +36 -5
- package/dist/datasets/merkle.js +1 -2
- package/dist/index.js +129 -10
- package/dist/keyring/index.js +2 -3
- package/dist/keyring/keyring/types.js +1 -2
- package/dist/keyring/pair/types.js +1 -2
- package/dist/procaptcha/api.js +1 -2
- package/dist/procaptcha/client.js +1 -2
- package/dist/procaptcha/collector.js +1 -2
- package/dist/procaptcha/index.js +19 -8
- package/dist/procaptcha/manager.js +7 -4
- package/dist/procaptcha/props.js +1 -2
- package/dist/procaptcha/token.js +77 -62
- package/dist/procaptcha/utils.js +1 -2
- package/dist/procaptcha-bundle/index.js +1 -2
- package/dist/procaptcha-frictionless/index.js +1 -2
- package/dist/procaptcha-frictionless/props.js +1 -2
- package/dist/provider/accounts.js +1 -2
- package/dist/provider/api.d.ts +3 -0
- package/dist/provider/api.d.ts.map +1 -1
- package/dist/provider/api.js +208 -143
- package/dist/provider/index.js +29 -4
- package/dist/provider/scheduler.js +18 -15
- package/package.json +18 -15
- package/vite.cjs.config.ts +4 -1
- package/vite.esm.config.ts +20 -0
- package/dist/api/api.js.map +0 -1
- package/dist/api/index.js.map +0 -1
- package/dist/api/params.js.map +0 -1
- package/dist/client/captchaType/captchaType.js.map +0 -1
- package/dist/client/captchaType/captchaTypeSpec.js.map +0 -1
- package/dist/client/index.js.map +0 -1
- package/dist/client/settings.js.map +0 -1
- package/dist/client/user.js.map +0 -1
- package/dist/config/config.js.map +0 -1
- package/dist/config/enumMap.js +0 -6
- package/dist/config/enumMap.js.map +0 -1
- package/dist/config/frictionless.js.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/config/network.js.map +0 -1
- package/dist/config/timeouts.js.map +0 -1
- package/dist/datasets/assets.js.map +0 -1
- package/dist/datasets/captcha.js.map +0 -1
- package/dist/datasets/dataset.js.map +0 -1
- package/dist/datasets/index.js.map +0 -1
- package/dist/datasets/merkle.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/keyring/index.js.map +0 -1
- package/dist/keyring/keyring/types.js.map +0 -1
- package/dist/keyring/pair/types.js.map +0 -1
- package/dist/procaptcha/api.js.map +0 -1
- package/dist/procaptcha/client.js.map +0 -1
- package/dist/procaptcha/collector.js.map +0 -1
- package/dist/procaptcha/index.js.map +0 -1
- package/dist/procaptcha/manager.js.map +0 -1
- package/dist/procaptcha/props.js.map +0 -1
- package/dist/procaptcha/token.js.map +0 -1
- package/dist/procaptcha/utils.js.map +0 -1
- package/dist/procaptcha-bundle/index.js.map +0 -1
- package/dist/procaptcha-frictionless/index.js.map +0 -1
- package/dist/procaptcha-frictionless/props.js.map +0 -1
- package/dist/provider/accounts.js.map +0 -1
- package/dist/provider/api.js.map +0 -1
- package/dist/provider/index.js.map +0 -1
- package/dist/provider/scheduler.js.map +0 -1
package/dist/procaptcha/token.js
CHANGED
|
@@ -1,75 +1,90 @@
|
|
|
1
1
|
import { hexToU8a } from "@polkadot/util";
|
|
2
2
|
import { u8aToHex } from "@prosopo/util";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { Struct, Option, str, u32 } from "scale-ts";
|
|
4
|
+
import { object, string, number } from "zod";
|
|
5
5
|
import { ApiParams } from "../api/params.js";
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const RequestHashSignatureSchema = object({
|
|
7
|
+
[ApiParams.requestHash]: string()
|
|
8
8
|
});
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
const ChallengeSignatureSchema = object({
|
|
10
|
+
[ApiParams.challenge]: string()
|
|
11
11
|
});
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const TimestampSignatureSchema = object({
|
|
13
|
+
[ApiParams.timestamp]: string()
|
|
14
14
|
});
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const SignatureTypesSchema = object({
|
|
16
|
+
[ApiParams.challenge]: string().optional(),
|
|
17
|
+
[ApiParams.requestHash]: string().optional(),
|
|
18
|
+
[ApiParams.timestamp]: string().optional()
|
|
19
19
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
const ProcaptchaOutputSchema = object({
|
|
21
|
+
[ApiParams.commitmentId]: string().optional(),
|
|
22
|
+
[ApiParams.providerUrl]: string().optional(),
|
|
23
|
+
[ApiParams.dapp]: string(),
|
|
24
|
+
[ApiParams.user]: string(),
|
|
25
|
+
[ApiParams.challenge]: string().optional(),
|
|
26
|
+
[ApiParams.nonce]: number().optional(),
|
|
27
|
+
[ApiParams.timestamp]: string(),
|
|
28
|
+
[ApiParams.signature]: object({
|
|
29
|
+
[ApiParams.provider]: SignatureTypesSchema,
|
|
30
|
+
[ApiParams.user]: SignatureTypesSchema
|
|
31
|
+
})
|
|
32
32
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}),
|
|
46
|
-
[ApiParams.user]: Struct({
|
|
47
|
-
[ApiParams.timestamp]: Option(str),
|
|
48
|
-
[ApiParams.requestHash]: Option(str),
|
|
49
|
-
}),
|
|
33
|
+
const ProcaptchaTokenCodec = Struct({
|
|
34
|
+
[ApiParams.commitmentId]: Option(str),
|
|
35
|
+
[ApiParams.providerUrl]: Option(str),
|
|
36
|
+
[ApiParams.dapp]: str,
|
|
37
|
+
[ApiParams.user]: str,
|
|
38
|
+
[ApiParams.challenge]: Option(str),
|
|
39
|
+
[ApiParams.nonce]: Option(u32),
|
|
40
|
+
[ApiParams.timestamp]: str,
|
|
41
|
+
[ApiParams.signature]: Struct({
|
|
42
|
+
[ApiParams.provider]: Struct({
|
|
43
|
+
[ApiParams.challenge]: Option(str),
|
|
44
|
+
[ApiParams.requestHash]: Option(str)
|
|
50
45
|
}),
|
|
46
|
+
[ApiParams.user]: Struct({
|
|
47
|
+
[ApiParams.timestamp]: Option(str),
|
|
48
|
+
[ApiParams.requestHash]: Option(str)
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
51
|
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
timestamp: procaptchaOutput.signature.user?.timestamp || undefined,
|
|
67
|
-
requestHash: procaptchaOutput.signature.user?.requestHash || undefined,
|
|
68
|
-
},
|
|
52
|
+
const ProcaptchaTokenSpec = string().startsWith("0x");
|
|
53
|
+
const encodeProcaptchaOutput = (procaptchaOutput) => {
|
|
54
|
+
return u8aToHex(
|
|
55
|
+
ProcaptchaTokenCodec.enc({
|
|
56
|
+
[ApiParams.commitmentId]: void 0,
|
|
57
|
+
[ApiParams.providerUrl]: void 0,
|
|
58
|
+
[ApiParams.challenge]: void 0,
|
|
59
|
+
[ApiParams.nonce]: void 0,
|
|
60
|
+
// override any optional fields by spreading the procaptchaOutput
|
|
61
|
+
...procaptchaOutput,
|
|
62
|
+
signature: {
|
|
63
|
+
provider: {
|
|
64
|
+
challenge: procaptchaOutput.signature.provider?.challenge || void 0,
|
|
65
|
+
requestHash: procaptchaOutput.signature.provider?.requestHash || void 0
|
|
69
66
|
},
|
|
70
|
-
|
|
67
|
+
user: {
|
|
68
|
+
timestamp: procaptchaOutput.signature.user?.timestamp || void 0,
|
|
69
|
+
requestHash: procaptchaOutput.signature.user?.requestHash || void 0
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
);
|
|
74
|
+
};
|
|
75
|
+
const decodeProcaptchaOutput = (procaptchaToken) => {
|
|
76
|
+
return ProcaptchaOutputSchema.parse(
|
|
77
|
+
ProcaptchaTokenCodec.dec(hexToU8a(procaptchaToken))
|
|
78
|
+
);
|
|
71
79
|
};
|
|
72
|
-
export
|
|
73
|
-
|
|
80
|
+
export {
|
|
81
|
+
ChallengeSignatureSchema,
|
|
82
|
+
ProcaptchaOutputSchema,
|
|
83
|
+
ProcaptchaTokenCodec,
|
|
84
|
+
ProcaptchaTokenSpec,
|
|
85
|
+
RequestHashSignatureSchema,
|
|
86
|
+
SignatureTypesSchema,
|
|
87
|
+
TimestampSignatureSchema,
|
|
88
|
+
decodeProcaptchaOutput,
|
|
89
|
+
encodeProcaptchaOutput
|
|
74
90
|
};
|
|
75
|
-
//# sourceMappingURL=token.js.map
|
package/dist/procaptcha/utils.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=utils.js.map
|
|
1
|
+
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import "./props.js";
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=props.js.map
|
|
1
|
+
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=accounts.js.map
|
|
1
|
+
|
package/dist/provider/api.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ import { type Captcha, type DappAccount, type DatasetID, type PoWChallengeId, ty
|
|
|
8
8
|
import { type ChallengeSignature, type RequestHashSignature } from "../procaptcha/index.js";
|
|
9
9
|
export declare const ApiPrefix: "/v1/prosopo";
|
|
10
10
|
export type IPAddress = Address4 | Address6;
|
|
11
|
+
export declare const DEFAULT_SOLVED_COUNT = 2;
|
|
12
|
+
export declare const DEFAULT_UNSOLVED_COUNT = 0;
|
|
11
13
|
export declare enum ClientApiPaths {
|
|
12
14
|
GetImageCaptchaChallenge = "/v1/prosopo/provider/client/captcha/image",
|
|
13
15
|
GetPowCaptchaChallenge = "/v1/prosopo/provider/client/captcha/pow",
|
|
@@ -505,6 +507,7 @@ export declare const GetFrictionlessCaptchaChallengeRequestBody: ZodObject<{
|
|
|
505
507
|
dapp: string;
|
|
506
508
|
token: string;
|
|
507
509
|
}>;
|
|
510
|
+
export type GetFrictionlessCaptchaChallengeRequestBodyOutput = output<typeof GetFrictionlessCaptchaChallengeRequestBody>;
|
|
508
511
|
export type SubmitPowCaptchaSolutionBodyTypeOutput = output<typeof SubmitPowCaptchaSolutionBody>;
|
|
509
512
|
export declare const VerifyPowCaptchaSolutionBody: ZodObject<{
|
|
510
513
|
siteKey: import("zod").ZodString;
|
|
@@ -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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"}
|
package/dist/provider/api.js
CHANGED
|
@@ -1,161 +1,226 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { object, coerce, string, union, array, number, nativeEnum, boolean } from "zod";
|
|
2
2
|
import { ApiParams } from "../api/params.js";
|
|
3
|
-
import
|
|
4
|
-
import { DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED, DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
})(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
3
|
+
import "../client/index.js";
|
|
4
|
+
import { DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED, DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT } from "../config/timeouts.js";
|
|
5
|
+
import "../datasets/index.js";
|
|
6
|
+
import "../procaptcha/index.js";
|
|
7
|
+
import { RequestHashSignatureSchema, TimestampSignatureSchema, ProcaptchaTokenSpec } from "../procaptcha/token.js";
|
|
8
|
+
import { CaptchaSolutionSchema, PowChallengeIdSchema } from "../datasets/captcha.js";
|
|
9
|
+
import { ClientSettingsSchema } from "../client/settings.js";
|
|
10
|
+
import { Tier } from "../client/user.js";
|
|
11
|
+
const ApiPrefix = "/v1/prosopo";
|
|
12
|
+
const DEFAULT_SOLVED_COUNT = 2;
|
|
13
|
+
const DEFAULT_UNSOLVED_COUNT = 0;
|
|
14
|
+
var ClientApiPaths = /* @__PURE__ */ ((ClientApiPaths2) => {
|
|
15
|
+
ClientApiPaths2["GetImageCaptchaChallenge"] = "/v1/prosopo/provider/client/captcha/image";
|
|
16
|
+
ClientApiPaths2["GetPowCaptchaChallenge"] = "/v1/prosopo/provider/client/captcha/pow";
|
|
17
|
+
ClientApiPaths2["GetFrictionlessCaptchaChallenge"] = "/v1/prosopo/provider/client/captcha/frictionless";
|
|
18
|
+
ClientApiPaths2["SubmitImageCaptchaSolution"] = "/v1/prosopo/provider/client/solution";
|
|
19
|
+
ClientApiPaths2["SubmitPowCaptchaSolution"] = "/v1/prosopo/provider/client/pow/solution";
|
|
20
|
+
ClientApiPaths2["VerifyPowCaptchaSolution"] = "/v1/prosopo/provider/client/pow/verify";
|
|
21
|
+
ClientApiPaths2["VerifyImageCaptchaSolutionDapp"] = "/v1/prosopo/provider/client/image/dapp/verify";
|
|
22
|
+
ClientApiPaths2["GetProviderStatus"] = "/v1/prosopo/provider/client/status";
|
|
23
|
+
ClientApiPaths2["SubmitUserEvents"] = "/v1/prosopo/provider/client/events";
|
|
24
|
+
return ClientApiPaths2;
|
|
25
|
+
})(ClientApiPaths || {});
|
|
26
|
+
var PublicApiPaths = /* @__PURE__ */ ((PublicApiPaths2) => {
|
|
27
|
+
PublicApiPaths2["Healthz"] = "/healthz";
|
|
28
|
+
PublicApiPaths2["GetProviderDetails"] = "/v1/prosopo/provider/public/details";
|
|
29
|
+
return PublicApiPaths2;
|
|
30
|
+
})(PublicApiPaths || {});
|
|
31
|
+
var AdminApiPaths = /* @__PURE__ */ ((AdminApiPaths2) => {
|
|
32
|
+
AdminApiPaths2["SiteKeyRegister"] = "/v1/prosopo/provider/admin/sitekey/register";
|
|
33
|
+
AdminApiPaths2["UpdateDetectorKey"] = "/v1/prosopo/provider/admin/detector/update";
|
|
34
|
+
AdminApiPaths2["RemoveDetectorKey"] = "/v1/prosopo/provider/admin/detector/remove";
|
|
35
|
+
return AdminApiPaths2;
|
|
36
|
+
})(AdminApiPaths || {});
|
|
37
|
+
const ProviderDefaultRateLimits = {
|
|
38
|
+
[
|
|
39
|
+
"/v1/prosopo/provider/client/captcha/image"
|
|
40
|
+
/* GetImageCaptchaChallenge */
|
|
41
|
+
]: { windowMs: 6e4, limit: 30 },
|
|
42
|
+
[
|
|
43
|
+
"/v1/prosopo/provider/client/captcha/pow"
|
|
44
|
+
/* GetPowCaptchaChallenge */
|
|
45
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
46
|
+
[
|
|
47
|
+
"/v1/prosopo/provider/client/solution"
|
|
48
|
+
/* SubmitImageCaptchaSolution */
|
|
49
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
50
|
+
[
|
|
51
|
+
"/v1/prosopo/provider/client/captcha/frictionless"
|
|
52
|
+
/* GetFrictionlessCaptchaChallenge */
|
|
53
|
+
]: {
|
|
54
|
+
windowMs: 6e4,
|
|
55
|
+
limit: 60
|
|
56
|
+
},
|
|
57
|
+
[
|
|
58
|
+
"/v1/prosopo/provider/client/pow/solution"
|
|
59
|
+
/* SubmitPowCaptchaSolution */
|
|
60
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
61
|
+
[
|
|
62
|
+
"/v1/prosopo/provider/client/pow/verify"
|
|
63
|
+
/* VerifyPowCaptchaSolution */
|
|
64
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
65
|
+
[
|
|
66
|
+
"/v1/prosopo/provider/client/image/dapp/verify"
|
|
67
|
+
/* VerifyImageCaptchaSolutionDapp */
|
|
68
|
+
]: {
|
|
69
|
+
windowMs: 6e4,
|
|
70
|
+
limit: 60
|
|
71
|
+
},
|
|
72
|
+
[
|
|
73
|
+
"/v1/prosopo/provider/client/status"
|
|
74
|
+
/* GetProviderStatus */
|
|
75
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
76
|
+
[
|
|
77
|
+
"/v1/prosopo/provider/public/details"
|
|
78
|
+
/* GetProviderDetails */
|
|
79
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
80
|
+
[
|
|
81
|
+
"/v1/prosopo/provider/client/events"
|
|
82
|
+
/* SubmitUserEvents */
|
|
83
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
84
|
+
[
|
|
85
|
+
"/v1/prosopo/provider/admin/sitekey/register"
|
|
86
|
+
/* SiteKeyRegister */
|
|
87
|
+
]: { windowMs: 6e4, limit: 5 },
|
|
88
|
+
[
|
|
89
|
+
"/v1/prosopo/provider/admin/detector/update"
|
|
90
|
+
/* UpdateDetectorKey */
|
|
91
|
+
]: { windowMs: 6e4, limit: 5 },
|
|
92
|
+
[
|
|
93
|
+
"/v1/prosopo/provider/admin/detector/remove"
|
|
94
|
+
/* RemoveDetectorKey */
|
|
95
|
+
]: { windowMs: 6e4, limit: 5 }
|
|
51
96
|
};
|
|
52
|
-
const createRateLimitSchemaWithDefaults = (paths) => object(
|
|
53
|
-
|
|
54
|
-
schemas[
|
|
97
|
+
const createRateLimitSchemaWithDefaults = (paths) => object(
|
|
98
|
+
Object.entries(paths).reduce(
|
|
99
|
+
(schemas, [path, defaults]) => {
|
|
100
|
+
const enumPath = path;
|
|
101
|
+
schemas[enumPath] = object({
|
|
55
102
|
windowMs: coerce.number().optional().default(defaults.windowMs),
|
|
56
|
-
limit: coerce.number().optional().default(defaults.limit)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
103
|
+
limit: coerce.number().optional().default(defaults.limit)
|
|
104
|
+
});
|
|
105
|
+
return schemas;
|
|
106
|
+
},
|
|
107
|
+
{}
|
|
108
|
+
)
|
|
109
|
+
);
|
|
110
|
+
const ApiPathRateLimits = createRateLimitSchemaWithDefaults(
|
|
111
|
+
ProviderDefaultRateLimits
|
|
112
|
+
);
|
|
113
|
+
const CaptchaRequestBody = object({
|
|
114
|
+
[ApiParams.user]: string(),
|
|
115
|
+
[ApiParams.dapp]: string(),
|
|
116
|
+
[ApiParams.datasetId]: union([string(), array(number())]),
|
|
117
|
+
[ApiParams.sessionId]: string().optional()
|
|
66
118
|
});
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
119
|
+
const CaptchaSolutionBody = object({
|
|
120
|
+
[ApiParams.user]: string(),
|
|
121
|
+
[ApiParams.dapp]: string(),
|
|
122
|
+
[ApiParams.captchas]: array(CaptchaSolutionSchema),
|
|
123
|
+
[ApiParams.requestHash]: string(),
|
|
124
|
+
[ApiParams.timestamp]: string(),
|
|
125
|
+
[ApiParams.signature]: object({
|
|
126
|
+
[ApiParams.user]: TimestampSignatureSchema,
|
|
127
|
+
[ApiParams.provider]: RequestHashSignatureSchema
|
|
128
|
+
})
|
|
77
129
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
.default(DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED),
|
|
84
|
-
[ApiParams.ip]: string().optional(),
|
|
130
|
+
const VerifySolutionBody = object({
|
|
131
|
+
[ApiParams.token]: ProcaptchaTokenSpec,
|
|
132
|
+
[ApiParams.dappSignature]: string(),
|
|
133
|
+
[ApiParams.maxVerifiedTime]: number().optional().default(DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED),
|
|
134
|
+
[ApiParams.ip]: string().optional()
|
|
85
135
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
.default(DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
|
|
92
|
-
[ApiParams.ip]: string().optional(),
|
|
136
|
+
const ServerPowCaptchaVerifyRequestBody = object({
|
|
137
|
+
[ApiParams.token]: ProcaptchaTokenSpec,
|
|
138
|
+
[ApiParams.dappSignature]: string(),
|
|
139
|
+
[ApiParams.verifiedTimeout]: number().optional().default(DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT),
|
|
140
|
+
[ApiParams.ip]: string().optional()
|
|
93
141
|
});
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
142
|
+
const GetPowCaptchaChallengeRequestBody = object({
|
|
143
|
+
[ApiParams.user]: string(),
|
|
144
|
+
[ApiParams.dapp]: string(),
|
|
145
|
+
[ApiParams.sessionId]: string().optional()
|
|
98
146
|
});
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}),
|
|
106
|
-
[ApiParams.provider]: object({
|
|
107
|
-
[ApiParams.challenge]: string(),
|
|
108
|
-
}),
|
|
147
|
+
const SubmitPowCaptchaSolutionBody = object({
|
|
148
|
+
[ApiParams.challenge]: PowChallengeIdSchema,
|
|
149
|
+
[ApiParams.difficulty]: number(),
|
|
150
|
+
[ApiParams.signature]: object({
|
|
151
|
+
[ApiParams.user]: object({
|
|
152
|
+
[ApiParams.timestamp]: string()
|
|
109
153
|
}),
|
|
110
|
-
[ApiParams.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
154
|
+
[ApiParams.provider]: object({
|
|
155
|
+
[ApiParams.challenge]: string()
|
|
156
|
+
})
|
|
157
|
+
}),
|
|
158
|
+
[ApiParams.user]: string(),
|
|
159
|
+
[ApiParams.dapp]: string(),
|
|
160
|
+
[ApiParams.nonce]: number(),
|
|
161
|
+
[ApiParams.verifiedTimeout]: number().optional().default(DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT)
|
|
116
162
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
163
|
+
const GetFrictionlessCaptchaChallengeRequestBody = object({
|
|
164
|
+
[ApiParams.dapp]: string(),
|
|
165
|
+
[ApiParams.token]: string(),
|
|
166
|
+
[ApiParams.user]: string()
|
|
121
167
|
});
|
|
122
|
-
|
|
123
|
-
|
|
168
|
+
const VerifyPowCaptchaSolutionBody = object({
|
|
169
|
+
[ApiParams.siteKey]: string()
|
|
124
170
|
});
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
171
|
+
const RegisterSitekeyBody = object({
|
|
172
|
+
[ApiParams.siteKey]: string(),
|
|
173
|
+
[ApiParams.tier]: nativeEnum(Tier),
|
|
174
|
+
[ApiParams.settings]: ClientSettingsSchema.optional()
|
|
129
175
|
});
|
|
130
|
-
|
|
131
|
-
|
|
176
|
+
const UpdateDetectorKeyBody = object({
|
|
177
|
+
[ApiParams.detectorKey]: string()
|
|
132
178
|
});
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
count: number().nonnegative(),
|
|
141
|
-
})
|
|
142
|
-
.optional()
|
|
143
|
-
.default({ count: 0 }),
|
|
179
|
+
const ProsopoCaptchaCountConfigSchema = object({
|
|
180
|
+
solved: object({
|
|
181
|
+
count: number().positive()
|
|
182
|
+
}).optional().default({ count: DEFAULT_SOLVED_COUNT }),
|
|
183
|
+
unsolved: object({
|
|
184
|
+
count: number().nonnegative()
|
|
185
|
+
}).optional().default({ count: DEFAULT_UNSOLVED_COUNT })
|
|
144
186
|
});
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
})(BlockRuleType ||
|
|
187
|
+
var BlockRuleType = /* @__PURE__ */ ((BlockRuleType2) => {
|
|
188
|
+
BlockRuleType2["ipAddress"] = "ipAddress";
|
|
189
|
+
BlockRuleType2["userAccount"] = "userAccount";
|
|
190
|
+
return BlockRuleType2;
|
|
191
|
+
})(BlockRuleType || {});
|
|
150
192
|
const BlockRuleTypeSpec = nativeEnum(BlockRuleType);
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
193
|
+
const BlockRuleSpec = object({
|
|
194
|
+
global: boolean(),
|
|
195
|
+
hardBlock: boolean(),
|
|
196
|
+
type: BlockRuleTypeSpec,
|
|
197
|
+
dappAccount: string().optional(),
|
|
198
|
+
captchaConfig: ProsopoCaptchaCountConfigSchema.optional()
|
|
157
199
|
});
|
|
158
|
-
|
|
159
|
-
|
|
200
|
+
const DappDomainRequestBody = object({
|
|
201
|
+
[ApiParams.dapp]: string()
|
|
160
202
|
});
|
|
161
|
-
|
|
203
|
+
export {
|
|
204
|
+
AdminApiPaths,
|
|
205
|
+
ApiPathRateLimits,
|
|
206
|
+
ApiPrefix,
|
|
207
|
+
BlockRuleSpec,
|
|
208
|
+
BlockRuleType,
|
|
209
|
+
CaptchaRequestBody,
|
|
210
|
+
CaptchaSolutionBody,
|
|
211
|
+
ClientApiPaths,
|
|
212
|
+
DEFAULT_SOLVED_COUNT,
|
|
213
|
+
DEFAULT_UNSOLVED_COUNT,
|
|
214
|
+
DappDomainRequestBody,
|
|
215
|
+
GetFrictionlessCaptchaChallengeRequestBody,
|
|
216
|
+
GetPowCaptchaChallengeRequestBody,
|
|
217
|
+
ProsopoCaptchaCountConfigSchema,
|
|
218
|
+
ProviderDefaultRateLimits,
|
|
219
|
+
PublicApiPaths,
|
|
220
|
+
RegisterSitekeyBody,
|
|
221
|
+
ServerPowCaptchaVerifyRequestBody,
|
|
222
|
+
SubmitPowCaptchaSolutionBody,
|
|
223
|
+
UpdateDetectorKeyBody,
|
|
224
|
+
VerifyPowCaptchaSolutionBody,
|
|
225
|
+
VerifySolutionBody
|
|
226
|
+
};
|
package/dist/provider/index.js
CHANGED
|
@@ -1,4 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import "./accounts.js";
|
|
2
|
+
import { AdminApiPaths, ApiPathRateLimits, ApiPrefix, BlockRuleSpec, BlockRuleType, CaptchaRequestBody, CaptchaSolutionBody, ClientApiPaths, DEFAULT_SOLVED_COUNT, DEFAULT_UNSOLVED_COUNT, DappDomainRequestBody, GetFrictionlessCaptchaChallengeRequestBody, GetPowCaptchaChallengeRequestBody, ProsopoCaptchaCountConfigSchema, ProviderDefaultRateLimits, PublicApiPaths, RegisterSitekeyBody, ServerPowCaptchaVerifyRequestBody, SubmitPowCaptchaSolutionBody, UpdateDetectorKeyBody, VerifyPowCaptchaSolutionBody, VerifySolutionBody } from "./api.js";
|
|
3
|
+
import { ScheduledTaskNames, ScheduledTaskStatus } from "./scheduler.js";
|
|
4
|
+
export {
|
|
5
|
+
AdminApiPaths,
|
|
6
|
+
ApiPathRateLimits,
|
|
7
|
+
ApiPrefix,
|
|
8
|
+
BlockRuleSpec,
|
|
9
|
+
BlockRuleType,
|
|
10
|
+
CaptchaRequestBody,
|
|
11
|
+
CaptchaSolutionBody,
|
|
12
|
+
ClientApiPaths,
|
|
13
|
+
DEFAULT_SOLVED_COUNT,
|
|
14
|
+
DEFAULT_UNSOLVED_COUNT,
|
|
15
|
+
DappDomainRequestBody,
|
|
16
|
+
GetFrictionlessCaptchaChallengeRequestBody,
|
|
17
|
+
GetPowCaptchaChallengeRequestBody,
|
|
18
|
+
ProsopoCaptchaCountConfigSchema,
|
|
19
|
+
ProviderDefaultRateLimits,
|
|
20
|
+
PublicApiPaths,
|
|
21
|
+
RegisterSitekeyBody,
|
|
22
|
+
ScheduledTaskNames,
|
|
23
|
+
ScheduledTaskStatus,
|
|
24
|
+
ServerPowCaptchaVerifyRequestBody,
|
|
25
|
+
SubmitPowCaptchaSolutionBody,
|
|
26
|
+
UpdateDetectorKeyBody,
|
|
27
|
+
VerifyPowCaptchaSolutionBody,
|
|
28
|
+
VerifySolutionBody
|
|
29
|
+
};
|