From c9eefb56700f59482d0ff217a13c7a68c9c8cd78 Mon Sep 17 00:00:00 2001 From: ditoglez Date: Fri, 13 Dec 2024 12:34:50 +0200 Subject: [PATCH 1/8] feat(issuer-sdk, enclave): use ephemeral encryption private keys (#385) Co-authored-by: Paulo Koch --- apps/idos-enclave/src/lib/enclave.js | 5 +++-- examples/issuer-sdk-demo/src/issuer.config.ts | 1 - packages/idos-sdk-js/src/lib/data.ts | 7 +++++-- .../lib/enclave-providers/iframe-enclave.ts | 7 +++++-- .../enclave-providers/metamask-snap-enclave.ts | 10 ++++++---- .../src/lib/enclave-providers/types.ts | 5 ++++- packages/idos-sdk-js/src/lib/enclave.ts | 18 ++++++++++++------ packages/issuer-sdk-js/README.md | 2 -- .../src/create-issuer-config.test.ts | 3 --- .../issuer-sdk-js/src/create-issuer-config.ts | 3 --- packages/issuer-sdk-js/src/credentials.ts | 9 +++------ 11 files changed, 38 insertions(+), 32 deletions(-) diff --git a/apps/idos-enclave/src/lib/enclave.js b/apps/idos-enclave/src/lib/enclave.js index c435d2d3b..200ac7ec3 100644 --- a/apps/idos-enclave/src/lib/enclave.js +++ b/apps/idos-enclave/src/lib/enclave.js @@ -171,7 +171,8 @@ export class Enclave { encrypt(message, receiverPublicKey = this.keyPair.publicKey) { const nonce = nacl.randomBytes(nacl.box.nonceLength); - const encrypted = nacl.box(message, nonce, receiverPublicKey, this.keyPair.secretKey); + const ephemeralKeyPair = nacl.box.keyPair(); + const encrypted = nacl.box(message, nonce, receiverPublicKey, ephemeralKeyPair.secretKey); if (encrypted === null) throw Error( @@ -191,7 +192,7 @@ export class Enclave { fullMessage.set(nonce, 0); fullMessage.set(encrypted, nonce.length); - return fullMessage; + return { content: fullMessage, encryptorPublicKey: ephemeralKeyPair.publicKey }; } async decrypt(fullMessage, senderPublicKey) { diff --git a/examples/issuer-sdk-demo/src/issuer.config.ts b/examples/issuer-sdk-demo/src/issuer.config.ts index 4d73674fc..92e90d836 100644 --- a/examples/issuer-sdk-demo/src/issuer.config.ts +++ b/examples/issuer-sdk-demo/src/issuer.config.ts @@ -20,7 +20,6 @@ export async function getIssuerConfig(): Promise { cachedIssuer = await createIssuerConfig({ nodeUrl: NODE_URL, - encryptionKeyPair: nacl.box.keyPair.fromSecretKey(decode(ENCRYPTION_SECRET_KEY)), signingKeyPair: nacl.sign.keyPair.fromSecretKey(decode(SIGNING_SECRET_KEY)), }); diff --git a/packages/idos-sdk-js/src/lib/data.ts b/packages/idos-sdk-js/src/lib/data.ts index bce1570f3..6d80ae390 100644 --- a/packages/idos-sdk-js/src/lib/data.ts +++ b/packages/idos-sdk-js/src/lib/data.ts @@ -366,7 +366,10 @@ export class Data { ): Promise { const issuerAuthenticationKeyPair = nacl.sign.keyPair(); - const content = await this.enclave.encrypt(plaintextContent, receiverEncryptionPublicKey); + const { content, encryptorPublicKey } = await this.enclave.encrypt( + plaintextContent, + receiverEncryptionPublicKey, + ); const publicNotesSignature = nacl.sign.detached( Utf8Codec.encode(publicNotes), issuerAuthenticationKeyPair.secretKey, @@ -387,7 +390,7 @@ export class Data { ), issuer_auth_public_key: HexCodec.encode(issuerAuthenticationKeyPair.publicKey, true), - encryption_public_key: isPresent(this.enclave.auth.currentUser.currentUserPublicKey), + encryption_public_key: isPresent(encryptorPublicKey), }; } } 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..8d8c08ecd 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 @@ -83,10 +83,13 @@ export class IframeEnclave implements EnclaveProvider { }); } - async encrypt(message: Uint8Array, receiverPublicKey: Uint8Array): Promise { + async encrypt( + message: Uint8Array, + receiverPublicKey: Uint8Array, + ): Promise<{ content: Uint8Array; encryptorPublicKey: Uint8Array }> { return this.#requestToEnclave({ encrypt: { message, receiverPublicKey }, - }) as Promise; + }) as Promise<{ content: Uint8Array; encryptorPublicKey: Uint8Array }>; } async decrypt(message: Uint8Array, senderPublicKey: Uint8Array): Promise { diff --git a/packages/idos-sdk-js/src/lib/enclave-providers/metamask-snap-enclave.ts b/packages/idos-sdk-js/src/lib/enclave-providers/metamask-snap-enclave.ts index afbe9c08f..d8a838d0f 100644 --- a/packages/idos-sdk-js/src/lib/enclave-providers/metamask-snap-enclave.ts +++ b/packages/idos-sdk-js/src/lib/enclave-providers/metamask-snap-enclave.ts @@ -89,11 +89,13 @@ export class MetaMaskSnapEnclave implements EnclaveProvider { return this.invokeSnap("confirm", { message }); } - async encrypt(message: Uint8Array, receiverPublicKey: Uint8Array): Promise { - // biome-ignore lint/suspicious/noExplicitAny: Types will be added later - const encrypted: any = await this.invokeSnap("encrypt", { message, receiverPublicKey }); + async encrypt( + message: Uint8Array, + receiverPublicKey: Uint8Array, + ): Promise<{ content: Uint8Array; encryptorPublicKey: Uint8Array }> { + await this.invokeSnap("encrypt", { message, receiverPublicKey }); - return Uint8Array.from(Object.values(encrypted)); + throw new Error("The Metamask Enclave needs to be updated"); } async decrypt(message: Uint8Array, senderPublicKey: Uint8Array): Promise { diff --git a/packages/idos-sdk-js/src/lib/enclave-providers/types.ts b/packages/idos-sdk-js/src/lib/enclave-providers/types.ts index 8b08f3a59..a3909352f 100644 --- a/packages/idos-sdk-js/src/lib/enclave-providers/types.ts +++ b/packages/idos-sdk-js/src/lib/enclave-providers/types.ts @@ -34,7 +34,10 @@ export interface EnclaveProvider { reset(): Promise; confirm(message: string): Promise; updateStore(key: string, value: unknown): Promise; - encrypt(message: Uint8Array, receiverPublicKey?: Uint8Array): Promise; + encrypt( + message: Uint8Array, + receiverPublicKey?: Uint8Array, + ): Promise<{ content: Uint8Array; encryptorPublicKey: Uint8Array }>; decrypt(message: Uint8Array, senderPublicKey?: Uint8Array): Promise; discoverUserEncryptionKey(humanId: string): Promise; filterCredentialsByCountries( diff --git a/packages/idos-sdk-js/src/lib/enclave.ts b/packages/idos-sdk-js/src/lib/enclave.ts index 275d4ee41..9dbf8c0a8 100644 --- a/packages/idos-sdk-js/src/lib/enclave.ts +++ b/packages/idos-sdk-js/src/lib/enclave.ts @@ -40,15 +40,21 @@ export class Enclave { return this.encryptionPublicKey; } - async encrypt(message: string, receiverPublicKey?: string): Promise { + async encrypt( + message: string, + receiverPublicKey?: string, + ): Promise<{ content: string; encryptorPublicKey: string }> { if (!this.encryptionPublicKey) await this.ready(); - return Base64Codec.encode( - await this.provider.encrypt( - Utf8Codec.encode(message), - receiverPublicKey === undefined ? undefined : Base64Codec.decode(receiverPublicKey), - ), + const { content, encryptorPublicKey } = await this.provider.encrypt( + Utf8Codec.encode(message), + receiverPublicKey === undefined ? undefined : Base64Codec.decode(receiverPublicKey), ); + + return { + content: Base64Codec.encode(content), + encryptorPublicKey: Base64Codec.encode(encryptorPublicKey), + }; } async decrypt(message: string, senderPublicKey?: string): Promise { diff --git a/packages/issuer-sdk-js/README.md b/packages/issuer-sdk-js/README.md index 481e0d2c3..bde8de9bd 100644 --- a/packages/issuer-sdk-js/README.md +++ b/packages/issuer-sdk-js/README.md @@ -22,13 +22,11 @@ Create an issuer config with your secret key. This config will be used to intera // issuer-config.js import { createIssuerConfig } from "@idos-network/issuer-sdk-js"; -const encryptionKeyPair = nacl.box.keyPair.fromSecretKey(ISSUER_ENCRYPTION_SECRET_KEY); const signingKeyPair = nacl.sign.keyPair.fromSecretKey(ISSUER_SIGNING_SECRET_KEY); const issuerConfig = await createIssuerConfig({ // To use a non-prod environment, pass in "nodes.playground.idos.network". nodeUrl: "https://nodes.idos.network/", - encryptionKeyPair, signingKeyPair, }); ``` diff --git a/packages/issuer-sdk-js/src/create-issuer-config.test.ts b/packages/issuer-sdk-js/src/create-issuer-config.test.ts index 774be2fa0..60ca1c86f 100644 --- a/packages/issuer-sdk-js/src/create-issuer-config.test.ts +++ b/packages/issuer-sdk-js/src/create-issuer-config.test.ts @@ -39,12 +39,10 @@ describe("createIssuerConfig", () => { it("should correctly initialize and return config", async () => { const signingKeyPair = nacl.sign.keyPair(); - const encryptionKeyPair = nacl.box.keyPair(); const params = { nodeUrl: "http://mock-node-url", signingKeyPair, - encryptionKeyPair, }; const result = await createIssuerConfig(params); @@ -69,7 +67,6 @@ describe("createIssuerConfig", () => { dbid: "mock-dbid", kwilClient: expect.any(Object), kwilSigner: expect.any(KwilSigner), - encryptionKeyPair: expect.any(Object), signingKeyPair: expect.any(Object), }); }); diff --git a/packages/issuer-sdk-js/src/create-issuer-config.ts b/packages/issuer-sdk-js/src/create-issuer-config.ts index 1fd2f41e8..327db0264 100644 --- a/packages/issuer-sdk-js/src/create-issuer-config.ts +++ b/packages/issuer-sdk-js/src/create-issuer-config.ts @@ -49,7 +49,6 @@ export interface IssuerConfig { kwilClient: NodeKwil; kwilSigner: KwilSigner; signingKeyPair: nacl.SignKeyPair; - encryptionKeyPair: nacl.SignKeyPair; } type CreateIssuerConfigParams = { @@ -57,7 +56,6 @@ type CreateIssuerConfigParams = { dbId?: string; nodeUrl: string; signingKeyPair: nacl.SignKeyPair; - encryptionKeyPair: nacl.BoxKeyPair; }; export async function createIssuerConfig(params: CreateIssuerConfigParams): Promise { @@ -83,6 +81,5 @@ export async function createIssuerConfig(params: CreateIssuerConfigParams): Prom }), kwilSigner: createKwilSigner(params.signingKeyPair), signingKeyPair: params.signingKeyPair, - encryptionKeyPair: params.encryptionKeyPair, }; } diff --git a/packages/issuer-sdk-js/src/credentials.ts b/packages/issuer-sdk-js/src/credentials.ts index aab558814..a0be5c301 100644 --- a/packages/issuer-sdk-js/src/credentials.ts +++ b/packages/issuer-sdk-js/src/credentials.ts @@ -44,12 +44,9 @@ const buildInsertableIDOSCredential = ( receiverEncryptionPublicKey: Uint8Array; }, ): InsertableIDOSCredential => { + const ephemeralKeyPair = nacl.box.keyPair(); const content = Base64Codec.decode( - encryptContent( - plaintextContent, - receiverEncryptionPublicKey, - issuerConfig.encryptionKeyPair.secretKey, - ), + encryptContent(plaintextContent, receiverEncryptionPublicKey, ephemeralKeyPair.secretKey), ); const { public_notes, public_notes_signature } = buildUpdateablePublicNotes(issuerConfig, { @@ -71,7 +68,7 @@ const buildInsertableIDOSCredential = ( ), issuer_auth_public_key: HexCodec.encode(issuerConfig.signingKeyPair.publicKey, true), - encryption_public_key: Base64Codec.encode(issuerConfig.encryptionKeyPair.publicKey), + encryption_public_key: Base64Codec.encode(ephemeralKeyPair.publicKey), }; }; From fc2c7357231640c509a374b40751de9cfbfcbbe0 Mon Sep 17 00:00:00 2001 From: ditoglez Date: Fri, 13 Dec 2024 12:46:50 +0200 Subject: [PATCH 2/8] chore(issuer-sdk-demo): downgrade supports-color package (#389) --- examples/issuer-sdk-demo/package.json | 2 +- pnpm-lock.yaml | 481 ++++++++++++-------------- 2 files changed, 223 insertions(+), 260 deletions(-) diff --git a/examples/issuer-sdk-demo/package.json b/examples/issuer-sdk-demo/package.json index 9595c858e..d9037bfdf 100644 --- a/examples/issuer-sdk-demo/package.json +++ b/examples/issuer-sdk-demo/package.json @@ -40,7 +40,7 @@ "lokijs": "^1.5.12", "pino-pretty": "^10.3.1", "postcss": "^8.4.47", - "supports-color": "^9.4.0", + "supports-color": "^8.1.1", "tailwindcss": "^3.4.14", "typescript": "^5.4.5", "utf-8-validate": "^5.0.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 49d0d3f11..15a8cdda5 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) @@ -380,7 +380,7 @@ importers: version: 8.7.0(near-api-js@3.0.4(encoding@0.1.13)) axios: specifier: ^1.6.8 - version: 1.7.2 + version: 1.7.2(debug@4.3.5) ethers: specifier: ^6.13 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@8.1.1)(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) @@ -510,8 +510,8 @@ importers: specifier: ^8.4.47 version: 8.4.47 supports-color: - specifier: ^9.4.0 - version: 9.4.0 + specifier: ^8.1.1 + version: 8.1.1 tailwindcss: specifier: ^3.4.14 version: 3.4.15(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.6.3)) @@ -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'} @@ -12080,10 +12074,6 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - supports-color@9.4.0: - resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} - engines: {node: '>=12'} - supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -12774,8 +12764,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 +13015,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,12 +13503,12 @@ 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: '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + picocolors: 1.1.1 '@babel/code-frame@7.26.2': dependencies: @@ -13543,7 +13533,7 @@ snapshots: '@babel/traverse': 7.24.6 '@babel/types': 7.24.6 convert-source-map: 2.0.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -13563,7 +13553,7 @@ snapshots: '@babel/traverse': 7.25.9 '@babel/types': 7.26.0 convert-source-map: 2.0.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -13650,7 +13640,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -13824,7 +13814,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: @@ -14598,7 +14588,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.6 '@babel/parser': 7.26.2 '@babel/types': 7.26.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -14613,7 +14603,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.7 '@babel/parser': 7.24.8 '@babel/types': 7.24.9 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -14625,7 +14615,7 @@ snapshots: '@babel/parser': 7.26.2 '@babel/template': 7.25.9 '@babel/types': 7.26.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -15399,12 +15389,12 @@ snapshots: '@chakra-ui/system': 2.6.2(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) react: 18.3.1 - '@coinbase/wallet-sdk@3.9.3(supports-color@9.4.0)': + '@coinbase/wallet-sdk@3.9.3(supports-color@8.1.1)': dependencies: bn.js: 5.2.1 buffer: 6.0.3 clsx: 1.2.1 - eth-block-tracker: 7.1.0(supports-color@9.4.0) + eth-block-tracker: 7.1.0(supports-color@8.1.1) eth-json-rpc-filters: 6.0.1 eventemitter3: 5.0.1 keccak: 3.0.4 @@ -17106,35 +17096,35 @@ snapshots: - encoding - supports-color - '@metamask/eth-json-rpc-provider@1.0.1(supports-color@9.4.0)': + '@metamask/eth-json-rpc-provider@1.0.1(supports-color@8.1.1)': dependencies: - '@metamask/json-rpc-engine': 7.3.3(supports-color@9.4.0) + '@metamask/json-rpc-engine': 7.3.3(supports-color@8.1.1) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 5.0.2(supports-color@9.4.0) + '@metamask/utils': 5.0.2(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@metamask/json-rpc-engine@7.3.3(supports-color@9.4.0)': + '@metamask/json-rpc-engine@7.3.3(supports-color@8.1.1)': dependencies: - '@metamask/rpc-errors': 6.3.1(supports-color@9.4.0) + '@metamask/rpc-errors': 6.3.1(supports-color@8.1.1) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0(supports-color@9.4.0) + '@metamask/utils': 8.5.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@metamask/json-rpc-engine@8.0.2(supports-color@9.4.0)': + '@metamask/json-rpc-engine@8.0.2(supports-color@8.1.1)': dependencies: - '@metamask/rpc-errors': 6.3.1(supports-color@9.4.0) + '@metamask/rpc-errors': 6.3.1(supports-color@8.1.1) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0(supports-color@9.4.0) + '@metamask/utils': 8.5.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@metamask/json-rpc-middleware-stream@7.0.2(supports-color@9.4.0)': + '@metamask/json-rpc-middleware-stream@7.0.2(supports-color@8.1.1)': dependencies: - '@metamask/json-rpc-engine': 8.0.2(supports-color@9.4.0) + '@metamask/json-rpc-engine': 8.0.2(supports-color@8.1.1) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0(supports-color@9.4.0) + '@metamask/utils': 8.5.0(supports-color@8.1.1) readable-stream: 3.6.2 transitivePeerDependencies: - supports-color @@ -17148,14 +17138,14 @@ snapshots: dependencies: bowser: 2.11.0 - '@metamask/providers@16.1.0(supports-color@9.4.0)': + '@metamask/providers@16.1.0(supports-color@8.1.1)': dependencies: - '@metamask/json-rpc-engine': 8.0.2(supports-color@9.4.0) - '@metamask/json-rpc-middleware-stream': 7.0.2(supports-color@9.4.0) + '@metamask/json-rpc-engine': 8.0.2(supports-color@8.1.1) + '@metamask/json-rpc-middleware-stream': 7.0.2(supports-color@8.1.1) '@metamask/object-multiplex': 2.0.0 - '@metamask/rpc-errors': 6.3.1(supports-color@9.4.0) + '@metamask/rpc-errors': 6.3.1(supports-color@8.1.1) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0(supports-color@9.4.0) + '@metamask/utils': 8.5.0(supports-color@8.1.1) detect-browser: 5.3.0 extension-port-stream: 3.0.0 fast-deep-equal: 3.1.3 @@ -17165,9 +17155,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/rpc-errors@6.3.1(supports-color@9.4.0)': + '@metamask/rpc-errors@6.3.1(supports-color@8.1.1)': dependencies: - '@metamask/utils': 9.1.0(supports-color@9.4.0) + '@metamask/utils': 9.1.0(supports-color@8.1.1) fast-safe-stringify: 2.1.1 transitivePeerDependencies: - supports-color @@ -17181,11 +17171,11 @@ snapshots: bufferutil: 4.0.8 cross-fetch: 4.0.0(encoding@0.1.13) date-fns: 2.30.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) eciesjs: 0.3.19 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) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@8.1.1)(utf-8-validate@5.0.10) utf-8-validate: 5.0.10 uuid: 8.3.2 transitivePeerDependencies: @@ -17196,26 +17186,26 @@ snapshots: bufferutil: 4.0.8 cross-fetch: 4.0.0(encoding@0.1.13) date-fns: 2.30.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) 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) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@8.1.1)(utf-8-validate@5.0.10) utf-8-validate: 5.0.10 uuid: 8.3.2 transitivePeerDependencies: - supports-color - '@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-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@8.1.1)(utf-8-validate@5.0.10))(supports-color@8.1.1)': dependencies: bufferutil: 4.0.8 cross-fetch: 4.0.0(encoding@0.1.13) date-fns: 2.30.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) 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) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@8.1.1)(utf-8-validate@5.0.10) utf-8-validate: 5.0.10 uuid: 8.3.2 transitivePeerDependencies: @@ -17239,20 +17229,20 @@ 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 '@metamask/sdk@0.26.5(bufferutil@4.0.8)(encoding@0.1.13)(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.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.24.4)(utf-8-validate@5.0.10)': dependencies: '@metamask/onboarding': 1.0.1 - '@metamask/providers': 16.1.0(supports-color@9.4.0) + '@metamask/providers': 16.1.0(supports-color@8.1.1) '@metamask/sdk-communication-layer': 0.26.4(cross-fetch@4.0.0(encoding@0.1.13))(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@metamask/sdk-install-modal-web': 0.26.5(i18next@23.11.5)(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.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@types/dom-screen-wake-lock': 1.0.3 bowser: 2.11.0 cross-fetch: 4.0.0(encoding@0.1.13) - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) eciesjs: 0.3.19 eth-rpc-errors: 4.0.3 eventemitter2: 6.4.9 @@ -17264,7 +17254,7 @@ snapshots: react-native-webview: 11.26.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.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) readable-stream: 3.6.2 rollup-plugin-visualizer: 5.12.0(rollup@4.24.4) - socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.10) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@8.1.1)(utf-8-validate@5.0.10) util: 0.12.5 uuid: 8.3.2 optionalDependencies: @@ -17281,12 +17271,12 @@ snapshots: '@metamask/sdk@0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(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))(react@18.3.1)(utf-8-validate@5.0.10)': dependencies: '@metamask/onboarding': 1.0.1 - '@metamask/providers': 16.1.0(supports-color@9.4.0) + '@metamask/providers': 16.1.0(supports-color@8.1.1) '@metamask/sdk-communication-layer': 0.30.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)(utf-8-validate@5.0.10)) '@metamask/sdk-install-modal-web': 0.30.0(i18next@23.11.5)(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))(react@18.3.1) bowser: 2.11.0 cross-fetch: 4.0.0(encoding@0.1.13) - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) eciesjs: 0.4.11 eth-rpc-errors: 4.0.3 eventemitter2: 6.4.9 @@ -17297,7 +17287,7 @@ snapshots: qrcode-terminal-nooctal: 0.12.1 react-native-webview: 11.26.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))(react@18.3.1) 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) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@8.1.1)(utf-8-validate@5.0.10) util: 0.12.5 uuid: 8.3.2 optionalDependencies: @@ -17310,24 +17300,24 @@ 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@8.1.1)(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/providers': 16.1.0(supports-color@8.1.1) + '@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@8.1.1)(utf-8-validate@5.0.10))(supports-color@8.1.1) + '@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) - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) eciesjs: 0.4.11 eth-rpc-errors: 4.0.3 eventemitter2: 6.4.9 obj-multiplex: 1.0.0 pump: 3.0.0 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) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@8.1.1)(utf-8-validate@5.0.10) tslib: 2.7.0 util: 0.12.5 uuid: 8.3.2 @@ -17339,38 +17329,38 @@ snapshots: '@metamask/superstruct@3.1.0': {} - '@metamask/utils@5.0.2(supports-color@9.4.0)': + '@metamask/utils@5.0.2(supports-color@8.1.1)': dependencies: '@ethereumjs/tx': 4.2.0 '@types/debug': 4.1.12 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) semver: 7.6.3 superstruct: 1.0.4 transitivePeerDependencies: - supports-color - '@metamask/utils@8.5.0(supports-color@9.4.0)': + '@metamask/utils@8.5.0(supports-color@8.1.1)': dependencies: '@ethereumjs/tx': 4.2.0 '@metamask/superstruct': 3.1.0 '@noble/hashes': 1.5.0 '@scure/base': 1.1.9 '@types/debug': 4.1.12 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) pony-cause: 2.1.11 semver: 7.6.3 uuid: 9.0.1 transitivePeerDependencies: - supports-color - '@metamask/utils@9.1.0(supports-color@9.4.0)': + '@metamask/utils@9.1.0(supports-color@8.1.1)': dependencies: '@ethereumjs/tx': 4.2.0 '@metamask/superstruct': 3.1.0 '@noble/hashes': 1.5.0 '@scure/base': 1.1.9 '@types/debug': 4.1.12 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) pony-cause: 2.1.11 semver: 7.6.3 uuid: 9.0.1 @@ -18701,6 +18691,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 +18705,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 +20652,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 +20662,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,11 +20675,13 @@ snapshots: '@scure/base@1.1.9': {} + '@scure/base@1.2.1': {} + '@scure/bip32@1.3.2': dependencies: '@noble/curves': 1.2.0 '@noble/hashes': 1.3.3 - '@scure/base': 1.1.7 + '@scure/base': 1.1.9 '@scure/bip32@1.4.0': dependencies: @@ -20689,26 +20689,26 @@ 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: '@noble/hashes': 1.3.3 - '@scure/base': 1.1.7 + '@scure/base': 1.1.9 '@scure/bip39@1.3.0': dependencies: '@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 +21451,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 +21462,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 @@ -21488,7 +21486,7 @@ snapshots: '@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) '@walletconnect/modal': 2.6.2(@types/react@18.3.3)(react@18.3.1) - cbw-sdk: '@coinbase/wallet-sdk@3.9.3(supports-color@9.4.0)' + cbw-sdk: '@coinbase/wallet-sdk@3.9.3(supports-color@8.1.1)' viem: 2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) optionalDependencies: typescript: 5.5.4 @@ -21526,7 +21524,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) '@wagmi/core': 2.14.2(@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.18.0(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)' + cbw-sdk: '@coinbase/wallet-sdk@3.9.3(supports-color@8.1.1)' viem: 2.18.0(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) optionalDependencies: typescript: 5.6.3 @@ -21555,16 +21553,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@8.1.1)(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@8.1.1)(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) + cbw-sdk: '@coinbase/wallet-sdk@3.9.3(supports-color@8.1.1)' + 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,15 +21588,15 @@ 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@8.1.1)(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)) '@walletconnect/ethereum-provider': 2.17.0(@types/react@18.3.3)(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)' + cbw-sdk: '@coinbase/wallet-sdk@3.9.3(supports-color@8.1.1)' viem: 2.18.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) optionalDependencies: typescript: 5.5.4 @@ -21654,11 +21652,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 +22674,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 +23695,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 @@ -23738,13 +23736,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color agent-base@7.1.0: dependencies: - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -23964,14 +23962,14 @@ snapshots: axios@0.27.2: dependencies: - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.5) form-data: 4.0.0 transitivePeerDependencies: - debug axios@1.6.7: dependencies: - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.5) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -23985,14 +23983,6 @@ snapshots: transitivePeerDependencies: - debug - axios@1.7.2: - dependencies: - follow-redirects: 1.15.6(debug@4.3.4) - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - axios@1.7.2(debug@4.3.5): dependencies: follow-redirects: 1.15.6(debug@4.3.5) @@ -24837,7 +24827,7 @@ snapshots: date-fns@2.30.0: dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.26.0 date-time@3.1.0: dependencies: @@ -24861,11 +24851,11 @@ snapshots: dependencies: ms: 2.1.2 - debug@4.3.5(supports-color@9.4.0): + debug@4.3.5(supports-color@8.1.1): dependencies: ms: 2.1.2 optionalDependencies: - supports-color: 9.4.0 + supports-color: 8.1.1 decamelize@1.2.0: {} @@ -25105,8 +25095,8 @@ snapshots: eciesjs@0.4.7: dependencies: '@noble/ciphers': 0.5.3 - '@noble/curves': 1.4.2 - '@noble/hashes': 1.4.0 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 ed25519-signature-2018-context@1.1.0: {} @@ -25186,10 +25176,10 @@ snapshots: dependencies: once: 1.4.0 - engine.io-client@6.5.4(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.10): + engine.io-client@6.5.4(bufferutil@4.0.8)(supports-color@8.1.1)(utf-8-validate@5.0.10): dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) engine.io-parser: 5.2.3 ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) xmlhttprequest-ssl: 2.0.0 @@ -25538,8 +25528,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: {} @@ -25576,11 +25564,11 @@ snapshots: etag@1.8.1: {} - eth-block-tracker@7.1.0(supports-color@9.4.0): + eth-block-tracker@7.1.0(supports-color@8.1.1): dependencies: - '@metamask/eth-json-rpc-provider': 1.0.1(supports-color@9.4.0) + '@metamask/eth-json-rpc-provider': 1.0.1(supports-color@8.1.1) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 5.0.2(supports-color@9.4.0) + '@metamask/utils': 5.0.2(supports-color@8.1.1) json-rpc-random-id: 1.0.1 pify: 3.0.0 transitivePeerDependencies: @@ -25858,11 +25846,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: {} @@ -25891,7 +25874,7 @@ snapshots: follow-redirects@1.15.6(debug@4.3.5): optionalDependencies: - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) for-each@0.3.3: dependencies: @@ -26060,7 +26043,7 @@ snapshots: dependencies: basic-ftp: 5.0.3 data-uri-to-buffer: 6.0.1 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -26325,21 +26308,21 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.0: dependencies: agent-base: 7.1.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color http-proxy@1.18.1: dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.5) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -26356,14 +26339,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.2: dependencies: agent-base: 7.1.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -26375,11 +26358,11 @@ snapshots: i18next-browser-languagedetector@7.1.0: dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.26.0 i18next@23.11.5: dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.26.0 iconv-lite@0.4.24: dependencies: @@ -27122,10 +27105,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 +27569,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 +27892,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 +27916,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 +27930,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,17 +27971,13 @@ 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: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) get-uri: 6.0.2 http-proxy-agent: 7.0.0 https-proxy-agent: 7.0.2 @@ -28090,8 +28057,6 @@ snapshots: path-exists@4.0.0: {} - path-exists@5.0.0: {} - path-is-absolute@1.0.1: {} path-key@3.1.1: {} @@ -28412,7 +28377,7 @@ snapshots: proxy-agent@6.3.1: dependencies: agent-base: 7.1.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) http-proxy-agent: 7.0.0 https-proxy-agent: 7.0.2 lru-cache: 7.18.3 @@ -28531,7 +28496,7 @@ snapshots: react-clientside-effect@1.2.6(react@18.3.1): dependencies: - '@babel/runtime': 7.24.8 + '@babel/runtime': 7.26.0 react: 18.3.1 react-devtools-core@5.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): @@ -29344,28 +29309,28 @@ snapshots: smart-buffer@4.2.0: {} - socket.io-client@4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.10): + socket.io-client@4.7.5(bufferutil@4.0.8)(supports-color@8.1.1)(utf-8-validate@5.0.10): dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.5(supports-color@9.4.0) - engine.io-client: 6.5.4(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.10) - socket.io-parser: 4.2.4(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) + engine.io-client: 6.5.4(bufferutil@4.0.8)(supports-color@8.1.1)(utf-8-validate@5.0.10) + socket.io-parser: 4.2.4(supports-color@8.1.1) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - socket.io-parser@4.2.4(supports-color@9.4.0): + socket.io-parser@4.2.4(supports-color@8.1.1): dependencies: '@socket.io/component-emitter': 3.1.2 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) transitivePeerDependencies: - supports-color socks-proxy-agent@8.0.2: dependencies: agent-base: 7.1.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) socks: 2.7.1 transitivePeerDependencies: - supports-color @@ -29582,8 +29547,6 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-color@9.4.0: {} - supports-preserve-symlinks-flag@1.0.0: {} symbol-tree@3.2.4: {} @@ -29920,7 +29883,7 @@ snapshots: bundle-require: 4.1.0(esbuild@0.19.12) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) esbuild: 0.19.12 execa: 5.1.1 globby: 11.1.0 @@ -29945,7 +29908,7 @@ snapshots: bundle-require: 4.1.0(esbuild@0.19.12) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) esbuild: 0.19.12 execa: 5.1.1 globby: 11.1.0 @@ -29970,7 +29933,7 @@ snapshots: bundle-require: 4.1.0(esbuild@0.19.12) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) esbuild: 0.19.12 execa: 5.1.1 globby: 11.1.0 @@ -30219,14 +30182,14 @@ snapshots: update-browserslist-db@1.0.13(browserslist@4.22.1): dependencies: browserslist: 4.22.1 - escalade: 3.1.1 - picocolors: 1.0.1 + escalade: 3.2.0 + picocolors: 1.1.1 update-browserslist-db@1.0.13(browserslist@4.23.0): dependencies: browserslist: 4.23.0 - escalade: 3.1.1 - picocolors: 1.0.1 + escalade: 3.2.0 + picocolors: 1.1.1 update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: @@ -30416,13 +30379,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 +30397,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 @@ -30472,7 +30435,7 @@ snapshots: vite-node@0.31.4(@types/node@20.14.12)(terser@5.31.3): dependencies: cac: 6.7.14 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.1 @@ -30490,7 +30453,7 @@ snapshots: vite-node@1.6.0(@types/node@20.14.12)(terser@5.31.3): dependencies: cac: 6.7.14 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.1 vite: 5.4.10(@types/node@20.14.12)(terser@5.31.3) @@ -30536,7 +30499,7 @@ snapshots: dependencies: '@octokit/rest': 20.1.1 axios: 1.7.2(debug@4.3.5) - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) picocolors: 1.0.1 vite: 4.5.0(@types/node@20.14.12)(terser@5.31.3) transitivePeerDependencies: @@ -30546,7 +30509,7 @@ snapshots: dependencies: '@octokit/rest': 20.1.1 axios: 1.7.2(debug@4.3.5) - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) picocolors: 1.0.1 vite: 5.3.5(@types/node@20.14.12)(terser@5.31.3) transitivePeerDependencies: @@ -30672,7 +30635,7 @@ snapshots: '@vitest/utils': 1.6.0 acorn-walk: 8.3.3 chai: 4.5.0 - debug: 4.3.5(supports-color@9.4.0) + debug: 4.3.5(supports-color@8.1.1) execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.10 @@ -30780,14 +30743,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@8.1.1)(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@8.1.1)(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,13 +30791,13 @@ 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: - '@noble/curves': 1.4.2 - '@noble/hashes': 1.4.0 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 webextension-polyfill@0.10.0: {} From ee4ae9d8ccb80f7e715a505a0a48f45167b351df Mon Sep 17 00:00:00 2001 From: ditoglez Date: Mon, 16 Dec 2024 12:37:13 +0200 Subject: [PATCH 3/8] fix(example-dapp): properly handle credentials display (#390) --- examples/idos-example-dapp/src/main.js | 121 ++++++++++++++----------- 1 file changed, 66 insertions(+), 55 deletions(-) diff --git a/examples/idos-example-dapp/src/main.js b/examples/idos-example-dapp/src/main.js index d0ddc5e3e..345c7efca 100644 --- a/examples/idos-example-dapp/src/main.js +++ b/examples/idos-example-dapp/src/main.js @@ -204,64 +204,75 @@ const connectWallet = { cache.set("credentials", credentials); - terminal.table(credentials, ["id", ...Object.keys(credentials[0].public_notes)], { - id: async (id) => { - const credential = await terminal - .detail() - .h1("inspect", `Credential # ${id}`) - .wait( - "awaiting signature", - cache.get(`credential_${id}`) || idos.data.get("credentials", id), - ); - cache.set(`credential_${id}`, credential); - - await terminal - .wait("verifying credential...", idOS.verifiableCredentials.verify(credential.content)) - .then((_) => terminal.status("done", "Verified")) - .catch(terminal.error.bind(terminal)); - - terminal.h1("eyes", "Content").json(JSON.parse(credential.content)); - terminal.br(); - - const buttonId = `acquire-access-grant-${id}`; - terminal.button(buttonId, "🔏 Acquire access grant", async () => { - terminal.removeButton(buttonId); - - let timelock = - window.prompt( - "Please enter the grant timelock in seconds", - granteeInfo.lockTimeSpanSeconds, - ) || granteeInfo.lockTimeSpanSeconds; - - timelock = Number.isInteger(+timelock) ? +timelock : granteeInfo.lockTimeSpanSeconds; - - const grantPromise = idos.grants.create( - "credentials", - id, - granteeInfo.grantee, - Math.floor(Date.now() / 1000) + timelock, - granteeInfo.encryptionPublicKey, - ); - - try { - const result = await terminal.wait("creating access grant...", grantPromise); - terminal.status("done", `Created access grant with dataId ${result.grant.dataId}`); - } catch (e) { - terminal.error(e); - return; - } - - cache.set("grants", null); - terminal.br(); - terminal.log("Press Restart to see the newly created access grant."); + const { id, ...fields } = JSON.parse(credentials[0].public_notes); + + terminal.table( + credentials.map((credential) => { + return { + ...credential, + ...fields, + }; + }), + ["id", ...Object.keys(fields)], + { + id: async (id) => { + const credential = await terminal + .detail() + .h1("inspect", `Credential # ${id}`) + .wait( + "awaiting signature", + cache.get(`credential_${id}`) || idos.data.get("credentials", id), + ); + cache.set(`credential_${id}`, credential); + + await terminal + .wait("verifying credential...", idOS.verifiableCredentials.verify(credential.content)) + .then((_) => terminal.status("done", "Verified")) + .catch(terminal.error.bind(terminal)); + + terminal.h1("eyes", "Content").json(JSON.parse(credential.content)); terminal.br(); - chosenFlow.grants = true; - window.localStorage.setItem("chosen-flow", JSON.stringify(chosenFlow)); - terminal.button(`restart-${id}`, "Restart", terminal.reloadPage); - }); + const buttonId = `acquire-access-grant-${id}`; + terminal.button(buttonId, "🔏 Acquire access grant", async () => { + terminal.removeButton(buttonId); + + let timelock = + window.prompt( + "Please enter the grant timelock in seconds", + granteeInfo.lockTimeSpanSeconds, + ) || granteeInfo.lockTimeSpanSeconds; + + timelock = Number.isInteger(+timelock) ? +timelock : granteeInfo.lockTimeSpanSeconds; + + const grantPromise = idos.grants.create( + "credentials", + id, + granteeInfo.grantee, + Math.floor(Date.now() / 1000) + timelock, + granteeInfo.encryptionPublicKey, + ); + + try { + const result = await terminal.wait("creating access grant...", grantPromise); + terminal.status("done", `Created access grant with dataId ${result.grant.dataId}`); + } catch (e) { + terminal.error(e); + return; + } + + cache.set("grants", null); + terminal.br(); + terminal.log("Press Restart to see the newly created access grant."); + terminal.br(); + + chosenFlow.grants = true; + window.localStorage.setItem("chosen-flow", JSON.stringify(chosenFlow)); + terminal.button(`restart-${id}`, "Restart", terminal.reloadPage); + }); + }, }, - }); + ); } if (chosenFlow.grants) { From 33fba6ced4e769de5ce9627d31801dc02c130660 Mon Sep 17 00:00:00 2001 From: ditoglez Date: Mon, 16 Dec 2024 12:37:32 +0200 Subject: [PATCH 4/8] chore: add `codecs` library and refactor client and issuer sdk's to use it (#388) --- packages/codecs/LICENSE | 21 ++++++ packages/codecs/README.md | 3 + packages/codecs/index.ts | 10 +++ packages/codecs/package.json | 19 ++++++ packages/codecs/tsconfig.json | 20 ++++++ packages/idos-sdk-js/package.json | 8 +-- packages/idos-sdk-js/src/lib/auth.ts | 24 ++++--- packages/idos-sdk-js/src/lib/data.ts | 20 +++--- .../lib/enclave-providers/iframe-enclave.ts | 5 +- packages/idos-sdk-js/src/lib/enclave.ts | 19 +++--- packages/idos-sdk-js/src/lib/grants/near.ts | 4 +- packages/idos-sdk-js/src/lib/utils.ts | 4 +- packages/issuer-sdk-js/package.json | 4 +- packages/issuer-sdk-js/src/credentials.ts | 20 +++--- packages/issuer-sdk-js/src/internal.ts | 10 +-- pnpm-lock.yaml | 68 +++++++++++-------- 16 files changed, 165 insertions(+), 94 deletions(-) create mode 100644 packages/codecs/LICENSE create mode 100644 packages/codecs/README.md create mode 100644 packages/codecs/index.ts create mode 100644 packages/codecs/package.json create mode 100644 packages/codecs/tsconfig.json 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 6d80ae390..14c1b46e0 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( @@ -371,7 +369,7 @@ export class Data { receiverEncryptionPublicKey, ); const publicNotesSignature = nacl.sign.detached( - Utf8Codec.encode(publicNotes), + utf8Encode(publicNotes), issuerAuthenticationKeyPair.secretKey, ); @@ -380,16 +378,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(encryptorPublicKey), }; } 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 8d8c08ecd..63420c536 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, @@ -246,7 +247,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 9dbf8c0a8..29ab27d83 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"; @@ -20,7 +19,7 @@ export class Enclave { async ready(): Promise { const { humanId, address, publicKey, currentUserPublicKey } = this.auth.currentUser; - if (!humanId) throw new Error("Can't operate on a user that has no profile."); + if (!humanId) throw new Error("Can't operate on a `user` that has no profile."); const litAttrs = await this.auth.kwilWrapper.getLitAttrs(); const userWallets = await this.auth.kwilWrapper.getEvmUserWallets(); @@ -47,23 +46,23 @@ export class Enclave { if (!this.encryptionPublicKey) await this.ready(); const { content, encryptorPublicKey } = await this.provider.encrypt( - Utf8Codec.encode(message), - receiverPublicKey === undefined ? undefined : Base64Codec.decode(receiverPublicKey), + utf8Encode(message), + receiverPublicKey === undefined ? undefined : base64Decode(receiverPublicKey), ); return { - content: Base64Codec.encode(content), - encryptorPublicKey: Base64Codec.encode(encryptorPublicKey), + content: base64Encode(content), + encryptorPublicKey: base64Encode(encryptorPublicKey), }; } 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 a0be5c301..5fa57b244 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), }; }; @@ -45,7 +43,7 @@ const buildInsertableIDOSCredential = ( }, ): InsertableIDOSCredential => { const ephemeralKeyPair = nacl.box.keyPair(); - const content = Base64Codec.decode( + const content = base64Decode( encryptContent(plaintextContent, receiverEncryptionPublicKey, ephemeralKeyPair.secretKey), ); @@ -55,20 +53,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(ephemeralKeyPair.publicKey), + issuer_auth_public_key: hexEncode(issuerConfig.signingKeyPair.publicKey, true), + encryption_public_key: base64Encode(ephemeralKeyPair.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 15a8cdda5..b81a42ebf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -380,7 +380,7 @@ importers: version: 8.7.0(near-api-js@3.0.4(encoding@0.1.13)) axios: specifier: ^1.6.8 - version: 1.7.2(debug@4.3.5) + version: 1.7.2 ethers: specifier: ^6.13 version: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -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 @@ -17343,8 +17343,8 @@ snapshots: dependencies: '@ethereumjs/tx': 4.2.0 '@metamask/superstruct': 3.1.0 - '@noble/hashes': 1.5.0 - '@scure/base': 1.1.9 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 '@types/debug': 4.1.12 debug: 4.3.5(supports-color@8.1.1) pony-cause: 2.1.11 @@ -17357,8 +17357,8 @@ snapshots: dependencies: '@ethereumjs/tx': 4.2.0 '@metamask/superstruct': 3.1.0 - '@noble/hashes': 1.5.0 - '@scure/base': 1.1.9 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 '@types/debug': 4.1.12 debug: 4.3.5(supports-color@8.1.1) pony-cause: 2.1.11 @@ -23962,14 +23962,14 @@ snapshots: axios@0.27.2: dependencies: - follow-redirects: 1.15.6(debug@4.3.5) + follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 transitivePeerDependencies: - debug axios@1.6.7: dependencies: - follow-redirects: 1.15.6(debug@4.3.5) + follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -23983,6 +23983,14 @@ snapshots: transitivePeerDependencies: - debug + axios@1.7.2: + dependencies: + follow-redirects: 1.15.6(debug@4.3.4) + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + axios@1.7.2(debug@4.3.5): dependencies: follow-redirects: 1.15.6(debug@4.3.5) @@ -26322,7 +26330,7 @@ snapshots: http-proxy@1.18.1: dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.5) + follow-redirects: 1.15.6(debug@4.3.4) requires-port: 1.0.0 transitivePeerDependencies: - debug From 468b9aba3015999fb64bde5f17483bfdeb6d48b2 Mon Sep 17 00:00:00 2001 From: Fernando Gonzalez Goncharov Date: Mon, 16 Dec 2024 14:42:21 +0200 Subject: [PATCH 5/8] chore(grantee-sdk): rename server-dapp to grantee-sdk --- .github/workflows/pkg.pr.new.yml | 4 +- examples/idos-backend-demo-app/package.json | 2 +- examples/idos-backend-demo-app/src/index.tsx | 2 +- examples/idos-example-dapp/api/EVM.ts | 2 +- examples/idos-example-dapp/api/NEAR.ts | 2 +- examples/idos-example-dapp/package.json | 2 +- .../.env | 0 .../.release-it.json | 0 .../LICENSE | 0 .../README.md | 4 +- .../package.json | 4 +- .../src/env.d.ts | 0 .../src/idOS-grantee.ts | 0 .../src/idOS.test.ts | 0 .../src/idOS.ts | 0 .../src/index.ts | 0 .../tsconfig.json | 0 .../tsup.config.ts | 0 .../vitest.config.ts | 0 packages/idos-sdk-js/README.md | 4 +- pnpm-lock.yaml | 681 +++++++----------- 21 files changed, 262 insertions(+), 445 deletions(-) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/.env (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/.release-it.json (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/LICENSE (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/README.md (94%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/package.json (95%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/src/env.d.ts (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/src/idOS-grantee.ts (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/src/idOS.test.ts (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/src/idOS.ts (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/src/index.ts (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/tsconfig.json (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/tsup.config.ts (100%) rename packages/{idos-sdk-server-dapp => grantee-sdk-js}/vitest.config.ts (100%) diff --git a/.github/workflows/pkg.pr.new.yml b/.github/workflows/pkg.pr.new.yml index e45b71277..b152c2b2e 100644 --- a/.github/workflows/pkg.pr.new.yml +++ b/.github/workflows/pkg.pr.new.yml @@ -29,8 +29,8 @@ jobs: run: pnpm install - name: Build - run: pnpm build --filter=@idos-network/issuer-sdk-js --filter=@idos-network/idos-sdk --filter=@idos-network/idos-sdk-server-dapp + run: pnpm build --filter=@idos-network/issuer-sdk-js --filter=@idos-network/idos-sdk --filter=@idos-network/grantee-sdk-js - name: Release - run: pnpx pkg-pr-new publish --pnpm './packages/issuer-sdk-js' './packages/idos-sdk-js' './packages/idos-sdk-server-dapp' + run: pnpx pkg-pr-new publish --pnpm './packages/issuer-sdk-js' './packages/idos-sdk-js' './packages/grantee-sdk-js' \ No newline at end of file diff --git a/examples/idos-backend-demo-app/package.json b/examples/idos-backend-demo-app/package.json index b0c706a24..d933f08d9 100644 --- a/examples/idos-backend-demo-app/package.json +++ b/examples/idos-backend-demo-app/package.json @@ -6,7 +6,7 @@ }, "dependencies": { "@hono/node-server": "^1.12.0", - "@idos-network/idos-sdk-server-dapp": "workspace:*", + "@idos-network/grantee-sdk-js": "workspace:*", "@idos-network/idos-sdk": "workspace:*", "@idos-network/issuer-sdk-js": "workspace:*", "ethers": "^6.13.4", diff --git a/examples/idos-backend-demo-app/src/index.tsx b/examples/idos-backend-demo-app/src/index.tsx index 297f4caf5..058f2ce51 100644 --- a/examples/idos-backend-demo-app/src/index.tsx +++ b/examples/idos-backend-demo-app/src/index.tsx @@ -1,6 +1,6 @@ import { serve } from "@hono/node-server"; +import { idOS } from "@idos-network/grantee-sdk-js"; import type { Grant } from "@idos-network/idos-sdk"; -import { idOS } from "@idos-network/idos-sdk-server-dapp"; import { Hono } from "hono"; import type { FC } from "hono/jsx"; const app = new Hono(); diff --git a/examples/idos-example-dapp/api/EVM.ts b/examples/idos-example-dapp/api/EVM.ts index 166ae81ac..719681f62 100644 --- a/examples/idos-example-dapp/api/EVM.ts +++ b/examples/idos-example-dapp/api/EVM.ts @@ -1,4 +1,4 @@ -import { idOSGrantee } from "@idos-network/idos-sdk-server-dapp"; +import { idOSGrantee } from "@idos-network/grantee-sdk-js"; import { ethers } from "ethers"; /* global crypto */ diff --git a/examples/idos-example-dapp/api/NEAR.ts b/examples/idos-example-dapp/api/NEAR.ts index e0cbbfee9..f633e5f96 100644 --- a/examples/idos-example-dapp/api/NEAR.ts +++ b/examples/idos-example-dapp/api/NEAR.ts @@ -1,4 +1,4 @@ -import { idOSGrantee } from "@idos-network/idos-sdk-server-dapp"; +import { idOSGrantee } from "@idos-network/grantee-sdk-js"; import { KeyPair } from "near-api-js"; /* global crypto */ diff --git a/examples/idos-example-dapp/package.json b/examples/idos-example-dapp/package.json index d378d365b..59503bd06 100644 --- a/examples/idos-example-dapp/package.json +++ b/examples/idos-example-dapp/package.json @@ -26,7 +26,7 @@ }, "dependencies": { "@idos-network/idos-sdk": "workspace:*", - "@idos-network/idos-sdk-server-dapp": "workspace:*", + "@idos-network/grantee-sdk-js": "workspace:*", "@idos-network/idos-sdk-types": "workspace:*", "@idos-network/issuer-sdk-js": "workspace:*", "@kwilteam/kwil-js": "0.7.1", diff --git a/packages/idos-sdk-server-dapp/.env b/packages/grantee-sdk-js/.env similarity index 100% rename from packages/idos-sdk-server-dapp/.env rename to packages/grantee-sdk-js/.env diff --git a/packages/idos-sdk-server-dapp/.release-it.json b/packages/grantee-sdk-js/.release-it.json similarity index 100% rename from packages/idos-sdk-server-dapp/.release-it.json rename to packages/grantee-sdk-js/.release-it.json diff --git a/packages/idos-sdk-server-dapp/LICENSE b/packages/grantee-sdk-js/LICENSE similarity index 100% rename from packages/idos-sdk-server-dapp/LICENSE rename to packages/grantee-sdk-js/LICENSE diff --git a/packages/idos-sdk-server-dapp/README.md b/packages/grantee-sdk-js/README.md similarity index 94% rename from packages/idos-sdk-server-dapp/README.md rename to packages/grantee-sdk-js/README.md index f6e1db480..c644cb495 100644 --- a/packages/idos-sdk-server-dapp/README.md +++ b/packages/grantee-sdk-js/README.md @@ -1,4 +1,4 @@ -# idOS JavaScript SDK for server dApps. +# idOS Grantee JavaScript SDK. [![NPM](https://img.shields.io/npm/v/@idos-network/idos-sdk?logo=npm)](https://www.npmjs.com/package/@idos-network/idos-sdk) ![License](https://img.shields.io/badge/license-MIT-blue?&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGcgaWQ9IlNWR1JlcG9fYmdDYXJyaWVyIiBzdHJva2Utd2lkdGg9IjAiPjwvZz48ZyBpZD0iU1ZHUmVwb190cmFjZXJDYXJyaWVyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvZz48ZyBpZD0iU1ZHUmVwb19pY29uQ2FycmllciI+IDxwYXRoIGQ9Ik0xNiAxNmwzLTggMy4wMDEgOEE1LjAwMiA1LjAwMiAwIDAxMTYgMTZ6Ij48L3BhdGg+IDxwYXRoIGQ9Ik0yIDE2bDMtOCAzLjAwMSA4QTUuMDAyIDUuMDAyIDAgMDEyIDE2eiI+PC9wYXRoPiA8cGF0aCBkPSJNNyAyMWgxMCI+PC9wYXRoPiA8cGF0aCBkPSJNMTIgM3YxOCI+PC9wYXRoPiA8cGF0aCBkPSJNMyA3aDJjMiAwIDUtMSA3LTIgMiAxIDUgMiA3IDJoMiI+PC9wYXRoPiA8L2c+PC9zdmc+Cg==) @@ -14,7 +14,7 @@ pnpm add @idos-network/idos-sdk-server-dapp ethers near-api-js Import the SDK and initialize it: ```js -import { idOS } from "@idos-network/idos-sdk-server-dapp"; +import { idOS } from "@idos-network/grantee-sdk-js"; export const sdk = await idOS.init(...options); ``` diff --git a/packages/idos-sdk-server-dapp/package.json b/packages/grantee-sdk-js/package.json similarity index 95% rename from packages/idos-sdk-server-dapp/package.json rename to packages/grantee-sdk-js/package.json index 2da771c60..e40b3dcb8 100644 --- a/packages/idos-sdk-server-dapp/package.json +++ b/packages/grantee-sdk-js/package.json @@ -1,6 +1,6 @@ { - "name": "@idos-network/idos-sdk-server-dapp", - "description": "idOS JavaScript Server dApp SDK", + "name": "@idos-network/grantee-sdk-js", + "description": "idOS Grantee JavaScript SDK", "version": "0.0.1", "homepage": "https://idos.network", "repository": "https://github.com/idos-network/idos-sdk-js", diff --git a/packages/idos-sdk-server-dapp/src/env.d.ts b/packages/grantee-sdk-js/src/env.d.ts similarity index 100% rename from packages/idos-sdk-server-dapp/src/env.d.ts rename to packages/grantee-sdk-js/src/env.d.ts diff --git a/packages/idos-sdk-server-dapp/src/idOS-grantee.ts b/packages/grantee-sdk-js/src/idOS-grantee.ts similarity index 100% rename from packages/idos-sdk-server-dapp/src/idOS-grantee.ts rename to packages/grantee-sdk-js/src/idOS-grantee.ts diff --git a/packages/idos-sdk-server-dapp/src/idOS.test.ts b/packages/grantee-sdk-js/src/idOS.test.ts similarity index 100% rename from packages/idos-sdk-server-dapp/src/idOS.test.ts rename to packages/grantee-sdk-js/src/idOS.test.ts diff --git a/packages/idos-sdk-server-dapp/src/idOS.ts b/packages/grantee-sdk-js/src/idOS.ts similarity index 100% rename from packages/idos-sdk-server-dapp/src/idOS.ts rename to packages/grantee-sdk-js/src/idOS.ts diff --git a/packages/idos-sdk-server-dapp/src/index.ts b/packages/grantee-sdk-js/src/index.ts similarity index 100% rename from packages/idos-sdk-server-dapp/src/index.ts rename to packages/grantee-sdk-js/src/index.ts diff --git a/packages/idos-sdk-server-dapp/tsconfig.json b/packages/grantee-sdk-js/tsconfig.json similarity index 100% rename from packages/idos-sdk-server-dapp/tsconfig.json rename to packages/grantee-sdk-js/tsconfig.json diff --git a/packages/idos-sdk-server-dapp/tsup.config.ts b/packages/grantee-sdk-js/tsup.config.ts similarity index 100% rename from packages/idos-sdk-server-dapp/tsup.config.ts rename to packages/grantee-sdk-js/tsup.config.ts diff --git a/packages/idos-sdk-server-dapp/vitest.config.ts b/packages/grantee-sdk-js/vitest.config.ts similarity index 100% rename from packages/idos-sdk-server-dapp/vitest.config.ts rename to packages/grantee-sdk-js/vitest.config.ts diff --git a/packages/idos-sdk-js/README.md b/packages/idos-sdk-js/README.md index 5f81e2f99..41ff3e008 100644 --- a/packages/idos-sdk-js/README.md +++ b/packages/idos-sdk-js/README.md @@ -424,7 +424,7 @@ If you wish to consult it, you'll need to use the `grantee` and [`nacl.box.keyPa Here's an example of how you could achieve that with [`📁 idos-sdk-server-dapp`](https://github.com/idos-network/idos-sdk-js/tree/main/packages/idos-sdk-server-dapp) for an EVM grantee: ```js -import { idOSGrantee } from "@idos-network/idos-sdk-server-dapp"; +import { idOSGrantee } from "@idos-network/grantee-sdk-js"; import { ethers } from "ethers"; const granteeSigner = new ethers.Wallet( @@ -628,7 +628,7 @@ const { signature } = await wallet.signMessage({ message, recipient, nonce }); * * ⚠️ Notice: Not implemented for NEAR yet. */ -import { idOSGrantee } from "@idos-network/idos-sdk-server-dapp"; +import { idOSGrantee } from "@idos-network/grantee-sdk-js"; import { ethers } from "ethers"; const granteeSigner = new ethers.Wallet( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b81a42ebf..8f0906810 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -320,12 +320,12 @@ importers: '@hono/node-server': specifier: ^1.12.0 version: 1.12.0 + '@idos-network/grantee-sdk-js': + specifier: workspace:* + version: link:../../packages/grantee-sdk-js '@idos-network/idos-sdk': specifier: workspace:* version: link:../../packages/idos-sdk-js - '@idos-network/idos-sdk-server-dapp': - specifier: workspace:* - version: link:../../packages/idos-sdk-server-dapp '@idos-network/issuer-sdk-js': specifier: workspace:* version: link:../../packages/issuer-sdk-js @@ -345,12 +345,12 @@ importers: examples/idos-example-dapp: dependencies: + '@idos-network/grantee-sdk-js': + specifier: workspace:* + version: link:../../packages/grantee-sdk-js '@idos-network/idos-sdk': specifier: workspace:* version: link:../../packages/idos-sdk-js - '@idos-network/idos-sdk-server-dapp': - specifier: workspace:* - version: link:../../packages/idos-sdk-server-dapp '@idos-network/idos-sdk-types': specifier: workspace:* version: link:../../packages/types @@ -546,7 +546,7 @@ importers: specifier: ^1.0.0 version: 1.0.0 - packages/idos-sdk-js: + packages/grantee-sdk-js: dependencies: '@digitalbazaar/ed25519-signature-2020': specifier: ^5.2.0 @@ -557,21 +557,30 @@ importers: '@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 - es-toolkit: - specifier: ^1.23.0 - version: 1.23.0 + '@stablelib/base64': + specifier: ^1.0.1 + version: 1.0.1 + '@stablelib/binary': + specifier: ^1.0.1 + version: 1.0.1 + '@stablelib/bytes': + specifier: ^1.0.1 + version: 1.0.1 + '@stablelib/sha256': + specifier: ^1.0.1 + version: 1.0.1 + '@stablelib/utf8': + specifier: ^1.0.1 + version: 1.0.1 + borsh: + specifier: ^1.0.0 + version: 1.0.0 ethers: specifier: ^6.12 - version: 6.12.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) jsonld: specifier: ^8.3.1 version: 8.3.1(web-streams-polyfill@3.2.1) @@ -588,9 +597,9 @@ importers: '@dotenvx/dotenvx': specifier: ^1.6.4 version: 1.6.4 - '@idos-network/idos-sdk-types': + '@idos-network/kwil-nep413-signer': specifier: workspace:* - version: link:../types + version: link:../kwil-nep413-signer '@near-js/types': specifier: ^0.2.1 version: 0.2.1 @@ -599,36 +608,27 @@ importers: version: 8.9.10(near-api-js@3.0.4(encoding@0.1.13)) '@release-it/keep-a-changelog': specifier: ^5.0.0 - version: 5.0.0(release-it@17.0.0(typescript@5.2.2)) + version: 5.0.0(release-it@17.0.0(typescript@5.6.3)) '@vitest/ui': specifier: ^0.34.6 version: 0.34.6(vitest@0.31.4) clean-package: specifier: ^2.2.0 version: 2.2.0 - dotenv: - specifier: ^16.4.5 - version: 16.4.5 - jsdom: - specifier: ^22.1.0 - version: 22.1.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - prettier: - specifier: ^3.0.3 - version: 3.0.3 release-it: specifier: ^17.0.0 - version: 17.0.0(typescript@5.2.2) + version: 17.0.0(typescript@5.6.3) tsup: specifier: ^8.0.2 - version: 8.0.2(@microsoft/api-extractor@7.38.3(@types/node@20.14.12))(@swc/core@1.7.1(@swc/helpers@0.5.13))(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.2.2))(typescript@5.2.2) + version: 8.0.2(@microsoft/api-extractor@7.38.3(@types/node@22.7.9))(@swc/core@1.7.1(@swc/helpers@0.5.13))(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.6.3))(typescript@5.6.3) typescript: specifier: ^5.2.2 - version: 5.2.2 + version: 5.6.3 vitest: specifier: ^0.31.4 version: 0.31.4(@edge-runtime/vm@3.2.0)(@vitest/ui@0.34.6)(jsdom@22.1.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(playwright@1.45.3)(terser@5.31.3) - packages/idos-sdk-server-dapp: + packages/idos-sdk-js: dependencies: '@digitalbazaar/ed25519-signature-2020': specifier: ^5.2.0 @@ -639,30 +639,21 @@ importers: '@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) - '@stablelib/base64': - specifier: ^1.0.1 - version: 1.0.1 - '@stablelib/binary': - specifier: ^1.0.1 - version: 1.0.1 - '@stablelib/bytes': - specifier: ^1.0.1 - version: 1.0.1 - '@stablelib/sha256': - specifier: ^1.0.1 - version: 1.0.1 - '@stablelib/utf8': - specifier: ^1.0.1 - version: 1.0.1 - borsh: - specifier: ^1.0.0 - version: 1.0.0 + bs58: + specifier: ^6.0.0 + version: 6.0.0 + es-toolkit: + specifier: ^1.23.0 + version: 1.23.0 ethers: specifier: ^6.12 - version: 6.13.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 6.12.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) jsonld: specifier: ^8.3.1 version: 8.3.1(web-streams-polyfill@3.2.1) @@ -679,9 +670,9 @@ importers: '@dotenvx/dotenvx': specifier: ^1.6.4 version: 1.6.4 - '@idos-network/kwil-nep413-signer': + '@idos-network/idos-sdk-types': specifier: workspace:* - version: link:../kwil-nep413-signer + version: link:../types '@near-js/types': specifier: ^0.2.1 version: 0.2.1 @@ -690,22 +681,31 @@ importers: version: 8.9.10(near-api-js@3.0.4(encoding@0.1.13)) '@release-it/keep-a-changelog': specifier: ^5.0.0 - version: 5.0.0(release-it@17.0.0(typescript@5.5.4)) + version: 5.0.0(release-it@17.0.0(typescript@5.2.2)) '@vitest/ui': specifier: ^0.34.6 version: 0.34.6(vitest@0.31.4) clean-package: specifier: ^2.2.0 version: 2.2.0 + dotenv: + specifier: ^16.4.5 + version: 16.4.5 + jsdom: + specifier: ^22.1.0 + version: 22.1.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + prettier: + specifier: ^3.0.3 + version: 3.0.3 release-it: specifier: ^17.0.0 - version: 17.0.0(typescript@5.5.4) + version: 17.0.0(typescript@5.2.2) tsup: specifier: ^8.0.2 - version: 8.0.2(@microsoft/api-extractor@7.38.3(@types/node@22.7.9))(@swc/core@1.7.1(@swc/helpers@0.5.13))(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.5.4))(typescript@5.5.4) + version: 8.0.2(@microsoft/api-extractor@7.38.3(@types/node@20.14.12))(@swc/core@1.7.1(@swc/helpers@0.5.13))(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.2.2))(typescript@5.2.2) typescript: specifier: ^5.2.2 - version: 5.5.4 + version: 5.2.2 vitest: specifier: ^0.31.4 version: 0.31.4(@edge-runtime/vm@3.2.0)(@vitest/ui@0.34.6)(jsdom@22.1.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(playwright@1.45.3)(terser@5.31.3) @@ -4476,10 +4476,6 @@ packages: resolution: {integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==} engines: {node: '>= 14'} - '@octokit/core@5.0.2': - resolution: {integrity: sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==} - engines: {node: '>= 18'} - '@octokit/core@5.2.0': resolution: {integrity: sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==} engines: {node: '>= 18'} @@ -4488,10 +4484,6 @@ packages: resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==} engines: {node: '>= 14'} - '@octokit/endpoint@9.0.3': - resolution: {integrity: sha512-TXVX57fJV7SA6LvRkeXPIOBr8AKvKDlhwNVBP/26O9DjIFi+CkYZGFLP9WtPdVOicRIhqGHxBCC6Fdj5AWWGgQ==} - engines: {node: '>= 18'} - '@octokit/endpoint@9.0.5': resolution: {integrity: sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==} engines: {node: '>= 18'} @@ -4500,10 +4492,6 @@ packages: resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==} engines: {node: '>= 14'} - '@octokit/graphql@7.0.2': - resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==} - engines: {node: '>= 18'} - '@octokit/graphql@7.1.0': resolution: {integrity: sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==} engines: {node: '>= 18'} @@ -4540,12 +4528,6 @@ packages: peerDependencies: '@octokit/core': '>=3' - '@octokit/plugin-request-log@4.0.0': - resolution: {integrity: sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=5' - '@octokit/plugin-request-log@4.0.1': resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==} engines: {node: '>= 18'} @@ -4574,10 +4556,6 @@ packages: resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} engines: {node: '>= 14'} - '@octokit/request-error@5.0.1': - resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==} - engines: {node: '>= 18'} - '@octokit/request-error@5.1.0': resolution: {integrity: sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==} engines: {node: '>= 18'} @@ -4586,10 +4564,6 @@ packages: resolution: {integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==} engines: {node: '>= 14'} - '@octokit/request@8.1.6': - resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==} - engines: {node: '>= 18'} - '@octokit/request@8.4.0': resolution: {integrity: sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==} engines: {node: '>= 18'} @@ -7263,9 +7237,6 @@ packages: aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -7656,9 +7627,6 @@ packages: call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} - call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -8204,14 +8172,6 @@ packages: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - define-data-property@1.1.0: - resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} - engines: {node: '>= 0.4'} - - define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -8756,10 +8716,6 @@ packages: resolution: {integrity: sha512-j6wcVoZf06nqEcBbDWkKg8Fp895SS96dSnTCjiXT+8vt2o02raTn4Lo9ERUuIVU5bAjoPYeA+7ytQFexFmLuVw==} engines: {node: '>=14.0.0'} - ethers@6.13.1: - resolution: {integrity: sha512-hdJ2HOxg/xx97Lm9HdCWk949BfYqYWpyw4//78SiwOLgASyfrNszfMUNB2joKjvGUdwhHfaiMMFFwacVVoLR9A==} - engines: {node: '>=14.0.0'} - ethers@6.13.4: resolution: {integrity: sha512-21YtnZVg4/zKkCQPjrDj38B1r4nQvTZLopUGMLQ1ePU2zV/joCfDC3t3iKQjWRzjjjbzR+mdAIoikeBRNkdllA==} engines: {node: '>=14.0.0'} @@ -9068,12 +9024,6 @@ packages: get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - - get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} - get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} @@ -9199,19 +9149,9 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - - has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} - has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - has-proto@1.0.3: resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} @@ -9231,10 +9171,6 @@ packages: has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - hash-base@3.1.0: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} engines: {node: '>=4'} @@ -9242,10 +9178,6 @@ packages: hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -9369,10 +9301,6 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} @@ -9449,9 +9377,6 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} - is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -9481,9 +9406,6 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true - is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} - is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} @@ -9607,9 +9529,6 @@ packages: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} @@ -10673,12 +10592,6 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - object-inspect@1.13.2: resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} engines: {node: '>= 0.4'} @@ -10695,10 +10608,6 @@ packages: resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} engines: {node: '>= 10'} - object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} - object.assign@4.1.5: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} @@ -11477,10 +11386,6 @@ packages: regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} - regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -11548,10 +11453,6 @@ packages: resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - resolve@1.22.6: - resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} - hasBin: true - resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -11724,18 +11625,10 @@ packages: set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} - engines: {node: '>= 0.4'} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} - set-function-name@2.0.2: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} @@ -11776,9 +11669,6 @@ packages: engines: {node: '>=4'} hasBin: true - side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -12057,6 +11947,7 @@ packages: sudo-prompt@9.2.1: resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. superstruct@1.0.4: resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==} @@ -13100,10 +12991,6 @@ packages: resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} engines: {node: '>= 0.4'} - which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} - which-typed-array@1.1.15: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} @@ -17079,7 +16966,7 @@ snapshots: '@ljharb/through@2.3.11': dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': dependencies: @@ -18737,16 +18624,6 @@ snapshots: transitivePeerDependencies: - encoding - '@octokit/core@5.0.2': - dependencies: - '@octokit/auth-token': 4.0.0 - '@octokit/graphql': 7.0.2 - '@octokit/request': 8.1.6 - '@octokit/request-error': 5.0.1 - '@octokit/types': 12.3.0 - before-after-hook: 2.2.3 - universal-user-agent: 6.0.0 - '@octokit/core@5.2.0': dependencies: '@octokit/auth-token': 4.0.0 @@ -18763,11 +18640,6 @@ snapshots: is-plain-object: 5.0.0 universal-user-agent: 6.0.0 - '@octokit/endpoint@9.0.3': - dependencies: - '@octokit/types': 12.3.0 - universal-user-agent: 6.0.0 - '@octokit/endpoint@9.0.5': dependencies: '@octokit/types': 13.5.0 @@ -18781,12 +18653,6 @@ snapshots: transitivePeerDependencies: - encoding - '@octokit/graphql@7.0.2': - dependencies: - '@octokit/request': 8.1.6 - '@octokit/types': 12.3.0 - universal-user-agent: 6.0.0 - '@octokit/graphql@7.1.0': dependencies: '@octokit/request': 8.4.0 @@ -18810,26 +18676,22 @@ snapshots: '@octokit/tsconfig': 1.0.2 '@octokit/types': 9.3.2 - '@octokit/plugin-paginate-rest@9.1.4(@octokit/core@5.0.2)': + '@octokit/plugin-paginate-rest@9.1.4(@octokit/core@5.2.0)': dependencies: - '@octokit/core': 5.0.2 + '@octokit/core': 5.2.0 '@octokit/types': 12.3.0 '@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.4(encoding@0.1.13))': dependencies: '@octokit/core': 4.2.4(encoding@0.1.13) - '@octokit/plugin-request-log@4.0.0(@octokit/core@5.0.2)': - dependencies: - '@octokit/core': 5.0.2 - '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.0)': dependencies: '@octokit/core': 5.2.0 - '@octokit/plugin-rest-endpoint-methods@10.1.5(@octokit/core@5.0.2)': + '@octokit/plugin-rest-endpoint-methods@10.1.5(@octokit/core@5.2.0)': dependencies: - '@octokit/core': 5.0.2 + '@octokit/core': 5.2.0 '@octokit/types': 12.3.0 '@octokit/plugin-rest-endpoint-methods@13.2.2(@octokit/core@5.2.0)': @@ -18848,12 +18710,6 @@ snapshots: deprecation: 2.3.1 once: 1.4.0 - '@octokit/request-error@5.0.1': - dependencies: - '@octokit/types': 12.3.0 - deprecation: 2.3.1 - once: 1.4.0 - '@octokit/request-error@5.1.0': dependencies: '@octokit/types': 13.5.0 @@ -18871,13 +18727,6 @@ snapshots: transitivePeerDependencies: - encoding - '@octokit/request@8.1.6': - dependencies: - '@octokit/endpoint': 9.0.3 - '@octokit/request-error': 5.0.1 - '@octokit/types': 12.3.0 - universal-user-agent: 6.0.0 - '@octokit/request@8.4.0': dependencies: '@octokit/endpoint': 9.0.5 @@ -18896,10 +18745,10 @@ snapshots: '@octokit/rest@20.0.2': dependencies: - '@octokit/core': 5.0.2 - '@octokit/plugin-paginate-rest': 9.1.4(@octokit/core@5.0.2) - '@octokit/plugin-request-log': 4.0.0(@octokit/core@5.0.2) - '@octokit/plugin-rest-endpoint-methods': 10.1.5(@octokit/core@5.0.2) + '@octokit/core': 5.2.0 + '@octokit/plugin-paginate-rest': 9.1.4(@octokit/core@5.2.0) + '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.0) + '@octokit/plugin-rest-endpoint-methods': 10.1.5(@octokit/core@5.2.0) '@octokit/rest@20.1.1': dependencies: @@ -20372,6 +20221,12 @@ snapshots: release-it: 17.0.0(typescript@5.5.4) string-template: 1.0.0 + '@release-it/keep-a-changelog@5.0.0(release-it@17.0.0(typescript@5.6.3))': + dependencies: + detect-newline: 4.0.1 + release-it: 17.0.0(typescript@5.6.3) + string-template: 1.0.0 + '@remix-run/router@1.18.0': {} '@rnx-kit/chromium-edge-launcher@1.0.0': @@ -23849,11 +23704,6 @@ snapshots: dependencies: deep-equal: 2.2.3 - array-buffer-byte-length@1.0.0: - dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 - array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -23863,7 +23713,7 @@ snapshots: array.prototype.map@1.0.6: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.3 es-array-method-boxes-properly: 1.0.0 @@ -23871,13 +23721,13 @@ snapshots: arraybuffer.prototype.slice@1.0.2: dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 asap@2.0.6: {} @@ -24327,13 +24177,7 @@ snapshots: call-bind@1.0.2: dependencies: function-bind: 1.1.1 - get-intrinsic: 1.2.1 - - call-bind@1.0.5: - dependencies: - function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 + get-intrinsic: 1.2.4 call-bind@1.0.7: dependencies: @@ -24612,7 +24456,7 @@ snapshots: js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.5.4 + semver: 7.6.3 well-known-symbols: 2.0.0 conf@10.2.0: @@ -24715,6 +24559,15 @@ snapshots: optionalDependencies: typescript: 5.5.4 + cosmiconfig@8.3.6(typescript@5.6.3): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.6.3 + crc-32@1.2.2: {} create-ecdh@4.0.4: @@ -24924,18 +24777,6 @@ snapshots: defer-to-connect@2.0.1: {} - define-data-property@1.1.0: - dependencies: - get-intrinsic: 1.2.1 - gopd: 1.0.1 - has-property-descriptors: 1.0.0 - - define-data-property@1.1.1: - dependencies: - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 @@ -24948,8 +24789,8 @@ snapshots: define-properties@1.2.1: dependencies: - define-data-property: 1.1.0 - has-property-descriptors: 1.0.0 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 defu@6.1.4: {} @@ -25221,34 +25062,34 @@ snapshots: es-abstract@1.22.3: dependencies: - array-buffer-byte-length: 1.0.0 + array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 es-set-tostringtag: 2.0.2 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 get-symbol-description: 1.0.0 globalthis: 1.0.3 gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.2 internal-slot: 1.0.6 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.4 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 is-typed-array: 1.1.12 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 safe-array-concat: 1.0.1 safe-regex-test: 1.0.0 string.prototype.trim: 1.2.8 @@ -25259,7 +25100,7 @@ snapshots: typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.15 es-array-method-boxes-properly@1.0.0: {} @@ -25271,8 +25112,8 @@ snapshots: es-get-iterator@1.1.3: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 is-arguments: 1.1.1 is-map: 2.0.2 @@ -25285,9 +25126,9 @@ snapshots: es-set-tostringtag@2.0.2: dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 - hasown: 2.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 es-to-primitive@1.2.1: dependencies: @@ -25655,19 +25496,6 @@ snapshots: - bufferutil - utf-8-validate - ethers@6.13.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - '@adraffy/ens-normalize': 1.10.1 - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@types/node': 18.15.13 - aes-js: 4.0.0-beta.5 - tslib: 2.4.0 - ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@adraffy/ens-normalize': 1.10.1 @@ -25979,7 +25807,7 @@ snapshots: function.prototype.name@1.1.6: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.3 functions-have-names: 1.2.3 @@ -26006,20 +25834,6 @@ snapshots: get-func-name@2.0.2: {} - get-intrinsic@1.2.1: - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 - - get-intrinsic@1.2.2: - dependencies: - function-bind: 1.1.2 - has-proto: 1.0.1 - has-symbols: 1.0.3 - hasown: 2.0.0 - get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 @@ -26040,8 +25854,8 @@ snapshots: get-symbol-description@1.0.0: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 get-tsconfig@4.7.6: dependencies: @@ -26116,7 +25930,7 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -26124,7 +25938,7 @@ snapshots: dependencies: '@sindresorhus/merge-streams': 1.0.0 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -26135,7 +25949,7 @@ snapshots: gopd@1.0.1: dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 got@12.6.1: dependencies: @@ -26195,20 +26009,10 @@ snapshots: has-flag@4.0.0: {} - has-property-descriptors@1.0.0: - dependencies: - get-intrinsic: 1.2.1 - - has-property-descriptors@1.0.1: - dependencies: - get-intrinsic: 1.2.2 - has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 - has-proto@1.0.1: {} - has-proto@1.0.3: {} has-symbols@1.0.3: {} @@ -26223,10 +26027,6 @@ snapshots: has-unicode@2.0.1: {} - has@1.0.3: - dependencies: - function-bind: 1.1.1 - hash-base@3.1.0: dependencies: inherits: 2.0.4 @@ -26238,10 +26038,6 @@ snapshots: inherits: 2.0.4 minimalistic-assert: 1.0.1 - hasown@2.0.0: - dependencies: - function-bind: 1.1.2 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -26384,8 +26180,6 @@ snapshots: ieee754@1.2.1: {} - ignore@5.2.4: {} - ignore@5.3.1: {} image-size@1.1.1: @@ -26441,9 +26235,9 @@ snapshots: internal-slot@1.0.6: dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 + get-intrinsic: 1.2.4 + hasown: 2.0.2 + side-channel: 1.0.6 interpret@1.4.0: {} @@ -26469,12 +26263,6 @@ snapshots: call-bind: 1.0.2 has-tostringtag: 1.0.0 - is-array-buffer@3.0.2: - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 - is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -26503,10 +26291,6 @@ snapshots: dependencies: ci-info: 3.9.0 - is-core-module@2.13.0: - dependencies: - has: 1.0.3 - is-core-module@2.13.1: dependencies: hasown: 2.0.2 @@ -26585,17 +26369,13 @@ snapshots: is-regex@1.1.4: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 has-tostringtag: 1.0.0 is-set@2.0.2: {} is-set@2.0.3: {} - is-shared-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.5 - is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 @@ -26610,7 +26390,7 @@ snapshots: is-string@1.0.7: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-symbol@1.0.4: dependencies: @@ -26630,7 +26410,7 @@ snapshots: is-weakref@1.0.2: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 is-weakset@2.0.3: dependencies: @@ -27799,10 +27579,6 @@ snapshots: object-hash@3.0.0: {} - object-inspect@1.12.3: {} - - object-inspect@1.13.1: {} - object-inspect@1.13.2: {} object-is@1.1.6: @@ -27814,13 +27590,6 @@ snapshots: object-treeify@1.1.33: {} - object.assign@4.1.4: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - object.assign@4.1.5: dependencies: call-bind: 1.0.7 @@ -28033,7 +27802,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.26.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -28243,29 +28012,37 @@ snapshots: postcss: 8.4.38 ts-node: 10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.4.5) - postcss-load-config@4.0.1(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.2.2)): + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.2.2)): dependencies: - lilconfig: 2.1.0 - yaml: 2.3.2 + lilconfig: 3.1.2 + yaml: 2.6.0 optionalDependencies: postcss: 8.4.47 ts-node: 10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.2.2) - postcss-load-config@4.0.1(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.5.4)): + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.6.3)): dependencies: - lilconfig: 2.1.0 - yaml: 2.3.2 + lilconfig: 3.1.2 + yaml: 2.6.0 + optionalDependencies: + postcss: 8.4.47 + ts-node: 10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.6.3) + + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.5.4)): + dependencies: + lilconfig: 3.1.2 + yaml: 2.6.0 optionalDependencies: postcss: 8.4.47 ts-node: 10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.5.4) - postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.6.3)): + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.6.3)): dependencies: lilconfig: 3.1.2 yaml: 2.6.0 optionalDependencies: postcss: 8.4.47 - ts-node: 10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.6.3) + ts-node: 10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.6.3) postcss-nested@6.0.1(postcss@8.4.38): dependencies: @@ -28357,10 +28134,10 @@ snapshots: promise.allsettled@1.0.7: dependencies: array.prototype.map: 1.0.6 - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 iterate-value: 1.0.2 promise@8.3.0: @@ -28809,7 +28586,7 @@ snapshots: rechoir@0.6.2: dependencies: - resolve: 1.22.6 + resolve: 1.22.8 regenerate-unicode-properties@10.1.1: dependencies: @@ -28825,12 +28602,6 @@ snapshots: dependencies: '@babel/runtime': 7.26.0 - regexp.prototype.flags@1.5.1: - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - set-function-name: 2.0.1 - regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 @@ -28927,6 +28698,39 @@ snapshots: - supports-color - typescript + release-it@17.0.0(typescript@5.6.3): + dependencies: + '@iarna/toml': 2.2.5 + '@octokit/rest': 20.0.2 + async-retry: 1.3.3 + chalk: 5.3.0 + cosmiconfig: 8.3.6(typescript@5.6.3) + execa: 8.0.1 + git-url-parse: 13.1.1 + globby: 14.0.0 + got: 13.0.0 + inquirer: 9.2.12 + is-ci: 3.0.1 + issue-parser: 6.0.0 + lodash: 4.17.21 + mime-types: 2.1.35 + new-github-release-url: 2.0.0 + node-fetch: 3.3.2 + open: 9.1.0 + ora: 7.0.1 + os-name: 5.1.0 + promise.allsettled: 1.0.7 + proxy-agent: 6.3.1 + semver: 7.5.4 + shelljs: 0.8.5 + update-notifier: 7.0.0 + url-join: 5.0.0 + wildcard-match: 5.1.2 + yargs-parser: 21.1.1 + transitivePeerDependencies: + - supports-color + - typescript + remove-accents@0.5.0: {} require-directory@2.1.1: {} @@ -28953,12 +28757,6 @@ snapshots: path-parse: 1.0.7 optional: true - resolve@1.22.6: - dependencies: - is-core-module: 2.13.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - resolve@1.22.8: dependencies: is-core-module: 2.13.1 @@ -29095,8 +28893,8 @@ snapshots: safe-array-concat@1.0.1: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 @@ -29106,8 +28904,8 @@ snapshots: safe-regex-test@1.0.0: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 is-regex: 1.1.4 safe-stable-stringify@2.4.3: {} @@ -29194,13 +28992,6 @@ snapshots: set-blocking@2.0.0: {} - set-function-length@1.1.1: - dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -29210,12 +29001,6 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.2 - set-function-name@2.0.1: - dependencies: - define-data-property: 1.1.1 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 - set-function-name@2.0.2: dependencies: define-data-property: 1.1.4 @@ -29257,12 +29042,6 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 - side-channel@1.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 - side-channel@1.0.6: dependencies: call-bind: 1.0.7 @@ -29458,19 +29237,19 @@ snapshots: string.prototype.trim@1.2.8: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.3 string.prototype.trimend@1.0.7: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.3 string.prototype.trimstart@1.0.7: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.22.3 @@ -29872,6 +29651,27 @@ snapshots: '@swc/core': 1.7.1(@swc/helpers@0.5.13) optional: true + ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.6.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.7.9 + acorn: 8.14.0 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.6.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.7.1(@swc/helpers@0.5.13) + optional: true + ts-toolbelt@6.15.5: {} tslib@1.14.1: {} @@ -29896,11 +29696,11 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.1(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.5.4)) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.6.3)) resolve-from: 5.0.0 - rollup: 4.19.0 + rollup: 4.24.4 source-map: 0.8.0-beta.0 - sucrase: 3.34.0 + sucrase: 3.35.0 tree-kill: 1.2.2 optionalDependencies: '@microsoft/api-extractor': 7.38.3(@types/node@20.10.5) @@ -29921,11 +29721,11 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.1(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.2.2)) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@20.14.12)(typescript@5.2.2)) resolve-from: 5.0.0 - rollup: 4.19.0 + rollup: 4.24.4 source-map: 0.8.0-beta.0 - sucrase: 3.34.0 + sucrase: 3.35.0 tree-kill: 1.2.2 optionalDependencies: '@microsoft/api-extractor': 7.38.3(@types/node@20.14.12) @@ -29946,11 +29746,11 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.1(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.5.4)) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.5.4)) resolve-from: 5.0.0 - rollup: 4.19.0 + rollup: 4.24.4 source-map: 0.8.0-beta.0 - sucrase: 3.34.0 + sucrase: 3.35.0 tree-kill: 1.2.2 optionalDependencies: '@microsoft/api-extractor': 7.38.3(@types/node@22.7.9) @@ -29961,6 +29761,31 @@ snapshots: - supports-color - ts-node + tsup@8.0.2(@microsoft/api-extractor@7.38.3(@types/node@22.7.9))(@swc/core@1.7.1(@swc/helpers@0.5.13))(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.6.3))(typescript@5.6.3): + dependencies: + bundle-require: 4.1.0(esbuild@0.19.12) + cac: 6.7.14 + chokidar: 3.6.0 + debug: 4.3.5(supports-color@8.1.1) + esbuild: 0.19.12 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.1(@swc/core@1.7.1(@swc/helpers@0.5.13))(@types/node@22.7.9)(typescript@5.6.3)) + resolve-from: 5.0.0 + rollup: 4.24.4 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tree-kill: 1.2.2 + optionalDependencies: + '@microsoft/api-extractor': 7.38.3(@types/node@22.7.9) + '@swc/core': 1.7.1(@swc/helpers@0.5.13) + postcss: 8.4.47 + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + - ts-node + tsx@4.16.5: dependencies: esbuild: 0.21.5 @@ -30024,28 +29849,28 @@ snapshots: typed-array-buffer@1.0.0: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 is-typed-array: 1.1.12 typed-array-byte-length@1.0.0: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.12 typed-array-byte-offset@1.0.0: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.12 typed-array-length@1.0.4: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 is-typed-array: 1.1.12 @@ -30086,7 +29911,7 @@ snapshots: unbox-primitive@1.0.2: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -30216,7 +30041,7 @@ snapshots: is-npm: 6.0.0 latest-version: 7.0.0 pupa: 3.1.0 - semver: 7.5.4 + semver: 7.6.3 semver-diff: 4.0.0 xdg-basedir: 5.1.0 @@ -30863,15 +30688,7 @@ snapshots: which-typed-array@1.1.11: dependencies: available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - - which-typed-array@1.1.13: - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 From 236c0291a741ab7b703f4b663787cf935f342e8e Mon Sep 17 00:00:00 2001 From: Fernando Gonzalez Goncharov Date: Mon, 16 Dec 2024 16:07:56 +0200 Subject: [PATCH 6/8] feat(enclave): additional changes --- apps/idos-enclave/src/lib/enclave.js | 2 ++ apps/idos-enclave/src/pages/App.tsx | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/apps/idos-enclave/src/lib/enclave.js b/apps/idos-enclave/src/lib/enclave.js index 200ac7ec3..06444f734 100644 --- a/apps/idos-enclave/src/lib/enclave.js +++ b/apps/idos-enclave/src/lib/enclave.js @@ -428,6 +428,8 @@ export class Enclave { this.unlockButton.disabled = false; this.confirmButton.disabled = false; this.backupButton.disabled = false; + port1.close(); + this.dialog.close(); return reject(error); } diff --git a/apps/idos-enclave/src/pages/App.tsx b/apps/idos-enclave/src/pages/App.tsx index 4953c0f82..cce6f22f2 100644 --- a/apps/idos-enclave/src/pages/App.tsx +++ b/apps/idos-enclave/src/pages/App.tsx @@ -88,6 +88,11 @@ export function App({ store, enclave }: AppProps) { } }, [theme]); + useEffect(() => { + if (mode === "new" || !responsePort.current) return; + if (!encryptionPublicKey) onError("Can’t find a public encryption key for this user"); + }, [mode, encryptionPublicKey, responsePort.current]); + const resetMethod = useCallback(() => setMethod(null), []); /** From f400ec7f07f4c2e5f5083f0b2facd259800e7f18 Mon Sep 17 00:00:00 2001 From: Mo <51370781+Mohammed-Mamoun98@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:46:29 +0200 Subject: [PATCH 7/8] always pass EPEK to enclave wether it remembers auth method or not (#387) Co-authored-by: web the third --- apps/idos-enclave/src/lib/enclave.js | 13 +++++++------ apps/idos-enclave/src/pages/App.tsx | 9 +++++++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/apps/idos-enclave/src/lib/enclave.js b/apps/idos-enclave/src/lib/enclave.js index 06444f734..2b7afeb81 100644 --- a/apps/idos-enclave/src/lib/enclave.js +++ b/apps/idos-enclave/src/lib/enclave.js @@ -125,12 +125,13 @@ export class Enclave { try { if (storedCredentialId) { ({ password, credentialId } = await getWebAuthnCredential(storedCredentialId)); - } else if (preferredAuthMethod) { - ({ password, duration } = await this.#openDialog(preferredAuthMethod)); } else { - ({ password, duration, credentialId } = await this.#openDialog("auth", { - expectedUserEncryptionPublicKey: this.expectedUserEncryptionPublicKey, - })); + ({ password, duration, credentialId } = await this.#openDialog( + preferredAuthMethod || "auth", + { + expectedUserEncryptionPublicKey: this.expectedUserEncryptionPublicKey, + }, + )); } } catch (e) { return reject(e); @@ -369,7 +370,7 @@ export class Enclave { const response = await this[requestName](...paramBuilder()); event.ports[0].postMessage({ result: response }); } catch (error) { - console.warn("catch", error); + console.error("catch", error); event.ports[0].postMessage({ error }); } finally { this.unlockButton.style.display = "none"; diff --git a/apps/idos-enclave/src/pages/App.tsx b/apps/idos-enclave/src/pages/App.tsx index cce6f22f2..ed503841a 100644 --- a/apps/idos-enclave/src/pages/App.tsx +++ b/apps/idos-enclave/src/pages/App.tsx @@ -63,7 +63,7 @@ export function App({ store, enclave }: AppProps) { // Confirm options. const [origin, setOrigin] = useState(null); const [message, setMessage] = useState(null); - const [encryptionPublicKey, setEncryptionUserPublicKey] = useState(); + const [encryptionPublicKey, setEncryptionUserPublicKey] = useState(""); const [humanId] = useState( new URLSearchParams(window.location.search).get("humanId"), ); @@ -107,11 +107,11 @@ export function App({ store, enclave }: AppProps) { throw new Error(`Unexpected request from parent: ${requestData.intent}`); responsePort.current = ports[0]; + setEncryptionUserPublicKey(requestData.message?.expectedUserEncryptionPublicKey); switch (requestData.intent) { case "auth": setMethod(null); - setEncryptionUserPublicKey(event.data.message.expectedUserEncryptionPublicKey); break; case "passkey": @@ -181,6 +181,11 @@ export function App({ store, enclave }: AppProps) { mode, }; + useEffect(() => { + if (mode === "new" || !responsePort.current) return; // encryptionPublicKey is only set after responsePort is set + if (!encryptionPublicKey) onError("can't find a public encryption key for this user"); + }, [mode, encryptionPublicKey, responsePort.current]); + if (confirm && message) { return ( From e28b231ee84935febdebe0041c90fab9c4edee0e Mon Sep 17 00:00:00 2001 From: ditoglez Date: Mon, 16 Dec 2024 20:29:58 +0200 Subject: [PATCH 8/8] fix(client-sdk): cast to `SignedMessage` in `auth` (#393) --- packages/idos-sdk-js/src/lib/auth.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/idos-sdk-js/src/lib/auth.ts b/packages/idos-sdk-js/src/lib/auth.ts index 1f804f2bb..8ffb387f7 100644 --- a/packages/idos-sdk-js/src/lib/auth.ts +++ b/packages/idos-sdk-js/src/lib/auth.ts @@ -115,7 +115,7 @@ export class Auth { nonce, message, callbackUrl, - }); + } as SignedMessage); } const callbackUrl = window.location.href; const nonce = Buffer.from(new Nonce(32).clampUTF8);