diff --git a/.nvmrc b/.nvmrc index 0828ab7..f483565 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18 \ No newline at end of file +v22.9.0 \ No newline at end of file diff --git a/README.md b/README.md index e08d66c..cc09608 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,40 @@ Finally, you can query the processed data at the indexer's graphql API available You can define which resolvers are available in `chain/src/processor/api/resolvers.ts`. By default all available resolvers generated based on your database schema file are used. You must configure additional middlewares, validations etc. yourself. The example configures a simple validation for the `take` argument for resolvers returning multiple entities at once. +## Lightnet Settlement & Bridging + +At this point in time, the starter-kit offers settlement & bridging integration with lightnet (local mina network). You can enable these features by setting the `PROTOKIT_SETTLEMENT_ENABLED` environment variable to `true` in development .env file. + +Follow these steps to get the sequencer to settle & bridge: +- Initialize the lightnet process, fund the sequencer operator & deploy settlement+bridging contracts: + ``` + pnpm env:development lightnet:start -d + pnpm env:development lightnet:initialize + ``` + +- Run a worker, alongside with the sequencer in separate shell instances + ``` + pnpm env:development worker:dev + pnpm env:development sequencer:dev + ``` + +- Fund a testing account on lightnet (defined in the .env file) + ``` + pnpm env:development lightnet:faucet B62qkVfEwyfkm5yucHEqrRjxbyx98pgdWz82pHv7LYq9Qigs812iWZ8 + ``` + +- Bridge the L1 $MINA to your app-chain, and observe your app-chain $MINA balance change after the next settlement lifecycle has been completed by the sequencer + + > Token ID of MINA is `1` on both the L1 and app-chain + ``` + pnpm env:development bridge:deposit 1 TEST_ACCOUNT_1_PRIVATE_KEY TEST_ACCOUNT_1_PUBLIC_KEY 100 + ``` + +- Withdraw your app-chain $MINA tokens back to the L1 + ``` + pnpm env:development bridge:withdraw 1 TEST_ACCOUNT_1_PRIVATE_KEY 100 + ``` + ## Deployments (sovereign environment) When deploying to a server, you should push your code along with your forked starter-kit to some repository, diff --git a/apps/web/components/header.tsx b/apps/web/components/header.tsx index 85db3a8..068df01 100644 --- a/apps/web/components/header.tsx +++ b/apps/web/components/header.tsx @@ -45,7 +45,9 @@ export default function Header({ {balanceLoading && balance === undefined ? ( ) : ( -

{balance} MINA

+

+ {Number(balance) / 1e9} MINA +

)} diff --git a/apps/web/lib/stores/balances.tsx b/apps/web/lib/stores/balances.tsx index bd74188..3a28075 100644 --- a/apps/web/lib/stores/balances.tsx +++ b/apps/web/lib/stores/balances.tsx @@ -3,7 +3,7 @@ import { Client, useClientStore } from "./client"; import { immer } from "zustand/middleware/immer"; import { PendingTransaction, UnsignedTransaction } from "@proto-kit/sequencer"; import { Balance, BalancesKey, TokenId } from "@proto-kit/library"; -import { Provable, PublicKey, UInt64 } from "o1js"; +import { Provable, PublicKey, UInt64, TokenId as O1JSTokenId } from "o1js"; import { useCallback, useEffect } from "react"; import { useChainStore } from "./chain"; import { useWalletStore } from "./wallet"; @@ -25,7 +25,8 @@ function isPendingTransaction( throw new Error("Transaction is not a PendingTransaction"); } -export const tokenId = TokenId.from(0); +export const tokenId = TokenId.from(O1JSTokenId.default); +Provable.log("tokenId", tokenId); export const useBalancesStore = create< BalancesState, @@ -53,7 +54,12 @@ export const useBalancesStore = create< const sender = PublicKey.fromBase58(address); const tx = await client.transaction(sender, async () => { - await balances.addBalance(tokenId, sender, Balance.from(1000)); + await balances.addBalance( + tokenId, + sender, + // @ts-ignore + Balance.from(1000 * 1e9), + ); }); await tx.sign(); diff --git a/apps/web/package.json b/apps/web/package.json index f48aad3..96d8a6f 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -50,17 +50,17 @@ "typescript": "^5.4.5" }, "peerDependencies": { - "@proto-kit/api": "*", - "@proto-kit/common": "*", - "@proto-kit/deployment": "*", - "@proto-kit/library": "*", - "@proto-kit/module": "*", - "@proto-kit/persistance": "*", - "@proto-kit/protocol": "*", - "@proto-kit/sdk": "*", - "@proto-kit/sequencer": "*", - "@proto-kit/indexer": "*", - "o1js": "1.6.0", - "tsyringe": "^4.7.0" + "@proto-kit/api": "../../../framework/packages/api", + "@proto-kit/common": "../../../framework/packages/common", + "@proto-kit/deployment": "../../../framework/packages/deployment", + "@proto-kit/library": "../../../framework/packages/library", + "@proto-kit/module": "../../../framework/packages/module", + "@proto-kit/persistance": "../../../framework/packages/persistance", + "@proto-kit/protocol": "../../../framework/packages/protocol", + "@proto-kit/sdk": "../../../framework/packages/sdk", + "@proto-kit/sequencer": "../../../framework/packages/sequencer", + "@proto-kit/indexer": "../../../framework/packages/indexer", + "o1js": "../../../framework/node_modules/o1js", + "tsyringe": "../../../framework/node_modules/tsyringe" } } diff --git a/docker/base/Dockerfile b/docker/base/Dockerfile index 92dc447..18f43b9 100644 --- a/docker/base/Dockerfile +++ b/docker/base/Dockerfile @@ -1,9 +1,9 @@ # For regular deployment -FROM node:18 +# FROM node:18 # For locally built and imported framework references # Make sure you build the base-image first -# FROM protokit-base:latest +FROM protokit-base:latest WORKDIR /app diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index c93e660..457832d 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -7,3 +7,5 @@ include: - ./indexer/docker-compose.yml - ./processor-persistence/docker-compose.yml - ./processor/docker-compose.yml + - ./worker/docker-compose.yml + - ./lightnet/docker-compose.yml \ No newline at end of file diff --git a/docker/lightnet/docker-compose.yml b/docker/lightnet/docker-compose.yml new file mode 100644 index 0000000..68703ab --- /dev/null +++ b/docker/lightnet/docker-compose.yml @@ -0,0 +1,21 @@ +services: + lightnet: + image: o1labs/mina-local-network:compatible-latest-lightnet + container_name: lightnet + + environment: + - RUN_ARCHIVE_NODE=true + - LOG_LEVEL=INFO + - PROOF_LEVEL=none + - NETWORK_TYPE=single-node + ports: + - 3085:3085 + - 8083:8080 + - 8084:8181 + # archive endpoints + - 8085:8282 + networks: + - lightnet-net + +networks: + lightnet-net: diff --git a/docker/sequencer/docker-compose.yml b/docker/sequencer/docker-compose.yml index 0bf00ea..2662bb5 100644 --- a/docker/sequencer/docker-compose.yml +++ b/docker/sequencer/docker-compose.yml @@ -17,12 +17,29 @@ services: - REDIS_PORT=${REDIS_PORT} - REDIS_PASSWORD=${REDIS_PASSWORD} + - MINA_NODE_GRAPHQL_HOST=${MINA_NODE_GRAPHQL_HOST} + - MINA_NODE_GRAPHQL_PORT=${MINA_NODE_GRAPHQL_PORT} + - MINA_ARCHIVE_GRAPHQL_HOST=${MINA_ARCHIVE_GRAPHQL_HOST} + - MINA_ARCHIVE_GRAPHQL_PORT=${MINA_ARCHIVE_GRAPHQL_PORT} + - PROTOKIT_TRANSACTION_FEE_RECIPIENT_PRIVATE_KEY=${PROTOKIT_TRANSACTION_FEE_RECIPIENT_PRIVATE_KEY} + - PROTOKIT_TRANSACTION_FEE_RECIPIENT_PUBLIC_KEY=${PROTOKIT_TRANSACTION_FEE_RECIPIENT_PUBLIC_KEY} + - PROTOKIT_SETTLEMENT_INTERVAL=${PROTOKIT_SETTLEMENT_INTERVAL} + - PROTOKIT_SETTLEMENT_ENABLED=${PROTOKIT_SETTLEMENT_ENABLED} - PROTOKIT_SHOULD_ATTEMPT_DB_MIGRATION=${PROTOKIT_SHOULD_ATTEMPT_DB_MIGRATION} - PROTOKIT_LOG_LEVEL=${PROTOKIT_LOG_LEVEL} - PROTOKIT_BLOCK_INTERVAL=${PROTOKIT_BLOCK_INTERVAL} - PROTOKIT_GRAPHQL_HOST=${PROTOKIT_GRAPHQL_HOST} - PROTOKIT_GRAPHQL_PORT=${PROTOKIT_GRAPHQL_PORT} - PROTOKIT_GRAPHIQL_ENABLED=${PROTOKIT_GRAPHIQL_ENABLED} + - PROTOKIT_SEQUENCER_PRIVATE_KEY=${PROTOKIT_SEQUENCER_PRIVATE_KEY} + - PROTOKIT_SEQUENCER_PUBLIC_KEY=${PROTOKIT_SEQUENCER_PUBLIC_KEY} + - PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY=${PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY} + - PROTOKIT_SETTLEMENT_CONTRACT_PUBLIC_KEY=${PROTOKIT_SETTLEMENT_CONTRACT_PUBLIC_KEY} + - PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY=${PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY} + - PROTOKIT_DISPATCHER_CONTRACT_PUBLIC_KEY=${PROTOKIT_DISPATCHER_CONTRACT_PUBLIC_KEY} + - PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY=${PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY} + - PROTOKIT_MINA_BRIDGE_CONTRACT_PUBLIC_KEY=${PROTOKIT_MINA_BRIDGE_CONTRACT_PUBLIC_KEY} + profiles: - monolithic-sequencer depends_on: @@ -34,6 +51,7 @@ services: - db-net - routing-net - chain-net + - lightnet-net ports: - 8080:8080 command: ["./packages/chain/dist/start.js start ./environments/${PROTOKIT_ENV_FOLDER}/chain.config.js"] diff --git a/docker/web/Dockerfile b/docker/web/Dockerfile index af36f81..33e8161 100644 --- a/docker/web/Dockerfile +++ b/docker/web/Dockerfile @@ -3,7 +3,7 @@ #RUN apk add --no-cache libc6-compat # For locally built and imported framework references -# Make sure you build the base-image first +# Make sure you build the base-image first FROM protokit-base:latest AS base # Install dependencies only when needed diff --git a/docker/worker/docker-compose.yml b/docker/worker/docker-compose.yml new file mode 100644 index 0000000..482f4fe --- /dev/null +++ b/docker/worker/docker-compose.yml @@ -0,0 +1,35 @@ +services: + worker: + image: starterkit-chain-base + build: + dockerfile: ./docker/base/Dockerfile + context: ../.. + container_name: starterkit-worker + environment: + - REDIS_HOST=${REDIS_HOST} + - REDIS_PORT=${REDIS_PORT} + - REDIS_PASSWORD=${REDIS_PASSWORD} + + + - PROTOKIT_TRANSACTION_FEE_RECIPIENT_PRIVATE_KEY=${PROTOKIT_TRANSACTION_FEE_RECIPIENT_PRIVATE_KEY} + - PROTOKIT_TRANSACTION_FEE_RECIPIENT_PUBLIC_KEY=${PROTOKIT_TRANSACTION_FEE_RECIPIENT_PUBLIC_KEY} + - PROTOKIT_LOG_LEVEL=${PROTOKIT_LOG_LEVEL} + - PROTOKIT_SEQUENCER_PRIVATE_KEY=${PROTOKIT_SEQUENCER_PRIVATE_KEY} + - PROTOKIT_SEQUENCER_PUBLIC_KEY=${PROTOKIT_SEQUENCER_PUBLIC_KEY} + - PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY=${PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY} + - PROTOKIT_SETTLEMENT_CONTRACT_PUBLIC_KEY=${PROTOKIT_SETTLEMENT_CONTRACT_PUBLIC_KEY} + - PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY=${PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY} + - PROTOKIT_DISPATCHER_CONTRACT_PUBLIC_KEY=${PROTOKIT_DISPATCHER_CONTRACT_PUBLIC_KEY} + - PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY=${PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY} + - PROTOKIT_MINA_BRIDGE_CONTRACT_PUBLIC_KEY=${PROTOKIT_MINA_BRIDGE_CONTRACT_PUBLIC_KEY} + - PROTOKIT_SETTLEMENT_INTERVAL=${PROTOKIT_SETTLEMENT_INTERVAL} + - PROTOKIT_SETTLEMENT_ENABLED=${PROTOKIT_SETTLEMENT_ENABLED} + profiles: + - worker + depends_on: + redis: + condition: service_healthy + networks: + - db-net + command: ["./packages/chain/dist/start.js start ./environments/${PROTOKIT_ENV_FOLDER}/worker.config.js"] + diff --git a/package.json b/package.json index 92f3c53..13e9b86 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "sequencer:dev": "turbo run sequencer:dev --env-mode=loose", "indexer:dev": "turbo run indexer:dev --env-mode=loose", "processor:dev": "turbo run processor:dev --env-mode=loose", + "worker:dev": "turbo run worker:dev --env-mode=loose", "lint": "turbo run lint", "format": "prettier --write \"**/*.{ts,tsx,md}\"", "test": "turbo run test", @@ -27,7 +28,20 @@ "docker:down": "docker compose -f docker/docker-compose.yml down", "env:development": "dotenv -e ./packages/chain/src/environments/development/.env -- pnpm", "env:inmemory": "dotenv -e ./packages/chain/src/environments/inmemory/.env -- pnpm", - "env:sovereign": "dotenv -e ./packages/chain/src/environments/sovereign/.env -- pnpm" + "env:sovereign": "dotenv -e ./packages/chain/src/environments/sovereign/.env -- pnpm", + "generate-keys": "turbo run generate-keys --env-mode=loose --", + "lightnet:start": "docker compose -f docker/lightnet/docker-compose.yml up", + "lightnet:stop": "docker compose -f docker/lightnet/docker-compose.yml down", + "lightnet:faucet": "turbo run lightnet:faucet --env-mode=loose --", + "lightnet:wait-for-network": "turbo run lightnet:wait-for-network --env-mode=loose --", + "lightnet:initialize": "pnpm env:development lightnet:wait-for-network && pnpm env:development lightnet:faucet PROTOKIT_SEQUENCER_PUBLIC_KEY && pnpm env:development lightnet:faucet TEST_ACCOUNT_1_PUBLIC_KEY && pnpm env:development settlement:deploy", + "settlement:deploy": "turbo run settlement:deploy --env-mode=loose --", + "settlement:token:deploy": "turbo run settlement:token:deploy --env-mode=loose --", + "mina-explorer:start": "turbo run mina-explorer:start --env-mode=loose --", + "bridge:deposit": "turbo run bridge:deposit --env-mode=loose --", + "bridge:withdraw": "turbo run bridge:withdraw --env-mode=loose --", + "bridge:redeem": "turbo run bridge:redeem --env-mode=loose --", + "docker:prune": "rm -rf ./docker/data/*" }, "devDependencies": { "eslint": "^8.53.0", diff --git a/packages/chain/jest.config.cjs b/packages/chain/jest.config.cjs index eb33a78..48d3e59 100644 --- a/packages/chain/jest.config.cjs +++ b/packages/chain/jest.config.cjs @@ -2,7 +2,6 @@ /* eslint-disable import/unambiguous */ /* eslint-disable import/no-commonjs */ /** @type {import('ts-jest').JestConfigWithTsJest} */ - module.exports = { // because we run tests from within ./packages// rootDir: './', diff --git a/packages/chain/package.json b/packages/chain/package.json index 72abf02..3dd6ab2 100644 --- a/packages/chain/package.json +++ b/packages/chain/package.json @@ -24,12 +24,14 @@ "indexer:start": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./dist/start.js start \"./environments/$PROTOKIT_ENV_FOLDER/indexer.config.js\" $1", "processor:start": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./dist/start.js start \"./environments/$PROTOKIT_ENV_FOLDER/processor.config.js\" $1", "dev": "pnpm run sequencer:dev", - "sequencer:dev:run": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/start.ts start \"./environments/$PROTOKIT_ENV_FOLDER/chain.config.ts\" $1", + "sequencer:dev": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/start.ts start \"./environments/$PROTOKIT_ENV_FOLDER/chain.config.ts\" $1", "indexer:dev:run": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/start.ts start \"./environments/$PROTOKIT_ENV_FOLDER/indexer.config.ts\" $1", "processor:dev:run": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/start.ts start \"./environments/$PROTOKIT_ENV_FOLDER/processor.config.ts\" $1", - "sequencer:dev": "nodemon --watch src -e ts --exec \"pnpm sequencer:dev:run\"", + "sequencer:dev:2": "nodemon --watch src -e ts --exec \"pnpm sequencer:dev:run\"", "indexer:dev": "nodemon --watch src -e ts --exec \"pnpm indexer:dev:run\"", "processor:dev": "nodemon --watch src -e ts --exec \"pnpm processor:dev:run\"", + "worker:dev": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/start.ts start \"./environments/$PROTOKIT_ENV_FOLDER/worker.config.ts\" $1", + "worker:dev:2": "nodemon --watch src -e ts --exec \"pnpm worker:dev:run\"", "prisma:generate": "pnpm run sequencer:prisma:generate && pnpm run indexer:prisma:generate && pnpm run processor:prisma:generate", "prisma:migrate": "pnpm run sequencer:prisma:migrate && pnpm run indexer:prisma:migrate && pnpm run processor:prisma:migrate", "sequencer:prisma:migrate": "prisma migrate deploy --schema ./node_modules/@proto-kit/persistance/prisma/schema.prisma", @@ -38,25 +40,35 @@ "indexer:prisma:generate": "prisma generate --schema ./node_modules/@proto-kit/indexer/prisma/schema.prisma", "processor:prisma:migrate:dev": "prisma migrate dev --schema ./src/processor/prisma/schema.prisma", "processor:prisma:migrate": "prisma migrate deploy --schema ./src/processor/prisma/schema.prisma", - "processor:prisma:generate": "prisma generate --schema ./src/processor/prisma/schema.prisma" + "processor:prisma:generate": "prisma generate --schema ./src/processor/prisma/schema.prisma", + "generate-keys": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/scripts/generate-keys.ts $1", + "lightnet:faucet": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/scripts/run lightnet/faucet.ts $1", + "lightnet:wait-for-network": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/scripts/run lightnet/wait-for-network.ts $1", + "settlement:deploy": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/scripts/run settlement/deploy.ts $1", + "settlement:token:deploy": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/scripts/run settlement/deploy-token.ts $1", + "mina-explorer:start": "node ./node_modules/mina-lightweight-explorer/server.js", + "bridge:deposit": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/scripts/run bridge/deposit.ts $1", + "bridge:withdraw": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/scripts/run bridge/withdraw.ts $1", + "bridge:redeem": "node --loader ts-node/esm --experimental-vm-modules --experimental-wasm-modules --es-module-specifier-resolution=node ./src/scripts/run bridge/redeem.ts $1" }, "peerDependencies": { - "@proto-kit/api": "*", - "@proto-kit/common": "*", - "@proto-kit/deployment": "*", - "@proto-kit/library": "*", - "@proto-kit/module": "*", - "@proto-kit/persistance": "*", - "@proto-kit/protocol": "*", - "@proto-kit/sdk": "*", - "@proto-kit/sequencer": "*", - "@proto-kit/indexer": "*", - "@proto-kit/processor": "*", - "o1js": "1.6.0", - "tsyringe": "^4.7.0" + "@proto-kit/api": "../../../framework/packages/api", + "@proto-kit/common": "../../../framework/packages/common", + "@proto-kit/deployment": "../../../framework/packages/deployment", + "@proto-kit/indexer": "../../../framework/packages/indexer", + "@proto-kit/library": "../../../framework/packages/library", + "@proto-kit/module": "../../../framework/packages/module", + "@proto-kit/persistance": "../../../framework/packages/persistance", + "@proto-kit/processor": "../../../framework/packages/processor", + "@proto-kit/protocol": "../../../framework/packages/protocol", + "@proto-kit/sdk": "../../../framework/packages/sdk", + "@proto-kit/sequencer": "../../../framework/packages/sequencer", + "o1js": "../../../framework/node_modules/o1js", + "tsyringe": "../../../framework/node_modules/tsyringe" }, "devDependencies": { "@jest/globals": "^29.6.1", + "@prisma/client": "5.18", "@types/jest": "^29.5.7", "@types/node": "^20.8.10", "@types/react-dom": "^18.2.7", @@ -66,6 +78,7 @@ "crypto-browserify": "^3.12.0", "eslint-config-custom": "workspace:*", "events": "^3.3.0", + "graphql": "^16.8.1", "jest": "^29.6.1", "jest-expect-message": "^1.1.3", "loglevel": "^1.8.1", @@ -79,18 +92,19 @@ "ts-jest": "^29.1.1", "ts-node": "^10.9.2", "tsconfig": "workspace:*", + "typegraphql-prisma": "^0.28", "typescript": "5.4.5", "url": "^0.11.1", "util": "^0.12.5", - "yargs": "^17.7.2", - "typegraphql-prisma": "^0.28", - "graphql": "^16.8.1", - "@prisma/client": "5.18" + "yargs": "^17.7.2" }, "dependencies": { - "reflect-metadata": "^0.1.13", + "graphql-fields": "^2.0.3", "graphql-scalars": "^1.22.4", - "graphql-fields": "^2.0.3" + "mina-lightweight-explorer": "github:o1-labs/mina-lightweight-explorer", + "reflect-metadata": "^0.1.13", + "type-graphql": "2.0.0-rc.2", + "mina-fungible-token": "1.0.0" }, "nodemonConfig": { "delay": 1000 diff --git a/packages/chain/src/environments/development/.env b/packages/chain/src/environments/development/.env index 5977346..f16562e 100644 --- a/packages/chain/src/environments/development/.env +++ b/packages/chain/src/environments/development/.env @@ -1,4 +1,4 @@ -COMPOSE_PROFILES=db, indexer-db, processor-db +COMPOSE_PROFILES=db,indexer-db,processor-db COMPOSE_PROJECT_NAME=starter-kit POSTGRES_PASSWORD=password @@ -12,10 +12,13 @@ REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=password +PROTOKIT_PROOFS_ENABLED=false + PROTOKIT_SHOULD_ATTEMPT_DB_MIGRATION=true PROTOKIT_PRUNE_ON_STARTUP=false PROTOKIT_LOG_LEVEL=INFO -PROTOKIT_BLOCK_INTERVAL=5000 +PROTOKIT_BLOCK_INTERVAL=30000 +PROTOKIT_SETTLEMENT_INTERVAL=60000 PROTOKIT_GRAPHQL_HOST=0.0.0.0 PROTOKIT_GRAPHQL_PORT=8080 @@ -37,7 +40,6 @@ PROTOKIT_INDEXER_GRAPHQL_HOST=0.0.0.0 PROTOKIT_INDEXER_GRAPHQL_PORT=8081 PROTOKIT_INDEXER_GRAPHIQL_ENABLED=true - PROCESSOR_POSTGRES_PASSWORD=password PROCESSOR_POSTGRES_USER=admin PROCESSOR_POSTGRES_DB=protokit-indexer @@ -55,4 +57,39 @@ PROTOKIT_PROCESSOR_INDEXER_GRAPHQL_HOST=0.0.0.0 # expose graphql configuration to the client app-chain NEXT_PUBLIC_PROTOKIT_GRAPHQL_URL=http://localhost:8080/graphql NEXT_PUBLIC_PROTOKIT_INDEXER_GRAPHQL_URL=http://localhost:8081/graphql -NEXT_PUBLIC_PROTOKIT_PROCESSOR_GRAPHQL_URL=http://localhost:8082/graphql \ No newline at end of file +NEXT_PUBLIC_PROTOKIT_PROCESSOR_GRAPHQL_URL=http://localhost:8082/graphql + +# mina endpoints +MINA_NODE_GRAPHQL_HOST=http://localhost +MINA_NODE_GRAPHQL_PORT=8083 +MINA_ARCHIVE_GRAPHQL_HOST=http://localhost +MINA_ARCHIVE_GRAPHQL_PORT=8085 + +PROTOKIT_TRANSACTION_FEE_RECIPIENT_PRIVATE_KEY=EKEssvj33MMBCg2tcybTzL32nTKbbwFHm6yUxd3JassdhL3J5aT8 +PROTOKIT_TRANSACTION_FEE_RECIPIENT_PUBLIC_KEY=B62qk4sNnzZqqjHp8YQXZUV3dBpnjiNieJVnsuh7mD2bMJ9PdbskH5H + +PROTOKIT_SETTLEMENT_ENABLED=true + +PROTOKIT_SEQUENCER_PRIVATE_KEY=EKEdKhgUHMuDvwWJEg2TdCMCeiTSd9hh2HrEr6uYJfPVuwur1s43 +PROTOKIT_SEQUENCER_PUBLIC_KEY=B62qizW6aroTxQorJz4ywVNZom4jA6W4QPPCK3wLeyhnJHtVStUNniL +PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY=EKErS9gYHZNawqKuwfMiwYYJtNptCrvca491QEvB3tz8sFsS5w66 +PROTOKIT_SETTLEMENT_CONTRACT_PUBLIC_KEY=B62qjKhzrvDgTPXCp34ozmpFSx4sC9owZe6eDzhdGPdoiUbGPmBkHTt +PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY=EKF9Ei5G9PeB5ULMh9R6P5LfWX2gs15XxPNsect1pbcbMY9vs6v7 +PROTOKIT_DISPATCHER_CONTRACT_PUBLIC_KEY=B62qmAzUJ1jqcsEf2V3K1k2Ec4MLsEKnodEvvJ5uweTFSLYEUALe1zs +PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY=EKFKTGqWU2egLKhMgoxX8mQ21zXSE1RZYkY82mmK9F3BxdSA7E5M +PROTOKIT_MINA_BRIDGE_CONTRACT_PUBLIC_KEY=B62qn8XRkWcaBvv6F7kvarKs4cViaKRMbTUHT8FrDXLnvxuV6n7CHsN + +PROTOKIT_CUSTOM_TOKEN_PRIVATE_KEY=EKFZHQSo5YdrcU7neDaNZruYHvCiNncvdZyKXuS6MDCW1fyCFKDP +PROTOKIT_CUSTOM_TOKEN_ADMIN_PRIVATE_KEY=EKENQ2QRc4gAJkZjQXU86ZS9MDm1e7HFiNN6LgRJnniHJt1WXDn1 +PROTOKIT_CUSTOM_TOKEN_BRIDGE_PRIVATE_KEY=EKENQ2QRc4gAJkZjQXU86ZS9MDm1e7HFiNN6LgRJnniHJt1WXDn1 + +# lightnet only +MINA_ACCOUNT_MANAGER_HOST=http://localhost +MINA_ACCOUNT_MANAGER_PORT=8084 +MINA_EXPLORER_PORT=3001 + +TEST_ACCOUNT_1_PRIVATE_KEY=EKF5p3wQTFd4tRBiGicRf93yXK82bcRryokC1qoazRM6wq6gMzWJ +TEST_ACCOUNT_1_PUBLIC_KEY=B62qkVfEwyfkm5yucHEqrRjxbyx98pgdWz82pHv7LYq9Qigs812iWZ8 + +# generating mock proofs during development seems to be triggering a lot of warnings in node v22.9.0 +NODE_NO_WARNINGS=1 \ No newline at end of file diff --git a/packages/chain/src/environments/development/chain.config.ts b/packages/chain/src/environments/development/chain.config.ts index 614f699..d1e2c87 100644 --- a/packages/chain/src/environments/development/chain.config.ts +++ b/packages/chain/src/environments/development/chain.config.ts @@ -4,47 +4,66 @@ import { Protocol } from "@proto-kit/protocol"; import { DatabasePruneModule, Sequencer } from "@proto-kit/sequencer"; import { PrismaRedisDatabase } from "@proto-kit/persistance"; import runtime from "../../runtime"; -import protocol from "../../protocol"; +import * as protocol from "../../protocol"; import { baseSequencerModules, baseSequencerModulesConfig, indexerSequencerModules, indexerSequencerModulesConfig, + baseSettlementSequencerModules, + baseSettlementSequencerModulesConfig, } from "../../sequencer"; -import { BullQueue, Startable } from "@proto-kit/deployment"; +import { BullQueue } from "@proto-kit/deployment"; import { Arguments } from "../../start"; import { baseAppChainModules, baseAppChainModulesConfig, } from "../../app-chain"; +import { log } from "@proto-kit/common"; export const appChain = AppChain.from({ Runtime: Runtime.from({ modules: runtime.modules, }), Protocol: Protocol.from({ - modules: protocol.modules, + modules: { + ...protocol.modules, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? protocol.settlementModules + : {}), + }, }), Sequencer: Sequencer.from({ modules: { // ordering of the modules matters due to dependency resolution Database: PrismaRedisDatabase, + DatabasePruneModule, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? baseSettlementSequencerModules + : {}), ...baseSequencerModules, ...indexerSequencerModules, TaskQueue: BullQueue, - DatabasePruneModule, }, }), modules: baseAppChainModules, }); -export default async (args: Arguments): Promise => { +export default async (args: Arguments) => { appChain.configurePartial({ Runtime: runtime.config, - Protocol: protocol.config, + Protocol: { + ...protocol.config, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? protocol.settlementModulesConfig + : {}), + }, Sequencer: { ...baseSequencerModulesConfig, ...indexerSequencerModulesConfig, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? baseSettlementSequencerModulesConfig + : {}), DatabasePruneModule: { pruneOnStartup: args.pruneOnStartup, }, @@ -53,6 +72,7 @@ export default async (args: Arguments): Promise => { host: process.env.REDIS_HOST!, port: Number(process.env.REDIS_PORT)!, password: process.env.REDIS_PASSWORD!, + db: 1, }, }, Database: { diff --git a/packages/chain/src/environments/development/worker.config.ts b/packages/chain/src/environments/development/worker.config.ts new file mode 100644 index 0000000..ed71a39 --- /dev/null +++ b/packages/chain/src/environments/development/worker.config.ts @@ -0,0 +1,49 @@ +import { AppChain } from "@proto-kit/sdk"; +import { Runtime } from "@proto-kit/module"; +import { Protocol } from "@proto-kit/protocol"; +import { Sequencer } from "@proto-kit/sequencer"; +import runtime from "../../runtime"; +import * as protocol from "../../protocol"; +import { Arguments } from "../../start"; + +import { workerModules, workerModulesConfig } from "../../sequencer/worker"; +import { log } from "@proto-kit/common"; + +export const appChain = AppChain.from({ + Runtime: Runtime.from({ + modules: runtime.modules, + }), + Protocol: Protocol.from({ + modules: { + ...protocol.modules, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? protocol.settlementModules + : {}), + }, + }), + Sequencer: Sequencer.from({ + modules: { + ...workerModules, + }, + }), + modules: {}, +}); + +export default async (args: Arguments) => { + appChain.configurePartial({ + Runtime: runtime.config, + Protocol: { + ...protocol.config, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? protocol.settlementModulesConfig + : {}), + }, + Sequencer: { + ...workerModulesConfig, + }, + }); + + log.setLevel("DEBUG") + + return appChain; +}; diff --git a/packages/chain/src/environments/sovereign/.env b/packages/chain/src/environments/sovereign/.env index 8be21e6..530b8ab 100644 --- a/packages/chain/src/environments/sovereign/.env +++ b/packages/chain/src/environments/sovereign/.env @@ -1,4 +1,4 @@ -COMPOSE_PROFILES=db,indexer-db,monolithic-sequencer,monolithic-indexer,proxy,web,processor-db,monolithic-processor +COMPOSE_PROFILES=db,indexer-db,monolithic-sequencer,monolithic-indexer,proxy,web,processor-db,monolithic-processor,worker COMPOSE_PROJECT_NAME=starter-kit @@ -16,7 +16,10 @@ REDIS_PASSWORD=password PROTOKIT_SHOULD_ATTEMPT_DB_MIGRATION=true PROTOKIT_PRUNE_ON_STARTUP=false PROTOKIT_LOG_LEVEL=INFO -PROTOKIT_BLOCK_INTERVAL=5000 +PROTOKIT_BLOCK_INTERVAL=10000 +PROTOKIT_SETTLEMENT_INTERVAL=30000 +PROTOKIT_SETTLEMENT_ENABLED=true + PROTOKIT_GRAPHQL_HOST=0.0.0.0 PROTOKIT_GRAPHQL_PORT=8080 @@ -58,3 +61,34 @@ NEXT_PUBLIC_PROTOKIT_GRAPHQL_URL=https://localhost/graphql # NEXT_PUBLIC_PROTOKIT_GRAPHQL_URL=http://yourdomain.com/graphql NEXT_PUBLIC_PROTOKIT_INDEXER_GRAPHQL_URL=https://localhost/indexer/graphql NEXT_PUBLIC_PROTOKIT_PROCESSOR_GRAPHQL_URL=https://localhost/processor/graphql + +# mina endpoints +MINA_NODE_GRAPHQL_HOST=http://lightnet +MINA_NODE_GRAPHQL_PORT=8080 +MINA_ARCHIVE_GRAPHQL_HOST=http://lightnet +MINA_ARCHIVE_GRAPHQL_PORT=8282 + +PROTOKIT_TRANSACTION_FEE_RECIPIENT_PRIVATE_KEY=EKEssvj33MMBCg2tcybTzL32nTKbbwFHm6yUxd3JassdhL3J5aT8 +PROTOKIT_TRANSACTION_FEE_RECIPIENT_PUBLIC_KEY=B62qk4sNnzZqqjHp8YQXZUV3dBpnjiNieJVnsuh7mD2bMJ9PdbskH5H + +PROTOKIT_SETTLEMENT_ENABLED=true + +PROTOKIT_SEQUENCER_PRIVATE_KEY=EKEdKhgUHMuDvwWJEg2TdCMCeiTSd9hh2HrEr6uYJfPVuwur1s43 +PROTOKIT_SEQUENCER_PUBLIC_KEY=B62qizW6aroTxQorJz4ywVNZom4jA6W4QPPCK3wLeyhnJHtVStUNniL +PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY=EKErS9gYHZNawqKuwfMiwYYJtNptCrvca491QEvB3tz8sFsS5w66 +PROTOKIT_SETTLEMENT_CONTRACT_PUBLIC_KEY=B62qjKhzrvDgTPXCp34ozmpFSx4sC9owZe6eDzhdGPdoiUbGPmBkHTt +PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY=EKF9Ei5G9PeB5ULMh9R6P5LfWX2gs15XxPNsect1pbcbMY9vs6v7 +PROTOKIT_DISPATCHER_CONTRACT_PUBLIC_KEY=B62qmAzUJ1jqcsEf2V3K1k2Ec4MLsEKnodEvvJ5uweTFSLYEUALe1zs +PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY=EKFKTGqWU2egLKhMgoxX8mQ21zXSE1RZYkY82mmK9F3BxdSA7E5M +PROTOKIT_MINA_BRIDGE_CONTRACT_PUBLIC_KEY=B62qn8XRkWcaBvv6F7kvarKs4cViaKRMbTUHT8FrDXLnvxuV6n7CHsN + +# lightnet only +MINA_ACCOUNT_MANAGER_HOST=http://lightnet +MINA_ACCOUNT_MANAGER_PORT=8084 +MINA_EXPLORER_PORT=3001 + +TEST_ACCOUNT_1_PRIVATE_KEY=EKF5p3wQTFd4tRBiGicRf93yXK82bcRryokC1qoazRM6wq6gMzWJ +TEST_ACCOUNT_1_PUBLIC_KEY=B62qkVfEwyfkm5yucHEqrRjxbyx98pgdWz82pHv7LYq9Qigs812iWZ8 + +# generating mock proofs during development seems to be triggering a lot of warnings in node v22.9.0 +NODE_NO_WARNINGS=1 \ No newline at end of file diff --git a/packages/chain/src/environments/sovereign/chain.config.ts b/packages/chain/src/environments/sovereign/chain.config.ts index 614f699..69548c5 100644 --- a/packages/chain/src/environments/sovereign/chain.config.ts +++ b/packages/chain/src/environments/sovereign/chain.config.ts @@ -4,47 +4,66 @@ import { Protocol } from "@proto-kit/protocol"; import { DatabasePruneModule, Sequencer } from "@proto-kit/sequencer"; import { PrismaRedisDatabase } from "@proto-kit/persistance"; import runtime from "../../runtime"; -import protocol from "../../protocol"; +import * as protocol from "../../protocol"; import { baseSequencerModules, baseSequencerModulesConfig, indexerSequencerModules, indexerSequencerModulesConfig, + baseSettlementSequencerModules, + baseSettlementSequencerModulesConfig, } from "../../sequencer"; -import { BullQueue, Startable } from "@proto-kit/deployment"; +import { BullQueue } from "@proto-kit/deployment"; import { Arguments } from "../../start"; import { baseAppChainModules, baseAppChainModulesConfig, } from "../../app-chain"; +import { log } from "@proto-kit/common"; export const appChain = AppChain.from({ Runtime: Runtime.from({ modules: runtime.modules, }), Protocol: Protocol.from({ - modules: protocol.modules, + modules: { + ...protocol.modules, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? protocol.settlementModules + : {}), + }, }), Sequencer: Sequencer.from({ modules: { // ordering of the modules matters due to dependency resolution Database: PrismaRedisDatabase, + DatabasePruneModule, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? baseSettlementSequencerModules + : {}), ...baseSequencerModules, ...indexerSequencerModules, TaskQueue: BullQueue, - DatabasePruneModule, }, }), modules: baseAppChainModules, }); -export default async (args: Arguments): Promise => { +export default async (args: Arguments) => { appChain.configurePartial({ Runtime: runtime.config, - Protocol: protocol.config, + Protocol: { + ...protocol.config, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? protocol.settlementModulesConfig + : {}), + }, Sequencer: { ...baseSequencerModulesConfig, ...indexerSequencerModulesConfig, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? baseSettlementSequencerModulesConfig + : {}), DatabasePruneModule: { pruneOnStartup: args.pruneOnStartup, }, @@ -53,6 +72,7 @@ export default async (args: Arguments): Promise => { host: process.env.REDIS_HOST!, port: Number(process.env.REDIS_PORT)!, password: process.env.REDIS_PASSWORD!, + db: 1, }, }, Database: { @@ -69,5 +89,7 @@ export default async (args: Arguments): Promise => { ...baseAppChainModulesConfig, }); + log.setLevel("DEBUG"); + return appChain; }; diff --git a/packages/chain/src/environments/sovereign/worker.config.ts b/packages/chain/src/environments/sovereign/worker.config.ts new file mode 100644 index 0000000..ed71a39 --- /dev/null +++ b/packages/chain/src/environments/sovereign/worker.config.ts @@ -0,0 +1,49 @@ +import { AppChain } from "@proto-kit/sdk"; +import { Runtime } from "@proto-kit/module"; +import { Protocol } from "@proto-kit/protocol"; +import { Sequencer } from "@proto-kit/sequencer"; +import runtime from "../../runtime"; +import * as protocol from "../../protocol"; +import { Arguments } from "../../start"; + +import { workerModules, workerModulesConfig } from "../../sequencer/worker"; +import { log } from "@proto-kit/common"; + +export const appChain = AppChain.from({ + Runtime: Runtime.from({ + modules: runtime.modules, + }), + Protocol: Protocol.from({ + modules: { + ...protocol.modules, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? protocol.settlementModules + : {}), + }, + }), + Sequencer: Sequencer.from({ + modules: { + ...workerModules, + }, + }), + modules: {}, +}); + +export default async (args: Arguments) => { + appChain.configurePartial({ + Runtime: runtime.config, + Protocol: { + ...protocol.config, + ...(process.env.PROTOKIT_SETTLEMENT_ENABLED! === "true" + ? protocol.settlementModulesConfig + : {}), + }, + Sequencer: { + ...workerModulesConfig, + }, + }); + + log.setLevel("DEBUG") + + return appChain; +}; diff --git a/packages/chain/src/processor/api/resolvers.ts b/packages/chain/src/processor/api/resolvers.ts index 37b281f..dc6081c 100644 --- a/packages/chain/src/processor/api/resolvers.ts +++ b/packages/chain/src/processor/api/resolvers.ts @@ -1,4 +1,5 @@ import { cleanResolvers, ValidateTakeArg } from "@proto-kit/processor"; +import { NonEmptyArray } from "type-graphql"; import { applyResolversEnhanceMap, resolvers as generatedResolvers, @@ -22,4 +23,5 @@ const resolversEnchanceMap: ResolversEnhanceMap = { applyResolversEnhanceMap(resolversEnchanceMap); // remove non read only generated resolvers and their methods -export const resolvers = cleanResolvers(generatedResolvers); +export const resolvers: NonEmptyArray = + cleanResolvers(generatedResolvers); diff --git a/packages/chain/src/protocol/index.ts b/packages/chain/src/protocol/index.ts index 9caf391..be4ae59 100644 --- a/packages/chain/src/protocol/index.ts +++ b/packages/chain/src/protocol/index.ts @@ -1,10 +1,37 @@ import { VanillaProtocolModules } from "@proto-kit/library"; import { ModulesConfig } from "@proto-kit/common"; +import { + ProtocolModulesRecord, + SettlementContractModule, +} from "@proto-kit/protocol"; -const modules = VanillaProtocolModules.with({}); +export const modules = VanillaProtocolModules.with({}); -const config: ModulesConfig = { +export const config: ModulesConfig = { ...VanillaProtocolModules.defaultConfig(), + TransactionFee: { + ...VanillaProtocolModules.defaultConfig().TransactionFee, + feeRecipient: process.env.PROTOKIT_TRANSACTION_FEE_RECIPIENT_PUBLIC_KEY!, + }, }; +export const settlementModules = { + SettlementContractModule: SettlementContractModule.fromDefaults(), +} satisfies ProtocolModulesRecord; + +export const settlementModulesConfig = { + SettlementContractModule: { + BridgeContract: { + withdrawalEventName: "withdrawal", + withdrawalStatePath: "Withdrawals.withdrawals", + }, + SettlementContract: {}, + DispatchContract: { + incomingMessagesMethods: { + deposit: "Balances.deposit", + }, + }, + }, +} satisfies ModulesConfig; + export default { modules, config }; diff --git a/packages/chain/src/runtime/index.ts b/packages/chain/src/runtime/index.ts index ebd7f93..afbf6e5 100644 --- a/packages/chain/src/runtime/index.ts +++ b/packages/chain/src/runtime/index.ts @@ -2,15 +2,18 @@ import { Balance, VanillaRuntimeModules } from "@proto-kit/library"; import { ModulesConfig } from "@proto-kit/common"; import { Balances } from "./modules/balances"; +import { Withdrawals } from "./modules/withdrawals"; export const modules = VanillaRuntimeModules.with({ Balances, + Withdrawals, }); export const config: ModulesConfig = { Balances: { - totalSupply: Balance.from(10_000), + totalSupply: Balance.from(10_000 * 1e9), }, + Withdrawals: {}, }; export default { diff --git a/packages/chain/src/runtime/modules/balances.ts b/packages/chain/src/runtime/modules/balances.ts index ca4ec5a..a3041b2 100644 --- a/packages/chain/src/runtime/modules/balances.ts +++ b/packages/chain/src/runtime/modules/balances.ts @@ -1,7 +1,16 @@ -import { runtimeModule, state, runtimeMethod } from "@proto-kit/module"; -import { State, assert } from "@proto-kit/protocol"; -import { Balance, Balances as BaseBalances, TokenId } from "@proto-kit/library"; -import { PublicKey } from "o1js"; +import { + runtimeModule, + runtimeMethod, + runtimeMessage, +} from "@proto-kit/module"; +import { Deposit, State, assert, state } from "@proto-kit/protocol"; +import { + Balance, + BalancesKey, + Balances as BaseBalances, + TokenId, +} from "@proto-kit/library"; +import { Provable, PublicKey } from "o1js"; interface BalancesConfig { totalSupply: Balance; @@ -28,4 +37,18 @@ export class Balances extends BaseBalances { await this.circulatingSupply.set(newCirculatingSupply); await this.mint(tokenId, address, amount); } + + @runtimeMessage() + public async deposit(deposit: Deposit) { + const key = new BalancesKey({ + tokenId: TokenId.from(deposit.tokenId), + address: deposit.address, + }); + const balance = await this.balances.get(key); + Provable.log("deposited", deposit); + await this.balances.set( + key, + balance.value.add(Balance.Unsafe.fromField(deposit.amount.value)) + ); + } } diff --git a/packages/chain/src/runtime/modules/withdrawals.ts b/packages/chain/src/runtime/modules/withdrawals.ts new file mode 100644 index 0000000..3b06a0f --- /dev/null +++ b/packages/chain/src/runtime/modules/withdrawals.ts @@ -0,0 +1,23 @@ +import { Withdrawals as BaseWithdrawals, UInt64 } from "@proto-kit/library"; +import { runtimeMethod, runtimeModule } from "@proto-kit/module"; +import { PublicKey, Field, Provable } from "o1js"; + +@runtimeModule() +export class Withdrawals extends BaseWithdrawals { + @runtimeMethod() + public async withdraw( + address: PublicKey, + amount: UInt64, + tokenId: Field + ): Promise { + const balance = await (this as any).balances.getBalance(tokenId, address); + + // TODO: address must be sender instead + Provable.log("withdraw debug", { + address, + balance, + amount, + }); + await super.withdraw(address, amount, tokenId); + } +} diff --git a/packages/chain/src/scripts/bridge/deposit.ts b/packages/chain/src/scripts/bridge/deposit.ts new file mode 100644 index 0000000..83f0a10 --- /dev/null +++ b/packages/chain/src/scripts/bridge/deposit.ts @@ -0,0 +1,153 @@ +import { + BridgingModule, + InMemoryDatabase, + MinaTransactionSender, + Sequencer, + SettlementModule, +} from "@proto-kit/sequencer"; +import { + scriptsSettlementSequencerModules, + scriptsSettlementSequencerModulesConfig, +} from "../../sequencer"; +import { AppChain } from "@proto-kit/sdk"; +import { Runtime } from "@proto-kit/module"; +import runtime from "../../runtime"; +import { + Protocol, TokenBridgeAttestation, +} from "@proto-kit/protocol"; +import * as protocol from "../../protocol"; +import { + AccountUpdate, + fetchAccount, + Field, + Mina, + PrivateKey, + Provable, + PublicKey, + TokenId, + UInt64, +} from "o1js"; +import { FungibleToken } from "mina-fungible-token"; + +export default async function () { + const tokenId = Field(process.argv[3]); + const fromPrivateKey = PrivateKey.fromBase58( + process.env[process.argv[4]] || process.argv[4] + ); + const toPublicKey = PublicKey.fromBase58( + process.env[process.argv[5]] || process.argv[5]! + ); + const amount = Number(process.argv[6]) * 1e9; + const fee = 0.1 * 1e9; + + const isCustomToken = tokenId.toBigInt() !== 1n; + const tokenOwnerPrivateKey = isCustomToken ? PrivateKey.fromBase58(process.env["PROTOKIT_CUSTOM_TOKEN_PRIVATE_KEY"]!) : PrivateKey.random(); + const bridgeContractKey = isCustomToken ? PrivateKey.fromBase58(process.env.PROTOKIT_CUSTOM_TOKEN_BRIDGE_PRIVATE_KEY!) : PrivateKey.fromBase58(process.env.PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY!) + + Provable.log("Preparing to deposit", { + tokenId, + fromPrivateKey, + toPublicKey, + amount, + fee, + }); + + const appChain = AppChain.from({ + Runtime: Runtime.from({ + modules: runtime.modules, + }), + Protocol: Protocol.from({ + modules: { + ...protocol.modules, + ...protocol.settlementModules, + }, + }), + Sequencer: Sequencer.from({ + modules: { + Database: InMemoryDatabase, + ...scriptsSettlementSequencerModules, + }, + }), + modules: {}, + }); + + appChain.configure({ + Runtime: runtime.config, + Protocol: { + ...protocol.config, + ...protocol.settlementModulesConfig, + }, + Sequencer: { + Database: {}, + ...scriptsSettlementSequencerModulesConfig, + }, + }); + + const proofsEnabled = process.env.PROTOKIT_PROOFS_ENABLED === "true" + await appChain.start(proofsEnabled); + + const settlementModule = appChain.sequencer.resolveOrFail( + "SettlementModule", + SettlementModule + ); + + const bridgingModule = appChain.sequencer.resolveOrFail( + "BridgingModule", + BridgingModule + ); + + const { settlement, dispatch } = settlementModule.getContracts(); + + await fetchAccount({ publicKey: fromPrivateKey.toPublicKey() }); + await fetchAccount({ publicKey: settlement.address }); + await fetchAccount({ publicKey: dispatch.address }); + const bridgeAddress = await bridgingModule.getBridgeAddress(tokenId); + await fetchAccount({ publicKey: bridgeAddress!, tokenId: tokenId }); + await fetchAccount({ publicKey: bridgeAddress!, tokenId: tokenId }); + + const attestation = await bridgingModule.getDepositContractAttestation(tokenId) + + console.log("Forging transaction..."); + const tx = await Mina.transaction( + { + memo: "User deposit", + sender: fromPrivateKey.toPublicKey(), + fee, + }, + async () => { + const au = AccountUpdate.createSigned(fromPrivateKey.toPublicKey(), tokenId); + au.balance.subInPlace(UInt64.from(amount)); + + await dispatch.deposit( + UInt64.from(amount), + tokenId, + bridgeContractKey.toPublicKey(), + attestation, + toPublicKey + ); + + if (isCustomToken) { + await new FungibleToken(tokenOwnerPrivateKey.toPublicKey())!.approveAccountUpdates([au, dispatch.self]); + } + } + ); + console.log(tx.toPretty()); + + settlementModule.signTransaction( + tx, + [fromPrivateKey], + [tokenOwnerPrivateKey], + [dispatch.address] + ); + + console.log("Sending..."); + console.log(tx.toPretty()); + + const { hash } = await appChain.sequencer + .resolveOrFail("TransactionSender", MinaTransactionSender) + .proveAndSendTransaction(tx, "included"); + + console.log(`Deposit transaction included in a block: ${hash}`); + + await appChain.close(); +} diff --git a/packages/chain/src/scripts/bridge/redeem.ts b/packages/chain/src/scripts/bridge/redeem.ts new file mode 100644 index 0000000..02993ce --- /dev/null +++ b/packages/chain/src/scripts/bridge/redeem.ts @@ -0,0 +1,136 @@ +import { + BridgingModule, + InMemoryDatabase, + MinaTransactionSender, + Sequencer, + SequencerModule, + SettlementModule, +} from "@proto-kit/sequencer"; +import { + scriptsSettlementSequencerModules, + scriptsSettlementSequencerModulesConfig, +} from "../../sequencer"; +import { AppChain } from "@proto-kit/sdk"; +import { Runtime } from "@proto-kit/module"; +import runtime from "../../runtime"; +import { + Protocol, +} from "@proto-kit/protocol"; +import * as protocol from "../../protocol"; +import { + AccountUpdate, + fetchAccount, + Field, + Mina, + PrivateKey, + Provable, + UInt64, +} from "o1js"; +import { FungibleToken } from "mina-fungible-token"; + +export default async function () { + const tokenId = Field(process.argv[3]); + const toPrivateKey = PrivateKey.fromBase58( + process.env[process.argv[4]] || process.argv[4] + ); + const amount = Number(process.argv[5]) * 1e9; + const fee = 0.1 * 1e9; + + const isCustomToken = tokenId.toBigInt() !== 1n; + const tokenOwnerPrivateKey = isCustomToken ? PrivateKey.fromBase58(process.env["PROTOKIT_CUSTOM_TOKEN_PRIVATE_KEY"]!) : PrivateKey.random(); + + Provable.log("Preparing to redeem", { + tokenId, + to: toPrivateKey.toPublicKey(), + amount, + fee, + }); + + const appChain = AppChain.from({ + Runtime: Runtime.from({ + modules: runtime.modules, + }), + Protocol: Protocol.from({ + modules: { + ...protocol.modules, + ...protocol.settlementModules, + }, + }), + Sequencer: Sequencer.from({ + modules: { + Database: InMemoryDatabase, + ...scriptsSettlementSequencerModules, + }, + }), + modules: {}, + }); + + appChain.configure({ + Runtime: runtime.config, + Protocol: { + ...protocol.config, + ...protocol.settlementModulesConfig, + }, + Sequencer: { + Database: {}, + ...scriptsSettlementSequencerModulesConfig, + }, + }); + + const proofsEnabled = process.env.PROTOKIT_PROOFS_ENABLED === "true" + await appChain.start(proofsEnabled); + + const bridgingModule = appChain.sequencer.resolveOrFail( + "BridgingModule", + BridgingModule + ); + + const bridgeContract = await bridgingModule.getBridgeContract(tokenId); + + const customAcc = await fetchAccount({ + publicKey: toPrivateKey.toPublicKey(), + tokenId: bridgeContract.deriveTokenId(), + }); + + Provable.log("Custom account", customAcc.account?.balance); + + console.log("Forging transaction..."); + const tx = await Mina.transaction( + { + sender: toPrivateKey.toPublicKey(), + fee, + }, + async () => { + const au = AccountUpdate.createSigned(toPrivateKey.toPublicKey(), tokenId); + au.balance.addInPlace(UInt64.from(amount)); + + await bridgeContract.redeem(au); + + if (isCustomToken) { + await new FungibleToken(tokenOwnerPrivateKey.toPublicKey())!.approveAccountUpdate(bridgeContract.self); + } + } + ); + + const settlementModule = appChain.sequencer.resolveOrFail( + "SettlementModule", + SettlementModule + ); + + settlementModule.signTransaction( + tx, + [toPrivateKey], + [tokenOwnerPrivateKey] + ); + + console.log("Sending..."); + + const { hash } = await appChain.sequencer + .resolveOrFail("TransactionSender", MinaTransactionSender) + .proveAndSendTransaction(tx, "included"); + + console.log(`Redeem transaction included in a block: ${hash}`); + console.log(tx.toPretty()); + + await appChain.close(); +} diff --git a/packages/chain/src/scripts/bridge/withdraw.ts b/packages/chain/src/scripts/bridge/withdraw.ts new file mode 100644 index 0000000..d552762 --- /dev/null +++ b/packages/chain/src/scripts/bridge/withdraw.ts @@ -0,0 +1,45 @@ +import { ClientAppChain, InMemorySigner } from "@proto-kit/sdk"; +import runtime from "../../runtime"; +import { Field, PrivateKey, Provable } from "o1js"; +import { UInt64 } from "@proto-kit/library"; + +export default async function () { + const tokenId = Field(process.argv[3]!); + const amount = UInt64.from(Number(process.argv[5]) * 1e9); + const appChain = ClientAppChain.fromRuntime(runtime.modules, InMemorySigner); + + appChain.configurePartial({ + Runtime: runtime.config, + GraphqlClient: { + url: process.env.NEXT_PUBLIC_PROTOKIT_GRAPHQL_URL, + }, + }); + + await appChain.start(); + + const senderPrivateKey = PrivateKey.fromBase58( + process.env[process.argv[4]] || process.argv[4] + ); + const senderPublicKey = senderPrivateKey.toPublicKey(); + const signer = appChain.resolve("Signer"); + signer.config.signer = senderPrivateKey; + + Provable.log("debug", { + senderPrivateKey, + senderPublicKey, + amount, + tokenId, + }); + + const withdrawals = appChain.runtime.resolve("Withdrawals"); + const tx = await appChain.transaction(senderPublicKey, async () => { + await withdrawals.withdraw(senderPublicKey, amount, tokenId); + }); + + await tx.sign(); + await tx.send(); + + console.log("withdrawal tx sent"); + + await appChain.close(); +} diff --git a/packages/chain/src/scripts/generate-keys.ts b/packages/chain/src/scripts/generate-keys.ts new file mode 100644 index 0000000..5305a5b --- /dev/null +++ b/packages/chain/src/scripts/generate-keys.ts @@ -0,0 +1,14 @@ +import { PrivateKey } from "o1js"; + +const numberOFKeysToGenerate = Number(process.argv[2]) || 1; +console.log( + `Generated ${numberOFKeysToGenerate} keys for development purposes:` +); + +for (let i = 0; i < numberOFKeysToGenerate; i++) { + const privateKey = PrivateKey.random(); + const publicKey = privateKey.toPublicKey(); + + console.log("Private key:", privateKey.toBase58()); + console.log("Public key:", publicKey.toBase58()); +} diff --git a/packages/chain/src/scripts/lightnet/faucet.ts b/packages/chain/src/scripts/lightnet/faucet.ts new file mode 100644 index 0000000..bbc0fd1 --- /dev/null +++ b/packages/chain/src/scripts/lightnet/faucet.ts @@ -0,0 +1,76 @@ +import { + Account, + AccountUpdate, + fetchAccount, + Lightnet, + Mina, + Provable, + PublicKey, +} from "o1js"; +import "reflect-metadata"; + +export default async function () { + // configuration + const fee = 0.1 * 1e9; + const fundingAmount = 1000 * 1e9; + + const net = Mina.Network({ + mina: `${process.env.MINA_NODE_GRAPHQL_HOST!}:${process.env.MINA_NODE_GRAPHQL_PORT!}/graphql`, + archive: `${process.env.MINA_ARCHIVE_GRAPHQL_HOST!}:${process.env.MINA_ARCHIVE_GRAPHQL_PORT!}/graphql`, + lightnetAccountManager: `${process.env.MINA_ACCOUNT_MANAGER_HOST!}:${process.env.MINA_ACCOUNT_MANAGER_PORT!}`, + }); + + Mina.setActiveInstance(net); + + // get the source account from the account manager + const pair = await Lightnet.acquireKeyPair({ + isRegularAccount: true, + }); + + // which account to drip to + const keyArg = process.env[process.argv[3]] || process.argv[3]; + + if (!keyArg) { + throw new Error("No key provided"); + } + + const key = PublicKey.fromBase58(keyArg); + + await fetchAccount({ publicKey: pair.publicKey }); + + Provable.log( + `Dripping ${fundingAmount / 1e9} MINA from ${pair.publicKey.toBase58()} to ${key.toBase58()}` + ); + + const tx = await Mina.transaction( + { + sender: pair.publicKey, + fee, + }, + async () => { + const account = await fetchAccount({ publicKey: key }); + // if the destination account does not exist yet, pay the creation fee for it + if (account.error) { + AccountUpdate.fundNewAccount(pair.publicKey); + } + + AccountUpdate.createSigned(pair.publicKey).balance.subInPlace( + fundingAmount + ); + AccountUpdate.create(key).balance.addInPlace(fundingAmount); + } + ); + + tx.sign([pair.privateKey]); + + const sentTx = await tx.send(); + await sentTx.wait(); + + Provable.log( + `Funded account ${key.toBase58()} with ${fundingAmount / 1e9} MINA` + ); + + await Lightnet.releaseKeyPair({ + publicKey: pair.publicKey.toBase58(), + }); +} diff --git a/packages/chain/src/scripts/lightnet/wait-for-network.ts b/packages/chain/src/scripts/lightnet/wait-for-network.ts new file mode 100644 index 0000000..8f8e5ae --- /dev/null +++ b/packages/chain/src/scripts/lightnet/wait-for-network.ts @@ -0,0 +1,27 @@ +import { sleep } from "@proto-kit/common"; +import { fetchLastBlock, Provable } from "o1js"; + +const maxAttempts = 24; +const delay = 5000; +const graphqlEndpoint = `${process.env.MINA_NODE_GRAPHQL_HOST!}:${process.env.MINA_NODE_GRAPHQL_PORT!}/graphql`; + +export default async function () { + let lastBlock; + let attempt = 0; + + console.log(`Waiting for network to be ready...`); + while (!lastBlock) { + attempt++; + if (attempt > maxAttempts) { + throw new Error( + `Network was still not ready after ${(delay / 1000) * (attempt - 1)}s` + ); + } + try { + lastBlock = await fetchLastBlock(graphqlEndpoint); + } catch (e) {} + await sleep(delay); + } + + Provable.log("Network is ready", lastBlock); +} diff --git a/packages/chain/src/scripts/run.ts b/packages/chain/src/scripts/run.ts new file mode 100644 index 0000000..8544dc3 --- /dev/null +++ b/packages/chain/src/scripts/run.ts @@ -0,0 +1,3 @@ +const script = await import(`./${process.argv[2]}`); +await script.default(); +export {}; diff --git a/packages/chain/src/scripts/settlement/deploy-token.ts b/packages/chain/src/scripts/settlement/deploy-token.ts new file mode 100644 index 0000000..9271583 --- /dev/null +++ b/packages/chain/src/scripts/settlement/deploy-token.ts @@ -0,0 +1,225 @@ +import { Runtime } from "@proto-kit/module"; +import { Protocol, TokenBridgeTree } from "@proto-kit/protocol"; +import { AppChain } from "@proto-kit/sdk"; +import { + ArchiveNode, + MinaTransactionSender, + ProvenSettlementPermissions, + Sequencer, + SettlementModule, SignedSettlementPermissions, +} from "@proto-kit/sequencer"; +import { AccountUpdate, Bool, fetchAccount, Field, Mina, PrivateKey, Provable, PublicKey, UInt64, UInt8 } from "o1js"; +import "reflect-metadata"; +import { container } from "tsyringe"; +import runtime from "../../runtime"; +import * as protocol from "../../protocol"; +import { + scriptsSettlementSequencerModules, + scriptsSettlementSequencerModulesConfig, +} from "../../sequencer"; +import { PrismaRedisDatabase } from "@proto-kit/persistance"; +import { FungibleToken, FungibleTokenAdmin } from "mina-fungible-token"; + +export default async function () { + const appChain = AppChain.from({ + Runtime: Runtime.from({ + modules: runtime.modules, + }), + Protocol: Protocol.from({ + modules: { + ...protocol.modules, + ...protocol.settlementModules, + }, + }), + Sequencer: Sequencer.from({ + modules: { + Database: PrismaRedisDatabase, + ...scriptsSettlementSequencerModules, + }, + }), + modules: {}, + }); + + appChain.configure({ + Runtime: runtime.config, + Protocol: { + ...protocol.config, + ...protocol.settlementModulesConfig, + }, + Sequencer: { + ...scriptsSettlementSequencerModulesConfig, + Database: { + redis: { + host: process.env.REDIS_HOST!, + port: Number(process.env.REDIS_PORT)!, + password: process.env.REDIS_PASSWORD!, + }, + prisma: { + connection: process.env.DATABASE_URL!, + }, + }, + }, + }); + + const chainContainer = container.createChildContainer(); + console.log("start"); + const proofsEnabled = process.env.PROTOKIT_PROOFS_ENABLED === "true" + await appChain.start(proofsEnabled, chainContainer); + console.log("after start"); + + const tokenSymbol = process.argv[3]; + const feepayerPrivateKey = PrivateKey.fromBase58( + process.env[process.argv[4]] || process.argv[4] + ); + const receiverPublicKey = PublicKey.fromBase58( + process.env[process.argv[5]] || process.argv[5]! + ); + const mintAmount = process.argv.length > 6 ? Number(process.argv[6]) * 1e9 : 0; + const fee = 0.1 * 1e9; + + const settlementModule = appChain.sequencer.resolveOrFail( + "SettlementModule", + SettlementModule + ); + + const isSignedSettlement = settlementModule.utils.isSignedSettlement(); + + const tokenOwnerKey = PrivateKey.fromBase58(process.env["PROTOKIT_CUSTOM_TOKEN_PRIVATE_KEY"] ?? PrivateKey.random().toBase58()); + const tokenAdminKey = PrivateKey.fromBase58(process.env["PROTOKIT_CUSTOM_TOKEN_ADMIN_PRIVATE_KEY"] ?? PrivateKey.random().toBase58()); + const tokenBridgeKey = PrivateKey.fromBase58(process.env["PROTOKIT_CUSTOM_TOKEN_BRIDGE_PRIVATE_KEY"] ?? PrivateKey.random().toBase58()); + + await ArchiveNode.waitOnSync(appChain.sequencer.resolve("BaseLayer").config) + + async function deployTokenContracts(){ + const permissions = + isSignedSettlement + ? new SignedSettlementPermissions() + : new ProvenSettlementPermissions(); + + const tx = await Mina.transaction( + { + sender: feepayerPrivateKey.toPublicKey(), + memo: "Deploy custom token", + fee + }, + async () => { + AccountUpdate.fundNewAccount(feepayerPrivateKey.toPublicKey(), 3); + + const admin = new FungibleTokenAdmin( + tokenAdminKey.toPublicKey() + ); + await admin.deploy({ + verificationKey: undefined, + adminPublicKey: feepayerPrivateKey.toPublicKey(), + }); + admin.self.account.permissions.set( + permissions.bridgeContractToken() + ); + + const fungibleToken = new FungibleToken(tokenOwnerKey.toPublicKey()) + await fungibleToken.deploy({ + verificationKey: undefined, + src: "", + symbol: tokenSymbol, + }); + fungibleToken!.self.account.permissions.set( + permissions.bridgeContractToken() + ); + + await fungibleToken.initialize( + tokenAdminKey.toPublicKey(), + UInt8.from(9), + Bool(false) + ); + } + ); + console.log("Sending deploy transaction...") + console.log(tx.toPretty()); + + settlementModule.signTransaction( + tx, + [feepayerPrivateKey, tokenOwnerKey, tokenAdminKey], + [tokenOwnerKey, tokenAdminKey] + ); + + await appChain.sequencer + .resolveOrFail("TransactionSender", MinaTransactionSender) + .proveAndSendTransaction(tx, "included"); + + console.log("Deploy transaction included") + } + + async function mint() { + const tokenOwner = new FungibleToken(tokenOwnerKey.toPublicKey()) + await settlementModule.utils.fetchContractAccounts( + { + address: tokenOwner!.address, + tokenId: tokenOwner!.tokenId, + }, + { + address: tokenOwner!.address, + tokenId: tokenOwner!.deriveTokenId(), + } + ); + + const tx = await Mina.transaction( + { + sender: feepayerPrivateKey.toPublicKey(), + memo: "Mint custom token", + fee, + }, + async () => { + AccountUpdate.fundNewAccount(feepayerPrivateKey.toPublicKey(), 1); + + await tokenOwner!.mint( + receiverPublicKey, + UInt64.from(mintAmount) + ); + } + ); + settlementModule.utils.signTransaction( + tx, + [feepayerPrivateKey], + [tokenOwnerKey, tokenAdminKey] + ); + + await appChain.sequencer + .resolveOrFail("TransactionSender", MinaTransactionSender) + .proveAndSendTransaction(tx, "included"); + } + + async function deployBridge() { + const { settlement, dispatch } = settlementModule.getAddresses(); + await fetchAccount({ publicKey: settlementModule.config.feepayer.toPublicKey() }) + await fetchAccount({ publicKey: settlement }) + await fetchAccount({ publicKey: dispatch }) + + const tokenOwner = new FungibleToken(tokenOwnerKey.toPublicKey()) + await settlementModule.deployTokenBridge( + tokenOwner!, + tokenOwnerKey, + tokenBridgeKey, + {} + ); + console.log( + `Token bridge address: ${tokenBridgeKey.toPublicKey().toBase58()} @ ${tokenOwner!.deriveTokenId().toString()}` + ); + } + + await deployTokenContracts(); + await mint(); + await deployBridge(); + + console.log(`Deployed custom token with id ${new FungibleToken(tokenOwnerKey.toPublicKey())!.deriveTokenId()}`) + + Provable.log("Deployed and initialized settlement contracts", { + settlement: PrivateKey.fromBase58( + process.env.PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY! + ).toPublicKey(), + dispatcher: PrivateKey.fromBase58( + process.env.PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY! + ).toPublicKey(), + }); + + await appChain.close(); +} diff --git a/packages/chain/src/scripts/settlement/deploy.ts b/packages/chain/src/scripts/settlement/deploy.ts new file mode 100644 index 0000000..1ad6729 --- /dev/null +++ b/packages/chain/src/scripts/settlement/deploy.ts @@ -0,0 +1,88 @@ +import { Runtime } from "@proto-kit/module"; +import { Protocol } from "@proto-kit/protocol"; +import { AppChain } from "@proto-kit/sdk"; +import { + InMemoryDatabase, + Sequencer, + SequencerModule, + SettlementModule, +} from "@proto-kit/sequencer"; +import { PrivateKey, Provable } from "o1js"; +import "reflect-metadata"; +import { container } from "tsyringe"; +import runtime from "../../runtime"; +import * as protocol from "../../protocol"; +import { + scriptsSettlementSequencerModules, + scriptsSettlementSequencerModulesConfig, +} from "../../sequencer"; +import { PrismaRedisDatabase } from "@proto-kit/persistance"; + +export default async function () { + const appChain = AppChain.from({ + Runtime: Runtime.from({ + modules: runtime.modules, + }), + Protocol: Protocol.from({ + modules: { + ...protocol.modules, + ...protocol.settlementModules, + }, + }), + Sequencer: Sequencer.from({ + modules: { + Database: InMemoryDatabase, + ...scriptsSettlementSequencerModules, + }, + }), + modules: {}, + }); + + appChain.configure({ + Runtime: runtime.config, + Protocol: { + ...protocol.config, + ...protocol.settlementModulesConfig, + }, + Sequencer: { + ...scriptsSettlementSequencerModulesConfig, + Database: {}, + }, + }); + + const chainContainer = container.createChildContainer(); + console.log("start"); + const proofsEnabled = process.env.PROTOKIT_PROOFS_ENABLED === "true" + await appChain.start(proofsEnabled, chainContainer); + console.log("after start"); + + const settlementModule = appChain.sequencer.resolveOrFail( + "SettlementModule", + SettlementModule + ); + + console.log("Deploying settlement contracts..."); + + await settlementModule.deploy( + PrivateKey.fromBase58( + process.env.PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY! + ), + PrivateKey.fromBase58( + process.env.PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY! + ), + PrivateKey.fromBase58( + process.env.PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY! + ), + ); + + Provable.log("Deployed and initialized settlement contracts", { + settlement: PrivateKey.fromBase58( + process.env.PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY! + ).toPublicKey(), + dispatcher: PrivateKey.fromBase58( + process.env.PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY! + ).toPublicKey(), + }); + + await appChain.close(); +} diff --git a/packages/chain/src/sequencer/index.ts b/packages/chain/src/sequencer/index.ts index 900b228..1a13897 100644 --- a/packages/chain/src/sequencer/index.ts +++ b/packages/chain/src/sequencer/index.ts @@ -8,9 +8,20 @@ import { SequencerModulesRecord, TimedBlockTrigger, BlockProducerModule, + MinaBaseLayer, + SettlementModule, + ConstantFeeStrategy, + BatchProducerModule, + SequencerStartupModule, + LocalTaskQueue, + LocalTaskWorkerModule, + VanillaTaskWorkerModules, + SettlementProvingTask, } from "@proto-kit/sequencer"; import { ModulesConfig } from "@proto-kit/common"; import { IndexerNotifier } from "@proto-kit/indexer"; +import { PrivateKey, TokenId } from "o1js"; +import { FungibleToken } from "mina-fungible-token"; export const apiSequencerModules = { GraphqlServer, @@ -33,8 +44,22 @@ export const baseSequencerModules = { Mempool: PrivateMempool, BlockProducerModule: BlockProducerModule, BlockTrigger: TimedBlockTrigger, + SequencerStartupModule, } satisfies SequencerModulesRecord; +console.log("settlement interval", { + SETTLEMENT_ENABLED: process.env.PROTOKIT_SETTLEMENT_ENABLED, + SETTLEMENT_INTERVAL: process.env.PROTOKIT_SETTLEMENT_INTERVAL, +}); + +const customTokenConfig = process.env.PROTOKIT_CUSTOM_TOKEN_PRIVATE_KEY ? { + [TokenId.derive(PrivateKey.fromBase58(process.env.PROTOKIT_CUSTOM_TOKEN_PRIVATE_KEY).toPublicKey()).toString()]: { + bridgingContractPrivateKey: PrivateKey.fromBase58(process.env.PROTOKIT_CUSTOM_TOKEN_BRIDGE_PRIVATE_KEY!), + tokenOwner: FungibleToken, + tokenOwnerPrivateKey: process.env.PROTOKIT_CUSTOM_TOKEN_PRIVATE_KEY + } +} : {}; + export const baseSequencerModulesConfig = { ...apiSequencerModulesConfig, Mempool: {}, @@ -42,7 +67,17 @@ export const baseSequencerModulesConfig = { BlockTrigger: { blockInterval: Number(process.env.PROTOKIT_BLOCK_INTERVAL!), produceEmptyBlocks: true, + settlementInterval: Number(process.env.PROTOKIT_SETTLEMENT_INTERVAL!), + settlementTokenConfig: { + "1": { + bridgingContractPrivateKey: PrivateKey.fromBase58( + process.env.PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY! + ), + }, + ...customTokenConfig + }, }, + SequencerStartupModule: {}, } satisfies ModulesConfig; export const indexerSequencerModules = { @@ -52,3 +87,65 @@ export const indexerSequencerModules = { export const indexerSequencerModulesConfig = { IndexerNotifier: {}, } satisfies ModulesConfig; + +const taskWorkerModule = LocalTaskWorkerModule.from({ + ...VanillaTaskWorkerModules.withoutSettlement(), + SettlementProvingTask, +}); + +export const baseSettlementSequencerModules = { + BaseLayer: MinaBaseLayer, + FeeStrategy: ConstantFeeStrategy, + BlockProducerModule, + BatchProducerModule, + SettlementModule: SettlementModule, +}; + +export const scriptsSettlementSequencerModules = { + ...baseSettlementSequencerModules, + Mempool: PrivateMempool, + TaskQueue: LocalTaskQueue, + + LocalTaskWorkerModule: taskWorkerModule, + SequencerStartupModule, +} satisfies SequencerModulesRecord; + +export const baseSettlementSequencerModulesConfig = { + BaseLayer: { + network: { + type: "lightnet", + graphql: `${process.env.MINA_NODE_GRAPHQL_HOST!}:${process.env.MINA_NODE_GRAPHQL_PORT!}/graphql`, + archive: `${process.env.MINA_ARCHIVE_GRAPHQL_HOST!}:${process.env.MINA_ARCHIVE_GRAPHQL_PORT!}`, + accountManager: `${process.env.MINA_ACCOUNT_MANAGER_HOST!}:${process.env.MINA_ACCOUNT_MANAGER_PORT!}`, + }, + }, + SettlementModule: { + feepayer: PrivateKey.fromBase58( + process.env.PROTOKIT_SEQUENCER_PRIVATE_KEY! + ), + keys: { + settlement: PrivateKey.fromBase58( + process.env.PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY! + ), + dispatch: PrivateKey.fromBase58( + process.env.PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY! + ), + minaBridge: PrivateKey.fromBase58( + process.env.PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY! + ), + }, + }, + FeeStrategy: {}, + BlockProducerModule: {}, + BatchProducerModule: {}, +} satisfies ModulesConfig; + +export const scriptsSettlementSequencerModulesConfig = { + ...baseSettlementSequencerModulesConfig, + SequencerStartupModule: {}, + TaskQueue: { + simulatedDuration: 0, + }, + Mempool: {}, + LocalTaskWorkerModule: VanillaTaskWorkerModules.defaultConfig(), +} satisfies ModulesConfig; diff --git a/packages/chain/src/sequencer/worker/index.ts b/packages/chain/src/sequencer/worker/index.ts new file mode 100644 index 0000000..d66305f --- /dev/null +++ b/packages/chain/src/sequencer/worker/index.ts @@ -0,0 +1,32 @@ +import { ModulesConfig } from "@proto-kit/common"; +import { BullQueue } from "@proto-kit/deployment"; +import { + LocalTaskWorkerModule, + TaskWorkerModulesRecord, + VanillaTaskWorkerModules, +} from "@proto-kit/sequencer"; + +export const taskModules = { + ...VanillaTaskWorkerModules.allTasks(), +} satisfies TaskWorkerModulesRecord; + +export const taskModulesConfig = { + ...VanillaTaskWorkerModules.defaultConfig(), +} satisfies ModulesConfig; + +export const workerModules = { + TaskQueue: BullQueue, + LocalTaskWorkerModule: LocalTaskWorkerModule.from(taskModules), +}; + +export const workerModulesConfig = { + TaskQueue: { + redis: { + host: process.env.REDIS_HOST!, + port: Number(process.env.REDIS_PORT)!, + password: process.env.REDIS_PASSWORD!, + db: 1, + }, + }, + LocalTaskWorkerModule: taskModulesConfig, +} satisfies ModulesConfig; diff --git a/packages/chain/src/start.ts b/packages/chain/src/start.ts index 0fbc94d..ba8a632 100644 --- a/packages/chain/src/start.ts +++ b/packages/chain/src/start.ts @@ -8,9 +8,12 @@ export interface Arguments { component: string; pruneOnStartup: boolean; logLevel: LogLevelDesc; + proofsEnabled: boolean; } -export type StartableFactory = (args: Arguments) => Promise; +export type StartableFactory = (args: Arguments) => Promise<{ + start(proofsEnabled: boolean): Promise +}>; yargs(hideBin(process.argv)) .command( @@ -30,6 +33,10 @@ yargs(hideBin(process.argv)) .option("logLevel", { type: "string", default: "info", + }) + .option("proofsEnabled", { + type: "boolean", + default: false, }); }, async (args) => { @@ -41,7 +48,7 @@ yargs(hideBin(process.argv)) const startableFactory: StartableFactory = (await import(path)).default; const startable = await startableFactory(args); - await startable.start(); + await startable.start(args.proofsEnabled); } ) .parse(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 17692d8..617df72 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,35 +43,35 @@ importers: specifier: ^3.3.2 version: 3.9.0(react-hook-form@7.53.0(react@18.3.1)) '@proto-kit/api': - specifier: '*' - version: 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) + specifier: ../../../framework/packages/api + version: link:../../../framework/packages/api '@proto-kit/common': - specifier: '*' - version: 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/common + version: link:../../../framework/packages/common '@proto-kit/deployment': - specifier: '*' - version: 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/persistance@0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm))(@proto-kit/sdk@0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby))(@proto-kit/sequencer@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(bullmq@3.15.8)(o1js@1.6.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/deployment + version: link:../../../framework/packages/deployment '@proto-kit/indexer': - specifier: '*' - version: 0.1.1-develop.1088(hocwyjk2rt53lj4ewlpy6renly) + specifier: ../../../framework/packages/indexer + version: link:../../../framework/packages/indexer '@proto-kit/library': - specifier: '*' - version: 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) + specifier: ../../../framework/packages/library + version: link:../../../framework/packages/library '@proto-kit/module': - specifier: '*' - version: 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/module + version: link:../../../framework/packages/module '@proto-kit/persistance': - specifier: '*' - version: 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) + specifier: ../../../framework/packages/persistance + version: link:../../../framework/packages/persistance '@proto-kit/protocol': - specifier: '*' - version: 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/protocol + version: link:../../../framework/packages/protocol '@proto-kit/sdk': - specifier: '*' - version: 0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby) + specifier: ../../../framework/packages/sdk + version: link:../../../framework/packages/sdk '@proto-kit/sequencer': - specifier: '*' - version: 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/sequencer + version: link:../../../framework/packages/sequencer '@radix-ui/react-label': specifier: ^2.0.2 version: 2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -115,8 +115,8 @@ importers: specifier: 14.0.1 version: 14.0.1(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) o1js: - specifier: 1.6.0 - version: 1.6.0 + specifier: ../../../framework/node_modules/o1js + version: link:../../../framework/node_modules/o1js react: specifier: ^18 version: 18.3.1 @@ -139,8 +139,8 @@ importers: specifier: ^1.0.6 version: 1.0.6 tsyringe: - specifier: ^4.7.0 - version: 4.8.0 + specifier: ../../../framework/node_modules/tsyringe + version: link:../../../framework/node_modules/tsyringe zod: specifier: ^3.22.4 version: 3.23.8 @@ -188,53 +188,62 @@ importers: packages/chain: dependencies: '@proto-kit/api': - specifier: '*' - version: 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) + specifier: ../../../framework/packages/api + version: link:../../../framework/packages/api '@proto-kit/common': - specifier: '*' - version: 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/common + version: link:../../../framework/packages/common '@proto-kit/deployment': - specifier: '*' - version: 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/persistance@0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm))(@proto-kit/sdk@0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby))(@proto-kit/sequencer@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(bullmq@3.15.8)(o1js@1.6.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/deployment + version: link:../../../framework/packages/deployment '@proto-kit/indexer': - specifier: '*' - version: 0.1.1-develop.1088(74ec4zaiazx4kzm54ghtfrdgfu) + specifier: ../../../framework/packages/indexer + version: link:../../../framework/packages/indexer '@proto-kit/library': - specifier: '*' - version: 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) + specifier: ../../../framework/packages/library + version: link:../../../framework/packages/library '@proto-kit/module': - specifier: '*' - version: 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/module + version: link:../../../framework/packages/module '@proto-kit/persistance': - specifier: '*' - version: 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) + specifier: ../../../framework/packages/persistance + version: link:../../../framework/packages/persistance '@proto-kit/processor': - specifier: '*' - version: 0.1.1-develop.1088(ln4evwhsdfdpimgiv3gq4x5og4) + specifier: ../../../framework/packages/processor + version: link:../../../framework/packages/processor '@proto-kit/protocol': - specifier: '*' - version: 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/protocol + version: link:../../../framework/packages/protocol '@proto-kit/sdk': - specifier: '*' - version: 0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby) + specifier: ../../../framework/packages/sdk + version: link:../../../framework/packages/sdk '@proto-kit/sequencer': - specifier: '*' - version: 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) + specifier: ../../../framework/packages/sequencer + version: link:../../../framework/packages/sequencer graphql-fields: specifier: ^2.0.3 version: 2.0.3 graphql-scalars: specifier: ^1.22.4 version: 1.23.0(graphql@16.9.0) + mina-fungible-token: + specifier: 1.0.0 + version: 1.0.0(o1js@framework+node_modules+o1js) + mina-lightweight-explorer: + specifier: github:o1-labs/mina-lightweight-explorer + version: https://codeload.github.com/o1-labs/mina-lightweight-explorer/tar.gz/b921393d5091035a913d446e38dfdeb29c06cc52 o1js: - specifier: 1.6.0 - version: 1.6.0 + specifier: ../../../framework/node_modules/o1js + version: link:../../../framework/node_modules/o1js reflect-metadata: specifier: ^0.1.13 version: 0.1.14 tsyringe: - specifier: ^4.7.0 - version: 4.8.0 + specifier: ../../../framework/node_modules/tsyringe + version: link:../../../framework/node_modules/tsyringe + type-graphql: + specifier: 2.0.0-rc.2 + version: 2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0) devDependencies: '@jest/globals': specifier: ^29.6.1 @@ -343,18 +352,6 @@ importers: packages: - '@0no-co/graphql.web@1.0.8': - resolution: {integrity: sha512-8BG6woLtDMvXB9Ajb/uE+Zr/U7y4qJ3upXi0JQHZmsKUJa7HjF/gFvmL2f3/mSmfZoQGRr9VoY97LCX2uaFMzA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - graphql: - optional: true - - '@alcalzone/ansi-tokenize@0.1.3': - resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} - engines: {node: '>=14.13.1'} - '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -553,21 +550,6 @@ packages: '@emotion/hash@0.8.0': resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} - '@envelop/core@5.0.2': - resolution: {integrity: sha512-tVL6OrMe6UjqLosiE+EH9uxh2TQC0469GwF4tE014ugRaDDKKVWwFwZe0TBMlcyHKh5MD4ZxktWo/1hqUxIuhw==} - engines: {node: '>=18.0.0'} - - '@envelop/extended-validation@4.1.0': - resolution: {integrity: sha512-S90LQanW+xg3Lkp2sNiHa2KJnXXpKLucKys05Wk5zpiV0vL0SDX+/cuV+tnDhShWJucunAGi34n8xFCXsUUOkA==} - engines: {node: '>=18.0.0'} - peerDependencies: - '@envelop/core': ^5.0.2 - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@envelop/types@5.0.0': - resolution: {integrity: sha512-IPjmgSc4KpQRlO4qbEDnBEixvtb06WDmjKfi/7fkZaryh5HuOmTtixe1EupQI5XfXO8joc3d27uUZ0QdC++euA==} - engines: {node: '>=18.0.0'} - '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -707,69 +689,6 @@ packages: '@floating-ui/utils@0.2.7': resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} - '@graphql-tools/batch-delegate@9.0.3': - resolution: {integrity: sha512-wYYbDLQeXU+lEUQJDjylN/e1V3OTVkeJSZYgroDniBfg3etDuOJruAIWZ6S6skKB1PZBy1emEbs6HjrziHeX0A==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/batch-execute@9.0.4': - resolution: {integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/delegate@10.0.21': - resolution: {integrity: sha512-UytyYVvDfLQbCYG1aQo8Vc67c1WhEjzW9ytYKEEqMJSdlwfMCujHmCz7EyH5DNjTAKapDHuQcN5VivKGap/Beg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/executor@1.3.1': - resolution: {integrity: sha512-tgJDdGf9SCAm64ofEMZdv925u6/J+eTmv36TGNLxgP2DpCJsZ6gnJ4A+0D28EazDXqJIvMiPd+3d+o3cCRCAnQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/merge@9.0.7': - resolution: {integrity: sha512-lbTrIuXIbUSmSumHkPRY1QX0Z8JEtmRhnIrkH7vkfeEmf0kNn/nCWvJwqokm5U7L+a+DA1wlRM4slIlbfXjJBA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/schema@10.0.6': - resolution: {integrity: sha512-EIJgPRGzpvDFEjVp+RF1zNNYIC36BYuIeZ514jFoJnI6IdxyVyIRDLx/ykgMdaa1pKQerpfdqDnsF4JnZoDHSQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/stitch@9.2.10': - resolution: {integrity: sha512-p4BOr6YTYZ9xjnHtrd6AsNR9Y2XtRSroSEEdOwv3KTHQLFhOD9wiLxb+UlKiHYm2jtTvL4wl6+TWV9dKCeNQ3g==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/utils@10.5.4': - resolution: {integrity: sha512-XHnyCWSlg1ccsD8s0y6ugo5GZ5TpkTiFVNPSYms5G0s6Z/xTuSmiLBfeqgkfaCwLmLaQnRCmNDL2JRnqc2R5bQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/wrap@10.0.5': - resolution: {integrity: sha512-Cbr5aYjr3HkwdPvetZp1cpDWTGdD1Owgsb3z/ClzhmrboiK86EnQDxDvOJiQkDCPWE9lNBwj8Y4HfxroY0D9DQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-typed-document-node/core@3.2.0': - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-yoga/logger@2.0.0': - resolution: {integrity: sha512-Mg8psdkAp+YTG1OGmvU+xa6xpsAmSir0hhr3yFYPyLNwzUj95DdIwsMpKadDj9xDpYgJcH3Hp/4JMal9DhQimA==} - engines: {node: '>=18.0.0'} - '@graphql-yoga/subscription@5.0.1': resolution: {integrity: sha512-1wCB1DfAnaLzS+IdoOzELGGnx1ODEg9nzQXFh4u2j02vAnne6d+v4A7HIH9EqzVdPLoAaMKXCZUUdKs+j3z1fg==} engines: {node: '>=18.0.0'} @@ -796,15 +715,6 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead - '@inkjs/ui@1.0.0': - resolution: {integrity: sha512-JAVX5ntXG3QokXsGelobIc1ORkTQiJU4XiemUoMUzVaZkBpwzOD7NkMm0qzKvysDyrE1nD6keFHRhwsRvhVamw==} - engines: {node: '>=14.16'} - peerDependencies: - ink: ^4.2.0 - - '@ioredis/commands@1.2.0': - resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -916,9 +826,6 @@ packages: resolution: {integrity: sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - '@kamilkisiela/fast-url-parser@1.1.4': - resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} - '@metamask/eth-json-rpc-provider@1.0.1': resolution: {integrity: sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==} engines: {node: '>=14.0.0'} @@ -960,36 +867,6 @@ packages: '@microsoft/tsdoc@0.14.2': resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': - resolution: {integrity: sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==} - cpu: [arm64] - os: [darwin] - - '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3': - resolution: {integrity: sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==} - cpu: [x64] - os: [darwin] - - '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3': - resolution: {integrity: sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==} - cpu: [arm64] - os: [linux] - - '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3': - resolution: {integrity: sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==} - cpu: [arm] - os: [linux] - - '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3': - resolution: {integrity: sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==} - cpu: [x64] - os: [linux] - - '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': - resolution: {integrity: sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==} - cpu: [x64] - os: [win32] - '@next/env@14.0.1': resolution: {integrity: sha512-Ms8ZswqY65/YfcjrlcIwMPD7Rg/dVjdLapMcSHG26W6O67EJDF435ShW4H4LXi1xKO1oRc97tLXUpx8jpLe86A==} @@ -1100,15 +977,6 @@ packages: prisma: optional: true - '@prisma/client@5.20.0': - resolution: {integrity: sha512-CLv55ZuMuUawMsxoqxGtLT3bEZoa2W8L3Qnp6rDIFWy+ZBrUcOFKdoeGPSnbBqxc3SkdxJrF+D1veN/WNynZYA==} - engines: {node: '>=16.13'} - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - '@prisma/debug@5.18.0': resolution: {integrity: sha512-f+ZvpTLidSo3LMJxQPVgAxdAjzv5OpzAo/eF8qZqbwvgi2F5cTOI9XCpdRzJYA0iGfajjwjOKKrVq64vkxEfUw==} @@ -1151,122 +1019,6 @@ packages: '@prisma/schema-files-loader@5.19.1': resolution: {integrity: sha512-YYB6Mm7E2YFZAp8GsTCWdqAoehRhiDWQ+M4EwxXwCNfQnciGywGpjDOghJo0ErbGET1v/u0Xszn727cZvdlbPQ==} - '@proto-kit/api@0.1.1-develop.1088': - resolution: {integrity: sha512-gKRq8+wR1DTEnc2sjCICwo4cc39ZKW2ZxRu6MPd3CxGPGptJ7kh6x99TwxxIUJPSN8gdNUOqB2i40aHnFz2AOw==} - peerDependencies: - '@proto-kit/common': '*' - '@proto-kit/module': '*' - '@proto-kit/protocol': '*' - '@proto-kit/sequencer': '*' - o1js: ^1.1.0 - tsyringe: ^4.7.0 - - '@proto-kit/common@0.1.1-develop.1088': - resolution: {integrity: sha512-vQJpDmsA2MwI7JjAmOgdAorIxxr9o9KnqYHg+5gjl/0v0B48/Q7SU4bNUnLvOxt+QymgUNqOlZgciPBuCmElEw==} - peerDependencies: - o1js: ^1.1.0 - tsyringe: ^4.7.0 - - '@proto-kit/deployment@0.1.1-develop.1088': - resolution: {integrity: sha512-ZBEjWpDDqJMZ1rlyEKd1gb9fDT+YJ+3wyfwwaq972V8kguMJVvAHvOePzvo6/FBCeLRGHhykukTyvkoBLrYa9g==} - peerDependencies: - '@proto-kit/common': '*' - '@proto-kit/persistance': '*' - '@proto-kit/sdk': '*' - '@proto-kit/sequencer': '*' - bullmq: ^3.15.8 - o1js: ^1.1.0 - tsyringe: ^4.7.0 - - '@proto-kit/indexer@0.1.1-develop.1088': - resolution: {integrity: sha512-aGpWPzupHgcT1ED692pZZTewMpAqNia8Dp3ZbOTtf3V1wa0TRL+kaVmSKPKUzmdLpCuXhUx3xFEVI5gXXGpc6g==} - peerDependencies: - '@proto-kit/api': '*' - '@proto-kit/common': '*' - '@proto-kit/library': '*' - '@proto-kit/module': '*' - '@proto-kit/persistance': '*' - '@proto-kit/protocol': '*' - '@proto-kit/sdk': '*' - '@proto-kit/sequencer': '*' - koa: ^2.14.2 - o1js: ^1.1.0 - tsyringe: ^4.7.0 - type-graphql: 2.0.0-rc.2 - typegraphql-prisma: '0.28' - - '@proto-kit/library@0.1.1-develop.1088': - resolution: {integrity: sha512-dfgNhQ4uMbcqny8TN8iR+ZwfpJQm1A1ZXPfK8S/v4WLT+r0ppuLA7HOg6a8oyzlYNrESuMfDslsE/SDkoKroig==} - peerDependencies: - '@proto-kit/common': '*' - '@proto-kit/module': '*' - '@proto-kit/protocol': '*' - '@proto-kit/sequencer': '*' - o1js: ^1.1.0 - tsyringe: ^4.7.0 - - '@proto-kit/module@0.1.1-develop.1088': - resolution: {integrity: sha512-9K32oGNKmGsnNYkNt3EHxvKK0bKMGLdz6YNjrKcksMT6hwC0DL8X/oz5CJ3FxmEx3q4haF7SSqmCE/Vr6i88Mw==} - peerDependencies: - '@proto-kit/common': '*' - '@proto-kit/protocol': '*' - o1js: ^1.1.0 - tsyringe: ^4.7.0 - - '@proto-kit/persistance@0.1.1-develop.1088': - resolution: {integrity: sha512-otXJuhcHe+BLpZtqWN/MrbFFxpvDWocY529O9gePUIbuzMcECG+Q73SlPGoTk9y72bOI/yr69HLAam45b/I8mQ==} - peerDependencies: - '@proto-kit/common': '*' - '@proto-kit/module': '*' - '@proto-kit/protocol': '*' - '@proto-kit/sequencer': '*' - o1js: ^1.1.0 - tsyringe: ^4.7.0 - - '@proto-kit/processor@0.1.1-develop.1088': - resolution: {integrity: sha512-sw73nJgZKhXnWHNGlewqPJwCsw0xAXD5CkuGqA9Kg52pYpyAvopnHES6GflMAAsLeBWQzwM6SSQU3nCDBdkG7g==} - peerDependencies: - '@proto-kit/api': '*' - '@proto-kit/common': '*' - '@proto-kit/library': '*' - '@proto-kit/module': '*' - '@proto-kit/persistance': '*' - '@proto-kit/protocol': '*' - '@proto-kit/sdk': '*' - '@proto-kit/sequencer': '*' - o1js: ^1.1.0 - tsyringe: ^4.7.0 - type-graphql: 2.0.0-rc.2 - typegraphql-prisma: ^0.28 - - '@proto-kit/protocol@0.1.1-develop.1088': - resolution: {integrity: sha512-mZldR8ZykbzttwS4+oEGgZU9gfOXLa1gowYpgYlgQnBu1brphENIP6n0nrtt7Gh88436igf6Nb+DvqlKXc7mmQ==} - peerDependencies: - '@proto-kit/common': '*' - o1js: ^1.1.0 - ts-pattern: ^4.3.0 - tsyringe: ^4.7.0 - - '@proto-kit/sdk@0.1.1-develop.1088': - resolution: {integrity: sha512-ZoENXMAPvvXqohATbdDZBEmiJKfyQWo02kK1wpqdy8y8f0oBf+VeDs/uS0XH7fCDo/eVKbI41wRk5aGrKfvxFw==} - peerDependencies: - '@proto-kit/common': '*' - '@proto-kit/library': '*' - '@proto-kit/module': '*' - '@proto-kit/protocol': '*' - '@proto-kit/sequencer': '*' - o1js: ^1.1.0 - tsyringe: ^4.7.0 - - '@proto-kit/sequencer@0.1.1-develop.1088': - resolution: {integrity: sha512-1JbKUvTooEXmj2PIVXV3DKnBJIHs2zfSFueWvUqZlojqr1iKTu6AqcqxHZWThAAQ8AvSV0gnNsV+65teSSLDiA==} - peerDependencies: - '@proto-kit/common': '*' - '@proto-kit/module': '*' - '@proto-kit/protocol': '*' - o1js: ^1.1.0 - tsyringe: ^4.7.0 - '@radix-ui/primitive@1.1.0': resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} @@ -1563,35 +1315,6 @@ packages: react-dom: '>=17' wagmi: ^0.4.2 - '@redis/bloom@1.2.0': - resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==} - peerDependencies: - '@redis/client': ^1.0.0 - - '@redis/client@1.6.0': - resolution: {integrity: sha512-aR0uffYI700OEEH4gYnitAnv3vzVGXCFvYfdpu/CJKvk4pHfLPEy/JSZyrpQ+15WhXe1yJRXLtfQ84s4mEXnPg==} - engines: {node: '>=14'} - - '@redis/graph@1.1.1': - resolution: {integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==} - peerDependencies: - '@redis/client': ^1.0.0 - - '@redis/json@1.0.7': - resolution: {integrity: sha512-6UyXfjVaTBTJtKNG4/9Z8PSpKE6XgSyEb8iwaqDcy+uKrd/DGYHTWkUdnQDyzm727V7p21WUMhsqz5oy65kPcQ==} - peerDependencies: - '@redis/client': ^1.0.0 - - '@redis/search@1.2.0': - resolution: {integrity: sha512-tYoDBbtqOVigEDMAcTGsRlMycIIjwMCgD8eR2t0NANeQmgK/lvxNAvYyb6bZDD4frHRhIHkJu2TBRvB0ERkOmw==} - peerDependencies: - '@redis/client': ^1.0.0 - - '@redis/time-series@1.1.0': - resolution: {integrity: sha512-c1Q99M5ljsIuc4YdaCwfUEXsofakb9c8+Zse2qxTadu8TalLXuAESzLvFAvNVbkmSlvlzIQOLpBCmWI9wTOt+g==} - peerDependencies: - '@redis/client': ^1.0.0 - '@repeaterjs/repeater@3.0.6': resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} @@ -1668,9 +1391,6 @@ packages: '@types/graphql-fields@1.3.9': resolution: {integrity: sha512-HynTnp1HrE58uYcFcAK5UOfdrHSOIHDLCjvMU4yCmQLMj21uo7ZiZqnDGrD27pgCgHH5a1e8GYNK98Ndmma7ig==} - '@types/humanize-duration@3.27.4': - resolution: {integrity: sha512-yaf7kan2Sq0goxpbcwTQ+8E9RP6HutFBPv74T/IA/ojcHKhuKVlk2YFYyHhWZeLvZPzzLE3aatuQB4h0iqyyUA==} - '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -1820,9 +1540,6 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@urql/core@4.3.0': - resolution: {integrity: sha512-wT+FeL8DG4x5o6RfHEnONNFVDM3616ouzATMYUClB6CB+iIu2mwfBKd7xSUxYOZmwtxna5/hDRQdMl3nbQZlnw==} - '@vanilla-extract/css@1.7.0': resolution: {integrity: sha512-2Abpr5aJskwKS+waMWxWnTBqq/rj4J93KtGteW0VSORMUsijrupwjOXECd7Llh+nSFfx/Y6usuexF5/ffyDF8A==} @@ -1945,22 +1662,6 @@ packages: resolution: {integrity: sha512-ApcWxkrs1WmEMS2CaLLFUEem/49erT3sxIVjpzU5f6zmVcnijtDSrhoK2zVobOIikZJdH63jdAXOrvjf6eOUNQ==} engines: {node: '>=18.0.0'} - '@whatwg-node/fetch@0.9.21': - resolution: {integrity: sha512-Wt0jPb+04JjobK0pAAN7mEHxVHcGA9HoP3OyCsZtyAecNQeADXCZ1MihFwVwjsgaRYuGVmNlsCmLxlG6mor8Gw==} - engines: {node: '>=18.0.0'} - - '@whatwg-node/node-fetch@0.5.26': - resolution: {integrity: sha512-4jXDeZ4IH4bylZ6wu14VEx0aDXXhrN4TC279v9rPmn08g4EYekcYf8wdcOOnS9STjDkb6x77/6xBUTqxGgjr8g==} - engines: {node: '>=18.0.0'} - - '@whatwg-node/server@0.9.49': - resolution: {integrity: sha512-3KzLXw80gWnTsQ746G/LFdCThTPfDodjQs4PnmoNuPa6XUOl4HWq8TlJpxtmnEEB+y+UYLal+3VQ68dtYlbUDQ==} - engines: {node: '>=18.0.0'} - - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1988,10 +1689,6 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} - ansi-regex@4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} @@ -2093,10 +1790,6 @@ packages: async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - auto-bind@5.0.1: - resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - autoprefixer@10.4.20: resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} @@ -2157,16 +1850,10 @@ packages: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} - bigint-isqrt@0.3.2: - resolution: {integrity: sha512-hfd7Ka2XKmBIAQWWDrDHTCkGsSfZMFjgcB3eCnDtZHsDiszSk+CQvnq16nGYIKuDMBvnSAvjnihoumJDpMnv7A==} - binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - blakejs@1.2.1: - resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} - bn.js@4.11.8: resolution: {integrity: sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==} @@ -2245,21 +1932,10 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - bullmq@3.15.8: - resolution: {integrity: sha512-k3uimHGhl5svqD7SEak+iI6c5DxeLOaOXzCufI9Ic0ST3nJr69v71TGR4cXCTXdgCff3tLec5HgoBnfyWjgn5A==} - busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} - cache-content-type@1.0.1: - resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} - engines: {node: '>= 6.0.0'} - - cachedir@2.4.0: - resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} - engines: {node: '>=6'} - call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -2296,10 +1972,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -2328,22 +2000,6 @@ packages: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} - cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - - cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - - cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} @@ -2373,10 +2029,6 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - cluster-key-slot@1.1.2: - resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} - engines: {node: '>=0.10.0'} - co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -2384,10 +2036,6 @@ packages: code-block-writer@13.0.2: resolution: {integrity: sha512-XfXzAGiStXSmCIwrkdfvc7FS5Dtj8yelCtyOf2p2skCAfvLd6zu0rGzuS9NSCO3bq1JKpFZ7tbKdKlcd5occQA==} - code-excerpt@4.0.0: - resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - collect-v8-coverage@1.0.2: resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} @@ -2404,38 +2052,16 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - comlink@4.4.1: - resolution: {integrity: sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q==} - commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - compute-gcd@1.2.1: - resolution: {integrity: sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - convert-to-spaces@2.0.1: - resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - cookies@0.9.1: - resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} - engines: {node: '>= 0.8'} - copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} @@ -2464,17 +2090,9 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - cron-parser@4.9.0: - resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} - engines: {node: '>=12.0.0'} - cross-fetch@3.1.8: resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} - cross-inspect@1.0.1: - resolution: {integrity: sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==} - engines: {node: '>=16.0.0'} - cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -2512,9 +2130,6 @@ packages: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} engines: {node: '>= 0.4'} - dataloader@2.2.2: - resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} - debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -2548,9 +2163,6 @@ packages: babel-plugin-macros: optional: true - deep-equal@1.0.1: - resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} - deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} @@ -2573,28 +2185,9 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - - denque@2.1.0: - resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} - engines: {node: '>=0.10'} - - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - des.js@1.1.0: resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - detect-browser@5.2.0: resolution: {integrity: sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA==} @@ -2602,10 +2195,6 @@ packages: resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} engines: {node: '>=12.20'} - detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} - engines: {node: '>=8'} - detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -2668,16 +2257,9 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - dset@3.1.3: - resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} - engines: {node: '>=4'} - eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - eip1193-provider@1.0.1: resolution: {integrity: sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. @@ -2712,10 +2294,6 @@ packages: encode-utf8@1.0.3: resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - enhanced-resolve@5.17.1: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} @@ -2761,9 +2339,6 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -2776,10 +2351,6 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - eslint-config-next@14.0.1: resolution: {integrity: sha512-QfIFK2WD39H4WOespjgf6PLv9Bpsd7KGGelCtmq4l67nGvnlsGpuvj0hIT+aIy6p5gKH+lAChYILsyDlxP52yg==} peerDependencies: @@ -3014,9 +2585,6 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -3030,9 +2598,6 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} @@ -3042,15 +2607,6 @@ packages: fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - figlet@1.7.0: - resolution: {integrity: sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg==} - engines: {node: '>= 0.4.0'} - hasBin: true - - figures@5.0.0: - resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} - engines: {node: '>=14'} - file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -3100,10 +2656,6 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} @@ -3126,10 +2678,6 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - generic-pool@3.9.0: - resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} - engines: {node: '>= 4'} - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -3191,11 +2739,6 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -3239,12 +2782,6 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - graphql-yoga@5.7.0: - resolution: {integrity: sha512-QyGVvFAvGhMrzjJvhjsxsyoE+e4lNrj5f5qOsRYJuWIjyw7tHfbBvybZIwzNOGY0aB5sgA8BlVvu5hxjdKJ5tQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - graphql: ^15.2.0 || ^16.0.0 - graphql@16.9.0: resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} @@ -3299,21 +2836,10 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - http-assert@1.5.0: - resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} - engines: {node: '>= 0.8'} - - http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} - human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - humanize-duration@3.32.1: - resolution: {integrity: sha512-inh5wue5XdfObhu/IGEMiA1nUXigSGcaKNemcbLRKa7jXYGDZXr3LoT9pTIzq2hPEbld7w/qv9h+ikWGz8fL1g==} - ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -3344,10 +2870,6 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -3355,25 +2877,6 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ink-ascii@0.0.4: - resolution: {integrity: sha512-x6mZTHevoiAHgxrhxMpSc2p0lomq34uyGjwEFkpku7Rhxg30/MBnAi9gCHR17SMmaqRDzQRp1MS9s8Qvd4RHsA==} - peerDependencies: - ink: '>=2.5.0' - react: '>=16.11.0' - - ink@4.4.1: - resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} - engines: {node: '>=14.16'} - peerDependencies: - '@types/react': '>=18.0.0' - react: '>=18.0.0' - react-devtools-core: ^4.19.1 - peerDependenciesMeta: - '@types/react': - optional: true - react-devtools-core: - optional: true - internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} @@ -3381,10 +2884,6 @@ packages: invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - ioredis@5.4.1: - resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==} - engines: {node: '>=12.22.0'} - is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -3422,10 +2921,6 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - is-core-module@2.15.1: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} @@ -3453,10 +2948,6 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} @@ -3469,9 +2960,6 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-lower-case@2.0.2: - resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} - is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -3531,13 +3019,6 @@ packages: is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - - is-upper-case@2.0.2: - resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} - is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -3558,9 +3039,6 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isomorphic-fetch@3.0.0: - resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} - istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -3665,19 +3143,6 @@ packages: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-mock-extended@3.0.7: - resolution: {integrity: sha512-7lsKdLFcW9B9l5NzZ66S/yTQ9k8rFtnwYdCNuRU/81fqDWicNDVhitTSPnrGmNeNm0xyw0JHexEOShrIKRCIRQ==} - peerDependencies: - jest: ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0 - typescript: ^3.0.0 || ^4.0.0 || ^5.0.0 - - jest-mock-extended@4.0.0-beta1: - resolution: {integrity: sha512-MYcI0wQu3ceNhqKoqAJOdEfsVMamAFqDTjoLN5Y45PAG3iIm4WGnhOu0wpMjlWCexVPO71PMoNir9QrGXrnIlw==} - peerDependencies: - '@jest/globals': ^28.0.0 || ^29.0.0 - jest: ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0 - typescript: ^3.0.0 || ^4.0.0 || ^5.0.0 - jest-mock@29.7.0: resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3748,9 +3213,6 @@ packages: jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - js-sha256@0.9.0: - resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} - js-sha3@0.8.0: resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} @@ -3818,10 +3280,6 @@ packages: resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} engines: {node: '>=10.0.0'} - keygrip@1.1.0: - resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} - engines: {node: '>= 0.6'} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -3832,17 +3290,6 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - koa-compose@4.1.0: - resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} - - koa-convert@2.0.0: - resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} - engines: {node: '>= 10'} - - koa@2.15.3: - resolution: {integrity: sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==} - engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} - language-subtag-registry@0.3.23: resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} @@ -3887,15 +3334,9 @@ packages: lodash.castarray@4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} - lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - lodash.isarguments@3.1.0: - resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} @@ -3927,10 +3368,6 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 - luxon@3.5.0: - resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==} - engines: {node: '>=12'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -3947,10 +3384,6 @@ packages: md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -3972,14 +3405,6 @@ packages: resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -3988,6 +3413,15 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + mina-fungible-token@1.0.0: + resolution: {integrity: sha512-2LfoBIuwQO5qk3H1JjRLKsCdZsSu+B/lannjMBdujdoHnoj6aWEcLQOY4jAz4BnhVCgAmJ/uUrTqVZ86J63iTg==} + peerDependencies: + o1js: ^1.6.0 + + mina-lightweight-explorer@https://codeload.github.com/o1-labs/mina-lightweight-explorer/tar.gz/b921393d5091035a913d446e38dfdeb29c06cc52: + resolution: {tarball: https://codeload.github.com/o1-labs/mina-lightweight-explorer/tar.gz/b921393d5091035a913d446e38dfdeb29c06cc52} + version: 0.0.0 + minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -4024,13 +3458,6 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msgpackr-extract@3.0.3: - resolution: {integrity: sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==} - hasBin: true - - msgpackr@1.11.0: - resolution: {integrity: sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==} - mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -4045,10 +3472,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - next-themes@0.2.1: resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} peerDependencies: @@ -4083,10 +3506,6 @@ packages: encoding: optional: true - node-gyp-build-optional-packages@5.2.2: - resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} - hasBin: true - node-gyp-build@4.8.2: resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true @@ -4126,11 +3545,6 @@ packages: resolution: {integrity: sha512-wAOd0moNX2kSA2FNvt8+7ORwYaJpQ1ZoWjUYdb1bBCxq4nkWuU0IiJa9VpVxrj5Ks+FGXQd62OC/Bjk0aSr+dg==} hasBin: true - o1js@1.6.0: - resolution: {integrity: sha512-5pHCM0qIHG+MhLlcRJZRK8YFC7MOCjlxwSYbmrLDKER267eUip7JRDtWATytIRxtCPqOBvqKeJb0hR/mvjWxqg==} - engines: {node: '>=18.14.0'} - hasBin: true - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -4174,10 +3588,6 @@ packages: oblivious-set@1.0.0: resolution: {integrity: sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==} - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -4185,9 +3595,6 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - only@0.0.2: - resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -4234,14 +3641,6 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - patch-console@2.0.0: - resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -4451,11 +3850,6 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - prisma-mock@0.10.3: - resolution: {integrity: sha512-VOAsIU/gtWDUOyY2POz9HhpMVNeXhVAJdVeLLQs99j1KXcdw8nys/e6K1mKeVvt/Pc3RgE8DeEdCNPMrQTFwVA==} - peerDependencies: - '@prisma/client': ^3.5.0 || ^4.7.0 || ^5.0.0 - prisma@5.18.0: resolution: {integrity: sha512-+TrSIxZsh64OPOmaSgVPH7ALL9dfU0jceYaMJXsNrTkFHO7/3RANi5K2ZiPB1De9+KDxCWn7jvRq8y8pvk+o9g==} engines: {node: '>=16.13'} @@ -4547,12 +3941,6 @@ packages: react-native: optional: true - react-reconciler@0.29.2: - resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} - engines: {node: '>=0.10.0'} - peerDependencies: - react: ^18.3.1 - react-remove-scroll-bar@2.3.6: resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} engines: {node: '>=10'} @@ -4609,17 +3997,6 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - redis-errors@1.2.0: - resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} - engines: {node: '>=4'} - - redis-parser@3.0.0: - resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} - engines: {node: '>=4'} - - redis@4.7.0: - resolution: {integrity: sha512-zvmkHEAdGMn+hMRXuMBtu4Vo5P6rHQjLoHftu+lBqq8ZTA3RCVC/WzD790bkKKiNFp7d5/9PcSD19fJyyRvOdQ==} - reflect-metadata@0.1.14: resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} @@ -4682,10 +4059,6 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true - restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -4752,9 +4125,6 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - sha.js@2.4.11: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true @@ -4797,14 +4167,6 @@ packages: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - - slice-ansi@6.0.0: - resolution: {integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==} - engines: {node: '>=14.16'} - sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} @@ -4846,13 +4208,6 @@ packages: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - standard-as-callback@2.1.0: - resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} @@ -5033,10 +4388,6 @@ packages: toggle-selection@1.0.6: resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - touch@3.1.1: resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} hasBin: true @@ -5053,14 +4404,6 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-essentials@10.0.2: - resolution: {integrity: sha512-Xwag0TULqriaugXqVdDiGZ5wuZpqABZlpwQ2Ho4GDyiu/R2Xjkp/9+zcFxL7uzeLl/QCPrflnvpVYyS3ouT7Zw==} - peerDependencies: - typescript: '>=4.5.0' - peerDependenciesMeta: - typescript: - optional: true - ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -5088,9 +4431,6 @@ packages: esbuild: optional: true - ts-mixer@6.0.4: - resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} - ts-morph@23.0.0: resolution: {integrity: sha512-FcvFx7a9E8TUe6T3ShihXJLiJOiqyafzFKUO4aqIHDUCIvADdGNShcbc2W5PMr3LerXRv7mafvFZ9lRENxJmug==} @@ -5108,9 +4448,6 @@ packages: '@swc/wasm': optional: true - ts-pattern@4.3.0: - resolution: {integrity: sha512-pefrkcd4lmIVR0LA49Imjf9DYLK8vtWhqBPA3Ya1ir8xCW0O2yjL9dsCVvI7pCodLC5q7smNpEtDR2yVulQxOg==} - tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -5120,20 +4457,12 @@ packages: tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - tsscmp@1.0.6: - resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} - engines: {node: '>=0.6.x'} - tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tsyringe@4.8.0: - resolution: {integrity: sha512-YB1FG+axdxADa3ncEtRnQCFq/M0lALGLxSZeVNbTU8NqhOVc51nnv2CISTcvc1kyv6EGPtXVr0v6lWeDxiijOA==} - engines: {node: '>= 6.0.0'} - turbo-darwin-64@2.1.2: resolution: {integrity: sha512-3TEBxHWh99h2yIzkuIigMEOXt/ItYQp0aPiJjPd1xN4oDcsKK5AxiFKPH9pdtfIBzYsY59kQhZiFj0ELnSP7Bw==} cpu: [x64] @@ -5176,10 +4505,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.12.0: - resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} - engines: {node: '>=10'} - type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -5207,10 +4532,6 @@ packages: class-validator: optional: true - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -5244,9 +4565,6 @@ packages: tslib: ^2.6.3 type-graphql: ^1.1.1 || >=1.2.0-rc || >=2.0.0-beta || >=2.0.0-rc - typescript-memoize@1.1.1: - resolution: {integrity: sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA==} - typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} @@ -5286,9 +4604,6 @@ packages: resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} engines: {node: '>= 0.4'} - urlpattern-polyfill@10.0.0: - resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} - use-callback-ref@1.3.2: resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} engines: {node: '>=10'} @@ -5334,33 +4649,10 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validate.io-array@1.0.6: - resolution: {integrity: sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==} - - validate.io-function@1.0.2: - resolution: {integrity: sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==} - - validate.io-integer-array@1.0.0: - resolution: {integrity: sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==} - - validate.io-integer@1.0.5: - resolution: {integrity: sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==} - - validate.io-number@1.0.3: - resolution: {integrity: sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==} - validator@13.12.0: resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} engines: {node: '>= 0.10'} - value-or-promise@1.0.12: - resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} - engines: {node: '>=12'} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - wagmi@0.4.12: resolution: {integrity: sha512-YfpRAJyGL9YvtecYDf6cUT6yaIBksHK9JZyq3WlVMUfeTleFmsqCiIaIaKhlPcE+NZxSsUHz1jbZw8KLWTcwvA==} peerDependencies: @@ -5377,9 +4669,6 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -5406,13 +4695,6 @@ packages: engines: {node: '>= 8'} hasBin: true - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - - wonka@6.3.4: - resolution: {integrity: sha512-CjpbqNtBGNAeyNS/9W6q3kSkKE52+FjIj7AkFlLr11s/VWGUu6a2CdYSdGxocIhIVjaW/zchesBQUKPVU69Cqg==} - word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -5476,18 +4758,6 @@ packages: utf-8-validate: optional: true - ws@8.18.0: - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -5502,9 +4772,6 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@2.5.1: resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} engines: {node: '>= 14'} @@ -5532,10 +4799,6 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - ylru@1.4.0: - resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} - engines: {node: '>= 4.0.0'} - yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} @@ -5544,9 +4807,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yoga-wasm-web@0.3.3: - resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} - zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} @@ -5567,15 +4827,6 @@ packages: snapshots: - '@0no-co/graphql.web@1.0.8(graphql@16.9.0)': - optionalDependencies: - graphql: 16.9.0 - - '@alcalzone/ansi-tokenize@0.1.3': - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - '@alloc/quick-lru@5.2.0': {} '@ampproject/remapping@2.3.0': @@ -5816,22 +5067,6 @@ snapshots: '@emotion/hash@0.8.0': {} - '@envelop/core@5.0.2': - dependencies: - '@envelop/types': 5.0.0 - tslib: 2.7.0 - - '@envelop/extended-validation@4.1.0(@envelop/core@5.0.2)(graphql@16.9.0)': - dependencies: - '@envelop/core': 5.0.2 - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - graphql: 16.9.0 - tslib: 2.7.0 - - '@envelop/types@5.0.0': - dependencies: - tslib: 2.7.0 - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': dependencies: eslint: 8.57.0 @@ -6147,95 +5382,6 @@ snapshots: '@floating-ui/utils@0.2.7': {} - '@graphql-tools/batch-delegate@9.0.3(graphql@16.9.0)': - dependencies: - '@graphql-tools/delegate': 10.0.21(graphql@16.9.0) - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - dataloader: 2.2.2 - graphql: 16.9.0 - tslib: 2.7.0 - value-or-promise: 1.0.12 - - '@graphql-tools/batch-execute@9.0.4(graphql@16.9.0)': - dependencies: - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - dataloader: 2.2.2 - graphql: 16.9.0 - tslib: 2.7.0 - value-or-promise: 1.0.12 - - '@graphql-tools/delegate@10.0.21(graphql@16.9.0)': - dependencies: - '@graphql-tools/batch-execute': 9.0.4(graphql@16.9.0) - '@graphql-tools/executor': 1.3.1(graphql@16.9.0) - '@graphql-tools/schema': 10.0.6(graphql@16.9.0) - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - '@repeaterjs/repeater': 3.0.6 - dataloader: 2.2.2 - graphql: 16.9.0 - tslib: 2.7.0 - - '@graphql-tools/executor@1.3.1(graphql@16.9.0)': - dependencies: - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) - '@repeaterjs/repeater': 3.0.6 - graphql: 16.9.0 - tslib: 2.7.0 - value-or-promise: 1.0.12 - - '@graphql-tools/merge@9.0.7(graphql@16.9.0)': - dependencies: - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - graphql: 16.9.0 - tslib: 2.7.0 - - '@graphql-tools/schema@10.0.6(graphql@16.9.0)': - dependencies: - '@graphql-tools/merge': 9.0.7(graphql@16.9.0) - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - graphql: 16.9.0 - tslib: 2.7.0 - value-or-promise: 1.0.12 - - '@graphql-tools/stitch@9.2.10(graphql@16.9.0)': - dependencies: - '@graphql-tools/batch-delegate': 9.0.3(graphql@16.9.0) - '@graphql-tools/delegate': 10.0.21(graphql@16.9.0) - '@graphql-tools/executor': 1.3.1(graphql@16.9.0) - '@graphql-tools/merge': 9.0.7(graphql@16.9.0) - '@graphql-tools/schema': 10.0.6(graphql@16.9.0) - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - '@graphql-tools/wrap': 10.0.5(graphql@16.9.0) - graphql: 16.9.0 - tslib: 2.7.0 - value-or-promise: 1.0.12 - - '@graphql-tools/utils@10.5.4(graphql@16.9.0)': - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) - cross-inspect: 1.0.1 - dset: 3.1.3 - graphql: 16.9.0 - tslib: 2.7.0 - - '@graphql-tools/wrap@10.0.5(graphql@16.9.0)': - dependencies: - '@graphql-tools/delegate': 10.0.21(graphql@16.9.0) - '@graphql-tools/schema': 10.0.6(graphql@16.9.0) - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - graphql: 16.9.0 - tslib: 2.7.0 - value-or-promise: 1.0.12 - - '@graphql-typed-document-node/core@3.2.0(graphql@16.9.0)': - dependencies: - graphql: 16.9.0 - - '@graphql-yoga/logger@2.0.0': - dependencies: - tslib: 2.7.0 - '@graphql-yoga/subscription@5.0.1': dependencies: '@graphql-yoga/typed-event-target': 3.0.0 @@ -6264,16 +5410,6 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@inkjs/ui@1.0.0(ink@4.4.1(@types/react@18.3.5)(react@18.3.1))': - dependencies: - chalk: 5.3.0 - cli-spinners: 2.9.2 - deepmerge: 4.3.1 - figures: 5.0.0 - ink: 4.4.1(@types/react@18.3.5)(react@18.3.1) - - '@ioredis/commands@1.2.0': {} - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -6497,8 +5633,6 @@ snapshots: '@json-rpc-tools/types': 1.7.6 '@pedrouid/environment': 1.0.1 - '@kamilkisiela/fast-url-parser@1.1.4': {} - '@metamask/eth-json-rpc-provider@1.0.1': dependencies: '@metamask/json-rpc-engine': 7.3.3 @@ -6575,24 +5709,6 @@ snapshots: '@microsoft/tsdoc@0.14.2': {} - '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3': - optional: true - - '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': - optional: true - '@next/env@14.0.1': {} '@next/eslint-plugin-next@14.0.1': @@ -6663,10 +5779,6 @@ snapshots: optionalDependencies: prisma: 5.18.0 - '@prisma/client@5.20.0(prisma@5.18.0)': - optionalDependencies: - prisma: 5.18.0 - '@prisma/debug@5.18.0': {} '@prisma/debug@5.19.1': {} @@ -6732,231 +5844,6 @@ snapshots: '@prisma/prisma-schema-wasm': 5.19.1-2.69d742ee20b815d88e17e54db4a2a7a3b30324e3 fs-extra: 11.1.1 - '@proto-kit/api@0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm)': - dependencies: - '@graphql-tools/stitch': 9.2.10(graphql@16.9.0) - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/module': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/protocol': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) - '@proto-kit/sequencer': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@types/humanize-duration': 3.27.4 - class-validator: 0.14.1 - graphql: 16.9.0 - graphql-scalars: 1.23.0(graphql@16.9.0) - graphql-yoga: 5.7.0(graphql@16.9.0) - humanize-duration: 3.32.1 - koa: 2.15.3 - lodash: 4.17.21 - o1js: 1.6.0 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - type-graphql: 2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0) - transitivePeerDependencies: - - supports-color - - '@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0)': - dependencies: - lodash: 4.17.21 - loglevel: 1.9.2 - o1js: 1.6.0 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - typescript-memoize: 1.1.1 - - '@proto-kit/deployment@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/persistance@0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm))(@proto-kit/sdk@0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby))(@proto-kit/sequencer@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(bullmq@3.15.8)(o1js@1.6.0)(tsyringe@4.8.0)': - dependencies: - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/persistance': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/sdk': 0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby) - '@proto-kit/sequencer': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@types/yargs': 17.0.33 - bullmq: 3.15.8 - loglevel: 1.9.2 - o1js: 1.6.0 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - yargs: 17.7.2 - - '@proto-kit/indexer@0.1.1-develop.1088(74ec4zaiazx4kzm54ghtfrdgfu)': - dependencies: - '@envelop/extended-validation': 4.1.0(@envelop/core@5.0.2)(graphql@16.9.0) - '@inkjs/ui': 1.0.0(ink@4.4.1(@types/react@18.3.5)(react@18.3.1)) - '@prisma/client': 5.18.0(prisma@5.18.0) - '@proto-kit/api': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/library': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/module': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/persistance': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/protocol': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) - '@proto-kit/sdk': 0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby) - '@proto-kit/sequencer': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@types/yargs': 17.0.33 - figlet: 1.7.0 - ink: 4.4.1(@types/react@18.3.5)(react@18.3.1) - ink-ascii: 0.0.4(ink@4.4.1(@types/react@18.3.5)(react@18.3.1))(react@18.3.1) - koa: 2.15.3 - o1js: 1.6.0 - prisma: 5.18.0 - react: 18.3.1 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - type-graphql: 2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0) - typegraphql-prisma: 0.28.0(@prisma/client@5.18.0(prisma@5.18.0))(@types/graphql-fields@1.3.9)(@types/node@20.16.5)(graphql-fields@2.0.3)(graphql-scalars@1.23.0(graphql@16.9.0))(prisma@5.18.0)(tslib@2.7.0)(type-graphql@2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0)) - yargs: 17.7.2 - transitivePeerDependencies: - - '@envelop/core' - - '@types/react' - - bufferutil - - graphql - - react-devtools-core - - utf-8-validate - - '@proto-kit/indexer@0.1.1-develop.1088(hocwyjk2rt53lj4ewlpy6renly)': - dependencies: - '@envelop/extended-validation': 4.1.0(@envelop/core@5.0.2)(graphql@16.9.0) - '@inkjs/ui': 1.0.0(ink@4.4.1(@types/react@18.3.5)(react@18.3.1)) - '@prisma/client': 5.18.0(prisma@5.18.0) - '@proto-kit/api': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/library': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/module': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/persistance': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/protocol': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) - '@proto-kit/sdk': 0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby) - '@proto-kit/sequencer': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@types/yargs': 17.0.33 - figlet: 1.7.0 - ink: 4.4.1(@types/react@18.3.5)(react@18.3.1) - ink-ascii: 0.0.4(ink@4.4.1(@types/react@18.3.5)(react@18.3.1))(react@18.3.1) - koa: 2.15.3 - o1js: 1.6.0 - prisma: 5.18.0 - react: 18.3.1 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - type-graphql: 2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0) - typegraphql-prisma: 0.28.0(@prisma/client@5.20.0(prisma@5.18.0))(@types/graphql-fields@1.3.9)(@types/node@20.16.5)(graphql-fields@2.0.3)(graphql-scalars@1.23.0(graphql@16.9.0))(prisma@5.18.0)(tslib@2.7.0)(type-graphql@2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0)) - yargs: 17.7.2 - transitivePeerDependencies: - - '@envelop/core' - - '@types/react' - - bufferutil - - graphql - - react-devtools-core - - utf-8-validate - - '@proto-kit/library@0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm)': - dependencies: - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/module': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/protocol': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) - '@proto-kit/sequencer': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - bigint-isqrt: 0.3.2 - lodash: 4.17.21 - loglevel: 1.9.2 - o1js: 1.6.0 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - - '@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0)': - dependencies: - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/protocol': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) - lodash: 4.17.21 - loglevel: 1.9.2 - o1js: 1.6.0 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - - '@proto-kit/persistance@0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm)': - dependencies: - '@prisma/client': 5.18.0(prisma@5.18.0) - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/module': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/protocol': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) - '@proto-kit/sequencer': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - lodash: 4.17.21 - o1js: 1.6.0 - prisma: 5.18.0 - redis: 4.7.0 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - - '@proto-kit/processor@0.1.1-develop.1088(ln4evwhsdfdpimgiv3gq4x5og4)': - dependencies: - '@inkjs/ui': 1.0.0(ink@4.4.1(@types/react@18.3.5)(react@18.3.1)) - '@prisma/client': 5.18.0(prisma@5.18.0) - '@proto-kit/api': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/library': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/module': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/persistance': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/protocol': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) - '@proto-kit/sdk': 0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby) - '@proto-kit/sequencer': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@types/yargs': 17.0.33 - figlet: 1.7.0 - ink: 4.4.1(@types/react@18.3.5)(react@18.3.1) - ink-ascii: 0.0.4(ink@4.4.1(@types/react@18.3.5)(react@18.3.1))(react@18.3.1) - jest-mock-extended: 4.0.0-beta1(@jest/globals@29.7.0)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.4.5)))(typescript@5.4.5) - o1js: 1.6.0 - prisma-mock: 0.10.3(@prisma/client@5.18.0(prisma@5.18.0))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.4.5)))(typescript@5.4.5) - react: 18.3.1 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - type-graphql: 2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0) - typegraphql-prisma: 0.28.0(@prisma/client@5.18.0(prisma@5.18.0))(@types/graphql-fields@1.3.9)(@types/node@20.16.5)(graphql-fields@2.0.3)(graphql-scalars@1.23.0(graphql@16.9.0))(prisma@5.18.0)(tslib@2.7.0)(type-graphql@2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0)) - yargs: 17.7.2 - transitivePeerDependencies: - - '@jest/globals' - - '@types/react' - - bufferutil - - jest - - prisma - - react-devtools-core - - typescript - - utf-8-validate - - '@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0)': - dependencies: - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - lodash: 4.17.21 - loglevel: 1.9.2 - o1js: 1.6.0 - reflect-metadata: 0.1.14 - ts-mixer: 6.0.4 - ts-pattern: 4.3.0 - tsyringe: 4.8.0 - - '@proto-kit/sdk@0.1.1-develop.1088(kz4qtaab634eddmuun3qxhomby)': - dependencies: - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/library': 0.1.1-develop.1088(dul2sxfsuce4wi7o6jzj2llasm) - '@proto-kit/module': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/protocol': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) - '@proto-kit/sequencer': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@urql/core': 4.3.0(graphql@16.9.0) - comlink: 4.4.1 - lodash: 4.17.21 - loglevel: 1.9.2 - o1js: 1.6.0 - reflect-metadata: 0.1.14 - tsyringe: 4.8.0 - transitivePeerDependencies: - - graphql - - '@proto-kit/sequencer@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/module@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0)': - dependencies: - '@proto-kit/common': 0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/module': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(@proto-kit/protocol@0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0))(o1js@1.6.0)(tsyringe@4.8.0) - '@proto-kit/protocol': 0.1.1-develop.1088(@proto-kit/common@0.1.1-develop.1088(o1js@1.6.0)(tsyringe@4.8.0))(o1js@1.6.0)(ts-pattern@4.3.0)(tsyringe@4.8.0) - compute-gcd: 1.2.1 - lodash: 4.17.21 - o1js: 1.6.0 - reflect-metadata: 0.1.14 - ts-pattern: 4.3.0 - tsyringe: 4.8.0 - '@radix-ui/primitive@1.1.0': {} '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -7229,32 +6116,6 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@redis/bloom@1.2.0(@redis/client@1.6.0)': - dependencies: - '@redis/client': 1.6.0 - - '@redis/client@1.6.0': - dependencies: - cluster-key-slot: 1.1.2 - generic-pool: 3.9.0 - yallist: 4.0.0 - - '@redis/graph@1.1.1(@redis/client@1.6.0)': - dependencies: - '@redis/client': 1.6.0 - - '@redis/json@1.0.7(@redis/client@1.6.0)': - dependencies: - '@redis/client': 1.6.0 - - '@redis/search@1.2.0(@redis/client@1.6.0)': - dependencies: - '@redis/client': 1.6.0 - - '@redis/time-series@1.1.0(@redis/client@1.6.0)': - dependencies: - '@redis/client': 1.6.0 - '@repeaterjs/repeater@3.0.6': {} '@rtsao/scc@1.1.0': {} @@ -7348,8 +6209,6 @@ snapshots: dependencies: graphql: 16.9.0 - '@types/humanize-duration@3.27.4': {} - '@types/istanbul-lib-coverage@2.0.6': {} '@types/istanbul-lib-report@3.0.3': @@ -7394,7 +6253,8 @@ snapshots: '@types/use-sync-external-store@0.0.3': {} - '@types/validator@13.12.1': {} + '@types/validator@13.12.1': + optional: true '@types/yargs-parser@21.0.3': {} @@ -7564,13 +6424,6 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@urql/core@4.3.0(graphql@16.9.0)': - dependencies: - '@0no-co/graphql.web': 1.0.8(graphql@16.9.0) - wonka: 6.3.4 - transitivePeerDependencies: - - graphql - '@vanilla-extract/css@1.7.0': dependencies: '@emotion/hash': 0.8.0 @@ -7802,28 +6655,6 @@ snapshots: dependencies: tslib: 2.7.0 - '@whatwg-node/fetch@0.9.21': - dependencies: - '@whatwg-node/node-fetch': 0.5.26 - urlpattern-polyfill: 10.0.0 - - '@whatwg-node/node-fetch@0.5.26': - dependencies: - '@kamilkisiela/fast-url-parser': 1.1.4 - busboy: 1.6.0 - fast-querystring: 1.1.2 - tslib: 2.7.0 - - '@whatwg-node/server@0.9.49': - dependencies: - '@whatwg-node/fetch': 0.9.21 - tslib: 2.7.0 - - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.12.1): dependencies: acorn: 8.12.1 @@ -7849,8 +6680,6 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-escapes@6.2.1: {} - ansi-regex@4.1.1: {} ansi-regex@5.0.1: {} @@ -7979,8 +6808,6 @@ snapshots: async@3.2.6: {} - auto-bind@5.0.1: {} - autoprefixer@10.4.20(postcss@8.4.45): dependencies: browserslist: 4.23.3 @@ -8068,12 +6895,8 @@ snapshots: big-integer@1.6.52: {} - bigint-isqrt@0.3.2: {} - binary-extensions@2.3.0: {} - blakejs@1.2.1: {} - bn.js@4.11.8: {} bn.js@4.12.0: {} @@ -8186,30 +7009,10 @@ snapshots: builtin-modules@3.3.0: {} - bullmq@3.15.8: - dependencies: - cron-parser: 4.9.0 - glob: 8.1.0 - ioredis: 5.4.1 - lodash: 4.17.21 - msgpackr: 1.11.0 - semver: 7.6.3 - tslib: 2.7.0 - uuid: 9.0.1 - transitivePeerDependencies: - - supports-color - busboy@1.6.0: dependencies: streamsearch: 1.1.0 - cache-content-type@1.0.1: - dependencies: - mime-types: 2.1.35 - ylru: 1.4.0 - - cachedir@2.4.0: {} - call-bind@1.0.7: dependencies: es-define-property: 1.0.0 @@ -8260,8 +7063,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.3.0: {} - char-regex@1.0.2: {} chokidar@3.6.0: @@ -8290,6 +7091,7 @@ snapshots: '@types/validator': 13.12.1 libphonenumber-js: 1.11.7 validator: 13.12.0 + optional: true class-variance-authority@0.7.0: dependencies: @@ -8299,19 +7101,6 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - cli-boxes@3.0.0: {} - - cli-cursor@4.0.0: - dependencies: - restore-cursor: 4.0.0 - - cli-spinners@2.9.2: {} - - cli-truncate@3.1.0: - dependencies: - slice-ansi: 5.0.0 - string-width: 5.1.2 - client-only@0.0.1: {} cliui@5.0.0: @@ -8340,16 +7129,10 @@ snapshots: clsx@2.1.1: {} - cluster-key-slot@1.1.2: {} - co@4.6.0: {} code-block-writer@13.0.2: {} - code-excerpt@4.0.0: - dependencies: - convert-to-spaces: 2.0.1 - collect-v8-coverage@1.0.2: {} color-convert@1.9.3: @@ -8364,33 +7147,12 @@ snapshots: color-name@1.1.4: {} - comlink@4.4.1: {} - commander@4.1.1: {} - compute-gcd@1.2.1: - dependencies: - validate.io-array: 1.0.6 - validate.io-function: 1.0.2 - validate.io-integer-array: 1.0.0 - concat-map@0.0.1: {} - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - convert-source-map@2.0.0: {} - convert-to-spaces@2.0.1: {} - - cookies@0.9.1: - dependencies: - depd: 2.0.0 - keygrip: 1.1.0 - copy-to-clipboard@3.3.3: dependencies: toggle-selection: 1.0.6 @@ -8438,20 +7200,12 @@ snapshots: create-require@1.1.1: {} - cron-parser@4.9.0: - dependencies: - luxon: 3.5.0 - cross-fetch@3.1.8: dependencies: node-fetch: 2.7.0 transitivePeerDependencies: - encoding - cross-inspect@1.0.1: - dependencies: - tslib: 2.7.0 - cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -8500,8 +7254,6 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.1 - dataloader@2.2.2: {} - debug@3.2.7(supports-color@5.5.0): dependencies: ms: 2.1.3 @@ -8520,8 +7272,6 @@ snapshots: dedent@1.5.3: {} - deep-equal@1.0.1: {} - deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -8561,28 +7311,15 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - delegates@1.0.0: {} - - denque@2.1.0: {} - - depd@1.1.2: {} - - depd@2.0.0: {} - des.js@1.1.0: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - destroy@1.2.0: {} - detect-browser@5.2.0: {} detect-indent@7.0.1: {} - detect-libc@2.0.3: - optional: true - detect-newline@3.1.0: {} detect-newline@4.0.1: {} @@ -8632,12 +7369,8 @@ snapshots: dotenv@16.4.5: {} - dset@3.1.3: {} - eastasianwidth@0.2.0: {} - ee-first@1.1.1: {} - eip1193-provider@1.0.1: dependencies: '@json-rpc-tools/provider': 1.7.6 @@ -8682,8 +7415,6 @@ snapshots: encode-utf8@1.0.3: {} - encodeurl@1.0.2: {} - enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 @@ -8799,16 +7530,12 @@ snapshots: escalade@3.2.0: {} - escape-html@1.0.3: {} - escape-string-regexp@1.0.5: {} escape-string-regexp@2.0.0: {} escape-string-regexp@4.0.0: {} - escape-string-regexp@5.0.0: {} - eslint-config-next@14.0.1(eslint@8.57.0)(typescript@5.4.5): dependencies: '@next/eslint-plugin-next': 14.0.1 @@ -8817,7 +7544,7 @@ snapshots: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) eslint-plugin-react: 7.35.2(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) @@ -8880,7 +7607,7 @@ snapshots: is-bun-module: 1.1.0 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node @@ -8943,7 +7670,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -9253,8 +7980,6 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - fast-decode-uri-component@1.0.1: {} - fast-deep-equal@3.1.3: {} fast-glob@3.3.2: @@ -9269,10 +7994,6 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-querystring@1.1.2: - dependencies: - fast-decode-uri-component: 1.0.1 - fast-safe-stringify@2.1.1: {} fastq@1.17.1: @@ -9283,13 +8004,6 @@ snapshots: dependencies: bser: 2.1.1 - figlet@1.7.0: {} - - figures@5.0.0: - dependencies: - escape-string-regexp: 5.0.0 - is-unicode-supported: 1.3.0 - file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -9337,8 +8051,6 @@ snapshots: fraction.js@4.3.7: {} - fresh@0.5.2: {} - fs-extra@11.1.1: dependencies: graceful-fs: 4.2.11 @@ -9361,8 +8073,6 @@ snapshots: functions-have-names@1.2.3: {} - generic-pool@3.9.0: {} - gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -9432,14 +8142,6 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - globals@11.12.0: {} globals@13.24.0: @@ -9488,21 +8190,6 @@ snapshots: graphql: 16.9.0 tslib: 2.7.0 - graphql-yoga@5.7.0(graphql@16.9.0): - dependencies: - '@envelop/core': 5.0.2 - '@graphql-tools/executor': 1.3.1(graphql@16.9.0) - '@graphql-tools/schema': 10.0.6(graphql@16.9.0) - '@graphql-tools/utils': 10.5.4(graphql@16.9.0) - '@graphql-yoga/logger': 2.0.0 - '@graphql-yoga/subscription': 5.0.1 - '@whatwg-node/fetch': 0.9.21 - '@whatwg-node/server': 0.9.49 - dset: 3.1.3 - graphql: 16.9.0 - lru-cache: 10.4.3 - tslib: 2.7.0 - graphql@16.9.0: {} has-bigints@1.0.2: {} @@ -9553,23 +8240,8 @@ snapshots: html-escaper@2.0.2: {} - http-assert@1.5.0: - dependencies: - deep-equal: 1.0.1 - http-errors: 1.8.1 - - http-errors@1.8.1: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 - human-signals@2.1.0: {} - humanize-duration@3.32.1: {} - ieee754@1.2.1: {} ignore-by-default@1.0.1: {} @@ -9592,8 +8264,6 @@ snapshots: indent-string@4.0.0: {} - indent-string@5.0.0: {} - inflight@1.0.6: dependencies: once: 1.4.0 @@ -9601,46 +8271,6 @@ snapshots: inherits@2.0.4: {} - ink-ascii@0.0.4(ink@4.4.1(@types/react@18.3.5)(react@18.3.1))(react@18.3.1): - dependencies: - figlet: 1.7.0 - ink: 4.4.1(@types/react@18.3.5)(react@18.3.1) - react: 18.3.1 - - ink@4.4.1(@types/react@18.3.5)(react@18.3.1): - dependencies: - '@alcalzone/ansi-tokenize': 0.1.3 - ansi-escapes: 6.2.1 - auto-bind: 5.0.1 - chalk: 5.3.0 - cli-boxes: 3.0.0 - cli-cursor: 4.0.0 - cli-truncate: 3.1.0 - code-excerpt: 4.0.0 - indent-string: 5.0.0 - is-ci: 3.0.1 - is-lower-case: 2.0.2 - is-upper-case: 2.0.2 - lodash: 4.17.21 - patch-console: 2.0.0 - react: 18.3.1 - react-reconciler: 0.29.2(react@18.3.1) - scheduler: 0.23.2 - signal-exit: 3.0.7 - slice-ansi: 6.0.0 - stack-utils: 2.0.6 - string-width: 5.1.2 - type-fest: 0.12.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - ws: 8.18.0 - yoga-wasm-web: 0.3.3 - optionalDependencies: - '@types/react': 18.3.5 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - internal-slot@1.0.7: dependencies: es-errors: 1.3.0 @@ -9651,20 +8281,6 @@ snapshots: dependencies: loose-envify: 1.4.0 - ioredis@5.4.1: - dependencies: - '@ioredis/commands': 1.2.0 - cluster-key-slot: 1.1.2 - debug: 4.3.7(supports-color@5.5.0) - denque: 2.1.0 - lodash.defaults: 4.2.0 - lodash.isarguments: 3.1.0 - redis-errors: 1.2.0 - redis-parser: 3.0.0 - standard-as-callback: 2.1.0 - transitivePeerDependencies: - - supports-color - is-arguments@1.1.1: dependencies: call-bind: 1.0.7 @@ -9704,10 +8320,6 @@ snapshots: is-callable@1.2.7: {} - is-ci@3.0.1: - dependencies: - ci-info: 3.9.0 - is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -9730,8 +8342,6 @@ snapshots: is-fullwidth-code-point@3.0.0: {} - is-fullwidth-code-point@4.0.0: {} - is-generator-fn@2.1.0: {} is-generator-function@1.0.10: @@ -9742,10 +8352,6 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-lower-case@2.0.2: - dependencies: - tslib: 2.7.0 - is-map@2.0.3: {} is-nan@1.3.2: @@ -9792,12 +8398,6 @@ snapshots: is-typedarray@1.0.0: {} - is-unicode-supported@1.3.0: {} - - is-upper-case@2.0.2: - dependencies: - tslib: 2.7.0 - is-weakmap@2.0.2: {} is-weakref@1.0.2: @@ -9815,13 +8415,6 @@ snapshots: isexe@2.0.0: {} - isomorphic-fetch@3.0.0: - dependencies: - node-fetch: 2.7.0 - whatwg-fetch: 3.6.20 - transitivePeerDependencies: - - encoding - istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@5.2.1: @@ -10038,19 +8631,6 @@ snapshots: slash: 3.0.0 stack-utils: 2.0.6 - jest-mock-extended@3.0.7(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.4.5)))(typescript@5.4.5): - dependencies: - jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.4.5)) - ts-essentials: 10.0.2(typescript@5.4.5) - typescript: 5.4.5 - - jest-mock-extended@4.0.0-beta1(@jest/globals@29.7.0)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.4.5)))(typescript@5.4.5): - dependencies: - '@jest/globals': 29.7.0 - jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.4.5)) - ts-essentials: 10.0.2(typescript@5.4.5) - typescript: 5.4.5 - jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 @@ -10212,8 +8792,6 @@ snapshots: jju@1.4.0: {} - js-sha256@0.9.0: {} - js-sha3@0.8.0: {} js-tokens@4.0.0: {} @@ -10273,10 +8851,6 @@ snapshots: node-gyp-build: 4.8.2 readable-stream: 3.6.2 - keygrip@1.1.0: - dependencies: - tsscmp: 1.0.6 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -10285,41 +8859,6 @@ snapshots: kleur@3.0.3: {} - koa-compose@4.1.0: {} - - koa-convert@2.0.0: - dependencies: - co: 4.6.0 - koa-compose: 4.1.0 - - koa@2.15.3: - dependencies: - accepts: 1.3.8 - cache-content-type: 1.0.1 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookies: 0.9.1 - debug: 4.3.7(supports-color@5.5.0) - delegates: 1.0.0 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - fresh: 0.5.2 - http-assert: 1.5.0 - http-errors: 1.8.1 - is-generator-function: 1.0.10 - koa-compose: 4.1.0 - koa-convert: 2.0.0 - on-finished: 2.4.1 - only: 0.0.2 - parseurl: 1.3.3 - statuses: 1.5.0 - type-is: 1.6.18 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - language-subtag-registry@0.3.23: {} language-tags@1.0.9: @@ -10333,7 +8872,8 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - libphonenumber-js@1.11.7: {} + libphonenumber-js@1.11.7: + optional: true lilconfig@2.1.0: {} @@ -10356,12 +8896,8 @@ snapshots: lodash.castarray@4.4.0: {} - lodash.defaults@4.2.0: {} - lodash.get@4.4.2: {} - lodash.isarguments@3.1.0: {} - lodash.isplainobject@4.0.6: {} lodash.memoize@4.1.2: {} @@ -10386,8 +8922,6 @@ snapshots: dependencies: react: 18.3.1 - luxon@3.5.0: {} - make-dir@4.0.0: dependencies: semver: 7.6.3 @@ -10409,8 +8943,6 @@ snapshots: inherits: 2.0.4 safe-buffer: 5.2.1 - media-typer@0.3.0: {} - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -10429,16 +8961,16 @@ snapshots: bn.js: 4.12.0 brorand: 1.1.0 - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - mimic-fn@2.1.0: {} min-indent@1.0.1: {} + mina-fungible-token@1.0.0(o1js@framework+node_modules+o1js): + dependencies: + o1js: link:../framework/node_modules/o1js + + mina-lightweight-explorer@https://codeload.github.com/o1-labs/mina-lightweight-explorer/tar.gz/b921393d5091035a913d446e38dfdeb29c06cc52: {} + minimalistic-assert@1.0.1: {} minimalistic-crypto-utils@1.0.1: {} @@ -10467,22 +8999,6 @@ snapshots: ms@2.1.3: {} - msgpackr-extract@3.0.3: - dependencies: - node-gyp-build-optional-packages: 5.2.2 - optionalDependencies: - '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.3 - '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.3 - '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.3 - '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.3 - '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.3 - '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.3 - optional: true - - msgpackr@1.11.0: - optionalDependencies: - msgpackr-extract: 3.0.3 - mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -10497,8 +9013,6 @@ snapshots: natural-compare@1.4.0: {} - negotiator@0.6.3: {} - next-themes@0.2.1(next@14.0.1(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: next: 14.0.1(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -10536,11 +9050,6 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-gyp-build-optional-packages@5.2.2: - dependencies: - detect-libc: 2.0.3 - optional: true - node-gyp-build@4.8.2: {} node-int64@0.4.0: {} @@ -10593,17 +9102,6 @@ snapshots: nodemon: 2.0.22 through2: 4.0.2 - o1js@1.6.0: - dependencies: - blakejs: 1.2.1 - cachedir: 2.4.0 - isomorphic-fetch: 3.0.0 - js-sha256: 0.9.0 - reflect-metadata: 0.1.14 - tslib: 2.7.0 - transitivePeerDependencies: - - encoding - object-assign@4.1.1: {} object-hash@3.0.0: {} @@ -10651,10 +9149,6 @@ snapshots: oblivious-set@1.0.0: {} - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -10663,8 +9157,6 @@ snapshots: dependencies: mimic-fn: 2.1.0 - only@0.0.2: {} - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -10720,10 +9212,6 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parseurl@1.3.3: {} - - patch-console@2.0.0: {} - path-browserify@1.0.1: {} path-exists@3.0.0: {} @@ -10851,14 +9339,6 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - prisma-mock@0.10.3(@prisma/client@5.18.0(prisma@5.18.0))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.4.5)))(typescript@5.4.5): - dependencies: - '@prisma/client': 5.18.0(prisma@5.18.0) - jest-mock-extended: 3.0.7(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.4.5)))(typescript@5.4.5) - transitivePeerDependencies: - - jest - - typescript - prisma@5.18.0: dependencies: '@prisma/engines': 5.18.0 @@ -10958,12 +9438,6 @@ snapshots: optionalDependencies: react-dom: 18.3.1(react@18.3.1) - react-reconciler@0.29.2(react@18.3.1): - dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 - react-remove-scroll-bar@2.3.6(@types/react@18.3.5)(react@18.3.1): dependencies: react: 18.3.1 @@ -11033,21 +9507,6 @@ snapshots: dependencies: picomatch: 2.3.1 - redis-errors@1.2.0: {} - - redis-parser@3.0.0: - dependencies: - redis-errors: 1.2.0 - - redis@4.7.0: - dependencies: - '@redis/bloom': 1.2.0(@redis/client@1.6.0) - '@redis/client': 1.6.0 - '@redis/graph': 1.1.1(@redis/client@1.6.0) - '@redis/json': 1.0.7(@redis/client@1.6.0) - '@redis/search': 1.2.0(@redis/client@1.6.0) - '@redis/time-series': 1.1.0(@redis/client@1.6.0) - reflect-metadata@0.1.14: {} reflect.getprototypeof@1.0.6: @@ -11110,11 +9569,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - restore-cursor@4.0.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - reusify@1.0.4: {} rimraf@3.0.2: @@ -11181,8 +9635,6 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - setprototypeof@1.2.0: {} - sha.js@2.4.11: dependencies: inherits: 2.0.4 @@ -11219,16 +9671,6 @@ snapshots: slash@4.0.0: {} - slice-ansi@5.0.0: - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - - slice-ansi@6.0.0: - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - sort-object-keys@1.1.3: {} sort-package-json@2.10.1: @@ -11273,10 +9715,6 @@ snapshots: dependencies: escape-string-regexp: 2.0.0 - standard-as-callback@2.1.0: {} - - statuses@1.5.0: {} - stop-iteration-iterator@1.0.0: dependencies: internal-slot: 1.0.7 @@ -11492,8 +9930,6 @@ snapshots: toggle-selection@1.0.6: {} - toidentifier@1.0.1: {} - touch@3.1.1: {} tr46@0.0.3: {} @@ -11508,10 +9944,6 @@ snapshots: dependencies: typescript: 5.4.5 - ts-essentials@10.0.2(typescript@5.4.5): - optionalDependencies: - typescript: 5.4.5 - ts-interface-checker@0.1.13: {} ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.4.5)))(typescript@5.4.5): @@ -11533,8 +9965,6 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.25.2) - ts-mixer@6.0.4: {} - ts-morph@23.0.0: dependencies: '@ts-morph/common': 0.24.0 @@ -11558,8 +9988,6 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-pattern@4.3.0: {} - tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -11571,17 +9999,11 @@ snapshots: tslib@2.7.0: {} - tsscmp@1.0.6: {} - tsutils@3.21.0(typescript@4.9.5): dependencies: tslib: 1.14.1 typescript: 4.9.5 - tsyringe@4.8.0: - dependencies: - tslib: 1.14.1 - turbo-darwin-64@2.1.2: optional: true @@ -11615,8 +10037,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.12.0: {} - type-fest@0.20.2: {} type-fest@0.21.3: {} @@ -11638,11 +10058,6 @@ snapshots: optionalDependencies: class-validator: 0.14.1 - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 @@ -11695,24 +10110,6 @@ snapshots: tslib: 2.7.0 type-graphql: 2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0) - typegraphql-prisma@0.28.0(@prisma/client@5.20.0(prisma@5.18.0))(@types/graphql-fields@1.3.9)(@types/node@20.16.5)(graphql-fields@2.0.3)(graphql-scalars@1.23.0(graphql@16.9.0))(prisma@5.18.0)(tslib@2.7.0)(type-graphql@2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0)): - dependencies: - '@prisma/client': 5.20.0(prisma@5.18.0) - '@prisma/generator-helper': 5.19.1 - '@prisma/internals': 5.19.1 - '@types/graphql-fields': 1.3.9 - '@types/node': 20.16.5 - graphql-fields: 2.0.3 - graphql-scalars: 1.23.0(graphql@16.9.0) - pluralize: 8.0.0 - prisma: 5.18.0 - semver: 7.6.3 - ts-morph: 23.0.0 - tslib: 2.7.0 - type-graphql: 2.0.0-rc.2(class-validator@0.14.1)(graphql-scalars@1.23.0(graphql@16.9.0))(graphql@16.9.0) - - typescript-memoize@1.1.1: {} - typescript@4.9.5: {} typescript@5.4.5: {} @@ -11750,8 +10147,6 @@ snapshots: punycode: 1.4.1 qs: 6.13.0 - urlpattern-polyfill@10.0.0: {} - use-callback-ref@1.3.2(@types/react@18.3.5)(react@18.3.1): dependencies: react: 18.3.1 @@ -11796,26 +10191,8 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validate.io-array@1.0.6: {} - - validate.io-function@1.0.2: {} - - validate.io-integer-array@1.0.0: - dependencies: - validate.io-array: 1.0.6 - validate.io-integer: 1.0.5 - - validate.io-integer@1.0.5: - dependencies: - validate.io-number: 1.0.3 - - validate.io-number@1.0.3: {} - - validator@13.12.0: {} - - value-or-promise@1.0.12: {} - - vary@1.1.2: {} + validator@13.12.0: + optional: true wagmi@0.4.12(@types/react@18.3.5)(ethers@5.7.2)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -11848,8 +10225,6 @@ snapshots: webidl-conversions@3.0.1: {} - whatwg-fetch@3.6.20: {} - whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -11899,12 +10274,6 @@ snapshots: dependencies: isexe: 2.0.0 - widest-line@4.0.1: - dependencies: - string-width: 5.1.2 - - wonka@6.3.4: {} - word-wrap@1.2.5: {} wrap-ansi@5.1.0: @@ -11944,8 +10313,6 @@ snapshots: ws@7.5.3: {} - ws@8.18.0: {} - xtend@4.0.2: {} y18n@4.0.3: {} @@ -11954,8 +10321,6 @@ snapshots: yallist@3.1.1: {} - yallist@4.0.0: {} - yaml@2.5.1: {} yargs-parser@13.1.2: @@ -12007,14 +10372,10 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - ylru@1.4.0: {} - yn@3.1.1: {} yocto-queue@0.1.0: {} - yoga-wasm-web@0.3.3: {} - zod@3.23.8: {} zustand@4.5.5(@types/react@18.3.5)(immer@10.1.1)(react@18.3.1): diff --git a/turbo.json b/turbo.json index fd0305e..da7429e 100644 --- a/turbo.json +++ b/turbo.json @@ -64,6 +64,36 @@ "processor:prisma:migrate": { "cache": false }, - "start:headless": {} + "start:headless": {}, + "generate-keys": { + "cache": false + }, + "lightnet:faucet": { + "cache": false + }, + "lightnet:wait-for-network": { + "cache": false + }, + "settlement:deploy": { + "cache": false + }, + "settlement:token:deploy": { + "cache": false + }, + "mina-explorer:start": { + "cache": false + }, + "worker:dev": { + "cache": false + }, + "bridge:deposit": { + "cache": false + }, + "bridge:withdraw": { + "cache": false + }, + "bridge:redeem": { + "cache": false + } } }