From 78c9d9cb3c089eefe15c05549b377b497a3db1af Mon Sep 17 00:00:00 2001 From: Mark Krasner Date: Tue, 9 Apr 2024 15:52:00 -0400 Subject: [PATCH 1/6] Updated server branch --- demo/server/.env.example | 5 + demo/server/.eslintrc.json | 7 + demo/server/.gitignore | 9 + .../composites/sandboxAggregation.graphql | 41 + demo/server/package.json | 76 ++ .../server/src/controllers/multiController.ts | 154 ++++ .../src/controllers/singleController.ts | 67 ++ demo/server/src/index.ts | 38 + demo/server/src/routes/multi.ts | 29 + demo/server/src/routes/single.ts | 28 + demo/server/src/utils/context.ts | 16 + demo/server/tsconfig.build.json | 7 + demo/server/tsconfig.json | 4 + pnpm-lock.yaml | 851 +++++++++++++++--- 14 files changed, 1228 insertions(+), 104 deletions(-) create mode 100644 demo/server/.env.example create mode 100644 demo/server/.eslintrc.json create mode 100644 demo/server/.gitignore create mode 100644 demo/server/composites/sandboxAggregation.graphql create mode 100644 demo/server/package.json create mode 100644 demo/server/src/controllers/multiController.ts create mode 100644 demo/server/src/controllers/singleController.ts create mode 100644 demo/server/src/index.ts create mode 100644 demo/server/src/routes/multi.ts create mode 100644 demo/server/src/routes/single.ts create mode 100644 demo/server/src/utils/context.ts create mode 100644 demo/server/tsconfig.build.json create mode 100644 demo/server/tsconfig.json diff --git a/demo/server/.env.example b/demo/server/.env.example new file mode 100644 index 0000000..d1c9889 --- /dev/null +++ b/demo/server/.env.example @@ -0,0 +1,5 @@ +CERAMIC_URL="" +CERAMIC_PRIVATE_KEY="" + +# Interface StreamID of PointsAggregation +AGGREGATION_ID="kjzl6hvfrbw6ca6atwn59x2zltapkaf4dy9v0laqk4ahj5hf337s6rocgia2rxs" \ No newline at end of file diff --git a/demo/server/.eslintrc.json b/demo/server/.eslintrc.json new file mode 100644 index 0000000..45fead2 --- /dev/null +++ b/demo/server/.eslintrc.json @@ -0,0 +1,7 @@ +{ + "extends": ["3box", "3box/jest", "3box/typescript"], + "parserOptions": { + "project": ["tsconfig.json"] + }, + "include": ["src"] +} diff --git a/demo/server/.gitignore b/demo/server/.gitignore new file mode 100644 index 0000000..aa55e93 --- /dev/null +++ b/demo/server/.gitignore @@ -0,0 +1,9 @@ +# Dependencies +/node_modules + +# env +.env + +# Build files +/dist + diff --git a/demo/server/composites/sandboxAggregation.graphql b/demo/server/composites/sandboxAggregation.graphql new file mode 100644 index 0000000..b77a348 --- /dev/null +++ b/demo/server/composites/sandboxAggregation.graphql @@ -0,0 +1,41 @@ +# (for reference only) + +interface PointsAggregation @loadModel(id: "kjzl6hvfrbw6cb6393dpd8blke5w8r7pvbl4449mxetuibcav3oab8fnxmys6d6") { + id: ID! +} + +type SandboxReadAggregation implements PointsAggregation + @createModel( + description: "Aggregation of multiple Ceramic Sandbox read points to an account" + accountRelation: SET + accountRelationFields: ["recipient"] + ) { + issuer: DID! @documentAccount + recipient: DID! @accountReference + points: Int! + date: DateTime! +} + +type SandboxWriteAggregation implements PointsAggregation + @createModel( + description: "Aggregation of multiple Ceramic Sandbox write points to an account" + accountRelation: SET + accountRelationFields: ["recipient"] + ) { + issuer: DID! @documentAccount + recipient: DID! @accountReference + points: Int! + date: DateTime! +} + +type SandboxComplexWriteAggregation implements PointsAggregation + @createModel( + description: "Aggregation of multiple Ceramic Sandbox complex write points to an account" + accountRelation: SET + accountRelationFields: ["recipient"] + ) { + issuer: DID! @documentAccount + recipient: DID! @accountReference + points: Int! + date: DateTime! +} diff --git a/demo/server/package.json b/demo/server/package.json new file mode 100644 index 0000000..e0090a7 --- /dev/null +++ b/demo/server/package.json @@ -0,0 +1,76 @@ +{ + "name": "@composexp/server", + "version": "0.1.0", + "private": true, + "author": "3Box Labs", + "license": "(Apache-2.0 OR MIT)", + "repository": { + "type": "git", + "url": "https://github.com/ceramicstudio/solutions", + "directory": "demo/server" + }, + "type": "module", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": "./dist/index.js" + }, + "files": [ + "dist" + ], + "engines": { + "node": ">=20" + }, + "sideEffects": false, + "scripts": { + "dev": "npx tsx src/index.ts", + "prestart": "pnpm run build", + "build:clean": "del dist", + "build:js": "swc src -d ./dist --config-file ../../.swcrc --strip-leading-paths", + "build:types": "tsc --project tsconfig.build.json --emitDeclarationOnly --skipLibCheck", + "build": "pnpm build:clean && pnpm build:types && pnpm build:js", + "lint": "eslint src --fix", + "prepare": "pnpm build", + "prepublishOnly": "package-check", + "start": "node ." + }, + "devDependencies": { + "@types/cors": "^2.8.15", + "@types/express": "^4.17.20", + "key-did-provider-ed25519": "^2.0.1", + "key-did-resolver": "^2.1.3", + "nodemon": "^3.1.0", + "ts-node": "^10.9.1", + "tslint": "^6.1.3", + "typescript": "^4.8.4", + "@composexp/points": "workspace:^", + "@composexp/ceramic-utils": "workspace:^", + "@composexp/did-utils": "workspace:^", + "uint8arrays": "^5.0.1" + }, + "dependencies": { + "@ceramicnetwork/http-client": "^5.5.0", + "body-parser": "^1.20.2", + "cors": "^2.8.5", + "dotenv": "^16.3.1", + "exec": "^0.2.1", + "express": "^4.18.2", + "tsx": "^4.7.1" + }, + "jest": { + "extensionsToTreatAsEsm": [ + ".ts" + ], + "moduleNameMapper": { + "^(\\.{1,2}/.*)\\.js$": "$1" + }, + "transform": { + "^.+\\.(t|j)s$": [ + "@swc/jest", + { + "root": "../.." + } + ] + } + } +} diff --git a/demo/server/src/controllers/multiController.ts b/demo/server/src/controllers/multiController.ts new file mode 100644 index 0000000..e944433 --- /dev/null +++ b/demo/server/src/controllers/multiController.ts @@ -0,0 +1,154 @@ +import { getContext } from '../utils/context.js' +import { Request, Response, NextFunction } from 'express' +import { PointsWriter, PointsReader } from '@composexp/points' + +const getContextAggregation = async (req: Request, res: Response, next: NextFunction) => { + try { + const { ceramic, aggregationModelID } = await getContext() + const { recipient, context } = req.body + + //instantiate a reader + const reader = new PointsReader({ + ceramic, + issuer: ceramic.did!.id, + aggregationModelID, + }) + const doc = await reader.loadAggregationDocumentFor([recipient, context]) + res.locals = { + ...res.locals, + contextTotal: doc ? (doc.content ? doc.content.points : 0) : 0, + contextDocument: doc ? doc.content : null, + } + return next() + } catch (error) { + console.error(error) + return error + } +} + +const getTotalAggregation = async (req: Request, res: Response, next: NextFunction) => { + try { + const { ceramic } = await getContext() + const { recipient } = req.body + + //instantiate a reader + const reader = new PointsReader({ + ceramic, + issuer: ceramic.did!.id, + }) + const doc = await reader.loadAggregationDocumentFor([recipient]) + res.locals = { + ...res.locals, + total: doc ? (doc.content ? doc.content.points : 0) : 0, + document: doc ? doc.content : null, + } + return next() + } catch (error) { + console.error(error) + return error + } +} + +const updateContextAggregation = async (req: Request, res: Response, next: NextFunction) => { + try { + const { ceramic, aggregationModelID } = await getContext() + const { amount, recipient, context } = req.body + + //instantiate a writer and reader + const contextWriter = new PointsWriter({ + ceramic, + aggregationModelID, + }) + + const contextReader = new PointsReader({ + ceramic, + issuer: ceramic.did!.id, + aggregationModelID, + }) + + // load the document for the recipient and context + const doc = await contextReader.loadAggregationDocumentFor([recipient, context]) + if (!doc) { + await contextWriter.setPointsAggregationFor([recipient, context], amount, { + recipient, + points: amount, + date: new Date().toISOString(), + //@ts-ignore + context, + }) + res.locals = { + ...res.locals, + contextTotal: amount, + } + } else { + const updatedDoc = await contextWriter.updatePointsAggregationFor( + [recipient, context], + (content) => { + return { + points: content ? content.points + amount : amount, + date: new Date().toISOString(), + recipient, + //@ts-ignore + context, + } + }, + ) + res.locals = { + ...res.locals, + contextTotal: updatedDoc.content ? updatedDoc.content.points : 0, + } + } + return next() + } catch (error) { + console.error(error) + return error + } +} + +const updateTotalAggregation = async (req: Request, res: Response, next: NextFunction) => { + try { + const { ceramic } = await getContext() + const { amount, recipient } = req.body + + //instantiate a writer and reader + const totalWriter = new PointsWriter({ ceramic }) + const totalReader = new PointsReader({ ceramic, issuer: ceramic.did!.id }) + + // load the document for the recipient and context + const doc = await totalReader.loadAggregationDocumentFor([recipient]) + if (!doc) { + await totalWriter.setPointsAggregationFor([recipient], amount, { + recipient, + points: amount, + date: new Date().toISOString(), + }) + res.locals = { + ...res.locals, + total: amount, + } + } else { + const updatedDoc = await totalWriter.updatePointsAggregationFor([recipient], (content) => { + return { + points: content ? content.points + amount : amount, + date: new Date().toISOString(), + recipient, + } + }) + res.locals = { + ...res.locals, + total: updatedDoc.content ? updatedDoc.content.points : 0, + } + } + return next() + } catch (error) { + console.error(error) + return error + } +} + +export const multiplePointsController = { + updateContextAggregation, + updateTotalAggregation, + getContextAggregation, + getTotalAggregation, +} diff --git a/demo/server/src/controllers/singleController.ts b/demo/server/src/controllers/singleController.ts new file mode 100644 index 0000000..07ce159 --- /dev/null +++ b/demo/server/src/controllers/singleController.ts @@ -0,0 +1,67 @@ +import { getContext } from "../utils/context.js"; +import { Request, Response, NextFunction } from "express"; +import { + SinglePointReader, + SinglePointWriter, +} from '@composexp/points'; + +const createSinglePoint = async ( + req: Request, + res: Response, + next: NextFunction +) => { + try { + const { ceramic } = await getContext(); + const writer = new SinglePointWriter({ ceramic }); + await writer.addPointTo(req.body.recipient); + res.locals.ceramic = ceramic; + return next(); + } catch (error) { + console.error(error); + return error; + } +}; + +const removeSinglePoint = async ( + req: Request, + _res: Response, + next: NextFunction +) => { + try { + const { ceramic } = await getContext(); + const reader = new SinglePointReader({ + ceramic, + issuer: ceramic.did!.id, + }); + const documents = await reader.queryPointDocumentsFor(req.body.recipient); + const id = documents.documents[documents.documents.length - 1].id; + const writer = new SinglePointWriter({ ceramic }); + await writer.removePoint(id.toString()); + return next(); + } catch (error) { + console.error(error); + return error; + } +}; + +const getSinglePoints = async ( + req: Request, + res: Response, + next: NextFunction +) => { + try { + const ceramic = res.locals.ceramic ?? (await getContext()).ceramic; + const reader = new SinglePointReader({ + ceramic, + issuer: ceramic.did!.id, + }); + const totalPoints = await reader.countPointsFor(req.body.recipient); + res.locals.totalPoints = totalPoints; + return next(); + } catch (error) { + console.error(error); + return error; + } +}; + +export const singlePointController = { createSinglePoint, getSinglePoints, removeSinglePoint }; diff --git a/demo/server/src/index.ts b/demo/server/src/index.ts new file mode 100644 index 0000000..7c6a190 --- /dev/null +++ b/demo/server/src/index.ts @@ -0,0 +1,38 @@ +import express from "express"; +import cors from "cors"; +import singleRouter from "./routes/single.js"; +import multiRouter from "./routes/multi.js"; + +const app = express(); +const port = process.env.PORT || 8080; + + +const corsOptions = { + origin: ["http://localhost:3000", "https://developers.ceramic.network"], + optionsSuccessStatus: 200 // For legacy browser support + } + +app.use(express.json()); +app.use(cors(corsOptions)); +// app.use(bodyParser.json()); + +const allowCrossDomain = ( + _req: any, + res: { header: (arg0: string, arg1: string) => void }, + next: () => void +) => { + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE"); + res.header("Access-Control-Allow-Headers", "Content-Type"); + next(); +}; + +app.use(allowCrossDomain); + +app.use("/single", singleRouter); +app.use("/multi", multiRouter); + +app.listen(port, () => { + // tslint:disable-next-line:no-console + console.log(`server started at http://localhost:${port}`); +}); diff --git a/demo/server/src/routes/multi.ts b/demo/server/src/routes/multi.ts new file mode 100644 index 0000000..b89158e --- /dev/null +++ b/demo/server/src/routes/multi.ts @@ -0,0 +1,29 @@ +import express from 'express' +import { multiplePointsController } from '../controllers/multiController.js' + +const router: express.Router = express.Router() + +router.post( + '/aggregate', + multiplePointsController.updateContextAggregation, + multiplePointsController.updateTotalAggregation, + (_req, res) => { + return res.json({ contextTotal: res.locals.contextTotal, total: res.locals.total }) + }, +) + +router.get( + '/getAggregations', + multiplePointsController.getContextAggregation, + multiplePointsController.getTotalAggregation, + (_req, res) => { + return res.json({ + contextTotal: res.locals.contextTotal, + total: res.locals.total, + contextDocument: res.locals.contextDocument, + document: res.locals.document, + }) + }, +) + +export default router diff --git a/demo/server/src/routes/single.ts b/demo/server/src/routes/single.ts new file mode 100644 index 0000000..b5aaa1a --- /dev/null +++ b/demo/server/src/routes/single.ts @@ -0,0 +1,28 @@ +import express from "express"; +import { singlePointController } from "../controllers/singleController.js"; + +const router: express.Router = express.Router(); + +router.get("/", singlePointController.getSinglePoints, (_req, res) => { + return res.json({ totalPoints: res.locals.totalPoints }); +}); + +router.post( + "/create", + singlePointController.createSinglePoint, + singlePointController.getSinglePoints, + (_req, res) => { + return res.json({ totalPoints: res.locals.totalPoints }); + } +); + +router.delete( + "/remove", + singlePointController.removeSinglePoint, + singlePointController.getSinglePoints, + (_req, res) => { + return res.json({ totalPoints: res.locals.totalPoints }); + } +); + +export default router; diff --git a/demo/server/src/utils/context.ts b/demo/server/src/utils/context.ts new file mode 100644 index 0000000..7784935 --- /dev/null +++ b/demo/server/src/utils/context.ts @@ -0,0 +1,16 @@ +import { getAuthenticatedDID } from '@composexp/did-utils' +import { fromString } from 'uint8arrays' +import { CeramicClient } from '@ceramicnetwork/http-client' +import 'dotenv/config.js' + +export const getContext = async () => { + const CERAMIC_URL = process.env.CERAMIC_URL || '' + const CERAMIC_PRIVATE_KEY = process.env.CERAMIC_PRIVATE_KEY || '' + const aggregationModelID = process.env.AGGREGATION_ID || '' + + const key = fromString(CERAMIC_PRIVATE_KEY, 'base16') + + const ceramic = new CeramicClient(CERAMIC_URL) + ceramic.did = await getAuthenticatedDID(key) + return { ceramic, aggregationModelID } +} diff --git a/demo/server/tsconfig.build.json b/demo/server/tsconfig.build.json new file mode 100644 index 0000000..34756dd --- /dev/null +++ b/demo/server/tsconfig.build.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src"] +} diff --git a/demo/server/tsconfig.json b/demo/server/tsconfig.json new file mode 100644 index 0000000..262190b --- /dev/null +++ b/demo/server/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.build.json", + "include": ["src"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad1db00..2e281a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '6.1' settings: autoInstallPeers: true @@ -78,6 +78,67 @@ importers: specifier: ^4.7.2 version: 4.7.2 + demo/server: + dependencies: + '@ceramicnetwork/http-client': + specifier: ^5.5.0 + version: 5.6.0(typescript@4.8.4) + body-parser: + specifier: ^1.20.2 + version: 1.20.2 + cors: + specifier: ^2.8.5 + version: 2.8.5 + dotenv: + specifier: ^16.3.1 + version: 16.3.1 + exec: + specifier: ^0.2.1 + version: 0.2.1 + express: + specifier: ^4.18.2 + version: 4.19.2 + tsx: + specifier: ^4.7.1 + version: 4.7.2 + devDependencies: + '@composexp/ceramic-utils': + specifier: workspace:^ + version: link:../../utils/ceramic + '@composexp/did-utils': + specifier: workspace:^ + version: link:../../utils/did + '@composexp/points': + specifier: workspace:^ + version: link:../../libraries/points + '@types/cors': + specifier: ^2.8.15 + version: 2.8.15 + '@types/express': + specifier: ^4.17.20 + version: 4.17.21 + key-did-provider-ed25519: + specifier: ^2.0.1 + version: 2.0.1 + key-did-resolver: + specifier: ^2.1.3 + version: 2.1.3 + nodemon: + specifier: ^3.1.0 + version: 3.1.0 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@swc/core@1.4.12)(@types/node@20.12.5)(typescript@4.8.4) + tslint: + specifier: ^6.1.3 + version: 6.1.3(typescript@4.8.4) + typescript: + specifier: ^4.8.4 + version: 4.8.4 + uint8arrays: + specifier: ^5.0.1 + version: 5.0.3 + demo/simple: dependencies: '@ceramicnetwork/http-client': @@ -247,7 +308,7 @@ packages: '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -541,7 +602,7 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.24.1 '@babel/types': 7.24.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -792,6 +853,24 @@ packages: - utf-8-validate - zod + /@ceramicnetwork/codecs@4.5.0(typescript@4.8.4): + resolution: {integrity: sha512-++PHxu6B4s7Tvk8RDOGgj2LxpZISJBAAVbzQd8bedPs/qSMufDs3EE99SR92YhHLbn5Wt/+uEZcSNGiHh8HyhQ==} + dependencies: + '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) + '@ceramicnetwork/streamid': 5.0.0 + cartonne: 3.0.1 + codeco: 1.2.1 + dag-jose: 4.0.0 + multiformats: 13.1.0 + uint8arrays: 5.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /@ceramicnetwork/codecs@4.5.0(typescript@5.4.4): resolution: {integrity: sha512-++PHxu6B4s7Tvk8RDOGgj2LxpZISJBAAVbzQd8bedPs/qSMufDs3EE99SR92YhHLbn5Wt/+uEZcSNGiHh8HyhQ==} dependencies: @@ -837,6 +916,34 @@ packages: - zod dev: false + /@ceramicnetwork/common@5.5.0(typescript@4.8.4): + resolution: {integrity: sha512-zEYVVZAZ6lo0GHgtJu7uiQRPn8++32SzNFA4n8gao9jTujlFYsmQW8n7EbfZIooIPTrByqLpg/YSurr8kvQMhw==} + dependencies: + '@ceramicnetwork/streamid': 5.0.0 + '@didtools/cacao': 3.0.1(typescript@4.8.4) + '@didtools/pkh-ethereum': 0.2.1 + '@didtools/pkh-solana': 0.2.0(typescript@4.8.4) + '@didtools/pkh-stacks': 0.2.0(typescript@4.8.4) + '@didtools/pkh-tezos': 0.3.0(typescript@4.8.4) + '@ipld/dag-cbor': 9.2.0 + '@stablelib/random': 1.0.2 + caip: 1.1.1 + flat: 5.0.2 + it-first: 3.0.4 + jet-logger: 1.2.2 + lodash.clonedeep: 4.5.0 + logfmt: 1.4.0 + multiformats: 13.1.0 + rxjs: 7.8.1 + uint8arrays: 5.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /@ceramicnetwork/common@5.5.0(typescript@5.4.4): resolution: {integrity: sha512-zEYVVZAZ6lo0GHgtJu7uiQRPn8++32SzNFA4n8gao9jTujlFYsmQW8n7EbfZIooIPTrByqLpg/YSurr8kvQMhw==} dependencies: @@ -1002,6 +1109,26 @@ packages: - zod dev: false + /@ceramicnetwork/http-client@5.6.0(typescript@4.8.4): + resolution: {integrity: sha512-IRdB4Klm3xAnUB/Tuli/vTLi1Ul275RysMxrSEEDfEBru4GA/MG7cXomk4S1MsJ0flP+PD6aag7DyRQZmiYoLA==} + dependencies: + '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) + '@ceramicnetwork/stream-caip10-link': 5.5.0(typescript@4.8.4) + '@ceramicnetwork/stream-model': 4.5.0(typescript@4.8.4) + '@ceramicnetwork/stream-model-instance': 4.6.0(typescript@4.8.4) + '@ceramicnetwork/stream-tile': 5.5.0(typescript@4.8.4) + '@ceramicnetwork/streamid': 5.0.0 + '@scarf/scarf': 1.3.0 + query-string: 7.1.3 + rxjs: 7.8.1 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /@ceramicnetwork/http-client@5.6.0(typescript@5.4.4): resolution: {integrity: sha512-IRdB4Klm3xAnUB/Tuli/vTLi1Ul275RysMxrSEEDfEBru4GA/MG7cXomk4S1MsJ0flP+PD6aag7DyRQZmiYoLA==} dependencies: @@ -1282,6 +1409,22 @@ packages: - utf-8-validate - zod + /@ceramicnetwork/stream-caip10-link@5.5.0(typescript@4.8.4): + resolution: {integrity: sha512-X7HFHOuWlMBoZH3gSHbdXVjY8QYiDR5971uvhkNSpzxXV/Q9oqyRAULEFBuAKdH1+FUkaiaCxC2xaVh3ydC5Cg==} + dependencies: + '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) + '@ceramicnetwork/streamid': 5.0.0 + caip: 1.1.1 + did-resolver: 4.1.0 + lodash.clonedeep: 4.5.0 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /@ceramicnetwork/stream-caip10-link@5.5.0(typescript@5.4.4): resolution: {integrity: sha512-X7HFHOuWlMBoZH3gSHbdXVjY8QYiDR5971uvhkNSpzxXV/Q9oqyRAULEFBuAKdH1+FUkaiaCxC2xaVh3ydC5Cg==} dependencies: @@ -1445,6 +1588,24 @@ packages: - utf-8-validate - zod + /@ceramicnetwork/stream-model-instance@4.6.0(typescript@4.8.4): + resolution: {integrity: sha512-uksXGq4ytcR9bHgLm68t2unsk2QCOqEVOnGWmZH7G47XvbfV/Bm18NAO9cZagSRa5ogbCf4+N3AuZtLg/TDWKA==} + dependencies: + '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) + '@ceramicnetwork/streamid': 5.0.0 + '@ipld/dag-cbor': 7.0.3 + '@stablelib/random': 1.0.2 + fast-json-patch: 3.1.1 + object-sizeof: 2.6.4 + uint8arrays: 5.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /@ceramicnetwork/stream-model-instance@4.6.0(typescript@5.4.4): resolution: {integrity: sha512-uksXGq4ytcR9bHgLm68t2unsk2QCOqEVOnGWmZH7G47XvbfV/Bm18NAO9cZagSRa5ogbCf4+N3AuZtLg/TDWKA==} dependencies: @@ -1484,6 +1645,29 @@ packages: - utf-8-validate - zod + /@ceramicnetwork/stream-model@4.5.0(typescript@4.8.4): + resolution: {integrity: sha512-I0jYlptr4v31T3VlSwvYMggrx2DLahsC1u5ErVRBZeW8NeY/7VWUzKVQtuOfc5Wa2XdRJ7ODINyszWKb6nIneg==} + dependencies: + '@ceramicnetwork/codecs': 4.5.0(typescript@4.8.4) + '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) + '@ceramicnetwork/streamid': 5.0.0 + '@ipld/dag-cbor': 7.0.3 + '@stablelib/random': 1.0.2 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + codeco: 1.2.1 + fast-json-patch: 3.1.1 + json-schema-typed: 8.0.1 + multiformats: 13.1.0 + uint8arrays: 5.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /@ceramicnetwork/stream-model@4.5.0(typescript@5.4.4): resolution: {integrity: sha512-I0jYlptr4v31T3VlSwvYMggrx2DLahsC1u5ErVRBZeW8NeY/7VWUzKVQtuOfc5Wa2XdRJ7ODINyszWKb6nIneg==} dependencies: @@ -1565,6 +1749,25 @@ packages: - utf-8-validate - zod + /@ceramicnetwork/stream-tile@5.5.0(typescript@4.8.4): + resolution: {integrity: sha512-KhY5u553qh1Cl0R1BZbxvXpzDyW2p+lGzzDvQYO7et2D7KKqd9O0mkFSCzlsJC43xcOwY00JkbcRtHX3JhzabA==} + dependencies: + '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) + '@ceramicnetwork/streamid': 5.0.0 + '@ipld/dag-cbor': 7.0.3 + '@stablelib/random': 1.0.2 + dids: 5.0.2(typescript@4.8.4) + fast-json-patch: 3.1.1 + lodash.clonedeep: 4.5.0 + uint8arrays: 5.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /@ceramicnetwork/stream-tile@5.5.0(typescript@5.4.4): resolution: {integrity: sha512-KhY5u553qh1Cl0R1BZbxvXpzDyW2p+lGzzDvQYO7et2D7KKqd9O0mkFSCzlsJC43xcOwY00JkbcRtHX3JhzabA==} dependencies: @@ -1845,6 +2048,13 @@ packages: - utf-8-validate - zod + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + /@datastructures-js/heap@4.3.3: resolution: {integrity: sha512-UcUu/DLh/aM4W3C8zZfwxxm6/6FIZUlm3mcAXuNOCa6Aj4iizNvNXQyb8DjZQH2jKSQbMRyNlngP6TPimuGjpQ==} @@ -1864,6 +2074,24 @@ packages: multiformats: 11.0.2 uint8arrays: 4.0.10 + /@didtools/cacao@3.0.1(typescript@4.8.4): + resolution: {integrity: sha512-vV1JirxqVsBf2dqdvoS/msNN8fabvMfseZB0kf1FG8TbosrHd81+hgDOlQMZit7zJbTk5g3CGkZg3b7iYKkynw==} + engines: {node: '>=14.14'} + dependencies: + '@didtools/codecs': 3.0.0 + '@didtools/siwx': 2.0.0 + '@ipld/dag-cbor': 9.2.0 + caip: 1.1.1 + multiformats: 13.1.0 + uint8arrays: 5.0.3 + viem: 1.21.4(typescript@4.8.4) + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + dev: false + /@didtools/cacao@3.0.1(typescript@5.4.4): resolution: {integrity: sha512-vV1JirxqVsBf2dqdvoS/msNN8fabvMfseZB0kf1FG8TbosrHd81+hgDOlQMZit7zJbTk5g3CGkZg3b7iYKkynw==} engines: {node: '>=14.14'} @@ -1917,6 +2145,22 @@ packages: caip: 1.1.1 dev: false + /@didtools/pkh-ethereum@0.5.0(typescript@4.8.4): + resolution: {integrity: sha512-2S+TS/I2jVTNnkgyslxQvSjCzzLsCabjXD2UWjJnVkAoxeJgPE9GvY1JhTDgvVLfxLPnYwTIP/O1WR9wJcDkFg==} + engines: {node: '>=14.14'} + dependencies: + '@didtools/cacao': 3.0.1(typescript@4.8.4) + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + '@stablelib/random': 1.0.2 + caip: 1.1.1 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + dev: false + /@didtools/pkh-ethereum@0.5.0(typescript@5.4.4): resolution: {integrity: sha512-2S+TS/I2jVTNnkgyslxQvSjCzzLsCabjXD2UWjJnVkAoxeJgPE9GvY1JhTDgvVLfxLPnYwTIP/O1WR9wJcDkFg==} engines: {node: '>=14.14'} @@ -1932,6 +2176,22 @@ packages: - utf-8-validate - zod + /@didtools/pkh-solana@0.2.0(typescript@4.8.4): + resolution: {integrity: sha512-wOfa+hbWo1ok8YnR8tq2mZKbcyEv9qrxtTR5jXOuhOqCkz30/qu9e2Wib/byx7Kx5/ik/2z1nd2YPL0vrA+TxQ==} + engines: {node: '>=14.14'} + dependencies: + '@didtools/cacao': 3.0.1(typescript@4.8.4) + '@noble/curves': 1.4.0 + '@stablelib/random': 1.0.2 + caip: 1.1.1 + uint8arrays: 5.0.3 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + dev: false + /@didtools/pkh-solana@0.2.0(typescript@5.4.4): resolution: {integrity: sha512-wOfa+hbWo1ok8YnR8tq2mZKbcyEv9qrxtTR5jXOuhOqCkz30/qu9e2Wib/byx7Kx5/ik/2z1nd2YPL0vrA+TxQ==} engines: {node: '>=14.14'} @@ -1947,6 +2207,25 @@ packages: - utf-8-validate - zod + /@didtools/pkh-stacks@0.2.0(typescript@4.8.4): + resolution: {integrity: sha512-lXe8ZURCYCDQXrjaM7A4p1RCKrVsQ+NbO7bI70pRfjven82BPLDiqEJbhRGnWKbjQD1CQe9MJXLy3AuStKc7qw==} + engines: {node: '>=14.14'} + dependencies: + '@didtools/cacao': 3.0.1(typescript@4.8.4) + '@stablelib/random': 1.0.2 + '@stacks/common': 6.13.0 + '@stacks/encryption': 6.13.1 + '@stacks/transactions': 6.13.1 + caip: 1.1.1 + jsontokens: 4.0.1 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /@didtools/pkh-stacks@0.2.0(typescript@5.4.4): resolution: {integrity: sha512-lXe8ZURCYCDQXrjaM7A4p1RCKrVsQ+NbO7bI70pRfjven82BPLDiqEJbhRGnWKbjQD1CQe9MJXLy3AuStKc7qw==} engines: {node: '>=14.14'} @@ -1965,6 +2244,23 @@ packages: - utf-8-validate - zod + /@didtools/pkh-tezos@0.3.0(typescript@4.8.4): + resolution: {integrity: sha512-AB8drOnBkDSE9KolsiSShPwVOVbRXM2G5T//b+GgX9potVRTcRsD0z59x/6mU1e9g2kxpScOhjRrZsC0c+SQNw==} + engines: {node: '>=14.14'} + dependencies: + '@didtools/cacao': 3.0.1(typescript@4.8.4) + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + '@stablelib/random': 1.0.2 + caip: 1.1.1 + uint8arrays: 5.0.3 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + dev: false + /@didtools/pkh-tezos@0.3.0(typescript@5.4.4): resolution: {integrity: sha512-AB8drOnBkDSE9KolsiSShPwVOVbRXM2G5T//b+GgX9potVRTcRsD0z59x/6mU1e9g2kxpScOhjRrZsC0c+SQNw==} engines: {node: '>=14.14'} @@ -2014,7 +2310,6 @@ packages: cpu: [ppc64] os: [aix] requiresBuild: true - dev: true optional: true /@esbuild/android-arm64@0.19.12: @@ -2023,7 +2318,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-arm@0.19.12: @@ -2032,7 +2326,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-x64@0.19.12: @@ -2041,7 +2334,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/darwin-arm64@0.19.12: @@ -2050,7 +2342,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/darwin-x64@0.19.12: @@ -2059,7 +2350,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-arm64@0.19.12: @@ -2068,7 +2358,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-x64@0.19.12: @@ -2077,7 +2366,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm64@0.19.12: @@ -2086,7 +2374,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm@0.19.12: @@ -2095,7 +2382,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ia32@0.19.12: @@ -2104,7 +2390,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64@0.19.12: @@ -2113,7 +2398,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-mips64el@0.19.12: @@ -2122,7 +2406,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ppc64@0.19.12: @@ -2131,7 +2414,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-riscv64@0.19.12: @@ -2140,7 +2422,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-s390x@0.19.12: @@ -2149,7 +2430,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-x64@0.19.12: @@ -2158,7 +2438,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/netbsd-x64@0.19.12: @@ -2167,7 +2446,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true optional: true /@esbuild/openbsd-x64@0.19.12: @@ -2176,7 +2454,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true /@esbuild/sunos-x64@0.19.12: @@ -2185,7 +2462,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true optional: true /@esbuild/win32-arm64@0.19.12: @@ -2194,7 +2470,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-ia32@0.19.12: @@ -2203,7 +2478,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-x64@0.19.12: @@ -2212,7 +2486,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): @@ -2235,7 +2508,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -2927,7 +3200,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3235,6 +3508,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@kamilkisiela/fast-url-parser@1.1.4: resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} dev: false @@ -3322,7 +3602,7 @@ packages: dependencies: '@libp2p/interface-peer-id': 2.0.2 '@multiformats/multiaddr': 12.2.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) interface-datastore: 8.2.11 multiformats: 11.0.2 transitivePeerDependencies: @@ -3821,6 +4101,10 @@ packages: transitivePeerDependencies: - encoding + /@stablelib/aead@1.0.1: + resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} + dev: true + /@stablelib/binary@1.0.1: resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} dependencies: @@ -3833,6 +4117,32 @@ packages: '@stablelib/hash': 1.0.1 '@stablelib/wipe': 1.0.1 + /@stablelib/bytes@1.0.1: + resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==} + dev: true + + /@stablelib/chacha20poly1305@1.0.1: + resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==} + dependencies: + '@stablelib/aead': 1.0.1 + '@stablelib/binary': 1.0.1 + '@stablelib/chacha': 1.0.1 + '@stablelib/constant-time': 1.0.1 + '@stablelib/poly1305': 1.0.1 + '@stablelib/wipe': 1.0.1 + dev: true + + /@stablelib/chacha@1.0.1: + resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==} + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/wipe': 1.0.1 + dev: true + + /@stablelib/constant-time@1.0.1: + resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} + dev: true + /@stablelib/ed25519@1.0.3: resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} dependencies: @@ -3849,6 +4159,19 @@ packages: /@stablelib/int@1.0.1: resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} + /@stablelib/keyagreement@1.0.1: + resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==} + dependencies: + '@stablelib/bytes': 1.0.1 + dev: true + + /@stablelib/poly1305@1.0.1: + resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==} + dependencies: + '@stablelib/constant-time': 1.0.1 + '@stablelib/wipe': 1.0.1 + dev: true + /@stablelib/random@1.0.2: resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} dependencies: @@ -3879,6 +4202,32 @@ packages: /@stablelib/wipe@1.0.1: resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} + /@stablelib/x25519@1.0.3: + resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} + dependencies: + '@stablelib/keyagreement': 1.0.1 + '@stablelib/random': 1.0.2 + '@stablelib/wipe': 1.0.1 + dev: true + + /@stablelib/xchacha20@1.0.1: + resolution: {integrity: sha512-1YkiZnFF4veUwBVhDnDYwo6EHeKzQK4FnLiO7ezCl/zu64uG0bCCAUROJaBkaLH+5BEsO3W7BTXTguMbSLlWSw==} + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/chacha': 1.0.1 + '@stablelib/wipe': 1.0.1 + dev: true + + /@stablelib/xchacha20poly1305@1.0.1: + resolution: {integrity: sha512-B1Abj0sMJ8h3HNmGnJ7vHBrAvxuNka6cJJoZ1ILN7iuacXp7sUYcgOVEOTLWj+rtQMpspY9tXSCRLPmN1mQNWg==} + dependencies: + '@stablelib/aead': 1.0.1 + '@stablelib/chacha20poly1305': 1.0.1 + '@stablelib/constant-time': 1.0.1 + '@stablelib/wipe': 1.0.1 + '@stablelib/xchacha20': 1.0.1 + dev: true + /@stacks/common@6.13.0: resolution: {integrity: sha512-wwzyihjaSdmL6NxKvDeayy3dqM0L0Q2sawmdNtzJDi0FnXuJGm5PeapJj7bEfcI9XwI7Bw5jZoC6mCn9nc5YIw==} dependencies: @@ -4129,6 +4478,22 @@ packages: requiresBuild: true optional: true + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + dev: true + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true + /@types/abstract-leveldown@5.0.2: resolution: {integrity: sha512-+jA1XXF3jsz+Z7FcuiNqgK53hTa/luglT2TyTpKPqoYbxVY+mCPF22Rm+q3KPBrMHJwNXFrTViHszBOfU4vftQ==} dev: false @@ -4177,7 +4542,6 @@ packages: dependencies: '@types/connect': 3.4.38 '@types/node': 20.12.5 - dev: false /@types/bs58check@2.1.2: resolution: {integrity: sha512-xpXaQlOIY1KoXlA/ytHGHpEIU87PJt+g9SH7nC6HdCgaBwT2IEZIwBMHbjuX6BpnfbiUMlmwqurdLDwXpcdmSA==} @@ -4196,7 +4560,12 @@ packages: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: '@types/node': 20.12.5 - dev: false + + /@types/cors@2.8.15: + resolution: {integrity: sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw==} + dependencies: + '@types/node': 20.12.5 + dev: true /@types/dns-packet@5.6.5: resolution: {integrity: sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q==} @@ -4214,7 +4583,6 @@ packages: '@types/qs': 6.9.14 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 - dev: false /@types/express@4.17.21: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -4223,7 +4591,6 @@ packages: '@types/express-serve-static-core': 4.19.0 '@types/qs': 6.9.14 '@types/serve-static': 1.15.7 - dev: false /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -4236,7 +4603,6 @@ packages: /@types/http-errors@2.0.4: resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - dev: false /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -4276,7 +4642,6 @@ packages: /@types/mime@1.3.5: resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - dev: false /@types/minimatch@3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} @@ -4307,11 +4672,9 @@ packages: /@types/qs@6.9.14: resolution: {integrity: sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==} - dev: false /@types/range-parser@1.2.7: resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - dev: false /@types/responselike@1.0.3: resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} @@ -4327,7 +4690,6 @@ packages: dependencies: '@types/mime': 1.3.5 '@types/node': 20.12.5 - dev: false /@types/serve-static@1.15.7: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} @@ -4335,7 +4697,6 @@ packages: '@types/http-errors': 2.0.4 '@types/node': 20.12.5 '@types/send': 0.17.4 - dev: false /@types/stack-utils@2.0.3: resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -4368,7 +4729,7 @@ packages: '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4) '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -4397,7 +4758,7 @@ packages: '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -4423,7 +4784,7 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.57.0 typescript: 5.4.4 transitivePeerDependencies: @@ -4444,7 +4805,7 @@ packages: '@typescript-eslint/types': 7.5.0 '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.57.0 typescript: 5.4.4 transitivePeerDependencies: @@ -4487,7 +4848,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4) - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.4) typescript: 5.4.4 @@ -4507,7 +4868,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.4) typescript: 5.4.4 @@ -4541,7 +4902,7 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 @@ -4562,7 +4923,7 @@ packages: dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -4584,7 +4945,7 @@ packages: dependencies: '@typescript-eslint/types': 7.5.0 '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -4732,7 +5093,20 @@ packages: /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} requiresBuild: true - optional: true + + /abitype@0.9.8(typescript@4.8.4): + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + dependencies: + typescript: 4.8.4 + dev: false /abitype@0.9.8(typescript@5.4.4): resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} @@ -4802,6 +5176,11 @@ packages: acorn: 8.11.3 dev: true + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + /acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} @@ -4816,7 +5195,7 @@ packages: engines: {node: '>= 6.0.0'} requiresBuild: true dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color optional: true @@ -4938,6 +5317,10 @@ packages: readable-stream: 3.6.2 optional: true + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -5196,9 +5579,18 @@ packages: /bech32@1.1.4: resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + /bech32@2.0.0: + resolution: {integrity: sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==} + dev: true + /bigi@1.4.2: resolution: {integrity: sha512-ddkU+dFIuEIW8lE7ZwdIAf2UPoM90eaprg5m3YXAVVTmKlqV/9BX4A2M8BOK2yOq6/VgZFVhK6QAxJebhlbhzw==} + /bigint-mod-arith@3.3.1: + resolution: {integrity: sha512-pX/cYW3dCa87Jrzv6DAr8ivbbJRzEX5yGhdt8IutnX/PCIXfpx+mabWNK/M8qqh+zQ0J3thftUBHW0ByuUlG0w==} + engines: {node: '>=10.4.0'} + dev: true + /bin-check@4.1.0: resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} engines: {node: '>=4'} @@ -5224,6 +5616,11 @@ packages: find-versions: 5.1.0 dev: true + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: true + /binary@0.3.0: resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} dependencies: @@ -5320,7 +5717,7 @@ packages: /borsh@0.6.0: resolution: {integrity: sha512-sl5k89ViqsThXQpYa9XDtz1sBl3l1lI313cFUY1HKr+wvMILnb+58xpkqTNrYbelh99dY7K8usxoCusQmqix9Q==} dependencies: - bn.js: 5.2.0 + bn.js: 5.2.1 bs58: 4.0.1 text-encoding-utf-8: 1.0.2 @@ -5441,6 +5838,11 @@ packages: engines: {node: '>=0.2.0'} dev: false + /builtin-modules@1.1.1: + resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==} + engines: {node: '>=0.10.0'} + dev: true + /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -5620,6 +6022,21 @@ packages: engines: {node: '>=10'} dev: true + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -5717,6 +6134,10 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} @@ -5826,6 +6247,10 @@ packages: - ts-node dev: true + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + /cron-parser@4.9.0: resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} engines: {node: '>=12.0.0'} @@ -5944,7 +6369,7 @@ packages: ms: 2.1.3 dev: true - /debug@4.3.4: + /debug@4.3.4(supports-color@5.5.0): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -5954,6 +6379,7 @@ packages: optional: true dependencies: ms: 2.1.2 + supports-color: 5.5.0 /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -6095,6 +6521,23 @@ packages: engines: {node: '>=8'} dev: true + /did-jwt@6.11.6: + resolution: {integrity: sha512-OfbWknRxJuUqH6Lk0x+H1FsuelGugLbBDEwsoJnicFOntIG/A4y19fn0a8RLxaQbWQ5gXg0yDq5E2huSBiiXzw==} + dependencies: + '@stablelib/ed25519': 1.0.3 + '@stablelib/random': 1.0.2 + '@stablelib/sha256': 1.0.1 + '@stablelib/x25519': 1.0.3 + '@stablelib/xchacha20poly1305': 1.0.1 + bech32: 2.0.0 + canonicalize: 2.0.0 + did-resolver: 4.1.0 + elliptic: 6.5.5 + js-sha3: 0.8.0 + multiformats: 9.9.0 + uint8arrays: 3.1.1 + dev: true + /did-jwt@7.4.7: resolution: {integrity: sha512-Apz7nIfIHSKWIMaEP5L/K8xkwByvjezjTG0xiqwKdnNj1x8M0+Yasury5Dm/KPltxi2PlGfRPf3IejRKZrT8mQ==} dependencies: @@ -6128,6 +6571,28 @@ packages: uint8arrays: 4.0.10 dev: false + /dids@5.0.2(typescript@4.8.4): + resolution: {integrity: sha512-sxTgrvJtatqdm7dukGbquk23BVvbiaxf3nTKywWaY9AUqwC2IYEo6FG0En2cMl3J1fqMMQXrGg9luh2xDmYOmw==} + engines: {node: '>=14.14'} + dependencies: + '@didtools/cacao': 3.0.1(typescript@4.8.4) + '@didtools/codecs': 3.0.0 + '@didtools/pkh-ethereum': 0.5.0(typescript@4.8.4) + '@stablelib/random': 1.0.2 + codeco: 1.2.1 + dag-jose-utils: 4.0.0 + did-jwt: 7.4.7 + did-resolver: 4.1.0 + multiformats: 13.1.0 + rpc-utils: 0.6.2 + uint8arrays: 5.0.3 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + dev: false + /dids@5.0.2(typescript@5.4.4): resolution: {integrity: sha512-sxTgrvJtatqdm7dukGbquk23BVvbiaxf3nTKywWaY9AUqwC2IYEo6FG0En2cMl3J1fqMMQXrGg9luh2xDmYOmw==} engines: {node: '>=14.14'} @@ -6154,6 +6619,11 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -6164,7 +6634,7 @@ packages: /dns-over-http-resolver@2.1.3: resolution: {integrity: sha512-zjRYFhq+CsxPAouQWzOsxNMvEN+SHisjzhX8EMxd2Y0EG3thvn6wXQgMJLnTDImkhe4jhLbOQpXtL10nALBOSA==} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) native-fetch: 4.0.2(undici@5.28.4) receptacle: 1.3.2 undici: 5.28.4 @@ -6191,6 +6661,11 @@ packages: esutils: 2.0.3 dev: true + /dotenv@16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + engines: {node: '>=12'} + dev: false + /dset@3.1.3: resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} engines: {node: '>=4'} @@ -6478,7 +6953,6 @@ packages: '@esbuild/win32-arm64': 0.19.12 '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 - dev: true /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} @@ -6515,7 +6989,7 @@ packages: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.4) eslint-config-prettier: 8.10.0(eslint@8.57.0) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.4) eslint-plugin-prettier: 5.1.3(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@3.2.5) eslint-plugin-react: 7.34.1(eslint@8.57.0) @@ -6557,11 +7031,11 @@ packages: eslint: '*' eslint-plugin-import: '*' dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) enhanced-resolve: 5.16.0 eslint: 8.57.0 eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.3 is-core-module: 2.13.1 @@ -6603,36 +7077,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.5.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - debug: 3.2.7 - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0)(eslint@8.57.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -6642,7 +7087,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.4) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -6651,7 +7096,7 @@ packages: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.5.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -6805,7 +7250,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -6908,6 +7353,12 @@ packages: md5.js: 1.3.5 safe-buffer: 5.2.1 + /exec@0.2.1: + resolution: {integrity: sha512-lE5ZlJgRYh+rmwidatL2AqRA/U9IBoCpKlLriBmnfUIrV/Rj4oLjb63qZ57iBCHWi5j9IjLt5wOWkFYPiTfYAg==} + engines: {node: '>= v0.9.1'} + deprecated: deprecated in favor of builtin child_process.execFile + dev: false + /execa@0.7.0: resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==} engines: {node: '>=4'} @@ -7262,7 +7713,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true optional: true /function-bind@1.1.2: @@ -7357,7 +7807,6 @@ packages: resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} dependencies: resolve-pkg-maps: 1.0.0 - dev: true /getopts@2.3.0: resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==} @@ -7555,7 +8004,6 @@ packages: /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -7666,7 +8114,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color optional: true @@ -7688,7 +8136,7 @@ packages: requiresBuild: true dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color optional: true @@ -7730,6 +8178,10 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + /ignore-by-default@1.0.1: + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} + dev: true + /ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} @@ -7999,6 +8451,13 @@ packages: has-bigints: 1.0.2 dev: true + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: true + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -8272,7 +8731,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -8894,6 +9353,17 @@ packages: object.values: 1.2.0 dev: true + /key-did-provider-ed25519@2.0.1: + resolution: {integrity: sha512-FaB2g7zUAeN/bLaFl2YSNQx9NsxgDd/3TR1YGvoXLhENsvZBdyA2V7hX8/MZhZ5jm82wL5lRw3O4UXuz/pJANQ==} + engines: {node: '>=14.14'} + dependencies: + '@stablelib/ed25519': 1.0.3 + did-jwt: 6.11.6 + fast-json-stable-stringify: 2.1.0 + rpc-utils: 0.6.2 + uint8arrays: 3.1.1 + dev: true + /key-did-provider-ed25519@3.0.2: resolution: {integrity: sha512-4Yw0CeO1hKRaUsh9NIz4tn4Ysr09CdoJItyT0vHjd5iedJ+FvVt7pTbNr7IY0/+8mWvYslutAK5LFrwu5agpsA==} engines: {node: '>=14.14'} @@ -8923,6 +9393,16 @@ packages: - zod dev: false + /key-did-resolver@2.1.3: + resolution: {integrity: sha512-zEDHuM9mictWyj8lKO72uqjvsgz7Eu2hioI4gvAEA4IbB9ojBiBcshMt0ptOmFKV6WqBnxW2gTH4eO5Zj4LUMQ==} + dependencies: + '@stablelib/ed25519': 1.0.3 + bigint-mod-arith: 3.3.1 + multiformats: 9.9.0 + uint8arrays: 3.1.1 + varint: 6.0.0 + dev: true + /key-did-resolver@4.0.0: resolution: {integrity: sha512-+U2nd/0rjO4Yqe2hnHBD7ygcLRfT43Oje9IIjv1BlBi0lopwxZpIFQ7GekguOHK02r+JGdl8mpJVNHs5lvXVOA==} engines: {node: '>=14.14'} @@ -8983,7 +9463,7 @@ packages: dependencies: colorette: 2.0.19 commander: 10.0.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) escalade: 3.1.2 esm: 3.2.25 get-package-type: 0.1.0 @@ -9314,6 +9794,10 @@ packages: semver: 7.6.0 dev: true + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + /make-fetch-happen@9.1.0: resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} engines: {node: '>= 10'} @@ -9577,7 +10061,6 @@ packages: hasBin: true dependencies: minimist: 1.2.8 - dev: false /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} @@ -9786,6 +10269,30 @@ packages: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true + /nodemon@3.1.0: + resolution: {integrity: sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + chokidar: 3.6.0 + debug: 4.3.4(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 7.6.0 + simple-update-notifier: 2.0.0 + supports-color: 5.5.0 + touch: 3.1.0 + undefsafe: 2.0.5 + dev: true + + /nopt@1.0.10: + resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: true + /nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} @@ -10466,7 +10973,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 18.19.30 + '@types/node': 20.12.5 long: 5.2.3 /protons-runtime@5.4.0: @@ -10492,6 +10999,10 @@ packages: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true + /pstree.remy@1.1.8: + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} + dev: true + /pump@1.0.3: resolution: {integrity: sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==} dependencies: @@ -10652,6 +11163,13 @@ packages: readable-stream: 3.6.2 dev: true + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + /receptacle@1.3.2: resolution: {integrity: sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==} dependencies: @@ -10734,7 +11252,6 @@ packages: /resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true /resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} @@ -10824,7 +11341,7 @@ packages: '@types/abstract-leveldown': 5.0.2 abstract-leveldown: 6.3.0 aws-sdk: 2.1594.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) inherits: 2.0.4 levelup: 5.1.1 ltgt: 2.2.1 @@ -10900,6 +11417,11 @@ packages: semver: 7.6.0 dev: true + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -11040,6 +11562,13 @@ packages: once: 1.4.0 simple-concat: 1.0.1 + /simple-update-notifier@2.0.0: + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -11066,7 +11595,7 @@ packages: requiresBuild: true dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) socks: 2.8.1 transitivePeerDependencies: - supports-color @@ -11159,6 +11688,9 @@ packages: /sqlite3@5.1.7: resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} requiresBuild: true + peerDependenciesMeta: + node-gyp: + optional: true dependencies: bindings: 1.5.0 node-addon-api: 7.1.0 @@ -11362,7 +11894,6 @@ packages: engines: {node: '>=4'} dependencies: has-flag: 3.0.0 - dev: true /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -11531,6 +12062,13 @@ packages: ieee754: 1.2.1 dev: true + /touch@3.1.0: + resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} + hasBin: true + dependencies: + nopt: 1.0.10 + dev: true + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -11559,6 +12097,38 @@ packages: typescript: 5.4.4 dev: true + /ts-node@10.9.1(@swc/core@1.4.12)(@types/node@20.12.5)(typescript@4.8.4): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@swc/core': 1.4.12 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.12.5 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.8.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + /tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: @@ -11575,6 +12145,39 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + /tslint@6.1.3(typescript@4.8.4): + resolution: {integrity: sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==} + engines: {node: '>=4.8.0'} + deprecated: TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information. + hasBin: true + peerDependencies: + typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev' + dependencies: + '@babel/code-frame': 7.24.2 + builtin-modules: 1.1.1 + chalk: 2.4.2 + commander: 2.20.3 + diff: 4.0.2 + glob: 7.2.3 + js-yaml: 3.14.1 + minimatch: 3.1.2 + mkdirp: 0.5.6 + resolve: 1.22.8 + semver: 5.7.2 + tslib: 1.14.1 + tsutils: 2.29.0(typescript@4.8.4) + typescript: 4.8.4 + dev: true + + /tsutils@2.29.0(typescript@4.8.4): + resolution: {integrity: sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==} + peerDependencies: + typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev' + dependencies: + tslib: 1.14.1 + typescript: 4.8.4 + dev: true + /tsutils@3.21.0(typescript@5.4.4): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -11594,7 +12197,6 @@ packages: get-tsconfig: 4.7.3 optionalDependencies: fsevents: 2.3.3 - dev: true /tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -11797,6 +12399,11 @@ packages: /typeforce@1.18.0: resolution: {integrity: sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==} + /typescript@4.8.4: + resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} + engines: {node: '>=4.2.0'} + hasBin: true + /typescript@5.4.4: resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} engines: {node: '>=14.17'} @@ -11848,6 +12455,10 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /undefsafe@2.0.5: + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} + dev: true + /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -11947,6 +12558,10 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + /v8-to-istanbul@9.2.0: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} engines: {node: '>=10.12.0'} @@ -11984,6 +12599,29 @@ packages: engines: {node: '>= 0.8'} dev: false + /viem@1.21.4(typescript@4.8.4): + resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@adraffy/ens-normalize': 1.10.0 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@scure/bip32': 1.3.2 + '@scure/bip39': 1.2.1 + abitype: 0.9.8(typescript@4.8.4) + isows: 1.0.3(ws@8.13.0) + typescript: 4.8.4 + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + dev: false + /viem@1.21.4(typescript@5.4.4): resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} peerDependencies: @@ -12219,6 +12857,11 @@ packages: yargs-parser: 21.1.1 dev: true + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} From 98d3fded46ed6aee83bec6e044ab3cbbd670bb95 Mon Sep 17 00:00:00 2001 From: Mark Krasner Date: Wed, 10 Apr 2024 12:46:51 -0400 Subject: [PATCH 2/6] Reverting aggregation schema back to 2-field set --- .../composites/sandboxAggregation.graphql | 27 ++----------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/demo/server/composites/sandboxAggregation.graphql b/demo/server/composites/sandboxAggregation.graphql index b77a348..5d68612 100644 --- a/demo/server/composites/sandboxAggregation.graphql +++ b/demo/server/composites/sandboxAggregation.graphql @@ -4,7 +4,7 @@ interface PointsAggregation @loadModel(id: "kjzl6hvfrbw6cb6393dpd8blke5w8r7pvbl4 id: ID! } -type SandboxReadAggregation implements PointsAggregation +type SandboxPointsAggregation implements PointsAggregation @createModel( description: "Aggregation of multiple Ceramic Sandbox read points to an account" accountRelation: SET @@ -14,28 +14,5 @@ type SandboxReadAggregation implements PointsAggregation recipient: DID! @accountReference points: Int! date: DateTime! -} - -type SandboxWriteAggregation implements PointsAggregation - @createModel( - description: "Aggregation of multiple Ceramic Sandbox write points to an account" - accountRelation: SET - accountRelationFields: ["recipient"] - ) { - issuer: DID! @documentAccount - recipient: DID! @accountReference - points: Int! - date: DateTime! -} - -type SandboxComplexWriteAggregation implements PointsAggregation - @createModel( - description: "Aggregation of multiple Ceramic Sandbox complex write points to an account" - accountRelation: SET - accountRelationFields: ["recipient"] - ) { - issuer: DID! @documentAccount - recipient: DID! @accountReference - points: Int! - date: DateTime! + context: String! @string(maxLength: 100) } From b7dc0b02a73eb3c44cef4c21c07e254e1d299476 Mon Sep 17 00:00:00 2001 From: Mark Krasner Date: Thu, 11 Apr 2024 12:01:06 -0400 Subject: [PATCH 3/6] Type fix for multicontroller --- demo/server/src/controllers/multiController.ts | 11 ++++++++--- demo/server/src/index.ts | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/demo/server/src/controllers/multiController.ts b/demo/server/src/controllers/multiController.ts index e944433..f1c443a 100644 --- a/demo/server/src/controllers/multiController.ts +++ b/demo/server/src/controllers/multiController.ts @@ -2,6 +2,13 @@ import { getContext } from '../utils/context.js' import { Request, Response, NextFunction } from 'express' import { PointsWriter, PointsReader } from '@composexp/points' +type ContextAggregationContent = { + recipient: string + points: number + date: string + context: string +} + const getContextAggregation = async (req: Request, res: Response, next: NextFunction) => { try { const { ceramic, aggregationModelID } = await getContext() @@ -55,7 +62,7 @@ const updateContextAggregation = async (req: Request, res: Response, next: NextF const { amount, recipient, context } = req.body //instantiate a writer and reader - const contextWriter = new PointsWriter({ + const contextWriter = new PointsWriter({ ceramic, aggregationModelID, }) @@ -73,7 +80,6 @@ const updateContextAggregation = async (req: Request, res: Response, next: NextF recipient, points: amount, date: new Date().toISOString(), - //@ts-ignore context, }) res.locals = { @@ -88,7 +94,6 @@ const updateContextAggregation = async (req: Request, res: Response, next: NextF points: content ? content.points + amount : amount, date: new Date().toISOString(), recipient, - //@ts-ignore context, } }, diff --git a/demo/server/src/index.ts b/demo/server/src/index.ts index 7c6a190..5312c4c 100644 --- a/demo/server/src/index.ts +++ b/demo/server/src/index.ts @@ -8,7 +8,7 @@ const port = process.env.PORT || 8080; const corsOptions = { - origin: ["http://localhost:3000", "https://developers.ceramic.network"], + origin: ["http://localhost:8080", "https://developers.ceramic.network"], optionsSuccessStatus: 200 // For legacy browser support } From b2c61b8ff48aa2b1659ca0d78366ef80d6741b00 Mon Sep 17 00:00:00 2001 From: Mark Krasner Date: Thu, 11 Apr 2024 15:49:34 -0400 Subject: [PATCH 4/6] Lock file fix --- pnpm-lock.yaml | 206 ++++++++++++++++++++++++------------------------- 1 file changed, 100 insertions(+), 106 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b0e386..c6b3e70 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,7 +67,7 @@ importers: devDependencies: '@composedb/types': specifier: ^0.7.1 - version: 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) + version: 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) '@composexp/composite-utils': specifier: workspace:^ version: link:../../utils/composite @@ -128,7 +128,7 @@ importers: version: 3.1.0 ts-node: specifier: ^10.9.1 - version: 10.9.1(@swc/core@1.4.12)(@types/node@20.12.5)(typescript@4.8.4) + version: 10.9.1(@swc/core@1.4.13)(@types/node@20.12.7)(typescript@4.8.4) tslint: specifier: ^6.1.3 version: 6.1.3(typescript@4.8.4) @@ -180,7 +180,7 @@ importers: version: 5.5.0(typescript@5.4.4) '@composedb/types': specifier: ^0.7.1 - version: 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) + version: 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) '@composexp/ceramic-utils': specifier: workspace:^ version: link:../../utils/ceramic @@ -195,10 +195,10 @@ importers: dependencies: '@ceramicnetwork/cli': specifier: ^5.6.0 - version: 5.6.0(@polkadot/util@12.6.2)(@types/express@4.17.21)(pg@8.11.3)(typescript@5.4.4) + version: 5.6.0(@polkadot/util@7.9.2)(@types/express@4.17.21)(pg@8.11.3)(typescript@5.4.4) '@ceramicnetwork/core': specifier: ^5.6.0 - version: 5.6.0(@polkadot/util@12.6.2)(typescript@5.4.4) + version: 5.6.0(@polkadot/util@7.9.2)(typescript@5.4.4) '@ceramicnetwork/ipfs-daemon': specifier: ^5.6.0 version: 5.6.0(typescript@5.4.4) @@ -223,14 +223,14 @@ importers: dependencies: '@composedb/devtools-node': specifier: ^0.7.1 - version: 0.7.1(@composedb/devtools@0.7.1)(@polkadot/util@12.6.2)(typescript@5.4.4) + version: 0.7.1(@composedb/devtools@0.7.1)(@polkadot/util@7.9.2)(typescript@5.4.4) '@composexp/ceramic-utils': specifier: workspace:^ version: link:../ceramic devDependencies: '@composedb/types': specifier: ^0.7.1 - version: 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) + version: 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) '@types/node': specifier: ^20.12.7 version: 20.12.7 @@ -711,7 +711,7 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/blockchain-utils-validation@5.4.0(@polkadot/util@12.6.2)(typescript@5.4.4): + /@ceramicnetwork/blockchain-utils-validation@5.4.0(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-AzzCzOb5zwOF9kA9lgzUSvn2EM+9gljOCCgLgLnmZ5vg1QzAM/1xpM07hGxuve4ud3s37q/C3IVrNCdGvMtIvw==} dependencies: '@ceramicnetwork/blockchain-utils-linking': 5.0.0(typescript@5.4.4) @@ -720,7 +720,7 @@ packages: '@ethersproject/providers': 5.7.2 '@ethersproject/wallet': 5.7.0 '@noble/curves': 1.4.0 - '@polkadot/util-crypto': 7.9.2(@polkadot/util@12.6.2) + '@polkadot/util-crypto': 7.9.2(@polkadot/util@7.9.2) '@smontero/eosio-signing-tools': 0.0.6 '@taquito/utils': 11.2.0 '@tendermint/sig': 0.6.0 @@ -737,7 +737,7 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/blockchain-utils-validation@5.5.0(@polkadot/util@12.6.2)(typescript@5.4.4): + /@ceramicnetwork/blockchain-utils-validation@5.5.0(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-1hLGXugUE6qNjkbzOAeInj0l58y9ejI19wW8y1TTQTpeThUjkUFxdaiLkKWitIXAcw8Ve+Vnpw5f0VnwtR/+hA==} dependencies: '@ceramicnetwork/blockchain-utils-linking': 5.0.0(typescript@5.4.4) @@ -746,7 +746,7 @@ packages: '@ethersproject/providers': 5.7.2 '@ethersproject/wallet': 5.7.0 '@noble/curves': 1.4.0 - '@polkadot/util-crypto': 7.9.2(@polkadot/util@12.6.2) + '@polkadot/util-crypto': 7.9.2(@polkadot/util@7.9.2) '@smontero/eosio-signing-tools': 0.0.6 '@taquito/utils': 11.2.0 '@tendermint/sig': 0.6.0 @@ -764,7 +764,7 @@ packages: - zod dev: false - /@ceramicnetwork/cli@5.6.0(@polkadot/util@12.6.2)(@types/express@4.17.21)(pg@8.11.3)(typescript@5.4.4): + /@ceramicnetwork/cli@5.6.0(@polkadot/util@7.9.2)(@types/express@4.17.21)(pg@8.11.3)(typescript@5.4.4): resolution: {integrity: sha512-TZDMTsVWk6tzGV3E1LdTPhZUA3BxPLLGZRbtIhwTU5Pvbs6sCHSTyinGzUQ4zthtXp2vMqIIYHb5C1eZrNdK8A==} engines: {node: '>=20.8'} hasBin: true @@ -773,7 +773,7 @@ packages: '@ceramicnetwork/3id-did-resolver': 5.6.0(typescript@5.4.4) '@ceramicnetwork/codecs': 4.5.0(typescript@5.4.4) '@ceramicnetwork/common': 5.5.0(typescript@5.4.4) - '@ceramicnetwork/core': 5.6.0(@polkadot/util@12.6.2)(typescript@5.4.4) + '@ceramicnetwork/core': 5.6.0(@polkadot/util@7.9.2)(typescript@5.4.4) '@ceramicnetwork/http-client': 5.6.0(typescript@5.4.4) '@ceramicnetwork/indexing': 4.6.0(pg@8.11.3)(sqlite3@5.1.7)(typescript@5.4.4) '@ceramicnetwork/ipfs-daemon': 5.6.0(typescript@5.4.4) @@ -971,7 +971,7 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/core@5.5.0(@polkadot/util@12.6.2)(typescript@5.4.4): + /@ceramicnetwork/core@5.5.0(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-Tj/uZZ4pneSjSaEKhfp4RR6gMmzyqOIK3eqyepEObyEQUyggbQMxDqhGPRWqFFeUdB2GAnbaKuYuo/uz6a5ghg==} engines: {node: '>=20.8'} dependencies: @@ -986,7 +986,7 @@ packages: '@ceramicnetwork/pinning-aggregation': 5.4.0 '@ceramicnetwork/pinning-ipfs-backend': 5.4.0 '@ceramicnetwork/stream-caip10-link': 5.4.0(typescript@5.4.4) - '@ceramicnetwork/stream-caip10-link-handler': 5.5.0(@polkadot/util@12.6.2)(typescript@5.4.4) + '@ceramicnetwork/stream-caip10-link-handler': 5.5.0(@polkadot/util@7.9.2)(typescript@5.4.4) '@ceramicnetwork/stream-model': 4.4.0(typescript@5.4.4) '@ceramicnetwork/stream-model-handler': 4.5.0(typescript@5.4.4) '@ceramicnetwork/stream-model-instance': 4.5.0(typescript@5.4.4) @@ -1039,7 +1039,7 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/core@5.6.0(@polkadot/util@12.6.2)(typescript@5.4.4): + /@ceramicnetwork/core@5.6.0(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-svRyYxXW1HeP0EhxDjtisrZYfYuPUjMA4ZlM5o4xs6qGO0GJl88ttPTFPA5LI/iWAdzwyeTxpvmORwoq0A+j6w==} engines: {node: '>=20.8'} dependencies: @@ -1055,7 +1055,7 @@ packages: '@ceramicnetwork/pinning-aggregation': 5.5.0 '@ceramicnetwork/pinning-ipfs-backend': 5.5.0 '@ceramicnetwork/stream-caip10-link': 5.5.0(typescript@5.4.4) - '@ceramicnetwork/stream-caip10-link-handler': 5.6.0(@polkadot/util@12.6.2)(typescript@5.4.4) + '@ceramicnetwork/stream-caip10-link-handler': 5.6.0(@polkadot/util@7.9.2)(typescript@5.4.4) '@ceramicnetwork/stream-model': 4.5.0(typescript@5.4.4) '@ceramicnetwork/stream-model-handler': 4.6.0(typescript@5.4.4) '@ceramicnetwork/stream-model-instance': 4.6.0(typescript@5.4.4) @@ -1361,10 +1361,10 @@ packages: - supports-color dev: false - /@ceramicnetwork/stream-caip10-link-handler@5.5.0(@polkadot/util@12.6.2)(typescript@5.4.4): + /@ceramicnetwork/stream-caip10-link-handler@5.5.0(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-2GiFBSZrc8tmKBSWWh2ZjzWMtQG1fHQCCPhHXd91Si5cx+FTh2T0qEqpg5JtIXrDRe/yIP2sq4ZHODlVeuslSw==} dependencies: - '@ceramicnetwork/blockchain-utils-validation': 5.4.0(@polkadot/util@12.6.2)(typescript@5.4.4) + '@ceramicnetwork/blockchain-utils-validation': 5.4.0(@polkadot/util@7.9.2)(typescript@5.4.4) '@ceramicnetwork/common': 5.5.0(typescript@5.4.4) '@ceramicnetwork/stream-caip10-link': 5.4.0(typescript@5.4.4) '@ceramicnetwork/stream-handler-common': 4.4.0(typescript@5.4.4) @@ -1377,10 +1377,10 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/stream-caip10-link-handler@5.6.0(@polkadot/util@12.6.2)(typescript@5.4.4): + /@ceramicnetwork/stream-caip10-link-handler@5.6.0(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-pKCipn3y6CflzY/K3oeRyHwDDhBSvFy+jvZPqSbMY5s+96vueBNPsaBcqMZEd2onjl+hMGqjukH+QtGk+S5faQ==} dependencies: - '@ceramicnetwork/blockchain-utils-validation': 5.5.0(@polkadot/util@12.6.2)(typescript@5.4.4) + '@ceramicnetwork/blockchain-utils-validation': 5.5.0(@polkadot/util@7.9.2)(typescript@5.4.4) '@ceramicnetwork/common': 5.5.0(typescript@5.4.4) '@ceramicnetwork/stream-caip10-link': 5.5.0(typescript@5.4.4) '@ceramicnetwork/stream-handler-common': 4.5.0(typescript@5.4.4) @@ -1820,7 +1820,7 @@ packages: dependencies: '@chainsafe/is-ip': 2.0.2 - /@composedb/client@0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4): + /@composedb/client@0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-LUMnaiNUbBLqqifxAybAigG+n7F+u8xhLOPsPR0F0KHPtJkJ8sXm0lpcHQPx6B4Tm5Tlb6F7Tu27WvGp+7wVCA==} engines: {node: '>=20'} dependencies: @@ -1828,8 +1828,8 @@ packages: '@ceramicnetwork/stream-model': 4.5.0(typescript@5.4.4) '@ceramicnetwork/stream-model-instance': 4.6.0(typescript@5.4.4) '@composedb/constants': 0.7.1 - '@composedb/graphql-scalars': 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) - '@composedb/runtime': 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) + '@composedb/graphql-scalars': 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) + '@composedb/runtime': 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) '@graphql-tools/batch-execute': 9.0.4(graphql@16.8.1) '@graphql-tools/stitch': 9.0.5(graphql@16.8.1) '@graphql-tools/utils': 10.1.2(graphql@16.8.1) @@ -1858,17 +1858,17 @@ packages: engines: {node: '>=20'} dev: false - /@composedb/devtools-node@0.7.1(@composedb/devtools@0.7.1)(@polkadot/util@12.6.2)(typescript@5.4.4): + /@composedb/devtools-node@0.7.1(@composedb/devtools@0.7.1)(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-+7X7mM7JqIdXzIHnhpr6eD4TZ2a7sQgFeJUL7uIed2EB5qa/10qYFpCvd1OUivv+MVdGMwvw2jVXzM1DaamBnQ==} engines: {node: '>=20'} peerDependencies: '@composedb/devtools': ^0.7.1 dependencies: '@ceramicnetwork/http-client': 5.6.0(typescript@5.4.4) - '@composedb/client': 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) - '@composedb/devtools': 0.7.1(@polkadot/util@12.6.2)(graphql@16.8.1)(typescript@5.4.4) - '@composedb/runtime': 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) - '@composedb/server': 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) + '@composedb/client': 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) + '@composedb/devtools': 0.7.1(@polkadot/util@7.9.2)(graphql@16.8.1)(typescript@5.4.4) + '@composedb/runtime': 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) + '@composedb/server': 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) fs-extra: 11.2.0 transitivePeerDependencies: - '@polkadot/util' @@ -1887,14 +1887,14 @@ packages: - zod dev: false - /@composedb/devtools@0.7.1(@polkadot/util@12.6.2)(graphql@16.8.1)(typescript@5.4.4): + /@composedb/devtools@0.7.1(@polkadot/util@7.9.2)(graphql@16.8.1)(typescript@5.4.4): resolution: {integrity: sha512-J9IFquEmJL/0gwl3BUerXUR3tOm9v8dd3oucrRbuYDbZXLN803mptOQqQEDxzncfkF80CjVh0qtWZ6dTaYGVHQ==} engines: {node: '>=20'} dependencies: '@ceramicnetwork/common': 5.5.0(typescript@5.4.4) '@ceramicnetwork/stream-model': 4.5.0(typescript@5.4.4) '@ceramicnetwork/streamid': 5.0.0 - '@composedb/graphql-scalars': 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) + '@composedb/graphql-scalars': 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) '@didtools/cacao': 3.0.1(typescript@5.4.4) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.1.2(graphql@16.8.1) @@ -1923,12 +1923,12 @@ packages: - zod dev: false - /@composedb/graphql-scalars@0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4): + /@composedb/graphql-scalars@0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-TX6f/1E3RZzWjDAKn3eRZ9z7zAPaE7BKWpOiomw9T3K787WPGmOIypnOOakdGE9dOf6ViYQ8eq4R6pzv0bbBpA==} engines: {node: '>=20'} dependencies: '@ceramicnetwork/streamid': 5.0.0 - '@composedb/types': 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) + '@composedb/types': 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) caip: 1.1.1 graphql: 16.8.1 graphql-scalars: 1.23.0(graphql@16.8.1) @@ -1965,7 +1965,7 @@ packages: - zod dev: false - /@composedb/runtime@0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4): + /@composedb/runtime@0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-ijv1/jNWYAwhsnJYJbyGT8MrQgZoIhDGDoD6ggF5VbcC8bYZcK88yNwASxT3s9NxQTelKznidvk9V14MxN8RUA==} engines: {node: '>=20'} dependencies: @@ -1973,7 +1973,7 @@ packages: '@ceramicnetwork/stream-model': 4.5.0(typescript@5.4.4) '@ceramicnetwork/stream-model-instance': 4.6.0(typescript@5.4.4) '@ceramicnetwork/streamid': 5.0.0 - '@composedb/graphql-scalars': 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) + '@composedb/graphql-scalars': 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) '@composedb/loader': 0.7.1(typescript@5.4.4) graphql: 16.8.1 graphql-relay: 0.10.0(graphql@16.8.1) @@ -1994,13 +1994,13 @@ packages: - zod dev: false - /@composedb/server@0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4): + /@composedb/server@0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-5sq73SM2zJeCiVRpAWbHvI6au2lPq+IiHUVElqrzJ2dGZmDxAOV0BOvCip0xlrW4KThiFuLNyJyiYwwlEwUO1w==} engines: {node: '>=20'} dependencies: '@ceramicnetwork/http-client': 5.6.0(typescript@5.4.4) '@composedb/constants': 0.7.1 - '@composedb/runtime': 0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4) + '@composedb/runtime': 0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4) get-port: 7.1.0 graphql: 16.8.1 graphql-yoga: 5.2.0(graphql@16.8.1) @@ -2021,12 +2021,12 @@ packages: - zod dev: false - /@composedb/types@0.7.1(@polkadot/util@12.6.2)(typescript@5.4.4): + /@composedb/types@0.7.1(@polkadot/util@7.9.2)(typescript@5.4.4): resolution: {integrity: sha512-GtS3R06x1eU1NbBn5ZqewHk1VpvYLk9dwKV8YEzEXxnZvJa2WA8F5YD/TRItIfHgJjLNZ5O7obAK1fgDoCJxnQ==} engines: {node: '>=20'} dependencies: '@ceramicnetwork/common': 5.5.0(typescript@5.4.4) - '@ceramicnetwork/core': 5.5.0(@polkadot/util@12.6.2)(typescript@5.4.4) + '@ceramicnetwork/core': 5.5.0(@polkadot/util@7.9.2)(typescript@5.4.4) '@ceramicnetwork/http-client': 5.6.0(typescript@5.4.4) '@ceramicnetwork/stream-model': 4.4.0(typescript@5.4.4) '@ceramicnetwork/stream-model-instance': 4.5.0(typescript@5.4.4) @@ -3895,7 +3895,7 @@ packages: dependencies: '@babel/runtime': 7.24.1 - /@polkadot/util-crypto@7.9.2(@polkadot/util@12.6.2): + /@polkadot/util-crypto@7.9.2(@polkadot/util@7.9.2): resolution: {integrity: sha512-nNwqUwP44eCH9jKKcPie+IHLKkg9LMe6H7hXo91hy3AtoslnNrT51tP3uAm5yllhLvswJfnAgnlHq7ybCgqeFw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3903,8 +3903,8 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@polkadot/networks': 7.9.2 - '@polkadot/util': 12.6.2 - '@polkadot/wasm-crypto': 4.6.1(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@7.9.2) + '@polkadot/util': 7.9.2 + '@polkadot/wasm-crypto': 4.6.1(@polkadot/util@7.9.2)(@polkadot/x-randomvalues@7.9.2) '@polkadot/x-randomvalues': 7.9.2 blakejs: 1.2.1 bn.js: 4.12.0 @@ -3918,37 +3918,37 @@ packages: tweetnacl: 1.0.3 xxhashjs: 0.2.2 - /@polkadot/util@12.6.2: - resolution: {integrity: sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==} - engines: {node: '>=18'} + /@polkadot/util@7.9.2: + resolution: {integrity: sha512-6ABY6ErgkCsM4C6+X+AJSY4pBGwbKlHZmUtHftaiTvbaj4XuA4nTo3GU28jw8wY0Jh2cJZJvt6/BJ5GVkm5tBA==} + engines: {node: '>=14.0.0'} dependencies: - '@polkadot/x-bigint': 12.6.2 - '@polkadot/x-global': 12.6.2 - '@polkadot/x-textdecoder': 12.6.2 - '@polkadot/x-textencoder': 12.6.2 - '@types/bn.js': 5.1.5 - bn.js: 5.2.1 - tslib: 2.6.2 + '@babel/runtime': 7.24.1 + '@polkadot/x-textdecoder': 7.9.2 + '@polkadot/x-textencoder': 7.9.2 + '@types/bn.js': 4.11.6 + bn.js: 4.12.0 + camelcase: 6.3.0 + ip-regex: 4.3.0 - /@polkadot/wasm-crypto-asmjs@4.6.1(@polkadot/util@12.6.2): + /@polkadot/wasm-crypto-asmjs@4.6.1(@polkadot/util@7.9.2): resolution: {integrity: sha512-1oHQjz2oEO1kCIcQniOP+dZ9N2YXf2yCLHLsKaKSvfXiWaetVCaBNB8oIHIVYvuLnVc8qlMi66O6xc1UublHsw==} engines: {node: '>=14.0.0'} peerDependencies: '@polkadot/util': '*' dependencies: '@babel/runtime': 7.24.1 - '@polkadot/util': 12.6.2 + '@polkadot/util': 7.9.2 - /@polkadot/wasm-crypto-wasm@4.6.1(@polkadot/util@12.6.2): + /@polkadot/wasm-crypto-wasm@4.6.1(@polkadot/util@7.9.2): resolution: {integrity: sha512-NI3JVwmLjrSYpSVuhu0yeQYSlsZrdpK41UC48sY3kyxXC71pi6OVePbtHS1K3xh3FFmDd9srSchExi3IwzKzMw==} engines: {node: '>=14.0.0'} peerDependencies: '@polkadot/util': '*' dependencies: '@babel/runtime': 7.24.1 - '@polkadot/util': 12.6.2 + '@polkadot/util': 7.9.2 - /@polkadot/wasm-crypto@4.6.1(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@7.9.2): + /@polkadot/wasm-crypto@4.6.1(@polkadot/util@7.9.2)(@polkadot/x-randomvalues@7.9.2): resolution: {integrity: sha512-2wEftBDxDG+TN8Ah6ogtvzjdZdcF0mAjU4UNNOfpmkBCxQYZOrAHB8HXhzo3noSsKkLX7PDX57NxvJ9OhoTAjw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3956,24 +3956,11 @@ packages: '@polkadot/x-randomvalues': '*' dependencies: '@babel/runtime': 7.24.1 - '@polkadot/util': 12.6.2 - '@polkadot/wasm-crypto-asmjs': 4.6.1(@polkadot/util@12.6.2) - '@polkadot/wasm-crypto-wasm': 4.6.1(@polkadot/util@12.6.2) + '@polkadot/util': 7.9.2 + '@polkadot/wasm-crypto-asmjs': 4.6.1(@polkadot/util@7.9.2) + '@polkadot/wasm-crypto-wasm': 4.6.1(@polkadot/util@7.9.2) '@polkadot/x-randomvalues': 7.9.2 - /@polkadot/x-bigint@12.6.2: - resolution: {integrity: sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==} - engines: {node: '>=18'} - dependencies: - '@polkadot/x-global': 12.6.2 - tslib: 2.6.2 - - /@polkadot/x-global@12.6.2: - resolution: {integrity: sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==} - engines: {node: '>=18'} - dependencies: - tslib: 2.6.2 - /@polkadot/x-global@7.9.2: resolution: {integrity: sha512-JX5CrGWckHf1P9xKXq4vQCAuMUbL81l2hOWX7xeP8nv4caHEpmf5T1wD1iMdQBL5PFifo6Pg0V6/oZBB+bts7A==} engines: {node: '>=14.0.0'} @@ -3987,19 +3974,19 @@ packages: '@babel/runtime': 7.24.1 '@polkadot/x-global': 7.9.2 - /@polkadot/x-textdecoder@12.6.2: - resolution: {integrity: sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==} - engines: {node: '>=18'} + /@polkadot/x-textdecoder@7.9.2: + resolution: {integrity: sha512-wfwbSHXPhrOAl12QvlIOGNkMH/N/h8PId2ytIjvM/8zPPFB5Il6DWSFLtVapOGEpIFjEWbd5t8Td4pHBVXIEbg==} + engines: {node: '>=14.0.0'} dependencies: - '@polkadot/x-global': 12.6.2 - tslib: 2.6.2 + '@babel/runtime': 7.24.1 + '@polkadot/x-global': 7.9.2 - /@polkadot/x-textencoder@12.6.2: - resolution: {integrity: sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==} - engines: {node: '>=18'} + /@polkadot/x-textencoder@7.9.2: + resolution: {integrity: sha512-A19wwYINuZwU2dUyQ/mMzB0ISjyfc4cISfL4zCMUAVgj7xVoXMYV2GfjNdMpA8Wsjch3su6pxLbtJ2wU03sRTQ==} + engines: {node: '>=14.0.0'} dependencies: - '@polkadot/x-global': 12.6.2 - tslib: 2.6.2 + '@babel/runtime': 7.24.1 + '@polkadot/x-global': 7.9.2 /@protobufjs/aspromise@1.1.2: resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -4540,17 +4527,21 @@ packages: '@babel/types': 7.24.0 dev: true + /@types/bn.js@4.11.6: + resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} + dependencies: + '@types/node': 20.12.7 + /@types/bn.js@5.1.5: resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} dependencies: - '@types/node': 18.19.31 + '@types/node': 20.12.7 /@types/body-parser@1.19.5: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 '@types/node': 20.12.7 - dev: false /@types/bs58check@2.1.2: resolution: {integrity: sha512-xpXaQlOIY1KoXlA/ytHGHpEIU87PJt+g9SH7nC6HdCgaBwT2IEZIwBMHbjuX6BpnfbiUMlmwqurdLDwXpcdmSA==} @@ -4568,12 +4559,12 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 /@types/cors@2.8.15: resolution: {integrity: sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 dev: true /@types/dns-packet@5.6.5: @@ -4698,7 +4689,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.12.5 + '@types/node': 20.12.7 /@types/serve-static@1.15.7: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} @@ -4762,11 +4753,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/type-utils': 7.6.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4(supports-color@5.5.0) eslint: 8.57.0 graphemer: 1.4.0 @@ -4810,10 +4801,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4(supports-color@5.5.0) eslint: 8.57.0 typescript: 5.4.4 @@ -4875,8 +4866,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.4) + '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.4) debug: 4.3.4(supports-color@5.5.0) eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.4) @@ -4952,8 +4943,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 @@ -5967,7 +5958,6 @@ packages: /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - dev: true /caniuse-lite@1.0.30001600: resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} @@ -8293,6 +8283,10 @@ packages: sprintf-js: 1.1.3 optional: true + /ip-regex@4.3.0: + resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} + engines: {node: '>=8'} + /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -10979,7 +10973,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.12.5 + '@types/node': 20.12.7 long: 5.2.3 /protons-runtime@5.4.0: @@ -12103,7 +12097,7 @@ packages: typescript: 5.4.4 dev: true - /ts-node@10.9.1(@swc/core@1.4.12)(@types/node@20.12.5)(typescript@4.8.4): + /ts-node@10.9.1(@swc/core@1.4.13)(@types/node@20.12.7)(typescript@4.8.4): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12118,12 +12112,12 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.4.12 + '@swc/core': 1.4.13 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.5 + '@types/node': 20.12.7 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 From 04514cc0cefe6753375bbdadfa1b8a8179837256 Mon Sep 17 00:00:00 2001 From: Mark Krasner Date: Thu, 11 Apr 2024 16:11:27 -0400 Subject: [PATCH 5/6] Updating lint file --- demo/server/.eslintrc.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/demo/server/.eslintrc.json b/demo/server/.eslintrc.json index 45fead2..4ec79d0 100644 --- a/demo/server/.eslintrc.json +++ b/demo/server/.eslintrc.json @@ -2,6 +2,5 @@ "extends": ["3box", "3box/jest", "3box/typescript"], "parserOptions": { "project": ["tsconfig.json"] - }, - "include": ["src"] + } } From 594c53a0c9f6cf14f83f79e1737628e0616767f1 Mon Sep 17 00:00:00 2001 From: Mark Krasner Date: Thu, 11 Apr 2024 18:51:19 -0400 Subject: [PATCH 6/6] Fixing eslint errors --- demo/server/package.json | 6 +- .../server/src/controllers/multiController.ts | 60 ++- .../src/controllers/singleController.ts | 81 ++-- demo/server/src/index.ts | 49 ++- demo/server/src/routes/multi.ts | 30 +- demo/server/src/routes/single.ts | 52 ++- demo/server/src/utils/context.ts | 16 +- pnpm-lock.yaml | 358 +----------------- 8 files changed, 188 insertions(+), 464 deletions(-) diff --git a/demo/server/package.json b/demo/server/package.json index e0090a7..83143be 100644 --- a/demo/server/package.json +++ b/demo/server/package.json @@ -41,15 +41,13 @@ "key-did-resolver": "^2.1.3", "nodemon": "^3.1.0", "ts-node": "^10.9.1", - "tslint": "^6.1.3", - "typescript": "^4.8.4", "@composexp/points": "workspace:^", "@composexp/ceramic-utils": "workspace:^", "@composexp/did-utils": "workspace:^", - "uint8arrays": "^5.0.1" + "uint8arrays": "^5.0.3" }, "dependencies": { - "@ceramicnetwork/http-client": "^5.5.0", + "@ceramicnetwork/http-client": "^5.6.0", "body-parser": "^1.20.2", "cors": "^2.8.5", "dotenv": "^16.3.1", diff --git a/demo/server/src/controllers/multiController.ts b/demo/server/src/controllers/multiController.ts index f1c443a..2a0e238 100644 --- a/demo/server/src/controllers/multiController.ts +++ b/demo/server/src/controllers/multiController.ts @@ -9,7 +9,39 @@ type ContextAggregationContent = { context: string } -const getContextAggregation = async (req: Request, res: Response, next: NextFunction) => { +export interface GetContextAggregationRequest extends Request { + body: { + recipient: string + context: string + } +} + +export interface UpdateTotalAggregationRequest extends Request { + body: { + recipient: string + amount: number + } +} + +export interface UpdateContextAggregationRequest extends Request { + body: { + recipient: string + context: string + amount: number + } +} + +export interface GetTotalRequest extends Request { + body: { + recipient: string + } +} + +const getContextAggregation = async ( + req: GetContextAggregationRequest, + res: Response, + next: NextFunction, +): Promise => { try { const { ceramic, aggregationModelID } = await getContext() const { recipient, context } = req.body @@ -29,11 +61,15 @@ const getContextAggregation = async (req: Request, res: Response, next: NextFunc return next() } catch (error) { console.error(error) - return error + next(error) } } -const getTotalAggregation = async (req: Request, res: Response, next: NextFunction) => { +const getTotalAggregation = async ( + req: GetTotalRequest, + res: Response, + next: NextFunction, +): Promise => { try { const { ceramic } = await getContext() const { recipient } = req.body @@ -52,11 +88,15 @@ const getTotalAggregation = async (req: Request, res: Response, next: NextFuncti return next() } catch (error) { console.error(error) - return error + next(error) } } -const updateContextAggregation = async (req: Request, res: Response, next: NextFunction) => { +const updateContextAggregation = async ( + req: UpdateContextAggregationRequest, + res: Response, + next: NextFunction, +): Promise => { try { const { ceramic, aggregationModelID } = await getContext() const { amount, recipient, context } = req.body @@ -106,11 +146,15 @@ const updateContextAggregation = async (req: Request, res: Response, next: NextF return next() } catch (error) { console.error(error) - return error + next(error) } } -const updateTotalAggregation = async (req: Request, res: Response, next: NextFunction) => { +const updateTotalAggregation = async ( + req: UpdateTotalAggregationRequest, + res: Response, + next: NextFunction, +): Promise => { try { const { ceramic } = await getContext() const { amount, recipient } = req.body @@ -147,7 +191,7 @@ const updateTotalAggregation = async (req: Request, res: Response, next: NextFun return next() } catch (error) { console.error(error) - return error + next(error) } } diff --git a/demo/server/src/controllers/singleController.ts b/demo/server/src/controllers/singleController.ts index 07ce159..8f1c941 100644 --- a/demo/server/src/controllers/singleController.ts +++ b/demo/server/src/controllers/singleController.ts @@ -1,67 +1,70 @@ -import { getContext } from "../utils/context.js"; -import { Request, Response, NextFunction } from "express"; -import { - SinglePointReader, - SinglePointWriter, -} from '@composexp/points'; +import { getContext } from '../utils/context.js' +import { Request, Response, NextFunction } from 'express' +import { SinglePointReader, SinglePointWriter } from '@composexp/points' + +export interface CreateSinglePointRequest extends Request { + body: { + recipient: string + } +} const createSinglePoint = async ( - req: Request, + req: CreateSinglePointRequest, res: Response, - next: NextFunction + next: NextFunction, ) => { try { - const { ceramic } = await getContext(); - const writer = new SinglePointWriter({ ceramic }); - await writer.addPointTo(req.body.recipient); - res.locals.ceramic = ceramic; - return next(); + const { ceramic } = await getContext() + const writer = new SinglePointWriter({ ceramic }) + await writer.addPointTo(req.body.recipient) + res.locals.ceramic = ceramic + return next() } catch (error) { - console.error(error); - return error; + console.error(error) + return error } -}; +} const removeSinglePoint = async ( - req: Request, + req: CreateSinglePointRequest, _res: Response, - next: NextFunction + next: NextFunction, ) => { try { - const { ceramic } = await getContext(); + const { ceramic } = await getContext() const reader = new SinglePointReader({ ceramic, issuer: ceramic.did!.id, - }); - const documents = await reader.queryPointDocumentsFor(req.body.recipient); - const id = documents.documents[documents.documents.length - 1].id; - const writer = new SinglePointWriter({ ceramic }); - await writer.removePoint(id.toString()); - return next(); + }) + const documents = await reader.queryPointDocumentsFor(req.body.recipient) + const id = documents.documents[documents.documents.length - 1].id + const writer = new SinglePointWriter({ ceramic }) + await writer.removePoint(id.toString()) + return next() } catch (error) { - console.error(error); - return error; + console.error(error) + return error } -}; +} const getSinglePoints = async ( - req: Request, + req: CreateSinglePointRequest, res: Response, - next: NextFunction + next: NextFunction, ) => { try { - const ceramic = res.locals.ceramic ?? (await getContext()).ceramic; + const { ceramic } = await getContext() const reader = new SinglePointReader({ ceramic, issuer: ceramic.did!.id, - }); - const totalPoints = await reader.countPointsFor(req.body.recipient); - res.locals.totalPoints = totalPoints; - return next(); + }) + const totalPoints = await reader.countPointsFor(req.body.recipient) + res.locals.totalPoints = totalPoints + return next() } catch (error) { - console.error(error); - return error; + console.error(error) + return error } -}; +} -export const singlePointController = { createSinglePoint, getSinglePoints, removeSinglePoint }; +export const singlePointController = { createSinglePoint, getSinglePoints, removeSinglePoint } diff --git a/demo/server/src/index.ts b/demo/server/src/index.ts index 5312c4c..6b88baa 100644 --- a/demo/server/src/index.ts +++ b/demo/server/src/index.ts @@ -1,38 +1,33 @@ -import express from "express"; -import cors from "cors"; -import singleRouter from "./routes/single.js"; -import multiRouter from "./routes/multi.js"; - -const app = express(); -const port = process.env.PORT || 8080; +import express, { json, Request, Response, NextFunction } from 'express' +import cors from 'cors' +import singleRouter from './routes/single.js' +import multiRouter from './routes/multi.js' +const app = express() +const port = process.env.PORT || 8080 const corsOptions = { - origin: ["http://localhost:8080", "https://developers.ceramic.network"], - optionsSuccessStatus: 200 // For legacy browser support - } + origin: ['http://localhost:8080', 'https://developers.ceramic.network'], + optionsSuccessStatus: 200, // For legacy browser support +} -app.use(express.json()); -app.use(cors(corsOptions)); +app.use(json()) +app.use(cors(corsOptions)) // app.use(bodyParser.json()); -const allowCrossDomain = ( - _req: any, - res: { header: (arg0: string, arg1: string) => void }, - next: () => void -) => { - res.header("Access-Control-Allow-Origin", "*"); - res.header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE"); - res.header("Access-Control-Allow-Headers", "Content-Type"); - next(); -}; +const allowCrossDomain = (_req: Request, res: Response, next: NextFunction) => { + res.header('Access-Control-Allow-Origin', '*') + res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE') + res.header('Access-Control-Allow-Headers', 'Content-Type') + next() +} -app.use(allowCrossDomain); +app.use(allowCrossDomain) -app.use("/single", singleRouter); -app.use("/multi", multiRouter); +app.use('/single', singleRouter) +app.use('/multi', multiRouter) app.listen(port, () => { // tslint:disable-next-line:no-console - console.log(`server started at http://localhost:${port}`); -}); + console.log(`server started at http://localhost:${port}`) +}) diff --git a/demo/server/src/routes/multi.ts b/demo/server/src/routes/multi.ts index b89158e..494fa30 100644 --- a/demo/server/src/routes/multi.ts +++ b/demo/server/src/routes/multi.ts @@ -1,22 +1,34 @@ -import express from 'express' +import { RequestHandler, Request, Response, Router } from 'express' import { multiplePointsController } from '../controllers/multiController.js' -const router: express.Router = express.Router() +const router: Router = Router() + +type R = Response & { + locals: { + contextTotal: number + total: number + contextDocument: unknown + document: unknown + } +} router.post( '/aggregate', - multiplePointsController.updateContextAggregation, - multiplePointsController.updateTotalAggregation, - (_req, res) => { - return res.json({ contextTotal: res.locals.contextTotal, total: res.locals.total }) + multiplePointsController.updateContextAggregation as RequestHandler, + multiplePointsController.updateTotalAggregation as RequestHandler, + (_req: Request, res: R) => { + return res.json({ + contextTotal: res.locals.contextTotal, + total: res.locals.total, + }) }, ) router.get( '/getAggregations', - multiplePointsController.getContextAggregation, - multiplePointsController.getTotalAggregation, - (_req, res) => { + multiplePointsController.getContextAggregation as RequestHandler, + multiplePointsController.getTotalAggregation as RequestHandler, + (_req: Request, res: R) => { return res.json({ contextTotal: res.locals.contextTotal, total: res.locals.total, diff --git a/demo/server/src/routes/single.ts b/demo/server/src/routes/single.ts index b5aaa1a..040d039 100644 --- a/demo/server/src/routes/single.ts +++ b/demo/server/src/routes/single.ts @@ -1,28 +1,38 @@ -import express from "express"; -import { singlePointController } from "../controllers/singleController.js"; +import { RequestHandler, Response, Router, Request } from 'express' +import { singlePointController } from '../controllers/singleController.js' -const router: express.Router = express.Router(); +const router: Router = Router() -router.get("/", singlePointController.getSinglePoints, (_req, res) => { - return res.json({ totalPoints: res.locals.totalPoints }); -}); +type R = Response & { + locals: { + totalPoints: number + } +} + +router.get( + '/', + singlePointController.getSinglePoints as RequestHandler, + (_req: Request, res: R): Response => { + return res.json({ totalPoints: res.locals.totalPoints }) + }, +) router.post( - "/create", - singlePointController.createSinglePoint, - singlePointController.getSinglePoints, - (_req, res) => { - return res.json({ totalPoints: res.locals.totalPoints }); - } -); + '/create', + singlePointController.createSinglePoint as RequestHandler, + singlePointController.getSinglePoints as RequestHandler, + (_req: Request, res: R): Response => { + return res.json({ totalPoints: res.locals.totalPoints }) + }, +) router.delete( - "/remove", - singlePointController.removeSinglePoint, - singlePointController.getSinglePoints, - (_req, res) => { - return res.json({ totalPoints: res.locals.totalPoints }); - } -); + '/remove', + singlePointController.removeSinglePoint as RequestHandler, + singlePointController.getSinglePoints as RequestHandler, + (_req: Request, res: R): Response => { + return res.json({ totalPoints: res.locals.totalPoints }) + }, +) -export default router; +export default router diff --git a/demo/server/src/utils/context.ts b/demo/server/src/utils/context.ts index 7784935..31413ef 100644 --- a/demo/server/src/utils/context.ts +++ b/demo/server/src/utils/context.ts @@ -3,12 +3,18 @@ import { fromString } from 'uint8arrays' import { CeramicClient } from '@ceramicnetwork/http-client' import 'dotenv/config.js' -export const getContext = async () => { - const CERAMIC_URL = process.env.CERAMIC_URL || '' - const CERAMIC_PRIVATE_KEY = process.env.CERAMIC_PRIVATE_KEY || '' - const aggregationModelID = process.env.AGGREGATION_ID || '' +type Context = { + ceramic: CeramicClient + aggregationModelID: string +} + +export const getContext = async (): Promise => { + const CERAMIC_URL: string = process.env.CERAMIC_URL || '' + const CERAMIC_PRIVATE_KEY: string = process.env.CERAMIC_PRIVATE_KEY || '' + const aggregationModelID: string = process.env.AGGREGATION_ID || '' - const key = fromString(CERAMIC_PRIVATE_KEY, 'base16') + //eslint-disable-next-line + const key = fromString(CERAMIC_PRIVATE_KEY, 'base16') as Uint8Array const ceramic = new CeramicClient(CERAMIC_URL) ceramic.did = await getAuthenticatedDID(key) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c6b3e70..bc08327 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,8 +81,8 @@ importers: demo/server: dependencies: '@ceramicnetwork/http-client': - specifier: ^5.5.0 - version: 5.6.0(typescript@4.8.4) + specifier: ^5.6.0 + version: 5.6.0(typescript@5.4.4) body-parser: specifier: ^1.20.2 version: 1.20.2 @@ -128,15 +128,9 @@ importers: version: 3.1.0 ts-node: specifier: ^10.9.1 - version: 10.9.1(@swc/core@1.4.13)(@types/node@20.12.7)(typescript@4.8.4) - tslint: - specifier: ^6.1.3 - version: 6.1.3(typescript@4.8.4) - typescript: - specifier: ^4.8.4 - version: 4.8.4 + version: 10.9.1(@swc/core@1.4.13)(@types/node@20.12.7)(typescript@5.4.4) uint8arrays: - specifier: ^5.0.1 + specifier: ^5.0.3 version: 5.0.3 demo/simple: @@ -853,24 +847,6 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/codecs@4.5.0(typescript@4.8.4): - resolution: {integrity: sha512-++PHxu6B4s7Tvk8RDOGgj2LxpZISJBAAVbzQd8bedPs/qSMufDs3EE99SR92YhHLbn5Wt/+uEZcSNGiHh8HyhQ==} - dependencies: - '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) - '@ceramicnetwork/streamid': 5.0.0 - cartonne: 3.0.1 - codeco: 1.2.1 - dag-jose: 4.0.0 - multiformats: 13.1.0 - uint8arrays: 5.0.3 - transitivePeerDependencies: - - bufferutil - - encoding - - typescript - - utf-8-validate - - zod - dev: false - /@ceramicnetwork/codecs@4.5.0(typescript@5.4.4): resolution: {integrity: sha512-++PHxu6B4s7Tvk8RDOGgj2LxpZISJBAAVbzQd8bedPs/qSMufDs3EE99SR92YhHLbn5Wt/+uEZcSNGiHh8HyhQ==} dependencies: @@ -916,34 +892,6 @@ packages: - zod dev: false - /@ceramicnetwork/common@5.5.0(typescript@4.8.4): - resolution: {integrity: sha512-zEYVVZAZ6lo0GHgtJu7uiQRPn8++32SzNFA4n8gao9jTujlFYsmQW8n7EbfZIooIPTrByqLpg/YSurr8kvQMhw==} - dependencies: - '@ceramicnetwork/streamid': 5.0.0 - '@didtools/cacao': 3.0.1(typescript@4.8.4) - '@didtools/pkh-ethereum': 0.2.1 - '@didtools/pkh-solana': 0.2.0(typescript@4.8.4) - '@didtools/pkh-stacks': 0.2.0(typescript@4.8.4) - '@didtools/pkh-tezos': 0.3.0(typescript@4.8.4) - '@ipld/dag-cbor': 9.2.0 - '@stablelib/random': 1.0.2 - caip: 1.1.1 - flat: 5.0.2 - it-first: 3.0.4 - jet-logger: 1.2.2 - lodash.clonedeep: 4.5.0 - logfmt: 1.4.0 - multiformats: 13.1.0 - rxjs: 7.8.1 - uint8arrays: 5.0.3 - transitivePeerDependencies: - - bufferutil - - encoding - - typescript - - utf-8-validate - - zod - dev: false - /@ceramicnetwork/common@5.5.0(typescript@5.4.4): resolution: {integrity: sha512-zEYVVZAZ6lo0GHgtJu7uiQRPn8++32SzNFA4n8gao9jTujlFYsmQW8n7EbfZIooIPTrByqLpg/YSurr8kvQMhw==} dependencies: @@ -1109,26 +1057,6 @@ packages: - zod dev: false - /@ceramicnetwork/http-client@5.6.0(typescript@4.8.4): - resolution: {integrity: sha512-IRdB4Klm3xAnUB/Tuli/vTLi1Ul275RysMxrSEEDfEBru4GA/MG7cXomk4S1MsJ0flP+PD6aag7DyRQZmiYoLA==} - dependencies: - '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) - '@ceramicnetwork/stream-caip10-link': 5.5.0(typescript@4.8.4) - '@ceramicnetwork/stream-model': 4.5.0(typescript@4.8.4) - '@ceramicnetwork/stream-model-instance': 4.6.0(typescript@4.8.4) - '@ceramicnetwork/stream-tile': 5.5.0(typescript@4.8.4) - '@ceramicnetwork/streamid': 5.0.0 - '@scarf/scarf': 1.3.0 - query-string: 7.1.3 - rxjs: 7.8.1 - transitivePeerDependencies: - - bufferutil - - encoding - - typescript - - utf-8-validate - - zod - dev: false - /@ceramicnetwork/http-client@5.6.0(typescript@5.4.4): resolution: {integrity: sha512-IRdB4Klm3xAnUB/Tuli/vTLi1Ul275RysMxrSEEDfEBru4GA/MG7cXomk4S1MsJ0flP+PD6aag7DyRQZmiYoLA==} dependencies: @@ -1409,22 +1337,6 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/stream-caip10-link@5.5.0(typescript@4.8.4): - resolution: {integrity: sha512-X7HFHOuWlMBoZH3gSHbdXVjY8QYiDR5971uvhkNSpzxXV/Q9oqyRAULEFBuAKdH1+FUkaiaCxC2xaVh3ydC5Cg==} - dependencies: - '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) - '@ceramicnetwork/streamid': 5.0.0 - caip: 1.1.1 - did-resolver: 4.1.0 - lodash.clonedeep: 4.5.0 - transitivePeerDependencies: - - bufferutil - - encoding - - typescript - - utf-8-validate - - zod - dev: false - /@ceramicnetwork/stream-caip10-link@5.5.0(typescript@5.4.4): resolution: {integrity: sha512-X7HFHOuWlMBoZH3gSHbdXVjY8QYiDR5971uvhkNSpzxXV/Q9oqyRAULEFBuAKdH1+FUkaiaCxC2xaVh3ydC5Cg==} dependencies: @@ -1588,24 +1500,6 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/stream-model-instance@4.6.0(typescript@4.8.4): - resolution: {integrity: sha512-uksXGq4ytcR9bHgLm68t2unsk2QCOqEVOnGWmZH7G47XvbfV/Bm18NAO9cZagSRa5ogbCf4+N3AuZtLg/TDWKA==} - dependencies: - '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) - '@ceramicnetwork/streamid': 5.0.0 - '@ipld/dag-cbor': 7.0.3 - '@stablelib/random': 1.0.2 - fast-json-patch: 3.1.1 - object-sizeof: 2.6.4 - uint8arrays: 5.0.3 - transitivePeerDependencies: - - bufferutil - - encoding - - typescript - - utf-8-validate - - zod - dev: false - /@ceramicnetwork/stream-model-instance@4.6.0(typescript@5.4.4): resolution: {integrity: sha512-uksXGq4ytcR9bHgLm68t2unsk2QCOqEVOnGWmZH7G47XvbfV/Bm18NAO9cZagSRa5ogbCf4+N3AuZtLg/TDWKA==} dependencies: @@ -1645,29 +1539,6 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/stream-model@4.5.0(typescript@4.8.4): - resolution: {integrity: sha512-I0jYlptr4v31T3VlSwvYMggrx2DLahsC1u5ErVRBZeW8NeY/7VWUzKVQtuOfc5Wa2XdRJ7ODINyszWKb6nIneg==} - dependencies: - '@ceramicnetwork/codecs': 4.5.0(typescript@4.8.4) - '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) - '@ceramicnetwork/streamid': 5.0.0 - '@ipld/dag-cbor': 7.0.3 - '@stablelib/random': 1.0.2 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - codeco: 1.2.1 - fast-json-patch: 3.1.1 - json-schema-typed: 8.0.1 - multiformats: 13.1.0 - uint8arrays: 5.0.3 - transitivePeerDependencies: - - bufferutil - - encoding - - typescript - - utf-8-validate - - zod - dev: false - /@ceramicnetwork/stream-model@4.5.0(typescript@5.4.4): resolution: {integrity: sha512-I0jYlptr4v31T3VlSwvYMggrx2DLahsC1u5ErVRBZeW8NeY/7VWUzKVQtuOfc5Wa2XdRJ7ODINyszWKb6nIneg==} dependencies: @@ -1749,25 +1620,6 @@ packages: - utf-8-validate - zod - /@ceramicnetwork/stream-tile@5.5.0(typescript@4.8.4): - resolution: {integrity: sha512-KhY5u553qh1Cl0R1BZbxvXpzDyW2p+lGzzDvQYO7et2D7KKqd9O0mkFSCzlsJC43xcOwY00JkbcRtHX3JhzabA==} - dependencies: - '@ceramicnetwork/common': 5.5.0(typescript@4.8.4) - '@ceramicnetwork/streamid': 5.0.0 - '@ipld/dag-cbor': 7.0.3 - '@stablelib/random': 1.0.2 - dids: 5.0.2(typescript@4.8.4) - fast-json-patch: 3.1.1 - lodash.clonedeep: 4.5.0 - uint8arrays: 5.0.3 - transitivePeerDependencies: - - bufferutil - - encoding - - typescript - - utf-8-validate - - zod - dev: false - /@ceramicnetwork/stream-tile@5.5.0(typescript@5.4.4): resolution: {integrity: sha512-KhY5u553qh1Cl0R1BZbxvXpzDyW2p+lGzzDvQYO7et2D7KKqd9O0mkFSCzlsJC43xcOwY00JkbcRtHX3JhzabA==} dependencies: @@ -2074,24 +1926,6 @@ packages: multiformats: 11.0.2 uint8arrays: 4.0.10 - /@didtools/cacao@3.0.1(typescript@4.8.4): - resolution: {integrity: sha512-vV1JirxqVsBf2dqdvoS/msNN8fabvMfseZB0kf1FG8TbosrHd81+hgDOlQMZit7zJbTk5g3CGkZg3b7iYKkynw==} - engines: {node: '>=14.14'} - dependencies: - '@didtools/codecs': 3.0.0 - '@didtools/siwx': 2.0.0 - '@ipld/dag-cbor': 9.2.0 - caip: 1.1.1 - multiformats: 13.1.0 - uint8arrays: 5.0.3 - viem: 1.21.4(typescript@4.8.4) - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - dev: false - /@didtools/cacao@3.0.1(typescript@5.4.4): resolution: {integrity: sha512-vV1JirxqVsBf2dqdvoS/msNN8fabvMfseZB0kf1FG8TbosrHd81+hgDOlQMZit7zJbTk5g3CGkZg3b7iYKkynw==} engines: {node: '>=14.14'} @@ -2145,22 +1979,6 @@ packages: caip: 1.1.1 dev: false - /@didtools/pkh-ethereum@0.5.0(typescript@4.8.4): - resolution: {integrity: sha512-2S+TS/I2jVTNnkgyslxQvSjCzzLsCabjXD2UWjJnVkAoxeJgPE9GvY1JhTDgvVLfxLPnYwTIP/O1WR9wJcDkFg==} - engines: {node: '>=14.14'} - dependencies: - '@didtools/cacao': 3.0.1(typescript@4.8.4) - '@noble/curves': 1.4.0 - '@noble/hashes': 1.4.0 - '@stablelib/random': 1.0.2 - caip: 1.1.1 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - dev: false - /@didtools/pkh-ethereum@0.5.0(typescript@5.4.4): resolution: {integrity: sha512-2S+TS/I2jVTNnkgyslxQvSjCzzLsCabjXD2UWjJnVkAoxeJgPE9GvY1JhTDgvVLfxLPnYwTIP/O1WR9wJcDkFg==} engines: {node: '>=14.14'} @@ -2176,22 +1994,6 @@ packages: - utf-8-validate - zod - /@didtools/pkh-solana@0.2.0(typescript@4.8.4): - resolution: {integrity: sha512-wOfa+hbWo1ok8YnR8tq2mZKbcyEv9qrxtTR5jXOuhOqCkz30/qu9e2Wib/byx7Kx5/ik/2z1nd2YPL0vrA+TxQ==} - engines: {node: '>=14.14'} - dependencies: - '@didtools/cacao': 3.0.1(typescript@4.8.4) - '@noble/curves': 1.4.0 - '@stablelib/random': 1.0.2 - caip: 1.1.1 - uint8arrays: 5.0.3 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - dev: false - /@didtools/pkh-solana@0.2.0(typescript@5.4.4): resolution: {integrity: sha512-wOfa+hbWo1ok8YnR8tq2mZKbcyEv9qrxtTR5jXOuhOqCkz30/qu9e2Wib/byx7Kx5/ik/2z1nd2YPL0vrA+TxQ==} engines: {node: '>=14.14'} @@ -2207,25 +2009,6 @@ packages: - utf-8-validate - zod - /@didtools/pkh-stacks@0.2.0(typescript@4.8.4): - resolution: {integrity: sha512-lXe8ZURCYCDQXrjaM7A4p1RCKrVsQ+NbO7bI70pRfjven82BPLDiqEJbhRGnWKbjQD1CQe9MJXLy3AuStKc7qw==} - engines: {node: '>=14.14'} - dependencies: - '@didtools/cacao': 3.0.1(typescript@4.8.4) - '@stablelib/random': 1.0.2 - '@stacks/common': 6.13.0 - '@stacks/encryption': 6.13.1 - '@stacks/transactions': 6.13.1 - caip: 1.1.1 - jsontokens: 4.0.1 - transitivePeerDependencies: - - bufferutil - - encoding - - typescript - - utf-8-validate - - zod - dev: false - /@didtools/pkh-stacks@0.2.0(typescript@5.4.4): resolution: {integrity: sha512-lXe8ZURCYCDQXrjaM7A4p1RCKrVsQ+NbO7bI70pRfjven82BPLDiqEJbhRGnWKbjQD1CQe9MJXLy3AuStKc7qw==} engines: {node: '>=14.14'} @@ -2244,23 +2027,6 @@ packages: - utf-8-validate - zod - /@didtools/pkh-tezos@0.3.0(typescript@4.8.4): - resolution: {integrity: sha512-AB8drOnBkDSE9KolsiSShPwVOVbRXM2G5T//b+GgX9potVRTcRsD0z59x/6mU1e9g2kxpScOhjRrZsC0c+SQNw==} - engines: {node: '>=14.14'} - dependencies: - '@didtools/cacao': 3.0.1(typescript@4.8.4) - '@noble/curves': 1.4.0 - '@noble/hashes': 1.4.0 - '@stablelib/random': 1.0.2 - caip: 1.1.1 - uint8arrays: 5.0.3 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - dev: false - /@didtools/pkh-tezos@0.3.0(typescript@5.4.4): resolution: {integrity: sha512-AB8drOnBkDSE9KolsiSShPwVOVbRXM2G5T//b+GgX9potVRTcRsD0z59x/6mU1e9g2kxpScOhjRrZsC0c+SQNw==} engines: {node: '>=14.14'} @@ -5094,20 +4860,6 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} requiresBuild: true - /abitype@0.9.8(typescript@4.8.4): - resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.19.1 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - dependencies: - typescript: 4.8.4 - dev: false - /abitype@0.9.8(typescript@5.4.4): resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: @@ -5838,11 +5590,6 @@ packages: engines: {node: '>=0.2.0'} dev: false - /builtin-modules@1.1.1: - resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==} - engines: {node: '>=0.10.0'} - dev: true - /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -6134,10 +5881,6 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true - /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} @@ -6571,28 +6314,6 @@ packages: uint8arrays: 4.0.10 dev: false - /dids@5.0.2(typescript@4.8.4): - resolution: {integrity: sha512-sxTgrvJtatqdm7dukGbquk23BVvbiaxf3nTKywWaY9AUqwC2IYEo6FG0En2cMl3J1fqMMQXrGg9luh2xDmYOmw==} - engines: {node: '>=14.14'} - dependencies: - '@didtools/cacao': 3.0.1(typescript@4.8.4) - '@didtools/codecs': 3.0.0 - '@didtools/pkh-ethereum': 0.5.0(typescript@4.8.4) - '@stablelib/random': 1.0.2 - codeco: 1.2.1 - dag-jose-utils: 4.0.0 - did-jwt: 7.4.7 - did-resolver: 4.1.0 - multiformats: 13.1.0 - rpc-utils: 0.6.2 - uint8arrays: 5.0.3 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - dev: false - /dids@5.0.2(typescript@5.4.4): resolution: {integrity: sha512-sxTgrvJtatqdm7dukGbquk23BVvbiaxf3nTKywWaY9AUqwC2IYEo6FG0En2cMl3J1fqMMQXrGg9luh2xDmYOmw==} engines: {node: '>=14.14'} @@ -10061,6 +9782,7 @@ packages: hasBin: true dependencies: minimist: 1.2.8 + dev: false /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} @@ -11417,11 +11139,6 @@ packages: semver: 7.6.0 dev: true - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - dev: true - /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -12097,7 +11814,7 @@ packages: typescript: 5.4.4 dev: true - /ts-node@10.9.1(@swc/core@1.4.13)(@types/node@20.12.7)(typescript@4.8.4): + /ts-node@10.9.1(@swc/core@1.4.13)(@types/node@20.12.7)(typescript@5.4.4): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12124,7 +11841,7 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.8.4 + typescript: 5.4.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -12145,39 +11862,6 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tslint@6.1.3(typescript@4.8.4): - resolution: {integrity: sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==} - engines: {node: '>=4.8.0'} - deprecated: TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information. - hasBin: true - peerDependencies: - typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev' - dependencies: - '@babel/code-frame': 7.24.2 - builtin-modules: 1.1.1 - chalk: 2.4.2 - commander: 2.20.3 - diff: 4.0.2 - glob: 7.2.3 - js-yaml: 3.14.1 - minimatch: 3.1.2 - mkdirp: 0.5.6 - resolve: 1.22.8 - semver: 5.7.2 - tslib: 1.14.1 - tsutils: 2.29.0(typescript@4.8.4) - typescript: 4.8.4 - dev: true - - /tsutils@2.29.0(typescript@4.8.4): - resolution: {integrity: sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==} - peerDependencies: - typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev' - dependencies: - tslib: 1.14.1 - typescript: 4.8.4 - dev: true - /tsutils@3.21.0(typescript@5.4.4): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -12399,11 +12083,6 @@ packages: /typeforce@1.18.0: resolution: {integrity: sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==} - /typescript@4.8.4: - resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} - engines: {node: '>=4.2.0'} - hasBin: true - /typescript@5.4.4: resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} engines: {node: '>=14.17'} @@ -12599,29 +12278,6 @@ packages: engines: {node: '>= 0.8'} dev: false - /viem@1.21.4(typescript@4.8.4): - resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@adraffy/ens-normalize': 1.10.0 - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@scure/bip32': 1.3.2 - '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@4.8.4) - isows: 1.0.3(ws@8.13.0) - typescript: 4.8.4 - ws: 8.13.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - dev: false - /viem@1.21.4(typescript@5.4.4): resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} peerDependencies: