From dce6869820fc6a829a5984fd03a4bf865b8fd482 Mon Sep 17 00:00:00 2001 From: QSchlegel Date: Mon, 10 Nov 2025 11:03:50 +0100 Subject: [PATCH 1/2] Update dependencies and enhance wallet functionality - Updated package dependencies in package.json and package-lock.json, including new versions for @meshsdk/provider and @meshsdk/web3-sdk. - Introduced optional environment variables for Blockfrost API keys in src/env.js. - Enhanced the ConnectWallet component to support UTXOS wallet functionality, including auto-enable and manual disable features. - Improved error handling and user feedback in various components related to wallet connections and transactions. - Refactored user state management to include past UTXOS wallet status in zustand store. - Updated transaction handling to ensure compatibility with both regular and UTXOS wallets across multiple components. --- package-lock.json | 2103 +++++++++++++++-- package.json | 2 + .../common/cardano-objects/connect-wallet.tsx | 451 +++- .../common/overall-layout/layout.tsx | 42 +- .../mobile-wrappers/logout-wrapper.tsx | 23 +- .../mobile-wrappers/user-dropdown-wrapper.tsx | 124 +- .../multisig/proxy/ProxyControl.tsx | 188 +- src/components/multisig/proxy/ProxySetup.tsx | 14 +- .../pages/wallet/governance/drep/drepForm.tsx | 12 +- .../wallet/governance/drep/registerDrep.tsx | 170 +- .../wallet/info/signers/card-show-signers.tsx | 438 ++-- .../wallet/new-transaction/deposit/index.tsx | 4 +- .../pages/wallet/new-transaction/index.tsx | 17 +- .../pages/wallet/transactions/send-all.tsx | 4 +- .../wallet/transactions/transaction-card.tsx | 23 +- src/components/ui/row-label-info.tsx | 16 +- src/env.js | 8 + src/hooks/useActiveWallet.ts | 133 ++ src/hooks/useTransaction.ts | 17 +- src/hooks/useUTXOS.ts | 188 ++ src/lib/zustand/user.ts | 10 + src/lib/zustand/utxos.ts | 62 + src/pages/api/blockfrost/[...slug].ts | 214 ++ src/pages/user/index.tsx | 341 +++ 24 files changed, 4099 insertions(+), 505 deletions(-) create mode 100644 src/hooks/useActiveWallet.ts create mode 100644 src/hooks/useUTXOS.ts create mode 100644 src/lib/zustand/utxos.ts create mode 100644 src/pages/api/blockfrost/[...slug].ts create mode 100644 src/pages/user/index.tsx diff --git a/package-lock.json b/package-lock.json index c6149b18..2753d1ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,9 @@ "@meshsdk/core": "^1.9.0-beta.77", "@meshsdk/core-csl": "^1.9.0-beta.77", "@meshsdk/core-cst": "^1.9.0-beta.77", + "@meshsdk/provider": "^1.9.0-beta.86", "@meshsdk/react": "^1.9.0-beta.77", + "@meshsdk/web3-sdk": "^0.0.67", "@octokit/core": "^6.1.2", "@prisma/client": "^6.17.1", "@radix-ui/react-accordion": "^1.2.0", @@ -708,6 +710,30 @@ "node": ">=14.0.0" } }, + "node_modules/@bitcoinerlab/secp256k1": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@bitcoinerlab/secp256k1/-/secp256k1-1.2.0.tgz", + "integrity": "sha512-jeujZSzb3JOZfmJYI0ph1PVpCRV5oaexCgy+RvCXV8XlY+XFB/2n3WOcvBsKLsOw78KYgnQrQWb2HrKE4be88Q==", + "license": "MIT", + "dependencies": { + "@noble/curves": "^1.7.0" + } + }, + "node_modules/@bitcoinerlab/secp256k1/node_modules/@noble/curves": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz", + "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@bufbuild/protobuf": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.1.tgz", @@ -1413,6 +1439,37 @@ "integrity": "sha512-DjIZsnL3CyP/yQ/vUYA9cjrD0a/8YXejI5ZmsaOiT16cLfZcTwaCxIN01/ys4jsy+dZCQ/9DnWFn7AEFbiMDaA==", "license": "MIT" }, + "node_modules/@grpc/grpc-js": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.14.1.tgz", + "integrity": "sha512-sPxgEWtPUR3EnRJCEtbGZG2iX8LQDUls2wUS3o27jg07KqJFMq6YDeWvMo1wfpmy3rqRdS0rivpLwhqQtEyCuQ==", + "license": "Apache-2.0", + "dependencies": { + "@grpc/proto-loader": "^0.8.0", + "@js-sdsl/ordered-map": "^4.4.2" + }, + "engines": { + "node": ">=12.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.8.0.tgz", + "integrity": "sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==", + "license": "Apache-2.0", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.5.3", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/@harmoniclabs/bigint-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@harmoniclabs/bigint-utils/-/bigint-utils-1.0.0.tgz", @@ -2582,6 +2639,16 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@js-sdsl/ordered-map": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, "node_modules/@jsdevtools/ono": { "version": "7.1.3", "license": "MIT" @@ -2592,6 +2659,44 @@ "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", "license": "MIT" }, + "node_modules/@lightsparkdev/core": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@lightsparkdev/core/-/core-1.4.6.tgz", + "integrity": "sha512-zhFXWlRzuR6aD9a/lpcLHIvPY4Qzmzz0L8rMpkjlLgwAaSO2u7M/20DyZhUvpn53Q7cvAthW+adFkXAIGUwVzA==", + "license": "Apache-2.0", + "dependencies": { + "dayjs": "^1.11.7", + "graphql": "^16.6.0", + "graphql-ws": "^5.11.3", + "secp256k1": "^5.0.1", + "ws": "^8.12.1", + "zen-observable-ts": "^1.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@lightsparkdev/core/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/@mediapipe/tasks-vision": { "version": "0.10.17", "license": "Apache-2.0" @@ -2672,7 +2777,7 @@ "bn.js": "^5.2.0" } }, - "node_modules/@meshsdk/provider": { + "node_modules/@meshsdk/core/node_modules/@meshsdk/provider": { "version": "1.9.0-beta.83", "resolved": "https://registry.npmjs.org/@meshsdk/provider/-/provider-1.9.0-beta.83.tgz", "integrity": "sha512-UipX6IDalkqrq+yYoM7wFXHlDSVyAOChrMeM3b8FNZgnXYWcBFFCe+fgKQpxwGK0fOy6kIKWPs5jDccZydGNKA==", @@ -2687,6 +2792,68 @@ "cbor": "^10.0.9" } }, + "node_modules/@meshsdk/provider": { + "version": "1.9.0-beta.86", + "resolved": "https://registry.npmjs.org/@meshsdk/provider/-/provider-1.9.0-beta.86.tgz", + "integrity": "sha512-wjDdCbQXExXvm4w6gPkoKafDewji7Ol6q+jLV5be64eJ4Yu1q1r1OL1j4I0mzdZj1NK9tJooHRVpfhDKIY1+dg==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/bitcoin": "1.9.0-beta.86", + "@meshsdk/common": "1.9.0-beta.86", + "@meshsdk/core-cst": "1.9.0-beta.86", + "@utxorpc/sdk": "^0.6.7", + "@utxorpc/spec": "^0.16.0", + "axios": "^1.7.2", + "cbor": "^10.0.9" + } + }, + "node_modules/@meshsdk/provider/node_modules/@meshsdk/bitcoin": { + "version": "1.9.0-beta.86", + "resolved": "https://registry.npmjs.org/@meshsdk/bitcoin/-/bitcoin-1.9.0-beta.86.tgz", + "integrity": "sha512-Vby34TGK+Glzp1uhEKER58EFAc7v0xc3jSHcmaza+yVdivfec88cyUxgLvI9ra/VQU6DOdvSR/KxPavOrbSK5Q==", + "dependencies": { + "@bitcoin-js/tiny-secp256k1-asmjs": "^2.2.3", + "bip174": "^3.0.0", + "bip32": "^4.0.0", + "bip39": "^3.1.0", + "bitcoinjs-lib": "^6.1.7", + "ecpair": "^2.0.0" + } + }, + "node_modules/@meshsdk/provider/node_modules/@meshsdk/common": { + "version": "1.9.0-beta.86", + "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.86.tgz", + "integrity": "sha512-7z3888D8aFAWOdoLg4vX9CS0u6iN1Rmd8V7iEZp/KMyRCvMobB3ppvnJh3h5djK4wtsCTIOTM24rv4uUDeHbqw==", + "license": "Apache-2.0", + "dependencies": { + "bech32": "^2.0.0", + "bip39": "3.1.0", + "blake2b": "^2.1.4", + "blakejs": "^1.2.1" + } + }, + "node_modules/@meshsdk/provider/node_modules/@meshsdk/core-cst": { + "version": "1.9.0-beta.86", + "resolved": "https://registry.npmjs.org/@meshsdk/core-cst/-/core-cst-1.9.0-beta.86.tgz", + "integrity": "sha512-9liWUooR2ogGNod1kaRtIkSNuVpLV5mbNRaNBYRkWa1x0rBoVrnpd/iexWORkvPUIh10RpzcCpGMK0fOOP8Lwg==", + "license": "Apache-2.0", + "dependencies": { + "@cardano-sdk/core": "^0.45.5", + "@cardano-sdk/crypto": "^0.2.2", + "@cardano-sdk/input-selection": "^0.13.33", + "@cardano-sdk/util": "^0.15.5", + "@harmoniclabs/cbor": "1.3.0", + "@harmoniclabs/pair": "^1.0.0", + "@harmoniclabs/plutus-data": "1.2.4", + "@harmoniclabs/uplc": "1.2.4", + "@meshsdk/common": "1.9.0-beta.86", + "@types/base32-encoding": "^1.0.2", + "base32-encoding": "^1.0.0", + "bech32": "^2.0.0", + "blakejs": "^1.2.1", + "bn.js": "^5.2.0" + } + }, "node_modules/@meshsdk/react": { "version": "1.9.0-beta.83", "resolved": "https://registry.npmjs.org/@meshsdk/react/-/react-1.9.0-beta.83.tgz", @@ -2713,69 +2880,55 @@ "react-dom": ">=16.0.0 <20.0.0 || >=16.0.0-rc <20.0.0-rc || >=19.0.0-rc" } }, - "node_modules/@meshsdk/transaction": { - "version": "1.9.0-beta.83", - "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.83.tgz", - "integrity": "sha512-B7zIjJT/v5IfyPvY1+peeo8mPgIWASbEi3bjX03iusVpixoESRb1ZAompsEJiJJDn/Q2hSVX9mqH+WTWoUFkgQ==", - "license": "Apache-2.0", - "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.83", - "@meshsdk/core-cst": "1.9.0-beta.83", - "json-bigint": "^1.0.0" - } - }, - "node_modules/@meshsdk/wallet": { - "version": "1.9.0-beta.83", - "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.83.tgz", - "integrity": "sha512-F02jZP0QE3UzABn/D5k+A6MXwH9DMYVkNSmiSbcEV7ZDLMQ0fdMpOU+MlyCgd8yCOlDM/Nxdk8oI/PaTrV6aYw==", + "node_modules/@meshsdk/react/node_modules/@meshsdk/core": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/core/-/core-1.9.0-beta.68.tgz", + "integrity": "sha512-/1ul9u+WDGylfICcX0Kj1FIDjH4lYyvDae3xmo+X/0DLXDCC9FwgWtpxIyJYXWJUTlsVfjvdqeLbPUeeQEniSw==", "license": "Apache-2.0", "dependencies": { - "@meshsdk/common": "1.9.0-beta.83", - "@meshsdk/core-cst": "1.9.0-beta.83", - "@meshsdk/transaction": "1.9.0-beta.83", - "@simplewebauthn/browser": "^13.0.0" + "@meshsdk/common": "1.9.0-beta.68", + "@meshsdk/core-cst": "1.9.0-beta.68", + "@meshsdk/provider": "1.9.0-beta.68", + "@meshsdk/react": "1.9.0-beta.68", + "@meshsdk/transaction": "1.9.0-beta.68", + "@meshsdk/wallet": "1.9.0-beta.68" } }, - "node_modules/@meshsdk/wallet/node_modules/@simplewebauthn/browser": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.2.2.tgz", - "integrity": "sha512-FNW1oLQpTJyqG5kkDg5ZsotvWgmBaC6jCHR7Ej0qUNep36Wl9tj2eZu7J5rP+uhXgHaLk+QQ3lqcw2vS5MX1IA==", - "license": "MIT" - }, - "node_modules/@meshsdk/web3-sdk": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@meshsdk/web3-sdk/-/web3-sdk-0.0.50.tgz", - "integrity": "sha512-mBEdwGJNCJgUfl/VXDicGMe8duqzrNCNEiEgkSRy795JhXrppl9ARPb64P6AkryZ5DxRRjMqZyVNXQRv9fIITQ==", + "node_modules/@meshsdk/react/node_modules/@meshsdk/core-cst": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/core-cst/-/core-cst-1.9.0-beta.68.tgz", + "integrity": "sha512-7KXr9k+Cpg/g2Fwj/opwHl6/yw5fkPxDXe0yCBuX3IeOSwM1lfjaENVdBGUtxz+opkbg+0a8RyPt3wKQG+tiJA==", "license": "Apache-2.0", "dependencies": { - "@meshsdk/bitcoin": "1.9.0-beta.68", + "@cardano-sdk/core": "^0.45.5", + "@cardano-sdk/crypto": "^0.2.2", + "@cardano-sdk/input-selection": "^0.13.33", + "@cardano-sdk/util": "^0.15.5", + "@harmoniclabs/cbor": "1.3.0", + "@harmoniclabs/pair": "^1.0.0", + "@harmoniclabs/plutus-data": "1.2.4", + "@harmoniclabs/uplc": "1.2.4", "@meshsdk/common": "1.9.0-beta.68", - "@meshsdk/core": "1.9.0-beta.68", - "@meshsdk/core-cst": "1.9.0-beta.68", - "@meshsdk/wallet": "1.9.0-beta.68", - "@peculiar/webcrypto": "^1.5.0", - "axios": "^1.8.3", + "@types/base32-encoding": "^1.0.2", "base32-encoding": "^1.0.0", - "uuid": "^11.1.0" + "bech32": "^2.0.0", + "blakejs": "^1.2.1", + "bn.js": "^5.2.0" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/bitcoin": { + "node_modules/@meshsdk/react/node_modules/@meshsdk/core-cst/node_modules/@meshsdk/common": { "version": "1.9.0-beta.68", - "resolved": "https://registry.npmjs.org/@meshsdk/bitcoin/-/bitcoin-1.9.0-beta.68.tgz", - "integrity": "sha512-Ni050tWpSR9GABYVgoB/3tOtINJElg8+A4BWsqU0Ez/HK0AJBxLj+/gKAwzIAsOw0utcxd7mgADFUjXZU+oDlQ==", + "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.68.tgz", + "integrity": "sha512-rmL2uZzSTEW52OYNCdRF1mBdL4pXLcMwjNZrK3Np/6E1zl2to0pArMfuc2bUl5urTIDfTqa2CsuWpgzZQ47N6Q==", + "license": "Apache-2.0", "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" + "bech32": "^2.0.0", + "bip39": "3.1.0", + "blake2b": "^2.1.4", + "blakejs": "^1.2.1" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/common": { + "node_modules/@meshsdk/react/node_modules/@meshsdk/core/node_modules/@meshsdk/common": { "version": "1.9.0-beta.68", "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.68.tgz", "integrity": "sha512-rmL2uZzSTEW52OYNCdRF1mBdL4pXLcMwjNZrK3Np/6E1zl2to0pArMfuc2bUl5urTIDfTqa2CsuWpgzZQ47N6Q==", @@ -2787,43 +2940,33 @@ "blakejs": "^1.2.1" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/core": { + "node_modules/@meshsdk/react/node_modules/@meshsdk/core/node_modules/@meshsdk/transaction": { "version": "1.9.0-beta.68", - "resolved": "https://registry.npmjs.org/@meshsdk/core/-/core-1.9.0-beta.68.tgz", - "integrity": "sha512-/1ul9u+WDGylfICcX0Kj1FIDjH4lYyvDae3xmo+X/0DLXDCC9FwgWtpxIyJYXWJUTlsVfjvdqeLbPUeeQEniSw==", + "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.68.tgz", + "integrity": "sha512-FsVKqtCyAGrk3IRzEKIr4R6SNYFEGClwCPzM6LlfuC1z97lScM7yP9FgwkOMe4ZPXn4BS32i62X7EdQVIaQwMg==", "license": "Apache-2.0", "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.68", "@meshsdk/core-cst": "1.9.0-beta.68", - "@meshsdk/provider": "1.9.0-beta.68", - "@meshsdk/react": "1.9.0-beta.68", - "@meshsdk/transaction": "1.9.0-beta.68", - "@meshsdk/wallet": "1.9.0-beta.68" + "json-bigint": "^1.0.0" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/core-cst": { + "node_modules/@meshsdk/react/node_modules/@meshsdk/core/node_modules/@meshsdk/wallet": { "version": "1.9.0-beta.68", - "resolved": "https://registry.npmjs.org/@meshsdk/core-cst/-/core-cst-1.9.0-beta.68.tgz", - "integrity": "sha512-7KXr9k+Cpg/g2Fwj/opwHl6/yw5fkPxDXe0yCBuX3IeOSwM1lfjaENVdBGUtxz+opkbg+0a8RyPt3wKQG+tiJA==", + "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.68.tgz", + "integrity": "sha512-7rxU2MD4cDYDoS6soIOqeS+2HVW8ONm/j11+sgoMvLiUbPCpfogWLGLklRKxvZhgzAipUKbPNjak24AoD0Tq6g==", "license": "Apache-2.0", "dependencies": { - "@cardano-sdk/core": "^0.45.5", - "@cardano-sdk/crypto": "^0.2.2", - "@cardano-sdk/input-selection": "^0.13.33", - "@cardano-sdk/util": "^0.15.5", - "@harmoniclabs/cbor": "1.3.0", - "@harmoniclabs/pair": "^1.0.0", - "@harmoniclabs/plutus-data": "1.2.4", - "@harmoniclabs/uplc": "1.2.4", "@meshsdk/common": "1.9.0-beta.68", - "@types/base32-encoding": "^1.0.2", - "base32-encoding": "^1.0.0", - "bech32": "^2.0.0", - "blakejs": "^1.2.1", - "bn.js": "^5.2.0" + "@meshsdk/core-cst": "1.9.0-beta.68", + "@meshsdk/transaction": "1.9.0-beta.68", + "@simplewebauthn/browser": "^13.0.0" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/provider": { + "node_modules/@meshsdk/react/node_modules/@meshsdk/provider": { "version": "1.9.0-beta.68", "resolved": "https://registry.npmjs.org/@meshsdk/provider/-/provider-1.9.0-beta.68.tgz", "integrity": "sha512-FzcPet8fDBT37CNc2cD/iYGhYsHar6E1dQtt/p2P+DGqnKd7IYp7L6T98fbEBzrJJZI8S0BuhLmRSdAQ0OTqSg==", @@ -2837,7 +2980,19 @@ "cbor": "^10.0.9" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/react": { + "node_modules/@meshsdk/react/node_modules/@meshsdk/provider/node_modules/@meshsdk/common": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.68.tgz", + "integrity": "sha512-rmL2uZzSTEW52OYNCdRF1mBdL4pXLcMwjNZrK3Np/6E1zl2to0pArMfuc2bUl5urTIDfTqa2CsuWpgzZQ47N6Q==", + "license": "Apache-2.0", + "dependencies": { + "bech32": "^2.0.0", + "bip39": "3.1.0", + "blake2b": "^2.1.4", + "blakejs": "^1.2.1" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/react": { "version": "1.9.0-beta.68", "resolved": "https://registry.npmjs.org/@meshsdk/react/-/react-1.9.0-beta.68.tgz", "integrity": "sha512-6LPeyj8qChVBpE+ulBah/WS2N5loLpxnrvYFQ6i4po0kRpLDta13jxF7qE4lQ00olsU5qnjEh5KOCbnhhCxSmw==", @@ -2863,23 +3018,601 @@ "react-dom": ">=16.0.0 <20.0.0 || >=16.0.0-rc <20.0.0-rc || >=19.0.0-rc" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/transaction": { + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/bitcoin": { "version": "1.9.0-beta.68", - "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.68.tgz", - "integrity": "sha512-FsVKqtCyAGrk3IRzEKIr4R6SNYFEGClwCPzM6LlfuC1z97lScM7yP9FgwkOMe4ZPXn4BS32i62X7EdQVIaQwMg==", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@meshsdk/bitcoin/-/bitcoin-1.9.0-beta.68.tgz", + "integrity": "sha512-Ni050tWpSR9GABYVgoB/3tOtINJElg8+A4BWsqU0Ez/HK0AJBxLj+/gKAwzIAsOw0utcxd7mgADFUjXZU+oDlQ==", "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.68", - "@meshsdk/core-cst": "1.9.0-beta.68", - "json-bigint": "^1.0.0" + "@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" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/wallet": { + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/common": { "version": "1.9.0-beta.68", - "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.68.tgz", + "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.68.tgz", + "integrity": "sha512-rmL2uZzSTEW52OYNCdRF1mBdL4pXLcMwjNZrK3Np/6E1zl2to0pArMfuc2bUl5urTIDfTqa2CsuWpgzZQ47N6Q==", + "license": "Apache-2.0", + "dependencies": { + "bech32": "^2.0.0", + "bip39": "3.1.0", + "blake2b": "^2.1.4", + "blakejs": "^1.2.1" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/transaction": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.68.tgz", + "integrity": "sha512-FsVKqtCyAGrk3IRzEKIr4R6SNYFEGClwCPzM6LlfuC1z97lScM7yP9FgwkOMe4ZPXn4BS32i62X7EdQVIaQwMg==", + "license": "Apache-2.0", + "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.68", + "@meshsdk/core-cst": "1.9.0-beta.68", + "json-bigint": "^1.0.0" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/wallet": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.68.tgz", + "integrity": "sha512-7rxU2MD4cDYDoS6soIOqeS+2HVW8ONm/j11+sgoMvLiUbPCpfogWLGLklRKxvZhgzAipUKbPNjak24AoD0Tq6g==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/common": "1.9.0-beta.68", + "@meshsdk/core-cst": "1.9.0-beta.68", + "@meshsdk/transaction": "1.9.0-beta.68", + "@simplewebauthn/browser": "^13.0.0" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk": { + "version": "0.0.37", + "resolved": "https://registry.npmjs.org/@meshsdk/web3-sdk/-/web3-sdk-0.0.37.tgz", + "integrity": "sha512-uRG0jLjsa83JbPZqnVkec3gjvi0LEMiu1E6ItUALEnKUTTuhDOe3Cx4Ov1PbPTsYVsGRq61DCgzCNHSh2bXy+Q==", + "license": "Apache-2.0", + "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" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/bitcoin": { + "version": "1.9.0-beta.53", + "resolved": "https://registry.npmjs.org/@meshsdk/bitcoin/-/bitcoin-1.9.0-beta.53.tgz", + "integrity": "sha512-nl6+UZT05vpWUT+Vic2IkhfeJPZlNHm0zvDlOmos5u2JcC1li9T0QmMjYLvyaSj0u29Q0v+iRR4fvF0a8RZTQA==", + "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" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/common": { + "version": "1.9.0-beta.53", + "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.53.tgz", + "integrity": "sha512-GH75W2P4LPb8MS/F+ftP1wmf2UhSYsug9Naq09bvEU1woohJLmpkJ6JJ1e9fBbAK/N3VRVQEGvv+yM4zs634rQ==", + "license": "Apache-2.0", + "dependencies": { + "bech32": "^2.0.0", + "bip39": "3.1.0", + "blake2b": "^2.1.4", + "blakejs": "^1.2.1" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/core-cst": { + "version": "1.9.0-beta.53", + "resolved": "https://registry.npmjs.org/@meshsdk/core-cst/-/core-cst-1.9.0-beta.53.tgz", + "integrity": "sha512-u8I1g8EqfI+ysCtMg258NrMZ+uoSdM5RlrfVRuss0a7jsrSB64ae1kZXDaO2HROycpwz+muZbCVN5JywSVKmTQ==", + "license": "Apache-2.0", + "dependencies": { + "@cardano-sdk/core": "^0.45.5", + "@cardano-sdk/crypto": "^0.2.2", + "@cardano-sdk/input-selection": "^0.13.33", + "@cardano-sdk/util": "^0.15.5", + "@harmoniclabs/cbor": "1.3.0", + "@harmoniclabs/pair": "^1.0.0", + "@harmoniclabs/plutus-data": "1.2.4", + "@harmoniclabs/uplc": "1.2.4", + "@meshsdk/common": "1.9.0-beta.53", + "@types/base32-encoding": "^1.0.2", + "base32-encoding": "^1.0.0", + "bech32": "^2.0.0", + "blakejs": "^1.2.1", + "bn.js": "^5.2.0" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/transaction": { + "version": "1.9.0-beta.53", + "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.53.tgz", + "integrity": "sha512-U53sj8Qve9/XQPqy6gaO7Sm57Fq0tGcYcTlIUq2XUOZtVV0ad88qvCakj9AG0uSq0WnrvPk+L0ExmnnzyL/akw==", + "license": "Apache-2.0", + "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" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/wallet": { + "version": "1.9.0-beta.53", + "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.53.tgz", + "integrity": "sha512-UyvcRbh3StEowkjTyuomDqG5Pykgbz3PU84gB9LdbxGuX46ZUaqHa5+zq+TfOreJ9CVvIEPkg7YwLas6c1HqMw==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/common": "1.9.0-beta.53", + "@meshsdk/core-cst": "1.9.0-beta.53", + "@meshsdk/transaction": "1.9.0-beta.53", + "@simplewebauthn/browser": "^13.0.0" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@meshsdk/web3-sdk/-/web3-sdk-0.0.50.tgz", + "integrity": "sha512-mBEdwGJNCJgUfl/VXDicGMe8duqzrNCNEiEgkSRy795JhXrppl9ARPb64P6AkryZ5DxRRjMqZyVNXQRv9fIITQ==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/bitcoin": "1.9.0-beta.68", + "@meshsdk/common": "1.9.0-beta.68", + "@meshsdk/core": "1.9.0-beta.68", + "@meshsdk/core-cst": "1.9.0-beta.68", + "@meshsdk/wallet": "1.9.0-beta.68", + "@peculiar/webcrypto": "^1.5.0", + "axios": "^1.8.3", + "base32-encoding": "^1.0.0", + "uuid": "^11.1.0" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/bitcoin": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/bitcoin/-/bitcoin-1.9.0-beta.68.tgz", + "integrity": "sha512-Ni050tWpSR9GABYVgoB/3tOtINJElg8+A4BWsqU0Ez/HK0AJBxLj+/gKAwzIAsOw0utcxd7mgADFUjXZU+oDlQ==", + "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" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/common": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.68.tgz", + "integrity": "sha512-rmL2uZzSTEW52OYNCdRF1mBdL4pXLcMwjNZrK3Np/6E1zl2to0pArMfuc2bUl5urTIDfTqa2CsuWpgzZQ47N6Q==", + "license": "Apache-2.0", + "dependencies": { + "bech32": "^2.0.0", + "bip39": "3.1.0", + "blake2b": "^2.1.4", + "blakejs": "^1.2.1" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/transaction": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.68.tgz", + "integrity": "sha512-FsVKqtCyAGrk3IRzEKIr4R6SNYFEGClwCPzM6LlfuC1z97lScM7yP9FgwkOMe4ZPXn4BS32i62X7EdQVIaQwMg==", + "license": "Apache-2.0", + "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.68", + "@meshsdk/core-cst": "1.9.0-beta.68", + "json-bigint": "^1.0.0" + } + }, + "node_modules/@meshsdk/react/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/wallet": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.68.tgz", + "integrity": "sha512-7rxU2MD4cDYDoS6soIOqeS+2HVW8ONm/j11+sgoMvLiUbPCpfogWLGLklRKxvZhgzAipUKbPNjak24AoD0Tq6g==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/common": "1.9.0-beta.68", + "@meshsdk/core-cst": "1.9.0-beta.68", + "@meshsdk/transaction": "1.9.0-beta.68", + "@simplewebauthn/browser": "^13.0.0" + } + }, + "node_modules/@meshsdk/react/node_modules/@simplewebauthn/browser": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.2.2.tgz", + "integrity": "sha512-FNW1oLQpTJyqG5kkDg5ZsotvWgmBaC6jCHR7Ej0qUNep36Wl9tj2eZu7J5rP+uhXgHaLk+QQ3lqcw2vS5MX1IA==", + "license": "MIT" + }, + "node_modules/@meshsdk/transaction": { + "version": "1.9.0-beta.83", + "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.83.tgz", + "integrity": "sha512-B7zIjJT/v5IfyPvY1+peeo8mPgIWASbEi3bjX03iusVpixoESRb1ZAompsEJiJJDn/Q2hSVX9mqH+WTWoUFkgQ==", + "license": "Apache-2.0", + "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.83", + "@meshsdk/core-cst": "1.9.0-beta.83", + "json-bigint": "^1.0.0" + } + }, + "node_modules/@meshsdk/wallet": { + "version": "1.9.0-beta.83", + "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.83.tgz", + "integrity": "sha512-F02jZP0QE3UzABn/D5k+A6MXwH9DMYVkNSmiSbcEV7ZDLMQ0fdMpOU+MlyCgd8yCOlDM/Nxdk8oI/PaTrV6aYw==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/common": "1.9.0-beta.83", + "@meshsdk/core-cst": "1.9.0-beta.83", + "@meshsdk/transaction": "1.9.0-beta.83", + "@simplewebauthn/browser": "^13.0.0" + } + }, + "node_modules/@meshsdk/wallet/node_modules/@simplewebauthn/browser": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.2.2.tgz", + "integrity": "sha512-FNW1oLQpTJyqG5kkDg5ZsotvWgmBaC6jCHR7Ej0qUNep36Wl9tj2eZu7J5rP+uhXgHaLk+QQ3lqcw2vS5MX1IA==", + "license": "MIT" + }, + "node_modules/@meshsdk/web3-sdk": { + "version": "0.0.67", + "resolved": "https://registry.npmjs.org/@meshsdk/web3-sdk/-/web3-sdk-0.0.67.tgz", + "integrity": "sha512-faszRLO7uGW1w/UwSsJ37zKNCfbR4G9oC0tYOWoumAFuDrLiT1C2IY+7wIn7k2jZxyztokFhWrG5Cb8PkY90VQ==", + "license": "Apache-2.0", + "dependencies": { + "@buildonspark/spark-sdk": "^0.4.1", + "@meshsdk/bitcoin": "1.9.0-beta.79", + "@meshsdk/common": "1.9.0-beta.79", + "@meshsdk/core": "1.9.0-beta.79", + "@meshsdk/core-cst": "1.9.0-beta.79", + "@meshsdk/wallet": "1.9.0-beta.79", + "@peculiar/webcrypto": "^1.5.0", + "axios": "^1.8.3", + "base32-encoding": "^1.0.0", + "uuid": "^11.1.0" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@bufbuild/protobuf": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.10.0.tgz", + "integrity": "sha512-fdRs9PSrBF7QUntpZpq6BTw58fhgGJojgg39m9oFOJGZT+nip9b0so5cYY1oWl5pvemDLr0cPPsH46vwThEbpQ==", + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@buildonspark/spark-sdk": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@buildonspark/spark-sdk/-/spark-sdk-0.4.4.tgz", + "integrity": "sha512-YPhR/czECot8Khpo4gASbEqcHx/h/LXYCSQyoLioIi9RKYt2Cpd/1O2xEW7a/fa8EXjDrf/p3YyuDYoR6kSUwg==", + "license": "Apache-2.0", + "dependencies": { + "@bitcoinerlab/secp256k1": "^1.1.1", + "@bufbuild/protobuf": "^2.2.5", + "@lightsparkdev/core": "^1.4.4", + "@noble/curves": "^1.8.0", + "@noble/hashes": "^1.7.0", + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/context-async-hooks": "^2.0.0", + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.203.0", + "@opentelemetry/instrumentation-fetch": "^0.203.0", + "@opentelemetry/instrumentation-undici": "^0.14.0", + "@opentelemetry/sdk-trace-base": "^2.0.0", + "@opentelemetry/sdk-trace-node": "^2.0.1", + "@opentelemetry/sdk-trace-web": "^2.0.1", + "@scure/base": "^1.2.4", + "@scure/bip32": "^1.6.2", + "@scure/bip39": "^1.5.4", + "@scure/btc-signer": "^1.5.0", + "abort-controller-x": "^0.4.3", + "abortcontroller-polyfill": "^1.7.8", + "async-mutex": "^0.5.0", + "bare-crypto": "^1.9.2", + "bare-fetch": "^2.4.1", + "buffer": "^6.0.3", + "eciesjs": "^0.4.13", + "eventemitter3": "^5.0.1", + "js-base64": "^3.7.7", + "light-bolt11-decoder": "^3.2.0", + "nice-grpc": "^2.1.10", + "nice-grpc-client-middleware-retry": "^3.1.10", + "nice-grpc-common": "^2.0.2", + "nice-grpc-opentelemetry": "^0.1.18", + "nice-grpc-web": "^3.3.7", + "ts-proto": "^2.6.1", + "uuidv7": "^1.0.2" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "react": ">=18.2.0", + "react-native": ">=0.71.0", + "react-native-get-random-values": ">=1.11.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-native": { + "optional": true + }, + "react-native-get-random-values": { + "optional": true + } + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/bitcoin": { + "version": "1.9.0-beta.79", + "resolved": "https://registry.npmjs.org/@meshsdk/bitcoin/-/bitcoin-1.9.0-beta.79.tgz", + "integrity": "sha512-mLbpSWRZssovmCsYrXyL6Bd0i9vEfb+LVIf2Vf8UKsOFyptfz2MjEmi/4iXeC9ATPnvluc4dyTb2hz714D9f/Q==", + "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" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/common": { + "version": "1.9.0-beta.79", + "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.79.tgz", + "integrity": "sha512-2czysPHsc6gCGCVSzsDdpNk/+2Ll0c2jpeIHMkxA/5xbRuBpjTn4iazwhIETHIaQ5cpAoc+j/F9+F1+vThdl8w==", + "license": "Apache-2.0", + "dependencies": { + "bech32": "^2.0.0", + "bip39": "3.1.0", + "blake2b": "^2.1.4", + "blakejs": "^1.2.1" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/core": { + "version": "1.9.0-beta.79", + "resolved": "https://registry.npmjs.org/@meshsdk/core/-/core-1.9.0-beta.79.tgz", + "integrity": "sha512-2crVaaIjMhfX6G2oHhHgY7hImxIvgzIuh11NaI7KPfpl5vpKjLXsnPFKeVRlIXeLI5YL/CQiYkdB6l1HubAfCw==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/common": "1.9.0-beta.79", + "@meshsdk/core-cst": "1.9.0-beta.79", + "@meshsdk/provider": "1.9.0-beta.79", + "@meshsdk/react": "1.9.0-beta.79", + "@meshsdk/transaction": "1.9.0-beta.79", + "@meshsdk/wallet": "1.9.0-beta.79" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/core-cst": { + "version": "1.9.0-beta.79", + "resolved": "https://registry.npmjs.org/@meshsdk/core-cst/-/core-cst-1.9.0-beta.79.tgz", + "integrity": "sha512-tT82GDO0VWRrwjUj28nRy6p9kfzltqjZCDndLfd1bAkxITmGv0CrsZda++lBi482L91oq7dFIQW4MAMrin0VbQ==", + "license": "Apache-2.0", + "dependencies": { + "@cardano-sdk/core": "^0.45.5", + "@cardano-sdk/crypto": "^0.2.2", + "@cardano-sdk/input-selection": "^0.13.33", + "@cardano-sdk/util": "^0.15.5", + "@harmoniclabs/cbor": "1.3.0", + "@harmoniclabs/pair": "^1.0.0", + "@harmoniclabs/plutus-data": "1.2.4", + "@harmoniclabs/uplc": "1.2.4", + "@meshsdk/common": "1.9.0-beta.79", + "@types/base32-encoding": "^1.0.2", + "base32-encoding": "^1.0.0", + "bech32": "^2.0.0", + "blakejs": "^1.2.1", + "bn.js": "^5.2.0" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/provider": { + "version": "1.9.0-beta.79", + "resolved": "https://registry.npmjs.org/@meshsdk/provider/-/provider-1.9.0-beta.79.tgz", + "integrity": "sha512-YN/N/QOmqRi7+GqfPER6GgEwv6RlTQtURtS46cd4php18f2mcMo5HjCvce2MzVzB9IPjkZaanR2U39a/FcSJqQ==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/bitcoin": "1.9.0-beta.79", + "@meshsdk/common": "1.9.0-beta.79", + "@meshsdk/core-cst": "1.9.0-beta.79", + "@utxorpc/sdk": "^0.6.7", + "@utxorpc/spec": "^0.16.0", + "axios": "^1.7.2", + "cbor": "^10.0.9" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/react": { + "version": "1.9.0-beta.79", + "resolved": "https://registry.npmjs.org/@meshsdk/react/-/react-1.9.0-beta.79.tgz", + "integrity": "sha512-1yM0/GgrM3huFDGid9MjBvVnXqzisOxkafPdb9rdPeW8rnmUM9PTqHC+CB4Xn2m+4a8Y6CmlC71BQEo7YbIC/Q==", + "license": "Apache-2.0", + "dependencies": { + "@fabianbormann/cardano-peer-connect": "^1.2.18", + "@meshsdk/bitcoin": "1.9.0-beta.79", + "@meshsdk/common": "1.9.0-beta.79", + "@meshsdk/transaction": "1.9.0-beta.79", + "@meshsdk/wallet": "1.9.0-beta.79", + "@meshsdk/web3-sdk": "0.0.50", + "@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" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/transaction": { + "version": "1.9.0-beta.79", + "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.79.tgz", + "integrity": "sha512-zvBmw+INizMedqBOqqULj8jwAC+7hLMI4P2FvRgCSGjfwvCHyP8TUSDeuDKd+VJL4qle6FgDR/pd8PhJtuqTQQ==", + "license": "Apache-2.0", + "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.79", + "@meshsdk/core-cst": "1.9.0-beta.79", + "json-bigint": "^1.0.0" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/wallet": { + "version": "1.9.0-beta.79", + "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.79.tgz", + "integrity": "sha512-s3VH4y/UVLte79nC+Kv9ob0gWaiMlB/sh4fvy5p6rumjCy6SZZhEOmR2dLojya7N9mRu/ibqhe9XAp0JLQP8EA==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/common": "1.9.0-beta.79", + "@meshsdk/core-cst": "1.9.0-beta.79", + "@meshsdk/transaction": "1.9.0-beta.79", + "@simplewebauthn/browser": "^13.0.0" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@meshsdk/web3-sdk/-/web3-sdk-0.0.50.tgz", + "integrity": "sha512-mBEdwGJNCJgUfl/VXDicGMe8duqzrNCNEiEgkSRy795JhXrppl9ARPb64P6AkryZ5DxRRjMqZyVNXQRv9fIITQ==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/bitcoin": "1.9.0-beta.68", + "@meshsdk/common": "1.9.0-beta.68", + "@meshsdk/core": "1.9.0-beta.68", + "@meshsdk/core-cst": "1.9.0-beta.68", + "@meshsdk/wallet": "1.9.0-beta.68", + "@peculiar/webcrypto": "^1.5.0", + "axios": "^1.8.3", + "base32-encoding": "^1.0.0", + "uuid": "^11.1.0" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/bitcoin": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/bitcoin/-/bitcoin-1.9.0-beta.68.tgz", + "integrity": "sha512-Ni050tWpSR9GABYVgoB/3tOtINJElg8+A4BWsqU0Ez/HK0AJBxLj+/gKAwzIAsOw0utcxd7mgADFUjXZU+oDlQ==", + "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" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/common": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.68.tgz", + "integrity": "sha512-rmL2uZzSTEW52OYNCdRF1mBdL4pXLcMwjNZrK3Np/6E1zl2to0pArMfuc2bUl5urTIDfTqa2CsuWpgzZQ47N6Q==", + "license": "Apache-2.0", + "dependencies": { + "bech32": "^2.0.0", + "bip39": "3.1.0", + "blake2b": "^2.1.4", + "blakejs": "^1.2.1" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/core": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/core/-/core-1.9.0-beta.68.tgz", + "integrity": "sha512-/1ul9u+WDGylfICcX0Kj1FIDjH4lYyvDae3xmo+X/0DLXDCC9FwgWtpxIyJYXWJUTlsVfjvdqeLbPUeeQEniSw==", + "license": "Apache-2.0", + "dependencies": { + "@meshsdk/common": "1.9.0-beta.68", + "@meshsdk/core-cst": "1.9.0-beta.68", + "@meshsdk/provider": "1.9.0-beta.68", + "@meshsdk/react": "1.9.0-beta.68", + "@meshsdk/transaction": "1.9.0-beta.68", + "@meshsdk/wallet": "1.9.0-beta.68" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/core-cst": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/core-cst/-/core-cst-1.9.0-beta.68.tgz", + "integrity": "sha512-7KXr9k+Cpg/g2Fwj/opwHl6/yw5fkPxDXe0yCBuX3IeOSwM1lfjaENVdBGUtxz+opkbg+0a8RyPt3wKQG+tiJA==", + "license": "Apache-2.0", + "dependencies": { + "@cardano-sdk/core": "^0.45.5", + "@cardano-sdk/crypto": "^0.2.2", + "@cardano-sdk/input-selection": "^0.13.33", + "@cardano-sdk/util": "^0.15.5", + "@harmoniclabs/cbor": "1.3.0", + "@harmoniclabs/pair": "^1.0.0", + "@harmoniclabs/plutus-data": "1.2.4", + "@harmoniclabs/uplc": "1.2.4", + "@meshsdk/common": "1.9.0-beta.68", + "@types/base32-encoding": "^1.0.2", + "base32-encoding": "^1.0.0", + "bech32": "^2.0.0", + "blakejs": "^1.2.1", + "bn.js": "^5.2.0" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/provider": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/provider/-/provider-1.9.0-beta.68.tgz", + "integrity": "sha512-FzcPet8fDBT37CNc2cD/iYGhYsHar6E1dQtt/p2P+DGqnKd7IYp7L6T98fbEBzrJJZI8S0BuhLmRSdAQ0OTqSg==", + "license": "Apache-2.0", + "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" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/react": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/react/-/react-1.9.0-beta.68.tgz", + "integrity": "sha512-6LPeyj8qChVBpE+ulBah/WS2N5loLpxnrvYFQ6i4po0kRpLDta13jxF7qE4lQ00olsU5qnjEh5KOCbnhhCxSmw==", + "license": "Apache-2.0", + "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" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/transaction": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.68.tgz", + "integrity": "sha512-FsVKqtCyAGrk3IRzEKIr4R6SNYFEGClwCPzM6LlfuC1z97lScM7yP9FgwkOMe4ZPXn4BS32i62X7EdQVIaQwMg==", + "license": "Apache-2.0", + "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.68", + "@meshsdk/core-cst": "1.9.0-beta.68", + "json-bigint": "^1.0.0" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/wallet": { + "version": "1.9.0-beta.68", + "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.68.tgz", "integrity": "sha512-7rxU2MD4cDYDoS6soIOqeS+2HVW8ONm/j11+sgoMvLiUbPCpfogWLGLklRKxvZhgzAipUKbPNjak24AoD0Tq6g==", "license": "Apache-2.0", "dependencies": { @@ -2889,7 +3622,7 @@ "@simplewebauthn/browser": "^13.0.0" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk": { + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk": { "version": "0.0.37", "resolved": "https://registry.npmjs.org/@meshsdk/web3-sdk/-/web3-sdk-0.0.37.tgz", "integrity": "sha512-uRG0jLjsa83JbPZqnVkec3gjvi0LEMiu1E6ItUALEnKUTTuhDOe3Cx4Ov1PbPTsYVsGRq61DCgzCNHSh2bXy+Q==", @@ -2905,7 +3638,7 @@ "uuid": "^11.1.0" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/bitcoin": { + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/bitcoin": { "version": "1.9.0-beta.53", "resolved": "https://registry.npmjs.org/@meshsdk/bitcoin/-/bitcoin-1.9.0-beta.53.tgz", "integrity": "sha512-nl6+UZT05vpWUT+Vic2IkhfeJPZlNHm0zvDlOmos5u2JcC1li9T0QmMjYLvyaSj0u29Q0v+iRR4fvF0a8RZTQA==", @@ -2918,7 +3651,7 @@ "ecpair": "^2.0.0" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/common": { + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/common": { "version": "1.9.0-beta.53", "resolved": "https://registry.npmjs.org/@meshsdk/common/-/common-1.9.0-beta.53.tgz", "integrity": "sha512-GH75W2P4LPb8MS/F+ftP1wmf2UhSYsug9Naq09bvEU1woohJLmpkJ6JJ1e9fBbAK/N3VRVQEGvv+yM4zs634rQ==", @@ -2930,7 +3663,7 @@ "blakejs": "^1.2.1" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/core-cst": { + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/core-cst": { "version": "1.9.0-beta.53", "resolved": "https://registry.npmjs.org/@meshsdk/core-cst/-/core-cst-1.9.0-beta.53.tgz", "integrity": "sha512-u8I1g8EqfI+ysCtMg258NrMZ+uoSdM5RlrfVRuss0a7jsrSB64ae1kZXDaO2HROycpwz+muZbCVN5JywSVKmTQ==", @@ -2952,7 +3685,7 @@ "bn.js": "^5.2.0" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/transaction": { + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/transaction": { "version": "1.9.0-beta.53", "resolved": "https://registry.npmjs.org/@meshsdk/transaction/-/transaction-1.9.0-beta.53.tgz", "integrity": "sha512-U53sj8Qve9/XQPqy6gaO7Sm57Fq0tGcYcTlIUq2XUOZtVV0ad88qvCakj9AG0uSq0WnrvPk+L0ExmnnzyL/akw==", @@ -2966,7 +3699,7 @@ "json-bigint": "^1.0.0" } }, - "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/wallet": { + "node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/web3-sdk/node_modules/@meshsdk/wallet": { "version": "1.9.0-beta.53", "resolved": "https://registry.npmjs.org/@meshsdk/wallet/-/wallet-1.9.0-beta.53.tgz", "integrity": "sha512-UyvcRbh3StEowkjTyuomDqG5Pykgbz3PU84gB9LdbxGuX46ZUaqHa5+zq+TfOreJ9CVvIEPkg7YwLas6c1HqMw==", @@ -2978,12 +3711,60 @@ "@simplewebauthn/browser": "^13.0.0" } }, + "node_modules/@meshsdk/web3-sdk/node_modules/@noble/curves": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz", + "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@scure/bip32": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz", + "integrity": "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.9.0", + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@meshsdk/web3-sdk/node_modules/@scure/bip39": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz", + "integrity": "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@meshsdk/web3-sdk/node_modules/@simplewebauthn/browser": { "version": "13.2.2", "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.2.2.tgz", "integrity": "sha512-FNW1oLQpTJyqG5kkDg5ZsotvWgmBaC6jCHR7Ej0qUNep36Wl9tj2eZu7J5rP+uhXgHaLk+QQ3lqcw2vS5MX1IA==", "license": "MIT" }, + "node_modules/@meshsdk/web3-sdk/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, "node_modules/@monogrid/gainmap-js": { "version": "3.1.0", "license": "MIT", @@ -3231,104 +4012,342 @@ "node": ">= 8" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "license": "MIT", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@octokit/auth-token": { + "version": "5.1.2", + "license": "MIT", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "6.1.3", + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.1.2", + "@octokit/request": "^9.1.4", + "@octokit/request-error": "^6.1.6", + "@octokit/types": "^13.6.2", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "10.1.2", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "8.1.2", + "license": "MIT", + "dependencies": { + "@octokit/request": "^9.1.4", + "@octokit/types": "^13.6.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "23.0.1", + "license": "MIT" + }, + "node_modules/@octokit/request": { + "version": "9.2.0", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "6.1.6", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.6.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "13.7.0", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^23.0.1" + } + }, + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "license": "Apache-2.0", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/api-logs": { + "version": "0.203.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.203.0.tgz", + "integrity": "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.3.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/context-async-hooks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.2.0.tgz", + "integrity": "sha512-qRkLWiUEZNAmYapZ7KGS5C4OmBLcP/H2foXeOEaowYCR0wi89fHejrfYfbuLVCMLp/dWZXKvQusdbUEZjERfwQ==", + "license": "Apache-2.0", + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/core": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.2.0.tgz", + "integrity": "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/instrumentation": { + "version": "0.203.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.203.0.tgz", + "integrity": "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.203.0", + "import-in-the-middle": "^1.8.1", + "require-in-the-middle": "^7.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-fetch": { + "version": "0.203.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.203.0.tgz", + "integrity": "sha512-Z+mls3rOP2BaVykDZLLZPvchjj9l2oj3dYG1GTnrc27Y8o3biE+5M1b0izblycbbQHXjMPHQCpmjHbLMQuWtBg==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/instrumentation": "0.203.0", + "@opentelemetry/sdk-trace-web": "2.0.1", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-fetch/node_modules/@opentelemetry/core": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.0.1.tgz", + "integrity": "sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/instrumentation-fetch/node_modules/@opentelemetry/resources": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.0.1.tgz", + "integrity": "sha512-dZOB3R6zvBwDKnHDTB4X1xtMArB/d324VsbiPkX/Yu0Q8T2xceRthoIVFhJdvgVM2QhGVUyX9tzwiNxGtoBJUw==", + "license": "Apache-2.0", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@opentelemetry/core": "2.0.1", + "@opentelemetry/semantic-conventions": "^1.29.0" }, "engines": { - "node": ">= 8" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "dev": true, - "license": "MIT", + "node_modules/@opentelemetry/instrumentation-fetch/node_modules/@opentelemetry/sdk-trace-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.0.1.tgz", + "integrity": "sha512-xYLlvk/xdScGx1aEqvxLwf6sXQLXCjk3/1SQT9X9AoN5rXRhkdvIFShuNNmtTEPRBqcsMbS4p/gJLNI2wXaDuQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, "engines": { - "node": ">=12.4.0" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@octokit/auth-token": { - "version": "5.1.2", - "license": "MIT", + "node_modules/@opentelemetry/instrumentation-fetch/node_modules/@opentelemetry/sdk-trace-web": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-2.0.1.tgz", + "integrity": "sha512-R4/i0rISvAujG4Zwk3s6ySyrWG+Db3SerZVM4jZ2lEzjrNylF7nRAy1hVvWe8gTbwIxX+6w6ZvZwdtl2C7UQHQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1" + }, "engines": { - "node": ">= 18" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@octokit/core": { - "version": "6.1.3", - "license": "MIT", + "node_modules/@opentelemetry/instrumentation-undici": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.14.0.tgz", + "integrity": "sha512-2HN+7ztxAReXuxzrtA3WboAKlfP5OsPA57KQn2AdYZbJ3zeRPcLXyW4uO/jpLE6PLm0QRtmeGCmfYpqRlwgSwg==", + "license": "Apache-2.0", "dependencies": { - "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.1.2", - "@octokit/request": "^9.1.4", - "@octokit/request-error": "^6.1.6", - "@octokit/types": "^13.6.2", - "before-after-hook": "^3.0.2", - "universal-user-agent": "^7.0.0" + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.203.0" }, "engines": { - "node": ">= 18" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.7.0" } }, - "node_modules/@octokit/endpoint": { - "version": "10.1.2", - "license": "MIT", + "node_modules/@opentelemetry/resources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.2.0.tgz", + "integrity": "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==", + "license": "Apache-2.0", "dependencies": { - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.2" + "@opentelemetry/core": "2.2.0", + "@opentelemetry/semantic-conventions": "^1.29.0" }, "engines": { - "node": ">= 18" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@octokit/graphql": { - "version": "8.1.2", - "license": "MIT", + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.2.0.tgz", + "integrity": "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==", + "license": "Apache-2.0", "dependencies": { - "@octokit/request": "^9.1.4", - "@octokit/types": "^13.6.2", - "universal-user-agent": "^7.0.0" + "@opentelemetry/core": "2.2.0", + "@opentelemetry/resources": "2.2.0", + "@opentelemetry/semantic-conventions": "^1.29.0" }, "engines": { - "node": ">= 18" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@octokit/openapi-types": { - "version": "23.0.1", - "license": "MIT" - }, - "node_modules/@octokit/request": { - "version": "9.2.0", - "license": "MIT", + "node_modules/@opentelemetry/sdk-trace-node": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.2.0.tgz", + "integrity": "sha512-+OaRja3f0IqGG2kptVeYsrZQK9nKRSpfFrKtRBq4uh6nIB8bTBgaGvYQrQoRrQWQMA5dK5yLhDMDc0dvYvCOIQ==", + "license": "Apache-2.0", "dependencies": { - "@octokit/endpoint": "^10.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.6.2", - "fast-content-type-parse": "^2.0.0", - "universal-user-agent": "^7.0.2" + "@opentelemetry/context-async-hooks": "2.2.0", + "@opentelemetry/core": "2.2.0", + "@opentelemetry/sdk-trace-base": "2.2.0" }, "engines": { - "node": ">= 18" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@octokit/request-error": { - "version": "6.1.6", - "license": "MIT", + "node_modules/@opentelemetry/sdk-trace-web": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-2.2.0.tgz", + "integrity": "sha512-x/LHsDBO3kfqaFx5qSzBljJ5QHsRXrvS4MybBDy1k7Svidb8ZyIPudWVzj3s5LpPkYZIgi9e+7tdsNCnptoelw==", + "license": "Apache-2.0", "dependencies": { - "@octokit/types": "^13.6.2" + "@opentelemetry/core": "2.2.0", + "@opentelemetry/sdk-trace-base": "2.2.0" }, "engines": { - "node": ">= 18" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@octokit/types": { - "version": "13.7.0", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^23.0.1" + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.38.0.tgz", + "integrity": "sha512-kocjix+/sSggfJhwXqClZ3i9Y/MI0fp7b+g7kCRm6psy2dsf8uApTRclwG18h8Avm7C9+fnt+O36PspJ/OzoWg==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" } }, "node_modules/@panva/hkdf": { @@ -3476,6 +4495,70 @@ "@prisma/debug": "6.17.1" } }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "license": "BSD-3-Clause" + }, "node_modules/@radix-ui/number": { "version": "1.1.0", "license": "MIT" @@ -4655,6 +5738,36 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@scure/btc-signer": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@scure/btc-signer/-/btc-signer-1.8.1.tgz", + "integrity": "sha512-8nX9T++dFyKpvqksNHfSi9CgRsGnHAQtCdIQ1y1GmbCGLpV97v4MUyemUUT6uDumKL3oo3m4niyY6A32nmdLuQ==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.9.0", + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5", + "micro-packed": "~0.7.3" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/btc-signer/node_modules/@noble/curves": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz", + "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@sidan-lab/whisky-js-browser": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@sidan-lab/whisky-js-browser/-/whisky-js-browser-1.0.11.tgz", @@ -5836,6 +6949,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/zen-observable": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz", + "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==", + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.22.0", "dev": true, @@ -6122,12 +7241,24 @@ "node": ">=6.5" } }, + "node_modules/abort-controller-x": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/abort-controller-x/-/abort-controller-x-0.4.3.tgz", + "integrity": "sha512-VtUwTNU8fpMwvWGn4xE93ywbogTYsuT+AUxAXOeelbXuQVIwNmC5YLeho9sH4vZ4ITW8414TTAOG1nW6uIVHCA==", + "license": "MIT" + }, "node_modules/abort-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/abort-error/-/abort-error-1.0.1.tgz", "integrity": "sha512-fxqCblJiIPdSXIUrxI0PL+eJG49QdP9SQ70qtB65MVAoMr2rASlOyAbJFOylfB467F/f+5BCLJJq58RYi7mGfg==", "license": "Apache-2.0 OR MIT" }, + "node_modules/abortcontroller-polyfill": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.8.tgz", + "integrity": "sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==", + "license": "MIT" + }, "node_modules/accessor-fn": { "version": "1.5.1", "license": "MIT", @@ -6137,7 +7268,6 @@ }, "node_modules/acorn": { "version": "8.14.0", - "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -6146,6 +7276,15 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "dev": true, @@ -6440,6 +7579,15 @@ "node": ">= 0.4" } }, + "node_modules/async-mutex": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz", + "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/async-retry": { "version": "1.3.3", "license": "MIT", @@ -6625,6 +7773,32 @@ } } }, + "node_modules/bare-crypto": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/bare-crypto/-/bare-crypto-1.12.0.tgz", + "integrity": "sha512-GLeZOS2RQkEawVNPvBKmVZQWwSs4jLhculTvuOfLdP+RTMN1Gv3pz+oI9fcQj7/LE2QJM4cPOHfx4u0izBaTHA==", + "license": "Apache-2.0", + "dependencies": { + "bare-stream": "^2.6.3" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-dns": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/bare-dns/-/bare-dns-2.1.4.tgz", + "integrity": "sha512-abwjHmpWqSRNB7V5615QxPH92L71AVzFm/kKTs8VYiNTAi2xVdonpv0BjJ0hwXLwomoW+xsSOPjW6PZPO14asg==", + "license": "Apache-2.0", + "engines": { + "bare": ">=1.7.0" + } + }, "node_modules/bare-events": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.1.tgz", @@ -6639,6 +7813,40 @@ } } }, + "node_modules/bare-fetch": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/bare-fetch/-/bare-fetch-2.5.1.tgz", + "integrity": "sha512-BdJie1S9y3TW0pzF6Q/dP95QDjlUPXexiJWSnKFIM/OHID6ITJk2XEQQ25rsGqwLqxQ4felfGkj13mC/ao27mg==", + "license": "Apache-2.0", + "dependencies": { + "bare-form-data": "^1.1.3", + "bare-http1": "^4.0.2", + "bare-https": "^2.0.0", + "bare-stream": "^2.7.0", + "bare-zlib": "^1.3.0" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-url": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-url": { + "optional": true + } + } + }, + "node_modules/bare-form-data": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/bare-form-data/-/bare-form-data-1.1.6.tgz", + "integrity": "sha512-q1IN7dVo/lEhTlVkVQdULZvoBx6eTI94co0NtO7/A3JLFL/aZGA1wAHgcNEPrlkqTK9jTEdtzQXSoqGzlVjzgg==", + "license": "Apache-2.0", + "dependencies": { + "bare-stream": "^2.6.5" + } + }, "node_modules/bare-fs": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.0.tgz", @@ -6663,6 +7871,47 @@ } } }, + "node_modules/bare-http-parser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bare-http-parser/-/bare-http-parser-1.0.1.tgz", + "integrity": "sha512-A3LTDTcELcmNJ3g5liIaS038v/BQxOhA9cjhBESn7eoV7QCuMoIRBKLDadDe08flxyLbxI2f+1l2MZ/5+HnKPA==", + "license": "Apache-2.0" + }, + "node_modules/bare-http1": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/bare-http1/-/bare-http1-4.1.5.tgz", + "integrity": "sha512-YT6tf5R7eIt1VBBc/mpNDXqbxl21WoYGdBXT5anQz2Xt4G2w2gKjmlkDPFwDARZd5wmgH5D2iIiRWAKwbKgVTQ==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.6.0", + "bare-http-parser": "^1.0.0", + "bare-stream": "^2.3.0", + "bare-tcp": "^2.0.3" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-url": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-url": { + "optional": true + } + } + }, + "node_modules/bare-https": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bare-https/-/bare-https-2.1.0.tgz", + "integrity": "sha512-Sk3RUhXr7rt1Yq4im6xoGYGKz06denjsqM60igKA0IK6Kd3qDlLLZogrWsh3hDsB2kKt60092G3SIMoD9PAR6g==", + "license": "Apache-2.0", + "dependencies": { + "bare-http1": "^4.0.0", + "bare-tcp": "^2.0.0", + "bare-tls": "^2.0.0" + } + }, "node_modules/bare-module-resolve": { "version": "1.11.2", "resolved": "https://registry.npmjs.org/bare-module-resolve/-/bare-module-resolve-1.11.2.tgz", @@ -6681,6 +7930,18 @@ } } }, + "node_modules/bare-net": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bare-net/-/bare-net-2.2.0.tgz", + "integrity": "sha512-UF7cAbHsGE+H6uEqWF5IULBow1x58chZz4g3ALgHtv7wZsFcCbRDt0JKWEumf5Oma3QWS1Q6aLi0Rpll8RElMg==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.2.2", + "bare-pipe": "^4.0.0", + "bare-stream": "^2.0.0", + "bare-tcp": "^2.0.0" + } + }, "node_modules/bare-os": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.2.tgz", @@ -6699,6 +7960,19 @@ "bare-os": "^3.0.1" } }, + "node_modules/bare-pipe": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bare-pipe/-/bare-pipe-4.1.0.tgz", + "integrity": "sha512-0TD3NUIhh7KgPMRLyEBqSXlTZ8X/jcw1ulAjmErDWwoLdIF9FdVXvbpbzyKIl45sr9ZQ4k5AKThAOlrrtZcrXg==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.0.0", + "bare-stream": "^2.0.0" + }, + "engines": { + "bare": ">=1.16.0" + } + }, "node_modules/bare-semver": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bare-semver/-/bare-semver-1.0.2.tgz", @@ -6727,6 +8001,33 @@ } } }, + "node_modules/bare-tcp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bare-tcp/-/bare-tcp-2.2.0.tgz", + "integrity": "sha512-vzQjwO/g2gqBXnV2JuJGLnAhYV4l/YrWsNJr0swD3I/nh7ohBi/O1Fd9kP1NNlYq3O7E+KQY9BMnpqlHBEd0aA==", + "license": "Apache-2.0", + "dependencies": { + "bare-dns": "^2.0.4", + "bare-events": "^2.5.4", + "bare-stream": "^2.6.4" + }, + "engines": { + "bare": ">=1.16.0" + } + }, + "node_modules/bare-tls": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/bare-tls/-/bare-tls-2.1.5.tgz", + "integrity": "sha512-ouc6RqjizIRsUQJcboUI6GiIvwUr30F9xTPzyWFrDpkA1iDsWitLC/mSHjeVXU1H58rvFvnH1xENY8vhJH5e6A==", + "license": "Apache-2.0", + "dependencies": { + "bare-net": "^2.0.1", + "bare-stream": "^2.6.4" + }, + "engines": { + "bare": ">=1.7.0" + } + }, "node_modules/bare-url": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.1.tgz", @@ -6736,6 +8037,15 @@ "bare-path": "^3.0.0" } }, + "node_modules/bare-zlib": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/bare-zlib/-/bare-zlib-1.3.1.tgz", + "integrity": "sha512-VP93GFzhrTdWh9mXNocn7XsP/nF5JQluiiSsbTvsQ4yIYlhEHRMF9lQmZZDXwzK9PNYaVGUV1bdQuqp0Mj7MHw==", + "license": "Apache-2.0", + "dependencies": { + "bare-stream": "^2.0.0" + } + }, "node_modules/base-x": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.1.tgz", @@ -7293,6 +8603,12 @@ "node": ">=8" } }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "license": "MIT" + }, "node_modules/browserslist": { "version": "4.26.2", "funding": [ @@ -7605,6 +8921,18 @@ "version": "1.0.8", "license": "Apache-2.0" }, + "node_modules/case-anything": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/case-anything/-/case-anything-2.1.13.tgz", + "integrity": "sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/cbor": { "version": "10.0.11", "resolved": "https://registry.npmjs.org/cbor/-/cbor-10.0.11.tgz", @@ -7653,6 +8981,7 @@ }, "node_modules/chalk": { "version": "4.1.2", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -7810,6 +9139,7 @@ }, "node_modules/ci-info": { "version": "4.3.0", + "dev": true, "funding": [ { "type": "github", @@ -7870,7 +9200,6 @@ }, "node_modules/cliui": { "version": "8.0.1", - "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -7883,12 +9212,10 @@ }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "license": "MIT" }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -7901,7 +9228,6 @@ }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -8456,6 +9782,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" + }, "node_modules/debounce": { "version": "1.2.1", "license": "MIT" @@ -8857,6 +10189,27 @@ "url": "https://dotenvx.com" } }, + "node_modules/dprint-node": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.8.tgz", + "integrity": "sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==", + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3" + } + }, + "node_modules/dprint-node/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/draco3d": { "version": "1.5.7", "license": "Apache-2.0" @@ -8895,6 +10248,64 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/eciesjs": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.16.tgz", + "integrity": "sha512-dS5cbA9rA2VR4Ybuvhg6jvdmp46ubLn3E+px8cG/35aEDNclrqoCjg6mt0HYZ/M+OoESS3jSkCrqk1kWAEhWAw==", + "license": "MIT", + "dependencies": { + "@ecies/ciphers": "^0.2.4", + "@noble/ciphers": "^1.3.0", + "@noble/curves": "^1.9.7", + "@noble/hashes": "^1.8.0" + }, + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + } + }, + "node_modules/eciesjs/node_modules/@ecies/ciphers": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.5.tgz", + "integrity": "sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==", + "license": "MIT", + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + }, + "peerDependencies": { + "@noble/ciphers": "^1.0.0" + } + }, + "node_modules/eciesjs/node_modules/@noble/ciphers": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", + "integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/eciesjs/node_modules/@noble/curves": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz", + "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/ecpair": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ecpair/-/ecpair-2.1.0.tgz", @@ -8922,6 +10333,27 @@ "version": "1.5.223", "license": "ISC" }, + "node_modules/elliptic": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "license": "MIT" + }, "node_modules/emittery": { "version": "0.13.1", "dev": true, @@ -10303,7 +11735,6 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", - "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" @@ -10511,6 +11942,7 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", + "dev": true, "license": "ISC" }, "node_modules/graphemer": { @@ -10518,6 +11950,27 @@ "dev": true, "license": "MIT" }, + "node_modules/graphql": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz", + "integrity": "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-ws": { + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.16.2.tgz", + "integrity": "sha512-E1uccsZxt/96jH/OwmLPuXMACILs76pKF2i3W861LpKBCYtGIyPQGtWLuBLkND4ox1KHns70e83PS4te50nvPQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": ">=0.11 <=16" + } + }, "node_modules/h3-js": { "version": "4.1.0", "license": "Apache-2.0", @@ -10560,6 +12013,7 @@ }, "node_modules/has-flag": { "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -10669,6 +12123,16 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "license": "MIT" }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "node_modules/hashlru": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", @@ -10801,6 +12265,17 @@ "version": "1.5.20", "license": "Apache-2.0" }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "node_modules/html-escaper": { "version": "2.0.2", "dev": true, @@ -10915,6 +12390,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-in-the-middle": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.15.0.tgz", + "integrity": "sha512-bpQy+CrsRmYmoPMAE/0G33iwRqwW4ouqdRg8jgbH3aKuCtOc8lxgmYXg2dMM92CRiGP660EtBcymH/eVUpCSaA==", + "license": "Apache-2.0", + "dependencies": { + "acorn": "^8.14.0", + "acorn-import-attributes": "^1.9.5", + "cjs-module-lexer": "^1.2.2", + "module-details-from-path": "^1.0.3" + } + }, + "node_modules/import-in-the-middle/node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "license": "MIT" + }, "node_modules/import-local": { "version": "3.2.0", "dev": true, @@ -10935,6 +12428,7 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "dev": true, "license": "MIT", "engines": { "node": ">=0.8.19" @@ -12519,6 +14013,12 @@ "url": "https://github.com/sponsors/panva" } }, + "node_modules/js-base64": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.8.tgz", + "integrity": "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==", + "license": "BSD-3-Clause" + }, "node_modules/js-file-download": { "version": "0.4.12", "license": "MIT" @@ -12567,6 +14067,7 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", + "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { @@ -12858,6 +14359,27 @@ "immediate": "~3.0.5" } }, + "node_modules/light-bolt11-decoder": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/light-bolt11-decoder/-/light-bolt11-decoder-3.2.0.tgz", + "integrity": "sha512-3QEofgiBOP4Ehs9BI+RkZdXZNtSys0nsJ6fyGeSiAGCBsMwHGUDS/JQlY/sTnWs91A2Nh0S9XXfA8Sy9g6QpuQ==", + "license": "MIT", + "dependencies": { + "@scure/base": "1.1.1" + } + }, + "node_modules/light-bolt11-decoder/node_modules/@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT" + }, "node_modules/lilconfig": { "version": "3.1.3", "license": "MIT", @@ -12930,6 +14452,12 @@ "version": "4.17.21", "license": "MIT" }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "license": "MIT" @@ -12984,6 +14512,12 @@ "version": "4.1.1", "license": "MIT" }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, "node_modules/longest-streak": { "version": "3.1.0", "license": "MIT", @@ -13561,6 +15095,18 @@ "version": "0.18.1", "license": "MIT" }, + "node_modules/micro-packed": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/micro-packed/-/micro-packed-0.7.3.tgz", + "integrity": "sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg==", + "license": "MIT", + "dependencies": { + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/micromark": { "version": "4.0.2", "funding": [ @@ -14146,6 +15692,18 @@ "node": ">=6" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "license": "MIT" + }, "node_modules/minimatch": { "version": "9.0.5", "license": "ISC", @@ -14179,6 +15737,12 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "license": "MIT" }, + "node_modules/module-details-from-path": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.4.tgz", + "integrity": "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==", + "license": "MIT" + }, "node_modules/motion-dom": { "version": "11.18.1", "license": "MIT", @@ -14420,6 +15984,70 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/nice-grpc": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/nice-grpc/-/nice-grpc-2.1.13.tgz", + "integrity": "sha512-IkXNok2NFyYh0WKp1aJFwFV3Ue2frBkJ16ojrmgX3Tc9n0g7r0VU+ur3H/leDHPPGsEeVozdMynGxYT30k3D/Q==", + "license": "MIT", + "dependencies": { + "@grpc/grpc-js": "^1.14.0", + "abort-controller-x": "^0.4.0", + "nice-grpc-common": "^2.0.2" + } + }, + "node_modules/nice-grpc-client-middleware-retry": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/nice-grpc-client-middleware-retry/-/nice-grpc-client-middleware-retry-3.1.12.tgz", + "integrity": "sha512-CHKIeHznAePOsT2dLeGwoOFaybQz6LvkIsFfN8SLcyGyTR7AB6vZMaECJjx+QPL8O2qVgaVE167PdeOmQrPuag==", + "license": "MIT", + "dependencies": { + "abort-controller-x": "^0.4.0", + "nice-grpc-common": "^2.0.2" + } + }, + "node_modules/nice-grpc-common": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/nice-grpc-common/-/nice-grpc-common-2.0.2.tgz", + "integrity": "sha512-7RNWbls5kAL1QVUOXvBsv1uO0wPQK3lHv+cY1gwkTzirnG1Nop4cBJZubpgziNbaVc/bl9QJcyvsf/NQxa3rjQ==", + "license": "MIT", + "dependencies": { + "ts-error": "^1.0.6" + } + }, + "node_modules/nice-grpc-opentelemetry": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/nice-grpc-opentelemetry/-/nice-grpc-opentelemetry-0.1.19.tgz", + "integrity": "sha512-rjYVFbmSTE/g3XtxIh37PgEtE1ZOcwFoSHeLBCMRz9GAeGwZd23020QObgElF2UgU6kn1wpH8taWdprNr+3wfg==", + "license": "MIT", + "dependencies": { + "@opentelemetry/api": "^1.8.0", + "@opentelemetry/semantic-conventions": "^1.22.0", + "abort-controller-x": "^0.4.0", + "ipaddr.js": "^2.0.1", + "nice-grpc-common": "^2.0.2" + } + }, + "node_modules/nice-grpc-web": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nice-grpc-web/-/nice-grpc-web-3.3.8.tgz", + "integrity": "sha512-VOVzjcgl90lhoZgjXDg9hG8clIxe6NBk84R3p0P21CGitMesHMTV8g5adnDKQ4i60FJT1uk2EwepSyv1cND8JQ==", + "license": "MIT", + "dependencies": { + "abort-controller-x": "^0.4.0", + "isomorphic-ws": "^5.0.0", + "js-base64": "^3.7.2", + "nice-grpc-common": "^2.0.2" + } + }, + "node_modules/nice-grpc-web/node_modules/isomorphic-ws": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", + "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, "node_modules/node-abi": { "version": "3.78.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.78.0.tgz", @@ -14550,7 +16178,6 @@ "node_modules/node-gyp-build": { "version": "4.8.4", "license": "MIT", - "optional": true, "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -18628,6 +20255,30 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/protobufjs": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", + "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "license": "MIT" @@ -18675,12 +20326,12 @@ } }, "node_modules/pvutils": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", - "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", + "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=16.0.0" } }, "node_modules/qrcode-svg": { @@ -19418,7 +21069,6 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -19431,6 +21081,20 @@ "node": ">=0.10.0" } }, + "node_modules/require-in-the-middle": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.5.2.tgz", + "integrity": "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "module-details-from-path": "^1.0.3", + "resolve": "^1.22.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, "node_modules/requires-port": { "version": "1.0.0", "license": "MIT" @@ -19746,6 +21410,27 @@ "loose-envify": "^1.1.0" } }, + "node_modules/secp256k1": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.1.tgz", + "integrity": "sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "elliptic": "^6.5.7", + "node-addon-api": "^5.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/secp256k1/node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", + "license": "MIT" + }, "node_modules/seed-random": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", @@ -20544,6 +22229,7 @@ }, "node_modules/supports-color": { "version": "7.2.0", + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -20921,6 +22607,7 @@ }, "node_modules/text-table": { "version": "0.2.0", + "dev": true, "license": "MIT" }, "node_modules/thenify": { @@ -21277,6 +22964,12 @@ "node": ">=14.0.0" } }, + "node_modules/ts-error": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/ts-error/-/ts-error-1.0.6.tgz", + "integrity": "sha512-tLJxacIQUM82IR7JO1UUkKlYuUTmoY9HBJAmNWFzheSlDS5SPMcNIepejHJa4BpPQLAcbRhRf3GDJzyj6rbKvA==", + "license": "MIT" + }, "node_modules/ts-interface-checker": { "version": "0.1.13", "license": "Apache-2.0" @@ -21364,6 +23057,51 @@ "version": "6.0.4", "license": "MIT" }, + "node_modules/ts-poet": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.12.0.tgz", + "integrity": "sha512-xo+iRNMWqyvXpFTaOAvLPA5QAWO6TZrSUs5s4Odaya3epqofBu/fMLHEWl8jPmjhA0s9sgj9sNvF1BmaQlmQkA==", + "license": "Apache-2.0", + "dependencies": { + "dprint-node": "^1.0.8" + } + }, + "node_modules/ts-proto": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-2.8.3.tgz", + "integrity": "sha512-TdXInqG+61pj/TvORqITWjvjTTsL1EZxwX49iEj89+xFAcqPT8tjChpAGQXzfcF4MJwvNiuoCEbBOKqVf3ds3g==", + "license": "ISC", + "dependencies": { + "@bufbuild/protobuf": "^2.0.0", + "case-anything": "^2.1.13", + "ts-poet": "^6.12.0", + "ts-proto-descriptors": "2.0.0" + }, + "bin": { + "protoc-gen-ts_proto": "protoc-gen-ts_proto" + } + }, + "node_modules/ts-proto-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-2.0.0.tgz", + "integrity": "sha512-wHcTH3xIv11jxgkX5OyCSFfw27agpInAd6yh89hKG6zqIXnjW9SYqSER2CVQxdPj4czeOhGagNvZBEbJPy7qkw==", + "license": "ISC", + "dependencies": { + "@bufbuild/protobuf": "^2.0.0" + } + }, + "node_modules/ts-proto-descriptors/node_modules/@bufbuild/protobuf": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.10.0.tgz", + "integrity": "sha512-fdRs9PSrBF7QUntpZpq6BTw58fhgGJojgg39m9oFOJGZT+nip9b0so5cYY1oWl5pvemDLr0cPPsH46vwThEbpQ==", + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/ts-proto/node_modules/@bufbuild/protobuf": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.10.0.tgz", + "integrity": "sha512-fdRs9PSrBF7QUntpZpq6BTw58fhgGJojgg39m9oFOJGZT+nip9b0so5cYY1oWl5pvemDLr0cPPsH46vwThEbpQ==", + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, "node_modules/ts-toolbelt": { "version": "9.6.0", "license": "Apache-2.0" @@ -22028,6 +23766,15 @@ "uuid": "dist/esm/bin/uuid" } }, + "node_modules/uuidv7": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uuidv7/-/uuidv7-1.0.2.tgz", + "integrity": "sha512-8JQkH4ooXnm1JCIhqTMbtmdnYEn6oKukBxHn1Ic9878jMkL7daTI7anTExfY18VRCX7tcdn5quzvCb6EWrR8PA==", + "license": "Apache-2.0", + "bin": { + "uuidv7": "cli.js" + } + }, "node_modules/v8-to-istanbul": { "version": "9.3.0", "dev": true, @@ -22526,6 +24273,7 @@ }, "node_modules/write-file-atomic": { "version": "5.0.1", + "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", @@ -22598,7 +24346,6 @@ }, "node_modules/y18n": { "version": "5.0.8", - "dev": true, "license": "ISC", "engines": { "node": ">=10" @@ -22627,7 +24374,6 @@ }, "node_modules/yargs": { "version": "17.7.2", - "dev": true, "license": "MIT", "dependencies": { "cliui": "^8.0.1", @@ -22644,7 +24390,6 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", - "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -22652,12 +24397,10 @@ }, "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "license": "MIT" }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -22705,6 +24448,22 @@ "node": "^12.20.0 || >=14" } }, + "node_modules/zen-observable": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", + "license": "MIT" + }, + "node_modules/zen-observable-ts": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz", + "integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==", + "license": "MIT", + "dependencies": { + "@types/zen-observable": "0.8.3", + "zen-observable": "0.8.15" + } + }, "node_modules/zenscroll": { "version": "4.0.2", "license": "Unlicense" diff --git a/package.json b/package.json index 74bb7675..5890e1fd 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,9 @@ "@meshsdk/core": "^1.9.0-beta.77", "@meshsdk/core-csl": "^1.9.0-beta.77", "@meshsdk/core-cst": "^1.9.0-beta.77", + "@meshsdk/provider": "^1.9.0-beta.86", "@meshsdk/react": "^1.9.0-beta.77", + "@meshsdk/web3-sdk": "^0.0.67", "@octokit/core": "^6.1.2", "@prisma/client": "^6.17.1", "@radix-ui/react-accordion": "^1.2.0", diff --git a/src/components/common/cardano-objects/connect-wallet.tsx b/src/components/common/cardano-objects/connect-wallet.tsx index 332d3f3d..2974b59c 100644 --- a/src/components/common/cardano-objects/connect-wallet.tsx +++ b/src/components/common/cardano-objects/connect-wallet.tsx @@ -10,25 +10,47 @@ import { } from "@/components/ui/dropdown-menu"; import { useWallet, useWalletList } from "@meshsdk/react"; import { useSiteStore } from "@/lib/zustand/site"; -import { useEffect } from "react"; +import { useEffect, useRef } from "react"; +import React from "react"; import useUser from "@/hooks/useUser"; import { useUserStore } from "@/lib/zustand/user"; import { getProvider } from "@/utils/get-provider"; import { Asset } from "@meshsdk/core"; +import useUTXOS from "@/hooks/useUTXOS"; +import { api } from "@/utils/api"; +import { useNostrChat } from "@jinglescode/nostr-chat-plugin"; export default function ConnectWallet() { const setNetwork = useSiteStore((state) => state.setNetwork); const pastWallet = useUserStore((state) => state.pastWallet); const setPastWallet = useUserStore((state) => state.setPastWallet); + const pastUtxosEnabled = useUserStore((state) => state.pastUtxosEnabled); + const setPastUtxosEnabled = useUserStore((state) => state.setPastUtxosEnabled); const setUserAssets = useUserStore((state) => state.setUserAssets); + const userAssets = useUserStore((state) => state.userAssets); const setUserAssetMetadata = useUserStore( (state) => state.setUserAssetMetadata, ); - const { user } = useUser(); + const { user, isLoading: isUserLoading } = useUser(); + const { generateNsec } = useNostrChat(); + const userAddress = useUserStore((state) => state.userAddress); + const setUserAddress = useUserStore((state) => state.setUserAddress); const wallets = useWalletList(); const { connect, connected, wallet, name } = useWallet(); const network = useSiteStore((state) => state.network); + const { + wallet: utxosWallet, + isEnabled: isUtxosEnabled, + isLoading: isUtxosLoading, + error: utxosError, + enable: enableUtxos, + disable: disableUtxos, + } = useUTXOS(); + + const { mutate: createUser } = api.user.createUser.useMutation({ + onError: (e) => console.error(e), + }); async function connectWallet(walletId: string) { setPastWallet(walletId); @@ -44,18 +66,65 @@ export default function ConnectWallet() { try { await connect(pastWallet); } catch (e) { + console.error("[AutoConnect] Failed to auto-connect wallet:", e); setPastWallet(undefined); } } } handleAutoWalletConnect(); - }, [pastWallet, connected]); + }, [pastWallet, connected, connect, setPastWallet]); + + /** + * Try to auto-enable UTXOS wallet when the user loads the application, if it was enabled before + * Use a ref to prevent infinite loops from repeated attempts + */ + const autoEnableAttemptedRef = useRef(false); + + useEffect(() => { + async function handleAutoUtxosEnable() { + // Prevent multiple attempts in the same session + if (autoEnableAttemptedRef.current) { + return; + } + + if (pastUtxosEnabled && !isUtxosEnabled && !isUtxosLoading) { + autoEnableAttemptedRef.current = true; // Mark as attempted + + try { + await enableUtxos(); + } catch (e) { + console.error("[AutoConnect] Failed to auto-enable UTXOS wallet:", e); + const errorMessage = e instanceof Error ? e.message : String(e); + + // Check if it's a "Refused" error (user denied or wallet disconnected) + if (errorMessage.includes("Refused") || errorMessage.includes("refused")) { + setPastUtxosEnabled(false); + } else { + // For other errors, also clear to prevent infinite retries + setPastUtxosEnabled(false); + } + } + } else if (pastUtxosEnabled && isUtxosEnabled) { + autoEnableAttemptedRef.current = true; // Mark as attempted since already enabled + } else if (!pastUtxosEnabled && !isUtxosEnabled) { + autoEnableAttemptedRef.current = true; // Mark as attempted since nothing to do + } + } + handleAutoUtxosEnable(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [pastUtxosEnabled, isUtxosEnabled, isUtxosLoading, setPastUtxosEnabled]); useEffect(() => { + let isMounted = true; + let timeoutId: NodeJS.Timeout | null = null; + let retryTimeoutId: NodeJS.Timeout | null = null; + async function lookupWalletAssets() { - if (!wallet) return; + if (!wallet || !isMounted) return; try { const assets = await wallet.getBalance(); + if (!isMounted) return; + const provider = getProvider(await wallet.getNetworkId()); const userAssets: Asset[] = []; if (assets) { @@ -65,55 +134,359 @@ export default function ConnectWallet() { quantity: asset.quantity, }); if (asset.unit === "lovelace") continue; - const assetInfo = await provider.get(`/assets/${asset.unit}`); - setUserAssetMetadata( - asset.unit, - assetInfo?.metadata?.name || - assetInfo?.onchain_metadata?.name || - asset.unit, - assetInfo?.metadata?.decimals || 0, - ); + try { + const assetInfo = await provider.get(`/assets/${asset.unit}`); + if (isMounted) { + setUserAssetMetadata( + asset.unit, + assetInfo?.metadata?.name || + assetInfo?.onchain_metadata?.name || + asset.unit, + assetInfo?.metadata?.decimals || 0, + ); + } + } catch (assetError) { + // Skip individual asset metadata errors to avoid blocking + console.warn(`Failed to fetch metadata for asset ${asset.unit}:`, assetError); + } + } + if (isMounted) { + setUserAssets(userAssets); } - setUserAssets(userAssets); } } catch (error) { - console.error("Error looking up wallet assets:", error); + if (!isMounted) return; + const errorMessage = error instanceof Error ? error.message : String(error); + // Handle rate limiting errors gracefully + if (errorMessage.includes("too many requests") || errorMessage.includes("429")) { + console.warn("Rate limit reached, will retry later"); + // Retry after a delay if rate limited + if (retryTimeoutId) clearTimeout(retryTimeoutId); + retryTimeoutId = setTimeout(() => { + if (isMounted && wallet && connected) { + lookupWalletAssets(); + } + }, 5000); // Retry after 5 seconds + } else { + console.error("Error looking up wallet assets:", error); + } } } async function handleNetworkChange() { - if (connected) { - setNetwork(await wallet.getNetworkId()); + if (connected && wallet && isMounted) { + try { + const networkId = await wallet.getNetworkId(); + if (isMounted) { + setNetwork(networkId); + } + } catch (error) { + console.error("Error getting network ID:", error); + } } } async function getWalletAssets() { - if (wallet && connected) { - await lookupWalletAssets(); + if (wallet && connected && isMounted) { + // Skip if assets are already loaded to avoid unnecessary calls + if (userAssets && userAssets.length > 0) { + return; + } + // Add a small delay to prevent rapid successive calls + if (timeoutId) clearTimeout(timeoutId); + timeoutId = setTimeout(() => { + if (isMounted) { + lookupWalletAssets(); + } + }, 500); } } handleNetworkChange(); getWalletAssets(); - }, [connected, wallet, setNetwork]); + + return () => { + isMounted = false; + if (timeoutId) { + clearTimeout(timeoutId); + } + if (retryTimeoutId) { + clearTimeout(retryTimeoutId); + } + }; + }, [connected, wallet, setNetwork, userAssets]); + + // Handle UTXOS wallet connection - same as normal wallet + const utxosInitializedRef = useRef(false); + + useEffect(() => { + (async () => { + if (!isUtxosEnabled || !utxosWallet) { + utxosInitializedRef.current = false; + return; + } + + // Prevent re-initialization if already initialized + if (utxosInitializedRef.current) { + return; + } + + try { + // 1) Set user address in store (same as normal wallet) + let address = (await utxosWallet.cardano.getUsedAddresses())[0]; + if (!address) { + address = (await utxosWallet.cardano.getUnusedAddresses())[0]; + } + + if (!address) { + console.error("[UTXOS] No address found from wallet"); + return; + } + + setUserAddress(address); + + // 2) Get stake address + const stakeAddresses = await utxosWallet.cardano.getRewardAddresses(); + const stakeAddress = stakeAddresses[0]; + + if (!stakeAddress || !address) { + console.error("[UTXOS] No stake address or payment address found"); + return; + } + + // 3) Get DRep key hash (optional) + let drepKeyHash = ""; + try { + if (typeof utxosWallet.cardano.getDRep === 'function') { + const dRepKey = await utxosWallet.cardano.getDRep(); + if (dRepKey && typeof dRepKey === 'object' && 'publicKeyHash' in dRepKey) { + drepKeyHash = dRepKey.publicKeyHash as string; + } + } + } catch (error) { + // DRep key is optional, ignore errors + } + + // 4) Create or update user (same as normal wallet) + if (!isUserLoading) { + const nostrKey = generateNsec(); + createUser({ + address, + stakeAddress, + drepKeyHash, + nostrKey: JSON.stringify(nostrKey), + }); + } + + utxosInitializedRef.current = true; + } catch (error) { + console.error("[UTXOS] Error in wallet initialization:", error); + utxosInitializedRef.current = false; + } + })(); + }, [isUtxosEnabled, utxosWallet, isUserLoading, createUser, generateNsec, setUserAddress]); + + // Handle UTXOS wallet assets and network + useEffect(() => { + let isMounted = true; + let timeoutId: NodeJS.Timeout | null = null; + let retryTimeoutId: NodeJS.Timeout | null = null; + let retryCount = 0; + const MAX_RETRIES = 3; + + async function lookupUtxosWalletAssets() { + if (!utxosWallet || !isUtxosEnabled || !isMounted) return; + try { + const balance = await utxosWallet.cardano.getBalance(); + if (!isMounted) return; + + retryCount = 0; // Reset retry count on success + + const provider = getProvider(network); + const userAssets: Asset[] = []; + if (balance) { + for (const asset of balance) { + userAssets.push({ + unit: asset.unit, + quantity: asset.quantity, + }); + if (asset.unit === "lovelace") continue; + try { + const assetInfo = await provider.get(`/assets/${asset.unit}`); + if (isMounted) { + setUserAssetMetadata( + asset.unit, + assetInfo?.metadata?.name || + assetInfo?.onchain_metadata?.name || + asset.unit, + assetInfo?.metadata?.decimals || 0, + ); + } + } catch (assetError) { + // Skip individual asset metadata errors to avoid blocking + console.warn(`[UTXOS] Failed to fetch metadata for asset ${asset.unit}:`, assetError); + } + } + if (isMounted) { + setUserAssets(userAssets); + } + } + } catch (error) { + if (!isMounted) return; + const errorMessage = error instanceof Error ? error.message : String(error); + // Handle rate limiting errors gracefully with exponential backoff + if (errorMessage.includes("too many requests") || errorMessage.includes("429")) { + if (retryCount < MAX_RETRIES) { + retryCount++; + const backoffDelay = Math.min(5000 * Math.pow(2, retryCount - 1), 30000); // Exponential backoff, max 30s + console.warn(`[UTXOS] Rate limit reached, retrying in ${backoffDelay}ms (attempt ${retryCount}/${MAX_RETRIES})`); + if (retryTimeoutId) clearTimeout(retryTimeoutId); + retryTimeoutId = setTimeout(() => { + if (isMounted && utxosWallet && isUtxosEnabled) { + lookupUtxosWalletAssets(); + } + }, backoffDelay); + } else { + console.error("[UTXOS] Max retries reached for asset lookup due to rate limiting"); + } + } else { + console.error("[UTXOS] Error looking up wallet assets:", error); + } + } + } + async function getUtxosWalletAssets() { + if (utxosWallet && isUtxosEnabled && isMounted) { + // Skip if assets are already loaded to avoid unnecessary calls + if (userAssets && userAssets.length > 0) { + return; + } + // Add a small delay to prevent rapid successive calls + if (timeoutId) clearTimeout(timeoutId); + timeoutId = setTimeout(() => { + if (isMounted) { + lookupUtxosWalletAssets(); + } + }, 500); + } + } + getUtxosWalletAssets(); + + return () => { + isMounted = false; + if (timeoutId) { + clearTimeout(timeoutId); + } + if (retryTimeoutId) { + clearTimeout(retryTimeoutId); + } + }; + }, [isUtxosEnabled, utxosWallet, network, setUserAssets, setUserAssetMetadata, userAssets]); + + const handleUtxosEnable = async () => { + try { + await enableUtxos(); + } catch (error) { + console.error("[UTXOS] Failed to enable wallet:", error); + } + }; + + // Update persistence flag when UTXOS wallet state changes + // Use a ref to track the last synced state to prevent infinite loops + const lastSyncedStateRef = useRef<{ enabled: boolean; hasWallet: boolean } | null>(null); + + useEffect(() => { + const currentState = { enabled: isUtxosEnabled, hasWallet: !!utxosWallet }; + const lastState = lastSyncedStateRef.current; + + // Only update if state actually changed + if (lastState && + lastState.enabled === currentState.enabled && + lastState.hasWallet === currentState.hasWallet) { + return; // State hasn't changed, skip update + } + + // Update the ref first to prevent re-triggering + lastSyncedStateRef.current = currentState; + + if (isUtxosEnabled && utxosWallet) { + // Only set if it's not already set to prevent unnecessary updates + // Use functional update to avoid dependency on pastUtxosEnabled + setPastUtxosEnabled((prev) => { + if (!prev) { + console.log("[UTXOS] Wallet enabled, setting pastUtxosEnabled to true"); + return true; + } + return prev; + }); + } else if (!isUtxosEnabled) { + // Only clear if it was previously enabled (don't clear on initial load) + // Use functional update to avoid dependency on pastUtxosEnabled + setPastUtxosEnabled((prev) => { + if (prev) { + console.log("[UTXOS] Wallet disabled, clearing pastUtxosEnabled"); + return false; + } + return prev; + }); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [isUtxosEnabled, utxosWallet, setPastUtxosEnabled]); + + // Handle manual disable with cleanup + const handleUtxosDisable = async () => { + try { + console.log("[UTXOS] Manual disable triggered"); + await disableUtxos(); + setPastUtxosEnabled(false); + // Clear user assets and address on disconnect + setUserAssets([]); + setUserAddress(undefined); + // Reset initialization flag + utxosInitializedRef.current = false; + console.log("[UTXOS] Manual disable successful"); + } catch (error) { + console.error("[UTXOS] Failed to disable UTXOS wallet:", error); + } + }; + + const isAnyWalletConnected = connected || isUtxosEnabled; + const isConnecting = (connected && !user) || (isUtxosEnabled && !user) || isUtxosLoading; return ( - - - - - - Select Wallet - - {wallets.map((wallet, i) => { - return ( - connectWallet(wallet.id)}> - {wallet.name} - - ); - })} - - +
+ + + + + + Select Wallet + + {wallets.map((wallet, i) => { + return ( + connectWallet(wallet.id)}> + {wallet.name} + + ); + })} + + + +
); } diff --git a/src/components/common/overall-layout/layout.tsx b/src/components/common/overall-layout/layout.tsx index 870d142c..671baae5 100644 --- a/src/components/common/overall-layout/layout.tsx +++ b/src/components/common/overall-layout/layout.tsx @@ -8,6 +8,7 @@ import { api } from "@/utils/api"; import useUser from "@/hooks/useUser"; import { useUserStore } from "@/lib/zustand/user"; import useAppWallet from "@/hooks/useAppWallet"; +import useUTXOS from "@/hooks/useUTXOS"; import SessionProvider from "@/components/SessionProvider"; import { getServerSession } from "next-auth"; @@ -50,14 +51,28 @@ class WalletErrorBoundary extends Component< } componentDidCatch(error: Error, errorInfo: any) { - console.error('Error caught by wallet boundary:', error, errorInfo); + console.error('[WalletErrorBoundary] Error caught:', error, errorInfo); // Handle specific wallet errors if (error.message.includes("account changed")) { - console.log("Wallet account changed error caught by boundary, reloading page..."); + console.log("[WalletErrorBoundary] Wallet account changed, reloading page..."); window.location.reload(); return; } + + // Handle UTXOS-specific errors + if (error.message.includes("UTXOS") || error.message.includes("UTXOS_PROJECT_ID") || error.message.includes("Web3Wallet")) { + console.log("[WalletErrorBoundary] UTXOS wallet error detected:", error.message); + // Don't reload for UTXOS errors, let user retry + return; + } + + // Handle Blockfrost/API errors + if (error.message.includes("Blockfrost") || error.message.includes("blockfrost") || error.message.includes("429")) { + console.log("[WalletErrorBoundary] API error detected, may be rate limiting"); + // Don't reload for API errors + return; + } } render() { @@ -91,11 +106,18 @@ export default function RootLayout({ if (event.reason && typeof event.reason === 'object') { const error = event.reason as Error; if (error.message && error.message.includes("account changed")) { - console.log("Account changed error caught by global handler, reloading page..."); + console.log("[GlobalHandler] Account changed error, reloading page..."); event.preventDefault(); // Prevent the error from being logged to console window.location.reload(); return; } + + // Handle UTXOS-specific errors + if (error.message && (error.message.includes("UTXOS") || error.message.includes("Web3Wallet"))) { + console.log("[GlobalHandler] UTXOS error caught:", error.message); + event.preventDefault(); // Prevent unhandled rejection log + return; + } } }; @@ -185,6 +207,10 @@ export default function RootLayout({ const walletPageNames = walletPageRoute ? walletPageRoute.split("/") : []; const pageIsPublic = publicRoutes.includes(router.pathname); const isLoggedIn = !!user; + // Check if any wallet is connected using useActiveWallet hook for consistency + // Note: We use userAddress as fallback since useActiveWallet may not be available in layout + // The actual wallet state checking should use useActiveWallet in child components + const isAnyWalletConnected = connected || !!userAddress; return (
@@ -195,7 +221,7 @@ export default function RootLayout({