diff --git a/packages/codecs/LICENSE b/packages/codecs/LICENSE new file mode 100644 index 000000000..eeec9a94b --- /dev/null +++ b/packages/codecs/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 idOS Network + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/codecs/README.md b/packages/codecs/README.md new file mode 100644 index 000000000..7de8ffdcb --- /dev/null +++ b/packages/codecs/README.md @@ -0,0 +1,3 @@ +# idOS codecs + +A collection of codecs used by the idOS SDK. diff --git a/packages/codecs/index.ts b/packages/codecs/index.ts new file mode 100644 index 000000000..dbca852d8 --- /dev/null +++ b/packages/codecs/index.ts @@ -0,0 +1,10 @@ +export { decode as base64Decode } from "@stablelib/base64"; +export { encode as base64Encode } from "@stablelib/base64"; +export { writeUint16BE as binaryWriteUint16BE } from "@stablelib/binary"; +export { concat as bytesConcat } from "@stablelib/bytes"; +export { decode as hexDecode } from "@stablelib/hex"; +export { encode as hexEncode } from "@stablelib/hex"; +export { hash as sha256Hash } from "@stablelib/sha256"; +export { decode as utf8Decode } from "@stablelib/utf8"; +export { encode as utf8Encode } from "@stablelib/utf8"; +export { serialize as borshSerialize } from "borsh"; diff --git a/packages/codecs/package.json b/packages/codecs/package.json new file mode 100644 index 000000000..d028c217e --- /dev/null +++ b/packages/codecs/package.json @@ -0,0 +1,19 @@ +{ + "name": "@idos-network/codecs", + "version": "0.0.1", + "description": "A collection of codecs used by the idOS SDK.", + "homepage": "https://idos.network", + "repository": "https://github.com/idos-network/idos-sdk-js", + "license": "MIT", + "type": "module", + "main": "index.ts", + "dependencies": { + "@stablelib/base64": "^1.0.1", + "@stablelib/binary": "^1.0.1", + "@stablelib/bytes": "^1.0.1", + "@stablelib/hex": "^2.0.0", + "@stablelib/sha256": "^1.0.1", + "@stablelib/utf8": "^1.0.1", + "borsh": "^1.0.0" + } +} diff --git a/packages/codecs/tsconfig.json b/packages/codecs/tsconfig.json new file mode 100644 index 000000000..b2612cd29 --- /dev/null +++ b/packages/codecs/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "ESNext", + "composite": true, + "lib": ["ESNext"], + "module": "ESNext", + "skipLibCheck": true, + /* Bundler mode */ + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": "." + }, + "include": ["./src/**/*.ts"] +} diff --git a/packages/idos-sdk-js/package.json b/packages/idos-sdk-js/package.json index 1fb9e1930..e7ec16bad 100644 --- a/packages/idos-sdk-js/package.json +++ b/packages/idos-sdk-js/package.json @@ -58,15 +58,9 @@ "dependencies": { "@digitalbazaar/ed25519-signature-2020": "^5.2.0", "@digitalbazaar/ed25519-verification-key-2020": "^4.1.0", + "@idos-network/codecs": "workspace:*", "@digitalbazaar/vc": "^6.0.2", "@kwilteam/kwil-js": "0.7.1", - "@stablelib/base64": "^1.0.1", - "@stablelib/binary": "^1.0.1", - "@stablelib/bytes": "^1.0.1", - "@stablelib/hex": "^2.0.0", - "@stablelib/sha256": "^1.0.1", - "@stablelib/utf8": "^1.0.1", - "borsh": "^1.0.0", "es-toolkit": "^1.23.0", "bs58": "^6.0.0", "jsonld": "^8.3.1", diff --git a/packages/idos-sdk-js/src/lib/auth.ts b/packages/idos-sdk-js/src/lib/auth.ts index 8d7fbc5f9..1f804f2bb 100644 --- a/packages/idos-sdk-js/src/lib/auth.ts +++ b/packages/idos-sdk-js/src/lib/auth.ts @@ -1,12 +1,14 @@ +import { + base64Decode, + binaryWriteUint16BE, + borshSerialize, + bytesConcat, + utf8Decode, +} from "@idos-network/codecs"; +import type { EthSigner } from "@kwilteam/kwil-js/dist/core/builders"; import type { SignMessageParams, SignedMessage, Wallet } from "@near-wallet-selector/core"; -import * as Base64Codec from "@stablelib/base64"; -import * as BinaryCodec from "@stablelib/binary"; -import * as BytesCodec from "@stablelib/bytes"; -import * as Utf8Codec from "@stablelib/utf8"; -import * as BorshCodec from "borsh"; import type { Signer } from "ethers"; -import type { EthSigner } from "@kwilteam/kwil-js/dist/core/builders"; import type { Store } from "../../../idos-store"; import type { KwilWrapper } from "./kwil-wrapper"; import { Nonce } from "./nonce"; @@ -149,7 +151,7 @@ export class Auth { const signer = async (message: string | Uint8Array): Promise => { // biome-ignore lint/style/noParameterAssign: we're narrowing the type on purpose. - if (typeof message !== "string") message = Utf8Codec.decode(message); + if (typeof message !== "string") message = utf8Decode(message); if (!wallet.signMessage) throw new Error("Only wallets with signMessage are supported."); const nonceSuggestion = Buffer.from(new Nonce(32).bytes); @@ -188,12 +190,12 @@ export class Auth { callbackUrl, }; - const nep413BorshPayload = BorshCodec.serialize(nep413BorschSchema, nep413BorshParams); + const nep413BorshPayload = borshSerialize(nep413BorschSchema, nep413BorshParams); - return BytesCodec.concat( - BinaryCodec.writeUint16BE(nep413BorshPayload.length), + return bytesConcat( + binaryWriteUint16BE(nep413BorshPayload.length), nep413BorshPayload, - Base64Codec.decode(signature), + base64Decode(signature), ); }; diff --git a/packages/idos-sdk-js/src/lib/data.ts b/packages/idos-sdk-js/src/lib/data.ts index bce1570f3..90bd7c820 100644 --- a/packages/idos-sdk-js/src/lib/data.ts +++ b/packages/idos-sdk-js/src/lib/data.ts @@ -1,7 +1,5 @@ +import { base64Decode, base64Encode, hexEncode, utf8Encode } from "@idos-network/codecs"; import type { idOSCredential } from "@idos-network/idos-sdk-types"; -import * as Base64Codec from "@stablelib/base64"; -import * as HexCodec from "@stablelib/hex"; -import * as Utf8Codec from "@stablelib/utf8"; import nacl from "tweetnacl"; import type { Enclave } from "./enclave"; import type { KwilWrapper } from "./kwil-wrapper"; @@ -81,7 +79,7 @@ export class Data { let receiverPublicKey: string | undefined; if (tableName === "credentials") { - receiverPublicKey = receiverPublicKey ?? Base64Codec.encode(await this.enclave.ready()); + receiverPublicKey = receiverPublicKey ?? base64Encode(await this.enclave.ready()); for (const record of records) { Object.assign( record, @@ -131,7 +129,7 @@ export class Data { } if (tableName === "credentials") { - receiverPublicKey ??= Base64Codec.encode(await this.enclave.ready()); + receiverPublicKey ??= base64Encode(await this.enclave.ready()); Object.assign( record, await this.#buildInsertableIDOSCredential( @@ -266,7 +264,7 @@ export class Data { const record: any = recordLike; if (tableName === "credentials") { - receiverPublicKey ??= Base64Codec.encode(await this.enclave.ready()); + receiverPublicKey ??= base64Encode(await this.enclave.ready()); Object.assign( record, await this.#buildInsertableIDOSCredential( @@ -368,7 +366,7 @@ export class Data { const content = await this.enclave.encrypt(plaintextContent, receiverEncryptionPublicKey); const publicNotesSignature = nacl.sign.detached( - Utf8Codec.encode(publicNotes), + utf8Encode(publicNotes), issuerAuthenticationKeyPair.secretKey, ); @@ -377,16 +375,16 @@ export class Data { content, public_notes: publicNotes, - public_notes_signature: Base64Codec.encode(publicNotesSignature), + public_notes_signature: base64Encode(publicNotesSignature), - broader_signature: Base64Codec.encode( + broader_signature: base64Encode( nacl.sign.detached( - Uint8Array.from([...publicNotesSignature, ...Base64Codec.decode(content)]), + Uint8Array.from([...publicNotesSignature, ...base64Decode(content)]), issuerAuthenticationKeyPair.secretKey, ), ), - issuer_auth_public_key: HexCodec.encode(issuerAuthenticationKeyPair.publicKey, true), + issuer_auth_public_key: hexEncode(issuerAuthenticationKeyPair.publicKey, true), encryption_public_key: isPresent(this.enclave.auth.currentUser.currentUserPublicKey), }; } diff --git a/packages/idos-sdk-js/src/lib/enclave-providers/iframe-enclave.ts b/packages/idos-sdk-js/src/lib/enclave-providers/iframe-enclave.ts index dd4eef765..ef72084d1 100644 --- a/packages/idos-sdk-js/src/lib/enclave-providers/iframe-enclave.ts +++ b/packages/idos-sdk-js/src/lib/enclave-providers/iframe-enclave.ts @@ -1,5 +1,6 @@ +import { base64Encode } from "@idos-network/codecs"; import type { idOSCredential } from "@idos-network/idos-sdk-types"; -import * as Base64Codec from "@stablelib/base64"; + import type { BackupPasswordInfo } from "../types"; import type { DiscoverEncryptionKeyResponse, @@ -243,7 +244,7 @@ export class IframeEnclave implements EnclaveProvider { return { humanId, - encryptionPublicKey: Base64Codec.encode(encryptionPublicKey), + encryptionPublicKey: base64Encode(encryptionPublicKey), }; } } diff --git a/packages/idos-sdk-js/src/lib/enclave.ts b/packages/idos-sdk-js/src/lib/enclave.ts index 275d4ee41..42583d4df 100644 --- a/packages/idos-sdk-js/src/lib/enclave.ts +++ b/packages/idos-sdk-js/src/lib/enclave.ts @@ -1,6 +1,5 @@ +import { base64Decode, base64Encode, utf8Decode, utf8Encode } from "@idos-network/codecs"; import type { idOSCredential } from "@idos-network/idos-sdk-types"; -import * as Base64Codec from "@stablelib/base64"; -import * as Utf8Codec from "@stablelib/utf8"; import type { Auth } from "./auth"; import type { EnclaveProvider } from "./enclave-providers/types"; import type { BackupPasswordInfo } from "./types"; @@ -43,10 +42,10 @@ export class Enclave { async encrypt(message: string, receiverPublicKey?: string): Promise { if (!this.encryptionPublicKey) await this.ready(); - return Base64Codec.encode( + return base64Encode( await this.provider.encrypt( - Utf8Codec.encode(message), - receiverPublicKey === undefined ? undefined : Base64Codec.decode(receiverPublicKey), + utf8Encode(message), + receiverPublicKey === undefined ? undefined : base64Decode(receiverPublicKey), ), ); } @@ -54,10 +53,10 @@ export class Enclave { async decrypt(message: string, senderPublicKey?: string): Promise { if (!this.encryptionPublicKey) await this.ready(); - return Utf8Codec.decode( + return utf8Decode( await this.provider.decrypt( - Base64Codec.decode(message), - senderPublicKey === undefined ? undefined : Base64Codec.decode(senderPublicKey), + base64Decode(message), + senderPublicKey === undefined ? undefined : base64Decode(senderPublicKey), ), ); } diff --git a/packages/idos-sdk-js/src/lib/grants/near.ts b/packages/idos-sdk-js/src/lib/grants/near.ts index 33426e229..8181edb2e 100644 --- a/packages/idos-sdk-js/src/lib/grants/near.ts +++ b/packages/idos-sdk-js/src/lib/grants/near.ts @@ -1,5 +1,5 @@ +import { base64Decode } from "@idos-network/codecs"; import type { SignMessageParams, SignedMessage, Wallet } from "@near-wallet-selector/core"; -import * as Base64Codec from "@stablelib/base64"; import type { Contract, connect, keyStores, providers } from "near-api-js"; import { Nonce } from "../nonce"; import Grant from "./grant"; @@ -135,7 +135,7 @@ export class NearGrants implements GrantChild { if (!nonce) throw new Error("signMessage is expected to return a nonce, but it didn't"); return { - signature: Base64Codec.decode(b64Signature), + signature: base64Decode(b64Signature), nonce, }; } diff --git a/packages/idos-sdk-js/src/lib/utils.ts b/packages/idos-sdk-js/src/lib/utils.ts index 369270440..c7e7f8b70 100644 --- a/packages/idos-sdk-js/src/lib/utils.ts +++ b/packages/idos-sdk-js/src/lib/utils.ts @@ -1,5 +1,5 @@ +import { hexEncode } from "@idos-network/codecs"; import type { AccessKeyList } from "@near-js/types"; -import { encode as encodeHex } from "@stablelib/hex"; import bs58 from "bs58"; import type { connect as connectT } from "near-api-js"; @@ -36,7 +36,7 @@ export async function getNearFullAccessPublicKeys( export function implicitAddressFromPublicKey(publicKey: string) { const key_without_prefix = publicKey.replace(/^ed25519:/, ""); - const implicitAddress = encodeHex(bs58.decode(key_without_prefix)); + const implicitAddress = hexEncode(bs58.decode(key_without_prefix)); return implicitAddress; } diff --git a/packages/issuer-sdk-js/package.json b/packages/issuer-sdk-js/package.json index 92b3ded0a..5b9fd1a97 100644 --- a/packages/issuer-sdk-js/package.json +++ b/packages/issuer-sdk-js/package.json @@ -58,10 +58,8 @@ "vitest": "^0.31.4" }, "dependencies": { + "@idos-network/codecs": "workspace:*", "@kwilteam/kwil-js": "0.7.1", - "@stablelib/base64": "^1.0.1", - "@stablelib/hex": "^2.0.0", - "@stablelib/utf8": "^1.0.1", "es-toolkit": "^1.23.0", "tiny-invariant": "^1.3.3", "tweetnacl": "^1.0.3" diff --git a/packages/issuer-sdk-js/src/credentials.ts b/packages/issuer-sdk-js/src/credentials.ts index aab558814..7346f89cc 100644 --- a/packages/issuer-sdk-js/src/credentials.ts +++ b/packages/issuer-sdk-js/src/credentials.ts @@ -1,7 +1,5 @@ +import { base64Decode, base64Encode, hexEncode, utf8Encode } from "@idos-network/codecs"; import type { idOSCredential } from "@idos-network/idos-sdk-types"; -import * as Base64Codec from "@stablelib/base64"; -import * as HexCodec from "@stablelib/hex"; -import * as Utf8Codec from "@stablelib/utf8"; import { omit } from "es-toolkit"; import nacl from "tweetnacl"; import type { IssuerConfig } from "./create-issuer-config"; @@ -15,13 +13,13 @@ const buildUpdateablePublicNotes = ( { publicNotes }: UpdateablePublicNotes, ) => { const publicNotesSignature = nacl.sign.detached( - Utf8Codec.encode(publicNotes), + utf8Encode(publicNotes), issuerConfig.signingKeyPair.secretKey, ); return { public_notes: publicNotes, - public_notes_signature: Base64Codec.encode(publicNotesSignature), + public_notes_signature: base64Encode(publicNotesSignature), }; }; @@ -44,7 +42,7 @@ const buildInsertableIDOSCredential = ( receiverEncryptionPublicKey: Uint8Array; }, ): InsertableIDOSCredential => { - const content = Base64Codec.decode( + const content = base64Decode( encryptContent( plaintextContent, receiverEncryptionPublicKey, @@ -58,20 +56,20 @@ const buildInsertableIDOSCredential = ( return { human_id: humanId, - content: Base64Codec.encode(content), + content: base64Encode(content), public_notes, public_notes_signature, - broader_signature: Base64Codec.encode( + broader_signature: base64Encode( nacl.sign.detached( - Uint8Array.from([...Base64Codec.decode(public_notes_signature), ...content]), + Uint8Array.from([...base64Decode(public_notes_signature), ...content]), issuerConfig.signingKeyPair.secretKey, ), ), - issuer_auth_public_key: HexCodec.encode(issuerConfig.signingKeyPair.publicKey, true), - encryption_public_key: Base64Codec.encode(issuerConfig.encryptionKeyPair.publicKey), + issuer_auth_public_key: hexEncode(issuerConfig.signingKeyPair.publicKey, true), + encryption_public_key: base64Encode(issuerConfig.encryptionKeyPair.publicKey), }; }; diff --git a/packages/issuer-sdk-js/src/internal.ts b/packages/issuer-sdk-js/src/internal.ts index a537235d9..5dba9e3d9 100644 --- a/packages/issuer-sdk-js/src/internal.ts +++ b/packages/issuer-sdk-js/src/internal.ts @@ -1,5 +1,5 @@ +import { base64Encode } from "@idos-network/codecs"; import { Utils } from "@kwilteam/kwil-js"; -import * as Base64Codec from "@stablelib/base64"; import nacl from "tweetnacl"; export function ensureEntityId(entity: T): { id: string } & T { @@ -29,9 +29,9 @@ export function encryptContent( throw Error( `Couldn't encrypt. ${JSON.stringify( { - message: Base64Codec.encode(message), - nonce: Base64Codec.encode(nonce), - receiverPublicKey: Base64Codec.encode(receiverPublicKey), + message: base64Encode(message), + nonce: base64Encode(nonce), + receiverPublicKey: base64Encode(receiverPublicKey), }, null, 2, @@ -42,5 +42,5 @@ export function encryptContent( fullMessage.set(nonce, 0); fullMessage.set(encrypted, nonce.length); - return Base64Codec.encode(fullMessage); + return base64Encode(fullMessage); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 49d0d3f11..5aecd0236 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,7 +146,7 @@ importers: version: 5.51.11(@tanstack/react-query@5.51.11(react@18.3.1))(react@18.3.1) '@web3modal/wagmi': specifier: ^4.2.3 - version: 4.2.3(@types/react@18.3.3)(@wagmi/connectors@5.5.2(@types/react@18.3.3)(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)) + version: 4.2.3(@types/react@18.3.3)(@wagmi/connectors@5.6.1(@types/react@18.3.3)(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)) ethers: specifier: ^6.13.4 version: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -471,10 +471,10 @@ importers: version: 1.0.3 viem: specifier: latest - version: 2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + version: 2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) wagmi: specifier: latest - version: 2.13.2(@tanstack/query-core@5.59.20)(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + version: 2.14.1(@tanstack/query-core@5.59.20)(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) zustand: specifier: ^5.0.0 version: 5.0.0(@types/react@18.3.12)(react@18.3.1)(use-sync-external-store@1.2.0(react@18.3.1)) @@ -490,7 +490,7 @@ importers: version: 18.3.1 '@wagmi/cli': specifier: latest - version: 2.1.18(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 2.1.21(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.47) @@ -522,20 +522,8 @@ importers: specifier: ^5.0.2 version: 5.0.10 - packages/idos-sdk-js: + packages/codecs: dependencies: - '@digitalbazaar/ed25519-signature-2020': - specifier: ^5.2.0 - version: 5.2.0(web-streams-polyfill@3.2.1) - '@digitalbazaar/ed25519-verification-key-2020': - specifier: ^4.1.0 - version: 4.1.0 - '@digitalbazaar/vc': - specifier: ^6.0.2 - version: 6.0.2(web-streams-polyfill@3.2.1) - '@kwilteam/kwil-js': - specifier: 0.7.1 - version: 0.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@stablelib/base64': specifier: ^1.0.1 version: 1.0.1 @@ -557,6 +545,24 @@ importers: borsh: specifier: ^1.0.0 version: 1.0.0 + + packages/idos-sdk-js: + dependencies: + '@digitalbazaar/ed25519-signature-2020': + specifier: ^5.2.0 + version: 5.2.0(web-streams-polyfill@3.2.1) + '@digitalbazaar/ed25519-verification-key-2020': + specifier: ^4.1.0 + version: 4.1.0 + '@digitalbazaar/vc': + specifier: ^6.0.2 + version: 6.0.2(web-streams-polyfill@3.2.1) + '@idos-network/codecs': + specifier: workspace:* + version: link:../codecs + '@kwilteam/kwil-js': + specifier: 0.7.1 + version: 0.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) bs58: specifier: ^6.0.0 version: 6.0.0 @@ -708,18 +714,12 @@ importers: packages/issuer-sdk-js: dependencies: + '@idos-network/codecs': + specifier: workspace:* + version: link:../codecs '@kwilteam/kwil-js': specifier: 0.7.1 version: 0.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@stablelib/base64': - specifier: ^1.0.1 - version: 1.0.1 - '@stablelib/hex': - specifier: ^2.0.0 - version: 2.0.0 - '@stablelib/utf8': - specifier: ^1.0.1 - version: 1.0.1 es-toolkit: specifier: ^1.23.0 version: 1.23.0 @@ -3698,8 +3698,8 @@ packages: react-native: optional: true - '@metamask/sdk-install-modal-web@0.31.0': - resolution: {integrity: sha512-nr8AZ+ccEfC3BmzTkT2wH16wOARqVrkhAFqsxYsnaozn+BAb+Hwo/GRhaIGzYgYFj/tTD3SM0UtXd6x2gzMDQw==} + '@metamask/sdk-install-modal-web@0.31.2': + resolution: {integrity: sha512-KPv36kQjmTwErU8g2neuHHSgkD5+1hp4D6ERfk5Kc2r73aOYNCdG9wDGRUmFmcY2MKkeK1EuDyZfJ4FPU30fxQ==} '@metamask/sdk@0.26.5': resolution: {integrity: sha512-HS/MPQCCYRS+m3dDdGLcAagwYHiPv9iUshDMBjINUywCtfUN4P2BH8xdvPOgtnzRIuRSMXqMWBbZnTvEvBeQvA==} @@ -3723,8 +3723,8 @@ packages: react-dom: optional: true - '@metamask/sdk@0.31.0': - resolution: {integrity: sha512-L1TKg7NkgCJbjkJsDTC6ZEpjGdroxsFksm17eGWPmNqdPf561ujJkU3xWCUPxEvU0hI+Wz3y2GegJsNej9/jWw==} + '@metamask/sdk@0.31.2': + resolution: {integrity: sha512-6MWON2g1j7XwAHWam4trusGxeyhQweNLEHPsfuIxSwcsXoEm08Jj80OglJxQI4KwjcDnjSWBkQGG3mmK6ug/cA==} '@metamask/superstruct@3.1.0': resolution: {integrity: sha512-N08M56HdOgBfRKkrgCMZvQppkZGcArEop3kixNEtVbJKm6P9Cfg0YkI6X0s1g78sNrj2fWUwvJADdZuzJgFttA==} @@ -4421,6 +4421,10 @@ packages: resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} engines: {node: ^14.21.3 || >=16} + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} + engines: {node: ^14.21.3 || >=16} + '@noble/ed25519@1.7.3': resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} @@ -4440,6 +4444,14 @@ packages: resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.1': + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} + engines: {node: ^14.21.3 || >=16} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -5773,14 +5785,17 @@ packages: '@scure/base@1.1.9': resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} + '@scure/base@1.2.1': + resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} + '@scure/bip32@1.3.2': resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} '@scure/bip32@1.4.0': resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} - '@scure/bip32@1.5.0': - resolution: {integrity: sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw==} + '@scure/bip32@1.6.0': + resolution: {integrity: sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==} '@scure/bip39@1.2.1': resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} @@ -5788,8 +5803,8 @@ packages: '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - '@scure/bip39@1.4.0': - resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} + '@scure/bip39@1.5.0': + resolution: {integrity: sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==} '@sideway/address@4.1.5': resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} @@ -6359,8 +6374,8 @@ packages: '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - '@wagmi/cli@2.1.18': - resolution: {integrity: sha512-1Vqz3Kj0WY/p6vUq1a2m8NH+64wAcoV+fUC8j5BrEgaeCDbQrWdZ2nMLbz/I6ao2oPNvv1eNWCjR6r8QiscXlA==} + '@wagmi/cli@2.1.21': + resolution: {integrity: sha512-RLFV8SiiV23IqIcGe19aREv+EGrMyB6N0w2DcT4XeAxw/NQEmedkq81QUxxDymqVUZrp/DtmgLXa6khdSoA/gw==} hasBin: true peerDependencies: typescript: '>=5.0.4' @@ -6388,10 +6403,10 @@ packages: typescript: optional: true - '@wagmi/connectors@5.5.2': - resolution: {integrity: sha512-QYXDGu7ELr88R2ijkNMhVN402Vt9EXGrtHSMLq7u9pSu/N4mODZvXbvE9RWQ8PNrtCKGYLrHxI/oUGjCf1zxzQ==} + '@wagmi/connectors@5.6.1': + resolution: {integrity: sha512-6nGxKSDtT6udnrW21SPqP7gcaZFpyRAz7Ecf2DelYh5OHpGk/FBNB8mtB/w0AVSCH6XRIpVK81pO412pPBiEYg==} peerDependencies: - '@wagmi/core': 2.15.1 + '@wagmi/core': 2.16.0 typescript: '>=5.0.4' viem: 2.x peerDependenciesMeta: @@ -6422,8 +6437,8 @@ packages: typescript: optional: true - '@wagmi/core@2.15.1': - resolution: {integrity: sha512-xeSdA9FOZs+H1NG51GekfgDQ5aG8KGYUphuh+aYhsvMYtaEy6DVKmpgS13nvAzxe4rjtw0cm6RR0SA4G+paVdg==} + '@wagmi/core@2.16.0': + resolution: {integrity: sha512-sy4n7Jv6YCbT2jp4zQ/9H6l0A8StsN7P8mm2BRuODgW2w6Fj4j6h2xgYJD2tIjJHkLU/nvPJ7audZ55X7XQU/g==} peerDependencies: '@tanstack/query-core': '>=5.0.0' typescript: '>=5.0.4' @@ -7086,8 +7101,8 @@ packages: zod: optional: true - abitype@1.0.6: - resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} + abitype@1.0.7: + resolution: {integrity: sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -8662,10 +8677,6 @@ packages: engines: {node: '>=18'} hasBin: true - escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -8896,10 +8907,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true @@ -10060,10 +10067,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} @@ -10470,6 +10473,9 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanospinner@1.2.2: + resolution: {integrity: sha512-Zt/AmG6qRU3e+WnzGGLuMCEAO/dAu45stNbHY223tUxldaDAeE+FxSPsd9Q+j+paejmm0ZbrNVs5Sraqy3dRxA==} + near-abi@0.1.1: resolution: {integrity: sha512-RVDI8O+KVxRpC3KycJ1bpfVj9Zv+xvq9PlW1yIFl46GhrnLw83/72HqHGjGDjQ8DtltkcpSjY9X3YIGZ+1QyzQ==} @@ -10756,10 +10762,6 @@ packages: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} - ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - ora@7.0.1: resolution: {integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==} engines: {node: '>=16'} @@ -10815,10 +10817,6 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -10887,10 +10885,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -12774,8 +12768,8 @@ packages: typescript: optional: true - viem@2.21.51: - resolution: {integrity: sha512-IBZTFoo9cZvMBkFqaJq5G8Ori4IeEDe9AHE5CmOlvNw7ytkC3vdVrJ/APL+V3H4d/5i1FiV331UsckIqQLIM0w==} + viem@2.21.55: + resolution: {integrity: sha512-PgXew7C11cAuEtOSgRyQx2kJxEOPUwIwZA9dMglRByqJuFVA7wSGZZOOo/93iylAA8E15bEdqy9xulU3oKZ70Q==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -13025,8 +13019,8 @@ packages: typescript: optional: true - wagmi@2.13.2: - resolution: {integrity: sha512-xm9vRcmDko/XYZDjYAqlx8TCa1MYMdVSM6NswQEv/E1Bg+9rfC/EK/5CyWLRkPUpEKn17kKfH/W9gAqmbQmRAw==} + wagmi@2.14.1: + resolution: {integrity: sha512-Lq/UFJVorjwJlFjXbU+Jtfo64PObNfUCPtwgqi+q/WGBWzG7CL0xmCsB3wPc+YZYwD8O9OqFDHfcggUi0qwcGA==} peerDependencies: '@tanstack/react-query': '>=5.0.0' react: '>=18' @@ -13513,7 +13507,7 @@ snapshots: '@babel/code-frame@7.24.6': dependencies: '@babel/highlight': 7.24.6 - picocolors: 1.0.1 + picocolors: 1.1.1 '@babel/code-frame@7.24.7': dependencies: @@ -13824,7 +13818,7 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.1 '@babel/parser@7.24.6': dependencies: @@ -17239,7 +17233,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-native: 0.74.3(@babel/core@7.26.0)(@babel/preset-env@7.24.8(@babel/core@7.26.0))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10) - '@metamask/sdk-install-modal-web@0.31.0': + '@metamask/sdk-install-modal-web@0.31.2': dependencies: '@paulmillr/qr': 0.2.1 @@ -17310,13 +17304,13 @@ snapshots: - supports-color - utf-8-validate - '@metamask/sdk@0.31.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.10)': + '@metamask/sdk@0.31.2(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 '@metamask/onboarding': 1.0.1 '@metamask/providers': 16.1.0(supports-color@9.4.0) '@metamask/sdk-communication-layer': 0.31.0(cross-fetch@4.0.0(encoding@0.1.13))(eciesjs@0.4.11)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.10))(supports-color@9.4.0) - '@metamask/sdk-install-modal-web': 0.31.0 + '@metamask/sdk-install-modal-web': 0.31.2 '@paulmillr/qr': 0.2.1 bowser: 2.11.0 cross-fetch: 4.0.0(encoding@0.1.13) @@ -18701,6 +18695,10 @@ snapshots: dependencies: '@noble/hashes': 1.5.0 + '@noble/curves@1.7.0': + dependencies: + '@noble/hashes': 1.6.0 + '@noble/ed25519@1.7.3': {} '@noble/hashes@1.3.2': {} @@ -18711,6 +18709,10 @@ snapshots: '@noble/hashes@1.5.0': {} + '@noble/hashes@1.6.0': {} + + '@noble/hashes@1.6.1': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -20654,7 +20656,7 @@ snapshots: '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)': dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.22.1 - viem: 2.21.51(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.55(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) transitivePeerDependencies: - bufferutil - typescript @@ -20664,7 +20666,7 @@ snapshots: '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)': dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.22.1 - viem: 2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) transitivePeerDependencies: - bufferutil - typescript @@ -20677,6 +20679,8 @@ snapshots: '@scure/base@1.1.9': {} + '@scure/base@1.2.1': {} + '@scure/bip32@1.3.2': dependencies: '@noble/curves': 1.2.0 @@ -20689,11 +20693,11 @@ snapshots: '@noble/hashes': 1.4.0 '@scure/base': 1.1.7 - '@scure/bip32@1.5.0': + '@scure/bip32@1.6.0': dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/base': 1.1.7 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 '@scure/bip39@1.2.1': dependencies: @@ -20705,10 +20709,10 @@ snapshots: '@noble/hashes': 1.4.0 '@scure/base': 1.1.7 - '@scure/bip39@1.4.0': + '@scure/bip39@1.5.0': dependencies: - '@noble/hashes': 1.5.0 - '@scure/base': 1.1.9 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 '@sideway/address@4.1.5': dependencies: @@ -21451,7 +21455,7 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@wagmi/cli@2.1.18(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@wagmi/cli@2.1.21(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: abitype: 1.0.5(typescript@5.6.3)(zod@3.23.8) bundle-require: 4.1.0(esbuild@0.19.12) @@ -21462,16 +21466,14 @@ snapshots: dotenv: 16.4.5 dotenv-expand: 10.0.0 esbuild: 0.19.12 - execa: 8.0.1 + escalade: 3.2.0 fdir: 6.2.0(picomatch@3.0.1) - find-up: 6.3.0 - fs-extra: 11.2.0 - ora: 6.3.1 + nanospinner: 1.2.2 pathe: 1.1.2 picocolors: 1.1.1 picomatch: 3.0.1 prettier: 3.3.3 - viem: 2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) zod: 3.23.8 optionalDependencies: typescript: 5.6.3 @@ -21555,16 +21557,16 @@ snapshots: - utf-8-validate - zod - '@wagmi/connectors@5.5.2(@types/react@18.3.12)(@wagmi/core@2.15.1(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': + '@wagmi/connectors@5.6.1(@types/react@18.3.12)(@wagmi/core@2.16.0(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': dependencies: '@coinbase/wallet-sdk': 4.2.3 - '@metamask/sdk': 0.31.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.10) + '@metamask/sdk': 0.31.2(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.4(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) - '@wagmi/core': 2.15.1(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@wagmi/core': 2.16.0(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) '@walletconnect/ethereum-provider': 2.17.0(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10) cbw-sdk: '@coinbase/wallet-sdk@3.9.3(supports-color@9.4.0)' - viem: 2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -21590,10 +21592,10 @@ snapshots: - utf-8-validate - zod - '@wagmi/connectors@5.5.2(@types/react@18.3.3)(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': + '@wagmi/connectors@5.6.1(@types/react@18.3.3)(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)': dependencies: '@coinbase/wallet-sdk': 4.2.3 - '@metamask/sdk': 0.31.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.10) + '@metamask/sdk': 0.31.2(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.4(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) '@wagmi/core': 2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)) @@ -21654,11 +21656,11 @@ snapshots: - react - use-sync-external-store - '@wagmi/core@2.15.1(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))': + '@wagmi/core@2.16.0(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.6.3) - viem: 2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) zustand: 5.0.0(@types/react@18.3.12)(react@18.3.1)(use-sync-external-store@1.2.0(react@18.3.1)) optionalDependencies: '@tanstack/query-core': 5.59.20 @@ -22676,9 +22678,9 @@ snapshots: lit: 3.1.0 qrcode: 1.5.3 - '@web3modal/wagmi@4.2.3(@types/react@18.3.3)(@wagmi/connectors@5.5.2(@types/react@18.3.3)(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))': + '@web3modal/wagmi@4.2.3(@types/react@18.3.3)(@wagmi/connectors@5.6.1(@types/react@18.3.3)(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))': dependencies: - '@wagmi/connectors': 5.5.2(@types/react@18.3.3)(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + '@wagmi/connectors': 5.6.1(@types/react@18.3.3)(@wagmi/core@2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) '@wagmi/core': 2.13.0(@tanstack/query-core@5.59.20)(@types/react@18.3.3)(react@18.3.1)(typescript@5.5.4)(viem@2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)) '@walletconnect/ethereum-provider': 2.13.0(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10) '@web3modal/polyfills': 4.2.3 @@ -23697,12 +23699,12 @@ snapshots: typescript: 5.6.3 zod: 3.23.8 - abitype@1.0.6(typescript@5.5.4)(zod@3.23.8): + abitype@1.0.7(typescript@5.5.4)(zod@3.23.8): optionalDependencies: typescript: 5.5.4 zod: 3.23.8 - abitype@1.0.6(typescript@5.6.3)(zod@3.23.8): + abitype@1.0.7(typescript@5.6.3)(zod@3.23.8): optionalDependencies: typescript: 5.6.3 zod: 3.23.8 @@ -24837,7 +24839,7 @@ snapshots: date-fns@2.30.0: dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.26.0 date-time@3.1.0: dependencies: @@ -25538,8 +25540,6 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 - escalade@3.1.1: {} - escalade@3.2.0: {} escape-goat@4.0.0: {} @@ -25858,11 +25858,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-up@6.3.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - flat@5.0.2: {} flatted@3.2.9: {} @@ -27122,10 +27117,6 @@ snapshots: dependencies: p-locate: 5.0.0 - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - lodash-es@4.17.21: {} lodash.capitalize@4.2.1: {} @@ -27590,6 +27581,10 @@ snapshots: nanoid@3.3.7: {} + nanospinner@1.2.2: + dependencies: + picocolors: 1.1.1 + near-abi@0.1.1: dependencies: '@types/json-schema': 7.0.13 @@ -27909,18 +27904,6 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 - ora@6.3.1: - dependencies: - chalk: 5.3.0 - cli-cursor: 4.0.0 - cli-spinners: 2.9.1 - is-interactive: 2.0.0 - is-unicode-supported: 1.3.0 - log-symbols: 5.1.0 - stdin-discarder: 0.1.0 - strip-ansi: 7.1.0 - wcwidth: 1.0.1 - ora@7.0.1: dependencies: chalk: 5.3.0 @@ -27945,11 +27928,11 @@ snapshots: ox@0.1.2(typescript@5.5.4)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.1 - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/bip32': 1.5.0 - '@scure/bip39': 1.4.0 - abitype: 1.0.6(typescript@5.5.4)(zod@3.23.8) + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.5.4)(zod@3.23.8) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.5.4 @@ -27959,11 +27942,11 @@ snapshots: ox@0.1.2(typescript@5.6.3)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.1 - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/bip32': 1.5.0 - '@scure/bip39': 1.4.0 - abitype: 1.0.6(typescript@5.6.3)(zod@3.23.8) + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.6.3)(zod@3.23.8) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.6.3 @@ -28000,10 +27983,6 @@ snapshots: dependencies: p-limit: 3.1.0 - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 - p-try@2.2.0: {} pac-proxy-agent@7.0.1: @@ -28090,8 +28069,6 @@ snapshots: path-exists@4.0.0: {} - path-exists@5.0.0: {} - path-is-absolute@1.0.1: {} path-key@3.1.1: {} @@ -30219,13 +30196,13 @@ snapshots: update-browserslist-db@1.0.13(browserslist@4.22.1): dependencies: browserslist: 4.22.1 - escalade: 3.1.1 + escalade: 3.2.0 picocolors: 1.0.1 update-browserslist-db@1.0.13(browserslist@4.23.0): dependencies: browserslist: 4.23.0 - escalade: 3.1.1 + escalade: 3.2.0 picocolors: 1.0.1 update-browserslist-db@1.1.1(browserslist@4.24.2): @@ -30416,13 +30393,13 @@ snapshots: - utf-8-validate - zod - viem@2.21.51(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8): + viem@2.21.55(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8): dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/bip32': 1.5.0 - '@scure/bip39': 1.4.0 - abitype: 1.0.6(typescript@5.5.4)(zod@3.23.8) + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.5.4)(zod@3.23.8) isows: 1.0.6(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) ox: 0.1.2(typescript@5.5.4)(zod@3.23.8) webauthn-p256: 0.0.10 @@ -30434,13 +30411,13 @@ snapshots: - utf-8-validate - zod - viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8): + viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8): dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/bip32': 1.5.0 - '@scure/bip39': 1.4.0 - abitype: 1.0.6(typescript@5.6.3)(zod@3.23.8) + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.6.3)(zod@3.23.8) isows: 1.0.6(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) ox: 0.1.2(typescript@5.6.3)(zod@3.23.8) webauthn-p256: 0.0.10 @@ -30780,14 +30757,14 @@ snapshots: - utf-8-validate - zod - wagmi@2.13.2(@tanstack/query-core@5.59.20)(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8): + wagmi@2.14.1(@tanstack/query-core@5.59.20)(@tanstack/react-query@5.45.1(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8): dependencies: '@tanstack/react-query': 5.45.1(react@18.3.1) - '@wagmi/connectors': 5.5.2(@types/react@18.3.12)(@wagmi/core@2.15.1(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) - '@wagmi/core': 2.15.1(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) + '@wagmi/connectors': 5.6.1(@types/react@18.3.12)(@wagmi/core@2.16.0(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.6.3)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8) + '@wagmi/core': 2.16.0(@tanstack/query-core@5.59.20)(@types/react@18.3.12)(react@18.3.1)(typescript@5.6.3)(use-sync-external-store@1.2.0(react@18.3.1))(viem@2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)) react: 18.3.1 use-sync-external-store: 1.2.0(react@18.3.1) - viem: 2.21.51(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.55(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -30828,8 +30805,8 @@ snapshots: webauthn-p256@0.0.10: dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 webauthn-p256@0.0.5: dependencies: