@prosopo/types 1.0.2 → 2.0.1
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/dist/api/api.d.ts +10 -12
- package/dist/api/api.d.ts.map +1 -1
- package/dist/api/index.d.ts +2 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -2
- package/dist/api/index.js.map +1 -1
- package/dist/api/params.d.ts +3 -2
- package/dist/api/params.d.ts.map +1 -1
- package/dist/api/params.js +2 -1
- package/dist/api/params.js.map +1 -1
- package/dist/cjs/api/params.cjs +2 -1
- package/dist/cjs/config/config.cjs +43 -38
- package/dist/cjs/config/index.cjs +9 -8
- package/dist/cjs/config/network.cjs +6 -1
- package/dist/cjs/config/timeouts.cjs +19 -0
- package/dist/cjs/contract/artifacts.cjs +10 -3
- package/dist/cjs/datasets/captcha.cjs +35 -1
- package/dist/cjs/datasets/dataset.cjs +1 -1
- package/dist/cjs/datasets/index.cjs +5 -0
- package/dist/cjs/dist/api/api.cjs +1 -0
- package/dist/cjs/dist/api/index.cjs +8 -0
- package/dist/cjs/dist/api/params.cjs +30 -0
- package/dist/cjs/dist/config/config.cjs +182 -0
- package/dist/cjs/dist/config/enumMap.cjs +8 -0
- package/dist/cjs/dist/config/index.cjs +33 -0
- package/dist/cjs/dist/config/network.cjs +34 -0
- package/dist/cjs/dist/config/timeouts.cjs +19 -0
- package/dist/cjs/dist/contract/artifacts.cjs +135 -0
- package/dist/cjs/dist/contract/batch.cjs +1 -0
- package/dist/cjs/dist/contract/contract.cjs +1 -0
- package/dist/cjs/dist/contract/index.cjs +22 -0
- package/dist/cjs/dist/contract/interface.cjs +1 -0
- package/dist/cjs/dist/contract/useWeight.cjs +1 -0
- package/dist/cjs/dist/datasets/assets.cjs +1 -0
- package/dist/cjs/dist/datasets/captcha.cjs +118 -0
- package/dist/cjs/dist/datasets/dataset.cjs +32 -0
- package/dist/cjs/dist/datasets/index.cjs +52 -0
- package/dist/cjs/dist/datasets/merkle.cjs +1 -0
- package/dist/cjs/dist/index.cjs +16 -0
- package/dist/cjs/dist/networks/index.cjs +52 -0
- package/dist/cjs/dist/procaptcha/api.cjs +1 -0
- package/dist/cjs/dist/procaptcha/client.cjs +1 -0
- package/dist/cjs/dist/procaptcha/collector.cjs +1 -0
- package/dist/cjs/dist/procaptcha/index.cjs +17 -0
- package/dist/cjs/dist/procaptcha/manager.cjs +10 -0
- package/dist/cjs/dist/procaptcha/props.cjs +1 -0
- package/dist/cjs/dist/procaptcha/storage.cjs +9 -0
- package/dist/cjs/dist/procaptcha/token.cjs +58 -0
- package/dist/cjs/dist/procaptcha/utils.cjs +1 -0
- package/dist/cjs/dist/procaptcha-bundle/index.cjs +8 -0
- package/dist/cjs/dist/procaptcha-frictionless/index.cjs +2 -0
- package/dist/cjs/dist/procaptcha-frictionless/props.cjs +1 -0
- package/dist/cjs/dist/provider/accounts.cjs +7 -0
- package/dist/cjs/dist/provider/api.cjs +113 -0
- package/dist/cjs/dist/provider/argv.cjs +7 -0
- package/dist/cjs/dist/provider/index.cjs +35 -0
- package/dist/cjs/dist/provider/scheduler.cjs +14 -0
- package/dist/cjs/index.cjs +19 -8
- package/dist/cjs/networks/index.cjs +11 -5
- package/dist/cjs/procaptcha/manager.cjs +1 -1
- package/dist/cjs/procaptcha/token.cjs +23 -5
- package/dist/cjs/procaptcha-frictionless/index.cjs +2 -0
- package/dist/cjs/procaptcha-frictionless/props.cjs +1 -0
- package/dist/cjs/provider/accounts.cjs +7 -0
- package/dist/cjs/provider/api.cjs +102 -14
- package/dist/cjs/provider/argv.cjs +3 -2
- package/dist/cjs/provider/index.cjs +4 -1
- package/dist/config/config.d.ts +344 -96
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +64 -30
- package/dist/config/config.js.map +1 -1
- package/dist/config/enumMap.d.ts +1 -1
- package/dist/config/enumMap.d.ts.map +1 -1
- package/dist/config/enumMap.js +1 -1
- package/dist/config/enumMap.js.map +1 -1
- package/dist/config/index.d.ts +3 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -2
- package/dist/config/index.js.map +1 -1
- package/dist/config/network.d.ts +18 -18
- package/dist/config/network.d.ts.map +1 -1
- package/dist/config/network.js +12 -7
- package/dist/config/network.js.map +1 -1
- package/dist/config/timeouts.d.ts +9 -0
- package/dist/config/timeouts.d.ts.map +1 -0
- package/dist/config/timeouts.js +10 -0
- package/dist/config/timeouts.js.map +1 -0
- package/dist/contract/artifacts.d.ts +171 -171
- package/dist/contract/artifacts.d.ts.map +1 -1
- package/dist/contract/artifacts.js +7 -4
- package/dist/contract/artifacts.js.map +1 -1
- package/dist/contract/batch.d.ts +4 -4
- package/dist/contract/batch.d.ts.map +1 -1
- package/dist/contract/contract.d.ts +2 -2
- package/dist/contract/contract.d.ts.map +1 -1
- package/dist/contract/index.d.ts +5 -5
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/contract/index.js +5 -5
- package/dist/contract/index.js.map +1 -1
- package/dist/contract/interface.d.ts +9 -9
- package/dist/contract/interface.d.ts.map +1 -1
- package/dist/contract/useWeight.d.ts +2 -2
- package/dist/contract/useWeight.d.ts.map +1 -1
- package/dist/datasets/assets.d.ts.map +1 -1
- package/dist/datasets/captcha.d.ts +53 -10
- package/dist/datasets/captcha.d.ts.map +1 -1
- package/dist/datasets/captcha.js +31 -3
- package/dist/datasets/captcha.js.map +1 -1
- package/dist/datasets/dataset.d.ts +43 -43
- package/dist/datasets/dataset.d.ts.map +1 -1
- package/dist/datasets/dataset.js +2 -2
- package/dist/datasets/dataset.js.map +1 -1
- package/dist/datasets/index.d.ts +4 -4
- package/dist/datasets/index.d.ts.map +1 -1
- package/dist/datasets/index.js +4 -4
- package/dist/datasets/index.js.map +1 -1
- package/dist/datasets/merkle.d.ts.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -8
- package/dist/index.js.map +1 -1
- package/dist/networks/index.d.ts +1 -1
- package/dist/networks/index.d.ts.map +1 -1
- package/dist/networks/index.js +22 -20
- package/dist/networks/index.js.map +1 -1
- package/dist/procaptcha/api.d.ts +8 -10
- package/dist/procaptcha/api.d.ts.map +1 -1
- package/dist/procaptcha/client.d.ts +8 -3
- package/dist/procaptcha/client.d.ts.map +1 -1
- package/dist/procaptcha/collector.d.ts.map +1 -1
- package/dist/procaptcha/index.d.ts +8 -8
- package/dist/procaptcha/index.d.ts.map +1 -1
- package/dist/procaptcha/index.js +8 -8
- package/dist/procaptcha/index.js.map +1 -1
- package/dist/procaptcha/manager.d.ts +5 -5
- package/dist/procaptcha/manager.d.ts.map +1 -1
- package/dist/procaptcha/manager.js +3 -3
- package/dist/procaptcha/manager.js.map +1 -1
- package/dist/procaptcha/props.d.ts +2 -2
- package/dist/procaptcha/props.d.ts.map +1 -1
- package/dist/procaptcha/storage.d.ts +1 -1
- package/dist/procaptcha/storage.d.ts.map +1 -1
- package/dist/procaptcha/storage.js +1 -1
- package/dist/procaptcha/storage.js.map +1 -1
- package/dist/procaptcha/token.d.ts +56 -1
- package/dist/procaptcha/token.d.ts.map +1 -1
- package/dist/procaptcha/token.js +21 -5
- package/dist/procaptcha/token.js.map +1 -1
- package/dist/procaptcha/utils.d.ts.map +1 -1
- package/dist/procaptcha-bundle/index.d.ts.map +1 -1
- package/dist/procaptcha-bundle/index.js.map +1 -1
- package/dist/procaptcha-frictionless/index.d.ts +2 -0
- package/dist/procaptcha-frictionless/index.d.ts.map +1 -0
- package/dist/procaptcha-frictionless/index.js +2 -0
- package/dist/procaptcha-frictionless/index.js.map +1 -0
- package/dist/procaptcha-frictionless/props.d.ts +8 -0
- package/dist/procaptcha-frictionless/props.d.ts.map +1 -0
- package/dist/procaptcha-frictionless/props.js +2 -0
- package/dist/procaptcha-frictionless/props.js.map +1 -0
- package/dist/provider/accounts.d.ts +6 -3
- package/dist/provider/accounts.d.ts.map +1 -1
- package/dist/provider/accounts.js +5 -1
- package/dist/provider/accounts.js.map +1 -1
- package/dist/provider/api.d.ts +324 -34
- package/dist/provider/api.d.ts.map +1 -1
- package/dist/provider/api.js +57 -12
- package/dist/provider/api.js.map +1 -1
- package/dist/provider/argv.d.ts +1 -1
- package/dist/provider/argv.d.ts.map +1 -1
- package/dist/provider/argv.js +2 -2
- package/dist/provider/argv.js.map +1 -1
- package/dist/provider/index.d.ts +4 -4
- package/dist/provider/index.d.ts.map +1 -1
- package/dist/provider/index.js +4 -4
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/scheduler.d.ts.map +1 -1
- package/dist/provider/scheduler.js.map +1 -1
- package/package.json +50 -55
- package/vite.cjs.config.ts +3 -3
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const z = require("zod");
|
|
3
4
|
const params = require("../api/params.cjs");
|
|
5
|
+
const timeouts = require("../config/timeouts.cjs");
|
|
4
6
|
require("../datasets/index.cjs");
|
|
5
|
-
require("../config/index.cjs");
|
|
6
7
|
require("../procaptcha/index.cjs");
|
|
7
|
-
const z = require("zod");
|
|
8
8
|
const captcha = require("../datasets/captcha.cjs");
|
|
9
9
|
const token = require("../procaptcha/token.cjs");
|
|
10
|
-
|
|
11
|
-
var ApiPaths = ((ApiPaths2) => {
|
|
10
|
+
var ApiPaths = /* @__PURE__ */ ((ApiPaths2) => {
|
|
12
11
|
ApiPaths2["GetImageCaptchaChallenge"] = "/v1/prosopo/provider/captcha/image";
|
|
13
12
|
ApiPaths2["GetPowCaptchaChallenge"] = "/v1/prosopo/provider/captcha/pow";
|
|
14
13
|
ApiPaths2["SubmitImageCaptchaSolution"] = "/v1/prosopo/provider/solution";
|
|
15
14
|
ApiPaths2["SubmitPowCaptchaSolution"] = "/v1/prosopo/provider/pow/solution";
|
|
16
15
|
ApiPaths2["VerifyPowCaptchaSolution"] = "/v1/prosopo/provider/pow/verify";
|
|
17
|
-
ApiPaths2["VerifyImageCaptchaSolutionDapp"] =
|
|
18
|
-
ApiPaths2["VerifyImageCaptchaSolutionUser"] =
|
|
16
|
+
ApiPaths2["VerifyImageCaptchaSolutionDapp"] = "/v1/prosopo/provider/image/dapp/verify";
|
|
17
|
+
ApiPaths2["VerifyImageCaptchaSolutionUser"] = "/v1/prosopo/provider/image/user/verify";
|
|
19
18
|
ApiPaths2["GetProviderStatus"] = "/v1/prosopo/provider/status";
|
|
20
19
|
ApiPaths2["GetProviderDetails"] = "/v1/prosopo/provider/details";
|
|
21
20
|
ApiPaths2["SubmitUserEvents"] = "/v1/prosopo/provider/events";
|
|
@@ -28,6 +27,80 @@ var AdminApiPaths = /* @__PURE__ */ ((AdminApiPaths2) => {
|
|
|
28
27
|
AdminApiPaths2["ProviderUpdate"] = "/v1/prosopo/provider/admin/update";
|
|
29
28
|
return AdminApiPaths2;
|
|
30
29
|
})(AdminApiPaths || {});
|
|
30
|
+
const ProviderDefaultRateLimits = {
|
|
31
|
+
[
|
|
32
|
+
"/v1/prosopo/provider/captcha/image"
|
|
33
|
+
/* GetImageCaptchaChallenge */
|
|
34
|
+
]: { windowMs: 6e4, limit: 30 },
|
|
35
|
+
[
|
|
36
|
+
"/v1/prosopo/provider/captcha/pow"
|
|
37
|
+
/* GetPowCaptchaChallenge */
|
|
38
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
39
|
+
[
|
|
40
|
+
"/v1/prosopo/provider/solution"
|
|
41
|
+
/* SubmitImageCaptchaSolution */
|
|
42
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
43
|
+
[
|
|
44
|
+
"/v1/prosopo/provider/pow/solution"
|
|
45
|
+
/* SubmitPowCaptchaSolution */
|
|
46
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
47
|
+
[
|
|
48
|
+
"/v1/prosopo/provider/pow/verify"
|
|
49
|
+
/* VerifyPowCaptchaSolution */
|
|
50
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
51
|
+
[
|
|
52
|
+
"/v1/prosopo/provider/image/dapp/verify"
|
|
53
|
+
/* VerifyImageCaptchaSolutionDapp */
|
|
54
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
55
|
+
[
|
|
56
|
+
"/v1/prosopo/provider/image/user/verify"
|
|
57
|
+
/* VerifyImageCaptchaSolutionUser */
|
|
58
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
59
|
+
[
|
|
60
|
+
"/v1/prosopo/provider/status"
|
|
61
|
+
/* GetProviderStatus */
|
|
62
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
63
|
+
[
|
|
64
|
+
"/v1/prosopo/provider/details"
|
|
65
|
+
/* GetProviderDetails */
|
|
66
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
67
|
+
[
|
|
68
|
+
"/v1/prosopo/provider/events"
|
|
69
|
+
/* SubmitUserEvents */
|
|
70
|
+
]: { windowMs: 6e4, limit: 60 },
|
|
71
|
+
[
|
|
72
|
+
"/v1/prosopo/provider/admin/batch"
|
|
73
|
+
/* BatchCommit */
|
|
74
|
+
]: { windowMs: 6e4, limit: 5 },
|
|
75
|
+
[
|
|
76
|
+
"/v1/prosopo/provider/admin/dataset"
|
|
77
|
+
/* UpdateDataset */
|
|
78
|
+
]: { windowMs: 6e4, limit: 5 },
|
|
79
|
+
[
|
|
80
|
+
"/v1/prosopo/provider/admin/deregister"
|
|
81
|
+
/* ProviderDeregister */
|
|
82
|
+
]: { windowMs: 6e4, limit: 1 },
|
|
83
|
+
[
|
|
84
|
+
"/v1/prosopo/provider/admin/update"
|
|
85
|
+
/* ProviderUpdate */
|
|
86
|
+
]: { windowMs: 6e4, limit: 5 }
|
|
87
|
+
};
|
|
88
|
+
const createRateLimitSchemaWithDefaults = (paths) => z.object(
|
|
89
|
+
Object.entries(paths).reduce(
|
|
90
|
+
(schemas, [path, defaults]) => {
|
|
91
|
+
const enumPath = path;
|
|
92
|
+
schemas[enumPath] = z.object({
|
|
93
|
+
windowMs: z.number().optional().default(defaults.windowMs),
|
|
94
|
+
limit: z.number().optional().default(defaults.limit)
|
|
95
|
+
});
|
|
96
|
+
return schemas;
|
|
97
|
+
},
|
|
98
|
+
{}
|
|
99
|
+
)
|
|
100
|
+
);
|
|
101
|
+
const ApiPathRateLimits = createRateLimitSchemaWithDefaults(
|
|
102
|
+
ProviderDefaultRateLimits
|
|
103
|
+
);
|
|
31
104
|
const CaptchaRequestBody = z.object({
|
|
32
105
|
[params.ApiParams.user]: z.string(),
|
|
33
106
|
[params.ApiParams.dapp]: z.string(),
|
|
@@ -39,38 +112,53 @@ const CaptchaSolutionBody = z.object({
|
|
|
39
112
|
[params.ApiParams.dapp]: z.string(),
|
|
40
113
|
[params.ApiParams.captchas]: z.array(captcha.CaptchaSolutionSchema),
|
|
41
114
|
[params.ApiParams.requestHash]: z.string(),
|
|
42
|
-
[params.ApiParams.
|
|
43
|
-
|
|
115
|
+
[params.ApiParams.timestamp]: z.string(),
|
|
116
|
+
[params.ApiParams.signature]: z.object({
|
|
117
|
+
[params.ApiParams.user]: z.object({
|
|
118
|
+
[params.ApiParams.requestHash]: z.string()
|
|
119
|
+
}),
|
|
120
|
+
[params.ApiParams.provider]: z.object({
|
|
121
|
+
[params.ApiParams.timestamp]: z.string()
|
|
122
|
+
})
|
|
123
|
+
})
|
|
44
124
|
});
|
|
45
125
|
const VerifySolutionBody = z.object({
|
|
46
126
|
[params.ApiParams.token]: token.ProcaptchaTokenSpec,
|
|
47
127
|
[params.ApiParams.dappUserSignature]: z.string(),
|
|
48
|
-
[params.ApiParams.maxVerifiedTime]: z.number().optional().default(
|
|
128
|
+
[params.ApiParams.maxVerifiedTime]: z.number().optional().default(timeouts.DEFAULT_IMAGE_MAX_VERIFIED_TIME_CACHED)
|
|
49
129
|
});
|
|
50
130
|
const ServerPowCaptchaVerifyRequestBody = z.object({
|
|
51
131
|
[params.ApiParams.token]: token.ProcaptchaTokenSpec,
|
|
52
132
|
[params.ApiParams.dappSignature]: z.string(),
|
|
53
|
-
[params.ApiParams.verifiedTimeout]: z.number().optional().default(
|
|
133
|
+
[params.ApiParams.verifiedTimeout]: z.number().optional().default(timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT)
|
|
54
134
|
});
|
|
55
135
|
const GetPowCaptchaChallengeRequestBody = z.object({
|
|
56
136
|
[params.ApiParams.user]: z.string(),
|
|
57
137
|
[params.ApiParams.dapp]: z.string()
|
|
58
138
|
});
|
|
59
139
|
const SubmitPowCaptchaSolutionBody = z.object({
|
|
60
|
-
[params.ApiParams.
|
|
61
|
-
[params.ApiParams.challenge]: z.string(),
|
|
140
|
+
[params.ApiParams.challenge]: captcha.PowChallengeIdSchema,
|
|
62
141
|
[params.ApiParams.difficulty]: z.number(),
|
|
63
|
-
[params.ApiParams.signature]: z.
|
|
142
|
+
[params.ApiParams.signature]: z.object({
|
|
143
|
+
[params.ApiParams.user]: z.object({
|
|
144
|
+
[params.ApiParams.timestamp]: z.string()
|
|
145
|
+
}),
|
|
146
|
+
[params.ApiParams.provider]: z.object({
|
|
147
|
+
[params.ApiParams.challenge]: z.string()
|
|
148
|
+
})
|
|
149
|
+
}),
|
|
64
150
|
[params.ApiParams.user]: z.string(),
|
|
65
151
|
[params.ApiParams.dapp]: z.string(),
|
|
66
152
|
[params.ApiParams.nonce]: z.number(),
|
|
67
|
-
[params.ApiParams.verifiedTimeout]: z.number().optional().default(
|
|
153
|
+
[params.ApiParams.verifiedTimeout]: z.number().optional().default(timeouts.DEFAULT_POW_CAPTCHA_VERIFIED_TIMEOUT)
|
|
68
154
|
});
|
|
69
155
|
exports.AdminApiPaths = AdminApiPaths;
|
|
156
|
+
exports.ApiPathRateLimits = ApiPathRateLimits;
|
|
70
157
|
exports.ApiPaths = ApiPaths;
|
|
71
158
|
exports.CaptchaRequestBody = CaptchaRequestBody;
|
|
72
159
|
exports.CaptchaSolutionBody = CaptchaSolutionBody;
|
|
73
160
|
exports.GetPowCaptchaChallengeRequestBody = GetPowCaptchaChallengeRequestBody;
|
|
161
|
+
exports.ProviderDefaultRateLimits = ProviderDefaultRateLimits;
|
|
74
162
|
exports.ServerPowCaptchaVerifyRequestBody = ServerPowCaptchaVerifyRequestBody;
|
|
75
163
|
exports.SubmitPowCaptchaSolutionBody = SubmitPowCaptchaSolutionBody;
|
|
76
164
|
exports.VerifySolutionBody = VerifySolutionBody;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
|
|
3
|
+
require("../dist/index.cjs");
|
|
4
4
|
const z = require("zod");
|
|
5
|
-
const
|
|
5
|
+
const accounts = require("../dist/provider/accounts.cjs");
|
|
6
|
+
const PayeeSchema = z.nativeEnum(accounts.Payee);
|
|
6
7
|
exports.PayeeSchema = PayeeSchema;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
require("./accounts.cjs");
|
|
3
|
+
const accounts = require("./accounts.cjs");
|
|
4
4
|
const api = require("./api.cjs");
|
|
5
5
|
const scheduler = require("./scheduler.cjs");
|
|
6
6
|
const argv = require("./argv.cjs");
|
|
7
|
+
exports.Payee = accounts.Payee;
|
|
7
8
|
exports.AdminApiPaths = api.AdminApiPaths;
|
|
9
|
+
exports.ApiPathRateLimits = api.ApiPathRateLimits;
|
|
8
10
|
exports.ApiPaths = api.ApiPaths;
|
|
9
11
|
exports.CaptchaRequestBody = api.CaptchaRequestBody;
|
|
10
12
|
exports.CaptchaSolutionBody = api.CaptchaSolutionBody;
|
|
11
13
|
exports.GetPowCaptchaChallengeRequestBody = api.GetPowCaptchaChallengeRequestBody;
|
|
14
|
+
exports.ProviderDefaultRateLimits = api.ProviderDefaultRateLimits;
|
|
12
15
|
exports.ServerPowCaptchaVerifyRequestBody = api.ServerPowCaptchaVerifyRequestBody;
|
|
13
16
|
exports.SubmitPowCaptchaSolutionBody = api.SubmitPowCaptchaSolutionBody;
|
|
14
17
|
exports.VerifySolutionBody = api.VerifySolutionBody;
|