diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml deleted file mode 100644 index ae98ee9..0000000 --- a/.github/workflows/e2e.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: E2E Tests - -on: - push: - branches: [main] - pull_request: - branches: [main] - -jobs: - e2e: - runs-on: ubuntu-latest - timeout-minutes: 30 - - steps: - - uses: actions/checkout@v4 - - - name: Setup Bun - uses: oven-sh/setup-bun@v2 - with: - bun-version: latest - - - name: Install dependencies - run: bun install - - - name: Install Playwright browsers - run: bunx playwright install chromium --with-deps - - - name: Run Playwright E2E tests - run: bunx playwright test - env: - CI: true - VITE_E2E_MOCK_ORIGINALS: "true" - - - name: Upload test artifacts - uses: actions/upload-artifact@v4 - if: failure() - with: - name: playwright-report - path: | - playwright-report/ - test-results/ - retention-days: 7 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..5e57010 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,29 @@ +name: Tests + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + test: + name: Unit Tests + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + + # --frozen-lockfile so a package.json change that skips bun.lock fails here + # rather than at deploy time (Railway installs the same way). + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Run tests + run: bun test diff --git a/package-lock.json b/package-lock.json index c878045..8707028 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,8 +21,8 @@ "@capacitor/push-notifications": "^8.0.0", "@capacitor/share": "^8.0.0", "@capacitor/status-bar": "^8.0.0", - "@originals/auth": "^1.8.2", - "@originals/sdk": "^1.8.2", + "@originals/auth": "2.0.0", + "@originals/sdk": "2.1.0", "@sentry/react": "^10.42.0", "@sentry/vite-plugin": "^5.1.1", "@turnkey/core": "^1.11.0", @@ -994,6 +994,34 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@digitalbazaar/bbs-signatures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@digitalbazaar/bbs-signatures/-/bbs-signatures-3.1.0.tgz", + "integrity": "sha512-wx86l/PFOaRcoLBPmzwpF9Oo4uYJrm4uq/B1rHX5OHD15NakmUINfRr8NAGDG356GeTBDGZkMsBFgNj1x0dc+g==", + "license": "BSD-3-Clause", + "dependencies": { + "@noble/curves": "^2.2.0", + "@noble/hashes": "^2.2.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@digitalbazaar/bbs-signatures/node_modules/@noble/curves": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.2.0.tgz", + "integrity": "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "2.2.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@digitalbazaar/http-client": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz", @@ -2209,18 +2237,18 @@ } }, "node_modules/@noble/ed25519": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-2.3.0.tgz", - "integrity": "sha512-M7dvXL2B92/M7dw9+gzuydL8qn/jiqNHaoR3Q+cb1q1GHV7uwE17WCyFMG+Y+TZb5izcaXk5TdJRrDUxHXL78A==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-3.1.0.tgz", + "integrity": "sha512-pfcObRY3CtvwfaG9Mt5XqZdKmAQppl37tHUeuBhDUbiwJBCVY4/A4lbMvb1xKhMDx96AqAqZpMWuBX1HulhX4g==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -2230,9 +2258,9 @@ } }, "node_modules/@noble/secp256k1": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-2.3.0.tgz", - "integrity": "sha512-0TQed2gcBbIrh7Ccyw+y/uZQvbJwm7Ao4scBUxqpBCcsOlZG0O4KGfjtNAy/li4W8n1xt3dxrwJ0beZ2h2G6Kw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-3.1.0.tgz", + "integrity": "sha512-+F7iS7tUMaNGXcc9X3PjmjvuQnXEuSjCRNzVVA2xAcKXgCaP0dHYz4SFyt4FKNHef7sOP//xihowcySSS7PK9g==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" @@ -2524,19 +2552,20 @@ } }, "node_modules/@originals/auth": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@originals/auth/-/auth-1.8.3.tgz", - "integrity": "sha512-Vw4O8YvSpxdaukmgC6RuIgB+VsDYOMFVuGd/pE0MYafeRmMa2QDaLXg0t2nR4wN7tGT0HZx3Fmix742ZCopRqg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@originals/auth/-/auth-2.0.0.tgz", + "integrity": "sha512-KiG+QKn5XzV6IoOxxVOSDyo4sAvl+A+WuKkNB1iScl2t3fAnJSaw+tRixOpwbiEQuXSaufmSHN0XJIESTPQyRQ==", "license": "MIT", "dependencies": { - "@noble/ed25519": "^2.0.0", + "@noble/ed25519": "^3.1.0", "@noble/hashes": "^2.0.1", - "@originals/sdk": "^1.8.1", - "@turnkey/sdk-server": "^5.0.0", + "@originals/sdk": "^2.0.0", + "@turnkey/crypto": "^2.10.0", + "@turnkey/sdk-server": "^7.0.0", "jsonwebtoken": "^9.0.2" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.10.0" }, "peerDependencies": { "express": ">=4.0.0" @@ -2547,37 +2576,133 @@ } } }, + "node_modules/@originals/auth/node_modules/@noble/curves": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", + "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@originals/auth/node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@originals/auth/node_modules/@turnkey/crypto": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@turnkey/crypto/-/crypto-2.10.1.tgz", + "integrity": "sha512-A9dqEXHIhTNy4t32LodJOTm/I762TjcPAck8gl9E004f73Gz0WCGORnsgiSrSYHAkj4rC4oLUK8rbmRIikGBCQ==", + "license": "Apache-2.0", + "dependencies": { + "@noble/ciphers": "1.3.0", + "@noble/curves": "1.9.0", + "@noble/hashes": "1.8.0", + "@peculiar/x509": "1.12.3", + "@turnkey/encoding": "0.6.0", + "@turnkey/sdk-types": "1.2.0", + "borsh": "2.0.0", + "cbor-js": "0.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@originals/auth/node_modules/@turnkey/crypto/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@originals/auth/node_modules/@turnkey/sdk-types": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@turnkey/sdk-types/-/sdk-types-1.2.0.tgz", + "integrity": "sha512-S37cabMXICiM5ZpeRhYDuPuRrtE3GLlsHjasWCusWS7PUOP7Ru+g7HOHHWhb7A390j+NKvz1CJ1z8kvdfC0nvg==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@originals/sdk": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@originals/sdk/-/sdk-1.8.3.tgz", - "integrity": "sha512-uMNvSWdJ/xzHR60nA805fEErfG5rUvmVgxsgLmCnWVjYj41U6cH3JLdWbbZ/EWX4n16Rq7hrpWUddd+IUwb/pg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@originals/sdk/-/sdk-2.1.0.tgz", + "integrity": "sha512-VUfqbj+AaBEhLj5eb3UwCItQWaH/jB4zRUrSYN0rSAHZMBa44aMi9/GZl6Q9VVX5IQ5FpDtOS3wWozLf/qLKVA==", "license": "MIT", "dependencies": { "@aviarytech/did-peer": "^1.1.2", - "@noble/curves": "^1.6.0", - "@noble/ed25519": "^2.0.0", + "@digitalbazaar/bbs-signatures": "^3.1.0", + "@noble/curves": "^2.2.0", + "@noble/ed25519": "^3.1.0", "@noble/hashes": "^2.0.1", - "@noble/secp256k1": "^2.0.0", - "@scure/base": "^1.1.6", - "@scure/bip32": "^2.0.0", - "@scure/btc-signer": "^1.8.0", - "@stablelib/ed25519": "^2.0.2", + "@noble/secp256k1": "^3.1.0", + "@scure/base": "^2.2.0", + "@scure/btc-signer": "^2.2.0", "b58": "^4.0.3", "bitcoinjs-lib": "^6.1.0", - "cbor-js": "^0.1.0", - "didwebvh-ts": "^2.5.5", + "cborg": "^5.1.6", + "didwebvh-ts": "^2.8.0", + "fflate": "^0.8.3", "jsonld": "^8.3.3", "micro-ordinals": "^0.2.2", - "multiformats": "^12.0.0", - "uuid": "^13.0.0" + "uuid": "^14.0.1" }, "bin": { "originals-cel": "dist/cel/cli/index.js" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.10.0" } }, + "node_modules/@originals/sdk/node_modules/@noble/curves": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.2.0.tgz", + "integrity": "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "2.2.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@originals/sdk/node_modules/@scure/base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.2.0.tgz", + "integrity": "sha512-b8XEupJibegiXV+tDUseI8oLQc8ei3d/4Jkb2RpbHh3MfE054ov3uIz2dhFkB3FI8iwYkEh0gGCApkrYggkPNg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@originals/sdk/node_modules/fflate": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", + "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", + "license": "MIT" + }, "node_modules/@paralleldrive/cuid2": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz", @@ -3223,44 +3348,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@scure/bip32": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-2.0.1.tgz", - "integrity": "sha512-4Md1NI5BzoVP+bhyJaY3K6yMesEFzNS1sE/cP+9nuvE7p/b0kx9XbpDHHFl8dHtufcbdHRUUQdRqLIPHN/s7yA==", - "license": "MIT", - "dependencies": { - "@noble/curves": "2.0.1", - "@noble/hashes": "2.0.1", - "@scure/base": "2.0.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32/node_modules/@noble/curves": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.0.1.tgz", - "integrity": "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "2.0.1" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32/node_modules/@scure/base": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.0.0.tgz", - "integrity": "sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==", - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@scure/bip39": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz", @@ -3287,32 +3374,44 @@ } }, "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==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@scure/btc-signer/-/btc-signer-2.2.0.tgz", + "integrity": "sha512-ZXZ08sZqSZKEcOuEQnxTF66ouHtl6+UA6U/QfQM06K9WiOlEkXF4LviZCaSgkdiFh9cyMt9+xdup7JtEv3p0fw==", "license": "MIT", "dependencies": { - "@noble/curves": "~1.9.0", - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5", - "micro-packed": "~0.7.3" + "@noble/curves": "~2.2.0", + "@noble/hashes": "~2.2.0", + "@scure/base": "~2.2.0", + "micro-packed": "~0.9.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, - "node_modules/@scure/btc-signer/node_modules/@noble/hashes": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", - "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "node_modules/@scure/btc-signer/node_modules/@noble/curves": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.2.0.tgz", + "integrity": "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==", "license": "MIT", + "dependencies": { + "@noble/hashes": "2.2.0" + }, "engines": { - "node": "^14.21.3 || >=16" + "node": ">= 20.19.0" }, "funding": { "url": "https://paulmillr.com/funding/" } }, + "node_modules/@scure/btc-signer/node_modules/@scure/base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.2.0.tgz", + "integrity": "sha512-b8XEupJibegiXV+tDUseI8oLQc8ei3d/4Jkb2RpbHh3MfE054ov3uIz2dhFkB3FI8iwYkEh0gGCApkrYggkPNg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@sentry-internal/browser-utils": { "version": "10.42.0", "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.42.0.tgz", @@ -3650,65 +3749,6 @@ "node": ">= 18" } }, - "node_modules/@stablelib/binary": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-2.0.1.tgz", - "integrity": "sha512-U9iAO8lXgEDONsA0zPPSgcf3HUBNAqHiJmSHgZz62OvC3Hi2Bhc5kTnQ3S1/L+sthDTHtCMhcEiklmIly6uQ3w==", - "license": "MIT", - "dependencies": { - "@stablelib/int": "^2.0.1" - } - }, - "node_modules/@stablelib/ed25519": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-2.0.2.tgz", - "integrity": "sha512-d/lJ5sgzhtmpMIbKFWfev+i6WebBdIzzBpMzXtZdvUijoksjXosYFNqytoMj7cRshNj+/XTLYnnVMdZfd+penw==", - "license": "MIT", - "dependencies": { - "@stablelib/random": "^2.0.1", - "@stablelib/sha512": "^2.0.1", - "@stablelib/wipe": "^2.0.1" - } - }, - "node_modules/@stablelib/hash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-2.0.0.tgz", - "integrity": "sha512-u3WPSqGido8lwJuMcrBgM5K54LrPGhkWAdtsyccf7dGsLixAZUds77zOAbu7bvKPwQlmoByH0txBi5rTmEKuHg==", - "license": "MIT" - }, - "node_modules/@stablelib/int": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-2.0.1.tgz", - "integrity": "sha512-Ht63fQp3wz/F8U4AlXEPb7hfJOIILs8Lq55jgtD7KueWtyjhVuzcsGLSTAWtZs3XJDZYdF1WcSKn+kBtbzupww==", - "license": "MIT" - }, - "node_modules/@stablelib/random": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-2.0.1.tgz", - "integrity": "sha512-W6GAtXEEs7r+dSbuBsvoFmlyL3gLxle41tQkjKu17dDWtDdjhVUbtRfRCQcCUeczwkgjQxMPopgwYEvxXtHXGw==", - "license": "MIT", - "dependencies": { - "@stablelib/binary": "^2.0.1", - "@stablelib/wipe": "^2.0.1" - } - }, - "node_modules/@stablelib/sha512": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-2.0.1.tgz", - "integrity": "sha512-DUNe5cbnoH3sSIN+MG04RvTCLXtkbyy/SnQxiNO+GgF/KSXkkUSlF6mUVvCUdZBZ2X3NgogR+tAvaRSn8wxnLw==", - "license": "MIT", - "dependencies": { - "@stablelib/binary": "^2.0.1", - "@stablelib/hash": "^2.0.0", - "@stablelib/wipe": "^2.0.1" - } - }, - "node_modules/@stablelib/wipe": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-2.0.1.tgz", - "integrity": "sha512-1eU2K9EgOcV4qc9jcP6G72xxZxEm5PfeI5H55l08W95b4oRJaqhmlWRc4xZAm6IVSKhVNxMi66V67hCzzuMTAg==", - "license": "MIT" - }, "node_modules/@tailwindcss/node": { "version": "4.1.18", "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", @@ -4467,14 +4507,15 @@ } }, "node_modules/@turnkey/sdk-server": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@turnkey/sdk-server/-/sdk-server-5.0.2.tgz", - "integrity": "sha512-YHecVMAKh0By5/9jrMZOXaf2l4EdyUTIi3dmWDVR7b213lnwNpHs9x7hVR1O6TasVRDQ2ZtnEXtZZzNSXlKQcA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@turnkey/sdk-server/-/sdk-server-7.0.0.tgz", + "integrity": "sha512-3KDVR+qV1ZoS/30Gn8EgWiAn57SFUPp8Uw3tuQuAEsPjN5pR/WZfW3bZIjo84QIWY4pi45TnE0SpjAJwBCld/g==", "license": "Apache-2.0", "dependencies": { - "@turnkey/api-key-stamper": "0.6.1", - "@turnkey/http": "3.16.2", - "@turnkey/wallet-stamper": "1.1.12", + "@turnkey/api-key-stamper": "0.6.8", + "@turnkey/http": "5.0.0", + "@turnkey/sdk-types": "1.2.0", + "@turnkey/wallet-stamper": "1.1.20", "buffer": "^6.0.3", "cross-fetch": "^3.1.5" }, @@ -4482,6 +4523,91 @@ "node": ">=18.0.0" } }, + "node_modules/@turnkey/sdk-server/node_modules/@noble/curves": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", + "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@turnkey/sdk-server/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@turnkey/sdk-server/node_modules/@turnkey/api-key-stamper": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@turnkey/api-key-stamper/-/api-key-stamper-0.6.8.tgz", + "integrity": "sha512-kBXdNwl7LzqdzfzOtUSZaDf7FOTvD0lK0Ji5CLlPw8CQcXxTjapl9IYdIW7I5oc3r0+UnSrnWZhlNPVzu9k5tw==", + "license": "Apache-2.0", + "dependencies": { + "@noble/curves": "^1.3.0", + "@turnkey/crypto": "2.10.1", + "@turnkey/encoding": "0.6.0", + "sha256-uint8array": "^0.10.7" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@turnkey/sdk-server/node_modules/@turnkey/crypto": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@turnkey/crypto/-/crypto-2.10.1.tgz", + "integrity": "sha512-A9dqEXHIhTNy4t32LodJOTm/I762TjcPAck8gl9E004f73Gz0WCGORnsgiSrSYHAkj4rC4oLUK8rbmRIikGBCQ==", + "license": "Apache-2.0", + "dependencies": { + "@noble/ciphers": "1.3.0", + "@noble/curves": "1.9.0", + "@noble/hashes": "1.8.0", + "@peculiar/x509": "1.12.3", + "@turnkey/encoding": "0.6.0", + "@turnkey/sdk-types": "1.2.0", + "borsh": "2.0.0", + "cbor-js": "0.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@turnkey/sdk-server/node_modules/@turnkey/http": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@turnkey/http/-/http-5.0.0.tgz", + "integrity": "sha512-KL8FRWttsHPwciTFfXNv3IBLjr7+ipcTOa0i5PrtvqUv8iEkhHDpiZU9kbaQKnXon4BmkYRfZs2/Dox4DCeOpw==", + "license": "Apache-2.0", + "dependencies": { + "@turnkey/api-key-stamper": "0.6.8", + "@turnkey/encoding": "0.6.0", + "@turnkey/webauthn-stamper": "0.6.0", + "cross-fetch": "^3.1.5" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@turnkey/sdk-server/node_modules/@turnkey/sdk-types": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@turnkey/sdk-types/-/sdk-types-1.2.0.tgz", + "integrity": "sha512-S37cabMXICiM5ZpeRhYDuPuRrtE3GLlsHjasWCusWS7PUOP7Ru+g7HOHHWhb7A390j+NKvz1CJ1z8kvdfC0nvg==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@turnkey/sdk-types": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/@turnkey/sdk-types/-/sdk-types-0.11.2.tgz", @@ -4492,18 +4618,73 @@ } }, "node_modules/@turnkey/wallet-stamper": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/@turnkey/wallet-stamper/-/wallet-stamper-1.1.12.tgz", - "integrity": "sha512-3tp7y4UjcrBjD8romVPP/wTavrSLveviFCHTUs3BWZZNQlWJ8oHGJmAf+Y0DX9L9N3PwByUnElHzbEwiMuyRMQ==", + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/@turnkey/wallet-stamper/-/wallet-stamper-1.1.20.tgz", + "integrity": "sha512-UWSsmwsveAclZB6CxLtVIYe3Aa88Tgu6eK3bIuDswnv96dVRL2zIzOqbzdDktKyMlXe8UcoJtv/jB+3BL6xqew==", "license": "Apache-2.0", "dependencies": { - "@turnkey/crypto": "2.8.10", + "@turnkey/crypto": "2.10.1", "@turnkey/encoding": "0.6.0" }, "optionalDependencies": { "viem": "^2.21.35" } }, + "node_modules/@turnkey/wallet-stamper/node_modules/@noble/curves": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", + "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@turnkey/wallet-stamper/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@turnkey/wallet-stamper/node_modules/@turnkey/crypto": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@turnkey/crypto/-/crypto-2.10.1.tgz", + "integrity": "sha512-A9dqEXHIhTNy4t32LodJOTm/I762TjcPAck8gl9E004f73Gz0WCGORnsgiSrSYHAkj4rC4oLUK8rbmRIikGBCQ==", + "license": "Apache-2.0", + "dependencies": { + "@noble/ciphers": "1.3.0", + "@noble/curves": "1.9.0", + "@noble/hashes": "1.8.0", + "@peculiar/x509": "1.12.3", + "@turnkey/encoding": "0.6.0", + "@turnkey/sdk-types": "1.2.0", + "borsh": "2.0.0", + "cbor-js": "0.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@turnkey/wallet-stamper/node_modules/@turnkey/sdk-types": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@turnkey/sdk-types/-/sdk-types-1.2.0.tgz", + "integrity": "sha512-S37cabMXICiM5ZpeRhYDuPuRrtE3GLlsHjasWCusWS7PUOP7Ru+g7HOHHWhb7A390j+NKvz1CJ1z8kvdfC0nvg==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@turnkey/webauthn-stamper": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@turnkey/webauthn-stamper/-/webauthn-stamper-0.6.0.tgz", @@ -6657,6 +6838,15 @@ "integrity": "sha512-7sQ/TvDZPl7csT1Sif9G0+MA0I0JOVah8+wWlJVQdVEgIbCzlN/ab3x+uvMNsc34TUvO6osQTAmB2ls80JX6tw==", "license": "MIT" }, + "node_modules/cborg": { + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-5.1.11.tgz", + "integrity": "sha512-oc6Pzg/gkTobxHZNgMmny+G99dOeBMbAmnGHcZWMKtolxZBIVwfi0Pj0khxEtNU8HMFdbT5sK0HmtgecDUPP0A==", + "license": "Apache-2.0", + "bin": { + "cborg": "lib/bin.js" + } + }, "node_modules/ccount": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", @@ -7819,33 +8009,21 @@ } }, "node_modules/didwebvh-ts": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/didwebvh-ts/-/didwebvh-ts-2.7.1.tgz", - "integrity": "sha512-wsii4M8cQdPuIgc8wV1kg4fqWZD52pwp6asXqpUhAbYTjxE78jOUzKtmV2Xpc4NXyqyfZyGR6xDoUhj3BKmFaA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/didwebvh-ts/-/didwebvh-ts-2.8.0.tgz", + "integrity": "sha512-JAIK/Udr7xbGoYTDRjbm34nD8iddREIQffRL+vsrCaREyVtZDuy8SdFs5lXoop9zwEjXwh64ZFRSOYm6ZCZcAw==", "license": "Apache-2.0", "dependencies": { - "@noble/hashes": "^1.8.0", + "@noble/hashes": "^2.2.0", "cookie": "^1.1.1", - "glob": "^13.0.0", + "glob": "^13.0.6", "js-yaml": "^4.1.1", - "json-canonicalize": "^1.0.6" + "json-canonicalize": "^2.0.0" }, "bin": { "didwebvh": "dist/cli/didwebvh.js" } }, - "node_modules/didwebvh-ts/node_modules/@noble/hashes": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", - "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", - "license": "MIT", - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/diff": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.2.tgz", @@ -10288,9 +10466,9 @@ "license": "MIT" }, "node_modules/json-canonicalize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/json-canonicalize/-/json-canonicalize-1.2.0.tgz", - "integrity": "sha512-TTdjBvqrqJKSADlEsY5rWbx8/1tOrVlTR/aSLU8N2VSInCTffP0p+byYB8Es+OmL4ZOeEftjUdvV+eJeSzJC/Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/json-canonicalize/-/json-canonicalize-2.0.0.tgz", + "integrity": "sha512-yyrnK/mEm6Na3ChbJUWueXdapueW0p380RUyTW87XGb1ww8l8hU0pRrGC3vSWHe9CxrbPHX2fGUOZpNiHR0IIg==", "license": "MIT" }, "node_modules/json-parse-better-errors": { @@ -11593,7 +11771,34 @@ "ord": "lib/esm/cli.js" } }, - "node_modules/micro-packed": { + "node_modules/micro-ordinals/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/micro-ordinals/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/micro-ordinals/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==", @@ -11605,6 +11810,30 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/micro-packed": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/micro-packed/-/micro-packed-0.9.0.tgz", + "integrity": "sha512-gFdaWTxEXOwtSOcpxulO4AuXVtp3HWIRmB8eq8+3m1Zku0ubgva0UGpi03YhcvsTJasHngG9gTIUK5kHNKdesg==", + "license": "MIT", + "dependencies": { + "@scure/base": "~2.2.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/micro-packed/node_modules/@scure/base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.2.0.tgz", + "integrity": "sha512-b8XEupJibegiXV+tDUseI8oLQc8ei3d/4Jkb2RpbHh3MfE054ov3uIz2dhFkB3FI8iwYkEh0gGCApkrYggkPNg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/micromark": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", @@ -12384,16 +12613,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, - "node_modules/multiformats": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", - "integrity": "sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw==", - "license": "Apache-2.0 OR MIT", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -16432,9 +16651,9 @@ "license": "MIT" }, "node_modules/uuid": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", - "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz", + "integrity": "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan"