diff --git a/.env.example b/.env.example index 58e4cc5..2de5cbe 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,8 @@ BETTER_AUTH_SECRET= -BETTER_AUTH_URL= FRONTEND_URL= -NEON_DB_CONNECTION_STRING= \ No newline at end of file +DATABASE_URL= +CLOUDFLARE_ACCOUNT_ID= +CLOUDFLARE_API_TOKEN= +JWT_SECRET= +BLACKFROST_PROJECT_ID= +WALLET_PRIVATE_KEY= diff --git a/.gitignore b/.gitignore index 9891ab2..b02ae7f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules/ .env /src/generated/prisma +/dist \ No newline at end of file diff --git a/bun.lock b/bun.lock index 44d895f..70363d7 100644 --- a/bun.lock +++ b/bun.lock @@ -1,10 +1,10 @@ { "lockfileVersion": 1, - "configVersion": 1, "workspaces": { "": { "name": "dagent-api", "dependencies": { + "@blockfrost/blockfrost-js": "^6.0.0", "@meshsdk/core": "^1.9.0-beta.87", "@prisma/adapter-pg": "^7.0.1", "@prisma/client": "^7.0.1", @@ -16,6 +16,7 @@ "dotenv": "^17.2.3", "ethers": "^6.15.0", "hono": "^4.9.8", + "lucid-cardano": "^0.10.11", "pg": "^8.16.3", "prisma": "^7.0.1", "sharp": "^0.34.4", @@ -83,6 +84,10 @@ "@bitcoin-js/tiny-secp256k1-asmjs": ["@bitcoin-js/tiny-secp256k1-asmjs@2.2.4", "", { "dependencies": { "uint8array-tools": "0.0.7" } }, "sha512-Lo62disBIDwPrYAmMsSjEmqak41yb0OFGQVLdktXmcQLgtC1BI5Sd1eHSxNREKZmxMUXevtsgEhGB1DvvatRmQ=="], + "@blockfrost/blockfrost-js": ["@blockfrost/blockfrost-js@6.0.0", "", { "dependencies": { "@blockfrost/openapi": "0.1.73", "@emurgo/cardano-serialization-lib-nodejs": "^13.2.1", "@emurgo/cip14-js": "3.0.1", "bottleneck": "^2.19.5", "form-data": "^4.0.0", "got": "^11.8.6", "json-bigint": "^1.0.0" } }, "sha512-VfF4pEvCSeo8p5dTupqGW+C4Io49yeYuWtyZJSacSC+ami2zugCXkJF8bx756dYRhVjUM+emC4QJWBegwKqt+A=="], + + "@blockfrost/openapi": ["@blockfrost/openapi@0.1.73", "", { "dependencies": { "ajv": "^8.17.1", "cbor": "^9.0.2", "rimraf": "6.0.1", "yaml": "^2.6.1" } }, "sha512-VsCzTVUKWNagIAHTtSAnsgPKsJ6uVvm/t7eth8YVaKK0MSsvQ7TPGEwobLN8hqNfaO20NDTz0L53A1kB+1V0ww=="], + "@bufbuild/protobuf": ["@bufbuild/protobuf@1.10.1", "", {}, "sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ=="], "@cardano-ogmios/client": ["@cardano-ogmios/client@6.9.0", "", { "dependencies": { "@cardano-ogmios/schema": "6.9.0", "@cardanosolutions/json-bigint": "^1.0.1", "@types/json-bigint": "^1.0.1", "bech32": "^2.0.0", "cross-fetch": "^3.1.4", "fastq": "^1.11.0", "isomorphic-ws": "^4.0.1", "nanoid": "^3.1.31", "ts-custom-error": "^3.2.0", "ws": "^7.5.10" } }, "sha512-IsoUVsaMXiYyhWrdVKYOA5PDlX0EZ2gaq4lfk4JelRw6mcWVxemUrMaU2ndvugO9LQ3SCM1nESPgMIU0xe5FWw=="], @@ -131,6 +136,10 @@ "@emurgo/cardano-message-signing-nodejs": ["@emurgo/cardano-message-signing-nodejs@1.1.0", "", {}, "sha512-PQRc8K8wZshEdmQenNUzVtiI8oJNF/1uAnBhidee5C4o1l2mDLOW+ur46HWHIFKQ6x8mSJTllcjMscHgzju0gQ=="], + "@emurgo/cardano-serialization-lib-nodejs": ["@emurgo/cardano-serialization-lib-nodejs@13.2.1", "", {}, "sha512-0g2O3YHnoQbkHj5M8FB7ftnljXQ9M3zmKxZnwCbYGr1Pw4FkBA0BRh0+GHPlTxyemcpP2yyuW439I9Ds9drFhA=="], + + "@emurgo/cip14-js": ["@emurgo/cip14-js@3.0.1", "", { "dependencies": { "bech32": "2.0.0", "blake2b": "2.1.3" } }, "sha512-u0XobeajNSlmeGBmY3ntA+NE/Vns7hKP0xrFzWyAO7YubETOifTjUddJN4gpvXE4S08DPUcNBVe3sx1m5GPIOg=="], + "@fabianbormann/cardano-peer-connect": ["@fabianbormann/cardano-peer-connect@1.2.18", "", { "dependencies": { "@basementuniverse/marble-identicons": "^0.1.2", "@fabianbormann/meerkat": "^1.0.17", "qrcode-svg": "^1.1.0" } }, "sha512-eyVVMlThkURTsHFJDww253Mk+IzCR2yRYaepyomyqu9HWu2/N8qqC98vNksAbAQ12AzQs7ElwwRgT9HggOuhcw=="], "@fabianbormann/meerkat": ["@fabianbormann/meerkat@1.0.18", "", { "dependencies": { "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@rvagg/ripemd160": "^2.2.4", "@webpod/ip": "^0.6.1", "bs58": "^6.0.0", "bs58check": "^4.0.0", "tweetnacl": "^1.0.3", "vm-browserify": "^1.1.2", "webtorrent": "^2.8.4" } }, "sha512-4QuyhlpouIJvcwqlItn91ugl8uC/L1muuN3XFLuO38qMrUucyV0+yykAp1RlzwOlO7YvDYZEaJ8kCa+/MU7UCg=="], @@ -221,6 +230,12 @@ "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="], + "@isaacs/balanced-match": ["@isaacs/balanced-match@4.0.1", "", {}, "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="], + + "@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.0", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA=="], + + "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], @@ -367,8 +382,12 @@ "@simplewebauthn/browser": ["@simplewebauthn/browser@13.2.2", "", {}, "sha512-FNW1oLQpTJyqG5kkDg5ZsotvWgmBaC6jCHR7Ej0qUNep36Wl9tj2eZu7J5rP+uhXgHaLk+QQ3lqcw2vS5MX1IA=="], + "@sindresorhus/is": ["@sindresorhus/is@4.6.0", "", {}, "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="], + "@standard-schema/spec": ["@standard-schema/spec@1.0.0", "", {}, "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA=="], + "@szmarczak/http-timer": ["@szmarczak/http-timer@4.0.6", "", { "dependencies": { "defer-to-connect": "^2.0.0" } }, "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w=="], + "@thaunknown/simple-peer": ["@thaunknown/simple-peer@10.0.12", "", { "dependencies": { "debug": "^4.3.7", "err-code": "^3.0.1", "streamx": "^2.20.1", "uint8-util": "^2.2.5", "webrtc-polyfill": "^1.1.10" } }, "sha512-sDrkkOdzlJL8+FXQqYcBb2THHQU+Yrar92SjfW4ZLs877/4QA2kFejuA6DVepsoMpoIbXShc7OCXCwYt4AtGdQ=="], "@thaunknown/simple-websocket": ["@thaunknown/simple-websocket@9.1.3", "", { "dependencies": { "debug": "^4.3.5", "queue-microtask": "^1.2.3", "streamx": "^2.17.0", "uint8-util": "^2.2.5", "ws": "^8.17.1" } }, "sha512-pf/FCJsgWtLJiJmIpiSI7acOZVq3bIQCpnNo222UFc8Ph1lOUOTpe6LoYhhiOSKB9GUaWJEVUtZ+sK1/aBgU5Q=="], @@ -379,16 +398,24 @@ "@types/bun": ["@types/bun@1.3.3", "", { "dependencies": { "bun-types": "1.3.3" } }, "sha512-ogrKbJ2X5N0kWLLFKeytG0eHDleBYtngtlbu9cyBKFtNL3cnpDZkNdQj8flVf6WTZUX5ulI9AY1oa7ljhSrp+g=="], + "@types/cacheable-request": ["@types/cacheable-request@6.0.3", "", { "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", "@types/node": "*", "@types/responselike": "^1.0.0" } }, "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw=="], + "@types/dotenv": ["@types/dotenv@8.2.3", "", { "dependencies": { "dotenv": "*" } }, "sha512-g2FXjlDX/cYuc5CiQvyU/6kkbP1JtmGzh0obW50zD7OKeILVL0NSpPWLXVfqoAGQjom2/SLLx9zHq0KXvD6mbw=="], + "@types/http-cache-semantics": ["@types/http-cache-semantics@4.0.4", "", {}, "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA=="], + "@types/json-bigint": ["@types/json-bigint@1.0.4", "", {}, "sha512-ydHooXLbOmxBbubnA7Eh+RpBzuaIiQjh8WGJYQB50JFGFrdxW7JzVlyEV7fAXw0T2sqJ1ysTneJbiyNLqZRAag=="], + "@types/keyv": ["@types/keyv@3.1.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg=="], + "@types/node": ["@types/node@24.10.1", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ=="], "@types/pg": ["@types/pg@8.15.6", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-NoaMtzhxOrubeL/7UZuNTrejB4MPAJ0RpxZqXQf2qXuVlTPuG6Y8p4u9dKRaue4yjmC7ZhzVO2/Yyyn25znrPQ=="], "@types/react": ["@types/react@19.2.7", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg=="], + "@types/responselike": ["@types/responselike@1.0.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw=="], + "@upstash/redis": ["@upstash/redis@1.35.7", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-bdCdKhke+kYUjcLLuGWSeQw7OLuWIx3eyKksyToLBAlGIMX9qiII0ptp8E0y7VFE1yuBxBd/3kSzJ8774Q4g+A=="], "@utxorpc/sdk": ["@utxorpc/sdk@0.6.8", "", { "dependencies": { "@connectrpc/connect": "1.4", "@connectrpc/connect-node": "1.4", "@connectrpc/connect-web": "1.4", "@utxorpc/spec": "0.16.0", "buffer": "^6.0.3" } }, "sha512-Mff6q2o7R2aam85KmjtAZDKPhJesMmnGFbk2M54lPO0FwrrWRfUf6DYezqWfYcjXgKQSHDuklAcdtF0weEENRA=="], @@ -409,6 +436,12 @@ "aes-js": ["aes-js@4.0.0-beta.5", "", {}, "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q=="], + "ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], + + "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], "asn1js": ["asn1js@3.0.6", "", { "dependencies": { "pvtsutils": "^1.3.6", "pvutils": "^1.1.3", "tslib": "^2.8.1" } }, "sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA=="], @@ -487,9 +520,9 @@ "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], - "blake2b": ["blake2b@2.1.4", "", { "dependencies": { "blake2b-wasm": "^2.4.0", "nanoassert": "^2.0.0" } }, "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A=="], + "blake2b": ["blake2b@2.1.3", "", { "dependencies": { "blake2b-wasm": "^1.1.0", "nanoassert": "^1.0.0" } }, "sha512-pkDss4xFVbMb4270aCyGD3qLv92314Et+FsKzilCLxDz5DuZ2/1g3w4nmBbu6nKApPspnjG7JcwTjGZnduB1yg=="], - "blake2b-wasm": ["blake2b-wasm@2.4.0", "", { "dependencies": { "b4a": "^1.0.1", "nanoassert": "^2.0.0" } }, "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w=="], + "blake2b-wasm": ["blake2b-wasm@1.1.7", "", { "dependencies": { "nanoassert": "^1.0.0" } }, "sha512-oFIHvXhlz/DUgF0kq5B1CqxIDjIJwh9iDeUUGQUcvgiGz7Wdw03McEO7CfLBy7QKGdsydcMCgO9jFNBAFCtFcA=="], "blakejs": ["blakejs@1.2.1", "", {}, "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ=="], @@ -497,6 +530,8 @@ "bn.js": ["bn.js@5.2.2", "", {}, "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw=="], + "bottleneck": ["bottleneck@2.19.5", "", {}, "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="], + "browserslist": ["browserslist@4.28.0", "", { "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", "electron-to-chromium": "^1.5.249", "node-releases": "^2.0.27", "update-browserslist-db": "^1.1.4" }, "bin": { "browserslist": "cli.js" } }, "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ=="], "bs58": ["bs58@6.0.0", "", { "dependencies": { "base-x": "^5.0.0" } }, "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw=="], @@ -513,6 +548,10 @@ "cache-chunk-store": ["cache-chunk-store@3.2.2", "", { "dependencies": { "lru": "^3.1.0", "queue-microtask": "^1.2.3" } }, "sha512-2lJdWbgHFFxcSth9s2wpId3CR3v1YC63KjP4T9WhpW7LWlY7Hiiei3QwwqzkWqlJTfR8lSy9F5kRQECeyj+yQA=="], + "cacheable-lookup": ["cacheable-lookup@5.0.4", "", {}, "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="], + + "cacheable-request": ["cacheable-request@7.0.4", "", { "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^4.0.0", "lowercase-keys": "^2.0.0", "normalize-url": "^6.0.1", "responselike": "^2.0.0" } }, "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg=="], + "call-bind": ["call-bind@1.0.8", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="], "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], @@ -521,7 +560,7 @@ "caniuse-lite": ["caniuse-lite@1.0.30001757", "", {}, "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ=="], - "cbor": ["cbor@10.0.11", "", { "dependencies": { "nofilter": "^3.0.2" } }, "sha512-vIwORDd/WyB8Nc23o2zNN5RrtFGlR6Fca61TtjkUXueI3Jf2DOZDl1zsshvBntZ3wZHBM9ztjnkXSmzQDaq3WA=="], + "cbor": ["cbor@9.0.2", "", { "dependencies": { "nofilter": "^3.1.0" } }, "sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ=="], "chacha": ["chacha@2.1.0", "", { "dependencies": { "inherits": "^2.0.1", "readable-stream": "^1.0.33" }, "optionalDependencies": { "chacha-native": "^2.0.0" } }, "sha512-FhVtqaZOiHlOKUkAWfDlJ+oe/O8iPQbCC0pFXJqphr4YQBCZPXa8Mv3j35+W4eWFWCoTUcW2u5IWDDkknygvVA=="], @@ -559,8 +598,14 @@ "class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="], + "clone-response": ["clone-response@1.0.3", "", { "dependencies": { "mimic-response": "^1.0.0" } }, "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA=="], + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], "compact2string": ["compact2string@1.4.1", "", { "dependencies": { "ipaddr.js": ">= 0.1.5" } }, "sha512-3D+EY5nsRhqnOwDxveBv5T8wGo4DEvYxjDtPGmdOX+gfr5gE92c2RC0w2wa+xEefm07QuVqqcF3nZJUZ92l/og=="], @@ -601,6 +646,8 @@ "default-gateway": ["default-gateway@7.2.2", "", { "dependencies": { "execa": "^7.1.1" } }, "sha512-AD7TrdNNPXRZIGw63dw+lnGmT4v7ggZC5NHNJgAYWm5njrwoze1q5JSAW9YuLy2tjnoLUG/r8FEB93MCh9QJPg=="], + "defer-to-connect": ["defer-to-connect@2.0.1", "", {}, "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="], + "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="], "defu": ["defu@6.1.4", "", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="], @@ -623,12 +670,16 @@ "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + "ecpair": ["ecpair@2.1.0", "", { "dependencies": { "randombytes": "^2.1.0", "typeforce": "^1.18.0", "wif": "^2.0.6" } }, "sha512-cL/mh3MtJutFOvFc27GPZE2pWL3a3k4YvzUWEOvilnfZVlH3Jwgx/7d6tlD7/75tNk8TG2m+7Kgtz0SI1tWcqw=="], "effect": ["effect@3.18.4", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "fast-check": "^3.23.1" } }, "sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA=="], "electron-to-chromium": ["electron-to-chromium@1.5.262", "", {}, "sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ=="], + "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + "empathic": ["empathic@2.0.0", "", {}, "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA=="], "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], @@ -661,10 +712,14 @@ "fast-check": ["fast-check@3.23.2", "", { "dependencies": { "pure-rand": "^6.1.0" } }, "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A=="], + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], "fast-readable-async-iterator": ["fast-readable-async-iterator@2.0.0", "", {}, "sha512-8Sld+DuyWRIftl86ZguJxR2oXCBccOiJxrY/Rj9/7ZBynW8pYMWzIcqxFL1da+25jaWJZVa+HHX/8SsA21JdTA=="], + "fast-uri": ["fast-uri@3.1.0", "", {}, "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA=="], + "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], "fetch-blob": ["fetch-blob@3.2.0", "", { "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" } }, "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ=="], @@ -715,16 +770,20 @@ "get-stdin": ["get-stdin@9.0.0", "", {}, "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA=="], - "get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], + "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="], "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], "github-from-package": ["github-from-package@0.0.0", "", {}, "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="], + "glob": ["glob@11.1.0", "", { "dependencies": { "foreground-child": "^3.3.1", "jackspeak": "^4.1.1", "minimatch": "^10.1.1", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw=="], + "global": ["global@4.4.0", "", { "dependencies": { "min-document": "^2.19.0", "process": "^0.11.10" } }, "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w=="], "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + "got": ["got@11.8.6", "", { "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", "@types/responselike": "^1.0.0", "cacheable-lookup": "^5.0.3", "cacheable-request": "^7.0.2", "decompress-response": "^6.0.0", "http2-wrapper": "^1.0.0-beta.5.2", "lowercase-keys": "^2.0.0", "p-cancelable": "^2.0.0", "responselike": "^2.0.0" } }, "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g=="], + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], "grammex": ["grammex@3.1.11", "", {}, "sha512-HNwLkgRg9SqTAd1N3Uh/MnKwTBTzwBxTOPbXQ8pb0tpwydjk90k4zRE8JUn9fMUiRwKtXFZ1TWFmms3dZHN+Fg=="], @@ -743,10 +802,14 @@ "hono": ["hono@4.10.7", "", {}, "sha512-icXIITfw/07Q88nLSkB9aiUrd8rYzSweK681Kjo/TSggaGbOX4RRyxxm71v+3PC8C/j+4rlxGeoTRxQDkaJkUw=="], + "http-cache-semantics": ["http-cache-semantics@4.2.0", "", {}, "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ=="], + "http-parser-js": ["http-parser-js@0.4.13", "", {}, "sha512-u8u5ZaG0Tr/VvHlucK2ufMuOp4/5bvwgneXle+y228K5rMbJOlVjThONcaAw3ikAy8b2OO9RfEucdMHFz3UWMA=="], "http-status-codes": ["http-status-codes@2.3.0", "", {}, "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA=="], + "http2-wrapper": ["http2-wrapper@1.0.3", "", { "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" } }, "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg=="], + "human-signals": ["human-signals@4.3.1", "", {}, "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ=="], "i": ["i@0.3.7", "", {}, "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q=="], @@ -775,6 +838,8 @@ "is-file": ["is-file@1.0.0", "", {}, "sha512-ZGMuc+xA8mRnrXtmtf2l/EkIW2zaD2LSBWlaOVEF6yH4RTndHob65V4SwWWdtGKVthQfXPVKsXqw4TDUjbVxVQ=="], + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "is-generator-function": ["is-generator-function@1.1.2", "", { "dependencies": { "call-bound": "^1.0.4", "generator-function": "^2.0.0", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA=="], "is-property": ["is-property@1.0.2", "", {}, "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g=="], @@ -793,6 +858,8 @@ "isomorphic-ws": ["isomorphic-ws@4.0.1", "", { "peerDependencies": { "ws": "*" } }, "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w=="], + "jackspeak": ["jackspeak@4.1.1", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" } }, "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ=="], + "jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], "join-async-iterator": ["join-async-iterator@1.1.1", "", {}, "sha512-ATse+nuNeKZ9K1y27LKdvPe/GCe9R/u9dw9vI248e+vILeRK3IcJP4JUPAlSmKRCDK0cKhEwfmiw4Skqx7UnGQ=="], @@ -807,6 +874,10 @@ "json-bigint": ["json-bigint@1.0.0", "", { "dependencies": { "bignumber.js": "^9.0.0" } }, "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ=="], + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], "junk": ["junk@4.0.1", "", {}, "sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ=="], @@ -817,6 +888,8 @@ "k-rpc-socket": ["k-rpc-socket@1.11.1", "", { "dependencies": { "bencode": "^2.0.0", "chrome-dgram": "^3.0.2", "chrome-dns": "^1.0.0", "chrome-net": "^3.3.2" } }, "sha512-8xtA8oqbZ6v1Niryp2/g4GxW16EQh5MvrUylQoOG+zcrDff5CKttON2XUXvMwlIHq4/2zfPVFiinAccJ+WhxoA=="], + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + "kysely": ["kysely@0.28.8", "", {}, "sha512-QUOgl5ZrS9IRuhq5FvOKFSsD/3+IA6MLE81/bOOTRA/YQpKDza2sFdN5g6JCB9BOpqMJDGefLCQ9F12hRS13TA=="], "last-one-wins": ["last-one-wins@1.0.4", "", {}, "sha512-t+KLJFkHPQk8lfN6WBOiGkiUXoub+gnb2XTYI2P3aiISL+94xgZ1vgz1SXN/N4hthuOoLXarXfBZPUruyjQtfA=="], @@ -835,6 +908,8 @@ "long": ["long@5.3.2", "", {}, "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="], + "lowercase-keys": ["lowercase-keys@2.0.0", "", {}, "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="], + "lru": ["lru@3.1.0", "", { "dependencies": { "inherits": "^2.0.1" } }, "sha512-5OUtoiVIGU4VXBOshidmtOsvBIvcQR6FD/RzWSvaeHyxCGB+PCUCu+52lqMfdc0h/2CLvHhZS4TwUmMQrrMbBQ=="], "lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], @@ -843,6 +918,8 @@ "lt_donthave": ["lt_donthave@2.0.6", "", { "dependencies": { "debug": "^4.2.0", "unordered-array-remove": "^1.0.2" } }, "sha512-ZVcaRbZpNB6ugwa5T9gUN0Jg9XGT9cyVjZJvdbN3V27rOQ170rEs//zaQXEQkTCBhh3i/JnCRF472KWHJu74Yg=="], + "lucid-cardano": ["lucid-cardano@0.10.11", "", { "dependencies": { "@peculiar/webcrypto": "^1.4.0", "node-fetch": "^3.2.3", "ws": "^8.10.0" } }, "sha512-bpfrLQjpathPAH/N+BMXfLzp+O5P7LtZjg6aaVsC3EUfRo7I9Y85ZIhxpfEIati+CcpRviWRVMKcAlDnPuPFkA=="], + "magnet-uri": ["magnet-uri@7.0.7", "", { "dependencies": { "@thaunknown/thirty-two": "^1.0.5", "bep53-range": "^2.0.0", "uint8-util": "^2.2.5" } }, "sha512-z/+dB2NQsXaDuxVBjoPLpZT8ePaacUmoontoFheRBl++nALHYs4qV9MmhTur9e4SaMbkCR/uPX43UMzEOoeyaw=="], "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], @@ -865,8 +942,12 @@ "min-document": ["min-document@2.19.2", "", { "dependencies": { "dom-walk": "^0.1.0" } }, "sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A=="], + "minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + "mkdirp-classic": ["mkdirp-classic@0.5.3", "", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="], "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], @@ -879,7 +960,7 @@ "nan": ["nan@2.23.1", "", {}, "sha512-r7bBUGKzlqk8oPBDYxt6Z0aEdF1G1rwlMcLk8LCOMbOzf0mG+JUfUzG4fIMWwHWP0iyaLWEQZJmtB7nOHEm/qw=="], - "nanoassert": ["nanoassert@2.0.0", "", {}, "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA=="], + "nanoassert": ["nanoassert@1.1.0", "", {}, "sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ=="], "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], @@ -897,7 +978,7 @@ "node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="], - "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], + "node-fetch": ["node-fetch@3.3.2", "", { "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", "formdata-polyfill": "^4.0.10" } }, "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA=="], "node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="], @@ -907,6 +988,8 @@ "nofilter": ["nofilter@3.1.0", "", {}, "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g=="], + "normalize-url": ["normalize-url@6.1.0", "", {}, "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="], + "npm": ["npm@9.9.4", "", { "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^6.5.0", "@npmcli/config": "^6.4.0", "@npmcli/fs": "^3.1.0", "@npmcli/map-workspaces": "^3.0.4", "@npmcli/package-json": "^4.0.1", "@npmcli/promise-spawn": "^6.0.2", "@npmcli/run-script": "^6.0.2", "abbrev": "^2.0.0", "archy": "~1.0.0", "cacache": "^17.1.4", "chalk": "^5.3.0", "ci-info": "^4.0.0", "cli-columns": "^4.0.0", "cli-table3": "^0.6.3", "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", "glob": "^10.3.10", "graceful-fs": "^4.2.11", "hosted-git-info": "^6.1.3", "ini": "^4.1.1", "init-package-json": "^5.0.0", "is-cidr": "^4.0.2", "json-parse-even-better-errors": "^3.0.1", "libnpmaccess": "^7.0.2", "libnpmdiff": "^5.0.20", "libnpmexec": "^6.0.4", "libnpmfund": "^4.2.1", "libnpmhook": "^9.0.3", "libnpmorg": "^5.0.4", "libnpmpack": "^5.0.20", "libnpmpublish": "^7.5.1", "libnpmsearch": "^6.0.2", "libnpmteam": "^5.0.3", "libnpmversion": "^4.0.2", "make-fetch-happen": "^11.1.1", "minimatch": "^9.0.3", "minipass": "^7.0.4", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", "node-gyp": "^9.4.1", "nopt": "^7.2.0", "normalize-package-data": "^5.0.0", "npm-audit-report": "^5.0.0", "npm-install-checks": "^6.3.0", "npm-package-arg": "^10.1.0", "npm-pick-manifest": "^8.0.2", "npm-profile": "^7.0.1", "npm-registry-fetch": "^14.0.5", "npm-user-validate": "^2.0.0", "npmlog": "^7.0.1", "p-map": "^4.0.0", "pacote": "^15.2.0", "parse-conflict-json": "^3.0.1", "proc-log": "^3.0.0", "qrcode-terminal": "^0.12.0", "read": "^2.1.0", "semver": "^7.6.0", "sigstore": "^1.9.0", "spdx-expression-parse": "^3.0.1", "ssri": "^10.0.5", "supports-color": "^9.4.0", "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", "validate-npm-package-name": "^5.0.0", "which": "^3.0.1", "write-file-atomic": "^5.0.1" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" } }, "sha512-NzcQiLpqDuLhavdyJ2J3tGJ/ni/ebcqHVFZkv1C4/6lblraUPbPgCJ4Vhb4oa3FFhRa2Yj9gA58jGH/ztKueNQ=="], "npm-run-path": ["npm-run-path@5.3.0", "", { "dependencies": { "path-key": "^4.0.0" } }, "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ=="], @@ -919,14 +1002,20 @@ "onetime": ["onetime@6.0.0", "", { "dependencies": { "mimic-fn": "^4.0.0" } }, "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ=="], + "p-cancelable": ["p-cancelable@2.1.1", "", {}, "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="], + "p-queue": ["p-queue@9.0.1", "", { "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^7.0.0" } }, "sha512-RhBdVhSwJb7Ocn3e8ULk4NMwBEuOxe+1zcgphUy9c2e5aR/xbEsdVXxHJ3lynw6Qiqu7OINEyHlZkiblEpaq7w=="], "p-timeout": ["p-timeout@7.0.1", "", {}, "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg=="], + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + "parse-torrent": ["parse-torrent@11.0.19", "", { "dependencies": { "bencode": "^4.0.0", "cross-fetch-ponyfill": "^1.0.3", "get-stdin": "^9.0.0", "magnet-uri": "^7.0.7", "queue-microtask": "^1.2.3", "uint8-util": "^2.2.5" }, "bin": { "parse-torrent": "bin/cmd.js" } }, "sha512-T0lEkDdFVQsy0YxHIKjzDHSgt/yl57f3INs5jl7OZqAm77XDF0FgRgrv3LCKgSqsTOrMwYaF0t2761WKdvhgig=="], "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + "path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], "pbkdf2": ["pbkdf2@3.1.5", "", { "dependencies": { "create-hash": "^1.2.0", "create-hmac": "^1.1.7", "ripemd160": "^2.0.3", "safe-buffer": "^5.2.1", "sha.js": "^2.4.12", "to-buffer": "^1.2.1" } }, "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ=="], @@ -995,6 +1084,8 @@ "queue-tick": ["queue-tick@1.0.1", "", {}, "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="], + "quick-lru": ["quick-lru@5.1.1", "", {}, "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="], + "random-access-file": ["random-access-file@4.1.2", "", { "dependencies": { "bare-fs": "^4.0.1", "bare-path": "^3.0.0", "random-access-storage": "^3.0.0" }, "optionalDependencies": { "fs-native-extensions": "^1.3.1" } }, "sha512-GQM6R78DceZDcQod8KxlDFwXIiUvlvuy1EOzxTDsjuDjW5NlnlZi0MOk6iI4itAj/2vcvdqcEExYbVpC/dJcEw=="], "random-access-storage": ["random-access-storage@3.0.2", "", { "dependencies": { "bare-events": "^2.2.0", "queue-tick": "^1.0.0" } }, "sha512-Es9maUyWdJXWKckKy9s1+vT+DEgAt+PBb9lxPaake/0EDUsHehloKGv9v1zimS2V3gpFAcQXubvc1Rgci2sDPQ=="], @@ -1033,10 +1124,18 @@ "require-addon": ["require-addon@1.2.0", "", { "dependencies": { "bare-addon-resolve": "^1.3.0" } }, "sha512-VNPDZlYgIYQwWp9jMTzljx+k0ZtatKlcvOhktZ/anNPI3dQ9NXk7cq2U4iJ1wd9IrytRnYhyEocFWbkdPb+MYA=="], + "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], + + "resolve-alpn": ["resolve-alpn@1.2.1", "", {}, "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="], + + "responselike": ["responselike@2.0.1", "", { "dependencies": { "lowercase-keys": "^2.0.0" } }, "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw=="], + "retry": ["retry@0.12.0", "", {}, "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="], "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + "rimraf": ["rimraf@6.0.1", "", { "dependencies": { "glob": "^11.0.0", "package-json-from-dist": "^1.0.0" }, "bin": { "rimraf": "dist/esm/bin.mjs" } }, "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A=="], + "ripemd160": ["ripemd160@2.0.3", "", { "dependencies": { "hash-base": "^3.1.2", "inherits": "^2.0.4" } }, "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA=="], "rou3": ["rou3@0.5.1", "", {}, "sha512-OXMmJ3zRk2xeXFGfA3K+EOPHC5u7RDFG7lIOx0X1pdnhUkI8MdVrbV+sNsD80ElpUZ+MRHdyxPnFthq9VHs8uQ=="], @@ -1103,10 +1202,18 @@ "streamx": ["streamx@2.22.1", "", { "dependencies": { "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" }, "optionalDependencies": { "bare-events": "^2.2.0" } }, "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA=="], + "string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + "string2compact": ["string2compact@2.0.1", "", { "dependencies": { "addr-to-ip-port": "^2.0.0", "ipaddr.js": "^2.0.0" } }, "sha512-Bm/T8lHMTRXw+u83LE+OW7fXmC/wM+Mbccfdo533ajSBNxddDHlRrvxE49NdciGHgXkUQM5WYskJ7uTkbBUI0A=="], "string_decoder": ["string_decoder@0.10.31", "", {}, "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="], + "strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "strip-final-newline": ["strip-final-newline@3.0.0", "", {}, "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="], "strip-json-comments": ["strip-json-comments@2.0.1", "", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="], @@ -1227,6 +1334,10 @@ "wif": ["wif@2.0.6", "", { "dependencies": { "bs58check": "<3.0.0" } }, "sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ=="], + "wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + + "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], "ws": ["ws@8.17.1", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ=="], @@ -1239,6 +1350,8 @@ "yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + "yaml": ["yaml@2.8.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="], + "zeptomatch": ["zeptomatch@2.0.2", "", { "dependencies": { "grammex": "^3.1.10" } }, "sha512-H33jtSKf8Ijtb5BW6wua3G5DhnFjbFML36eFu+VdOoVY4HD9e7ggjqdM6639B+L87rjnR6Y+XeRzBXZdy52B/g=="], "zod": ["zod@4.1.13", "", {}, "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig=="], @@ -1255,6 +1368,8 @@ "@cardano-sdk/crypto/@cardano-sdk/util": ["@cardano-sdk/util@0.16.0", "", { "dependencies": { "bech32": "^2.0.0", "lodash": "^4.17.21", "serialize-error": "^8", "ts-custom-error": "^3.2.0", "ts-log": "^2.2.4", "type-fest": "^2.19.0" } }, "sha512-f0tfX8oiauqAFCyyc/o2Ouezyk83QD4zqLl4DUjZNyCtITL8gBHh25Bkw7RUCGEZ+hf6Qms1n0ui0j3wVY7zRg=="], + "@cardano-sdk/crypto/blake2b": ["blake2b@2.1.4", "", { "dependencies": { "blake2b-wasm": "^2.4.0", "nanoassert": "^2.0.0" } }, "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A=="], + "@cardano-sdk/dapp-connector/@cardano-sdk/core": ["@cardano-sdk/core@0.46.11", "", { "dependencies": { "@biglup/is-cid": "^1.0.3", "@cardano-ogmios/client": "6.9.0", "@cardano-ogmios/schema": "6.9.0", "@cardano-sdk/crypto": "~0.4.4", "@cardano-sdk/util": "~0.17.1", "@foxglove/crc": "^0.0.3", "@scure/base": "^1.1.1", "fraction.js": "4.0.1", "ip-address": "^9.0.5", "lodash": "^4.17.21", "ts-custom-error": "^3.2.0", "ts-log": "^2.2.4", "web-encoding": "^1.1.5" }, "peerDependencies": { "rxjs": "^7.4.0" }, "optionalPeers": ["rxjs"] }, "sha512-N/f0Gna41Jsw/KFdulqgpTks4VoeNG1rhTYmGkgtUkMqBTYK+IdaOwMH4QrNxz08VpbOGv76Km3phqGuvTUinQ=="], "@cardano-sdk/dapp-connector/@cardano-sdk/crypto": ["@cardano-sdk/crypto@0.4.4", "", { "dependencies": { "@cardano-sdk/util": "~0.17.1", "blake2b": "^2.1.4", "i": "^0.3.7", "libsodium-wrappers-sumo": "^0.7.5", "lodash": "^4.17.21", "pbkdf2": "^3.1.3", "ts-custom-error": "^3.2.0", "ts-log": "^2.2.4" }, "peerDependencies": { "@dcspark/cardano-multiplatform-lib-asmjs": "^3.1.1", "@dcspark/cardano-multiplatform-lib-browser": "^3.1.1", "@dcspark/cardano-multiplatform-lib-nodejs": "^3.1.1" }, "optionalPeers": ["@dcspark/cardano-multiplatform-lib-asmjs", "@dcspark/cardano-multiplatform-lib-browser", "@dcspark/cardano-multiplatform-lib-nodejs"] }, "sha512-jvElFox4TPlTZRtjfw0HlkucRD90EeijfhMT0uD0N6ptkn8sRQXUFO+z+1Zcp9v9L2V324N7+2ThpjjBEoUdXQ=="], @@ -1269,6 +1384,10 @@ "@fabianbormann/meerkat/bs58check": ["bs58check@4.0.0", "", { "dependencies": { "@noble/hashes": "^1.2.0", "bs58": "^6.0.0" } }, "sha512-FsGDOnFg9aVI9erdriULkd/JjEWONV/lQE5aYziB5PoBsXRind56lh8doIZIc9X4HoxT5x4bLjMWN1/NB8Zp5g=="], + "@meshsdk/common/blake2b": ["blake2b@2.1.4", "", { "dependencies": { "blake2b-wasm": "^2.4.0", "nanoassert": "^2.0.0" } }, "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A=="], + + "@meshsdk/provider/cbor": ["cbor@10.0.11", "", { "dependencies": { "nofilter": "^3.0.2" } }, "sha512-vIwORDd/WyB8Nc23o2zNN5RrtFGlR6Fca61TtjkUXueI3Jf2DOZDl1zsshvBntZ3wZHBM9ztjnkXSmzQDaq3WA=="], + "@meshsdk/web3-sdk/@meshsdk/bitcoin": ["@meshsdk/bitcoin@1.9.0-beta.68", "", { "dependencies": { "@bitcoin-js/tiny-secp256k1-asmjs": "^2.2.3", "bip174": "^3.0.0-rc.1", "bip32": "^4.0.0", "bip39": "^3.1.0", "bitcoinjs-lib": "^6.1.7", "ecpair": "^2.0.0" } }, "sha512-Ni050tWpSR9GABYVgoB/3tOtINJElg8+A4BWsqU0Ez/HK0AJBxLj+/gKAwzIAsOw0utcxd7mgADFUjXZU+oDlQ=="], "@meshsdk/web3-sdk/@meshsdk/common": ["@meshsdk/common@1.9.0-beta.68", "", { "dependencies": { "bech32": "^2.0.0", "bip39": "3.1.0", "blake2b": "^2.1.4", "blakejs": "^1.2.1" } }, "sha512-rmL2uZzSTEW52OYNCdRF1mBdL4pXLcMwjNZrK3Np/6E1zl2to0pArMfuc2bUl5urTIDfTqa2CsuWpgzZQ47N6Q=="], @@ -1319,12 +1438,16 @@ "c12/dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], - "cross-fetch-ponyfill/node-fetch": ["node-fetch@3.3.2", "", { "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", "formdata-polyfill": "^4.0.10" } }, "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA=="], + "clone-response/mimic-response": ["mimic-response@1.0.1", "", {}, "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="], + + "cross-fetch/node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], "ethers/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="], "ethers/@types/node": ["@types/node@22.7.5", "", { "dependencies": { "undici-types": "~6.19.2" } }, "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ=="], + "execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], + "execa/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], "hash-base/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], @@ -1755,6 +1878,8 @@ "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], + "path-scurry/lru-cache": ["lru-cache@11.2.2", "", {}, "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg=="], + "pg-types/postgres-array": ["postgres-array@2.0.0", "", {}, "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="], "proper-lockfile/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], @@ -1771,6 +1896,12 @@ "socks/ip-address": ["ip-address@10.1.0", "", {}, "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q=="], + "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "tar-stream/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], "utp-native/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], @@ -1779,10 +1910,30 @@ "wif/bs58check": ["bs58check@2.1.2", "", { "dependencies": { "bs58": "^4.0.0", "create-hash": "^1.1.0", "safe-buffer": "^5.1.2" } }, "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA=="], + "wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "@cardano-sdk/crypto/blake2b/blake2b-wasm": ["blake2b-wasm@2.4.0", "", { "dependencies": { "b4a": "^1.0.1", "nanoassert": "^2.0.0" } }, "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w=="], + + "@cardano-sdk/crypto/blake2b/nanoassert": ["nanoassert@2.0.0", "", {}, "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA=="], + + "@cardano-sdk/dapp-connector/@cardano-sdk/crypto/blake2b": ["blake2b@2.1.4", "", { "dependencies": { "blake2b-wasm": "^2.4.0", "nanoassert": "^2.0.0" } }, "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A=="], + "@cardano-sdk/input-selection/@cardano-sdk/core/@cardano-sdk/crypto": ["@cardano-sdk/crypto@0.1.32", "", { "dependencies": { "@cardano-sdk/util": "~0.15.5", "blake2b": "^2.1.4", "i": "^0.3.7", "libsodium-wrappers-sumo": "^0.7.5", "lodash": "^4.17.21", "npm": "^9.3.0", "pbkdf2": "^3.1.2", "ts-custom-error": "^3.2.0", "ts-log": "^2.2.4" }, "peerDependencies": { "@dcspark/cardano-multiplatform-lib-asmjs": "^3.1.1", "@dcspark/cardano-multiplatform-lib-browser": "^3.1.1", "@dcspark/cardano-multiplatform-lib-nodejs": "^3.1.1" }, "optionalPeers": ["@dcspark/cardano-multiplatform-lib-asmjs", "@dcspark/cardano-multiplatform-lib-browser", "@dcspark/cardano-multiplatform-lib-nodejs"] }, "sha512-RCKFvkzD32QpKQ0jULADVRNmfBNkCwiZl2nlFbkZ3aCrfIex+6/2CizoagJ161fA7lL5/HGuzWfjOg3GX2ax6w=="], + "@cardano-sdk/key-management/@cardano-sdk/crypto/blake2b": ["blake2b@2.1.4", "", { "dependencies": { "blake2b-wasm": "^2.4.0", "nanoassert": "^2.0.0" } }, "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A=="], + "@fabianbormann/meerkat/bs58check/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="], + "@meshsdk/common/blake2b/blake2b-wasm": ["blake2b-wasm@2.4.0", "", { "dependencies": { "b4a": "^1.0.1", "nanoassert": "^2.0.0" } }, "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w=="], + + "@meshsdk/common/blake2b/nanoassert": ["nanoassert@2.0.0", "", {}, "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA=="], + + "@meshsdk/web3-sdk/@meshsdk/common/blake2b": ["blake2b@2.1.4", "", { "dependencies": { "blake2b-wasm": "^2.4.0", "nanoassert": "^2.0.0" } }, "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A=="], + "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/provider": ["@meshsdk/provider@1.9.0-beta.68", "", { "dependencies": { "@meshsdk/common": "1.9.0-beta.68", "@meshsdk/core-cst": "1.9.0-beta.68", "@utxorpc/sdk": "^0.6.7", "@utxorpc/spec": "^0.16.0", "axios": "^1.7.2", "cbor": "^10.0.9" } }, "sha512-FzcPet8fDBT37CNc2cD/iYGhYsHar6E1dQtt/p2P+DGqnKd7IYp7L6T98fbEBzrJJZI8S0BuhLmRSdAQ0OTqSg=="], "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/react": ["@meshsdk/react@1.9.0-beta.68", "", { "dependencies": { "@fabianbormann/cardano-peer-connect": "^1.2.18", "@meshsdk/bitcoin": "1.9.0-beta.68", "@meshsdk/common": "1.9.0-beta.68", "@meshsdk/transaction": "1.9.0-beta.68", "@meshsdk/wallet": "1.9.0-beta.68", "@meshsdk/web3-sdk": "0.0.37", "@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.1.2", "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-label": "^2.1.1", "@radix-ui/react-tooltip": "^1.1.4", "class-variance-authority": "^0.7.1", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7" }, "peerDependencies": { "react": ">=16.0.0 <20.0.0 || >=16.0.0-rc <20.0.0-rc || >=19.0.0-rc", "react-dom": ">=16.0.0 <20.0.0 || >=16.0.0-rc <20.0.0-rc || >=19.0.0-rc" } }, "sha512-6LPeyj8qChVBpE+ulBah/WS2N5loLpxnrvYFQ6i4po0kRpLDta13jxF7qE4lQ00olsU5qnjEh5KOCbnhhCxSmw=="], @@ -1855,12 +2006,34 @@ "npm/wrap-ansi/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + "string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "tar-stream/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], "utp-native/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], "wif/bs58check/bs58": ["bs58@4.0.1", "", { "dependencies": { "base-x": "^3.0.2" } }, "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw=="], + "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "@cardano-sdk/dapp-connector/@cardano-sdk/crypto/blake2b/blake2b-wasm": ["blake2b-wasm@2.4.0", "", { "dependencies": { "b4a": "^1.0.1", "nanoassert": "^2.0.0" } }, "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w=="], + + "@cardano-sdk/dapp-connector/@cardano-sdk/crypto/blake2b/nanoassert": ["nanoassert@2.0.0", "", {}, "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA=="], + + "@cardano-sdk/input-selection/@cardano-sdk/core/@cardano-sdk/crypto/blake2b": ["blake2b@2.1.4", "", { "dependencies": { "blake2b-wasm": "^2.4.0", "nanoassert": "^2.0.0" } }, "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A=="], + + "@cardano-sdk/key-management/@cardano-sdk/crypto/blake2b/blake2b-wasm": ["blake2b-wasm@2.4.0", "", { "dependencies": { "b4a": "^1.0.1", "nanoassert": "^2.0.0" } }, "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w=="], + + "@cardano-sdk/key-management/@cardano-sdk/crypto/blake2b/nanoassert": ["nanoassert@2.0.0", "", {}, "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA=="], + + "@meshsdk/web3-sdk/@meshsdk/common/blake2b/blake2b-wasm": ["blake2b-wasm@2.4.0", "", { "dependencies": { "b4a": "^1.0.1", "nanoassert": "^2.0.0" } }, "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w=="], + + "@meshsdk/web3-sdk/@meshsdk/common/blake2b/nanoassert": ["nanoassert@2.0.0", "", {}, "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA=="], + + "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/provider/cbor": ["cbor@10.0.11", "", { "dependencies": { "nofilter": "^3.0.2" } }, "sha512-vIwORDd/WyB8Nc23o2zNN5RrtFGlR6Fca61TtjkUXueI3Jf2DOZDl1zsshvBntZ3wZHBM9ztjnkXSmzQDaq3WA=="], + "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/react/@meshsdk/web3-sdk": ["@meshsdk/web3-sdk@0.0.37", "", { "dependencies": { "@meshsdk/bitcoin": "1.9.0-beta.53", "@meshsdk/common": "1.9.0-beta.53", "@meshsdk/core-cst": "1.9.0-beta.53", "@meshsdk/wallet": "1.9.0-beta.53", "@peculiar/webcrypto": "^1.5.0", "axios": "^1.8.3", "base32-encoding": "^1.0.0", "uuid": "^11.1.0" } }, "sha512-uRG0jLjsa83JbPZqnVkec3gjvi0LEMiu1E6ItUALEnKUTTuhDOe3Cx4Ov1PbPTsYVsGRq61DCgzCNHSh2bXy+Q=="], "bl/readable-stream/string_decoder/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], @@ -1899,6 +2072,10 @@ "wif/bs58check/bs58/base-x": ["base-x@3.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA=="], + "@cardano-sdk/input-selection/@cardano-sdk/core/@cardano-sdk/crypto/blake2b/blake2b-wasm": ["blake2b-wasm@2.4.0", "", { "dependencies": { "b4a": "^1.0.1", "nanoassert": "^2.0.0" } }, "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w=="], + + "@cardano-sdk/input-selection/@cardano-sdk/core/@cardano-sdk/crypto/blake2b/nanoassert": ["nanoassert@2.0.0", "", {}, "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA=="], + "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/react/@meshsdk/web3-sdk/@meshsdk/bitcoin": ["@meshsdk/bitcoin@1.9.0-beta.53", "", { "dependencies": { "@bitcoin-js/tiny-secp256k1-asmjs": "^2.2.3", "bip174": "^3.0.0-rc.1", "bip32": "^4.0.0", "bip39": "^3.1.0", "bitcoinjs-lib": "^6.1.7", "ecpair": "^2.0.0" } }, "sha512-nl6+UZT05vpWUT+Vic2IkhfeJPZlNHm0zvDlOmos5u2JcC1li9T0QmMjYLvyaSj0u29Q0v+iRR4fvF0a8RZTQA=="], "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/react/@meshsdk/web3-sdk/@meshsdk/common": ["@meshsdk/common@1.9.0-beta.53", "", { "dependencies": { "bech32": "^2.0.0", "bip39": "3.1.0", "blake2b": "^2.1.4", "blakejs": "^1.2.1" } }, "sha512-GH75W2P4LPb8MS/F+ftP1wmf2UhSYsug9Naq09bvEU1woohJLmpkJ6JJ1e9fBbAK/N3VRVQEGvv+yM4zs634rQ=="], @@ -1921,10 +2098,16 @@ "npm/rimraf/glob/minimatch/brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/react/@meshsdk/web3-sdk/@meshsdk/common/blake2b": ["blake2b@2.1.4", "", { "dependencies": { "blake2b-wasm": "^2.4.0", "nanoassert": "^2.0.0" } }, "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A=="], + "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/react/@meshsdk/web3-sdk/@meshsdk/wallet/@meshsdk/transaction": ["@meshsdk/transaction@1.9.0-beta.53", "", { "dependencies": { "@cardano-sdk/core": "^0.45.5", "@cardano-sdk/input-selection": "^0.13.33", "@cardano-sdk/util": "^0.15.5", "@meshsdk/common": "1.9.0-beta.53", "@meshsdk/core-cst": "1.9.0-beta.53", "json-bigint": "^1.0.0" } }, "sha512-U53sj8Qve9/XQPqy6gaO7Sm57Fq0tGcYcTlIUq2XUOZtVV0ad88qvCakj9AG0uSq0WnrvPk+L0ExmnnzyL/akw=="], "npm/node-gyp/make-fetch-happen/cacache/glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], "npm/node-gyp/make-fetch-happen/cacache/unique-filename/unique-slug": ["unique-slug@3.0.0", "", { "dependencies": { "imurmurhash": "^0.1.4" } }, "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w=="], + + "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/react/@meshsdk/web3-sdk/@meshsdk/common/blake2b/blake2b-wasm": ["blake2b-wasm@2.4.0", "", { "dependencies": { "b4a": "^1.0.1", "nanoassert": "^2.0.0" } }, "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w=="], + + "@meshsdk/web3-sdk/@meshsdk/core/@meshsdk/react/@meshsdk/web3-sdk/@meshsdk/common/blake2b/nanoassert": ["nanoassert@2.0.0", "", {}, "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA=="], } } diff --git a/package.json b/package.json index 0358260..7e0e137 100644 --- a/package.json +++ b/package.json @@ -1,29 +1,32 @@ { - "name": "dagent-api", - "scripts": { - "dev": "bun run --hot src/index.ts", - "db:deploy": "bunx prisma migrate deploy && bunx prisma generate" - }, - "dependencies": { - "@meshsdk/core": "^1.9.0-beta.87", - "@prisma/adapter-pg": "^7.0.1", - "@prisma/client": "^7.0.1", - "@types/node": "^24.10.1", + "name": "dagent-api", + "scripts": { + "dev": "bun run --hot src/index.ts", + "build": "bunx tsc --noEmit", + "db:deploy": "bunx prisma migrate deploy && bunx prisma generate" + }, + "dependencies": { + "@blockfrost/blockfrost-js": "^6.0.0", + "@meshsdk/core": "^1.9.0-beta.87", + "@prisma/adapter-pg": "^7.0.1", + "@prisma/client": "^7.0.1", + "@types/node": "^24.10.1", "@upstash/redis": "^1.35.7", - "axios": "^1.13.2", - "better-auth": "^1.3.16", + "axios": "^1.13.2", + "better-auth": "^1.3.16", "chromadb": "^3.1.6", - "dotenv": "^17.2.3", - "ethers": "^6.15.0", - "hono": "^4.9.8", - "pg": "^8.16.3", - "prisma": "^7.0.1", - "sharp": "^0.34.4", - "zod": "^4.1.11" - }, - "devDependencies": { - "@types/bun": "latest", - "@types/dotenv": "^8.2.3", - "@types/pg": "^8.15.6" - } -} \ No newline at end of file + "dotenv": "^17.2.3", + "ethers": "^6.15.0", + "hono": "^4.9.8", + "lucid-cardano": "^0.10.11", + "pg": "^8.16.3", + "prisma": "^7.0.1", + "sharp": "^0.34.4", + "zod": "^4.1.11" + }, + "devDependencies": { + "@types/bun": "latest", + "@types/dotenv": "^8.2.3", + "@types/pg": "^8.15.6" + } +} diff --git a/src/lib/contracts/cardano/abis/plutus.json b/src/lib/contracts/cardano/abis/plutus.json new file mode 100644 index 0000000..79d7366 --- /dev/null +++ b/src/lib/contracts/cardano/abis/plutus.json @@ -0,0 +1,376 @@ +{ + "preamble": { + "title": "dagent/dagent-contractor-cardano", + "description": "Aiken contracts for project 'dagent/dagent-contractor-cardano'", + "version": "0.0.0", + "plutusVersion": "v3", + "compiler": { + "name": "Aiken", + "version": "v1.1.19+e525483" + }, + "license": "Apache-2.0" + }, + "validators": [ + { + "title": "agents/agents.agent_contract.spend", + "datum": { + "title": "datum_opt", + "schema": { + "$ref": "#/definitions/agents~1agents~1AgentDatum" + } + }, + "redeemer": { + "title": "redeemer", + "schema": { + "$ref": "#/definitions/agents~1agents~1AgentRedeemer" + } + }, + "compiledCode": "5905e701010029800aba2aba1aba0aab9faab9eaab9dab9a488888896600264653001300800198041804800cdc3a400530080024888966002600460106ea800e26466453001159800980098059baa00289919912cc004c020c038dd5180918099809801c4cc88c966002600e60226ea8006264b30013370e900218091baa0018992cc004c024c04cdd5000c4c8cc89660026036003132330010013758603600444b30010018cc0048c074c07800644646600200200644b30010018a60103d87a80008992cc004cdc79bae3021301e37540020091300e330200014bd7044cc00c00cc08800901c1810000a03c980c1baa0149180e980f180f180f180f180f180f180f000c8c074c078c078c078c078c078c078c078c07800522222332259800980a802c4c8ca6002604c0033259800800c5300103d87a800089809998129813000a5eb810241bac30053022375402b375c604a0049112cc004c068c090dd500144c9660033001330083758601a604c6ea806000a942945024456600266ebcc034c098dd50099ba7330283016330283752004660506052604c6ea800ccc0a0c0a4014cc0a0c0a4010cc0a2600294698103d87a8000a60103d87980004090660506ea0004cc0a0dd4000998141814981500225eb80dd6180698131baa018899b8f375c6052604c6ea804cdd7181498131baa0188a50409114a08120c018c024c094dd500c4590230c094004c080dd500dc566002603200b13233229800980e18111baa30260029bae30263027002998049bac300a3023375402a0029112cc004c06cc094dd5000c4c9660026464660020026eb0c030c0a4dd500e112cc00400629422b30013371e6eb8c0b400400e2946266004004605c002814102b1bae300e3027375400315980099baf300e302737540286e9ccc0a4c05ccc0a4c0a8c09cdd500099814980718139baa00133029301830273754002660526054605660566056604e6ea8004cc0a660020094c0103d87a8000a60103d8798000409466052605460566056605660566056604e6ea8004cc0a4dd41804180598139baa01a330293752b3001301c371a0071375c6016604e6ea8006200681292f5c064660020026eb0c03cc0a0dd500d112cc004006297ae0899912cc006600266e3cdd7181718159baa002009a50a5140a513302d00233004004001899802002000a052302c001302d00140a913371e6eb8c0a8c09cdd500a1bae302a3027375403314a0812a2941025181498131baa0018b204818128009bae3024001302037540371330023758600e60406ea8048dd7181198101baa01b407880f08966002602a603e6ea8cc0180080062946294101e1192cc004c064c07cdd5000c4dd6981198101baa0018a400080f0c088c07cdd51803180f9baa00144c966002601e60326ea8006264646464646464653001375c604a003375c604a011375c604a00f375c604a00d375c604a00b32598009811800c56600266e25200430220018b44c070c0880050214590241baa30250049bad30250039bad302500248888888966002605c013133013013302e0128b2056181280098120009811800981100098108009810000980f800980d1baa0018b2030301c00140691640606eb8c060004c064004c050dd5000c59012180b18099baa0018b2022300330123754602a60246ea80062c8080c96600200314c103d87a8000898011980a180a800a5eb810131bac30023011375400846026602860280026e9520008b201a30100013010300d375400660186ea80122c805260166ea801e601e0069112cc004c01000a2646464653001375c602c003375c602c009375c602c007375c602c00491112cc004c06c016017164060301600130150013014001300f3754015159800980400144c8c8ca60026eb8c0540066eb8c05400e64b300130130018acc004cdc4a4008602400316898061809000a0228b20283754602a0049112cc004c06401201316405830150013014001300f375401515980099b874801000a26464b30013015002802c590121bae3013001300f3754015164034806900d0c034c038004dc3a400060126ea800e2c8038601000260066ea802229344d9590011", + "hash": "80686722e0c2c0bf8366c8d45e06c2d8079bf4b323e62b53ae8321c6" + }, + { + "title": "agents/agents.agent_contract.else", + "redeemer": { + "schema": {} + }, + "compiledCode": "5905e701010029800aba2aba1aba0aab9faab9eaab9dab9a488888896600264653001300800198041804800cdc3a400530080024888966002600460106ea800e26466453001159800980098059baa00289919912cc004c020c038dd5180918099809801c4cc88c966002600e60226ea8006264b30013370e900218091baa0018992cc004c024c04cdd5000c4c8cc89660026036003132330010013758603600444b30010018cc0048c074c07800644646600200200644b30010018a60103d87a80008992cc004cdc79bae3021301e37540020091300e330200014bd7044cc00c00cc08800901c1810000a03c980c1baa0149180e980f180f180f180f180f180f180f000c8c074c078c078c078c078c078c078c078c07800522222332259800980a802c4c8ca6002604c0033259800800c5300103d87a800089809998129813000a5eb810241bac30053022375402b375c604a0049112cc004c068c090dd500144c9660033001330083758601a604c6ea806000a942945024456600266ebcc034c098dd50099ba7330283016330283752004660506052604c6ea800ccc0a0c0a4014cc0a0c0a4010cc0a2600294698103d87a8000a60103d87980004090660506ea0004cc0a0dd4000998141814981500225eb80dd6180698131baa018899b8f375c6052604c6ea804cdd7181498131baa0188a50409114a08120c018c024c094dd500c4590230c094004c080dd500dc566002603200b13233229800980e18111baa30260029bae30263027002998049bac300a3023375402a0029112cc004c06cc094dd5000c4c9660026464660020026eb0c030c0a4dd500e112cc00400629422b30013371e6eb8c0b400400e2946266004004605c002814102b1bae300e3027375400315980099baf300e302737540286e9ccc0a4c05ccc0a4c0a8c09cdd500099814980718139baa00133029301830273754002660526054605660566056604e6ea8004cc0a660020094c0103d87a8000a60103d8798000409466052605460566056605660566056604e6ea8004cc0a4dd41804180598139baa01a330293752b3001301c371a0071375c6016604e6ea8006200681292f5c064660020026eb0c03cc0a0dd500d112cc004006297ae0899912cc006600266e3cdd7181718159baa002009a50a5140a513302d00233004004001899802002000a052302c001302d00140a913371e6eb8c0a8c09cdd500a1bae302a3027375403314a0812a2941025181498131baa0018b204818128009bae3024001302037540371330023758600e60406ea8048dd7181198101baa01b407880f08966002602a603e6ea8cc0180080062946294101e1192cc004c064c07cdd5000c4dd6981198101baa0018a400080f0c088c07cdd51803180f9baa00144c966002601e60326ea8006264646464646464653001375c604a003375c604a011375c604a00f375c604a00d375c604a00b32598009811800c56600266e25200430220018b44c070c0880050214590241baa30250049bad30250039bad302500248888888966002605c013133013013302e0128b2056181280098120009811800981100098108009810000980f800980d1baa0018b2030301c00140691640606eb8c060004c064004c050dd5000c59012180b18099baa0018b2022300330123754602a60246ea80062c8080c96600200314c103d87a8000898011980a180a800a5eb810131bac30023011375400846026602860280026e9520008b201a30100013010300d375400660186ea80122c805260166ea801e601e0069112cc004c01000a2646464653001375c602c003375c602c009375c602c007375c602c00491112cc004c06c016017164060301600130150013014001300f3754015159800980400144c8c8ca60026eb8c0540066eb8c05400e64b300130130018acc004cdc4a4008602400316898061809000a0228b20283754602a0049112cc004c06401201316405830150013014001300f375401515980099b874801000a26464b30013015002802c590121bae3013001300f3754015164034806900d0c034c038004dc3a400060126ea800e2c8038601000260066ea802229344d9590011", + "hash": "80686722e0c2c0bf8366c8d45e06c2d8079bf4b323e62b53ae8321c6" + }, + { + "title": "stake/stake.stake.spend", + "datum": { + "title": "datum", + "schema": { + "$ref": "#/definitions/stake~1types~1StakeDatum" + } + }, + "redeemer": { + "title": "r", + "schema": { + "$ref": "#/definitions/stake~1types~1StakeActions" + } + }, + "compiledCode": "59082301010029800aba2aba1aba0aab9faab9eaab9dab9a488888896600264653001300800198041804800cdc3a400530080024888966002600460106ea800e3300130093754007370e90024dc3a4011370e90004c020dd5002244444664464b300130050048991919194c004dd7180c000cdd7180c0024dd7180c001cdd6980c00124444b3001301d005804c5901a0c060004c05c004c058004c044dd500645660026014009132323298009bad30170019bae30170039bae301700248896600260360090078b2030180b800980b00098089baa00c8acc004c01c012264646644b30013019003802c590161bad3016001375c602c004602c00260226ea80322b30013370e900300244c8c966002602e0050038b2028375c602a00260226ea80322b30013006004899192cc004c05c00a0071640506eb8c054004c044dd5006456600266e1d200a0048acc004c044dd500640062c80922b30013370e9006002456600260226ea803200316404916403c807900f201e403c807900f0acc004c010c03cdd5000c66002602660206ea800646028602a003374a900048c050c054c05400644b30010018a4001133700900119801001180b000a0269111919800800802112cc004006200913300330180013300200230190014058911111199119192cc004cdd7992cc004c044c068dd5000c4c966002602060366ea800626464646644b30013025003899198008009bac30250062259800800c4022264b300130183023375400313232323298009bae302b0019bae302b0049bae302b0039bad302b0024888966002606000b13300b00b303000a8b205a18158009815000981480098121baa0018b2044302600140911640886eb4c088004dd6981100118110009810800980e1baa0018b2034301e301b3754003164064600e60346ea8c8cc88c9660026024603a6ea800626042603c6ea80062c80e0cc01cdd61805180e9baa01525980099baf3021301e375400200713375e601a603c6ea8004dd300145282038301e301b3754601460366ea8004dd59805180d9baa300a301b375400264b3001300f301a37540031301e301b3754003164064660086eb0c074c068dd5009119baf301e301b375400201a00514a3164060b30013370e6eb4c020c064dd5000cc004dd6180e180c9baa001a400122337000026eb4c020c06cdd500120088acc004cdc39bad30063019375400260046eb0c070c064dd5000c5268b202e8b202e9800980b9baa013918039980d9ba70013301b37513001001a400122337000026eb4c020c06cdd500120083301b3750600400297ae09b8848001222598009807801c566002601e60346ea805a264646464b3001300500189803198109806998109811002198109811001998109ba800133021302230230024bd701bac3022301f375401f1640746eb4c084004c084004c080004c06cdd500b45901944c966002602a009159800980a980d9baa017899194c004dd71810800cdd698109811000cdd718108012444b30013007002899192cc004c05cc088dd5000c4c96600266e24014dd6980898121baa001899911806acc004c030dd6980998131baa002899814001198140009bac30133026375400b13302800137586026604c6ea8015024180919813181398121baa001330263013302437540026604c6ea0cdc09bad30113024375400200a6604c601260486ea80052f5c064b300130193024375400313230143302830293026375400266050602a604c6ea8004cc0a0dd419b80375a6026604c6ea800401ccc0a0c02cc098dd5000a5eb80c0a0c094dd5000c4c04ccc09cc0a0c094dd500119813980a18129baa00233027375000c6604e6ea401d2f5c08118c04cc090dd5001c59022181318119baa0018b204230253022375400264660020026eb0c094c088dd5009112cc004006298010bd8799fd87a80d87a8080ff00899912cc004cdc79bae300a3025375400400b13013330273013330270024bd70181498129baa0018acc004cdc79bae300a3025375400400f1323014330283029001330283014330280034bd701815181500098129baa001899180a1981418148009981418149815000998141ba73302800337586026604c6ea80092f5c0604a6ea800502320463026001330020023027001409116407c3021001301c375402f164069132598009809802c566002602660386ea80622646644b300130060018992cc004c054c080dd5000c4c96600266e2400cdd6980798111baa001899911805acc004c028dd6980898121baa002899813001000c4005022180819812181298111baa00133024301130223754002660486ea0cdc09bad300f3022375400200666048600e60446ea80052f5c06600c6eb0c094c088dd500914c004cdc79bae30083023375400200b4a14a2810a2c8100c090c084dd5000c5901f198051bac302330203754020466e3cdd7180318109baa0010038b203c375c60420026eb4c084c088004c074dd500c45901b4566002602400b1598009809180e1baa0188992cc004c048c074dd5198041bac3021301e375401c466e3cdd71802180f9baa00100289802998011bac3021301e375401c530013371e6eb8c010c07cdd5000801528528a03a8b2038375c6040603a6ea80622c80da2b30013370e9003002c5a2b30013370e9005002c5a2c80d901b2036406c44646600200200644b30010018a5eb8226644b3001300500289981200119802002000c4cc01001000502018118009812000a04240684603e60406040604000280c844646600200200644b30010018a6103d87a80008992cc004c010006260126603a00297ae0899801801980f8012032301d001406c60040048b201c3011005301130120054590070c020004c00cdd5004452689b2b20021", + "hash": "ecad4ed4b3d3b3eec74b62db57cdecb6eb93119f3e2a18b49d377f92" + }, + { + "title": "stake/stake.stake.else", + "redeemer": { + "schema": {} + }, + "compiledCode": "59082301010029800aba2aba1aba0aab9faab9eaab9dab9a488888896600264653001300800198041804800cdc3a400530080024888966002600460106ea800e3300130093754007370e90024dc3a4011370e90004c020dd5002244444664464b300130050048991919194c004dd7180c000cdd7180c0024dd7180c001cdd6980c00124444b3001301d005804c5901a0c060004c05c004c058004c044dd500645660026014009132323298009bad30170019bae30170039bae301700248896600260360090078b2030180b800980b00098089baa00c8acc004c01c012264646644b30013019003802c590161bad3016001375c602c004602c00260226ea80322b30013370e900300244c8c966002602e0050038b2028375c602a00260226ea80322b30013006004899192cc004c05c00a0071640506eb8c054004c044dd5006456600266e1d200a0048acc004c044dd500640062c80922b30013370e9006002456600260226ea803200316404916403c807900f201e403c807900f0acc004c010c03cdd5000c66002602660206ea800646028602a003374a900048c050c054c05400644b30010018a4001133700900119801001180b000a0269111919800800802112cc004006200913300330180013300200230190014058911111199119192cc004cdd7992cc004c044c068dd5000c4c966002602060366ea800626464646644b30013025003899198008009bac30250062259800800c4022264b300130183023375400313232323298009bae302b0019bae302b0049bae302b0039bad302b0024888966002606000b13300b00b303000a8b205a18158009815000981480098121baa0018b2044302600140911640886eb4c088004dd6981100118110009810800980e1baa0018b2034301e301b3754003164064600e60346ea8c8cc88c9660026024603a6ea800626042603c6ea80062c80e0cc01cdd61805180e9baa01525980099baf3021301e375400200713375e601a603c6ea8004dd300145282038301e301b3754601460366ea8004dd59805180d9baa300a301b375400264b3001300f301a37540031301e301b3754003164064660086eb0c074c068dd5009119baf301e301b375400201a00514a3164060b30013370e6eb4c020c064dd5000cc004dd6180e180c9baa001a400122337000026eb4c020c06cdd500120088acc004cdc39bad30063019375400260046eb0c070c064dd5000c5268b202e8b202e9800980b9baa013918039980d9ba70013301b37513001001a400122337000026eb4c020c06cdd500120083301b3750600400297ae09b8848001222598009807801c566002601e60346ea805a264646464b3001300500189803198109806998109811002198109811001998109ba800133021302230230024bd701bac3022301f375401f1640746eb4c084004c084004c080004c06cdd500b45901944c966002602a009159800980a980d9baa017899194c004dd71810800cdd698109811000cdd718108012444b30013007002899192cc004c05cc088dd5000c4c96600266e24014dd6980898121baa001899911806acc004c030dd6980998131baa002899814001198140009bac30133026375400b13302800137586026604c6ea8015024180919813181398121baa001330263013302437540026604c6ea0cdc09bad30113024375400200a6604c601260486ea80052f5c064b300130193024375400313230143302830293026375400266050602a604c6ea8004cc0a0dd419b80375a6026604c6ea800401ccc0a0c02cc098dd5000a5eb80c0a0c094dd5000c4c04ccc09cc0a0c094dd500119813980a18129baa00233027375000c6604e6ea401d2f5c08118c04cc090dd5001c59022181318119baa0018b204230253022375400264660020026eb0c094c088dd5009112cc004006298010bd8799fd87a80d87a8080ff00899912cc004cdc79bae300a3025375400400b13013330273013330270024bd70181498129baa0018acc004cdc79bae300a3025375400400f1323014330283029001330283014330280034bd701815181500098129baa001899180a1981418148009981418149815000998141ba73302800337586026604c6ea80092f5c0604a6ea800502320463026001330020023027001409116407c3021001301c375402f164069132598009809802c566002602660386ea80622646644b300130060018992cc004c054c080dd5000c4c96600266e2400cdd6980798111baa001899911805acc004c028dd6980898121baa002899813001000c4005022180819812181298111baa00133024301130223754002660486ea0cdc09bad300f3022375400200666048600e60446ea80052f5c06600c6eb0c094c088dd500914c004cdc79bae30083023375400200b4a14a2810a2c8100c090c084dd5000c5901f198051bac302330203754020466e3cdd7180318109baa0010038b203c375c60420026eb4c084c088004c074dd500c45901b4566002602400b1598009809180e1baa0188992cc004c048c074dd5198041bac3021301e375401c466e3cdd71802180f9baa00100289802998011bac3021301e375401c530013371e6eb8c010c07cdd5000801528528a03a8b2038375c6040603a6ea80622c80da2b30013370e9003002c5a2b30013370e9005002c5a2c80d901b2036406c44646600200200644b30010018a5eb8226644b3001300500289981200119802002000c4cc01001000502018118009812000a04240684603e60406040604000280c844646600200200644b30010018a6103d87a80008992cc004c010006260126603a00297ae0899801801980f8012032301d001406c60040048b201c3011005301130120054590070c020004c00cdd5004452689b2b20021", + "hash": "ecad4ed4b3d3b3eec74b62db57cdecb6eb93119f3e2a18b49d377f92" + } + ], + "definitions": { + "Bool": { + "title": "Bool", + "anyOf": [ + { + "title": "False", + "dataType": "constructor", + "index": 0, + "fields": [] + }, + { + "title": "True", + "dataType": "constructor", + "index": 1, + "fields": [] + } + ] + }, + "ByteArray": { + "dataType": "bytes" + }, + "Int": { + "dataType": "integer" + }, + "List$agents/agents/Agent": { + "dataType": "list", + "items": { + "$ref": "#/definitions/agents~1agents~1Agent" + } + }, + "List$stake/types/Stake": { + "dataType": "list", + "items": { + "$ref": "#/definitions/stake~1types~1Stake" + } + }, + "agents/agents/Agent": { + "title": "Agent", + "anyOf": [ + { + "title": "Agent", + "dataType": "constructor", + "index": 0, + "fields": [ + { + "title": "agent_address", + "$ref": "#/definitions/aiken~1crypto~1VerificationKeyHash" + }, + { + "title": "provider", + "$ref": "#/definitions/aiken~1crypto~1VerificationKeyHash" + }, + { + "title": "agent_id_hash", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "owner", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "is_active", + "$ref": "#/definitions/Bool" + }, + { + "title": "created_at", + "$ref": "#/definitions/Int" + }, + { + "title": "updated_at", + "$ref": "#/definitions/Int" + }, + { + "title": "metadata_uri", + "$ref": "#/definitions/ByteArray" + } + ] + } + ] + }, + "agents/agents/AgentDatum": { + "title": "AgentDatum", + "anyOf": [ + { + "title": "AgentDatum", + "dataType": "constructor", + "index": 0, + "fields": [ + { + "title": "contract_owner", + "$ref": "#/definitions/aiken~1crypto~1VerificationKeyHash" + }, + { + "title": "agents", + "$ref": "#/definitions/List$agents~1agents~1Agent" + } + ] + } + ] + }, + "agents/agents/AgentRedeemer": { + "title": "AgentRedeemer", + "anyOf": [ + { + "title": "RegisterAgent", + "dataType": "constructor", + "index": 0, + "fields": [ + { + "title": "agent_address", + "$ref": "#/definitions/aiken~1crypto~1VerificationKeyHash" + }, + { + "title": "agent_id_hash", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "owner", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "metadata_uri", + "$ref": "#/definitions/ByteArray" + } + ] + }, + { + "title": "UpdateAgent", + "dataType": "constructor", + "index": 1, + "fields": [ + { + "title": "agent_address", + "$ref": "#/definitions/aiken~1crypto~1VerificationKeyHash" + }, + { + "title": "is_active", + "$ref": "#/definitions/Bool" + }, + { + "title": "metadata_uri", + "$ref": "#/definitions/ByteArray" + } + ] + }, + { + "title": "GetAgent", + "dataType": "constructor", + "index": 2, + "fields": [ + { + "title": "agent_address", + "$ref": "#/definitions/aiken~1crypto~1VerificationKeyHash" + } + ] + } + ] + }, + "aiken/crypto/VerificationKeyHash": { + "title": "VerificationKeyHash", + "dataType": "bytes" + }, + "stake/types/Stake": { + "title": "Stake", + "anyOf": [ + { + "title": "Record", + "dataType": "constructor", + "index": 0, + "fields": [ + { + "title": "client", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "provider", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "amount", + "$ref": "#/definitions/Int" + }, + { + "title": "user_id", + "$ref": "#/definitions/ByteArray" + } + ] + } + ] + }, + "stake/types/StakeActions": { + "title": "StakeActions", + "anyOf": [ + { + "title": "CreateStake", + "dataType": "constructor", + "index": 0, + "fields": [ + { + "title": "client", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "provider", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "amount", + "$ref": "#/definitions/Int" + }, + { + "title": "user_id", + "$ref": "#/definitions/ByteArray" + } + ] + }, + { + "title": "TransferStake", + "dataType": "constructor", + "index": 1, + "fields": [ + { + "title": "from_user_id", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "to_user_id", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "amount", + "$ref": "#/definitions/Int" + } + ] + }, + { + "title": "PullStake", + "dataType": "constructor", + "index": 2, + "fields": [ + { + "title": "user_id", + "$ref": "#/definitions/ByteArray" + }, + { + "title": "amount", + "$ref": "#/definitions/Int" + } + ] + }, + { + "title": "GetAddressStake", + "dataType": "constructor", + "index": 3, + "fields": [ + { + "title": "address", + "$ref": "#/definitions/ByteArray" + } + ] + }, + { + "title": "PullAllStake", + "dataType": "constructor", + "index": 4, + "fields": [ + { + "title": "user_id", + "$ref": "#/definitions/ByteArray" + } + ] + }, + { + "title": "GetTotalStake", + "dataType": "constructor", + "index": 5, + "fields": [] + }, + { + "title": "GetTotalStakeCount", + "dataType": "constructor", + "index": 6, + "fields": [] + } + ] + }, + "stake/types/StakeDatum": { + "title": "StakeDatum", + "anyOf": [ + { + "title": "StakeDatum", + "dataType": "constructor", + "index": 0, + "fields": [ + { + "title": "stakes", + "$ref": "#/definitions/List$stake~1types~1Stake" + }, + { + "title": "total_stake", + "$ref": "#/definitions/Int" + }, + { + "title": "total_count", + "$ref": "#/definitions/Int" + } + ] + } + ] + } + } +} diff --git a/src/lib/contracts/cardano/agent.contract.ts b/src/lib/contracts/cardano/agent.contract.ts new file mode 100644 index 0000000..49cfa17 --- /dev/null +++ b/src/lib/contracts/cardano/agent.contract.ts @@ -0,0 +1,259 @@ +import { CardanoContractClient } from "./contract"; +import AgentPlutusAbi from "./abis/plutus.json"; +import { config } from "../../env"; +import { Data, Script, UTxO } from "lucid-cardano"; +import { + Agent, + AgentDatum, + AgentDatumSchema, + AgentRedeemer, +} from "./schema/agent-contract.types"; + +class AgentContractClient extends CardanoContractClient { + public static instance: AgentContractClient; + private walletAddress: string; + private agentUtxo!: UTxO[]; + private agentValidator: Script; + private agentAddress!: string; + + constructor() { + super({ projectId: config.BLACKFROST_PROJECT_ID }); + this.walletAddress = config.WALLET_PRIVATE_KEY; + this.agentValidator = { + type: "PlutusV2", + script: AgentPlutusAbi.validators[0].compiledCode, + }; + } + + async initialize() { + await super.initialize(); + this.lucid.selectWalletFromPrivateKey(this.walletAddress); + this.agentAddress = this.lucid.utils.validatorToAddress( + this.agentValidator + ); + this.agentUtxo = await this.lucid.utxosAt(this.agentAddress); + } + + public static async getInstance(): Promise { + if (!AgentContractClient.instance) { + AgentContractClient.instance = new AgentContractClient(); + await AgentContractClient.instance.initialize(); + } + return AgentContractClient.instance; + } + + private async fetchAgentUtxo(): Promise { + const utxos = await this.lucid.utxosAt(this.agentAddress); + + if (!utxos || utxos.length === 0) + throw new Error( + "No contract UTxOs found. Contract not deployed / no state." + ); + + return utxos; + } + + async registerAgent({ + agentAddress, + provider, + agentIdHash, + owner, + metadataUri, + }: { + agentAddress: string; + provider: string; + agentIdHash: string; + owner: string; + metadataUri: string; + }): Promise { + const agentUtxo = await this.fetchAgentUtxo(); + + if (!agentUtxo[0]?.datum) { + throw new Error("Agent UTxO datum is missing"); + } + + const currentDatum = Data.from( + agentUtxo[0].datum, + AgentDatumSchema + ) as unknown as AgentDatum; + + const timestamp = BigInt(Date.now()); + const newAgent: Agent = { + agent_address: agentAddress, + provider: provider, + agent_id_hash: agentIdHash, + owner: owner, + is_active: true, + created_at: timestamp, + updated_at: timestamp, + metadata_uri: metadataUri, + }; + + const newDatum: AgentDatum = { + contract_owner: currentDatum.contract_owner, + agents: [...currentDatum.agents, newAgent], + }; + + const datumPlutus = Data.to(newDatum as any); + + const redeemer: AgentRedeemer = { + RegisterAgent: { + agent_address: agentAddress, + agent_id_hash: agentIdHash, + owner: owner, + metadata_uri: metadataUri, + }, + }; + + const redeemerPlutus = Data.to(redeemer as any); + + const tx = await this.lucid + .newTx() + .collectFrom(this.agentUtxo, redeemerPlutus) + .attachSpendingValidator(this.agentValidator) + .payToContract( + this.agentAddress, + { inline: datumPlutus }, + { + lovelace: this.agentUtxo[0].assets.lovelace, + } + ) + .complete(); + + if (!tx) { + throw new Error("Transaction creation failed"); + } + + const signed = await tx.sign().complete(); + const txHash = await signed.submit(); + + return txHash; + } + + async updateAgent({ + agentAddress, + isActive, + metadataUri, + }: { + agentAddress: string; + isActive: boolean; + metadataUri: string; + }): Promise { + const agentUtxo = await this.fetchAgentUtxo(); + const utxo = agentUtxo[0]; + + if (!utxo.datum) { + throw new Error("Agent UTxO datum is missing"); + } + + const currentDatum = Data.from( + utxo.datum, + AgentDatumSchema + ) as unknown as AgentDatum; + + const agentIndex = currentDatum.agents.findIndex( + (a) => a.agent_address === agentAddress + ); + + if (agentIndex === -1) { + throw new Error(`Agent with address ${agentAddress} not found`); + } + + const updatedAgents = [...currentDatum.agents]; + updatedAgents[agentIndex] = { + ...updatedAgents[agentIndex], + is_active: isActive, + metadata_uri: metadataUri, + updated_at: BigInt(Date.now()), + }; + + const newDatum: AgentDatum = { + contract_owner: currentDatum.contract_owner, + agents: updatedAgents, + }; + + const datumPlutus = Data.to(newDatum as any); + + const redeemer: AgentRedeemer = { + UpdateAgent: { + agent_address: agentAddress, + is_active: isActive, + metadata_uri: metadataUri, + }, + }; + + const redeemerPlutus = Data.to(redeemer as any); + + const tx = await this.lucid + .newTx() + .collectFrom(this.agentUtxo, redeemerPlutus) + .attachSpendingValidator(this.agentValidator) + .payToContract( + this.agentAddress, + { inline: datumPlutus }, + { + lovelace: this.agentUtxo[0].assets.lovelace, + } + ) + .complete(); + + if (!tx) { + throw new Error("Transaction creation failed"); + } + + const signed = await tx.sign().complete(); + const txHash = await signed.submit(); + + return txHash; + } + + async getAgent(agentAddress: string): Promise { + const agentUtxo = await this.fetchAgentUtxo(); + if (!agentUtxo[0]?.datum) { + throw new Error("Agent UTxO datum is missing"); + } + + const currentDatum = Data.from( + agentUtxo[0].datum, + AgentDatumSchema + ) as unknown as AgentDatum; + + const agent = currentDatum.agents.find( + (a) => a.agent_address === agentAddress + ); + + return agent || null; + } + + async getAllAgents(): Promise { + const agentUtxo = await this.fetchAgentUtxo(); + + if (!agentUtxo[0]?.datum) { + throw new Error("Agent UTxO datum is missing"); + } + + const currentDatum = Data.from( + agentUtxo[0].datum, + AgentDatumSchema + ) as unknown as AgentDatum; + + return currentDatum.agents; + } + + async getAgentsByOwner(owner: string): Promise { + const allAgents = await this.getAllAgents(); + return allAgents.filter((agent) => agent.owner === owner); + } + + async getActiveAgents(): Promise { + const allAgents = await this.getAllAgents(); + return allAgents.filter((agent) => agent.is_active); + } + + async getAgentsByProvider(provider: string): Promise { + const allAgents = await this.getAllAgents(); + return allAgents.filter((agent) => agent.provider === provider); + } +} + +export const agentContract = AgentContractClient.getInstance(); diff --git a/src/lib/contracts/cardano/contract.ts b/src/lib/contracts/cardano/contract.ts new file mode 100644 index 0000000..23cf0bf --- /dev/null +++ b/src/lib/contracts/cardano/contract.ts @@ -0,0 +1,34 @@ +import { Blockfrost, Lucid } from "lucid-cardano"; + +enum Network { + Mainnet = "Mainnet", + Preview = "Preview", + Preprod = "Preprod", +} + +enum NetworkURI { + Mainnet = "https://cardano-mainnet.blockfrost.io/api/v0", + Preview = "https://cardano-preview.blockfrost.io/api/v0", + Preprod = "https://cardano-preprod.blockfrost.io/api/v0", +} + +export class CardanoContractClient { + private network: Network.Preview; + private cardanoNodeUrl = NetworkURI[Network.Preview]; + public lucid!: Lucid; + public blockfrost!: Blockfrost; + + constructor(private config: { projectId: string }) { + this.network = Network.Preview; + } + + async initialize() { + if (!this.lucid) { + this.blockfrost = new Blockfrost( + this.cardanoNodeUrl, + this.config.projectId + ); + this.lucid = await Lucid.new(this.blockfrost, this.network); + } + } +} diff --git a/src/lib/contracts/cardano/schema/agent-contract.types.ts b/src/lib/contracts/cardano/schema/agent-contract.types.ts new file mode 100644 index 0000000..2ac1278 --- /dev/null +++ b/src/lib/contracts/cardano/schema/agent-contract.types.ts @@ -0,0 +1,47 @@ +import { Data } from "lucid-cardano"; + +// Agent type schema +export const AgentSchema = Data.Object({ + agent_address: Data.Bytes(), + provider: Data.Bytes(), + agent_id_hash: Data.Bytes(), + owner: Data.Bytes(), + is_active: Data.Boolean(), + created_at: Data.Integer(), + updated_at: Data.Integer(), + metadata_uri: Data.Bytes(), +}); +export type Agent = Data.Static; + +// Contract datum schema - stores all agents +export const AgentDatumSchema = Data.Object({ + contract_owner: Data.Bytes(), + agents: Data.Array(AgentSchema), +}); +export type AgentDatum = Data.Static; + +// Redeemer actions schema +export const AgentRedeemerSchema = Data.Enum([ + Data.Object({ + RegisterAgent: Data.Object({ + agent_address: Data.Bytes(), + agent_id_hash: Data.Bytes(), + owner: Data.Bytes(), + metadata_uri: Data.Bytes(), + }), + }), + Data.Object({ + UpdateAgent: Data.Object({ + agent_address: Data.Bytes(), + is_active: Data.Boolean(), + metadata_uri: Data.Bytes(), + }), + }), + Data.Object({ + GetAgent: Data.Object({ + agent_address: Data.Bytes(), + }), + }), +]); + +export type AgentRedeemer = Data.Static; diff --git a/src/lib/contracts/cardano/schema/stake-contract.types.ts b/src/lib/contracts/cardano/schema/stake-contract.types.ts new file mode 100644 index 0000000..7d11bb8 --- /dev/null +++ b/src/lib/contracts/cardano/schema/stake-contract.types.ts @@ -0,0 +1,54 @@ +import { Data } from "lucid-cardano"; + +export const StakeSchema = Data.Object({ + client: Data.Bytes(), + provider: Data.Bytes(), + amount: Data.Integer(), + user_id: Data.Bytes(), +}); +export type Stake = Data.Static; + +export const StakeDatumSchema = Data.Object({ + stakes: Data.Array(StakeSchema), + total_stake: Data.Integer(), + total_count: Data.Integer(), +}); +export type StakeDatum = Data.Static; + +export const StakeActionsSchema = Data.Enum([ + Data.Object({ + CreateStake: Data.Object({ + client: Data.Bytes(), + provider: Data.Bytes(), + amount: Data.Integer(), + user_id: Data.Bytes(), + }), + }), + Data.Object({ + TransferStake: Data.Object({ + from_user_id: Data.Bytes(), + to_user_id: Data.Bytes(), + amount: Data.Integer(), + }), + }), + Data.Object({ + PullStake: Data.Object({ + user_id: Data.Bytes(), + amount: Data.Integer(), + }), + }), + Data.Object({ + GetAddressStake: Data.Object({ + address: Data.Bytes(), + }), + }), + Data.Object({ + PullAllStake: Data.Object({ + user_id: Data.Bytes(), + }), + }), + Data.Object({ GetTotalStake: Data.Object({}) }), + Data.Object({ GetTotalStakeCount: Data.Object({}) }), +]); + +export type StakeActions = Data.Static; \ No newline at end of file diff --git a/src/lib/contracts/cardano/stake.contract.ts b/src/lib/contracts/cardano/stake.contract.ts new file mode 100644 index 0000000..91be0fa --- /dev/null +++ b/src/lib/contracts/cardano/stake.contract.ts @@ -0,0 +1,170 @@ +import { CardanoContractClient } from "./contract"; +import StakePlutusAbi from "./abis/plutus.json"; +import { config } from "../../env"; +import { Data, Script, UTxO } from "lucid-cardano"; +import { + StakeActions, + StakeDatum, + StakeDatumSchema, +} from "./schema/stake-contract.types"; + +class StakeContractClient extends CardanoContractClient { + public static instance: StakeContractClient; + private walletAddress: string; + private stakeValidator: Script; + private stakeAddress!: string; + + constructor() { + super({ projectId: config.BLACKFROST_PROJECT_ID }); + + this.walletAddress = config.WALLET_PRIVATE_KEY; + + this.stakeValidator = { + type: "PlutusV2", + script: StakePlutusAbi.validators[2].compiledCode, + }; + } + + async initialize() { + await super.initialize(); + + this.lucid.selectWalletFromPrivateKey(this.walletAddress); + + this.stakeAddress = this.lucid.utils.validatorToAddress( + this.stakeValidator + ); + } + + public static async getInstance(): Promise { + if (!StakeContractClient.instance) { + StakeContractClient.instance = new StakeContractClient(); + } + return StakeContractClient.instance; + } + + private async fetchStakeUtxo(): Promise { + const utxos = await this.lucid.utxosAt(this.stakeAddress); + + if (!utxos || utxos.length === 0) + throw new Error( + "No contract UTxOs found. Contract not deployed / no state." + ); + + return utxos; + } + + async transferStake({ + to, + from, + amount, + }: { + to: string; + from: string; + amount: string; + }) { + // Fetch UTXOs fresh + const stakeUtxo = await this.fetchStakeUtxo(); + const utxo = stakeUtxo[0]; + + if (!utxo.datum) { + throw new Error("Stake UTxO datum is missing"); + } + + // Decode datum based on schema + const currentDatum = Data.from(utxo.datum, StakeDatumSchema) as unknown as StakeDatum; + + // Apply state transition (client-side simulation) + const newDatum = this._applyTransferStake(currentDatum, { + from_user_id: from, + to_user_id: to, + amount: BigInt(amount), + }); + + const datumPlutus = Data.to(newDatum as any); + + const redeemer: StakeActions = { + TransferStake: { + from_user_id: from, + to_user_id: to, + amount: BigInt(amount), + }, + }; + + const redeemerPlutus = Data.to(redeemer as any); + + // Build TX + const tx = await this.lucid + .newTx() + .collectFrom([utxo], redeemerPlutus) + .attachSpendingValidator(this.stakeValidator) + .payToContract( + this.stakeAddress, + { inline: datumPlutus }, + { lovelace: utxo.assets.lovelace } + ) + .complete(); + + // Sign + submit + const signed = await tx.sign().complete(); + const txHash = await signed.submit(); + return txHash; + } + + private _applyTransferStake( + datum: StakeDatum, + args: { from_user_id: string; to_user_id: string; amount: bigint } + ): StakeDatum { + const { from_user_id, to_user_id, amount } = args; + + if (amount <= BigInt(0)) { + throw new Error("Amount must be > 0"); + } + + const stakes = [...datum.stakes]; + + const fromIndex = stakes.findIndex((s) => s.user_id === from_user_id); + if (fromIndex === -1) { + throw new Error("from_user_id not found in stakes"); + } + + const fromStake = stakes[fromIndex]; + + if (fromStake.amount < amount) { + throw new Error("Insufficient stake to transfer"); + } + + const updatedFrom = { + ...fromStake, + amount: fromStake.amount - amount, + }; + + if (updatedFrom.amount === BigInt(0)) { + stakes.splice(fromIndex, 1); + } else { + stakes[fromIndex] = updatedFrom; + } + + const toIndex = stakes.findIndex((s) => s.user_id === to_user_id); + + if (toIndex === -1) { + stakes.push({ + client: fromStake.client, + provider: fromStake.provider, + amount, + user_id: to_user_id, + }); + } else { + stakes[toIndex] = { + ...stakes[toIndex], + amount: stakes[toIndex].amount + amount, + }; + } + + const total_stake = datum.total_stake; + const total_count = BigInt(stakes.length); + + return { stakes, total_stake, total_count }; + } +} + +export const stakeContract = StakeContractClient.getInstance(); diff --git a/src/lib/contracts/abis/agent-abis.json b/src/lib/contracts/eth/abis/agent-abis.json similarity index 100% rename from src/lib/contracts/abis/agent-abis.json rename to src/lib/contracts/eth/abis/agent-abis.json diff --git a/src/lib/contracts/abis/stake-abis.json b/src/lib/contracts/eth/abis/stake-abis.json similarity index 100% rename from src/lib/contracts/abis/stake-abis.json rename to src/lib/contracts/eth/abis/stake-abis.json diff --git a/src/lib/contracts/agent.contract.ts b/src/lib/contracts/eth/agent.contract.ts similarity index 98% rename from src/lib/contracts/agent.contract.ts rename to src/lib/contracts/eth/agent.contract.ts index 2973b89..26bbf45 100644 --- a/src/lib/contracts/agent.contract.ts +++ b/src/lib/contracts/eth/agent.contract.ts @@ -1,7 +1,7 @@ import { Contract } from "ethers"; import { ContractClient } from "./contract"; import agentAbi from "./abis/agent-abis.json"; -import { Agent } from "../../types/contract"; +import { Agent } from "../../../types/contract"; class AgentContractClient extends ContractClient { private contract: Contract; diff --git a/src/lib/contracts/contract.ts b/src/lib/contracts/eth/contract.ts similarity index 83% rename from src/lib/contracts/contract.ts rename to src/lib/contracts/eth/contract.ts index d12f840..c56f814 100644 --- a/src/lib/contracts/contract.ts +++ b/src/lib/contracts/eth/contract.ts @@ -1,4 +1,4 @@ -import { Contract, JsonRpcProvider, Wallet } from "ethers"; +import { JsonRpcProvider, Wallet } from "ethers"; export class ContractClient { private provider: JsonRpcProvider; diff --git a/src/lib/contracts/stake.contract.ts b/src/lib/contracts/eth/stake.contract.ts similarity index 83% rename from src/lib/contracts/stake.contract.ts rename to src/lib/contracts/eth/stake.contract.ts index 2dbffaa..d61bccc 100644 --- a/src/lib/contracts/stake.contract.ts +++ b/src/lib/contracts/eth/stake.contract.ts @@ -1,8 +1,7 @@ import { Contract, parseEther } from "ethers"; -import { ContractClient } from "./contract"; +import { ContractClient } from "../eth/contract"; import stakeAbi from "./abis/stake-abis.json"; -import { Escrow } from "../../types/contract"; -import { weiToEth } from "../utils/helper"; +import { Escrow } from "../../../types/contract"; class StakeContractClient extends ContractClient { private contract: Contract; @@ -100,16 +99,16 @@ class StakeContractClient extends ContractClient { } // Generate a valid private key for development if none is provided -const getValidPrivateKey = () => { - const envKey = process.env.CONTRACT_PRIVATE_KEY; - if (envKey) { - return envKey; - } +// const getValidPrivateKey = () => { +// const envKey = process.env.CONTRACT_PRIVATE_KEY; +// if (envKey) { +// return envKey; +// } - // For development, generate a valid private key - // This is a known valid private key for testing (DO NOT USE IN PRODUCTION) - return "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"; -}; +// // For development, generate a valid private key +// // This is a known valid private key for testing (DO NOT USE IN PRODUCTION) +// return "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcsde"; +// }; export const stakeContract = StakeContractClient.instance({ rpc: process.env.RPC_URL!, diff --git a/src/lib/env.ts b/src/lib/env.ts index d87645f..49a4119 100644 --- a/src/lib/env.ts +++ b/src/lib/env.ts @@ -1,12 +1,14 @@ -import { z } from 'zod'; +import { z } from "zod"; export const env = z.object({ - BETTER_AUTH_SECRET: z.string(), // Required by better-auth for apiKey plugin - FRONTEND_URL: z.string(), - DATABASE_URL: z.url(), - CLOUDFLARE_ACCOUNT_ID: z.string(), - CLOUDFLARE_API_TOKEN: z.string(), - JWT_SECRET: z.string(), + BETTER_AUTH_SECRET: z.string(), // Required by better-auth for apiKey plugin + FRONTEND_URL: z.string(), + DATABASE_URL: z.url(), + CLOUDFLARE_ACCOUNT_ID: z.string(), + CLOUDFLARE_API_TOKEN: z.string(), + JWT_SECRET: z.string(), + BLACKFROST_PROJECT_ID: z.string(), + WALLET_PRIVATE_KEY: z.string(), UPSTASH_REDIS_REST_URL: z.string().optional(), // Upstash Redis REST URL UPSTASH_REDIS_REST_TOKEN: z.string().optional(), // Upstash Redis REST Token CF_EMBEDDING_API_KEY: z.string(), diff --git a/src/lib/utils/helper.ts b/src/lib/utils/helper.ts index fb3fb61..199e5e5 100644 --- a/src/lib/utils/helper.ts +++ b/src/lib/utils/helper.ts @@ -1,7 +1,7 @@ import { AgentCard, AgentFrameWorks, GoogleADKRequestBody } from "../../types"; import { parseAgentResponse } from "./parser"; import { prisma } from "../db"; -import { stakeContract } from "../contracts/stake.contract"; +import { stakeContract } from "../contracts/eth/stake.contract"; import { config } from "../env"; import { formatEther, parseEther } from "ethers"; import { CloudflareEmbeddingResponse } from "../../types/utils"; diff --git a/src/services/agent.service.ts b/src/services/agent.service.ts index 13dc523..b9d4343 100644 --- a/src/services/agent.service.ts +++ b/src/services/agent.service.ts @@ -4,7 +4,7 @@ import { AgentFrameWorks, Requirement } from "../types"; import { Context } from "hono"; import { setCookie } from "hono/cookie"; import { prisma } from "../lib/db"; -import { agentContract } from "../lib/contracts/agent.contract"; +import { agentContract } from "../lib/contracts/eth/agent.contract"; import { agentApi } from "../lib/agents"; import { SessionService } from "./session.service";