@prosopo/client-example-server 0.3.38 → 0.3.40
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/app.js +10 -1
- package/dist/app.js.map +1 -1
- package/dist/controllers/auth.d.ts +2 -2
- package/dist/controllers/auth.d.ts.map +1 -1
- package/dist/controllers/auth.js +24 -5
- package/dist/controllers/auth.js.map +1 -1
- package/dist/routes/routes.d.ts +1 -1
- package/dist/routes/routes.d.ts.map +1 -1
- package/dist/routes/routes.js +3 -3
- package/dist/routes/routes.js.map +1 -1
- package/package.json +8 -10
package/dist/app.js
CHANGED
|
@@ -15,9 +15,18 @@ export function getEnvFile(filename = '.env', filepath = './') {
|
|
|
15
15
|
const env = process.env.NODE_ENV || 'development';
|
|
16
16
|
return path.join(filepath, `${filename}.${env}`);
|
|
17
17
|
}
|
|
18
|
+
var ProsopoVerificationType;
|
|
19
|
+
(function (ProsopoVerificationType) {
|
|
20
|
+
ProsopoVerificationType["api"] = "api";
|
|
21
|
+
ProsopoVerificationType["local"] = "local";
|
|
22
|
+
})(ProsopoVerificationType || (ProsopoVerificationType = {}));
|
|
18
23
|
async function main() {
|
|
19
24
|
const logger = getLoggerDefault();
|
|
20
25
|
loadEnv();
|
|
26
|
+
const verifyEndpoint = process.env.PROSOPO_VERIFY_ENDPOINT || 'https://api.prosopo.io/siteverify';
|
|
27
|
+
const verifyType = Object.keys(ProsopoVerificationType).includes(process.env.PROSOPO_VERIFICATION_TYPE)
|
|
28
|
+
? process.env.PROSOPO_VERIFICATION_TYPE
|
|
29
|
+
: ProsopoVerificationType.api;
|
|
21
30
|
const app = express();
|
|
22
31
|
app.use(cors({ origin: true, credentials: true }));
|
|
23
32
|
app.use(express.urlencoded({ extended: true }));
|
|
@@ -45,7 +54,7 @@ async function main() {
|
|
|
45
54
|
console.log('config', config);
|
|
46
55
|
const pair = await getPairAsync(config.networks[config.defaultNetwork], process.env.PROSOPO_SITE_PRIVATE_KEY);
|
|
47
56
|
const prosopoServer = new ProsopoServer(config, pair);
|
|
48
|
-
app.use(routesFactory(mongoose, prosopoServer));
|
|
57
|
+
app.use(routesFactory(mongoose, prosopoServer, verifyEndpoint, verifyType));
|
|
49
58
|
app.listen(process.env.PROSOPO_SERVER_PORT);
|
|
50
59
|
}
|
|
51
60
|
main()
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,iBAAiB,MAAM,uBAAuB,CAAA;AACrD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAE9C,MAAM,UAAU,OAAO;IACnB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAQ,GAAG,MAAM,EAAE,QAAQ,GAAG,IAAI;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAA;AACpD,CAAC;AAED,IAAK,uBAGJ;AAHD,WAAK,uBAAuB;IACxB,sCAAW,CAAA;IACX,0CAAe,CAAA;AACnB,CAAC,EAHI,uBAAuB,KAAvB,uBAAuB,QAG3B;AAED,KAAK,UAAU,IAAI;IACf,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,OAAO,EAAE,CAAA;IAET,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,mCAAmC,CAAA;IAEjG,MAAM,UAAU,GAA4B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CACrF,OAAO,CAAC,GAAG,CAAC,yBAAmC,CAClD;QACG,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,yBAAqD;QACpE,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAA;IAEjC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;IAErB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAElD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAE/C,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAEvB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACrB,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;QACjD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,+BAA+B,CAAC,CAAA;QAC9E,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,mDAAmD,CAAC,CAAA;QAClG,IAAI,EAAE,CAAA;IACV,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACzB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACrC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE;QACvC,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC,4BAA4B,EAAE;YACpE,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,0BAA0B,CAAC,EAAE;YACxD,MAAM;SACT,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;KAC9B;IAED,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAEhC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IAC7G,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAErD,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAA;IAE3E,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAC/C,CAAC;AAED,IAAI,EAAE;KACD,IAAI,CAAC,GAAG,EAAE;IACP,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AACjC,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,EAAE,CAAA;AAClB,CAAC,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Connection } from 'mongoose';
|
|
2
2
|
import { NextFunction, Request, Response } from 'express';
|
|
3
3
|
import { ProsopoServer } from '@prosopo/server';
|
|
4
|
-
declare const signup: (mongoose: Connection, prosopoServer: ProsopoServer, req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
|
|
5
|
-
declare const login: (mongoose: Connection, prosopoServer: ProsopoServer, req: Request, res: Response) => Promise<void>;
|
|
4
|
+
declare const signup: (mongoose: Connection, prosopoServer: ProsopoServer, verifyEndpoint: string, verifyType: string, req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
|
|
5
|
+
declare const login: (mongoose: Connection, prosopoServer: ProsopoServer, verifyEndpoint: string, verifyType: string, req: Request, res: Response) => Promise<void>;
|
|
6
6
|
declare const isAuth: (req: Request, res: Response) => void;
|
|
7
7
|
export { signup, login, isAuth };
|
|
8
8
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/controllers/auth.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/controllers/auth.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AA2C/C,QAAA,MAAM,MAAM,aACE,UAAU,iBACL,aAAa,kBACZ,MAAM,cACV,MAAM,OACb,OAAO,OACP,QAAQ,QACP,YAAY,uDAiDrB,CAAA;AAED,QAAA,MAAM,KAAK,aACG,UAAU,iBACL,aAAa,kBACZ,MAAM,cACV,MAAM,OACb,OAAO,OACP,QAAQ,kBAqChB,CAAA;AAED,QAAA,MAAM,MAAM,QAAS,OAAO,OAAO,QAAQ,SAmB1C,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA"}
|
package/dist/controllers/auth.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiParams } from '@prosopo/types';
|
|
1
|
+
import { ApiParams, ProcaptchaOutputSchema } from '@prosopo/types';
|
|
2
2
|
import { ProcaptchaResponse } from '@prosopo/types';
|
|
3
3
|
import { at } from '@prosopo/util';
|
|
4
4
|
import { blake2b } from '@noble/hashes/blake2b';
|
|
@@ -13,7 +13,21 @@ const SubscribeBodySpec = ProcaptchaResponse.merge(z.object({
|
|
|
13
13
|
function hashPassword(password) {
|
|
14
14
|
return u8aToHex(blake2b(password));
|
|
15
15
|
}
|
|
16
|
-
const
|
|
16
|
+
const verify = async (prosopoServer, verifyType, verifyEndpoint, data) => {
|
|
17
|
+
if (verifyType === 'api') {
|
|
18
|
+
console.log('verifying using the API endpoint');
|
|
19
|
+
const response = await fetch(verifyEndpoint, {
|
|
20
|
+
method: 'POST',
|
|
21
|
+
body: JSON.stringify(data),
|
|
22
|
+
});
|
|
23
|
+
return (await response.json()).verified;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console.log('verifying using the TypeScript library');
|
|
27
|
+
return await prosopoServer.isVerified(data);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const signup = async (mongoose, prosopoServer, verifyEndpoint, verifyType, req, res, next) => {
|
|
17
31
|
try {
|
|
18
32
|
const User = mongoose.model('User');
|
|
19
33
|
const dbUser = await User.findOne({
|
|
@@ -25,7 +39,10 @@ const signup = async (mongoose, prosopoServer, req, res, next) => {
|
|
|
25
39
|
return res.status(409).json({ message: 'email already exists' });
|
|
26
40
|
}
|
|
27
41
|
console.log('payload', payload);
|
|
28
|
-
|
|
42
|
+
const data = ProcaptchaOutputSchema.parse(payload[ApiParams.procaptchaResponse]);
|
|
43
|
+
console.log('sending data', data);
|
|
44
|
+
const verified = await verify(prosopoServer, verifyType, verifyEndpoint, data);
|
|
45
|
+
if (verified) {
|
|
29
46
|
const salt = randomAsHex(32);
|
|
30
47
|
const passwordHash = hashPassword(`${req.body.password}${salt}`);
|
|
31
48
|
if (passwordHash) {
|
|
@@ -53,7 +70,7 @@ const signup = async (mongoose, prosopoServer, req, res, next) => {
|
|
|
53
70
|
res.status(500).json({ message: err.message || 'internal server error' });
|
|
54
71
|
}
|
|
55
72
|
};
|
|
56
|
-
const login = async (mongoose, prosopoServer, req, res) => {
|
|
73
|
+
const login = async (mongoose, prosopoServer, verifyEndpoint, verifyType, req, res) => {
|
|
57
74
|
const User = mongoose.model('User');
|
|
58
75
|
await prosopoServer.isReady();
|
|
59
76
|
await User.findOne({
|
|
@@ -65,7 +82,9 @@ const login = async (mongoose, prosopoServer, req, res) => {
|
|
|
65
82
|
}
|
|
66
83
|
else {
|
|
67
84
|
const payload = SubscribeBodySpec.parse(req.body);
|
|
68
|
-
|
|
85
|
+
const data = ProcaptchaOutputSchema.parse(payload[ApiParams.procaptchaResponse]);
|
|
86
|
+
const verified = await verify(prosopoServer, verifyType, verifyEndpoint, data);
|
|
87
|
+
if (verified) {
|
|
69
88
|
const passwordHash = hashPassword(`${req.body.password}${dbUser.salt}`);
|
|
70
89
|
if (passwordHash !== dbUser.password) {
|
|
71
90
|
res.status(401).json({ message: 'invalid credentials' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/controllers/auth.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/controllers/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/routes.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Connection } from 'mongoose';
|
|
2
2
|
import { ProsopoServer } from '@prosopo/server';
|
|
3
3
|
import express from 'express';
|
|
4
|
-
declare function getRoutes(mongoose: Connection, prosopoServer: ProsopoServer): express.Router;
|
|
4
|
+
declare function getRoutes(mongoose: Connection, prosopoServer: ProsopoServer, verifyEndpoint: string, verifyType: string): express.Router;
|
|
5
5
|
export default getRoutes;
|
|
6
6
|
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/routes/routes.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,iBAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/routes/routes.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,iBAAS,SAAS,CACd,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAgBhB;AAED,eAAe,SAAS,CAAA"}
|
package/dist/routes/routes.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { isAuth, login, signup } from '../controllers/auth.js';
|
|
2
2
|
import express from 'express';
|
|
3
3
|
const router = express.Router();
|
|
4
|
-
function getRoutes(mongoose, prosopoServer) {
|
|
5
|
-
router.post('/login', login.bind(null, mongoose, prosopoServer));
|
|
6
|
-
router.post('/signup', signup.bind(null, mongoose, prosopoServer));
|
|
4
|
+
function getRoutes(mongoose, prosopoServer, verifyEndpoint, verifyType) {
|
|
5
|
+
router.post('/login', login.bind(null, mongoose, prosopoServer, verifyEndpoint, verifyType));
|
|
6
|
+
router.post('/signup', signup.bind(null, mongoose, prosopoServer, verifyEndpoint, verifyType));
|
|
7
7
|
router.get('/private', isAuth);
|
|
8
8
|
router.get('/public', (req, res) => {
|
|
9
9
|
res.status(200).json({ message: 'here is your public resource' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/routes/routes.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;AAE/B,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/routes/routes.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;AAE/B,SAAS,SAAS,CACd,QAAoB,EACpB,aAA4B,EAC5B,cAAsB,EACtB,UAAkB;IAElB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAA;IAE5F,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAA;IAE9F,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAE9B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;IAGF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,eAAe,SAAS,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/client-example-server",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.40",
|
|
4
4
|
"description": "Backend for client-example",
|
|
5
5
|
"main": "dist/app.js",
|
|
6
6
|
"type": "module",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"bundle:prod": "vite build --mode=production --config ./vite.config.ts",
|
|
18
18
|
"bundle:dev": "vite build --mode=development --config ./vite.config.ts",
|
|
19
19
|
"clean": "tsc --build --clean",
|
|
20
|
-
"eslint": "npx eslint . --no-error-on-unmatched-pattern --ignore-path ../../.eslintignore",
|
|
20
|
+
"eslint": "npx eslint . --no-error-on-unmatched-pattern --ignore-path ../../.eslintignore --quiet",
|
|
21
21
|
"eslint:fix": "npm run eslint -- --fix",
|
|
22
22
|
"prettier": "npx prettier . --check --no-error-on-unmatched-pattern --ignore-path ../../.eslintignore",
|
|
23
23
|
"prettier:fix": "npm run prettier -- --write",
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"@noble/hashes": "^1.3.1",
|
|
39
39
|
"@polkadot/util": "12.6.2",
|
|
40
40
|
"@polkadot/util-crypto": "12.6.2",
|
|
41
|
-
"@prosopo/api": "0.3.
|
|
42
|
-
"@prosopo/contract": "0.3.
|
|
43
|
-
"@prosopo/procaptcha": "0.3.
|
|
44
|
-
"@prosopo/server": "0.3.
|
|
45
|
-
"@prosopo/types": "0.3.
|
|
41
|
+
"@prosopo/api": "0.3.40",
|
|
42
|
+
"@prosopo/contract": "0.3.40",
|
|
43
|
+
"@prosopo/procaptcha": "0.3.40",
|
|
44
|
+
"@prosopo/server": "0.3.40",
|
|
45
|
+
"@prosopo/types": "0.3.40",
|
|
46
46
|
"@typegoose/auto-increment": "3.3.0",
|
|
47
47
|
"cors": "^2.8.5",
|
|
48
48
|
"jsonwebtoken": "^9.0.0",
|
|
@@ -52,11 +52,9 @@
|
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/jsonwebtoken": "^9.0.2",
|
|
54
54
|
"nodemon": "^2.0.22",
|
|
55
|
-
"ts-loader": "^9.4.3",
|
|
56
|
-
"ts-node": "^10.9.1",
|
|
57
55
|
"tslib": "2.6.2",
|
|
58
56
|
"typescript": "5.1.6",
|
|
59
57
|
"vite": "^5.1.7",
|
|
60
|
-
"@prosopo/config": "0.3.
|
|
58
|
+
"@prosopo/config": "0.3.40"
|
|
61
59
|
}
|
|
62
60
|
}
|