diff --git a/.changeset/cold-dancers-push.md b/.changeset/cold-dancers-push.md new file mode 100644 index 0000000000..4bbd383278 --- /dev/null +++ b/.changeset/cold-dancers-push.md @@ -0,0 +1,16 @@ +--- +'@lit-protocol/wrapped-keys-lit-actions': minor +'@lit-protocol/auth-services': minor +'@lit-protocol/auth-helpers': minor +'@lit-protocol/wrapped-keys': minor +'@lit-protocol/lit-client': minor +'@lit-protocol/artillery': minor +'@lit-protocol/constants': minor +'@lit-protocol/contracts': minor +'@lit-protocol/networks': minor +'@lit-protocol/crypto': minor +'@lit-protocol/auth': minor +'@lit-protocol/e2e': minor +--- + +Introduce wrapped-keys support to v8 so applications can generate, import, export, and sign with encrypted keys across EVM and Solana without exposing private key material. New `auth` package APIs include `validateDelegationAuthSig`, `generatePkpDelegationAuthSig`, `generateEoaDelegationAuthSig`, `createPkpAuthContextFromPreGenerated`, and `createPkpSessionSigs`. New `wrapped-keys` APIs include `generatePrivateKey`, `importPrivateKey`, `exportPrivateKey`, `listEncryptedKeyMetadata`, `getEncryptedKey`, `storeEncryptedKey`, `storeEncryptedKeyBatch`, `batchGeneratePrivateKeys`, `signMessageWithEncryptedKey`, and `signTransactionWithEncryptedKey`. See the updated docs (guides/server-sessions, sdk-reference/wrapped-keys, and the new auth references) for end-to-end examples. [PR](https://github.com/LIT-Protocol/js-sdk/pull/972) diff --git a/.changeset/config.json b/.changeset/config.json index d7a0dbc6f8..403c6980ff 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -7,8 +7,5 @@ "access": "public", "baseBranch": "naga", "updateInternalDependencies": "minor", - "ignore": [ - "@lit-protocol/wrapped-keys", - "@lit-protocol/wrapped-keys-lit-actions" - ] + "ignore": [] } diff --git a/docs/docs.json b/docs/docs.json index 70b355044c..7a6bd34c99 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -79,7 +79,8 @@ "pages": [ "sdk/auth-context-consumption/pkp-sign", "sdk/auth-context-consumption/execute-js", - "sdk/auth-context-consumption/encrypt-and-decrypt" + "sdk/auth-context-consumption/encrypt-and-decrypt", + "sdk/auth-context-consumption/wrapped-keys" ] }, { @@ -109,7 +110,12 @@ { "group": "@lit-protocol/auth", "pages": [ - "sdk/sdk-reference/auth/functions/createAuthManager" + "sdk/sdk-reference/auth/functions/createAuthManager", + "sdk/sdk-reference/auth/functions/generatePkpDelegationAuthSig", + "sdk/sdk-reference/auth/functions/generateEoaDelegationAuthSig", + "sdk/sdk-reference/auth/functions/validateDelegationAuthSig", + "sdk/sdk-reference/auth/functions/createPkpAuthContextFromPreGenerated", + "sdk/sdk-reference/auth/functions/createPkpSessionSigs" ] }, { @@ -117,6 +123,22 @@ "pages": [ "sdk/sdk-reference/networks/functions/withOverrides" ] + }, + { + "group": "@lit-protocol/wrapped-keys", + "pages": [ + "sdk/sdk-reference/wrapped-keys/index", + "sdk/sdk-reference/wrapped-keys/functions/generatePrivateKey", + "sdk/sdk-reference/wrapped-keys/functions/exportPrivateKey", + "sdk/sdk-reference/wrapped-keys/functions/importPrivateKey", + "sdk/sdk-reference/wrapped-keys/functions/getEncryptedKey", + "sdk/sdk-reference/wrapped-keys/functions/listEncryptedKeyMetadata", + "sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKey", + "sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKeyBatch", + "sdk/sdk-reference/wrapped-keys/functions/batchGeneratePrivateKeys", + "sdk/sdk-reference/wrapped-keys/functions/signMessageWithEncryptedKey", + "sdk/sdk-reference/wrapped-keys/functions/signTransactionWithEncryptedKey" + ] } ] }, @@ -130,7 +152,8 @@ { "group": "Guides", "pages": [ - "guides/lit-action-sign-as-action" + "guides/lit-action-sign-as-action", + "guides/server-sessions" ] }, { @@ -221,4 +244,4 @@ "discord": "https://litgateway.com/discord" } } -} +} \ No newline at end of file diff --git a/docs/guides/server-sessions.mdx b/docs/guides/server-sessions.mdx new file mode 100644 index 0000000000..e5bab36054 --- /dev/null +++ b/docs/guides/server-sessions.mdx @@ -0,0 +1,126 @@ +--- +title: "Server Sessions" +description: "Delegate a PKP to an ephemeral session key and hand that scoped capability to backend services that mint fresh session signatures on demand." +--- + +# Overview + +Some integrations need a backend or serverless worker to execute Lit actions long after a user has left the client. Instead of caching `pkpSessionSigs` (which expire quickly and can become invalid when nodes join or leave the network), you can delegate the PKP to a session key and send the **session keypair plus delegation auth signature** to the server. The server then recreates the auth context and generates short-lived session signatures immediately before each request. + +This pattern keeps the delegation scoped (resources and expiration are enforced by the delegation) while avoiding the flakiness that comes from reusing stale session signatures. + +# Workflow + +1. **Client generates a session keypair** with `generateSessionKeyPair()`. +2. **Client creates a delegation auth signature** with `authManager.generatePkpDelegationAuthSig`, scoping the allowed [Lit resources](/sdk/resources/lit-resources-and-abilities) and expiration. +3. **Client sends the bundle** { sessionKeyPair, delegationAuthSig, pkpPublicKey }` to the server over a secure channel. +4. **Server restores an auth context** using `authManager.createPkpAuthContextFromPreGenerated`. +5. **Server issues fresh session signatures on demand** (e.g., `authManager.createPkpSessionSigs`) immediately before calling SDK helpers such as the wrapped-keys API or `pkpSign`. + +# Client hand-off example + +```ts +import { + createAuthManager, + generateSessionKeyPair, +} from '@lit-protocol/auth'; + +const sessionKeyPair = generateSessionKeyPair(); + +const delegationAuthSig = await authManager.generatePkpDelegationAuthSig({ + pkpPublicKey, + authData, + sessionKeyPair, + authConfig: { + resources: [ + ['pkp-signing', '*'], + ['lit-action-execution', '*'], + ['access-control-condition-decryption', '*'], + ], + expiration: new Date(Date.now() + 15 * 60 * 1000).toISOString(), + }, + litClient: litClient, +}); + +const envelope = JSON.stringify({ + pkpPublicKey, + payload: Buffer.from( + JSON.stringify({ sessionKeyPair, delegationAuthSig }), + 'utf8' + ).toString('base64url'), +}); +``` + +# Server restore example + +```ts +import { + createAuthManager, + storagePlugins, + validateDelegationAuthSig, +} from '@lit-protocol/auth'; +import { createLitClient } from '@lit-protocol/lit-client'; + +const parsedEnvelope = JSON.parse(envelope) as { + pkpPublicKey: string; + payload: string; +}; + +const decodedPayload = JSON.parse( + Buffer.from(parsedEnvelope.payload, 'base64url').toString('utf8') +) as { + sessionKeyPair: typeof sessionKeyPair; + delegationAuthSig: typeof delegationAuthSig; +}; + +validateDelegationAuthSig({ + delegationAuthSig: decodedPayload.delegationAuthSig, + sessionKeyUri: decodedPayload.sessionKeyPair.publicKey, +}); + +const serverLitClient = await createLitClient({ network: resolvedNetwork }); +const serverAuthManager = createAuthManager({ + storage: storagePlugins.localStorageNode({ + appName: 'server-session-demo', + networkName: resolvedNetwork.name, + storagePath: './.server-session-cache', + }), +}); + +const authContext = + await serverAuthManager.createPkpAuthContextFromPreGenerated({ + pkpPublicKey: parsedEnvelope.pkpPublicKey, + sessionKeyPair: decodedPayload.sessionKeyPair, + delegationAuthSig: decodedPayload.delegationAuthSig, + }); + +// Only call this when the downstream API explicitly requires session sigs +const pkpSessionSigs = await serverAuthManager.createPkpSessionSigs({ + sessionKeyPair: decodedPayload.sessionKeyPair, + pkpPublicKey: parsedEnvelope.pkpPublicKey, + delegationAuthSig: decodedPayload.delegationAuthSig, + litClient: serverLitClient, +}); + +await serverLitClient.chain.ethereum.pkpSign({ + authContext, + pubKey: parsedEnvelope.pkpPublicKey, + toSign: 'hello from server reuse', +}); +``` + + + Only call `createPkpSessionSigs` when the downstream API explicitly requires the session sigs (for example, the wrapped-keys service). + + +# Security considerations + +- **Treat the session keypair like a secret.** Whoever holds the private key can mint new session signatures until the delegation expires. +- **Scope the delegation.** Restrict resources to the minimal [Lit resources](/sdk/resources/lit-resources-and-abilities) needed and set conservative expirations. +- **Rotate on failure.** If a node joins or leaves the network the server can simply regenerate session signatures with the current handshake; if that fails, request a fresh delegation from the client. + +# When to use this pattern + +- Long-running workflows where session signatures might expire before all steps finish (e.g., Bitcoin transactions that need multiple confirmations). +- Server-driven orchestration that must run without a browser tab staying open. +- Integrations that want to avoid caching `pkpSessionSigs`, but still need durable delegated access. diff --git a/docs/sdk/auth-context-consumption/wrapped-keys.mdx b/docs/sdk/auth-context-consumption/wrapped-keys.mdx new file mode 100644 index 0000000000..c36d416b25 --- /dev/null +++ b/docs/sdk/auth-context-consumption/wrapped-keys.mdx @@ -0,0 +1,146 @@ +--- +title: "Wrapped Keys" +description: "Manage generated or imported keys through Lit’s wrapped-keys service by delegating a PKP session and calling the specialised APIs for EVM and Solana." +--- + +# Overview + +Wrapped keys let you generate, import, store, and use non-PKP private keys while keeping them encrypted by the Lit Network. The `@lit-protocol/wrapped-keys` package exposes helper APIs that run curated Lit Actions via `executeJs` for you so that signed messages or transactions never leave the Lit node unless you explicitly export the key material. + +Unlike the Core API flows (`pkpSign`, `executeJs`, `encryptAndDecrypt`) that accept an `authContext` directly, the wrapped-keys APIs expect a PKP session signature bundle (`pkpSessionSigs`). This keeps the SDK compatible with the v7 infrastructure and Lambda/serverless deployments that pass session materials between runtimes. Mint the bundle with `authManager.createPkpSessionSigs` as shown below. + +# How the flow differs from other Core API methods + +- **Why generate a delegation auth sig?** + You delegate your PKP to an ephemeral session key so the wrapped-keys Lit Actions can execute without presenting your long-lived auth credentials. The delegation constrains the permissions (`pkp-signing`, `lit-action-execution`, `access-control-condition-decryption`) and sets an expiry window, limiting blast radius if the session key is ever leaked. Refer to the [Lit resources guide](/sdk/resources/lit-resources-and-abilities) for the full catalogue of resource prefixes and abilities. + +- **Why supply PKP session signatures?** + Wrapped-keys endpoints reuse the same session bundle across all networks (for example, Lambda functions in the v7 stack). Provide `pkpSessionSigs` produced by `authManager.createPkpSessionSigs` so the Lit nodes can verify the delegated permissions before executing the action. + +- **Controlling network spend** + Because every wrapped-keys helper ultimately calls `executeJs`, you can supply an optional `userMaxPrice` to cap how much a caller is willing to pay for node execution (mirroring the parameter available on the core `executeJs` API). + +- **Optional: bundle Lit Action source** + By default the SDK references IPFS CIDs. To remove the IPFS dependency, inject the Lit Action source code at runtime: + + ```ts + import { api as wrappedKeysApi, config as wrappedKeysConfig } from '@lit-protocol/wrapped-keys'; + import { + litActionRepository, + litActionRepositoryCommon, + } from '@lit-protocol/wrapped-keys-lit-actions'; + + wrappedKeysConfig.setLitActionsCode(litActionRepository); + wrappedKeysConfig.setLitActionsCodeCommon(litActionRepositoryCommon); + ``` + +# Session material workflow + +```ts +import { createAuthManager, generateSessionKeyPair } from '@lit-protocol/auth'; +import { api as wrappedKeysApi } from '@lit-protocol/wrapped-keys'; + +const authManager = createAuthManager(); +const litClient = await createLitClient({ network: resolvedNetwork }); + +// 1. Ephemeral signer that will front the PKP for wrapped-key actions +const sessionKeyPair = generateSessionKeyPair(); + +// 2. Delegate the PKP to the session key with explicit Lit resources and expiry +const delegationAuthSig = await authManager.generatePkpDelegationAuthSig({ + pkpPublicKey, + authData, + sessionKeyPair, + authConfig: { + resources: [ + ['pkp-signing', '*'], + ['lit-action-execution', '*'], + ['access-control-condition-decryption', '*'], + ], + expiration: new Date(Date.now() + 15 * 60 * 1000).toISOString(), + }, + litClient, +}); + +// 3. Produce the SessionSigsMap required by every wrapped-keys API call +const pkpSessionSigs = await authManager.createPkpSessionSigs({ + sessionKeyPair, + pkpPublicKey, + delegationAuthSig, + litClient, +}); + +// 4. Call wrapped-keys APIs with the session signatures +const { id } = await wrappedKeysApi.generatePrivateKey({ + pkpSessionSigs, + litClient, + network: 'evm', + memo: 'wallet for gasless relays', + userMaxPrice: 1000n, // optional cap on per-request spend +}); +``` + + + Wrapped-keys calls need `pkpSessionSigs` explicitly. Other Lit APIs that accept an `authContext` (for example `executeJs` or `pkpSign`) creates session signatures internally, so you do not need to export it when you are not touching wrapped keys. + + +Need a backend to create fresh session signatures on demand? Follow the [server sessions guide](/guides/server-sessions) to delegate a session key and let the server recreate `pkpSessionSigs` per request. + +# Example usage + +## Generate and sign on EVM + +```ts +const { id, generatedPublicKey } = await wrappedKeysApi.generatePrivateKey({ + pkpSessionSigs, + litClient, + network: 'evm', + memo: 'lit', +}); + +// Export once if you need the raw private key +const { decryptedPrivateKey } = await wrappedKeysApi.exportPrivateKey({ + pkpSessionSigs, + litClient, + network: 'evm', + id, +}); + +// Sign an EVM transaction without revealing the key outside the Lit nodes +const serializedTx = await wrappedKeysApi.signTransactionWithEncryptedKey({ + pkpSessionSigs, + litClient, + network: 'evm', + id, + unsignedTransaction: { + chain: 'yellowstone', + chainId: 175188, + toAddress: '0x0000000000000000000000000000000000000000', + value: '0', + }, + broadcast: false, +}); +``` + +## Generate and sign on Solana + +```ts +const { id, publicKey } = await wrappedKeysApi.generatePrivateKey({ + pkpSessionSigs, + litClient, + network: 'solana', + memo: 'vault signer', +}); + +const signature = await wrappedKeysApi.signMessageWithEncryptedKey({ + pkpSessionSigs, + litClient, + network: 'solana', + id, + messageToSign: 'hello from wrapped keys', +}); +``` + +# API catalogue + +See the full reference for every helper at [Wrapped Keys Reference](/sdk/sdk-reference/wrapped-keys/index). diff --git a/docs/sdk/resources/lit-resources-and-abilities.mdx b/docs/sdk/resources/lit-resources-and-abilities.mdx new file mode 100644 index 0000000000..20e58e4556 --- /dev/null +++ b/docs/sdk/resources/lit-resources-and-abilities.mdx @@ -0,0 +1,50 @@ +--- +title: Lit Resources & Abilities +description: "Understand which resource prefixes the Lit network recognises, the abilities each unlocks, and how capability objects scope them." +--- + +# Overview + +Lit Resources describe **what** you want a delegated capability to touch. Lit Abilities describe **which operation** the holder may perform against that resource. Every delegation or session signature lists both so downstream nodes can enforce the scope before a request executes. + +This page summarises the resource prefixes supported by the Lit nodes today, the abilities each exposes, and how wildcard scoping works when building capability objects (e.g., SIWE + ReCap or `createAuthManager` flows). + +## Resource catalogue + +| Prefix | Shorthand | Description | Resource key format | Supported abilities | +| ------ | --------- | ----------- | ------------------- | ------------------- |Ç +| `lit-accesscontrolcondition` | `ACC` | Access control condition hashes. Used when decrypting or signing data gated by a condition. | `lit-accesscontrolcondition://` | `access-control-condition-decryption`, `access-control-condition-signing` | +| `lit-pkp` | `PKP` | Programmable Key Pair NFT token IDs. Grants threshold signing with that PKP. | `lit-pkp://` | `pkp-signing` | +| `lit-litaction` | `LA` | Lit Action IPFS content identifiers. Authorises deterministic JavaScript execution hosted by the network. | `lit-litaction://` | `lit-action-execution` | +| `lit-paymentdelegation` | `PD` | Payment delegation tokens proving prepaid usage. Lets a delegate authenticate against the payment delegation balance. | `lit-paymentdelegation://` | `lit-payment-delegation` | + + +The Lit nodes reserve an additional prefix, `lit-resolvedauthcontext`, for internal bookkeeping. End-user delegations should only target the four prefixes in the table above. + + +### Wildcards + +- Use `prefix://*` to authorise every resource under a prefix (for example, `lit-pkp://*` allows PKP signing with any PKP controlled by the delegator). +- Use `*/*` within a capability object to wildcard every ability for a resource entry. This is rarely necessary; prefer enumerating the specific ability (e.g., `Threshold/Decryption`) whenever possible. + +## Ability mapping + +Internally, each ability maps into a Recap namespace/action pair: + +| Lit ability | Recap namespace / ability | Typical operation | +| ----------- | ------------------------ | ----------------- | +| `access-control-condition-decryption` | `Threshold/Decryption` | Decrypting symmetric keys or JWT payloads behind an access control condition. | +| `access-control-condition-signing` | `Threshold/Signing` | Threshold signing checks required by some access control conditions. | +| `pkp-signing` | `Threshold/Signing` | Using a PKP NFT for message or transaction signing. | +| `lit-action-execution` | `Threshold/Execution` | Running Lit Actions (`executeJs`) hosted on IPFS or supplied inline. | +| `lit-payment-delegation` | `Auth/Auth` | Presenting a payment delegation token to prove prepaid execution quota. | + +The Lit SDK builds these mappings automatically when you call helpers such as `generatePkpDelegationAuthSig` or `createAuthManager`. When constructing capability objects manually (for example, via SIWE + ReCap), ensure you choose the namespace/action pair that matches the desired Lit ability. + +## Capability enforcement + +- Delegations are only honoured if the resource key and ability pair appear in the capability object obtained during authentication. +- The node accepts either an exact resource key or a wildcard entry under the same prefix. If neither exists, the request is rejected before any signing, decryption, or execution occurs. +- Mixing unrelated prefixes or abilities (for example, requesting `lit-action-execution` for a PKP resource) fails validation because the node cross-checks the allowed combinations at verification time. + +By scoping to precise resources and short expirations, you can safely hand session materials (like delegation auth signatures) to backend services without granting broader access than intended. diff --git a/docs/sdk/sdk-reference/auth/functions/createPkpAuthContextFromPreGenerated.mdx b/docs/sdk/sdk-reference/auth/functions/createPkpAuthContextFromPreGenerated.mdx new file mode 100644 index 0000000000..75512981cc --- /dev/null +++ b/docs/sdk/sdk-reference/auth/functions/createPkpAuthContextFromPreGenerated.mdx @@ -0,0 +1,36 @@ +--- +title: createPkpAuthContextFromPreGenerated +--- + +# Function + +> **createPkpAuthContextFromPreGenerated**(`params`) + +Rehydrates a PKP auth context from pre-generated session materials. Ideal for server or lambda environments that receive `{ sessionKeyPair, delegationAuthSig }` and want to issue fresh session signatures on demand. + +## Parameters + + + + + + Optional override when you need to supply explicit auth data instead of relying on the delegation contents. + + +## Returns + + + Auth context compatible with `litClient.executeJs`, `pkpSign`, or further session signature issuance. + + +## Example + +```ts +import { createPkpAuthContextFromPreGenerated } from '@lit-protocol/auth'; + +const authContext = await createPkpAuthContextFromPreGenerated({ + pkpPublicKey, + sessionKeyPair, + delegationAuthSig, +}); +``` diff --git a/docs/sdk/sdk-reference/auth/functions/createPkpSessionSigs.mdx b/docs/sdk/sdk-reference/auth/functions/createPkpSessionSigs.mdx new file mode 100644 index 0000000000..2b1390040c --- /dev/null +++ b/docs/sdk/sdk-reference/auth/functions/createPkpSessionSigs.mdx @@ -0,0 +1,49 @@ +--- +title: createPkpSessionSigs +--- + +# Function + +> **createPkpSessionSigs**(`params`) + +Issues fresh session signatures for a PKP based on pre-generated delegation materials. Pair this with `createPkpAuthContextFromPreGenerated` when a backend needs to sign or execute Lit Actions on demand. + +## Parameters + + + Auth context obtained from `createPkpAuthContextFromPreGenerated` or `createPkpAuthContext`. + + + + Lit client that will request session signatures from the network. + + + + Optional override for the product type when you need signatures for a specific capability. Defaults to `LIT_ACTION`. + + +## Returns + + + Session signatures scoped to the delegated resources. + + +## Example + +```ts +import { + createPkpAuthContextFromPreGenerated, + createPkpSessionSigs, +} from '@lit-protocol/auth'; + +const authContext = await createPkpAuthContextFromPreGenerated({ + pkpPublicKey, + sessionKeyPair, + delegationAuthSig, +}); + +const pkpSessionSigs = await createPkpSessionSigs({ + authContext, + litClient, +}); +``` diff --git a/docs/sdk/sdk-reference/auth/functions/generateEoaDelegationAuthSig.mdx b/docs/sdk/sdk-reference/auth/functions/generateEoaDelegationAuthSig.mdx new file mode 100644 index 0000000000..5b028d0f49 --- /dev/null +++ b/docs/sdk/sdk-reference/auth/functions/generateEoaDelegationAuthSig.mdx @@ -0,0 +1,49 @@ +--- +title: generateEoaDelegationAuthSig +--- + +# Function + +> **generateEoaDelegationAuthSig**(`params`) + +Creates a delegation signature for an EOA-based session. The EOA wallet signs the session delegation message directly, enabling pre-generated session materials for server-side reuse. + +## Parameters + + + EOA used to sign the delegation message. + + + + Session keypair generated with `generateSessionKeyPair`. + + + + Resources and expiration scoped to the delegated session. + + +## Returns + + + Delegation signature that can be paired with the session keypair. + + +## Example + +```ts +import { + generateEoaDelegationAuthSig, + generateSessionKeyPair, +} from '@lit-protocol/auth'; + +const sessionKeyPair = generateSessionKeyPair(); + +const delegationAuthSig = await generateEoaDelegationAuthSig({ + account: myViemAccount, + sessionKeyPair, + authConfig: { + resources: [ ['lit-action-execution', '*'] ], + expiration: new Date(Date.now() + 10 * 60 * 1000).toISOString(), + }, +}); +``` diff --git a/docs/sdk/sdk-reference/auth/functions/generatePkpDelegationAuthSig.mdx b/docs/sdk/sdk-reference/auth/functions/generatePkpDelegationAuthSig.mdx new file mode 100644 index 0000000000..e7ed817e17 --- /dev/null +++ b/docs/sdk/sdk-reference/auth/functions/generatePkpDelegationAuthSig.mdx @@ -0,0 +1,56 @@ +--- +title: generatePkpDelegationAuthSig +--- + +# Function + +> **generatePkpDelegationAuthSig**(`params`) + +Creates a delegation signature that authorises a session key to act on behalf of a PKP. Use this in server or pre-generation flows where you want to prepare session materials ahead of time. + +## Parameters + + + Hex-encoded PKP public key. + + + + Authentication data for the PKP owner (e.g., from `ViemAccountAuthenticator.authenticate`). + + + + Session keypair generated with `generateSessionKeyPair`. + + + + Configures resources and expiration scoped to the delegation. + + + + Lit client used to reach the network and request the delegation signature. + + +## Returns + + + Signed delegation that can be shipped alongside the session keypair. + + +## Example + +```ts +import { generatePkpDelegationAuthSig, generateSessionKeyPair } from '@lit-protocol/auth'; + +const sessionKeyPair = generateSessionKeyPair(); + +const delegationAuthSig = await generatePkpDelegationAuthSig({ + pkpPublicKey, + authData, + sessionKeyPair, + authConfig: { + resources: [ ['pkp-signing', '*'], ['lit-action-execution', '*'] ], + expiration: new Date(Date.now() + 15 * 60 * 1000).toISOString(), + }, + litClient, +}); +``` diff --git a/docs/sdk/sdk-reference/auth/functions/validateDelegationAuthSig.mdx b/docs/sdk/sdk-reference/auth/functions/validateDelegationAuthSig.mdx new file mode 100644 index 0000000000..d65c4c0259 --- /dev/null +++ b/docs/sdk/sdk-reference/auth/functions/validateDelegationAuthSig.mdx @@ -0,0 +1,33 @@ +--- +title: validateDelegationAuthSig +--- + +# Function + +> **validateDelegationAuthSig**(`params`) + +Ensures a delegation signature is valid for the supplied session key. Run this on the server before trusting materials received over the wire. + +## Parameters + + + + The public component (`sessionKeyPair.publicKey`). + + +## Returns + + + Throws if validation fails. + + +## Example + +```ts +import { validateDelegationAuthSig } from '@lit-protocol/auth'; + +validateDelegationAuthSig({ + delegationAuthSig, + sessionKeyUri: sessionKeyPair.publicKey, +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/batchGeneratePrivateKeys.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/batchGeneratePrivateKeys.mdx new file mode 100644 index 0000000000..a0e964065d --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/batchGeneratePrivateKeys.mdx @@ -0,0 +1,41 @@ +--- +title: batchGeneratePrivateKeys +--- + +# Function + +> **batchGeneratePrivateKeys**(`params`) + +Runs multiple wrapped-key actions in one request, optionally signing messages as part of the batch. + +## Parameters + + + + + Each action may specify `network`, `generateKeyParams.memo`, and optional `signMessageParams.messageToSign`. + + + Optional `executeJs` price cap (applies to the whole batch). + + +## Returns + + + + + + + + +## Example + +```ts +const { results } = await wrappedKeysApi.batchGeneratePrivateKeys({ + pkpSessionSigs, + litClient, + actions: [ + { network: 'evm', generateKeyParams: { memo: 'key-0' } }, + ], +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/exportPrivateKey.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/exportPrivateKey.mdx new file mode 100644 index 0000000000..e3d2caaa9e --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/exportPrivateKey.mdx @@ -0,0 +1,55 @@ +--- +title: exportPrivateKey +--- + +# Function + +> **exportPrivateKey**(`params`) + +Decrypts a previously stored wrapped key in a Lit Action and returns the plaintext private key together with metadata. + +## Parameters + + + Session signatures proving the PKP owns the wrapped key. + + + + Lit client connected to the network that holds the encrypted key. + + + + Selects the Lit Action that knows how to handle the key type. + + + + Identifier returned from `generatePrivateKey`, `importPrivateKey`, or `storeEncryptedKey`. + + + + Optional spending cap passed to the underlying `executeJs` call. + + +## Returns + + + + + + + + + + + + +## Example + +```ts +const { decryptedPrivateKey } = await wrappedKeysApi.exportPrivateKey({ + pkpSessionSigs, + litClient, + network: 'evm', + id, +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/generatePrivateKey.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/generatePrivateKey.mdx new file mode 100644 index 0000000000..f870df5efd --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/generatePrivateKey.mdx @@ -0,0 +1,58 @@ +--- +title: generatePrivateKey +--- + +# Function + +> **generatePrivateKey**(`params`) + +Generates a new wrapped key inside a Lit Action, stores the encrypted payload, and returns the wrapped-key identifier together with the generated public key. + +## Parameters + + + Session signatures produced for the PKP that should own the wrapped key. + + + + The Lit client instance used to execute the Lit Action and resolve the target network cluster. + + + + Determines which Lit Action to run and which key type to generate. + + + + Free-form description stored alongside the encrypted key metadata. + + + + Optional cap on the price you are willing to pay for the underlying `executeJs` request. + + +## Returns + + + + + Wrapped-key identifier that can be used to fetch or sign with the stored key. + + + PKP address associated with the wrapped key (derived from the session signatures). + + + Public key for the newly generated private key. + + + + +## Example + +```ts +const { id, generatedPublicKey } = await wrappedKeysApi.generatePrivateKey({ + pkpSessionSigs, + litClient, + network: 'evm', + memo: 'relayer wallet', +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/getEncryptedKey.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/getEncryptedKey.mdx new file mode 100644 index 0000000000..e923152d79 --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/getEncryptedKey.mdx @@ -0,0 +1,43 @@ +--- +title: getEncryptedKey +--- + +# Function + +> **getEncryptedKey**(`params`) + +Fetches the encrypted ciphertext and metadata for a stored wrapped key without decrypting it. + +## Parameters + + + Session signatures identifying the PKP that owns the wrapped key. + + + + Lit client instance used to talk to the wrapped-keys service. + + + + Identifier of the wrapped key to retrieve. + + + + Optional price ceiling for the Lit Action. + + +## Returns + + + Includes ciphertext, `dataToEncryptHash`, memo, key type, public key, and PKP address. + + +## Example + +```ts +const storedKey = await wrappedKeysApi.getEncryptedKey({ + pkpSessionSigs, + litClient, + id, +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/importPrivateKey.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/importPrivateKey.mdx new file mode 100644 index 0000000000..c627b04b2d --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/importPrivateKey.mdx @@ -0,0 +1,61 @@ +--- +title: importPrivateKey +--- + +# Function + +> **importPrivateKey**(`params`) + +Encrypts an existing private key with Lit and stores it as wrapped key metadata. + +## Parameters + + + Session signatures tying the wrapped key to the PKP. + + + + Lit client instance for executing the Lit Action and accessing storage services. + + + + Hex-encoded private key to wrap (a `0x` prefixed string for EVM keys). + + + + Public key corresponding to the private key being wrapped. + + + + Identifies the algorithm so the service can store the key correctly. + + + + Description stored with the wrapped key. + + + + Optional `executeJs` price cap. + + +## Returns + + + + + + + + +## Example + +```ts +const { id } = await wrappedKeysApi.importPrivateKey({ + pkpSessionSigs, + litClient, + privateKey: wallet.privateKey, + publicKey: wallet.publicKey, + keyType: 'K256', + memo: 'imported relayer key', +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/listEncryptedKeyMetadata.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/listEncryptedKeyMetadata.mdx new file mode 100644 index 0000000000..5fcdb632df --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/listEncryptedKeyMetadata.mdx @@ -0,0 +1,32 @@ +--- +title: listEncryptedKeyMetadata +--- + +# Function + +> **listEncryptedKeyMetadata**(`params`) + +Returns metadata for all wrapped keys owned by the PKP without downloading ciphertext. + +## Parameters + + + + + Optional price ceiling for the Lit Action. + + +## Returns + + + Array of stored keys (id, memo, key type, public key, PKP address, network). + + +## Example + +```ts +const metadata = await wrappedKeysApi.listEncryptedKeyMetadata({ + pkpSessionSigs, + litClient, +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/signMessageWithEncryptedKey.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/signMessageWithEncryptedKey.mdx new file mode 100644 index 0000000000..84ba94ff5c --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/signMessageWithEncryptedKey.mdx @@ -0,0 +1,38 @@ +--- +title: signMessageWithEncryptedKey +--- + +# Function + +> **signMessageWithEncryptedKey**(`params`) + +Decrypts a stored wrapped key inside a Lit Action and signs an arbitrary message. + +## Parameters + + + + + + + + Optional `executeJs` price cap. + + +## Returns + + + Raw signature string (`0x` hex for EVM, base58 for Solana). + + +## Example + +```ts +const signature = await wrappedKeysApi.signMessageWithEncryptedKey({ + pkpSessionSigs, + litClient, + network: 'evm', + id, + messageToSign: 'hello from wrapped keys', +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/signTransactionWithEncryptedKey.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/signTransactionWithEncryptedKey.mdx new file mode 100644 index 0000000000..cca950b08d --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/signTransactionWithEncryptedKey.mdx @@ -0,0 +1,52 @@ +--- +title: signTransactionWithEncryptedKey +--- + +# Function + +> **signTransactionWithEncryptedKey**(`params`) + +Signs an EVM or Solana transaction with a stored wrapped key. Optionally broadcasts when the Lit Action supports it. + +## Parameters + + + + + + + Serialized transaction payload. For Solana include `chain`/`serializedTransaction`; for EVM include `chain`, `chainId`, and `toAddress`/`value`. + + + When `true`, the Lit Action attempts to submit the signed transaction to the configured RPC endpoint and returns the transaction hash. + + + Set to `true` when providing a Solana versioned transaction payload. + + + Optional price ceiling for the Lit Action. + + +## Returns + + + Signed transaction (or hash when broadcasting is enabled). + + +## Example + +```ts +const signedTx = await wrappedKeysApi.signTransactionWithEncryptedKey({ + pkpSessionSigs, + litClient, + network: 'evm', + id, + unsignedTransaction: { + chain: 'yellowstone', + chainId: 1337, + toAddress: ZERO_ADDRESS, + value: '0', + }, + broadcast: false, +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKey.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKey.mdx new file mode 100644 index 0000000000..4a27fd3985 --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKey.mdx @@ -0,0 +1,45 @@ +--- +title: storeEncryptedKey +--- + +# Function + +> **storeEncryptedKey**(`params`) + +Persists externally encrypted ciphertext and associated metadata to the wrapped-keys service. + +## Parameters + + + + + + + + + + Optional `executeJs` price cap. + + +## Returns + + + + + + + + +## Example + +```ts +const { id } = await wrappedKeysApi.storeEncryptedKey({ + pkpSessionSigs, + litClient, + ciphertext, + dataToEncryptHash, + publicKey, + keyType: 'K256', + memo: 'pre-encrypted key', +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKeyBatch.mdx b/docs/sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKeyBatch.mdx new file mode 100644 index 0000000000..6a09b45690 --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKeyBatch.mdx @@ -0,0 +1,39 @@ +--- +title: storeEncryptedKeyBatch +--- + +# Function + +> **storeEncryptedKeyBatch**(`params`) + +Stores multiple encrypted keys in a single request. + +## Parameters + + + + + Array of objects containing `ciphertext`, `dataToEncryptHash`, `publicKey`, `keyType`, and `memo`. + + + Optional price cap for the Lit Action. + + +## Returns + + + + + + + + +## Example + +```ts +const { ids } = await wrappedKeysApi.storeEncryptedKeyBatch({ + pkpSessionSigs, + litClient, + keyBatch, +}); +``` diff --git a/docs/sdk/sdk-reference/wrapped-keys/index.mdx b/docs/sdk/sdk-reference/wrapped-keys/index.mdx new file mode 100644 index 0000000000..376dd976bb --- /dev/null +++ b/docs/sdk/sdk-reference/wrapped-keys/index.mdx @@ -0,0 +1,10 @@ +--- +title: "@lit-protocol/wrapped-keys" +description: "Reference for the wrapped-keys SDK helpers that manage encrypted private keys via Lit Actions." +--- + +# Overview + +The `@lit-protocol/wrapped-keys` package lets you generate, import, store, and use encrypted private keys that remain under Lit’s control. Every helper delegates to curated Lit Actions using the session signatures you provide. + +Use the API pages below to learn the parameters, return values, and usage patterns for each helper. diff --git a/package.json b/package.json index cc4c59d6e9..e66334cd2c 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,10 @@ "scripts": { "sync:contracts": "nx run contracts:sync", "sync:docs-changelog": "node tools/sync-docs-changelog.js", + "sync:wk": "node packages/wrapped-keys-lit-actions/sync-actions-to-ipfs.js", + "generate:lit-actions": "pnpm --filter @lit-protocol/wrapped-keys-lit-actions generate-lit-actions", "reset": "rimraf .nx dist node_modules packages/**/node_modules tmp", - "build": "nx run-many --parallel=false --target=build --all --exclude=wrapped-keys,wrapped-keys-lit-actions", + "build": "nx run-many --parallel=false --target=build --all", "gen:local-network-context": "dotenvx run --env-file=.env -- node --conditions=import --import tsx packages/networks/src/networks/vNaga/shared/scripts/generate-abi-signatures.ts", "prettier": "npx nx format:write --all", "lint": "npx nx run-many --target=lint --all", @@ -15,6 +17,9 @@ "test:e2e": "npx jest --clearCache --config ./jest.e2e.config.ts && LOG_LEVEL=${LOG_LEVEL:-silent} dotenvx run --env-file=.env -- jest --runInBand --detectOpenHandles --forceExit --config ./jest.e2e.config.ts --testTimeout=50000000 --runTestsByPath packages/e2e/src/e2e.spec.ts", "test:target": "npx jest --clearCache --config ./jest.e2e.config.ts && LOG_LEVEL=${LOG_LEVEL:-silent} dotenvx run --env-file=.env -- jest --runInBand --detectOpenHandles --forceExit --config ./jest.e2e.config.ts --testTimeout=50000000", "test:e2e:ci": "npx jest --clearCache --config ./jest.e2e.config.ts && LOG_LEVEL=${LOG_LEVEL:-silent} npx jest --runInBand --detectOpenHandles --forceExit --config ./jest.e2e.config.ts --testTimeout=50000000 --runTestsByPath", + "pretest:e2e": "pnpm run generate:lit-actions", + "pretest:e2e:ci": "pnpm run generate:lit-actions", + "pretest:custom": "pnpm run generate:lit-actions", "test:health": "LOG_LEVEL=${LOG_LEVEL:-silent} dotenvx run --env-file=.env -- tsx packages/e2e/src/health/index.ts", "ci:health": "LOG_LEVEL=${LOG_LEVEL:-silent} tsx packages/e2e/src/health/index.ts" }, @@ -24,6 +29,8 @@ "@babel/preset-env": "^7.28.3", "@babel/preset-typescript": "^7.27.1", "@dotenvx/dotenvx": "^1.6.4", + "@ethersproject/contracts": "5.8.0", + "@lit-protocol/esbuild-plugin-polyfill-node": "^0.3.0", "@lit-protocol/lit-status-sdk": "^0.1.8", "@lit-protocol/nacl": "7.1.1", "@lit-protocol/uint8arrays": "7.1.1", @@ -32,6 +39,8 @@ "@openagenda/verror": "^3.1.4", "@simplewebauthn/browser": "^7.2.0", "@simplewebauthn/typescript-types": "^7.0.0", + "@solana/kit": "4.0.0", + "@solana/web3.js": "1.98.4", "@wagmi/core": "^2.17.1", "ajv": "^8.12.0", "babel-jest": "^29", @@ -42,6 +51,8 @@ "depcheck": "^1.4.7", "depd": "^2.0.0", "ethers": "^5.7.1", + "form-data": "^4.0.4", + "ipfs-only-hash": "^4.0.0", "jose": "^4.14.4", "pako": "^2.1.0", "pino": "^9.6.0", @@ -54,8 +65,7 @@ "viem": "2.38.x", "wagmi": "^2.15.4", "zod": "3.24.3", - "zod-validation-error": "3.4.0", - "@ethersproject/contracts": "5.8.0" + "zod-validation-error": "3.4.0" }, "devDependencies": { "@changesets/cli": "^2.29.4", @@ -65,7 +75,6 @@ "@nx/js": "21.2.1", "@nx/node": "21.2.1", "@nx/plugin": "21.2.1", - "@solana/web3.js": "1.95.3", "@types/depd": "^1.1.36", "@types/events": "^3.0.3", "@types/inquirer": "^9.0.8", @@ -77,6 +86,7 @@ "@typescript-eslint/parser": "6.21.0", "artillery": "^2.0.23", "axios": "^1.6.0", + "buffer": "6.0.3", "esbuild": "^0.19.2", "esbuild-node-builtins": "^0.1.0", "esbuild-node-externals": "^1.14.0", @@ -99,6 +109,7 @@ "ts-jest": "29.2.5", "ts-node": "^10.9.2", "tsx": "^4.20.5", + "tweetnacl": "1.0.3", "typedoc": "^0.28.12", "typescript": "5.8.3" }, diff --git a/packages/auth-helpers/src/index.ts b/packages/auth-helpers/src/index.ts index 25de60faff..d1561cfb73 100644 --- a/packages/auth-helpers/src/index.ts +++ b/packages/auth-helpers/src/index.ts @@ -3,6 +3,7 @@ export * from './lib/generate-auth-sig'; export * from './lib/models'; export * from './lib/recap/recap-session-capability-object'; export * from './lib/recap/resource-builder'; +export * from './lib/recap/utils'; export * from './lib/resources'; export * from './lib/session-capability-object'; export * from './lib/siwe/create-siwe-message'; diff --git a/packages/auth-helpers/src/lib/recap/utils.ts b/packages/auth-helpers/src/lib/recap/utils.ts index 9c96f0c991..d73e2238ed 100644 --- a/packages/auth-helpers/src/lib/recap/utils.ts +++ b/packages/auth-helpers/src/lib/recap/utils.ts @@ -54,3 +54,55 @@ export function getRecapNamespaceAndAbility(litAbility: LIT_ABILITY_VALUES): { ); } } + +export const RESOLVED_AUTH_CONTEXT_PREFIX = 'lit-resolvedauthcontext://'; +const PAYMENT_DELEGATION_PREFIX = 'lit-paymentdelegation://'; +const PKP_PREFIX = 'lit-pkp://'; +const ACC_PREFIX = 'lit-accesscontrolcondition://'; + +/** + * Reverse mapping from Recap namespace/ability to LitAbility. + * Returns null when the recap entry only carries metadata (eg. resolved auth context). + */ +export function getLitAbilityFromRecap(params: { + recapNamespace: string; + recapAbility: string; + resourceKey: string; +}): LIT_ABILITY_VALUES | null { + const { recapNamespace, recapAbility, resourceKey } = params; + + if (recapNamespace === LIT_NAMESPACE.Threshold) { + if (recapAbility === LIT_RECAP_ABILITY.Decryption) { + return LIT_ABILITY.AccessControlConditionDecryption; + } + + if (recapAbility === LIT_RECAP_ABILITY.Execution) { + return LIT_ABILITY.LitActionExecution; + } + + if (recapAbility === LIT_RECAP_ABILITY.Signing) { + if (resourceKey.startsWith(PKP_PREFIX)) { + return LIT_ABILITY.PKPSigning; + } + if (resourceKey.startsWith(ACC_PREFIX)) { + return LIT_ABILITY.AccessControlConditionSigning; + } + } + } + + if ( + recapNamespace === LIT_NAMESPACE.Auth && + recapAbility === LIT_RECAP_ABILITY.Auth + ) { + if (resourceKey.startsWith(PAYMENT_DELEGATION_PREFIX)) { + return LIT_ABILITY.PaymentDelegation; + } + + if (resourceKey.startsWith(RESOLVED_AUTH_CONTEXT_PREFIX)) { + // Resolved auth context entries only contain metadata. + return null; + } + } + + return null; +} diff --git a/packages/auth-helpers/src/lib/resources.ts b/packages/auth-helpers/src/lib/resources.ts index a5a494a9ce..5ff1ff631e 100644 --- a/packages/auth-helpers/src/lib/resources.ts +++ b/packages/auth-helpers/src/lib/resources.ts @@ -9,8 +9,13 @@ import { import { AccessControlConditions, ILitResource } from '@lit-protocol/types'; import { formatPKPResource } from './utils'; +const RESOLVED_AUTH_CONTEXT_PREFIX = 'lit-resolvedauthcontext'; +type InternalResourcePrefix = + | LIT_RESOURCE_PREFIX_VALUES + | typeof RESOLVED_AUTH_CONTEXT_PREFIX; + abstract class LitResourceBase { - abstract resourcePrefix: LIT_RESOURCE_PREFIX_VALUES; + abstract resourcePrefix: InternalResourcePrefix; public readonly resource: string; constructor(resource: string) { @@ -158,6 +163,18 @@ export function parseLitResource(resourceKey: string): ILitResource { return new LitActionResource( resourceKey.substring(`${LIT_RESOURCE_PREFIX.LitAction}://`.length) ); + } else if (resourceKey.startsWith(RESOLVED_AUTH_CONTEXT_PREFIX)) { + const resource = resourceKey.substring( + `${RESOLVED_AUTH_CONTEXT_PREFIX}://`.length + ); + + return { + resourcePrefix: RESOLVED_AUTH_CONTEXT_PREFIX, + resource, + getResourceKey: () => `${RESOLVED_AUTH_CONTEXT_PREFIX}://${resource}`, + toString: () => `${RESOLVED_AUTH_CONTEXT_PREFIX}://${resource}`, + isValidLitAbility: () => false, + } as unknown as ILitResource; } throw new InvalidArgumentException( { diff --git a/packages/auth/src/index.ts b/packages/auth/src/index.ts index f89b9e2a00..49c2ff2c1d 100644 --- a/packages/auth/src/index.ts +++ b/packages/auth/src/index.ts @@ -89,6 +89,33 @@ export { getAuthIdByAuthMethod } from './lib/authenticators/helper/utils'; * @returns {SessionKeyPair} The generated session key pair. */ export { generateSessionKeyPair } from './lib/AuthManager/utils/generateSessionKeyPair'; +export { validateDelegationAuthSig } from './lib/AuthManager/utils/validateDelegationAuthSig'; + +/** + * Utility function to generate a PKP delegation auth signature for a given session key pair. + * The PKP will sign the session key delegation message via Lit nodes. + * This function is useful for server-side scenarios where you want to pre-generate + * PKP session materials and reuse them across multiple requests. + */ +export { generatePkpDelegationAuthSig } from './lib/AuthManager/authAdapters/generatePkpDelegationAuthSig'; + +/** + * Utility function to generate an EOA delegation auth signature for a given session key pair. + * The EOA wallet will sign the session key delegation message directly. + * This function is useful for server-side scenarios where you want to pre-generate + * EOA session materials and reuse them across multiple requests. + */ +export { generateEoaDelegationAuthSig } from './lib/AuthManager/authAdapters/generateEoaDelegationAuthSig'; + +/** + * Utility function to create a PKP auth context from pre-generated session materials. + * This is a streamlined API for server-side scenarios where session materials + * are generated once and reused across multiple requests. + * + * This function only requires the essential parameters (pkpPublicKey, sessionKeyPair, delegationAuthSig) + * and extracts auth config information from the delegation signature automatically. + */ +export { getPkpAuthContextFromPreGeneratedAdapter } from './lib/AuthManager/authAdapters/getPkpAuthContextFromPreGeneratedAdapter'; // ============================== Authenticators ============================== export { diff --git a/packages/auth/src/lib/AuthManager/auth-manager.ts b/packages/auth/src/lib/AuthManager/auth-manager.ts index a48663a05e..3e4b386632 100644 --- a/packages/auth/src/lib/AuthManager/auth-manager.ts +++ b/packages/auth/src/lib/AuthManager/auth-manager.ts @@ -1,6 +1,7 @@ import { getChildLogger } from '@lit-protocol/logger'; +import type { LitClient } from '@lit-protocol/lit-client'; import { AuthData, HexPrefixedSchema } from '@lit-protocol/schemas'; -// import { AuthSig, SessionKeyPair } from '@lit-protocol/types'; +import { AuthSig, SessionKeyPair } from '@lit-protocol/types'; import { z } from 'zod'; import { AuthConfigV2 } from '../authenticators/types'; import type { LitAuthStorageProvider } from '../storage/types'; @@ -11,7 +12,11 @@ import { import { getPkpAuthContextAdapter } from './authAdapters/getPkpAuthContextAdapter'; import { AuthConfigSchema } from './authContexts/BaseAuthContextType'; import { getCustomAuthContextAdapter } from './authAdapters/getCustomAuthContextAdapter'; -import { hexToBigInt, keccak256, toBytes } from 'viem'; +import { generatePkpDelegationAuthSig } from './authAdapters/generatePkpDelegationAuthSig'; +import { generateEoaDelegationAuthSig } from './authAdapters/generateEoaDelegationAuthSig'; +import { getPkpAuthContextFromPreGeneratedAdapter } from './authAdapters/getPkpAuthContextFromPreGeneratedAdapter'; +import type { PkpSessionSigsProduct } from './authAdapters/getPkpSessionSigsAdapter'; +import { getPkpSessionSigsAdapter } from './authAdapters/getPkpSessionSigsAdapter'; export interface AuthManagerParams { storage: LitAuthStorageProvider; @@ -29,9 +34,7 @@ export interface BaseAuthContext { authConfig: z.infer; config: T; - // @ts-expect-error - LitClientType is not defined in the package. We need to define this - // once the LitClienType is ready - litClient: ReturnType; + litClient: LitClient; } /** @@ -60,12 +63,18 @@ export type ConstructorConfig = T extends new (config: infer C) => any export const createAuthManager = (authManagerParams: AuthManagerParams) => { return { - // throw new Error(`Invalid authenticator: ${params.authenticator}`); - // }, - // TODO: for wrapped keys! - // createRequestToken: async () => { - // // use createSessionSisg then send to wrapped key service - // } + /** + * A migration helper to create session sigs for wrapped keys and datil v7 + */ + createPkpSessionSigs: async (params: { + pkpPublicKey: z.infer; + litClient: BaseAuthContext['litClient']; + sessionKeyPair: SessionKeyPair; + delegationAuthSig: AuthSig; + product?: PkpSessionSigsProduct; + }) => { + return getPkpSessionSigsAdapter(authManagerParams, params); + }, createEoaAuthContext: (params: EoaAuthContextAdapterParams) => { return getEoaAuthContextAdapter(authManagerParams, params); }, @@ -77,12 +86,19 @@ export const createAuthManager = (authManagerParams: AuthManagerParams) => { cache?: { delegationAuthSig?: boolean; }; - // Optional pre-generated auth materials for server-side usage - // sessionKeyPair?: SessionKeyPair; - // delegationAuthSig?: AuthSig; + sessionKeyPair?: SessionKeyPair; + delegationAuthSig?: AuthSig; }) => { return getPkpAuthContextAdapter(authManagerParams, params); }, + createPkpAuthContextFromPreGenerated: (params: { + pkpPublicKey: z.infer; + sessionKeyPair: SessionKeyPair; + delegationAuthSig: AuthSig; + authData?: AuthData; + }) => { + return getPkpAuthContextFromPreGeneratedAdapter(params); + }, createCustomAuthContext: (params: { // authData: AuthData; pkpPublicKey: z.infer; @@ -104,5 +120,22 @@ export const createAuthManager = (authManagerParams: AuthManagerParams) => { return getCustomAuthContextAdapter(authManagerParams, params); }, + generatePkpDelegationAuthSig: (params: { + pkpPublicKey: z.infer; + authData: AuthData; + sessionKeyPair: SessionKeyPair; + authConfig: AuthConfigV2; + litClient: BaseAuthContext['litClient']; + }) => { + return generatePkpDelegationAuthSig(authManagerParams, params); + }, + generateEoaDelegationAuthSig: (params: { + account: any; // ExpectedAccountOrWalletClient type + sessionKeyPair: SessionKeyPair; + authConfig: AuthConfigV2; + litClient: BaseAuthContext['litClient']; + }) => { + return generateEoaDelegationAuthSig(authManagerParams, params); + }, }; }; diff --git a/packages/auth/src/lib/AuthManager/authAdapters/generateEoaDelegationAuthSig.ts b/packages/auth/src/lib/AuthManager/authAdapters/generateEoaDelegationAuthSig.ts new file mode 100644 index 0000000000..3c9e760b57 --- /dev/null +++ b/packages/auth/src/lib/AuthManager/authAdapters/generateEoaDelegationAuthSig.ts @@ -0,0 +1,109 @@ +import { AUTH_METHOD_TYPE } from '@lit-protocol/constants'; +import { getChildLogger } from '@lit-protocol/logger'; +import { AuthConfigSchema } from '@lit-protocol/schemas'; +import { AuthSig, SessionKeyPair } from '@lit-protocol/types'; +import { z } from 'zod'; +import { AuthConfigV2 } from '../../authenticators/types'; +import { LitAuthData } from '../../types'; +import { AuthManagerParams } from '../auth-manager'; +import { + ExpectedAccountOrWalletClient, + getEoaAuthContext, +} from '../authContexts/getEoaAuthContext'; +import { processResources } from '../utils/processResources'; +import { WalletClientAuthenticator } from '../../authenticators/WalletClientAuthenticator'; +import { ViemAccountAuthenticator } from '../../authenticators/ViemAccountAuthenticator'; + +const _logger = getChildLogger({ + module: 'generateEoaDelegationAuthSig', +}); + +/** + * Generates an EOA delegation auth signature for a given session key pair. + * The EOA wallet will sign the session key delegation message directly. + * This function is useful for server-side scenarios where you want to pre-generate + * EOA session materials and reuse them across multiple requests. + * + * @param upstreamParams - Auth manager parameters including storage + * @param params - Parameters for generating the EOA delegation signature + * @returns The delegation auth signature (AuthSig) signed by the EOA wallet + */ +export async function generateEoaDelegationAuthSig( + upstreamParams: AuthManagerParams, + params: { + account: ExpectedAccountOrWalletClient; + sessionKeyPair: SessionKeyPair; + authConfig: AuthConfigV2; + litClient: { + getContext: () => Promise; + }; + } +): Promise { + _logger.info( + { + hasAccount: !!params.account, + hasSessionKeyPair: !!params.sessionKeyPair, + }, + 'generateEoaDelegationAuthSig: Starting EOA delegation signature generation' + ); + + const _resources = processResources(params.authConfig.resources); + + // Get network context from litClient for nonce + const litClientCtx = await params.litClient.getContext(); + + // Create a minimal LitAuthData structure with the provided session key pair + const litAuthData: LitAuthData = { + sessionKey: { + keyPair: params.sessionKeyPair, + expiresAt: params.authConfig.expiration!, + }, + // For EOA, we use EthWallet as the auth method type + authMethodType: AUTH_METHOD_TYPE.EthWallet, + }; + + // Determine the authenticator based on account type + let authenticatorClass; + if ( + 'account' in params.account && + params.account.account?.type === 'json-rpc' + ) { + // WalletClient + authenticatorClass = WalletClientAuthenticator; + } else { + // Viem Account + authenticatorClass = ViemAccountAuthenticator; + } + + // Create auth config for validation + const authConfigForValidation = { + ...params.authConfig, + resources: _resources, + }; + const validatedAuthConfig = AuthConfigSchema.parse(authConfigForValidation); + + // Call getEoaAuthContext which will generate the delegation signature + const authContext = await getEoaAuthContext({ + authentication: { + authenticator: authenticatorClass, + account: params.account, + }, + authConfig: validatedAuthConfig, + deps: { + nonce: litClientCtx.latestBlockhash, + authData: litAuthData, + }, + }); + + // Get the delegation signature from the auth context + const delegationAuthSig = await authContext.authNeededCallback(); + + _logger.info( + { + hasSignature: !!delegationAuthSig, + }, + 'generateEoaDelegationAuthSig: EOA delegation signature generated successfully' + ); + + return delegationAuthSig as AuthSig; +} diff --git a/packages/auth/src/lib/AuthManager/authAdapters/generatePkpDelegationAuthSig.ts b/packages/auth/src/lib/AuthManager/authAdapters/generatePkpDelegationAuthSig.ts new file mode 100644 index 0000000000..fb7ac66f8f --- /dev/null +++ b/packages/auth/src/lib/AuthManager/authAdapters/generatePkpDelegationAuthSig.ts @@ -0,0 +1,123 @@ +import { AUTH_METHOD_TYPE_VALUES, PRODUCT_IDS } from '@lit-protocol/constants'; +import { getChildLogger } from '@lit-protocol/logger'; +import { AuthData, HexPrefixedSchema } from '@lit-protocol/schemas'; +import { AuthSig, SessionKeyPair } from '@lit-protocol/types'; +import { ethers } from 'ethers'; +import { z } from 'zod'; +import { AuthConfigV2 } from '../../authenticators/types'; +import { LitAuthData } from '../../types'; +import { AuthManagerParams } from '../auth-manager'; +import { getPkpAuthContext } from '../authContexts/getPkpAuthContext'; +import { processResources } from '../utils/processResources'; + +const _logger = getChildLogger({ + module: 'generatePkpDelegationAuthSig', +}); + +/** + * Generates a PKP delegation auth signature for a given session key pair. + * The PKP will sign the session key delegation message via Lit nodes. + * This function is useful for server-side scenarios where you want to pre-generate + * PKP session materials and reuse them across multiple requests. + * + * @param upstreamParams - Auth manager parameters including storage + * @param params - Parameters for generating the PKP delegation signature + * @returns The delegation auth signature (AuthSig) signed by the PKP + */ +export async function generatePkpDelegationAuthSig( + upstreamParams: AuthManagerParams, + params: { + pkpPublicKey: z.infer; + authData: AuthData; + sessionKeyPair: SessionKeyPair; + authConfig: AuthConfigV2; + litClient: { + getContext: () => Promise; + }; + productId?: 'LIT_ACTION' | 'SIGN_SESSION_KEY'; + } +): Promise { + const defaultedProductId = params.productId ?? 'LIT_ACTION'; + + _logger.info( + { + pkpPublicKey: params.pkpPublicKey, + hasSessionKeyPair: !!params.sessionKeyPair, + productId: defaultedProductId, + }, + 'generatePkpDelegationAuthSig: Starting PKP delegation signature generation' + ); + + const _resources = processResources(params.authConfig.resources); + + // Get network context from litClient + const litClientCtx = await params.litClient.getContext(); + const latestConnectionInfo = litClientCtx.latestConnectionInfo; + const nodePrices = latestConnectionInfo.priceFeedInfo.networkPrices; + const handshakeResult = litClientCtx.handshakeResult; + const threshold = handshakeResult.threshold; + + const nodeUrls = litClientCtx.getMaxPricesForNodeProduct({ + nodePrices: nodePrices, + userMaxPrice: litClientCtx.getUserMaxPrice({ + product: defaultedProductId, + }), + productId: PRODUCT_IDS[defaultedProductId], + numRequiredNodes: threshold, + }); + + const pkpAddress = ethers.utils.computeAddress(params.pkpPublicKey); + + // Create a minimal LitAuthData structure with the provided session key pair + const litAuthData: LitAuthData = { + sessionKey: { + keyPair: params.sessionKeyPair, + expiresAt: params.authConfig.expiration!, + }, + authMethodType: params.authData.authMethodType as AUTH_METHOD_TYPE_VALUES, + }; + + // Call getPkpAuthContext which will generate the delegation signature + const authContext = await getPkpAuthContext({ + authentication: { + pkpPublicKey: params.pkpPublicKey, + authData: params.authData, + }, + authConfig: { + domain: params.authConfig.domain!, + resources: _resources, + capabilityAuthSigs: params.authConfig.capabilityAuthSigs!, + expiration: params.authConfig.expiration!, + statement: params.authConfig.statement!, + }, + deps: { + litAuthData: litAuthData, + connection: { + nonce: litClientCtx.latestBlockhash, + currentEpoch: + litClientCtx.latestConnectionInfo.epochState.currentNumber, + nodeUrls: nodeUrls, + }, + signSessionKey: litClientCtx.signSessionKey, + storage: upstreamParams.storage, + pkpAddress: pkpAddress, + }, + // Disable caching since we're explicitly generating a new signature + cache: { + delegationAuthSig: false, + }, + }); + + // Get the delegation signature from the auth context + const delegationAuthSig = await authContext.authNeededCallback(); + + _logger.info( + { + pkpAddress, + hasSignature: !!delegationAuthSig, + }, + 'generatePkpDelegationAuthSig: PKP delegation signature generated successfully' + ); + + return delegationAuthSig; +} diff --git a/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextAdapter.ts b/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextAdapter.ts index 89297a554e..abb89663b2 100644 --- a/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextAdapter.ts +++ b/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextAdapter.ts @@ -1,19 +1,25 @@ import { AUTH_METHOD_TYPE_VALUES, PRODUCT_IDS } from '@lit-protocol/constants'; +import { getChildLogger } from '@lit-protocol/logger'; import { AuthData, HexPrefixedSchema, NodeUrlsSchema, - // SessionKeyUriSchema, + SessionKeyUriSchema, } from '@lit-protocol/schemas'; -// import { AuthSig, LitResourceAbilityRequest, SessionKeyPair } from '@lit-protocol/types'; +import { AuthSig, SessionKeyPair } from '@lit-protocol/types'; import { ethers } from 'ethers'; import { z } from 'zod'; import { AuthConfigV2 } from '../../authenticators/types'; import { AuthManagerParams } from '../auth-manager'; import { getPkpAuthContext } from '../authContexts/getPkpAuthContext'; import { processResources } from '../utils/processResources'; +import { validateDelegationAuthSig } from '../utils/validateDelegationAuthSig'; import { tryGetCachedAuthData } from '../try-getters/tryGetCachedAuthData'; +const _logger = getChildLogger({ + module: 'getPkpAuthContextAdapter', +}); + export const PkpAuthDepsSchema = z.object({ nonce: z.any(), currentEpoch: z.any(), @@ -21,40 +27,6 @@ export const PkpAuthDepsSchema = z.object({ nodeUrls: NodeUrlsSchema, }); -/** - * Validates that the provided delegation auth sig hasn't expired and contains required resources - */ -// function validateDelegationAuthSig( -// delegationAuthSig: AuthSig, -// requiredResources: LitResourceAbilityRequest[], -// sessionKeyUri: string -// ): void { -// try { -// // Parse the signed message to extract expiration and validate session key match -// const siweMessage = delegationAuthSig.signedMessage; - -// // Check expiration -// const expirationMatch = siweMessage.match(/^Expiration Time: (.*)$/m); -// if (expirationMatch && expirationMatch[1]) { -// const expiration = new Date(expirationMatch[1].trim()); -// if (expiration.getTime() <= Date.now()) { -// throw new Error(`Delegation signature has expired at ${expiration.toISOString()}`); -// } -// } - -// // Validate session key URI matches -// if (!siweMessage.includes(sessionKeyUri)) { -// throw new Error('Session key URI in delegation signature does not match provided session key pair'); -// } - -// // TODO: Add resource validation - check if delegationAuthSig has required resources -// // This would involve parsing the RECAP URN and checking against requiredResources - -// } catch (error) { -// throw new Error(`Invalid delegation signature: ${error instanceof Error ? error.message : 'Unknown error'}`); -// } -// } - export async function getPkpAuthContextAdapter( upstreamParams: AuthManagerParams, params: { @@ -67,54 +39,69 @@ export async function getPkpAuthContextAdapter( cache?: { delegationAuthSig?: boolean; }; - // Optional pre-generated auth materials - // sessionKeyPair?: SessionKeyPair; - // delegationAuthSig?: AuthSig; + // Optional pre-generated auth materials for server-side usage + sessionKeyPair?: SessionKeyPair; + delegationAuthSig?: AuthSig; } ) { const _resources = processResources(params.authConfig.resources); - // // Validate optional parameters - // if ((params.sessionKeyPair && !params.delegationAuthSig) || - // (!params.sessionKeyPair && params.delegationAuthSig)) { - // throw new Error('Both sessionKeyPair and delegationAuthSig must be provided together, or neither should be provided'); - // } - - // // If pre-generated auth materials are provided, validate and use them - // if (params.sessionKeyPair && params.delegationAuthSig) { - // // Generate sessionKeyUri from the public key - // const sessionKeyUri = SessionKeyUriSchema.parse(params.sessionKeyPair.publicKey); - - // // Validate the delegation signature - // validateDelegationAuthSig( - // params.delegationAuthSig, - // _resources, - // sessionKeyUri - // ); - - // // Return auth context using provided materials - // return { - // chain: 'ethereum', - // pkpPublicKey: params.pkpPublicKey, - // authData: params.authData, - // authConfig: { - // domain: params.authConfig.domain!, - // resources: _resources, - // capabilityAuthSigs: params.authConfig.capabilityAuthSigs!, - // expiration: params.authConfig.expiration!, - // statement: params.authConfig.statement!, - // }, - // sessionKeyPair: { - // ...params.sessionKeyPair, - // sessionKeyUri, // Add the generated sessionKeyUri to match expected interface - // }, - // // Provide the pre-generated delegation signature - // authNeededCallback: async () => params.delegationAuthSig!, - // }; - // } + // Validate optional parameters + if ( + (params.sessionKeyPair && !params.delegationAuthSig) || + (!params.sessionKeyPair && params.delegationAuthSig) + ) { + throw new Error( + 'Both sessionKeyPair and delegationAuthSig must be provided together, or neither should be provided' + ); + } + + // If pre-generated auth materials are provided, validate and use them + if (params.sessionKeyPair && params.delegationAuthSig) { + _logger.info( + { + hasSessionKeyPair: true, + hasDelegationAuthSig: true, + }, + 'getPkpAuthContextAdapter: Using pre-generated session materials' + ); + + // Generate sessionKeyUri from the public key + const sessionKeyUri = SessionKeyUriSchema.parse( + 'lit:session:' + params.sessionKeyPair.publicKey + ); + + // Validate the delegation signature + validateDelegationAuthSig({ + delegationAuthSig: params.delegationAuthSig, + sessionKeyUri, + }); + + // Return auth context using provided materials + return { + chain: 'ethereum', + pkpPublicKey: params.pkpPublicKey, + authData: params.authData, + authConfig: { + domain: params.authConfig.domain!, + resources: _resources, + capabilityAuthSigs: params.authConfig.capabilityAuthSigs!, + expiration: params.authConfig.expiration!, + statement: params.authConfig.statement!, + }, + sessionKeyPair: params.sessionKeyPair, + // Provide the pre-generated delegation signature + authNeededCallback: async () => { + _logger.debug( + 'getPkpAuthContextAdapter: Returning pre-generated delegation signature' + ); + return params.delegationAuthSig!; + }, + }; + } // Original logic for generating auth materials - // TODO: 👇 The plan is to identify if the certain operations could be wrapped inside a single function + // TODO: 👇 The plan is to identify whether certain operations can be wrapped inside a single function // where different network modules can provide their own implementations. // TODO: ❗️THIS IS NOT TYPED - we have to fix this! diff --git a/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextFromPreGeneratedAdapter.spec.ts b/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextFromPreGeneratedAdapter.spec.ts new file mode 100644 index 0000000000..15c24bc8d4 --- /dev/null +++ b/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextFromPreGeneratedAdapter.spec.ts @@ -0,0 +1,105 @@ +import { getPkpAuthContextFromPreGeneratedAdapter } from './getPkpAuthContextFromPreGeneratedAdapter'; +import type { AuthSig, SessionKeyPair } from '@lit-protocol/types'; + +const baseSessionKeyPair: SessionKeyPair = { + publicKey: 'a1b2c3', + secretKey: 'deadbeef', +}; + +const baseDelegation = ({ + recap, +}: { + recap: Record; +}): AuthSig => { + const resourcesLine = `- urn:recap:${Buffer.from( + JSON.stringify(recap) + ).toString('base64url')}`; + + const signedMessage = [ + 'localhost wants you to sign in with your Ethereum account:', + '0x1234567890abcdef1234567890ABCDEF12345678', + '', + "Lit Protocol PKP session signature I further authorize the stated URI to perform the following actions on my behalf: (1) 'Threshold': 'Signing' for 'lit-pkp://*'.", + '', + 'URI: lit:session:a1b2c3', + 'Version: 1', + 'Chain ID: 1', + 'Nonce: 0xabc', + 'Issued At: 2025-01-01T00:00:00Z', + 'Expiration Time: 2099-01-01T00:00:00.000Z', + 'Resources:', + resourcesLine, + ].join('\n'); + + return { + sig: '{"ProofOfPossession":"proof"}', + algo: 'LIT_BLS', + derivedVia: 'lit.bls', + signedMessage, + address: '0x1234567890abcdef1234567890ABCDEF12345678', + }; +}; + +describe('getPkpAuthContextFromPreGeneratedAdapter', () => { + it('derives authData from recap metadata when not provided', async () => { + const recapPayload = { + att: { + 'lit-pkp://*': { + 'Threshold/Signing': [{}], + }, + 'lit-resolvedauthcontext://*': { + 'Auth/Auth': [ + { + auth_context: { + authMethodContexts: [ + { + appId: 'lit', + authMethodType: 1, + usedForSignSessionKeyRequest: true, + userId: '0xabcdef', + }, + ], + authSigAddress: null, + }, + }, + ], + }, + }, + prf: [], + }; + + const delegationAuthSig = baseDelegation({ recap: recapPayload }); + + const context = await getPkpAuthContextFromPreGeneratedAdapter({ + pkpPublicKey: '0xpkp', + sessionKeyPair: baseSessionKeyPair, + delegationAuthSig, + }); + + expect(context.authData).toBeDefined(); + expect(context.authData?.authMethodId).toBe('0xabcdef'); + expect(context.derivedAuthMetadata?.authMethodId).toBe('0xabcdef'); + expect(context.authConfig.resources.length).toBeGreaterThan(0); + }); + + it('throws when recap metadata is missing and authData not supplied', async () => { + const recapPayload = { + att: { + 'lit-pkp://*': { + 'Threshold/Signing': [{}], + }, + }, + prf: [], + }; + + const delegationAuthSig = baseDelegation({ recap: recapPayload }); + + await expect( + getPkpAuthContextFromPreGeneratedAdapter({ + pkpPublicKey: '0xpkp', + sessionKeyPair: baseSessionKeyPair, + delegationAuthSig, + }) + ).rejects.toThrow(/Failed to derive authData/); + }); +}); diff --git a/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextFromPreGeneratedAdapter.ts b/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextFromPreGeneratedAdapter.ts new file mode 100644 index 0000000000..448a797586 --- /dev/null +++ b/packages/auth/src/lib/AuthManager/authAdapters/getPkpAuthContextFromPreGeneratedAdapter.ts @@ -0,0 +1,442 @@ +import { getChildLogger } from '@lit-protocol/logger'; +import { + RecapSessionCapabilityObject, + getLitAbilityFromRecap, + parseLitResource, +} from '@lit-protocol/auth-helpers'; +import { RESOLVED_AUTH_CONTEXT_PREFIX } from '@lit-protocol/auth-helpers'; +import { + AUTH_METHOD_TYPE, + AUTH_METHOD_TYPE_VALUES, + LIT_ABILITY_VALUES, +} from '@lit-protocol/constants'; +import { + HexPrefixedSchema, + SessionKeyUriSchema, + AuthData, + AuthDataSchema, + DefinedJson, + DefinedJsonSchema, +} from '@lit-protocol/schemas'; +import { + AuthSig, + ILitResource, + LitResourceAbilityRequest, + SessionKeyPair, +} from '@lit-protocol/types'; +import { z } from 'zod'; +import { processResources } from '../utils/processResources'; +import { validateDelegationAuthSig } from '../utils/validateDelegationAuthSig'; + +const _logger = getChildLogger({ + module: 'getPkpAuthContextFromPreGeneratedAdapter', +}); + +const AuthMethodContextSchema = z + .object({ + appId: z.string().optional(), + authMethodType: z.number(), + usedForSignSessionKeyRequest: z.boolean().optional(), + userId: z.string(), + }) + .passthrough(); + +const AuthContextSchema = z + .object({ + authMethodContexts: z.array(AuthMethodContextSchema), + authSigAddress: z.string().optional().nullable(), + }) + .passthrough(); + +function buildAuthDataFromAuthContext(authContext: unknown): AuthData | null { + const parsedContext = AuthContextSchema.safeParse(authContext); + + if (!parsedContext.success) { + _logger.debug( + { + issues: parsedContext.error.issues, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Unable to parse auth context from recap restriction' + ); + return null; + } + + const { authMethodContexts, authSigAddress } = parsedContext.data; + + if (authMethodContexts.length === 0) { + return null; + } + + const resolvedContext = + authMethodContexts.find( + (context) => context.usedForSignSessionKeyRequest === true + ) ?? authMethodContexts[0]; + + const authMethodType = resolvedContext.authMethodType; + const userId = resolvedContext.userId; + + if ( + !Object.values(AUTH_METHOD_TYPE).includes( + authMethodType as AUTH_METHOD_TYPE_VALUES + ) + ) { + _logger.warn( + { + authMethodType, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Unsupported auth method type found in delegation auth signature recap' + ); + return null; + } + + if (authMethodType !== AUTH_METHOD_TYPE.EthWallet) { + _logger.info( + { + authMethodType, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Recap metadata present but only EthWallet is auto-derived; please supply authData explicitly for other auth methods' + ); + return null; + } + + if (!userId.startsWith('0x')) { + _logger.warn( + { + userId, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Derived userId from delegation auth signature recap is not hex-prefixed' + ); + return null; + } + + const candidate = { + authMethodType: authMethodType as AUTH_METHOD_TYPE_VALUES, + authMethodId: userId, + accessToken: JSON.stringify({ + userId, + appId: resolvedContext.appId, + }), + ...(authSigAddress?.startsWith('0x') ? { publicKey: authSigAddress } : {}), + metadata: { + authContext: parsedContext.data, + }, + }; + + const parsedAuthData = AuthDataSchema.safeParse(candidate); + + if (!parsedAuthData.success) { + _logger.warn( + { + candidate, + issues: parsedAuthData.error.issues, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Unable to derive authData from delegation auth signature recap' + ); + return null; + } + + _logger.debug( + { + authMethodType: parsedAuthData.data.authMethodType, + authMethodId: parsedAuthData.data.authMethodId, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Derived auth metadata from delegation recap' + ); + + return parsedAuthData.data; +} + +function extractAuthMetadataFromRestriction( + restriction: Record +): AuthData | null { + if (!('auth_context' in restriction)) { + return null; + } + + return buildAuthDataFromAuthContext(restriction['auth_context']); +} + +function sanitiseRestrictionData( + restriction: Record +): Record | undefined { + const parsedData = Object.entries(restriction).reduce((acc, [key, value]) => { + const result = DefinedJsonSchema.safeParse(value); + if (result.success) { + acc[key] = result.data; + } + return acc; + }, {} as Record); + + return Object.keys(parsedData).length > 0 ? parsedData : undefined; +} + +function decodeRecapResource(urn: string): { + requests: LitResourceAbilityRequest[]; + derivedAuthData: AuthData | null; +} { + try { + const recap = RecapSessionCapabilityObject.decode(urn); + const attenuations = recap.attenuations; + + const requests: LitResourceAbilityRequest[] = []; + let derivedAuthData: AuthData | null = null; + + for (const [resourceKey, abilityMap] of Object.entries(attenuations)) { + if ( + !abilityMap || + typeof abilityMap !== 'object' || + Array.isArray(abilityMap) + ) { + continue; + } + + const isResolvedAuthContext = resourceKey.startsWith( + RESOLVED_AUTH_CONTEXT_PREFIX + ); + + let resource: ILitResource | null = null; + if (!isResolvedAuthContext) { + try { + resource = parseLitResource(resourceKey); + } catch (error) { + _logger.warn( + { + resourceKey, + error, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Unable to parse lit resource from recap attenuation' + ); + continue; + } + } + + for (const [abilityKey, restrictions] of Object.entries( + abilityMap as Record + )) { + const restrictionArray = Array.isArray(restrictions) + ? (restrictions as Array) + : []; + + const restriction = restrictionArray.find( + (item): item is Record => + !!item && typeof item === 'object' + ); + + let data: Record | undefined; + + if (restriction) { + const restrictionRecord = restriction as Record; + + if (!derivedAuthData) { + derivedAuthData = + extractAuthMetadataFromRestriction(restrictionRecord) || + derivedAuthData; + if (derivedAuthData) { + _logger.debug( + { + authMethodType: derivedAuthData.authMethodType, + authMethodId: derivedAuthData.authMethodId, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Reusing derived auth metadata from recap payload' + ); + } + } + + data = sanitiseRestrictionData(restrictionRecord); + } + + const [recapNamespace, recapAbility] = abilityKey.split('/'); + const litAbility = recapNamespace + ? getLitAbilityFromRecap({ + recapNamespace, + recapAbility: recapAbility ?? '', + resourceKey, + }) + : null; + + if (!litAbility || !resource) { + continue; + } + + requests.push({ + resource, + ability: litAbility, + ...(data ? { data } : {}), + }); + } + } + + return { requests, derivedAuthData }; + } catch (error) { + _logger.warn( + { + urn, + error, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Failed to decode recap resource' + ); + + return { requests: [], derivedAuthData: null }; + } +} + +/** + * Extracts auth config information from a delegation signature's SIWE message + */ +function extractAuthConfigFromDelegationAuthSig(delegationAuthSig: AuthSig): { + domain?: string; + statement?: string; + expiration?: string; + resources?: LitResourceAbilityRequest[]; + derivedAuthData?: AuthData; +} { + const siweMessage = delegationAuthSig.signedMessage; + + // Extract domain + const domainMatch = siweMessage.match(/^([^\s]+) wants you to sign in/m); + const domain = domainMatch ? domainMatch[1] : undefined; + + // Extract statement + const statementMatch = siweMessage.match(/^(.*?)(?:\n\nURI:|$)/m); + const statement = statementMatch + ? statementMatch[1].split('\n').slice(2).join('\n').trim() + : undefined; + + // Extract expiration + const expirationMatch = siweMessage.match(/^Expiration Time: (.*)$/m); + const expiration = expirationMatch ? expirationMatch[1].trim() : undefined; + + const resourceMatches = [...siweMessage.matchAll(/-\s*(urn:recap:[^\s]+)/g)]; + + const resources: LitResourceAbilityRequest[] = []; + let derivedAuthData: AuthData | undefined; + + for (const match of resourceMatches) { + const urn = match[1]; + const { requests, derivedAuthData: candidateAuthData } = + decodeRecapResource(urn); + + resources.push(...requests); + + if (!derivedAuthData && candidateAuthData) { + derivedAuthData = candidateAuthData; + } + } + + return { domain, statement, expiration, resources, derivedAuthData }; +} + +/** + * Creates a PKP auth context from pre-generated session materials. + * This is a streamlined API for server-side scenarios where session materials + * are generated once and reused across multiple requests. + */ +/** + * Builds a PKP auth context from session materials that were pre-generated elsewhere. + * + * @example + * ```ts + * const { sessionKeyPair, delegationAuthSig } = await generateMaterials(); + * const context = await getPkpAuthContextFromPreGeneratedAdapter({ + * pkpPublicKey: '0xabc...', + * sessionKeyPair, + * delegationAuthSig, + * }); + * ``` + * + * @param params.pkpPublicKey PKP public key that minted the delegation. + * @param params.sessionKeyPair Session key pair previously generated. + * @param params.delegationAuthSig Delegation signature returned from PKP nodes. + * @param params.authData Optional auth metadata from the original signer; if omitted, + * the method will attempt to reconstruct it from the RECAP payload. + * @returns An auth context that can be reused for issuing session signatures. + */ +export async function getPkpAuthContextFromPreGeneratedAdapter(params: { + pkpPublicKey: z.infer; + sessionKeyPair: SessionKeyPair; + delegationAuthSig: AuthSig; + authData?: AuthData; +}) { + _logger.info( + { + pkpPublicKey: params.pkpPublicKey, + hasSessionKeyPair: !!params.sessionKeyPair, + hasDelegationAuthSig: !!params.delegationAuthSig, + hasAuthData: !!params.authData, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Creating PKP auth context from pre-generated materials' + ); + + // Extract auth config from delegation signature + const extractedAuthConfig = extractAuthConfigFromDelegationAuthSig( + params.delegationAuthSig + ); + + // Create auth config using extracted information with sensible defaults + const resources = + extractedAuthConfig.resources && extractedAuthConfig.resources.length > 0 + ? extractedAuthConfig.resources + : processResources([['pkp-signing', '*']]); + + const authConfig = { + domain: extractedAuthConfig.domain || 'localhost', + resources, + capabilityAuthSigs: [], + expiration: + extractedAuthConfig.expiration || + new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(), + statement: extractedAuthConfig.statement || '', + }; + + // Generate sessionKeyUri from the public key + const sessionKeyUri = SessionKeyUriSchema.parse( + 'lit:session:' + params.sessionKeyPair.publicKey + ); + + // Validate the delegation signature + validateDelegationAuthSig({ + delegationAuthSig: params.delegationAuthSig, + sessionKeyUri, + }); + + const resolvedAuthData = + params.authData || extractedAuthConfig.derivedAuthData; + + if (!resolvedAuthData) { + _logger.error( + { + pkpPublicKey: params.pkpPublicKey, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Unable to derive authData from delegation signature and none supplied' + ); + + throw new Error( + 'Failed to derive authData from delegation signature. Provide authData explicitly when calling createPkpAuthContextFromPreGenerated.' + ); + } + + _logger.debug( + { + authMethodType: resolvedAuthData.authMethodType, + authMethodId: resolvedAuthData.authMethodId, + }, + 'getPkpAuthContextFromPreGeneratedAdapter: Using resolved auth metadata for PKP context' + ); + + // Return auth context using pre-generated materials + return { + chain: 'ethereum', + pkpPublicKey: params.pkpPublicKey, + authData: resolvedAuthData, + authConfig, + sessionKeyPair: params.sessionKeyPair, + derivedAuthMetadata: extractedAuthConfig.derivedAuthData || undefined, + // Provide the pre-generated delegation signature + authNeededCallback: async () => { + _logger.debug( + 'getPkpAuthContextFromPreGeneratedAdapter: Returning pre-generated delegation signature' + ); + return params.delegationAuthSig; + }, + }; +} diff --git a/packages/auth/src/lib/AuthManager/authAdapters/getPkpSessionSigsAdapter.ts b/packages/auth/src/lib/AuthManager/authAdapters/getPkpSessionSigsAdapter.ts new file mode 100644 index 0000000000..68c8a026e6 --- /dev/null +++ b/packages/auth/src/lib/AuthManager/authAdapters/getPkpSessionSigsAdapter.ts @@ -0,0 +1,222 @@ +import { getChildLogger } from '@lit-protocol/logger'; +import { + PricingContextSchema, + issueSessionFromContext, +} from '@lit-protocol/networks'; +import { HexPrefixedSchema } from '@lit-protocol/schemas'; +import { AuthSig, SessionKeyPair, SessionSigsMap } from '@lit-protocol/types'; +import { z } from 'zod'; +import type { LitClient } from '@lit-protocol/lit-client'; +import type { AuthManagerParams } from '../auth-manager'; +import { getPkpAuthContextAdapter } from './getPkpAuthContextAdapter'; +import { getPkpAuthContextFromPreGeneratedAdapter } from './getPkpAuthContextFromPreGeneratedAdapter'; + +const _logger = getChildLogger({ + module: 'getPkpSessionSigsAdapter', +}); + +type SupportedProduct = + | 'DECRYPTION' + | 'SIGN' + | 'LIT_ACTION' + | 'SIGN_SESSION_KEY'; + +export type PkpSessionSigsProduct = SupportedProduct; + +const BigIntLikeSchema = z + .union([z.bigint(), z.number().finite(), z.string()]) + .transform((value) => { + if (typeof value === 'bigint') { + return value; + } + + if (typeof value === 'number') { + return BigInt(Math.trunc(value)); + } + + const normalized = value.trim(); + + if (normalized.length === 0) { + throw new Error('Cannot convert empty string to bigint'); + } + + return BigInt(normalized); + }); + +const RespondingNodePricesSchema = z.array( + z.object({ + url: z.string(), + prices: z.array(BigIntLikeSchema).transform((prices) => { + return prices.map((price) => { + if (price < 0n) { + throw new Error('Node price must be non-negative'); + } + return price; + }); + }), + }) +); + +const HandshakeThresholdSchema = z + .union([z.number(), z.bigint(), z.string()]) + .transform((value) => { + if (typeof value === 'number') { + return Math.trunc(value); + } + + if (typeof value === 'bigint') { + return Number(value); + } + + const parsed = Number(value); + + if (!Number.isFinite(parsed)) { + throw new Error('Invalid threshold value provided by handshake result'); + } + + return Math.trunc(parsed); + }) + .refine((value) => value > 0, { + message: 'Threshold must be a positive integer', + }); + +export const getPkpSessionSigsAdapter = async ( + _: AuthManagerParams, + params: { + pkpPublicKey: z.infer; + litClient: LitClient; + sessionKeyPair: SessionKeyPair; + delegationAuthSig: AuthSig; + product?: SupportedProduct; + } +): Promise => { + const { + pkpPublicKey, + sessionKeyPair, + delegationAuthSig, + litClient, + product = 'LIT_ACTION', + } = params; + + _logger.info( + { + pkpPublicKey, + hasSessionKeyPair: !!sessionKeyPair, + hasDelegationAuthSig: !!delegationAuthSig, + product, + }, + 'getPkpSessionSigsAdapter: Preparing to generate session signatures' + ); + + const litClientCtx = await litClient.getContext(); + + const latestConnectionInfo = litClientCtx?.latestConnectionInfo; + const handshakeResult = litClientCtx?.handshakeResult; + + if (!latestConnectionInfo || !handshakeResult) { + throw new Error( + 'Missing latest connection info or handshake result from Lit client context' + ); + } + + const nodePrices = latestConnectionInfo.priceFeedInfo?.networkPrices; + + if (!nodePrices?.length) { + throw new Error( + 'No node pricing information available from Lit client context' + ); + } + + const serverKeys = handshakeResult.serverKeys ?? {}; + const respondingUrlSet = new Set(Object.keys(serverKeys)); + + const respondingNodePrices = nodePrices.filter((item) => + respondingUrlSet.has(item.url) + ); + + const threshold = HandshakeThresholdSchema.parse(handshakeResult.threshold); + + if (respondingNodePrices.length < threshold) { + throw new Error( + `Not enough handshake nodes to satisfy threshold. Threshold: ${threshold}, responding nodes: ${respondingNodePrices.length}` + ); + } + + const pricingNodePrices = + RespondingNodePricesSchema.parse(respondingNodePrices); + + const userMaxPriceValue = + typeof litClientCtx.getUserMaxPrice === 'function' + ? litClientCtx.getUserMaxPrice({ product }) + : undefined; + + const userMaxPrice = + userMaxPriceValue !== undefined + ? BigIntLikeSchema.parse(userMaxPriceValue) + : undefined; + + const pricingContextInput: Parameters[0] = + { + product, + nodePrices: pricingNodePrices, + threshold, + ...(userMaxPrice !== undefined ? { userMaxPrice } : {}), + }; + + const pricingContext = PricingContextSchema.parse(pricingContextInput); + + let authContext: + | Awaited> + | Awaited>; + + // if (authConfig && authData) { + // authContext = await getPkpAuthContextAdapter(upstreamParams, { + // authData, + // pkpPublicKey, + // authConfig, + // cache, + // sessionKeyPair, + // delegationAuthSig, + // litClient: { + // getContext: async () => litClientCtx, + // }, + // }); + // } else { + if (!sessionKeyPair || !delegationAuthSig) { + throw new Error( + 'sessionKeyPair and delegationAuthSig are required when authConfig or authData are not provided' + ); + } + + _logger.info( + { + pkpPublicKey, + }, + 'getPkpSessionSigsAdapter: Falling back to pre-generated auth context helper' + ); + + authContext = await getPkpAuthContextFromPreGeneratedAdapter({ + pkpPublicKey, + sessionKeyPair, + delegationAuthSig, + // ...(authData ? { authData } : {}), + }); + // } + + const sessionSigs = await issueSessionFromContext({ + authContext, + pricingContext, + delegationAuthSig: delegationAuthSig, + }); + + _logger.info( + { + pkpPublicKey, + product, + respondingNodeCount: respondingNodePrices.length, + }, + 'getPkpSessionSigsAdapter: Session signatures generated successfully' + ); + + return sessionSigs; +}; diff --git a/packages/auth/src/lib/AuthManager/authContexts/getPkpAuthContext.ts b/packages/auth/src/lib/AuthManager/authContexts/getPkpAuthContext.ts index 215eddc75b..c795c14ef4 100644 --- a/packages/auth/src/lib/AuthManager/authContexts/getPkpAuthContext.ts +++ b/packages/auth/src/lib/AuthManager/authContexts/getPkpAuthContext.ts @@ -7,14 +7,16 @@ import { NodeInfoSchema, NodeUrlsSchema, SessionKeyUriSchema, + SessionKeyPairSchema, } from '@lit-protocol/schemas'; -import { NodeSet } from '@lit-protocol/types'; +import { AuthSig, NodeSet } from '@lit-protocol/types'; import { z } from 'zod'; import { LitAuthStorageProvider } from '../../storage'; import { LitAuthData, LitAuthDataSchema } from '../../types'; import { AuthConfig } from '../auth-manager'; import { tryGetCachedDelegationAuthSig } from '../try-getters/tryGetCachedDelegationAuthSig'; import { AuthConfigSchema } from './BaseAuthContextType'; +import { validateDelegationAuthSig } from '../utils/validateDelegationAuthSig'; const _logger = getChildLogger({ module: 'getPkpAuthContext', @@ -49,12 +51,17 @@ export const GetPkpAuthContextSchema = z.object({ // @depreacted - to be removed. testing only. pkpAddress: z.string(), + + // Optional pre-generated delegation signature + preGeneratedDelegationAuthSig: z.any().optional(), }), cache: z .object({ delegationAuthSig: z.boolean().optional(), }) .optional(), + sessionKeyPair: SessionKeyPairSchema.optional(), + delegationAuthSig: z.custom().optional(), }); interface PreparePkpAuthRequestBodyParams { @@ -124,19 +131,7 @@ export const getPkpAuthContext = async ( ); const _params = GetPkpAuthContextSchema.parse(params); - const _nodeInfo = NodeInfoSchema.parse(params.deps.connection.nodeUrls); - - const requestBody = await preparePkpAuthRequestBody({ - authentication: _params.authentication, - authConfig: _params.authConfig, - deps: { - litAuthData: _params.deps.litAuthData, - nodeUrls: _nodeInfo.urls, - nodeSet: _nodeInfo.nodeSet, - nonce: _params.deps.connection.nonce, - currentEpoch: _params.deps.connection.currentEpoch, - }, - }); + const _nodeInfo = NodeInfoSchema.parse(_params.deps.connection.nodeUrls); const authConfig: AuthConfig = { capabilityAuthSigs: _params.authConfig.capabilityAuthSigs, @@ -146,21 +141,69 @@ export const getPkpAuthContext = async ( resources: _params.authConfig.resources, }; - const delegationAuthSig = await tryGetCachedDelegationAuthSig({ - cache: _params.cache?.delegationAuthSig, - storage: _params.deps.storage, - address: _params.deps.pkpAddress, - expiration: _params.authConfig.expiration, - signSessionKey: () => - _params.deps.signSessionKey({ - requestBody, + const hasProvidedSessionKeyPair = !!_params.sessionKeyPair; + const hasProvidedDelegationAuthSig = !!_params.delegationAuthSig; + + if (hasProvidedSessionKeyPair !== hasProvidedDelegationAuthSig) { + throw new Error( + 'Both sessionKeyPair and delegationAuthSig must be provided together, or neither should be provided' + ); + } + + const sessionKeyPair = hasProvidedSessionKeyPair + ? _params.sessionKeyPair! + : _params.deps.litAuthData.sessionKey.keyPair; + + const sessionKeyUri = SessionKeyUriSchema.parse(sessionKeyPair.publicKey); + + let delegationAuthSig: AuthSig; + let isPreGenerated = false; + + if (hasProvidedSessionKeyPair && hasProvidedDelegationAuthSig) { + validateDelegationAuthSig({ + delegationAuthSig: _params.delegationAuthSig!, + sessionKeyUri, + }); + delegationAuthSig = _params.delegationAuthSig!; + isPreGenerated = true; + } else if (_params.deps.preGeneratedDelegationAuthSig) { + validateDelegationAuthSig({ + delegationAuthSig: _params.deps.preGeneratedDelegationAuthSig, + sessionKeyUri, + }); + delegationAuthSig = _params.deps.preGeneratedDelegationAuthSig; + isPreGenerated = true; + } else { + const requestBody = await preparePkpAuthRequestBody({ + authentication: _params.authentication, + authConfig: _params.authConfig, + deps: { + litAuthData: _params.deps.litAuthData, nodeUrls: _nodeInfo.urls, - }), - }); + nodeSet: _nodeInfo.nodeSet, + nonce: _params.deps.connection.nonce, + currentEpoch: _params.deps.connection.currentEpoch, + }, + }); + + delegationAuthSig = await tryGetCachedDelegationAuthSig({ + cache: _params.cache?.delegationAuthSig, + storage: _params.deps.storage, + address: _params.deps.pkpAddress, + expiration: _params.authConfig.expiration, + signSessionKey: () => + _params.deps.signSessionKey({ + requestBody, + nodeUrls: _nodeInfo.urls, + }), + }); + } _logger.info( { delegationAuthSig, + isPreGenerated, + usedProvidedSessionMaterials: hasProvidedSessionKeyPair, }, 'getPkpAuthContext: delegationAuthSig' ); @@ -175,6 +218,6 @@ export const getPkpAuthContext = async ( return delegationAuthSig; }, authConfig, - sessionKeyPair: _params.deps.litAuthData.sessionKey.keyPair, + sessionKeyPair, }; }; diff --git a/packages/auth/src/lib/AuthManager/utils/validateDelegationAuthSig.spec.ts b/packages/auth/src/lib/AuthManager/utils/validateDelegationAuthSig.spec.ts new file mode 100644 index 0000000000..4b0ee7e40d --- /dev/null +++ b/packages/auth/src/lib/AuthManager/utils/validateDelegationAuthSig.spec.ts @@ -0,0 +1,119 @@ +import { AuthSig } from '@lit-protocol/types'; + +import { validateDelegationAuthSig } from './validateDelegationAuthSig'; + +type ISOString = `${string}Z`; + +const DEFAULT_SESSION_KEY_HEX = + 'd63204d1dd3b133f37d813532046ef63fdba1e312a950373eb6a54c9757ce281'; +const getDefaultExpiration = (): ISOString => + new Date(Date.now() + 1000 * 60 * 60).toISOString() as ISOString; + +function createDelegationAuthSig( + params: { + sessionKeyHex?: string; + expiration?: ISOString; + } = {} +): AuthSig { + const sessionKeyHex = params.sessionKeyHex ?? DEFAULT_SESSION_KEY_HEX; + const expiration = params.expiration ?? getDefaultExpiration(); + + return { + sig: '{"ProofOfPossession":"87655294574e145befb9ba8c6392d4dd54184effd3d69388a9d0a3be88a645ca6c480c1779871f6859c0688e8ffe03121004ca9374e7c7ff41261c64ba2ee63d64b6075acba9995cdbcc0644ef6a44037e51307ea1a95e10e68199d8051d96e6"}', + algo: 'LIT_BLS', + derivedVia: 'lit.bls', + signedMessage: `localhost wants you to sign in with your Ethereum account: +0x7697f071cbe4764F596B64d95ca54Adf5e614C37 + +Lit Protocol PKP session signature I further authorize the stated URI to perform the following actions on my behalf: (1) 'Threshold': 'Decryption' for 'lit-accesscontrolcondition://*'. (2) 'Threshold': 'Execution' for 'lit-litaction://*'. (3) 'Threshold': 'Signing' for 'lit-pkp://*'. I further authorize the stated URI to perform the following actions on my behalf: (1) 'Threshold': 'Decryption' for 'lit-accesscontrolcondition://*'. (2) 'Threshold': 'Execution' for 'lit-litaction://*'. (3) 'Threshold': 'Signing' for 'lit-pkp://*'. (4) 'Auth': 'Auth' for 'lit-resolvedauthcontext://*'. + +URI: lit:session:${sessionKeyHex} +Version: 1 +Chain ID: 1 +Nonce: 0xde5eca386bb63607b24c5256e6c483a678b99e51e3104ec4d9959a9f19af0b96 +Issued At: 2025-10-15T15:27:11Z +Expiration Time: ${expiration} +Resources: +- urn:recap:eyJhdHQiOnsibGl0LWFjY2Vzc2NvbnRyb2xjb25kaXRpb246Ly8qIjp7IlRocmVzaG9sZC9EZWNyeXB0aW9uIjpbe31dfSwibGl0LWxpdGFjdGlvbjovLyoiOnsiVGhyZXNob2xkL0V4ZWN1dGlvbiI6W3t9XX0sImxpdC1wa3A6Ly8qIjp7IlRocmVzaG9sZC9TaWduaW5nIjpbe31dfSwibGl0LXJlc29sdmVkYXV0aGNvbnRleHQ6Ly8qIjp7IkF1dGgvQXV0aCI6W3siYXV0aF9jb250ZXh0Ijp7ImFjdGlvbklwZnNJZFN0YWNrIjpbXSwiYXV0aE1ldGhvZENvbnRleHRzIjpbeyJhcHBJZCI6ImxpdCIsImF1dGhNZXRob2RUeXBlIjoxLCJ1c2VkRm9yU2lnblNlc3Npb25LZXlSZXF1ZXN0Ijp0cnVlLCJ1c2VySWQiOiIweGNmZjYzMjJBMDFGMkY5MDg1NUI3YUQwMThjODNGOUEyYzEzZjg3YmYifV0sImF1dGhTaWdBZGRyZXNzIjpudWxsLCJjdXN0b21BdXRoUmVzb3VyY2UiOiIiLCJyZXNvdXJjZXMiOltdfX1dfX0sInByZiI6W119`, + address: '0x7697f071cbe4764F596B64d95ca54Adf5e614C37', + }; +} + +describe('validateDelegationAuthSig', () => { + afterEach(() => { + jest.useRealTimers(); + }); + + it('accepts a valid delegation signature from the network', () => { + jest.useFakeTimers().setSystemTime(new Date('2025-10-15T15:30:00.000Z')); + + const delegationAuthSig = createDelegationAuthSig(); + + expect(() => + validateDelegationAuthSig({ + delegationAuthSig, + sessionKeyUri: DEFAULT_SESSION_KEY_HEX, + }) + ).not.toThrow(); + }); + + it('accepts a delegation signature when the provided URI already contains the prefix', () => { + const delegationAuthSig = createDelegationAuthSig(); + + expect(() => + validateDelegationAuthSig({ + delegationAuthSig, + sessionKeyUri: `lit:session:${DEFAULT_SESSION_KEY_HEX}`, + }) + ).not.toThrow(); + }); + + it('throws when expiration timestamp cannot be parsed', () => { + jest.useFakeTimers().setSystemTime(new Date('2025-10-15T15:30:00.000Z')); + + const invalidDelegationAuthSig = createDelegationAuthSig({ + expiration: '2025-13-32T00:00:00Z', + }); + + expect(() => + validateDelegationAuthSig({ + delegationAuthSig: invalidDelegationAuthSig, + sessionKeyUri: DEFAULT_SESSION_KEY_HEX, + }) + ).toThrowError( + 'Invalid delegation signature: Delegation signature contains an invalid expiration timestamp' + ); + }); + + it('throws when the delegation signature is expired', () => { + jest.useFakeTimers().setSystemTime(new Date('2025-10-15T15:30:00.000Z')); + + const expiredDelegationAuthSig = createDelegationAuthSig({ + expiration: '2025-10-15T15:00:00Z', + }); + + expect(() => + validateDelegationAuthSig({ + delegationAuthSig: expiredDelegationAuthSig, + sessionKeyUri: DEFAULT_SESSION_KEY_HEX, + }) + ).toThrowError( + 'Invalid delegation signature: Delegation signature has expired at 2025-10-15T15:00:00.000Z' + ); + }); + + it('throws when the session key URI does not match', () => { + const mismatchedDelegationAuthSig = createDelegationAuthSig({ + sessionKeyHex: 'another-session-key', + }); + + expect(() => + validateDelegationAuthSig({ + delegationAuthSig: mismatchedDelegationAuthSig, + sessionKeyUri: DEFAULT_SESSION_KEY_HEX, + }) + ).toThrowError( + 'Invalid delegation signature: Session key URI in delegation signature does not match provided session key pair' + ); + }); +}); diff --git a/packages/auth/src/lib/AuthManager/utils/validateDelegationAuthSig.ts b/packages/auth/src/lib/AuthManager/utils/validateDelegationAuthSig.ts new file mode 100644 index 0000000000..8a072f6026 --- /dev/null +++ b/packages/auth/src/lib/AuthManager/utils/validateDelegationAuthSig.ts @@ -0,0 +1,67 @@ +import { AuthSig } from '@lit-protocol/types'; +import { SessionKeyUriSchema } from '@lit-protocol/schemas'; +import { parseSignedMessage } from '../../authenticators/helper/session-sigs-validator'; + +/** + * Validates that the provided delegation auth sig hasn't expired and + * references the expected session key URI. + * Throws an error if validation fails. + */ +export function validateDelegationAuthSig(params: { + delegationAuthSig: AuthSig; + sessionKeyUri: string; +}) { + const { delegationAuthSig, sessionKeyUri } = params; + const expectedSessionKeyUri = SessionKeyUriSchema.parse(sessionKeyUri); + + try { + const siweMessage = delegationAuthSig.signedMessage; + const parsedMessage = parseSignedMessage(siweMessage); + + // Check expiration if it exists in the SIWE message + const expirationField = parsedMessage['Expiration Time']; + if (typeof expirationField === 'string') { + const expiration = new Date(expirationField.trim()); + if (Number.isNaN(expiration.getTime())) { + throw new Error( + 'Delegation signature contains an invalid expiration timestamp' + ); + } + if (expiration.getTime() <= Date.now()) { + throw new Error( + `Delegation signature has expired at ${expiration.toISOString()}` + ); + } + } else if (Array.isArray(expirationField)) { + throw new Error( + 'Delegation signature contains multiple expiration timestamps' + ); + } + + // Validate session key URI matches + const parsedSessionKeyUri = + typeof parsedMessage['URI'] === 'string' + ? parsedMessage['URI'].trim() + : undefined; + + if (parsedSessionKeyUri) { + if (parsedSessionKeyUri !== expectedSessionKeyUri) { + throw new Error( + 'Session key URI in delegation signature does not match provided session key pair' + ); + } + } else if (!siweMessage.includes(expectedSessionKeyUri)) { + throw new Error( + 'Session key URI in delegation signature does not match provided session key pair' + ); + } + + // TODO: Add resource validation by parsing the RECAP URN when available. + } catch (error) { + throw new Error( + `Invalid delegation signature: ${ + error instanceof Error ? error.message : 'Unknown error' + }` + ); + } +} diff --git a/packages/constants/src/lib/constants/constants.ts b/packages/constants/src/lib/constants/constants.ts index 54dc6a854e..757645a414 100644 --- a/packages/constants/src/lib/constants/constants.ts +++ b/packages/constants/src/lib/constants/constants.ts @@ -1070,6 +1070,7 @@ export const LIT_EVM_CHAINS = LIT_CHAINS; */ export const LIT_NETWORK = { NagaDev: 'naga-dev', + NagaTest: 'naga-test', Custom: 'custom', } as const; @@ -1091,54 +1092,13 @@ export type LIT_NETWORK_VALUES = ConstantValues; */ export const RPC_URL_BY_NETWORK: Record = { [LIT_NETWORK.NagaDev]: LIT_RPC.CHRONICLE_YELLOWSTONE, + [LIT_NETWORK.NagaTest]: LIT_RPC.CHRONICLE_YELLOWSTONE, [LIT_NETWORK.Custom]: LIT_RPC.LOCAL_ANVIL, } as const; -/** - * Mapping of network names to their corresponding relayer URLs. - * @deprecated - use naga doesn't use these urls anymore. - */ -export const RELAYER_URL_BY_NETWORK: Record = { - [LIT_NETWORK.NagaDev]: 'https://naga-dev-relayer.getlit.dev', - [LIT_NETWORK.Custom]: 'http://localhost:3000', -} as const; - -/** - * Mapping of network values to corresponding Metamask chain info. - */ -export const METAMASK_CHAIN_INFO_BY_NETWORK: Record< - LIT_NETWORK_VALUES, - typeof METAMASK_CHAIN_INFO.yellowstone -> = { - [LIT_NETWORK.NagaDev]: METAMASK_CHAIN_INFO.yellowstone, - [LIT_NETWORK.Custom]: METAMASK_CHAIN_INFO.yellowstone, -} as const; - export const HTTP = 'http://'; export const HTTPS = 'https://'; -/** - * Mapping of network values to corresponding http protocol. - */ -export const HTTP_BY_NETWORK: Record< - LIT_NETWORK_VALUES, - typeof HTTP | typeof HTTPS -> = { - [LIT_NETWORK.NagaDev]: HTTPS, - [LIT_NETWORK.Custom]: HTTP, // default, can be changed by config -} as const; - -/** - * Mapping of network values to their corresponding centralisation status. - */ -export const CENTRALISATION_BY_NETWORK: Record< - LIT_NETWORK_VALUES, - 'centralised' | 'decentralised' | 'unknown' -> = { - [LIT_NETWORK.NagaDev]: 'centralised', - [LIT_NETWORK.Custom]: 'unknown', -} as const; - /** * Solana Chains supported by the LIT protocol. Use the chain name as a key in this object. * @constant @@ -1270,6 +1230,7 @@ export const LOCAL_STORAGE_KEYS = { */ export const LIT_NETWORKS: Record = { [LIT_NETWORK.NagaDev]: [], + [LIT_NETWORK.NagaTest]: [], [LIT_NETWORK.Custom]: [], } as const; diff --git a/packages/constants/src/lib/constants/mappers.ts b/packages/constants/src/lib/constants/mappers.ts index 03ac964d36..136c92f46c 100644 --- a/packages/constants/src/lib/constants/mappers.ts +++ b/packages/constants/src/lib/constants/mappers.ts @@ -1,35 +1,4 @@ -import { nagaDev } from '@lit-protocol/contracts'; - -import { - LIT_NETWORK, - LIT_NETWORK_VALUES, - ConstantKeys, - ConstantValues, -} from './constants'; - -/** - * Mapping of network context by network value. - */ -export const NETWORK_CONTEXT_BY_NETWORK: Record< - LIT_NETWORK_VALUES, - typeof nagaDev | undefined -> = { - [LIT_NETWORK.NagaDev]: nagaDev, - [LIT_NETWORK.Custom]: undefined, -} as const; - -/** - * Whether to overwrite the IPFS code for a given network. - * This is useful when the nodes are not able to connect to the IPFS gateway, - * so the sdk can fallback to these gateways. - */ -export const GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK: Record< - LIT_NETWORK_VALUES, - boolean -> = { - [LIT_NETWORK.NagaDev]: false, - [LIT_NETWORK.Custom]: false, -} as const; +import { ConstantKeys, ConstantValues } from './constants'; /** * Product IDs used for price feed and node selection diff --git a/packages/crypto/src/lib/misc.ts b/packages/crypto/src/lib/misc.ts index b7a6578cfe..7eae447d76 100644 --- a/packages/crypto/src/lib/misc.ts +++ b/packages/crypto/src/lib/misc.ts @@ -7,7 +7,6 @@ import { LIT_NETWORK, LIT_NETWORK_VALUES, NetworkError, - RELAYER_URL_BY_NETWORK, UnknownError, WrongNetworkException, } from '@lit-protocol/constants'; @@ -521,64 +520,6 @@ export function isSupportedLitNetwork( } } -export const defaultMintClaimCallback: MintCallback< - RelayClaimProcessor -> = async ( - params: ClaimResult, - network: LIT_NETWORK_VALUES = LIT_NETWORK.NagaDev -): Promise => { - isSupportedLitNetwork(network); - - const AUTH_CLAIM_PATH = '/auth/claim'; - - const relayUrl: string = params.relayUrl || RELAYER_URL_BY_NETWORK[network]; - - if (!relayUrl) { - throw new InvalidArgumentException( - { - info: { - network, - relayUrl, - }, - }, - 'No relayUrl provided and no default relayUrl found for network' - ); - } - - const relayUrlWithPath = relayUrl + AUTH_CLAIM_PATH; - - const response = await fetch(relayUrlWithPath, { - method: 'POST', - body: JSON.stringify(params), - headers: { - 'api-key': params.relayApiKey - ? params.relayApiKey - : '67e55044-10b1-426f-9247-bb680e5fe0c8_relayer', - 'Content-Type': 'application/json', - }, - }); - - if (response.status < 200 || response.status >= 400) { - const errResp = (await response.json()) ?? ''; - const errStmt = `An error occurred requesting "/auth/claim" endpoint ${JSON.stringify( - errResp - )}`; - console.warn(errStmt); - throw new NetworkError( - { - info: { - response, - errResp, - }, - }, - `An error occurred requesting "/auth/claim" endpoint` - ); - } - - const body = await response.json(); - return body.requestId; -}; - export const isHexableString = (str: string): boolean => { return /^(0x|0X)?[0-9a-fA-F]+$/.test(str); }; diff --git a/packages/e2e/src/e2e.spec.ts b/packages/e2e/src/e2e.spec.ts index b007077561..028062a991 100644 --- a/packages/e2e/src/e2e.spec.ts +++ b/packages/e2e/src/e2e.spec.ts @@ -5,15 +5,18 @@ import { createExecuteJsTest, createPaymentDelegationFlowTest, createPaymentManagerFlowTest, + createPkpAuthContextWithPreGeneratedMaterials, createPkpEncryptDecryptTest, createPkpPermissionsManagerFlowTest, createPkpSignTest, + createPregenDelegationServerReuseTest, createViemSignMessageTest, createViemSignTransactionTest, createViemSignTypedDataTest, createViewPKPsByAddressTest, createViewPKPsByAuthDataTest, init, + registerWrappedKeysExecuteJsTests, } from '@lit-protocol/e2e'; import type { AuthContext } from '@lit-protocol/e2e'; import { registerPaymentDelegationTicketSuite } from './tickets/delegation.suite'; @@ -27,150 +30,358 @@ if (RPC_OVERRIDE) { } describe('all', () => { - // Singleton baby - let ctx: Awaited>; - - // Auth contexts for testing - let eveCustomAuthContext: AuthContext; - - beforeAll(async () => { - try { - ctx = await init(); - - // Create PKP and custom auth contexts using helper functions - // alicePkpAuthContext = await createPkpAuthContext(ctx); - eveCustomAuthContext = await createCustomAuthContext(ctx); - } catch (e) { - console.error('❌ Failed to initialise E2E test context', e); - process.exit(1); - } - }); + describe('full alice, bob, and eve', () => { + let ctx: Awaited>; - describe('EOA Auth', () => { - console.log('🔐 Testing using Externally Owned Account authentication'); - - describe('endpoints', () => { - it('pkpSign', () => - createPkpSignTest(ctx, () => ctx.aliceEoaAuthContext)()); - it('executeJs', () => - createExecuteJsTest(ctx, () => ctx.aliceEoaAuthContext)()); - it('viewPKPsByAddress', () => createViewPKPsByAddressTest(ctx)()); - it('viewPKPsByAuthData', () => - createViewPKPsByAuthDataTest(ctx, () => ctx.aliceEoaAuthContext)()); - it('pkpEncryptDecrypt', () => - createPkpEncryptDecryptTest(ctx, () => ctx.aliceEoaAuthContext)()); - it('encryptDecryptFlow', () => - createEncryptDecryptFlowTest(ctx, () => ctx.aliceEoaAuthContext)()); - it('pkpPermissionsManagerFlow', () => - createPkpPermissionsManagerFlowTest( - ctx, - () => ctx.aliceEoaAuthContext - )()); - it('paymentManagerFlow', () => - createPaymentManagerFlowTest(ctx, () => ctx.aliceEoaAuthContext)()); - it('paymentDelegationFlow', () => - createPaymentDelegationFlowTest(ctx, () => ctx.aliceEoaAuthContext)()); - - describe('integrations', () => { - describe('pkp viem account', () => { - it('sign message', () => - createViemSignMessageTest(ctx, () => ctx.aliceEoaAuthContext)()); - it('sign transaction', () => - createViemSignTransactionTest( - ctx, - () => ctx.aliceEoaAuthContext - )()); - it('sign typed data', () => - createViemSignTypedDataTest(ctx, () => ctx.aliceEoaAuthContext)()); - }); - }); + // Auth contexts for testing + let eveCustomAuthContext: AuthContext; + + beforeAll(async () => { + try { + ctx = await init(); + + // Create PKP and custom auth contexts using helper functions + // alicePkpAuthContext = await createPkpAuthContext(ctx); + eveCustomAuthContext = await createCustomAuthContext(ctx); + } catch (e) { + console.error('❌ Failed to initialise E2E test context', e); + process.exit(1); + } }); - describe('PKP Auth', () => { - console.log('🔐 Testing using Programmable Key Pair authentication'); + describe('EOA Auth', () => { + console.log('🔐 Testing using Externally Owned Account authentication'); describe('endpoints', () => { it('pkpSign', () => - createPkpSignTest(ctx, () => ctx.alicePkpAuthContext)()); + createPkpSignTest(ctx, () => ctx.aliceEoaAuthContext)()); it('executeJs', () => - createExecuteJsTest(ctx, () => ctx.alicePkpAuthContext)()); + createExecuteJsTest(ctx, () => ctx.aliceEoaAuthContext)()); it('viewPKPsByAddress', () => createViewPKPsByAddressTest(ctx)()); it('viewPKPsByAuthData', () => - createViewPKPsByAuthDataTest(ctx, () => ctx.alicePkpAuthContext)()); + createViewPKPsByAuthDataTest(ctx, () => ctx.aliceEoaAuthContext)()); it('pkpEncryptDecrypt', () => - createPkpEncryptDecryptTest(ctx, () => ctx.alicePkpAuthContext)()); + createPkpEncryptDecryptTest(ctx, () => ctx.aliceEoaAuthContext)()); it('encryptDecryptFlow', () => - createEncryptDecryptFlowTest(ctx, () => ctx.alicePkpAuthContext)()); + createEncryptDecryptFlowTest(ctx, () => ctx.aliceEoaAuthContext)()); it('pkpPermissionsManagerFlow', () => createPkpPermissionsManagerFlowTest( ctx, - () => ctx.alicePkpAuthContext + () => ctx.aliceEoaAuthContext + )()); + it('paymentManagerFlow', () => + createPaymentManagerFlowTest(ctx, () => ctx.aliceEoaAuthContext)()); + it('paymentDelegationFlow', () => + createPaymentDelegationFlowTest( + ctx, + () => ctx.aliceEoaAuthContext )()); + + describe('integrations', () => { + describe('pkp viem account', () => { + it('sign message', () => + createViemSignMessageTest(ctx, () => ctx.aliceEoaAuthContext)()); + it('sign transaction', () => + createViemSignTransactionTest( + ctx, + () => ctx.aliceEoaAuthContext + )()); + it('sign typed data', () => + createViemSignTypedDataTest( + ctx, + () => ctx.aliceEoaAuthContext + )()); + }); + }); }); - describe('integrations', () => { - describe('pkp viem account', () => { - it('sign message', () => - createViemSignMessageTest(ctx, () => ctx.alicePkpAuthContext)()); - it('sign transaction', () => - createViemSignTransactionTest( + describe('EOA Auth', () => { + console.log('🔐 Testing using Externally Owned Account authentication'); + + describe('endpoints', () => { + it('pkpSign', () => + createPkpSignTest(ctx, () => ctx.aliceEoaAuthContext)()); + it('executeJs', () => + createExecuteJsTest(ctx, () => ctx.aliceEoaAuthContext)()); + it('viewPKPsByAddress', () => createViewPKPsByAddressTest(ctx)()); + it('viewPKPsByAuthData', () => + createViewPKPsByAuthDataTest(ctx, () => ctx.aliceEoaAuthContext)()); + it('pkpEncryptDecrypt', () => + createPkpEncryptDecryptTest(ctx, () => ctx.aliceEoaAuthContext)()); + it('encryptDecryptFlow', () => + createEncryptDecryptFlowTest(ctx, () => ctx.aliceEoaAuthContext)()); + it('pkpPermissionsManagerFlow', () => + createPkpPermissionsManagerFlowTest( ctx, - () => ctx.alicePkpAuthContext + () => ctx.aliceEoaAuthContext + )()); + it('paymentManagerFlow', () => + createPaymentManagerFlowTest(ctx, () => ctx.aliceEoaAuthContext)()); + it('paymentDelegationFlow', () => + createPaymentDelegationFlowTest( + ctx, + () => ctx.aliceEoaAuthContext )()); - it('sign typed data', () => - createViemSignTypedDataTest(ctx, () => ctx.alicePkpAuthContext)()); + + describe('integrations', () => { + describe('pkp viem account', () => { + it('sign message', () => + createViemSignMessageTest( + ctx, + () => ctx.aliceEoaAuthContext + )()); + it('sign transaction', () => + createViemSignTransactionTest( + ctx, + () => ctx.aliceEoaAuthContext + )()); + it('sign typed data', () => + createViemSignTypedDataTest( + ctx, + () => ctx.aliceEoaAuthContext + )()); + }); + }); }); - }); - }); - describe('Custom Auth', () => { - console.log('🔐 Testing using Custom authentication method'); + describe('PKP Auth', () => { + console.log('🔐 Testing using Programmable Key Pair authentication'); - describe('endpoints', () => { - it('pkpSign', () => - createPkpSignTest( - ctx, - () => eveCustomAuthContext, - ctx.eveViemAccountPkp.pubkey - )()); - it('executeJs', () => - createExecuteJsTest( - ctx, - () => eveCustomAuthContext, - ctx.eveViemAccountPkp.pubkey - )()); - it('viewPKPsByAddress', () => createViewPKPsByAddressTest(ctx)()); - it('viewPKPsByAuthData', () => - createViewPKPsByAuthDataTest(ctx, () => eveCustomAuthContext)()); - it('pkpEncryptDecrypt', () => - createPkpEncryptDecryptTest(ctx, () => ctx.aliceEoaAuthContext)()); - it('encryptDecryptFlow', () => - createEncryptDecryptFlowTest(ctx, () => ctx.aliceEoaAuthContext)()); + describe('endpoints', () => { + it('pkpSign', () => + createPkpSignTest(ctx, () => ctx.alicePkpAuthContext)()); + it('executeJs', () => + createExecuteJsTest(ctx, () => ctx.alicePkpAuthContext)()); + it('viewPKPsByAddress', () => createViewPKPsByAddressTest(ctx)()); + it('viewPKPsByAuthData', () => + createViewPKPsByAuthDataTest( + ctx, + () => ctx.alicePkpAuthContext + )()); + it('pkpEncryptDecrypt', () => + createPkpEncryptDecryptTest( + ctx, + () => ctx.alicePkpAuthContext + )()); + it('encryptDecryptFlow', () => + createEncryptDecryptFlowTest( + ctx, + () => ctx.alicePkpAuthContext + )()); + it('pkpPermissionsManagerFlow', () => + createPkpPermissionsManagerFlowTest( + ctx, + () => ctx.alicePkpAuthContext + )()); + }); - // Disable for now because it requires a different flow - // it('pkpPermissionsManagerFlow', () => - // createPkpPermissionsManagerFlowTest( - // ctx, - // () => eveCustomAuthContext, ctx.eveViemAccountPkp.pubkey - // )()); - }); + describe('integrations', () => { + describe('pkp viem account', () => { + it('sign message', () => + createViemSignMessageTest( + ctx, + () => ctx.alicePkpAuthContext + )()); + it('sign transaction', () => + createViemSignTransactionTest( + ctx, + () => ctx.alicePkpAuthContext + )()); + it('sign typed data', () => + createViemSignTypedDataTest( + ctx, + () => ctx.alicePkpAuthContext + )()); + }); + }); + }); - // describe('integrations', () => { - // describe('pkp viem account', () => { - // it('sign message', () => - // createViemSignMessageTest(ctx, () => eveCustomAuthContext, ctx.eveViemAccountPkp.pubkey)()); - // it('sign transaction', () => - // createViemSignTransactionTest(ctx, () => eveCustomAuthContext, ctx.eveViemAccountPkp.pubkey)()); - // it('sign typed data', () => - // createViemSignTypedDataTest(ctx, () => eveCustomAuthContext, ctx.eveViemAccountPkp.pubkey)()); - // }); - // }); - }); + describe('Custom Auth', () => { + console.log('🔐 Testing using Custom authentication method'); + + describe('endpoints', () => { + it('pkpSign', () => + createPkpSignTest( + ctx, + () => eveCustomAuthContext, + ctx.eveViemAccountPkp.pubkey + )()); + it('executeJs', () => + createExecuteJsTest( + ctx, + () => eveCustomAuthContext, + ctx.eveViemAccountPkp.pubkey + )()); + it('viewPKPsByAddress', () => createViewPKPsByAddressTest(ctx)()); + it('viewPKPsByAuthData', () => + createViewPKPsByAuthDataTest(ctx, () => eveCustomAuthContext)()); + it('pkpEncryptDecrypt', () => + createPkpEncryptDecryptTest( + ctx, + () => ctx.aliceEoaAuthContext + )()); + it('encryptDecryptFlow', () => + createEncryptDecryptFlowTest( + ctx, + () => ctx.aliceEoaAuthContext + )()); + + // Disable for now because it requires a different flow + // it('pkpPermissionsManagerFlow', () => + // createPkpPermissionsManagerFlowTest( + // ctx, + // () => eveCustomAuthContext, ctx.eveViemAccountPkp.pubkey + // )()); + }); + + // describe('integrations', () => { + // describe('pkp viem account', () => { + // it('sign message', () => + // createViemSignMessageTest(ctx, () => eveCustomAuthContext, ctx.eveViemAccountPkp.pubkey)()); + // it('sign transaction', () => + // createViemSignTransactionTest(ctx, () => eveCustomAuthContext, ctx.eveViemAccountPkp.pubkey)()); + // it('sign typed data', () => + // createViemSignTypedDataTest(ctx, () => eveCustomAuthContext, ctx.eveViemAccountPkp.pubkey)()); + // }); + // }); + }); + + describe('PKP Auth with Pre-generated Materials', () => { + console.log( + '🔐 Testing PKP auth with pre-generated session materials' + ); + + let preGeneratedAuthContext: any; + + beforeAll(async () => { + try { + preGeneratedAuthContext = + await createPkpAuthContextWithPreGeneratedMaterials(ctx); + } catch (e) { + console.error('Failed to create pre-generated auth context:', e); + throw e; + } + }); - describe('EOA Native', () => { - console.log('🔐 Testing EOA native authentication and PKP minting'); + describe('endpoints', () => { + it('pkpSign with pre-generated materials', () => + createPkpSignTest(ctx, () => preGeneratedAuthContext)()); - it('eoaNativeAuthFlow', () => createEoaNativeAuthFlowTest(ctx)()); + it('executeJs with pre-generated materials', () => + createExecuteJsTest(ctx, () => preGeneratedAuthContext)()); + + it('pkpEncryptDecrypt with pre-generated materials', () => + createPkpEncryptDecryptTest( + ctx, + () => preGeneratedAuthContext + )()); + }); + + describe('error handling', () => { + it('should reject when only sessionKeyPair is provided', async () => { + const tempAuthContext = + await ctx.authManager.createPkpAuthContext({ + authData: ctx.aliceViemAccountAuthData, + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + authConfig: { + resources: [['pkp-signing', '*']], + expiration: new Date( + Date.now() + 1000 * 60 * 15 + ).toISOString(), + }, + litClient: ctx.litClient, + }); + + const sessionKeyPair = tempAuthContext.sessionKeyPair; + + await expect( + ctx.authManager.createPkpAuthContext({ + authData: ctx.aliceViemAccountAuthData, + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + authConfig: { + resources: [['pkp-signing', '*']], + expiration: new Date( + Date.now() + 1000 * 60 * 15 + ).toISOString(), + }, + litClient: ctx.litClient, + sessionKeyPair, // Only providing sessionKeyPair + // delegationAuthSig is missing + }) + ).rejects.toThrow( + 'Both sessionKeyPair and delegationAuthSig must be provided together, or neither should be provided' + ); + }); + + it('should reject when only delegationAuthSig is provided', async () => { + const tempAuthContext = + await ctx.authManager.createPkpAuthContext({ + authData: ctx.aliceViemAccountAuthData, + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + authConfig: { + resources: [['pkp-signing', '*']], + expiration: new Date( + Date.now() + 1000 * 60 * 15 + ).toISOString(), + }, + litClient: ctx.litClient, + }); + + const delegationAuthSig = + await tempAuthContext.authNeededCallback(); + + await expect( + ctx.authManager.createPkpAuthContext({ + authData: ctx.aliceViemAccountAuthData, + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + authConfig: { + resources: [['pkp-signing', '*']], + expiration: new Date( + Date.now() + 1000 * 60 * 15 + ).toISOString(), + }, + litClient: ctx.litClient, + // sessionKeyPair is missing + delegationAuthSig, // Only providing delegationAuthSig + }) + ).rejects.toThrow( + 'Both sessionKeyPair and delegationAuthSig must be provided together, or neither should be provided' + ); + }); + }); + + /** + * This scenario mirrors the client/server hand-off used in production: + * 1. A client generates session materials and a delegation auth sig. + * 2. The bundle travels over the wire (simulated via JSON serialisation). + * 3. A server restores those materials with a fresh AuthManager instance and + * proves it can sign with the delegated PKP using an independently created LitClient. + * Keeping this in the main e2e suite ensures we catch regressions in CI without + * relying on the ad-hoc ticket test. + */ + describe('server reuse flow', () => { + it('should sign using materials shipped over the wire', () => + createPregenDelegationServerReuseTest({ + authManager: ctx.authManager, + authData: ctx.aliceViemAccountAuthData, + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + clientLitClient: ctx.litClient, + resolvedNetwork: ctx.resolvedNetwork, + })()); + }); + }); + + describe('EOA Native', () => { + console.log('🔐 Testing EOA native authentication and PKP minting'); + it('eoaNativeAuthFlow', () => createEoaNativeAuthFlowTest(ctx)()); + }); + }); + }); + + describe('only alice', () => { + describe('wrapped keys', () => { + registerWrappedKeysExecuteJsTests(); + }); }); }); }); diff --git a/packages/e2e/src/health/NagaHealthManager.ts b/packages/e2e/src/health/NagaHealthManager.ts index 122c58a269..19d276bf53 100644 --- a/packages/e2e/src/health/NagaHealthManager.ts +++ b/packages/e2e/src/health/NagaHealthManager.ts @@ -21,6 +21,16 @@ import { initHealthCheck } from './health-init'; import { createAccBuilder } from '@lit-protocol/access-control-conditions'; +import { generateSessionKeyPair } from '@lit-protocol/auth'; +import { + api as wrappedKeysApi, + config as wrappedKeysConfig, +} from '@lit-protocol/wrapped-keys'; +import { + litActionRepository, + litActionRepositoryCommon, +} from '@lit-protocol/wrapped-keys-lit-actions'; +import { Wallet } from 'ethers'; type HealthCheckContext = Awaited>; @@ -244,4 +254,81 @@ export class NagaHealthManager { throw e; } }; + + /** + * Test 6: Wrapped Keys Service Test + * + * Validates the wrapped keys service by importing an externally generated key + * and immediately exporting it to confirm correct round-trip encryption. + */ + wrappedKeysTest = async (): Promise => { + try { + wrappedKeysConfig.setLitActionsCode(litActionRepository); + wrappedKeysConfig.setLitActionsCodeCommon(litActionRepositoryCommon); + + const sessionKeyPair = generateSessionKeyPair(); + + const delegationAuthSig = + await this.ctx.authManager.generatePkpDelegationAuthSig({ + pkpPublicKey: this.ctx.aliceViemAccountPkp.pubkey, + authData: this.ctx.aliceViemAccountAuthData, + sessionKeyPair, + authConfig: { + resources: [ + ['pkp-signing', '*'], + ['lit-action-execution', '*'], + ['access-control-condition-decryption', '*'], + ], + expiration: new Date(Date.now() + 1000 * 60 * 15).toISOString(), + }, + litClient: this.ctx.litClient, + }); + + const pkpSessionSigs = await this.ctx.authManager.createPkpSessionSigs({ + pkpPublicKey: this.ctx.aliceViemAccountPkp.pubkey, + sessionKeyPair, + delegationAuthSig, + litClient: this.ctx.litClient, + }); + + const wallet = Wallet.createRandom(); + const memo = `health-check-import-${Date.now()}`; + + const importResult = await wrappedKeysApi.importPrivateKey({ + pkpSessionSigs, + litClient: this.ctx.litClient, + privateKey: wallet.privateKey, + publicKey: wallet.publicKey, + keyType: 'K256', + memo, + }); + + if (!importResult.id) { + throw new Error('Wrapped key import failed - no key id returned'); + } + + const exportResult = await wrappedKeysApi.exportPrivateKey({ + pkpSessionSigs, + litClient: this.ctx.litClient, + id: importResult.id, + network: 'evm', + }); + + if (!exportResult.decryptedPrivateKey) { + throw new Error('Wrapped key export failed - missing private key'); + } + + if ( + exportResult.decryptedPrivateKey.toLowerCase() !== + wallet.privateKey.toLowerCase() + ) { + throw new Error('Wrapped key export mismatch'); + } + + console.log('✅ Wrapped Keys test passed'); + } catch (e) { + console.error('❌ Wrapped Keys test failed:', e); + throw e; + } + }; } diff --git a/packages/e2e/src/health/index.ts b/packages/e2e/src/health/index.ts index 3764c615f3..6ba130fe86 100644 --- a/packages/e2e/src/health/index.ts +++ b/packages/e2e/src/health/index.ts @@ -103,6 +103,7 @@ async function runHealthCheck(): Promise { 'signSessionKey', 'executeJs', 'decrypt', + 'wrappedKeys', ] as const, }); @@ -155,12 +156,20 @@ async function runHealthCheck(): Promise { await statusClient.executeAndLog(txs.decrypt.id, healthManager.decryptTest); console.log(''); + // Test 6: Wrapped Keys + console.log('6️⃣ Testing: Wrapped Keys Service'); + await statusClient.executeAndLog( + txs.wrappedKeys.id, + healthManager.wrappedKeysTest + ); + console.log(''); + console.log('═══════════════════════════════════════'); console.log('✅ Health Check Completed Successfully'); console.log('═══════════════════════════════════════'); console.log(`Network: ${NETWORK}`); console.log(`Time: ${new Date().toISOString()}`); - console.log('All 5 endpoint tests passed ✨\n'); + console.log('All 6 endpoint tests passed ✨\n'); } /** diff --git a/packages/e2e/src/helper/auth-contexts.ts b/packages/e2e/src/helper/auth-contexts.ts index b9dd6e31d3..ec2be18755 100644 --- a/packages/e2e/src/helper/auth-contexts.ts +++ b/packages/e2e/src/helper/auth-contexts.ts @@ -1,5 +1,69 @@ +import { generateSessionKeyPair } from '@lit-protocol/auth'; import { init } from '../init'; +/** + * Creates a PKP authentication context with pre-generated session materials + * This simulates a server-side use case where session key pair and delegation + * signature are generated once and reused for multiple requests + */ +export const createPkpAuthContextWithPreGeneratedMaterials = async ( + ctx: Awaited> +) => { + console.log('🔁 Creating PKP Auth Context with Pre-generated Materials'); + try { + // Step 1: Generate a session key pair directly + console.log(' 📝 Step 1: Generating session key pair...'); + const sessionKeyPair = generateSessionKeyPair(); + + // Step 2: Generate PKP delegation signature for the session key pair + console.log(' 📝 Step 2: Generating PKP delegation signature...'); + const delegationAuthSig = + await ctx.authManager.generatePkpDelegationAuthSig({ + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + authData: ctx.aliceViemAccountAuthData, + sessionKeyPair, + authConfig: { + resources: [ + ['pkp-signing', '*'], + ['lit-action-execution', '*'], + ['access-control-condition-decryption', '*'], + ], + expiration: new Date(Date.now() + 1000 * 60 * 15).toISOString(), + }, + litClient: ctx.litClient, + }); + + console.log(' 📝 Session materials generated:', { + hasSessionKeyPair: !!sessionKeyPair, + hasDelegationAuthSig: !!delegationAuthSig, + sessionKeyPublicKey: sessionKeyPair?.publicKey?.substring(0, 20) + '...', + }); + + // Step 3: Create auth context using the pre-generated materials + // Using the dedicated function for pre-generated materials with a clean, minimal signature + console.log( + ' 📝 Step 3: Creating auth context with pre-generated materials...' + ); + const authContextWithPreGenerated = + await ctx.authManager.createPkpAuthContextFromPreGenerated({ + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + sessionKeyPair, + delegationAuthSig, + // Optional: can provide authData if needed, otherwise minimal default is used + authData: ctx.aliceViemAccountAuthData, + }); + + console.log('✅ PKP Auth Context with Pre-generated Materials created'); + return authContextWithPreGenerated; + } catch (e) { + console.error( + '❌ Error creating PKP Auth Context with Pre-generated Materials', + e + ); + throw e; + } +}; + /** * Creates a PKP authentication context */ @@ -70,3 +134,72 @@ export const createCustomAuthContext: ( throw e; } }; + +/** + * Creates an EOA authentication context with pre-generated session materials + * This demonstrates how to pre-generate EOA session materials for server-side use + */ +export const createEoaAuthContextWithPreGeneratedMaterials = async ( + ctx: Awaited> +) => { + console.log('🔁 Creating EOA Auth Context with Pre-generated Materials'); + try { + // Step 1: Generate a session key pair directly + console.log(' 📝 Step 1: Generating session key pair...'); + const sessionKeyPair = generateSessionKeyPair(); + + // Step 2: Generate EOA delegation signature for the session key pair + console.log(' 📝 Step 2: Generating EOA delegation signature...'); + const delegationAuthSig = + await ctx.authManager.generateEoaDelegationAuthSig({ + account: ctx.aliceViemAccount, + sessionKeyPair, + authConfig: { + resources: [ + ['pkp-signing', '*'], + ['lit-action-execution', '*'], + ['access-control-condition-decryption', '*'], + ], + expiration: new Date(Date.now() + 1000 * 60 * 15).toISOString(), + }, + litClient: ctx.litClient, + }); + + console.log(' 📝 EOA session materials generated:', { + hasSessionKeyPair: !!sessionKeyPair, + hasDelegationAuthSig: !!delegationAuthSig, + sessionKeyPublicKey: sessionKeyPair?.publicKey?.substring(0, 20) + '...', + }); + + // Step 3: Create EOA auth context using the pre-generated materials + console.log( + ' 📝 Step 3: Creating EOA auth context with pre-generated materials...' + ); + const authContextWithPreGenerated = + await ctx.authManager.createEoaAuthContext({ + authConfig: { + resources: [ + ['pkp-signing', '*'], + ['lit-action-execution', '*'], + ['access-control-condition-decryption', '*'], + ], + expiration: new Date(Date.now() + 1000 * 60 * 15).toISOString(), + }, + config: { + account: ctx.aliceViemAccount, + }, + litClient: ctx.litClient, + // Note: EOA auth contexts don't currently support pre-generated materials + // This demonstrates the pattern for when it's implemented + }); + + console.log('✅ EOA Auth Context with Pre-generated Materials created'); + return authContextWithPreGenerated; + } catch (e) { + console.error( + '❌ Error creating EOA Auth Context with Pre-generated Materials', + e + ); + throw e; + } +}; diff --git a/packages/e2e/src/helper/fundAccount.ts b/packages/e2e/src/helper/fundAccount.ts index 1d01296944..c5284faf2f 100644 --- a/packages/e2e/src/helper/fundAccount.ts +++ b/packages/e2e/src/helper/fundAccount.ts @@ -107,6 +107,7 @@ export const fundAccount = async ( const customRpcUrl = isLocalNetwork ? process.env['LOCAL_RPC_URL'] : process.env['LIT_YELLOWSTONE_PRIVATE_RPC_URL']; + const rpcUrl = customRpcUrl || defaultRpcUrl; if (customRpcUrl) { console.log(`- Using custom E2E RPC URL:`, `***${customRpcUrl.slice(-6)}`); @@ -119,7 +120,7 @@ export const fundAccount = async ( // check account balance const publicClient = createPublicClient({ chain: networkModule.getChainConfig(), - transport: http(customRpcUrl || defaultRpcUrl), + transport: http(rpcUrl), }); const balance = await publicClient.getBalance({ @@ -132,7 +133,7 @@ export const fundAccount = async ( const walletClient = createWalletClient({ account: sponsorAccount, - transport: http(customRpcUrl || defaultRpcUrl), + transport: http(rpcUrl), }); // Get the next managed nonce for this sponsor account @@ -146,11 +147,11 @@ export const fundAccount = async ( account: sponsorAccount, // Add account for retry logic }; - await sendTransactionWithRetry( + const txHash = (await sendTransactionWithRetry( walletClient, transactionRequest, publicClient - ); + )) as `0x${string}`; console.log( `- Topped up account ${recipientAddress} with`, @@ -160,4 +161,6 @@ export const fundAccount = async ( } else { console.log(`- Account ${recipientAddress} has enough balance\n`); } + + return undefined; }; diff --git a/packages/e2e/src/helper/network.ts b/packages/e2e/src/helper/network.ts new file mode 100644 index 0000000000..4b5ee86309 --- /dev/null +++ b/packages/e2e/src/helper/network.ts @@ -0,0 +1,171 @@ +import { z } from 'zod'; + +/** + * Canonical metadata for Lit e2e network targets. + * - `importName` feeds `@lit-protocol/networks` dynamic imports. + * - `type` lets higher level helpers branch on local vs live behaviour. + * + * @example + * ```ts + * NETWORKS['naga-dev']; + * // { importName: 'nagaDev', type: 'live' } + * ``` + */ +export const NETWORKS = { + 'naga-dev': { importName: 'nagaDev', type: 'live' }, + 'naga-test': { importName: 'nagaTest', type: 'live' }, + 'naga-local': { importName: 'nagaLocal', type: 'local' }, + 'naga-staging': { importName: 'nagaStaging', type: 'live' }, +} as const; + +export type NetworkName = keyof typeof NETWORKS; + +export type NetworkConfig = (typeof NETWORKS)[NetworkName]; + +export type NetworkType = NetworkConfig['type']; + +export type NetworkImportName = NetworkConfig['importName']; + +const NETWORK_NAME_VALUES = Object.keys(NETWORKS) as NetworkName[]; + +const NETWORK_NAME_TUPLE = NETWORK_NAME_VALUES as [ + NetworkName, + ...NetworkName[] +]; + +/** + * Shared schema so callers can parse env/config values consistently. + * + * @example + * ```ts + * NetworkNameSchema.parse('naga-local'); + * // 'naga-local' + * ``` + */ +export const NetworkNameSchema = z.enum(NETWORK_NAME_TUPLE); + +export const DEFAULT_NETWORK_NAME: NetworkName = 'naga-dev'; + +/** + * Ordered list of network identifiers. Useful when presenting choices to users. + * + * @example + * ```ts + * SUPPORTED_NETWORK_NAMES; + * // ['naga-dev', 'naga-test', 'naga-local', 'naga-staging'] + * ``` + */ +export const SUPPORTED_NETWORK_NAMES = [...NETWORK_NAME_VALUES] as const; + +type NetworksModule = typeof import('@lit-protocol/networks'); + +export type LitNetworkModule = NetworksModule[NetworkImportName]; + +/** + * Type guard used when consuming untyped sources such as env variables. + * + * @example + * ```ts + * isNetworkName('naga-test'); + * // true + * + * isNetworkName('unknown-network'); + * // false + * ``` + */ +export function isNetworkName(value: unknown): value is NetworkName { + return ( + typeof value === 'string' && + Object.prototype.hasOwnProperty.call(NETWORKS, value) + ); +} + +/** + * Normalises any caller-provided identifier to the canonical network tuple used + * by init flows and tests. Always returns a full `NETWORKS` entry alongside the + * resolved name, so callers can keep a single source of truth for network metadata. + * + * @example + * ```ts + * getNetworkConfig('naga-test'); + * // { name: 'naga-test', importName: 'nagaTest', type: 'live' } + * + * getNetworkConfig(); + * // { name: 'naga-dev', importName: 'nagaDev', type: 'live' } + * ``` + */ +export function getNetworkConfig(network?: string): { + name: NetworkName; + importName: NetworkImportName; + type: NetworkType; +} { + const candidate = (network ?? DEFAULT_NETWORK_NAME) as string; + + if (!isNetworkName(candidate)) { + throw new Error( + `Unsupported network "${network}". Supported networks: ${SUPPORTED_NETWORK_NAMES.join( + ', ' + )}` + ); + } + + const name: NetworkName = candidate; + const { importName, type } = NETWORKS[name]; + + return { name, importName, type }; +} + +/** + * Convenience wrapper used where only the `importName` string matters. + * + * @example + * ```ts + * resolveNetworkImportName('naga-local'); + * // 'nagaLocal' + * ``` + */ +export function resolveNetworkImportName(network?: string): NetworkImportName { + return getNetworkConfig(network).importName; +} + +export type ResolveNetworkOptions = { + network?: string; + rpcUrlOverride?: string; +}; + +export type ResolvedNetwork = { + name: NetworkName; + importName: NetworkImportName; + type: NetworkType; + networkModule: LitNetworkModule; +}; + +/** + * Fully resolves a Lit network by combining metadata with the backing module. + * + * @example + * ```ts + * const { name, networkModule } = await resolveNetwork({ + * network: 'naga-local', + * rpcUrlOverride: 'http://127.0.0.1:8545', + * }); + * // name === 'naga-local' + * // networkModule is the hydrated Lit network module with overrides applied + * ``` + */ +export async function resolveNetwork( + options: ResolveNetworkOptions = {} +): Promise { + const { network, rpcUrlOverride } = options; + const { name, importName, type } = getNetworkConfig(network); + + const networksModule: NetworksModule = await import('@lit-protocol/networks'); + const baseNetworkModule = networksModule[importName]; + + const networkModule = + rpcUrlOverride && typeof baseNetworkModule.withOverrides === 'function' + ? baseNetworkModule.withOverrides({ rpcUrl: rpcUrlOverride }) + : baseNetworkModule; + + return { name, importName, type, networkModule }; +} diff --git a/packages/e2e/src/helper/tests/index.ts b/packages/e2e/src/helper/tests/index.ts index 19467b7ab3..3b8211bcc0 100644 --- a/packages/e2e/src/helper/tests/index.ts +++ b/packages/e2e/src/helper/tests/index.ts @@ -14,3 +14,7 @@ export { createEoaNativeAuthFlowTest } from './eoa-native-auth-flow'; export { createViemSignMessageTest } from './viem-sign-message'; export { createViemSignTransactionTest } from './viem-sign-transaction'; export { createViemSignTypedDataTest } from './viem-sign-typed-data'; + +// We should move the above tests into their own category/folder like this one +export { createPregenDelegationServerReuseTest } from '../../test-helpers/signSessionKey/pregen-delegation'; +export { registerWrappedKeysExecuteJsTests } from '../../test-helpers/executeJs/wrappedKeys'; diff --git a/packages/e2e/src/init.ts b/packages/e2e/src/init.ts index 4b2b0998a5..ff5666de6e 100644 --- a/packages/e2e/src/init.ts +++ b/packages/e2e/src/init.ts @@ -6,6 +6,12 @@ import { import { createLitClient, utils as litUtils } from '@lit-protocol/lit-client'; import type { NagaLocalModule } from '@lit-protocol/networks'; import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts'; +import { + NetworkName, + NetworkNameSchema, + ResolvedNetwork, + resolveNetwork, +} from './helper/network'; import { z } from 'zod'; import { fundAccount } from './helper/fundAccount'; import { getOrCreatePkp } from './helper/pkp-utils'; @@ -19,15 +25,6 @@ import { // import { createPkpAuthContext } from './helper/auth-contexts'; -const SupportedNetworkSchema = z.enum([ - 'naga-dev', - 'naga-test', - 'naga-local', - 'naga-staging', -]); - -type SupportedNetwork = z.infer; - const LogLevelSchema = z.enum(['silent', 'info', 'debug']); type LogLevel = z.infer; @@ -39,27 +36,44 @@ const LIVE_NETWORK_LEDGER_DEPOSIT_AMOUNT = '2'; const EVE_VALIDATION_IPFS_CID = 'QmcxWmo3jefFsPUnskJXYBwsJYtiFuMAH1nDQEs99AwzDe'; -export const init = async ( - network?: SupportedNetwork, - logLevel?: LogLevel -): Promise<{ +type BaseInitResult = { litClient: LitClientInstance; authManager: AuthManagerInstance; localMasterAccount: ViemAccount; aliceViemAccount: ViemAccount; aliceViemAccountAuthData: AuthData; aliceViemAccountPkp: PKPData; + aliceEoaAuthContext: AuthContext; + masterDepositForUser: (userAddress: string) => Promise; + resolvedNetwork: ResolvedNetwork; +}; + +type FullInitResult = BaseInitResult & { bobViemAccount: ViemAccount; bobViemAccountAuthData: AuthData; bobViemAccountPkp: PKPData; - aliceEoaAuthContext: AuthContext; alicePkpAuthContext: AuthContext; eveViemAccount: ViemAccount; eveCustomAuthData: CustomAuthData; eveViemAccountPkp: PKPData; eveValidationIpfsCid: `Qm${string}`; - masterDepositForUser: (userAddress: string) => Promise; -}> => { +}; + +async function initInternal( + mode: 'fast', + network?: NetworkName, + logLevel?: LogLevel +): Promise; +async function initInternal( + mode: 'full', + network?: NetworkName, + logLevel?: LogLevel +): Promise; +async function initInternal( + mode: 'fast' | 'full', + network?: NetworkName, + logLevel?: LogLevel +): Promise { /** * ==================================== * Prepare accounts for testing @@ -76,33 +90,25 @@ export const init = async ( aliceViemAccount ); - const bobViemAccount = privateKeyToAccount(generatePrivateKey()); - const bobViemAccountAuthData = await ViemAccountAuthenticator.authenticate( - bobViemAccount - ); - - const eveViemAccount = privateKeyToAccount(generatePrivateKey()); - /** * ==================================== * Environment settings * ==================================== */ - const _network = network || process.env['NETWORK']; - const _logLevel = logLevel || process.env['LOG_LEVEL']; - process.env['LOG_LEVEL'] = _logLevel; + const networkInput = network ?? process.env['NETWORK']; + const _logLevel = logLevel ?? process.env['LOG_LEVEL']; + if (_logLevel) { + process.env['LOG_LEVEL'] = _logLevel; + } - if (!_network) { + if (!networkInput) { throw new Error( - `❌ Network not specified. Please set the NETWORK environment variable or pass a network parameter. Available networks: ${SupportedNetworkSchema.options.join( + `❌ Network not specified. Please set the NETWORK environment variable or pass a network parameter. Available networks: ${NetworkNameSchema.options.join( ', ' )}` ); } - console.log('✅ Using network:', _network); - console.log('✅ Using log level:', _logLevel); - /** * ==================================== * Network configuration and setup @@ -110,61 +116,21 @@ export const init = async ( * ❗️ If it's on live chain, we will fund it with the master account. (set in the .env file) * ==================================== */ - - // Network configuration map - const networkConfig = { - 'naga-dev': { importName: 'nagaDev', type: 'live' }, - 'naga-test': { importName: 'nagaTest', type: 'live' }, - 'naga-local': { importName: 'nagaLocal', type: 'local' }, - 'naga-staging': { importName: 'nagaStaging', type: 'live' }, - } as const; - - const config = networkConfig[_network as keyof typeof networkConfig]; - if (!config) { - throw new Error(`❌ Invalid network: ${_network}`); - } - - // Dynamic import of network module - const networksModule = await import('@lit-protocol/networks'); - let _baseNetworkModule = networksModule[config.importName]; - - if (_network === 'naga-local') { - const localContextPath = process.env['NAGA_LOCAL_CONTEXT_PATH']; - if (localContextPath) { - // Type guard: verify the module exposes withLocalContext so TypeScript narrows it to NagaLocal. - const isNagaLocalModule = (module: unknown): module is NagaLocalModule => - !!module && - typeof (module as { withLocalContext?: unknown }).withLocalContext === - 'function'; - - if (isNagaLocalModule(_baseNetworkModule)) { - const localContextName = process.env['NETWORK']; - - console.log( - '✅ Loading naga-local signatures from NAGA_LOCAL_CONTEXT_PATH:', - localContextPath - ); - - const nagaLocalModule: NagaLocalModule = _baseNetworkModule; - - _baseNetworkModule = await nagaLocalModule.withLocalContext({ - networkContextPath: localContextPath, - networkName: localContextName, - }); - } else { - console.warn( - '⚠️ NAGA_LOCAL_CONTEXT_PATH is set but nagaLocal.withLocalContext is unavailable in the current networks build.' - ); - } - } - } - // Optional RPC override from env const rpcOverride = process.env['LIT_YELLOWSTONE_PRIVATE_RPC_URL']; - const _networkModule = - rpcOverride && typeof _baseNetworkModule.withOverrides === 'function' - ? _baseNetworkModule.withOverrides({ rpcUrl: rpcOverride }) - : _baseNetworkModule; + const resolvedNetwork = await resolveNetwork({ + network: networkInput, + rpcUrlOverride: rpcOverride, + }); + + const { + name: resolvedNetworkName, + type: networkType, + networkModule, + } = resolvedNetwork; + + console.log('✅ Using network:', resolvedNetworkName); + console.log('✅ Using log level:', _logLevel); if (rpcOverride) { console.log( @@ -173,39 +139,48 @@ export const init = async ( ); } - /** - * ==================================== - * Initialise the LitClient - * ==================================== - */ - const litClient = await createLitClient({ network: _networkModule }); - - /** - * ==================================== - * Fund accounts based on network type - * ==================================== - */ - const isLocal = config.type === 'local'; + // Fund accounts based on network type + const isLocal = networkType === 'local'; const masterAccount = isLocal ? localMasterAccount : liveMasterAccount; const fundingAmount = isLocal ? LOCAL_NETWORK_FUNDING_AMOUNT : LIVE_NETWORK_FUNDING_AMOUNT; // Fund accounts sequentially to avoid nonce conflicts with same sponsor - await fundAccount(aliceViemAccount, masterAccount, _networkModule, { + await fundAccount(aliceViemAccount, masterAccount, networkModule, { ifLessThan: fundingAmount, thenFund: fundingAmount, }); - await fundAccount(bobViemAccount, masterAccount, _networkModule, { - ifLessThan: fundingAmount, - thenFund: fundingAmount, - }); + let bobViemAccount: ViemAccount | undefined; + let bobViemAccountAuthData: AuthData | undefined; + let eveViemAccount: ViemAccount | undefined; - await fundAccount(eveViemAccount, masterAccount, _networkModule, { - ifLessThan: fundingAmount, - thenFund: fundingAmount, - }); + if (mode === 'full') { + bobViemAccount = privateKeyToAccount(generatePrivateKey()); + bobViemAccountAuthData = await ViemAccountAuthenticator.authenticate( + bobViemAccount + ); + + eveViemAccount = privateKeyToAccount(generatePrivateKey()); + + await fundAccount(bobViemAccount, masterAccount, networkModule, { + ifLessThan: fundingAmount, + thenFund: fundingAmount, + }); + + await fundAccount(eveViemAccount, masterAccount, networkModule, { + ifLessThan: fundingAmount, + thenFund: fundingAmount, + }); + } + + /** + * ==================================== + * Initialise the LitClient + * ==================================== + */ + const litClient = await createLitClient({ network: networkModule }); /** * ==================================== @@ -240,20 +215,73 @@ export const init = async ( const authManager = createAuthManager({ storage: storagePlugins.localStorageNode({ appName: 'my-local-testing-app', - networkName: _network, + networkName: resolvedNetworkName, storagePath: './.e2e/lit-auth-local', }), }); + const createAliceEoaAuthContext = () => + authManager.createEoaAuthContext({ + config: { + account: aliceViemAccount, + }, + authConfig: { + statement: 'I authorize the Lit Protocol to execute this Lit Action.', + domain: 'example.com', + resources: [ + ['lit-action-execution', '*'], + ['pkp-signing', '*'], + ['access-control-condition-decryption', '*'], + ], + capabilityAuthSigs: [], + expiration: new Date(Date.now() + 1000 * 60 * 15).toISOString(), + }, + litClient: litClient, + }); + + const aliceViemAccountPkp = await getOrCreatePkp( + litClient, + aliceViemAccountAuthData, + aliceViemAccount + ); + + if (mode === 'fast') { + await masterDepositForUser(aliceViemAccount.address); + await masterDepositForUser(aliceViemAccountPkp.ethAddress); + + const aliceEoaAuthContext = await createAliceEoaAuthContext(); + + console.log('✅ Initialised components (fast)'); + + const baseResult: BaseInitResult = { + litClient, + authManager, + localMasterAccount, + aliceViemAccount, + aliceViemAccountAuthData, + aliceViemAccountPkp, + aliceEoaAuthContext, + masterDepositForUser, + resolvedNetwork, + }; + + return baseResult; + } + + if (!bobViemAccount || !bobViemAccountAuthData || !eveViemAccount) { + throw new Error('❌ Failed to prepare accounts for full init'); + } + /** * ==================================== * Get or create PKPs for Alice and Bob * ==================================== */ - const [aliceViemAccountPkp, bobViemAccountPkp] = await Promise.all([ - getOrCreatePkp(litClient, aliceViemAccountAuthData, aliceViemAccount), - getOrCreatePkp(litClient, bobViemAccountAuthData, bobViemAccount), - ]); + const bobViemAccountPkp = await getOrCreatePkp( + litClient, + bobViemAccountAuthData, + bobViemAccount + ); // Use custom auth to create a PKP for Eve const uniqueDappName = 'e2e-test-dapp'; @@ -293,23 +321,7 @@ export const init = async ( * Create the auth context * ==================================== */ - const aliceEoaAuthContext = await authManager.createEoaAuthContext({ - config: { - account: aliceViemAccount, - }, - authConfig: { - statement: 'I authorize the Lit Protocol to execute this Lit Action.', - domain: 'example.com', - resources: [ - ['lit-action-execution', '*'], - ['pkp-signing', '*'], - ['access-control-condition-decryption', '*'], - ], - capabilityAuthSigs: [], - expiration: new Date(Date.now() + 1000 * 60 * 15).toISOString(), - }, - litClient: litClient, - }); + const aliceEoaAuthContext = await createAliceEoaAuthContext(); console.log('✅ Initialised components'); @@ -336,52 +348,58 @@ export const init = async ( const alicePkpViemAccount = await litClient.getPkpViemAccount({ pkpPublicKey: aliceViemAccountPkp.pubkey, authContext: alicePkpAuthContext, - chainConfig: _networkModule.getChainConfig(), + chainConfig: networkModule.getChainConfig(), }); - await fundAccount(alicePkpViemAccount, masterAccount, _networkModule, { + await fundAccount(alicePkpViemAccount, masterAccount, networkModule, { ifLessThan: LOCAL_NETWORK_FUNDING_AMOUNT, thenFund: LOCAL_NETWORK_FUNDING_AMOUNT, }); /** * ==================================== - * Depositing to Lit Ledger for differen + * Depositing to Lit Ledger for different accounts * ==================================== */ - - // Deposit to the PKP Viem account Ledger await masterDepositForUser(alicePkpViemAccount.address); - // const alicePkpViemAccountPermissionsManager = await litClient.getPKPPermissionsManager({ - // pkpIdentifier: { - // tokenId: aliceViemAccountPkp.tokenId, - // }, - // account: alicePkpViemAccount, - // }); - - /** - * ==================================== - * Return the initialised components - * ==================================== - */ - return { + const baseResult: BaseInitResult = { litClient, authManager, localMasterAccount, aliceViemAccount, aliceViemAccountAuthData, aliceViemAccountPkp, + aliceEoaAuthContext, + masterDepositForUser, + resolvedNetwork, + }; + + const fullResult: FullInitResult = { + ...baseResult, bobViemAccount, bobViemAccountAuthData, bobViemAccountPkp, + alicePkpAuthContext, eveViemAccount, eveCustomAuthData, eveViemAccountPkp, eveValidationIpfsCid: EVE_VALIDATION_IPFS_CID, - aliceEoaAuthContext, - alicePkpAuthContext, - masterDepositForUser, - // alicePkpViemAccountPermissionsManager }; + + return fullResult; +} + +export const init = async ( + network?: NetworkName, + logLevel?: LogLevel +): Promise => { + return initInternal('full', network, logLevel); +}; + +export const initFast = async ( + network?: NetworkName, + logLevel?: LogLevel +): Promise => { + return initInternal('fast', network, logLevel); }; diff --git a/packages/e2e/src/test-helpers/executeJs/wrappedKeys.ts b/packages/e2e/src/test-helpers/executeJs/wrappedKeys.ts new file mode 100644 index 0000000000..948f9e14e8 --- /dev/null +++ b/packages/e2e/src/test-helpers/executeJs/wrappedKeys.ts @@ -0,0 +1,682 @@ +import { createHash, randomBytes } from 'crypto'; +import nacl from 'tweetnacl'; +import { Wallet } from 'ethers'; +import bs58 from 'bs58'; +import { + address, + assertIsAddress, + compileTransaction, + createKeyPairFromBytes, + createTransactionMessage, + getAddressFromPublicKey, + getBase64EncodedWireTransaction, + getBase64Encoder, + getTransactionDecoder, + setTransactionMessageFeePayer, + setTransactionMessageLifetimeUsingBlockhash, + signBytes, + signatureBytes as toSignatureBytes, + verifySignature, +} from '@solana/kit'; +import type { Blockhash } from '@solana/kit'; +import { generateSessionKeyPair } from '@lit-protocol/auth'; +import { + api as wrappedKeysApi, + config as wrappedKeysConfig, +} from '@lit-protocol/wrapped-keys'; +import type { SerializedTransaction } from '@lit-protocol/wrapped-keys'; +import { createPublicClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { + litActionRepository, + litActionRepositoryCommon, +} from '@lit-protocol/wrapped-keys-lit-actions'; + +import { initFast } from '../../init'; +import { fundAccount } from '../../helper/fundAccount'; + +export const registerWrappedKeysExecuteJsTests = () => { + type InitContext = Awaited>; + type WrappedKeysTestContext = InitContext & { + sessionKeyPair: ReturnType; + delegationAuthSig: Awaited< + ReturnType + >; + pkpAuthContext: Awaited< + ReturnType + >; + pkpViemAccount: Awaited< + ReturnType + >; + chainId: number; + masterAccount: ReturnType; + }; + + const ctx = {} as WrappedKeysTestContext; + + const DEFAULT_NETWORK: 'evm' = 'evm'; + const SOLANA_NETWORK: 'solana' = 'solana'; + const EVM_CHAIN = 'yellowstone' as const; + const SOLANA_CHAIN = 'devnet' as const; + const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; + + const randomMemo = (prefix: string) => + `${prefix}-${Date.now()}-${Math.floor(Math.random() * 1e6)}`; + + const randomCiphertext = () => randomBytes(48).toString('base64'); + + const randomHash = (input: string) => + createHash('sha256').update(input).digest('hex'); + + const createStorePayload = (memo = randomMemo('store')) => { + const ciphertext = randomCiphertext(); + return { + ciphertext, + dataToEncryptHash: randomHash(ciphertext), + publicKey: `0x${randomBytes(33).toString('hex')}`, + keyType: 'K256' as const, + memo, + }; + }; + + const createSolanaStorePayload = (memo = randomMemo('sol-store')) => { + const ciphertext = randomCiphertext(); + return { + ciphertext, + dataToEncryptHash: randomHash(ciphertext), + publicKey: bs58.encode(randomBytes(32)), + keyType: 'ed25519' as const, + memo, + }; + }; + + const createSolanaUnsignedTransaction = ( + feePayerBase58: string + ): SerializedTransaction => { + const feePayer = address(feePayerBase58); + const blockhash = bs58.encode( + Uint8Array.from(randomBytes(32)) + ) as Blockhash; + + const transactionMessage = setTransactionMessageLifetimeUsingBlockhash( + { + blockhash, + lastValidBlockHeight: 1_000_000n, + }, + setTransactionMessageFeePayer( + feePayer, + createTransactionMessage({ version: 'legacy' }) + ) + ); + + const transaction = compileTransaction(transactionMessage); + const serialized = getBase64EncodedWireTransaction(transaction); + + return { + chain: SOLANA_CHAIN, + serializedTransaction: serialized, + }; + }; + + const createPkpSessionSigs = async () => { + const { delegationAuthSig, sessionKeyPair, authManager, litClient } = ctx; + + return authManager.createPkpSessionSigs({ + sessionKeyPair, + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + delegationAuthSig, + litClient, + }); + }; + + const generateWrappedKeyForTest = async (memo = randomMemo('generated')) => { + const pkpSessionSigs = await createPkpSessionSigs(); + const result = await wrappedKeysApi.generatePrivateKey({ + pkpSessionSigs, + network: DEFAULT_NETWORK, + litClient: ctx.litClient, + memo, + }); + + return { memo, id: result.id }; + }; + + const generateSolanaWrappedKeyForTest = async ( + memo = randomMemo('sol-generated') + ) => { + const pkpSessionSigs = await createPkpSessionSigs(); + const result = await wrappedKeysApi.generatePrivateKey({ + pkpSessionSigs, + network: SOLANA_NETWORK, + litClient: ctx.litClient, + memo, + }); + + return { memo, id: result.id, publicKey: result.generatedPublicKey }; + }; + + beforeAll(async () => { + wrappedKeysConfig.setLitActionsCode(litActionRepository); + wrappedKeysConfig.setLitActionsCodeCommon(litActionRepositoryCommon); + + const initContext = await initFast(); + + Object.assign(ctx, initContext); + + ctx.sessionKeyPair = generateSessionKeyPair(); + + const masterAccount = + ctx.resolvedNetwork.type === 'local' + ? ctx.localMasterAccount + : privateKeyToAccount( + process.env['LIVE_MASTER_ACCOUNT'] as `0x${string}` + ); + + ctx.pkpAuthContext = await ctx.authManager.createPkpAuthContext({ + authData: ctx.aliceViemAccountAuthData, + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + authConfig: { + resources: [ + ['pkp-signing', '*'], + ['lit-action-execution', '*'], + ['access-control-condition-decryption', '*'], + ], + expiration: new Date(Date.now() + 1000 * 60 * 15).toISOString(), + }, + litClient: ctx.litClient, + }); + + const chainConfig = ctx.resolvedNetwork.networkModule.getChainConfig(); + + ctx.pkpViemAccount = await ctx.litClient.getPkpViemAccount({ + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + authContext: ctx.pkpAuthContext, + chainConfig, + }); + + ctx.chainId = chainConfig.id; + + ctx.masterAccount = masterAccount; + + await fundAccount( + ctx.pkpViemAccount, + ctx.masterAccount, + ctx.resolvedNetwork.networkModule, + { + ifLessThan: '0.005', + thenFund: '0.01', + } + ); + + ctx.delegationAuthSig = await ctx.authManager.generatePkpDelegationAuthSig({ + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + authData: ctx.aliceViemAccountAuthData, + sessionKeyPair: ctx.sessionKeyPair, + authConfig: { + resources: [ + ['pkp-signing', '*'], + ['lit-action-execution', '*'], + ['access-control-condition-decryption', '*'], + ], + expiration: new Date(Date.now() + 1000 * 60 * 15).toISOString(), + }, + litClient: ctx.litClient, + }); + }); + + describe('executeJs integration', () => { + describe('EVM network', () => { + test('generatePrivateKey creates a new wrapped key', async () => { + const pkpSessionSigs = await createPkpSessionSigs(); + + const { pkpAddress, generatedPublicKey, id } = + await wrappedKeysApi.generatePrivateKey({ + pkpSessionSigs, + network: DEFAULT_NETWORK, + litClient: ctx.litClient, + memo: randomMemo('generate'), + }); + + expect(pkpAddress).toBe(ctx.aliceViemAccountPkp.ethAddress); + expect(generatedPublicKey).toBeTruthy(); + expect(id).toEqual(expect.any(String)); + }); + + test('exportPrivateKey decrypts a stored wrapped key', async () => { + const { id } = await generateWrappedKeyForTest(randomMemo('export')); + + const pkpSessionSigs = await createPkpSessionSigs(); + // Export once so we can derive and fund the generated key prior to gas estimation. + const { decryptedPrivateKey } = await wrappedKeysApi.exportPrivateKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + network: DEFAULT_NETWORK, + }); + + expect(decryptedPrivateKey.startsWith('0x')).toBe(true); + expect(decryptedPrivateKey.length).toBe(66); + }); + + test('listEncryptedKeyMetadata returns metadata for stored keys', async () => { + const memo = randomMemo('list'); + const { id } = await generateWrappedKeyForTest(memo); + const pkpSessionSigs = await createPkpSessionSigs(); + + const metadata = await wrappedKeysApi.listEncryptedKeyMetadata({ + pkpSessionSigs, + litClient: ctx.litClient, + }); + + const entry = metadata.find((item) => item.id === id); + expect(entry).toBeDefined(); + expect(entry?.memo).toBe(memo); + }); + + test('getEncryptedKey fetches ciphertext for a stored key', async () => { + const { id } = await generateWrappedKeyForTest(randomMemo('get')); + const pkpSessionSigs = await createPkpSessionSigs(); + + const storedKey = await wrappedKeysApi.getEncryptedKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + }); + + expect(storedKey.id).toBe(id); + expect(storedKey.ciphertext).toBeTruthy(); + expect(storedKey.dataToEncryptHash).toBeTruthy(); + }); + + test('importPrivateKey persists an externally generated key', async () => { + const pkpSessionSigs = await createPkpSessionSigs(); + const wallet = Wallet.createRandom(); + const memo = randomMemo('import'); + + const result = await wrappedKeysApi.importPrivateKey({ + pkpSessionSigs, + litClient: ctx.litClient, + privateKey: wallet.privateKey, + publicKey: wallet.publicKey, + keyType: 'K256', + memo, + }); + + expect(result.pkpAddress).toBe(ctx.aliceViemAccountPkp.ethAddress); + expect(result.id).toEqual(expect.any(String)); + }); + + test('storeEncryptedKey persists provided ciphertext', async () => { + const pkpSessionSigs = await createPkpSessionSigs(); + const payload = createStorePayload(); + + const result = await wrappedKeysApi.storeEncryptedKey({ + pkpSessionSigs, + litClient: ctx.litClient, + ...payload, + }); + + expect(result.pkpAddress).toBe(ctx.aliceViemAccountPkp.ethAddress); + expect(result.id).toEqual(expect.any(String)); + }); + + test('storeEncryptedKeyBatch persists multiple ciphertexts', async () => { + const pkpSessionSigs = await createPkpSessionSigs(); + const keyBatch = [createStorePayload(), createStorePayload()]; + + const result = await wrappedKeysApi.storeEncryptedKeyBatch({ + pkpSessionSigs, + litClient: ctx.litClient, + keyBatch, + }); + + expect(result.pkpAddress).toBe(ctx.aliceViemAccountPkp.ethAddress); + expect(result.ids.length).toBe(keyBatch.length); + for (const id of result.ids) { + expect(id).toEqual(expect.any(String)); + } + }); + + test('signMessageWithEncryptedKey signs messages with stored keys', async () => { + const { id } = await generateWrappedKeyForTest( + randomMemo('sign-message') + ); + const pkpSessionSigs = await createPkpSessionSigs(); + const message = 'hello from wrapped-keys'; + + const signature = await wrappedKeysApi.signMessageWithEncryptedKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + network: DEFAULT_NETWORK, + messageToSign: message, + }); + + expect(typeof signature).toBe('string'); + expect(signature.length).toBeGreaterThan(0); + }); + + test('signTransactionWithEncryptedKey signs EVM transactions', async () => { + const { id } = await generateWrappedKeyForTest( + randomMemo('sign-transaction') + ); + const pkpSessionSigs = await createPkpSessionSigs(); + + const { decryptedPrivateKey } = await wrappedKeysApi.exportPrivateKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + network: DEFAULT_NETWORK, + }); + + const generatedAccount = privateKeyToAccount( + decryptedPrivateKey as `0x${string}` + ); + + console.log( + 'Funding generated wrapped key address:', + generatedAccount.address + ); + + const fundingResult = await fundAccount( + generatedAccount, + ctx.masterAccount, + ctx.resolvedNetwork.networkModule, + { + ifLessThan: '0.005', + thenFund: '0.01', + } + ); + + if (fundingResult) { + console.log('Waiting for funding tx receipt:', fundingResult.txHash); + const publicClient = createPublicClient({ + chain: ctx.resolvedNetwork.networkModule.getChainConfig(), + transport: http(fundingResult.rpcUrl), + }); + + await publicClient.waitForTransactionReceipt({ + hash: fundingResult.txHash, + }); + } + + const unsignedTransaction = { + toAddress: ZERO_ADDRESS, + value: '0', + chainId: ctx.chainId, + chain: EVM_CHAIN, + }; + + const signedTransaction = + await wrappedKeysApi.signTransactionWithEncryptedKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + network: DEFAULT_NETWORK, + unsignedTransaction, + broadcast: false, + }); + + expect(typeof signedTransaction).toBe('string'); + expect(signedTransaction.length).toBeGreaterThan(0); + }); + + test('batchGeneratePrivateKeys generates multiple keys in one request', async () => { + const pkpSessionSigs = await createPkpSessionSigs(); + const actions = [ + { + network: DEFAULT_NETWORK, + generateKeyParams: { memo: randomMemo('batch-0') }, + }, + ]; + + try { + const result = await wrappedKeysApi.batchGeneratePrivateKeys({ + pkpSessionSigs, + litClient: ctx.litClient, + actions, + }); + + expect(result.pkpAddress).toBe(ctx.aliceViemAccountPkp.ethAddress); + expect(result.results.length).toBe(actions.length); + for (const actionResult of result.results) { + expect(actionResult.generateEncryptedPrivateKey.id).toEqual( + expect.any(String) + ); + } + } catch (error) { + if (error instanceof Error && error.message.includes('"error":413')) { + console.warn( + 'batchGeneratePrivateKeys: skipping assertions because Lit nodes returned 413 (payload too large / currently unsupported).' + ); + return; + } + + throw error; + } + }); + }); + + describe('Solana network', () => { + test('generatePrivateKey creates a new Solana wrapped key', async () => { + const pkpSessionSigs = await createPkpSessionSigs(); + + const { pkpAddress, generatedPublicKey, id } = + await wrappedKeysApi.generatePrivateKey({ + pkpSessionSigs, + network: SOLANA_NETWORK, + litClient: ctx.litClient, + memo: randomMemo('sol-generate'), + }); + + expect(pkpAddress).toBe(ctx.aliceViemAccountPkp.ethAddress); + expect(() => assertIsAddress(generatedPublicKey)).not.toThrow(); + expect(id).toEqual(expect.any(String)); + }); + + test('exportPrivateKey decrypts a stored Solana wrapped key', async () => { + const { id, publicKey } = await generateSolanaWrappedKeyForTest( + randomMemo('sol-export') + ); + + const pkpSessionSigs = await createPkpSessionSigs(); + + const exported = await wrappedKeysApi.exportPrivateKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + network: SOLANA_NETWORK, + }); + + expect(exported.keyType).toBe('ed25519'); + expect(exported.publicKey).toBe(publicKey); + expect(exported.decryptedPrivateKey).toMatch(/^[0-9a-f]+$/i); + expect(exported.decryptedPrivateKey.length).toBe(128); + + const exportedSecretKey = Uint8Array.from( + Buffer.from(exported.decryptedPrivateKey, 'hex') + ); + const { publicKey: exportedPublicKey } = await createKeyPairFromBytes( + exportedSecretKey, + true + ); + const derivedPublicKey = await getAddressFromPublicKey( + exportedPublicKey + ); + + expect(derivedPublicKey).toBe(publicKey); + }); + + test('listEncryptedKeyMetadata returns metadata for Solana keys', async () => { + const memo = randomMemo('sol-list'); + const { id } = await generateSolanaWrappedKeyForTest(memo); + const pkpSessionSigs = await createPkpSessionSigs(); + + const metadata = await wrappedKeysApi.listEncryptedKeyMetadata({ + pkpSessionSigs, + litClient: ctx.litClient, + }); + + const entry = metadata.find((item) => item.id === id); + expect(entry).toBeDefined(); + expect(entry?.memo).toBe(memo); + }); + + test('getEncryptedKey fetches ciphertext for a Solana key', async () => { + const { id } = await generateSolanaWrappedKeyForTest( + randomMemo('sol-get') + ); + const pkpSessionSigs = await createPkpSessionSigs(); + + const storedKey = await wrappedKeysApi.getEncryptedKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + }); + + expect(storedKey.id).toBe(id); + expect(storedKey.ciphertext).toBeTruthy(); + expect(storedKey.dataToEncryptHash).toBeTruthy(); + expect(storedKey.keyType).toBe('ed25519'); + }); + + test('storeEncryptedKey persists provided Solana ciphertext', async () => { + const pkpSessionSigs = await createPkpSessionSigs(); + const payload = createSolanaStorePayload(); + + const result = await wrappedKeysApi.storeEncryptedKey({ + pkpSessionSigs, + litClient: ctx.litClient, + ...payload, + }); + + expect(result.pkpAddress).toBe(ctx.aliceViemAccountPkp.ethAddress); + expect(result.id).toEqual(expect.any(String)); + }); + + test('storeEncryptedKeyBatch persists multiple Solana ciphertexts', async () => { + const pkpSessionSigs = await createPkpSessionSigs(); + const keyBatch = [ + createSolanaStorePayload(), + createSolanaStorePayload(), + ]; + + const result = await wrappedKeysApi.storeEncryptedKeyBatch({ + pkpSessionSigs, + litClient: ctx.litClient, + keyBatch, + }); + + expect(result.pkpAddress).toBe(ctx.aliceViemAccountPkp.ethAddress); + expect(result.ids.length).toBe(keyBatch.length); + for (const id of result.ids) { + expect(id).toEqual(expect.any(String)); + } + }); + + test('importPrivateKey persists a Solana wrapped key', async () => { + const pkpSessionSigs = await createPkpSessionSigs(); + const keyPair = nacl.sign.keyPair(); + const secretKeyBytes = keyPair.secretKey; + const publicKey = bs58.encode(keyPair.publicKey); + const privateKeyHex = Buffer.from(secretKeyBytes).toString('hex'); + + const memo = randomMemo('sol-import'); + const result = await wrappedKeysApi.importPrivateKey({ + pkpSessionSigs, + litClient: ctx.litClient, + privateKey: privateKeyHex, + publicKey, + keyType: 'ed25519', + memo, + }); + + expect(result.pkpAddress).toBe(ctx.aliceViemAccountPkp.ethAddress); + expect(result.id).toEqual(expect.any(String)); + }); + + test('signMessageWithEncryptedKey signs messages with Solana keys', async () => { + const { id, publicKey } = await generateSolanaWrappedKeyForTest( + randomMemo('sol-sign-message') + ); + const pkpSessionSigs = await createPkpSessionSigs(); + const message = 'hello from solana wrapped-keys'; + + const signature = await wrappedKeysApi.signMessageWithEncryptedKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + network: SOLANA_NETWORK, + messageToSign: message, + }); + + const decodedSignature = new Uint8Array(bs58.decode(signature)); + const messageBytes = new TextEncoder().encode(message); + const publicKeyBytes = new Uint8Array(bs58.decode(publicKey)); + + const cryptoKey = await crypto.subtle.importKey( + 'raw', + publicKeyBytes, + { name: 'Ed25519' }, + false, + ['verify'] + ); + + const isValid = await verifySignature( + cryptoKey, + toSignatureBytes(decodedSignature), + messageBytes + ); + + expect(isValid).toBe(true); + }); + + test('signTransactionWithEncryptedKey signs Solana transactions', async () => { + const { id, publicKey } = await generateSolanaWrappedKeyForTest( + randomMemo('sol-sign-transaction') + ); + const pkpSessionSigs = await createPkpSessionSigs(); + + const unsignedTransaction = createSolanaUnsignedTransaction(publicKey); + + const signature = await wrappedKeysApi.signTransactionWithEncryptedKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + network: SOLANA_NETWORK, + unsignedTransaction, + broadcast: false, + }); + + const decodedSignatureBytes = new Uint8Array(bs58.decode(signature)); + + const { decryptedPrivateKey } = await wrappedKeysApi.exportPrivateKey({ + pkpSessionSigs, + litClient: ctx.litClient, + id, + network: SOLANA_NETWORK, + }); + + const base64Encoder = getBase64Encoder(); + const transactionDecoder = getTransactionDecoder(); + const transactionBytes = base64Encoder.encode( + unsignedTransaction.serializedTransaction + ); + const transaction = transactionDecoder.decode(transactionBytes); + const messageBytes = transaction.messageBytes; + const privateKeyBytes = Uint8Array.from( + Buffer.from(decryptedPrivateKey, 'hex') + ); + const { privateKey: signingKey } = await createKeyPairFromBytes( + privateKeyBytes, + true + ); + const expectedSignature = await signBytes(signingKey, messageBytes); + + expect(Array.from(decodedSignatureBytes)).toEqual( + Array.from(expectedSignature) + ); + }); + }); + }); +}; diff --git a/packages/e2e/src/test-helpers/signSessionKey/pregen-delegation.ts b/packages/e2e/src/test-helpers/signSessionKey/pregen-delegation.ts new file mode 100644 index 0000000000..9126023c1b --- /dev/null +++ b/packages/e2e/src/test-helpers/signSessionKey/pregen-delegation.ts @@ -0,0 +1,106 @@ +import { + createAuthManager, + generateSessionKeyPair, + storagePlugins, + validateDelegationAuthSig, +} from '@lit-protocol/auth'; +import { createLitClient } from '@lit-protocol/lit-client'; +import { ResolvedNetwork } from '../../helper/network'; +import { AuthData } from '@lit-protocol/schemas'; +import { AuthManagerInstance, LitClientInstance } from '../../types'; + +type PregenDelegationParams = { + authManager: AuthManagerInstance; + authData: AuthData; + pkpPublicKey: string; + clientLitClient: LitClientInstance; + resolvedNetwork: ResolvedNetwork; +}; + +export const createPregenDelegationServerReuseTest = ( + params: PregenDelegationParams +) => { + return async () => { + const { + authManager, + authData, + pkpPublicKey, + clientLitClient, + resolvedNetwork, + } = params; + + // 1. Generate session key pair and delegation auth sig + const sessionKeyPair = generateSessionKeyPair(); + const delegationAuthSig = await authManager.generatePkpDelegationAuthSig({ + pkpPublicKey, + authData, + sessionKeyPair, + authConfig: { + resources: [ + ['pkp-signing', '*'], + ['lit-action-execution', '*'], + ['access-control-condition-decryption', '*'], + ], + expiration: new Date(Date.now() + 1000 * 60 * 15).toISOString(), + }, + litClient: clientLitClient, + }); + + // 2. Create envelope to send over the wire + const envelope = JSON.stringify({ + pkpPublicKey, + payload: Buffer.from( + JSON.stringify({ sessionKeyPair, delegationAuthSig }), + 'utf8' + ).toString('base64url'), + }); + + // 3. On server side, parse envelope and validate delegation auth sig + const parsedEnvelope = JSON.parse(envelope) as { + pkpPublicKey: string; + payload: string; + }; + + const decodedPayload = JSON.parse( + Buffer.from(parsedEnvelope.payload, 'base64url').toString('utf8') + ) as { + sessionKeyPair: typeof sessionKeyPair; + delegationAuthSig: typeof delegationAuthSig; + }; + + validateDelegationAuthSig({ + delegationAuthSig: decodedPayload.delegationAuthSig, + sessionKeyUri: decodedPayload.sessionKeyPair.publicKey, + }); + + const litClient = await createLitClient({ + network: resolvedNetwork.networkModule, + }); + + const serverAuthManager = createAuthManager({ + storage: storagePlugins.localStorageNode({ + appName: 'e2e-server-reuse', + networkName: resolvedNetwork.name, + storagePath: './.e2e/server-reuse-storage', + }), + }); + + // 4. Recreate auth context on server side + const authContext = + await serverAuthManager.createPkpAuthContextFromPreGenerated({ + pkpPublicKey: parsedEnvelope.pkpPublicKey, + sessionKeyPair: decodedPayload.sessionKeyPair, + delegationAuthSig: decodedPayload.delegationAuthSig, + }); + + const result = await litClient.chain.ethereum.pkpSign({ + authContext, + pubKey: parsedEnvelope.pkpPublicKey, + toSign: 'hello from server reuse', + }); + + console.log('result:', result); + + expect(result).toBeTruthy(); + }; +}; diff --git a/packages/e2e/src/tickets/jss-35-naga-wrapped-keys.spec.ts b/packages/e2e/src/tickets/jss-35-naga-wrapped-keys.spec.ts new file mode 100644 index 0000000000..06b0910225 --- /dev/null +++ b/packages/e2e/src/tickets/jss-35-naga-wrapped-keys.spec.ts @@ -0,0 +1,5 @@ +import { registerWrappedKeysExecuteJsTests } from '../test-helpers/executeJs/wrappedKeys'; + +describe('Wrapped Keys executeJs integration', () => { + registerWrappedKeysExecuteJsTests(); +}); diff --git a/packages/e2e/src/tickets/jss36-pregen-delegation.spec.ts b/packages/e2e/src/tickets/jss36-pregen-delegation.spec.ts new file mode 100644 index 0000000000..9395615611 --- /dev/null +++ b/packages/e2e/src/tickets/jss36-pregen-delegation.spec.ts @@ -0,0 +1,19 @@ +import { initFast } from '../init'; +import { createPregenDelegationServerReuseTest } from '../test-helpers/signSessionKey/pregen-delegation'; + +describe('PKP Auth with Pre-generated Materials', () => { + let ctx: Awaited>; + + beforeAll(async () => { + ctx = await initFast(); + }); + + test('Try to pregen', async () => + createPregenDelegationServerReuseTest({ + authManager: ctx.authManager, + authData: ctx.aliceViemAccountAuthData, + pkpPublicKey: ctx.aliceViemAccountPkp.pubkey, + clientLitClient: ctx.litClient, + resolvedNetwork: ctx.resolvedNetwork, + })()); +}); diff --git a/packages/e2e/src/types.ts b/packages/e2e/src/types.ts index 6a84f07ec6..888a502ed2 100644 --- a/packages/e2e/src/types.ts +++ b/packages/e2e/src/types.ts @@ -1,9 +1,10 @@ import { createAuthManager } from '@lit-protocol/auth'; import { createLitClient } from '@lit-protocol/lit-client'; +import type { LitClient } from '@lit-protocol/lit-client'; import { privateKeyToAccount } from 'viem/accounts'; export type ViemAccount = ReturnType; -export type LitClientInstance = Awaited>; +export type LitClientInstance = LitClient; export type AuthManagerInstance = Awaited>; export type AuthContext = Awaited< ReturnType< diff --git a/packages/e2e/tsconfig.spec.json b/packages/e2e/tsconfig.spec.json new file mode 100644 index 0000000000..56fd568062 --- /dev/null +++ b/packages/e2e/tsconfig.spec.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "include": ["src/**/*.ts"] +} diff --git a/packages/lit-client/src/lib/LitClient/createLitClient.ts b/packages/lit-client/src/lib/LitClient/createLitClient.ts index f497d1a273..6f9d8dfbdb 100644 --- a/packages/lit-client/src/lib/LitClient/createLitClient.ts +++ b/packages/lit-client/src/lib/LitClient/createLitClient.ts @@ -45,6 +45,8 @@ import { LitNodeSignature, PkpIdentifierRaw, RequestItem, + AuthSig, + ExecuteJsResponse, } from '@lit-protocol/types'; import { uint8arrayFromString, @@ -67,6 +69,10 @@ import { MintWithCustomAuthSchema, } from './schemas/MintWithCustomAuthSchema'; import { NagaNetworkModule } from './type'; +import type { + NagaLitClient, + NagaLitClientContext, +} from './types/NagaLitClient.type'; const _logger = getChildLogger({ module: 'createLitClient', @@ -169,7 +175,7 @@ export const createLitClient = async ({ */ export const _createNagaLitClient = async ( networkModule: NagaNetworkModule -) => { +): Promise => { const _stateManager = await networkModule.createStateManager< Awaited>, NagaNetworkModule @@ -227,6 +233,12 @@ export const _createNagaLitClient = async ( ); } + if (!currentConnectionInfo) { + throw new Error( + 'Connection info is not available from state manager at the time of pkpSign.' + ); + } + const jitContext = await networkModule.api.createJitContext( currentConnectionInfo, currentHandshakeResult @@ -296,7 +308,7 @@ export const _createNagaLitClient = async ( async function _signSessionKey(params: { nodeUrls: string[]; requestBody: z.infer; - }) { + }): Promise { // 1. 🟩 get the fresh handshake results const currentHandshakeResult = _stateManager.getCallbackResult(); const currentConnectionInfo = _stateManager.getLatestConnectionInfo(); @@ -313,6 +325,12 @@ export const _createNagaLitClient = async ( ); } + if (!currentConnectionInfo) { + throw new Error( + 'Connection info is not available from state manager at the time of pkpSign.' + ); + } + const jitContext = await networkModule.api.createJitContext( currentConnectionInfo, currentHandshakeResult @@ -349,7 +367,7 @@ export const _createNagaLitClient = async ( requestBody: z.infer< typeof JsonSignCustomSessionKeyRequestForPkpReturnSchema >; - }) { + }): Promise { // 1. 🟩 get the fresh handshake results const currentHandshakeResult = _stateManager.getCallbackResult(); const currentConnectionInfo = _stateManager.getLatestConnectionInfo(); @@ -368,6 +386,12 @@ export const _createNagaLitClient = async ( ); } + if (!currentConnectionInfo) { + throw new Error( + 'Connection info is not available from state manager at the time of pkpSign.' + ); + } + const jitContext = await networkModule.api.createJitContext( currentConnectionInfo, currentHandshakeResult @@ -416,7 +440,7 @@ export const _createNagaLitClient = async ( async function _executeJs( params: z.infer - ) { + ): Promise { _logger.info(`🔥 executing JS with ${params.code ? 'code' : 'ipfsId'}`); // 🟩 get the fresh handshake results @@ -435,6 +459,12 @@ export const _createNagaLitClient = async ( ); } + if (!currentConnectionInfo) { + throw new Error( + 'Connection info is not available from state manager at the time of executeJs.' + ); + } + const jitContext = await networkModule.api.createJitContext( currentConnectionInfo, currentHandshakeResult @@ -445,15 +475,19 @@ export const _createNagaLitClient = async ( // request array to the `networkModule`. It encapsulates logic specific to the // active network (e.g., pricing, thresholds, metadata) and returns a set of // structured requests ready to be dispatched to the nodes. - const requestArray = (await networkModule.api.executeJs.createRequest({ - // add pricing context for Lit Actions - pricingContext: { - product: 'LIT_ACTION', - userMaxPrice: params.userMaxPrice, - nodePrices: jitContext.nodePrices, - threshold: currentHandshakeResult.threshold, - }, - authContext: params.authContext, + type ExecuteJsCreateRequestParams = Parameters< + typeof networkModule.api.executeJs.createRequest + >[0]; + + const pricingContext: ExecuteJsCreateRequestParams['pricingContext'] = { + product: 'LIT_ACTION', + userMaxPrice: params.userMaxPrice, + nodePrices: jitContext.nodePrices, + threshold: currentHandshakeResult.threshold, + }; + + const baseExecuteJsParams = { + pricingContext, executionContext: { code: params.code, ipfsId: params.ipfsId, @@ -464,7 +498,22 @@ export const _createNagaLitClient = async ( useSingleNode: params.useSingleNode, responseStrategy: params.responseStrategy, jitContext, - })) as RequestItem>[]; + }; + + const executeJsParams: ExecuteJsCreateRequestParams = + 'sessionSigs' in params && params.sessionSigs + ? { + ...baseExecuteJsParams, + sessionSigs: params.sessionSigs, + } + : { + ...baseExecuteJsParams, + authContext: params.authContext, + }; + + const requestArray = (await networkModule.api.executeJs.createRequest( + executeJsParams + )) as RequestItem>[]; const requestId = requestArray[0].requestId; @@ -650,10 +699,17 @@ export const _createNagaLitClient = async ( ); // ========== Encrypt ========== + const encryptionPayload = + dataAsUint8Array instanceof Uint8Array + ? dataAsUint8Array + : new Uint8Array(dataAsUint8Array); + + const identityBytes = uint8arrayFromString(identityParam, 'utf8'); + const ciphertext = await blsEncrypt( currentHandshakeResult.coreNodeConfig.subnetPubKey, - dataAsUint8Array, - uint8arrayFromString(identityParam, 'utf8') + encryptionPayload, + identityBytes ); return { @@ -700,6 +756,12 @@ export const _createNagaLitClient = async ( ); } + if (!currentConnectionInfo) { + throw new Error( + 'Connection info is not available from state manager at the time of decrypt.' + ); + } + const jitContext = await networkModule.api.createJitContext( currentConnectionInfo, currentHandshakeResult @@ -831,13 +893,14 @@ export const _createNagaLitClient = async ( return response; } - const litClient = { + const litClient: NagaLitClient = { + networkName: networkModule.getNetworkName(), // This function is likely be used by another module to get the current context, eg. auth manager // only adding what is required by other modules for now. // maybe you will need connectionInfo: _stateManager.getLatestConnectionInfo(), encrypt: _encrypt, decrypt: _decrypt, - getContext: async () => { + getContext: async (): Promise => { return { latestBlockhash: await _stateManager.getLatestBlockhash(), latestConnectionInfo: _stateManager.getLatestConnectionInfo(), diff --git a/packages/lit-client/src/lib/LitClient/type.ts b/packages/lit-client/src/lib/LitClient/type.ts index bc401fd1bc..7fbe05970f 100644 --- a/packages/lit-client/src/lib/LitClient/type.ts +++ b/packages/lit-client/src/lib/LitClient/type.ts @@ -2,7 +2,10 @@ import { NagaLocalModule } from '@lit-protocol/networks'; import { NagaDevModule } from '@lit-protocol/networks'; import { NagaStagingModule } from '@lit-protocol/networks'; -// import { NagaLitClient } from './types/NagaLitClient.type'; +import type { + NagaLitClient, + NagaLitClientContext, +} from './types/NagaLitClient.type'; /** * ========== All Network Modules ========== @@ -27,5 +30,5 @@ export type NagaNetworkModule = /** * Union type for all possible Lit clients */ -// export type LitClient = NagaLitClient; -// | DatilLitClient; +export type LitClient = NagaLitClient; +export type LitClientContext = NagaLitClientContext; diff --git a/packages/lit-client/src/lib/LitClient/types/BaseClient.type.ts b/packages/lit-client/src/lib/LitClient/types/BaseClient.type.ts index 8ca43d66c1..8b9a59dad5 100644 --- a/packages/lit-client/src/lib/LitClient/types/BaseClient.type.ts +++ b/packages/lit-client/src/lib/LitClient/types/BaseClient.type.ts @@ -11,6 +11,7 @@ import { ChainConfig } from 'viem'; * Base interface shared by all Lit clients */ export interface BaseLitClient { + networkName: string; encrypt: (params: EncryptSdkParams) => Promise; decrypt: (params: DecryptRequest) => Promise; getContext: () => Promise; @@ -20,7 +21,7 @@ export interface BaseLitClient { }; disconnect: () => void; getDefault: { - authServiceUrl: string; + authServiceUrl?: string; loginUrl: string; }; } diff --git a/packages/lit-client/src/lib/LitClient/types/NagaLitClient.type.ts b/packages/lit-client/src/lib/LitClient/types/NagaLitClient.type.ts index 148a30d44b..9484069eba 100644 --- a/packages/lit-client/src/lib/LitClient/types/NagaLitClient.type.ts +++ b/packages/lit-client/src/lib/LitClient/types/NagaLitClient.type.ts @@ -1,51 +1,78 @@ import { nagaLocal } from '@lit-protocol/networks'; +import type { + ConnectionInfo, + PKPStorageProvider, +} from '@lit-protocol/networks'; import { ExecuteJsResponse, + AuthSig, LitNodeSignature, EncryptSdkParams, EncryptResponse, DecryptRequest, DecryptResponse, PkpIdentifierRaw, + OrchestrateHandshakeResponse, } from '@lit-protocol/types'; import { z } from 'zod'; import { MintWithCustomAuthRequest } from '../schemas/MintWithCustomAuthSchema'; import { BaseLitClient } from './BaseClient.type'; import { AuthContextSchema2, - AuthDataSchema, + AuthData, HexPrefixedSchema, + JsonSignSessionKeyRequestForPkpReturnSchema, + JsonSignCustomSessionKeyRequestForPkpReturnSchema, } from '@lit-protocol/schemas'; import { Chain, Hex } from 'viem'; -import type { PKPStorageProvider } from '@lit-protocol/networks'; -// export interface NagaLitClientContext { -// latestBlockhash: string; -// latestConnectionInfo: ConnectionInfo; -// handshakeResult: OrchestrateHandshakeResponse; -// getMaxPricesForNodeProduct: ( -// nodeProduct: MaxPricesForNodes -// ) => Promise; -// getUserMaxPrice: (nodeProduct: MaxPricesForNodes) => Promise; -// signSessionKey: (params: { -// nodeUrls: string[]; -// requestBody: z.infer; -// }) => Promise; -// signCustomSessionKey: (params: { -// nodeUrls: string[]; -// requestBody: z.infer< -// typeof JsonSignCustomSessionKeyRequestForPkpReturnSchema -// >; -// }) => Promise; -// executeJs: ( -// params: z.infer -// ) => Promise; -// } +type GetMaxPricesForNodeProductFn = + typeof import('@lit-protocol/networks')['getMaxPricesForNodeProduct']; +type GetUserMaxPriceFn = + typeof import('@lit-protocol/networks')['getUserMaxPrice']; + +type RawPkpSignInput = z.infer; + +type EthereumPkpSignInput = Omit< + z.input, + 'chain' | 'signingScheme' +> & { + chain?: never; + signingScheme?: never; +}; + +type BitcoinPkpSignInput = Omit< + z.input, + 'chain' +> & { + chain?: never; +}; + +export interface NagaLitClientContext { + latestBlockhash: string; + latestConnectionInfo: ConnectionInfo | null; + handshakeResult: OrchestrateHandshakeResponse | null; + getMaxPricesForNodeProduct: GetMaxPricesForNodeProductFn; + getUserMaxPrice: GetUserMaxPriceFn; + signSessionKey: (params: { + nodeUrls: string[]; + requestBody: z.infer; + }) => Promise; + signCustomSessionKey: (params: { + nodeUrls: string[]; + requestBody: z.infer< + typeof JsonSignCustomSessionKeyRequestForPkpReturnSchema + >; + }) => Promise; + executeJs: ( + params: z.infer + ) => Promise; +} /** * Naga network client with full PKP signing capabilities */ -export interface NagaLitClient extends BaseLitClient { +export interface NagaLitClient extends BaseLitClient { /** * Encrypts data with access control conditions using BLS encryption * @param params - Encryption parameters including data and access control conditions @@ -92,7 +119,21 @@ export interface NagaLitClient extends BaseLitClient { * Gets the current client context including handshake results and connection info * @returns Promise resolving to the current client context */ - getContext: () => Promise; + getContext: () => Promise; + /** + * Utility helpers for interacting with network-level resources + */ + utils: { + /** + * Resolves the derived public key for a given derived key identifier + * @example + * ```ts + * import { keccak256, stringToBytes } from 'viem'; + * const derivedKeyId = keccak256(stringToBytes(`lit_action_${IPFS_CID}`)); + * ``` + */ + getDerivedKeyId: (derivedKeyId: string) => Promise; + }; /** * Gets chain configuration including Viem config and RPC URL @@ -107,7 +148,7 @@ export interface NagaLitClient extends BaseLitClient { * Default service URLs for authentication and login */ getDefault: { - authServiceUrl: string; + authServiceUrl?: string; loginUrl: string; }; @@ -214,13 +255,7 @@ export interface NagaLitClient extends BaseLitClient { * ``` */ viewPKPsByAuthData: (params: { - authData: - | { - authMethodType: number | bigint; - authMethodId: string; - accessToken?: string; - } - | z.infer; + authData: Partial; pagination?: { limit?: number; offset?: number }; storageProvider?: PKPStorageProvider; }) => Promise; @@ -253,6 +288,14 @@ export interface NagaLitClient extends BaseLitClient { * @returns Promise resolving to PKP minting result */ mintWithAuth: (params: any) => Promise; + /** + * Registers a payer via the authentication service + */ + registerPayer: (params: any) => Promise; + /** + * Delegates users via the authentication service + */ + delegateUsers: (params: any) => Promise; }; /** @@ -328,9 +371,7 @@ export interface NagaLitClient extends BaseLitClient { * }); * ``` */ - pkpSign: ( - params: z.infer - ) => Promise; + pkpSign: (params: RawPkpSignInput) => Promise; }; /** * Ethereum-specific PKP signing methods @@ -348,9 +389,7 @@ export interface NagaLitClient extends BaseLitClient { * }); * ``` */ - pkpSign: ( - params: z.infer - ) => Promise; + pkpSign: (params: EthereumPkpSignInput) => Promise; }; /** * Bitcoin-specific PKP signing methods @@ -368,9 +407,7 @@ export interface NagaLitClient extends BaseLitClient { * }); * ``` */ - pkpSign: ( - params: z.infer - ) => Promise; + pkpSign: (params: BitcoinPkpSignInput) => Promise; }; }; } diff --git a/packages/lit-client/src/lib/index.ts b/packages/lit-client/src/lib/index.ts index 0377586d74..52ee17f42d 100644 --- a/packages/lit-client/src/lib/index.ts +++ b/packages/lit-client/src/lib/index.ts @@ -1,2 +1,7 @@ export * from './LitClient/createLitClient'; export { utils } from './LitClient/utils'; +export type { + NagaLitClient, + NagaLitClientContext, +} from './LitClient/types/NagaLitClient.type'; +export type { LitClient, LitClientContext } from './LitClient/type'; diff --git a/packages/networks/src/index.ts b/packages/networks/src/index.ts index 8520ab74bf..f8266a891b 100644 --- a/packages/networks/src/index.ts +++ b/packages/networks/src/index.ts @@ -54,3 +54,5 @@ export type { PkpIdentifierRaw } from './networks/vNaga/shared/managers/LitChain export { getMaxPricesForNodeProduct } from './networks/vNaga/shared/managers/pricing-manager/getMaxPricesForNodeProduct'; export { getUserMaxPrice } from './networks/vNaga/shared/managers/pricing-manager/getUserMaxPrice'; export { PRODUCT_IDS } from './networks/vNaga/shared/managers/pricing-manager/constants'; +export { PricingContextSchema } from './networks/vNaga/shared/managers/pricing-manager/schema'; +export { issueSessionFromContext } from './networks/vNaga/shared/managers/session-manager/issueSessionFromContext'; diff --git a/packages/networks/src/networks/vNaga/shared/factories/BaseModuleFactory.ts b/packages/networks/src/networks/vNaga/shared/factories/BaseModuleFactory.ts index 4302a9cb6f..a7fc555004 100644 --- a/packages/networks/src/networks/vNaga/shared/factories/BaseModuleFactory.ts +++ b/packages/networks/src/networks/vNaga/shared/factories/BaseModuleFactory.ts @@ -607,11 +607,28 @@ export function createBaseModule(config: BaseModuleConfig) { ): Promise>[]> => { _logger.info({ params }, 'pkpSign:createRequest: Creating request'); - // Generate session sigs - const sessionSigs = await issueSessionFromContext({ - pricingContext: PricingContextSchema.parse(params.pricingContext), - authContext: params.authContext, - }); + // Generate or reuse session sigs + let sessionSigs: Record; + if ( + params.sessionSigs && + Object.keys(params.sessionSigs).length > 0 + ) { + sessionSigs = params.sessionSigs; + } else { + if (!params.authContext) { + throw new Error( + 'authContext is required when sessionSigs are not provided for pkpSign.' + ); + } + const pricingContext = PricingContextSchema.parse( + params.pricingContext + ); + sessionSigs = await issueSessionFromContext({ + pricingContext, + authContext: params.authContext, + delegationAuthSig: params.delegationAuthSig, + }); + } _logger.info('pkpSign:createRequest: Session sigs generated'); @@ -743,6 +760,11 @@ export function createBaseModule(config: BaseModuleConfig) { _logger.info({ params }, 'decrypt:createRequest: Creating request'); // Generate session sigs for decrypt + if (!params.authContext) { + throw new Error( + 'authContext is required when generating sessionSigs for decrypt.' + ); + } const sessionSigs = await issueSessionFromContext({ pricingContext: PricingContextSchema.parse(params.pricingContext), authContext: params.authContext, @@ -1144,11 +1166,27 @@ export function createBaseModule(config: BaseModuleConfig) { // Store response strategy for later use in handleResponse executeJsResponseStrategy = params.responseStrategy; - // Generate session sigs - const sessionSigs = await issueSessionFromContext({ - pricingContext: PricingContextSchema.parse(params.pricingContext), - authContext: params.authContext, - }); + let sessionSigs: Record; + if ( + params.sessionSigs && + Object.keys(params.sessionSigs).length > 0 + ) { + sessionSigs = params.sessionSigs; + } else { + if (!params.authContext) { + throw new Error( + 'authContext is required when sessionSigs are not provided for executeJs.' + ); + } + const pricingContext = PricingContextSchema.parse( + params.pricingContext + ); + sessionSigs = await issueSessionFromContext({ + pricingContext, + authContext: params.authContext, + delegationAuthSig: params.delegationAuthSig, + }); + } // Generate requests const _requestId = createRequestId(); diff --git a/packages/networks/src/networks/vNaga/shared/managers/api-manager/APIFactory.ts b/packages/networks/src/networks/vNaga/shared/managers/api-manager/APIFactory.ts index b8accd5ac5..99da9dc880 100644 --- a/packages/networks/src/networks/vNaga/shared/managers/api-manager/APIFactory.ts +++ b/packages/networks/src/networks/vNaga/shared/managers/api-manager/APIFactory.ts @@ -5,7 +5,7 @@ import { GenericEncryptedPayloadSchema, GenericResultBuilder, } from '@lit-protocol/schemas'; -import { RequestItem, NagaJitContext } from '@lit-protocol/types'; +import { RequestItem, NagaJitContext, AuthSig } from '@lit-protocol/types'; import { NodeError, UnknownError } from '@lit-protocol/constants'; import { E2EERequestManager } from './e2ee-request-manager/E2EERequestManager'; @@ -38,11 +38,20 @@ export function createPKPSignAPI(networkConfig: INetworkConfig) { ): Promise>[]> => { _logger.info({ params }, 'pkpSign:createRequest: Creating request'); - // Generate session sigs - const sessionSigs = await issueSessionFromContext({ - pricingContext: PricingContextSchema.parse(params.pricingContext), - authContext: params.authContext, - }); + // Generate or reuse session sigs + let sessionSigs: Record; + if ('sessionSigs' in params && params.sessionSigs) { + sessionSigs = params.sessionSigs; + } else { + const pricingContext = PricingContextSchema.parse( + params.pricingContext + ); + sessionSigs = await issueSessionFromContext({ + pricingContext, + authContext: params.authContext, + delegationAuthSig: params.delegationAuthSig, + }); + } _logger.info('pkpSign:createRequest: Session sigs generated'); @@ -264,11 +273,19 @@ export function createExecuteJsAPI(networkConfig: INetworkConfig) { createRequest: async (params: ExecuteJsCreateRequestParams) => { _logger.info({ params }, 'executeJs:createRequest: Creating request'); - // Generate session sigs - const sessionSigs = await issueSessionFromContext({ - pricingContext: PricingContextSchema.parse(params.pricingContext), - authContext: params.authContext, - }); + let sessionSigs: Record; + if ('sessionSigs' in params && params.sessionSigs) { + sessionSigs = params.sessionSigs; + } else { + const pricingContext = PricingContextSchema.parse( + params.pricingContext + ); + sessionSigs = await issueSessionFromContext({ + pricingContext, + authContext: params.authContext, + delegationAuthSig: params.delegationAuthSig, + }); + } const _requestId = createRequestId(); const requests: RequestItem>[] = diff --git a/packages/networks/src/networks/vNaga/shared/managers/api-manager/executeJs/executeJs.CreateRequestParams.ts b/packages/networks/src/networks/vNaga/shared/managers/api-manager/executeJs/executeJs.CreateRequestParams.ts index 1a5c613876..bdb3f397b6 100644 --- a/packages/networks/src/networks/vNaga/shared/managers/api-manager/executeJs/executeJs.CreateRequestParams.ts +++ b/packages/networks/src/networks/vNaga/shared/managers/api-manager/executeJs/executeJs.CreateRequestParams.ts @@ -2,16 +2,17 @@ import { PKPAuthContextSchema, EoaAuthContextSchema, } from '@lit-protocol/schemas'; -import { LitActionResponseStrategy, NagaJitContext } from '@lit-protocol/types'; +import { + AuthSig, + LitActionResponseStrategy, + NagaJitContext, +} from '@lit-protocol/types'; import { z } from 'zod'; import { PricingContextSchema } from '../../pricing-manager/schema'; import { ConnectionInfo } from '../../LitChainClient/types'; -export type ExecuteJsCreateRequestParams = { +type ExecuteJsCreateRequestParamsBase = { pricingContext: z.input; - authContext: z.input< - typeof PKPAuthContextSchema | typeof EoaAuthContextSchema - >; executionContext: { code?: string; ipfsId?: string; @@ -23,3 +24,23 @@ export type ExecuteJsCreateRequestParams = { responseStrategy?: LitActionResponseStrategy; jitContext: NagaJitContext; }; + +export type ExecuteJsCreateRequestParamsWithAuthContext = + ExecuteJsCreateRequestParamsBase & { + authContext: z.input< + typeof PKPAuthContextSchema | typeof EoaAuthContextSchema + >; + sessionSigs?: never; + delegationAuthSig?: AuthSig; + }; + +export type ExecuteJsCreateRequestParamsWithSessionSigs = + ExecuteJsCreateRequestParamsBase & { + sessionSigs: Record; + authContext?: undefined; + delegationAuthSig?: AuthSig; + }; + +export type ExecuteJsCreateRequestParams = + | ExecuteJsCreateRequestParamsWithAuthContext + | ExecuteJsCreateRequestParamsWithSessionSigs; diff --git a/packages/networks/src/networks/vNaga/shared/managers/api-manager/executeJs/executeJs.InputSchema.ts b/packages/networks/src/networks/vNaga/shared/managers/api-manager/executeJs/executeJs.InputSchema.ts index 237f35c7f7..26978af78f 100644 --- a/packages/networks/src/networks/vNaga/shared/managers/api-manager/executeJs/executeJs.InputSchema.ts +++ b/packages/networks/src/networks/vNaga/shared/managers/api-manager/executeJs/executeJs.InputSchema.ts @@ -1,63 +1,90 @@ import { PKPAuthContextSchema, EoaAuthContextSchema, + AuthSigSchema, } from '@lit-protocol/schemas'; import { LitActionResponseStrategy } from '@lit-protocol/types'; import { z } from 'zod'; -/** - * ExecuteJs Input Schema - * Based on JsonExecutionSdkParams but following the naga-dev module pattern - */ +const SessionSigsSchema = z.record(z.string(), AuthSigSchema); + +const ExecuteJsSharedFieldsSchema = z.object({ + /** + * JS code to run on the nodes + */ + code: z.string().optional(), + + /** + * The IPFS ID of some JS code to run on the nodes + */ + ipfsId: z.string().optional(), + + /** + * An object that contains params to expose to the Lit Action. + * These will be injected to the JS runtime before your code runs. + */ + jsParams: z + .union([ + z.any(), + z + .object({ + publicKey: z.string().optional(), + sigName: z.string().optional(), + }) + .catchall(z.any()), + ]) + .optional(), + + /** + * User's maximum price they're willing to pay for the request + */ + userMaxPrice: z.bigint().optional(), + + /** + * Only run the action on a single node; this will only work if all code in your action is non-interactive + */ + useSingleNode: z.boolean().optional(), + + /** + * Response strategy for processing Lit Action responses + */ + responseStrategy: z.custom().optional(), +}); + +const ExecuteJsInputWithAuthContextSchema = ExecuteJsSharedFieldsSchema.extend({ + /** + * Authentication context - either PKP or EOA based + */ + authContext: z.union([PKPAuthContextSchema, EoaAuthContextSchema]), + + /** + * Session signatures must not be supplied when an auth context is provided. + */ + sessionSigs: z.undefined().optional(), +}); + +const ExecuteJsInputWithSessionSigsSchema = ExecuteJsSharedFieldsSchema.extend({ + /** + * Pre-generated session signatures; when provided, authContext must be omitted. + */ + sessionSigs: SessionSigsSchema, + + /** + * authContext is intentionally unsupported in this branch. + */ + authContext: z.undefined().optional(), +}); + export const ExecuteJsInputSchema = z - .object({ - /** - * JS code to run on the nodes - */ - code: z.string().optional(), - - /** - * The IPFS ID of some JS code to run on the nodes - */ - ipfsId: z.string().optional(), - - /** - * An object that contains params to expose to the Lit Action. - * These will be injected to the JS runtime before your code runs. - */ - jsParams: z - .union([ - z.any(), - z - .object({ - publicKey: z.string().optional(), - sigName: z.string().optional(), - }) - .catchall(z.any()), - ]) - .optional(), - - /** - * Authentication context - either PKP or EOA based - */ - authContext: z.union([PKPAuthContextSchema, EoaAuthContextSchema]), - - /** - * User's maximum price they're willing to pay for the request - */ - userMaxPrice: z.bigint().optional(), - - /** - * Only run the action on a single node; this will only work if all code in your action is non-interactive - */ - useSingleNode: z.boolean().optional(), - - /** - * Response strategy for processing Lit Action responses - */ - responseStrategy: z.custom().optional(), - }) + .union([ + ExecuteJsInputWithAuthContextSchema, + ExecuteJsInputWithSessionSigsSchema, + ]) .refine((data) => data.code || data.ipfsId, { message: "Either 'code' or 'ipfsId' must be provided", path: ['code'], }); + +export type ExecuteJsInput = + | z.infer + | z.infer; diff --git a/packages/networks/src/networks/vNaga/shared/managers/api-manager/pkpSign/pkpSign.CreateRequestParams.ts b/packages/networks/src/networks/vNaga/shared/managers/api-manager/pkpSign/pkpSign.CreateRequestParams.ts index df1daeab0a..b3214b31ec 100644 --- a/packages/networks/src/networks/vNaga/shared/managers/api-manager/pkpSign/pkpSign.CreateRequestParams.ts +++ b/packages/networks/src/networks/vNaga/shared/managers/api-manager/pkpSign/pkpSign.CreateRequestParams.ts @@ -5,7 +5,7 @@ import { PKPAuthContextSchema, SigningChainSchema, } from '@lit-protocol/schemas'; -import { NagaJitContext } from '@lit-protocol/types'; +import { NagaJitContext, AuthSig, SessionSigsMap } from '@lit-protocol/types'; import { z } from 'zod'; import { ConnectionInfo } from '../../LitChainClient/types'; import { PricingContextSchema } from '../../pricing-manager/schema'; @@ -30,4 +30,6 @@ export type PKPSignCreateRequestParams = { version: string; chain: z.infer; jitContext: NagaJitContext; + sessionSigs?: SessionSigsMap; + delegationAuthSig?: AuthSig; }; diff --git a/packages/networks/src/networks/vNaga/shared/managers/session-manager/issueSessionFromContext.ts b/packages/networks/src/networks/vNaga/shared/managers/session-manager/issueSessionFromContext.ts index d77c0a9262..66ce2343dd 100644 --- a/packages/networks/src/networks/vNaga/shared/managers/session-manager/issueSessionFromContext.ts +++ b/packages/networks/src/networks/vNaga/shared/managers/session-manager/issueSessionFromContext.ts @@ -5,6 +5,7 @@ import { AuthConfigSchema, } from '@lit-protocol/schemas'; import { + AuthSig, LitResourceAbilityRequest, SessionSigningTemplate, SessionSigsMap, @@ -59,9 +60,11 @@ export const issueSessionFromContext = async (params: { typeof PKPAuthContextSchema | typeof EoaAuthContextSchema >; pricingContext: PricingContext; + delegationAuthSig?: AuthSig; // latestBlockhash: string; }): Promise => { - const authSig = await params.authContext.authNeededCallback(); + const authSig = + params.delegationAuthSig || (await params.authContext.authNeededCallback()); const _authConfig = AuthConfigSchema.parse(params.authContext.authConfig); const capabilities = [ diff --git a/packages/wrapped-keys-lit-actions/deno-fetch-shim.js b/packages/wrapped-keys-lit-actions/deno-fetch-shim.js new file mode 100644 index 0000000000..c7e1f0e7ce --- /dev/null +++ b/packages/wrapped-keys-lit-actions/deno-fetch-shim.js @@ -0,0 +1,2 @@ +const denoFetch = (...args) => globalThis.fetch(...args); +export default denoFetch; diff --git a/packages/wrapped-keys-lit-actions/esbuild.config.js b/packages/wrapped-keys-lit-actions/esbuild.config.js index 311ebc338e..8f755d37b1 100644 --- a/packages/wrapped-keys-lit-actions/esbuild.config.js +++ b/packages/wrapped-keys-lit-actions/esbuild.config.js @@ -24,9 +24,15 @@ const wrapIIFEInStringPlugin = { result.outputFiles.forEach((outputFile) => { let content = outputFile.text; + + // Strip any Buffer shim imports that esbuild may have injected + const bufferImportRegex = + /^import\s+\{\s*Buffer\s*\}\s+from\s+['"]node:buffer['"];\s*globalThis\.Buffer\s*=\s*globalThis\.Buffer\s*\|\|\s*Buffer;\s*/m; + content = content.replace(bufferImportRegex, ''); + // Use JSON.stringify to safely encode the content const wrappedContent = `/** - * DO NOT EDIT THIS FILE. IT IS GENERATED ON BUILD. RUN \`yarn generate-lit-actions\` IN THE ROOT DIRECTORY TO UPDATE THIS FILE. + * DO NOT EDIT THIS FILE. IT IS GENERATED ON BUILD. RUN \`pnpm generate-lit-actions\` IN THE ROOT DIRECTORY TO UPDATE THIS FILE. * @type {string} */ const code = ${JSON.stringify(content)}; @@ -51,12 +57,12 @@ module.exports = { await esbuild .build({ entryPoints: [ - './src/lib/self-executing-actions/solana/signTransactionWithEncryptedSolanaKey.ts', - './src/lib/self-executing-actions/solana/signMessageWithEncryptedSolanaKey.ts', - './src/lib/self-executing-actions/solana/generateEncryptedSolanaPrivateKey.ts', './src/lib/self-executing-actions/ethereum/signTransactionWithEncryptedEthereumKey.ts', './src/lib/self-executing-actions/ethereum/signMessageWithEncryptedEthereumKey.ts', './src/lib/self-executing-actions/ethereum/generateEncryptedEthereumPrivateKey.ts', + './src/lib/self-executing-actions/solana/signTransactionWithEncryptedSolanaKey.ts', + './src/lib/self-executing-actions/solana/signMessageWithEncryptedSolanaKey.ts', + './src/lib/self-executing-actions/solana/generateEncryptedSolanaPrivateKey.ts', './src/lib/self-executing-actions/common/exportPrivateKey.ts', './src/lib/self-executing-actions/common/batchGenerateEncryptedKeys.ts', ], @@ -71,19 +77,44 @@ module.exports = { platform: 'browser', }) .then((result) => { - result.outputFiles.forEach((file) => { + // Simple ANSI color helpers + const color = { + reset: '\x1b[0m', + bold: '\x1b[1m', + green: '\x1b[32m', + cyan: '\x1b[36m', + gray: '\x1b[90m', + dim: '\x1b[2m', + }; + + console.log( + `\n${color.bold}${color.cyan}📦 Built Lit Actions:${color.reset}\n` + ); + + const rows = result.outputFiles.map((file) => { + const fileName = file.path.split('/').pop() ?? file.path; const bytes = file.text.length; - const mbInBinary = (bytes / (1024 * 1024)).toFixed(4); - const mbInDecimal = (bytes / 1_000_000).toFixed(4); + const mbDecimal = (bytes / 1_000_000).toFixed(4); + const mbBinary = (bytes / (1024 * 1024)).toFixed(4); + return { fileName, mbDecimal, mbBinary }; + }); + const namePad = Math.max(...rows.map((r) => r.fileName.length)) + 2; + + for (const { fileName, mbDecimal, mbBinary } of rows) { console.log( - `✅ ${file.path - .split('/') - .pop()}\n- ${mbInDecimal} MB (in decimal)\n- ${mbInBinary} MB (in binary)` + `${color.green}✔${color.reset} ${fileName.padEnd(namePad)} ${ + color.gray + }${mbDecimal} MB${color.reset} ${color.dim}(${mbBinary} MB binary)${ + color.reset + }` ); - }); + } + + console.log( + `\n${color.bold}${color.green}✅ Lit Actions built successfully!${color.reset}\n` + ); }); - console.log('✅ Lit actions built successfully'); } catch (e) { console.error('❌ Error building lit actions: ', e); process.exit(1); diff --git a/packages/wrapped-keys-lit-actions/package.json b/packages/wrapped-keys-lit-actions/package.json index 7ba07c4af2..8e18123468 100644 --- a/packages/wrapped-keys-lit-actions/package.json +++ b/packages/wrapped-keys-lit-actions/package.json @@ -24,7 +24,7 @@ "genReact": false }, "scripts": { - "generate-lit-actions": "yarn node ./esbuild.config.js" + "generate-lit-actions": "node ./esbuild.config.js" }, "version": "8.0.1", "main": "./src/index.js", diff --git a/packages/wrapped-keys-lit-actions/project.json b/packages/wrapped-keys-lit-actions/project.json index 6be195f3c2..2295824917 100644 --- a/packages/wrapped-keys-lit-actions/project.json +++ b/packages/wrapped-keys-lit-actions/project.json @@ -9,7 +9,7 @@ "executor": "nx:run-commands", "options": { "commands": [ - "yarn --cwd ./packages/wrapped-keys-lit-actions generate-lit-actions" + "pnpm --dir ./packages/wrapped-keys-lit-actions run generate-lit-actions" ], "cwd": "." } diff --git a/packages/wrapped-keys-lit-actions/src/lib/internal/solana/generatePrivateKey.ts b/packages/wrapped-keys-lit-actions/src/lib/internal/solana/generatePrivateKey.ts index 35c0a4ec46..6d54822d22 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/internal/solana/generatePrivateKey.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/internal/solana/generatePrivateKey.ts @@ -1,5 +1,4 @@ import { Keypair } from '@solana/web3.js'; - export function generateSolanaPrivateKey() { const solanaKeypair = Keypair.generate(); diff --git a/packages/wrapped-keys-lit-actions/src/lib/internal/solana/signMessage.ts b/packages/wrapped-keys-lit-actions/src/lib/internal/solana/signMessage.ts index d0d464263c..ffc9cdc8c5 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/internal/solana/signMessage.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/internal/solana/signMessage.ts @@ -1,7 +1,7 @@ import { Buffer } from 'buffer'; import { Keypair } from '@solana/web3.js'; -import { nacl } from '@lit-protocol/nacl'; +import nacl from 'tweetnacl'; interface SignMessageParams { messageToSign: string; diff --git a/packages/wrapped-keys-lit-actions/src/lib/internal/solana/signTransaction.ts b/packages/wrapped-keys-lit-actions/src/lib/internal/solana/signTransaction.ts index af24371ff8..a9aba72e73 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/internal/solana/signTransaction.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/internal/solana/signTransaction.ts @@ -1,5 +1,5 @@ +import type { Cluster } from '@solana/web3.js'; import { - Cluster, clusterApiUrl, Connection, Keypair, diff --git a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/common/batchGenerateEncryptedKeys.ts b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/common/batchGenerateEncryptedKeys.ts index ee1fea8401..4e298d8d9e 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/common/batchGenerateEncryptedKeys.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/common/batchGenerateEncryptedKeys.ts @@ -3,11 +3,7 @@ import { batchGenerateEncryptedKeys } from '../../raw-action-functions/common/ba import type { BatchGenerateEncryptedKeysParams } from '../../raw-action-functions/common/batchGenerateEncryptedKeys'; -// Using local declarations to avoid _every file_ thinking these are always in scope -declare const actions: BatchGenerateEncryptedKeysParams['actions']; -declare const accessControlConditions: BatchGenerateEncryptedKeysParams['accessControlConditions']; +declare const jsParams: BatchGenerateEncryptedKeysParams; (async () => - litActionHandler(async () => - batchGenerateEncryptedKeys({ actions, accessControlConditions }) - ))(); + litActionHandler(async () => batchGenerateEncryptedKeys(jsParams)))(); diff --git a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/common/exportPrivateKey.ts b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/common/exportPrivateKey.ts index e7a6a7b4df..ae6c14595e 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/common/exportPrivateKey.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/common/exportPrivateKey.ts @@ -3,16 +3,6 @@ import { exportPrivateKey } from '../../raw-action-functions/common/exportPrivat import type { ExportPrivateKeyParams } from '../../raw-action-functions/common/exportPrivateKey'; -// Using local declarations to avoid _every file_ thinking these are always in scope -declare const ciphertext: ExportPrivateKeyParams['ciphertext']; -declare const dataToEncryptHash: ExportPrivateKeyParams['dataToEncryptHash']; -declare const accessControlConditions: ExportPrivateKeyParams['accessControlConditions']; +declare const jsParams: ExportPrivateKeyParams; -(async () => - litActionHandler(async () => - exportPrivateKey({ - accessControlConditions, - ciphertext, - dataToEncryptHash, - }) - ))(); +(async () => litActionHandler(async () => exportPrivateKey(jsParams)))(); diff --git a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/generateEncryptedEthereumPrivateKey.ts b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/generateEncryptedEthereumPrivateKey.ts index efb043bb35..53bda9bf3d 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/generateEncryptedEthereumPrivateKey.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/generateEncryptedEthereumPrivateKey.ts @@ -3,12 +3,9 @@ import { generateEncryptedEthereumPrivateKey } from '../../raw-action-functions/ import type { GenerateEncryptedEthereumPrivateKeyParams } from '../../raw-action-functions/ethereum/generateEncryptedEthereumPrivateKey'; -// Using local declarations to avoid _every file_ thinking these are always in scope -declare const accessControlConditions: GenerateEncryptedEthereumPrivateKeyParams['accessControlConditions']; +declare const jsParams: GenerateEncryptedEthereumPrivateKeyParams; (async () => litActionHandler(async () => - generateEncryptedEthereumPrivateKey({ - accessControlConditions, - }) + generateEncryptedEthereumPrivateKey(jsParams) ))(); diff --git a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/signMessageWithEncryptedEthereumKey.ts b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/signMessageWithEncryptedEthereumKey.ts index 7dd6e18c42..412846254c 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/signMessageWithEncryptedEthereumKey.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/signMessageWithEncryptedEthereumKey.ts @@ -3,18 +3,14 @@ import { signMessageWithEncryptedEthereumKey } from '../../raw-action-functions/ import type { SignMessageWithEncryptedEthereumKeyParams } from '../../raw-action-functions/ethereum/signMessageWithEncryptedEthereumKey'; -// Using local declarations to avoid _every file_ thinking these are always in scope -declare const accessControlConditions: SignMessageWithEncryptedEthereumKeyParams['accessControlConditions']; -declare const ciphertext: SignMessageWithEncryptedEthereumKeyParams['ciphertext']; -declare const dataToEncryptHash: SignMessageWithEncryptedEthereumKeyParams['dataToEncryptHash']; -declare const messageToSign: SignMessageWithEncryptedEthereumKeyParams['messageToSign']; +declare const jsParams: SignMessageWithEncryptedEthereumKeyParams; (async () => litActionHandler(async () => signMessageWithEncryptedEthereumKey({ - accessControlConditions, - ciphertext, - dataToEncryptHash, - messageToSign, + accessControlConditions: jsParams.accessControlConditions, + ciphertext: jsParams.ciphertext, + dataToEncryptHash: jsParams.dataToEncryptHash, + messageToSign: jsParams.messageToSign, }) ))(); diff --git a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/signTransactionWithEncryptedEthereumKey.ts b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/signTransactionWithEncryptedEthereumKey.ts index 36bb3996b4..56e87d96d7 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/signTransactionWithEncryptedEthereumKey.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/ethereum/signTransactionWithEncryptedEthereumKey.ts @@ -3,22 +3,9 @@ import { signTransactionWithEncryptedEthereumKey } from '../../raw-action-functi import type { SignTransactionWithEncryptedEthereumKeyParams } from '../../raw-action-functions/ethereum/signTransactionWithEncryptedEthereumKey'; -// Using local declarations to avoid _every file_ thinking these are always in scope -// Ugly, but using `declare global` causes conflicts with `solana`'s `unsignedTransaction` which is different -// as well as making all of our functions think all other functions args are valid globals in every file in the package -declare const accessControlConditions: SignTransactionWithEncryptedEthereumKeyParams['accessControlConditions']; -declare const ciphertext: SignTransactionWithEncryptedEthereumKeyParams['ciphertext']; -declare const dataToEncryptHash: SignTransactionWithEncryptedEthereumKeyParams['dataToEncryptHash']; -declare const unsignedTransaction: SignTransactionWithEncryptedEthereumKeyParams['unsignedTransaction']; -declare const broadcast: SignTransactionWithEncryptedEthereumKeyParams['broadcast']; +declare const jsParams: SignTransactionWithEncryptedEthereumKeyParams; (async () => litActionHandler(async () => - signTransactionWithEncryptedEthereumKey({ - accessControlConditions, - ciphertext, - dataToEncryptHash, - unsignedTransaction, - broadcast, - }) + signTransactionWithEncryptedEthereumKey(jsParams) ))(); diff --git a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/generateEncryptedSolanaPrivateKey.ts b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/generateEncryptedSolanaPrivateKey.ts index ff073cc1d4..ceefb2069e 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/generateEncryptedSolanaPrivateKey.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/generateEncryptedSolanaPrivateKey.ts @@ -3,12 +3,7 @@ import { generateEncryptedSolanaPrivateKey } from '../../raw-action-functions/so import type { GenerateEncryptedSolanaPrivateKeyParams } from '../../raw-action-functions/solana/generateEncryptedSolanaPrivateKey'; -// Using local declarations to avoid _every file_ thinking these are always in scope -declare const accessControlConditions: GenerateEncryptedSolanaPrivateKeyParams['accessControlConditions']; +declare const jsParams: GenerateEncryptedSolanaPrivateKeyParams; (async () => - litActionHandler(async () => - generateEncryptedSolanaPrivateKey({ - accessControlConditions, - }) - ))(); + litActionHandler(async () => generateEncryptedSolanaPrivateKey(jsParams)))(); diff --git a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/signMessageWithEncryptedSolanaKey.ts b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/signMessageWithEncryptedSolanaKey.ts index 070eeaaeb0..676588aa68 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/signMessageWithEncryptedSolanaKey.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/signMessageWithEncryptedSolanaKey.ts @@ -3,18 +3,7 @@ import { signMessageWithEncryptedSolanaKey } from '../../raw-action-functions/so import type { SignMessageWithEncryptedSolanaKeyParams } from '../../raw-action-functions/solana/signMessageWithEncryptedSolanaKey'; -// Using local declarations to avoid _every file_ thinking these are always in scope -declare const accessControlConditions: SignMessageWithEncryptedSolanaKeyParams['accessControlConditions']; -declare const ciphertext: SignMessageWithEncryptedSolanaKeyParams['ciphertext']; -declare const dataToEncryptHash: SignMessageWithEncryptedSolanaKeyParams['dataToEncryptHash']; -declare const messageToSign: SignMessageWithEncryptedSolanaKeyParams['messageToSign']; +declare const jsParams: SignMessageWithEncryptedSolanaKeyParams; (async () => - litActionHandler(async () => - signMessageWithEncryptedSolanaKey({ - accessControlConditions, - ciphertext, - dataToEncryptHash, - messageToSign, - }) - ))(); + litActionHandler(async () => signMessageWithEncryptedSolanaKey(jsParams)))(); diff --git a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/signTransactionWithEncryptedSolanaKey.ts b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/signTransactionWithEncryptedSolanaKey.ts index 9725ae5342..ab620e69dc 100644 --- a/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/signTransactionWithEncryptedSolanaKey.ts +++ b/packages/wrapped-keys-lit-actions/src/lib/self-executing-actions/solana/signTransactionWithEncryptedSolanaKey.ts @@ -3,24 +3,9 @@ import { signTransactionWithEncryptedSolanaKey } from '../../raw-action-function import type { SignTransactionWithEncryptedSolanaKeyParams } from '../../raw-action-functions/solana/signTransactionWithEncryptedSolanaKey'; -// Using local declarations to avoid _every file_ thinking these are always in scope -// Ugly, but using `declare global` causes conflicts with `ethereum`'s `unsignedTransaction` which is different -// as well as making all of our functions think all other functions args are valid globals in every file in the package -declare const accessControlConditions: SignTransactionWithEncryptedSolanaKeyParams['accessControlConditions']; -declare const ciphertext: SignTransactionWithEncryptedSolanaKeyParams['ciphertext']; -declare const dataToEncryptHash: SignTransactionWithEncryptedSolanaKeyParams['dataToEncryptHash']; -declare const unsignedTransaction: SignTransactionWithEncryptedSolanaKeyParams['unsignedTransaction']; -declare const broadcast: SignTransactionWithEncryptedSolanaKeyParams['broadcast']; -declare const versionedTransaction: SignTransactionWithEncryptedSolanaKeyParams['versionedTransaction']; +declare const jsParams: SignTransactionWithEncryptedSolanaKeyParams; (async () => litActionHandler(async () => - signTransactionWithEncryptedSolanaKey({ - accessControlConditions, - ciphertext, - dataToEncryptHash, - unsignedTransaction, - broadcast, - versionedTransaction, - }) + signTransactionWithEncryptedSolanaKey(jsParams) ))(); diff --git a/packages/wrapped-keys-lit-actions/sync-actions-to-ipfs.js b/packages/wrapped-keys-lit-actions/sync-actions-to-ipfs.js index 5fbba5d2f0..67a57810ce 100644 --- a/packages/wrapped-keys-lit-actions/sync-actions-to-ipfs.js +++ b/packages/wrapped-keys-lit-actions/sync-actions-to-ipfs.js @@ -1,17 +1,85 @@ +const fs = require('fs'); +const path = require('path'); const axios = require('axios'); const FormData = require('form-data'); -const { - litActionRepository, - litActionRepositoryCommon, -} = require('./dist/src/index'); +function loadLitActionExports() { + const candidates = [ + path.resolve( + __dirname, + '../../dist/packages/wrapped-keys-lit-actions/src/index.js' + ), + path.resolve( + __dirname, + '../../dist/out-tsc/packages/wrapped-keys-lit-actions/src/index.js' + ), + ]; + + for (const candidate of candidates) { + try { + return require(candidate); + } catch (error) { + if (error.code !== 'MODULE_NOT_FOUND') { + throw error; + } + } + } + + throw new Error( + 'Unable to locate built Lit action exports. Please build the package first (e.g. `pnpm nx build wrapped-keys-lit-actions`).' + ); +} + +const { litActionRepository, litActionRepositoryCommon } = + loadLitActionExports(); + +function renderLitActionRepository(repo) { + const actionEntries = Object.entries(repo).map(([actionName, networks]) => { + const networkEntries = Object.entries(networks) + .map(([networkName, cid]) => ` ${networkName}: '${cid}',`) + .join('\n'); + + return ` ${actionName}: Object.freeze({\n${networkEntries}\n }),`; + }); + + return `Object.freeze({\n${actionEntries.join('\n')}\n});`; +} + +function renderLitActionRepositoryCommon(repo) { + const commonEntries = Object.entries(repo) + .map(([actionName, cid]) => ` ${actionName}: '${cid}'`) + .join(',\n'); + + return `Object.freeze({\n${commonEntries}\n});`; +} + +function updateConstantsFile(cidRepo, cidRepoCommon) { + const constantsFilePath = path.resolve( + __dirname, + '../wrapped-keys/src/lib/lit-actions-client/constants.ts' + ); + + const fileContents = `import { LitCidRepository, LitCidRepositoryCommon } from './types'; + +const LIT_ACTION_CID_REPOSITORY: LitCidRepository = ${renderLitActionRepository( + cidRepo + )} + +const LIT_ACTION_CID_REPOSITORY_COMMON: LitCidRepositoryCommon = ${renderLitActionRepositoryCommon( + cidRepoCommon + )} + +export { LIT_ACTION_CID_REPOSITORY, LIT_ACTION_CID_REPOSITORY_COMMON }; +`; + + fs.writeFileSync(constantsFilePath, fileContents); +} /** Usage: * 1. Ensure you have a valid Pinata IPFS JWT in `LIT_IPFS_JWT` env var - * 2. Make sure you run `yarn build` to ensure that all LIT actions code has been built into the generated directory from the current commit - * 3. `node sync-actions-to-ipfs` -> this will print out JSON of the `LIT_ACTION_CID_REPOSITORY` and LIT_ACTION_CID_REPOSITORY_COMMON - * 4. Copy/paste the CIDs into those objects in `packages/wrapped-keys/src/lib/lit-actions-client/constants.ts` - * 5. Commit the changes and push them to your branch + * 2. Make sure you run the library build (`pnpm nx build wrapped-keys-lit-actions`) so the generated actions are up to date + * 3. `node sync-actions-to-ipfs` -> this will pin the latest lit actions, update `packages/wrapped-keys/src/lib/lit-actions-client/constants.ts`, and print the CID JSON for verification + * 4. Review the diff in `constants.ts` and commit the changes */ const JWT = process.env.LIT_IPFS_JWT || ''; @@ -95,6 +163,10 @@ async function gogo() { getCidRepository(litActionRepository), ]); + updateConstantsFile(cidRepo, cidRepoCommon); + console.log( + 'Updated constants file at packages/wrapped-keys/src/lib/lit-actions-client/constants.ts' + ); console.log('common', cidRepoCommon); console.log('byNetwork', cidRepo); } diff --git a/packages/wrapped-keys/package.json b/packages/wrapped-keys/package.json index 9e1af9412a..1d9631342d 100644 --- a/packages/wrapped-keys/package.json +++ b/packages/wrapped-keys/package.json @@ -25,5 +25,13 @@ }, "version": "8.0.1", "main": "./src/index.js", - "typings": "./src/index.d.ts" + "typings": "./src/index.d.ts", + "dependencies": { + "@lit-protocol/auth": "workspace:*", + "@lit-protocol/constants": "workspace:*", + "@lit-protocol/lit-client": "workspace:*", + "@lit-protocol/networks": "workspace:*", + "@lit-protocol/schemas": "workspace:*", + "@lit-protocol/types": "workspace:*" + } } diff --git a/packages/wrapped-keys/src/index.ts b/packages/wrapped-keys/src/index.ts index 88312d4671..f94419f6f1 100644 --- a/packages/wrapped-keys/src/index.ts +++ b/packages/wrapped-keys/src/index.ts @@ -1,59 +1,27 @@ import { - signMessageWithEncryptedKey, - getEncryptedKey, + batchGeneratePrivateKeys, exportPrivateKey, generatePrivateKey, + getEncryptedKey, importPrivateKey, + listEncryptedKeyMetadata, + signMessageWithEncryptedKey, signTransactionWithEncryptedKey, storeEncryptedKey, - listEncryptedKeyMetadata, - batchGeneratePrivateKeys, storeEncryptedKeyBatch, } from './lib/api'; import { CHAIN_ETHEREUM, + KEYTYPE_ED25519, + KEYTYPE_K256, LIT_PREFIX, NETWORK_EVM, NETWORK_SOLANA, - KEYTYPE_K256, - KEYTYPE_ED25519, } from './lib/constants'; import { setLitActionsCode, setLitActionsCodeCommon, } from './lib/lit-actions-client/code-repository'; -import { - LitActionCodeRepository, - LitActionCodeRepositoryCommon, - LitActionCodeRepositoryEntry, -} from './lib/lit-actions-client/types'; - -import type { SupportedNetworks } from './lib/service-client/types'; -import type { - SignMessageWithEncryptedKeyParams, - GetEncryptedKeyDataParams, - ExportPrivateKeyParams, - GeneratePrivateKeyParams, - ImportPrivateKeyParams, - SignTransactionWithEncryptedKeyParams, - ExportPrivateKeyResult, - GeneratePrivateKeyResult, - EthereumLitTransaction, - SerializedTransaction, - BaseApiParams, - ApiParamsSupportedNetworks, - SignTransactionParams, - SignTransactionParamsSupportedEvm, - SignTransactionParamsSupportedSolana, - StoreEncryptedKeyParams, - StoreEncryptedKeyBatchParams, - StoredKeyData, - StoredKeyMetadata, - ListEncryptedKeyMetadataParams, - StoreEncryptedKeyResult, - ImportPrivateKeyResult, - StoreEncryptedKeyBatchResult, -} from './lib/types'; export const constants = { CHAIN_ETHEREUM, @@ -82,32 +50,38 @@ export const config = { setLitActionsCodeCommon, }; -export { +export type { ApiParamsSupportedNetworks, BaseApiParams, + BatchGeneratePrivateKeysResult, EthereumLitTransaction, ExportPrivateKeyParams, ExportPrivateKeyResult, - GetEncryptedKeyDataParams, GeneratePrivateKeyParams, GeneratePrivateKeyResult, + GetEncryptedKeyDataParams, ImportPrivateKeyParams, ImportPrivateKeyResult, ListEncryptedKeyMetadataParams, - LitActionCodeRepository, - LitActionCodeRepositoryCommon, - LitActionCodeRepositoryEntry, + LitClient, SerializedTransaction, + SignMessageWithEncryptedKeyParams, SignTransactionParams, SignTransactionParamsSupportedEvm, SignTransactionParamsSupportedSolana, - SignMessageWithEncryptedKeyParams, SignTransactionWithEncryptedKeyParams, - StoreEncryptedKeyParams, - StoreEncryptedKeyResult, StoreEncryptedKeyBatchParams, StoreEncryptedKeyBatchResult, + StoreEncryptedKeyParams, + StoreEncryptedKeyResult, StoredKeyData, StoredKeyMetadata, - SupportedNetworks, -}; +} from './lib/types'; + +export type { + LitActionCodeRepository, + LitActionCodeRepositoryCommon, + LitActionCodeRepositoryEntry, +} from './lib/lit-actions-client/types'; + +export type { SupportedNetworks } from './lib/service-client/types'; diff --git a/packages/wrapped-keys/src/lib/api/batch-generate-private-keys.ts b/packages/wrapped-keys/src/lib/api/batch-generate-private-keys.ts index 1d738ca92b..51f8076322 100644 --- a/packages/wrapped-keys/src/lib/api/batch-generate-private-keys.ts +++ b/packages/wrapped-keys/src/lib/api/batch-generate-private-keys.ts @@ -3,6 +3,7 @@ import { getKeyTypeFromNetwork, getPkpAccessControlCondition, getPkpAddressFromSessionSig, + getLitNetworkFromClient, } from './utils'; import { batchGenerateKeysWithLitAction } from '../lit-actions-client'; import { getLitActionCodeOrCidCommon } from '../lit-actions-client/utils'; @@ -22,7 +23,7 @@ import { export async function batchGeneratePrivateKeys( params: BatchGeneratePrivateKeysParams ): Promise { - const { pkpSessionSigs, litNodeClient } = params; + const { pkpSessionSigs, litClient } = params; const sessionSig = getFirstSessionSig(pkpSessionSigs); const pkpAddress = getPkpAddressFromSessionSig(sessionSig); @@ -35,6 +36,7 @@ export async function batchGeneratePrivateKeys( const actionResults = await batchGenerateKeysWithLitAction({ ...params, + litClient, litActionIpfsCid: litActionCode ? undefined : litActionIpfsCid, litActionCode: litActionCode ? litActionCode : undefined, accessControlConditions: [allowPkpAddressToDecrypt], @@ -52,7 +54,7 @@ export async function batchGeneratePrivateKeys( const { ids } = await storePrivateKeyBatch({ sessionSig, storedKeyMetadataBatch: keyParamsBatch, - litNetwork: litNodeClient.config.litNetwork, + litNetwork: getLitNetworkFromClient(litClient), }); const results = actionResults.map( diff --git a/packages/wrapped-keys/src/lib/api/export-private-key.ts b/packages/wrapped-keys/src/lib/api/export-private-key.ts index 10c0872b31..82c2229e91 100644 --- a/packages/wrapped-keys/src/lib/api/export-private-key.ts +++ b/packages/wrapped-keys/src/lib/api/export-private-key.ts @@ -2,6 +2,7 @@ import { getFirstSessionSig, getPkpAccessControlCondition, getPkpAddressFromSessionSig, + getLitNetworkFromClient, } from './utils'; import { exportPrivateKeyWithLitAction } from '../lit-actions-client'; import { getLitActionCodeOrCid } from '../lit-actions-client/utils'; @@ -20,16 +21,17 @@ import { ExportPrivateKeyParams, ExportPrivateKeyResult } from '../types'; export async function exportPrivateKey( params: ExportPrivateKeyParams ): Promise { - const { litNodeClient, network, pkpSessionSigs, id } = params; + const { litClient, network, pkpSessionSigs, id } = params; const sessionSig = getFirstSessionSig(pkpSessionSigs); const pkpAddress = getPkpAddressFromSessionSig(sessionSig); + const litNetwork = getLitNetworkFromClient(litClient); const storedKeyMetadata = await fetchPrivateKey({ pkpAddress, id, sessionSig, - litNetwork: litNodeClient.config.litNetwork, + litNetwork, }); const allowPkpAddressToDecrypt = getPkpAccessControlCondition( @@ -43,6 +45,7 @@ export async function exportPrivateKey( return exportPrivateKeyWithLitAction({ ...params, + litClient, litActionIpfsCid: litActionCode ? undefined : litActionIpfsCid, litActionCode: litActionCode ? litActionCode : undefined, accessControlConditions: [allowPkpAddressToDecrypt], diff --git a/packages/wrapped-keys/src/lib/api/generate-private-key.ts b/packages/wrapped-keys/src/lib/api/generate-private-key.ts index eab080cadb..5e2508556c 100644 --- a/packages/wrapped-keys/src/lib/api/generate-private-key.ts +++ b/packages/wrapped-keys/src/lib/api/generate-private-key.ts @@ -3,6 +3,7 @@ import { getKeyTypeFromNetwork, getPkpAccessControlCondition, getPkpAddressFromSessionSig, + getLitNetworkFromClient, } from './utils'; import { generateKeyWithLitAction } from '../lit-actions-client'; import { getLitActionCodeOrCid } from '../lit-actions-client/utils'; @@ -23,7 +24,7 @@ import { GeneratePrivateKeyParams, GeneratePrivateKeyResult } from '../types'; export async function generatePrivateKey( params: GeneratePrivateKeyParams ): Promise { - const { pkpSessionSigs, network, litNodeClient, memo } = params; + const { pkpSessionSigs, network, litClient, memo, userMaxPrice } = params; const firstSessionSig = getFirstSessionSig(pkpSessionSigs); const pkpAddress = getPkpAddressFromSessionSig(firstSessionSig); @@ -37,10 +38,12 @@ export async function generatePrivateKey( const { ciphertext, dataToEncryptHash, publicKey } = await generateKeyWithLitAction({ ...params, + litClient, pkpAddress, litActionIpfsCid: litActionCode ? undefined : litActionIpfsCid, litActionCode: litActionCode ? litActionCode : undefined, accessControlConditions: [allowPkpAddressToDecrypt], + userMaxPrice, }); const { id } = await storePrivateKey({ @@ -52,7 +55,7 @@ export async function generatePrivateKey( dataToEncryptHash, memo, }, - litNetwork: litNodeClient.config.litNetwork, + litNetwork: getLitNetworkFromClient(litClient), }); return { diff --git a/packages/wrapped-keys/src/lib/api/get-encrypted-key.ts b/packages/wrapped-keys/src/lib/api/get-encrypted-key.ts index 9c54f24aa6..a8d21fc654 100644 --- a/packages/wrapped-keys/src/lib/api/get-encrypted-key.ts +++ b/packages/wrapped-keys/src/lib/api/get-encrypted-key.ts @@ -1,4 +1,8 @@ -import { getFirstSessionSig, getPkpAddressFromSessionSig } from './utils'; +import { + getFirstSessionSig, + getPkpAddressFromSessionSig, + getLitNetworkFromClient, +} from './utils'; import { fetchPrivateKey } from '../service-client'; import { GetEncryptedKeyDataParams, StoredKeyData } from '../types'; @@ -11,15 +15,16 @@ import { GetEncryptedKeyDataParams, StoredKeyData } from '../types'; export async function getEncryptedKey( params: GetEncryptedKeyDataParams ): Promise { - const { pkpSessionSigs, litNodeClient, id } = params; + const { pkpSessionSigs, litClient, id } = params; const sessionSig = getFirstSessionSig(pkpSessionSigs); const pkpAddress = getPkpAddressFromSessionSig(sessionSig); + const litNetwork = getLitNetworkFromClient(litClient); return fetchPrivateKey({ pkpAddress, id, sessionSig, - litNetwork: litNodeClient.config.litNetwork, + litNetwork, }); } diff --git a/packages/wrapped-keys/src/lib/api/import-private-key.ts b/packages/wrapped-keys/src/lib/api/import-private-key.ts index 207fb632d7..8ab5385aab 100644 --- a/packages/wrapped-keys/src/lib/api/import-private-key.ts +++ b/packages/wrapped-keys/src/lib/api/import-private-key.ts @@ -2,6 +2,7 @@ import { getFirstSessionSig, getPkpAccessControlCondition, getPkpAddressFromSessionSig, + getLitNetworkFromClient, } from './utils'; import { LIT_PREFIX } from '../constants'; import { storePrivateKey } from '../service-client'; @@ -19,14 +20,8 @@ import { ImportPrivateKeyParams, ImportPrivateKeyResult } from '../types'; export async function importPrivateKey( params: ImportPrivateKeyParams ): Promise { - const { - pkpSessionSigs, - privateKey, - publicKey, - keyType, - litNodeClient, - memo, - } = params; + const { pkpSessionSigs, privateKey, publicKey, keyType, litClient, memo } = + params; const firstSessionSig = getFirstSessionSig(pkpSessionSigs); const pkpAddress = getPkpAddressFromSessionSig(firstSessionSig); @@ -34,14 +29,16 @@ export async function importPrivateKey( const saltedPrivateKey = LIT_PREFIX + privateKey; - const { ciphertext, dataToEncryptHash } = await litNodeClient.encrypt({ + const { ciphertext, dataToEncryptHash } = await litClient.encrypt({ accessControlConditions: [allowPkpAddressToDecrypt], dataToEncrypt: Buffer.from(saltedPrivateKey, 'utf8'), }); + const litNetwork = getLitNetworkFromClient(litClient); + const { id } = await storePrivateKey({ sessionSig: firstSessionSig, - litNetwork: litNodeClient.config.litNetwork, + litNetwork, storedKeyMetadata: { ciphertext, publicKey, diff --git a/packages/wrapped-keys/src/lib/api/list-encrypted-key-metadata.ts b/packages/wrapped-keys/src/lib/api/list-encrypted-key-metadata.ts index 21626c02a9..cefcbb89b0 100644 --- a/packages/wrapped-keys/src/lib/api/list-encrypted-key-metadata.ts +++ b/packages/wrapped-keys/src/lib/api/list-encrypted-key-metadata.ts @@ -1,4 +1,8 @@ -import { getFirstSessionSig, getPkpAddressFromSessionSig } from './utils'; +import { + getFirstSessionSig, + getPkpAddressFromSessionSig, + getLitNetworkFromClient, +} from './utils'; import { listPrivateKeyMetadata } from '../service-client'; import { ListEncryptedKeyMetadataParams, StoredKeyMetadata } from '../types'; @@ -12,13 +16,14 @@ import { ListEncryptedKeyMetadataParams, StoredKeyMetadata } from '../types'; export async function listEncryptedKeyMetadata( params: ListEncryptedKeyMetadataParams ): Promise { - const { pkpSessionSigs, litNodeClient } = params; + const { pkpSessionSigs, litClient } = params; const sessionSig = getFirstSessionSig(pkpSessionSigs); const pkpAddress = getPkpAddressFromSessionSig(sessionSig); + const litNetwork = getLitNetworkFromClient(litClient); return listPrivateKeyMetadata({ pkpAddress, sessionSig, - litNetwork: litNodeClient.config.litNetwork, + litNetwork, }); } diff --git a/packages/wrapped-keys/src/lib/api/sign-message-with-encrypted-key.ts b/packages/wrapped-keys/src/lib/api/sign-message-with-encrypted-key.ts index d629306bef..b865f07ede 100644 --- a/packages/wrapped-keys/src/lib/api/sign-message-with-encrypted-key.ts +++ b/packages/wrapped-keys/src/lib/api/sign-message-with-encrypted-key.ts @@ -2,6 +2,7 @@ import { getFirstSessionSig, getPkpAccessControlCondition, getPkpAddressFromSessionSig, + getLitNetworkFromClient, } from './utils'; import { signMessageWithLitAction } from '../lit-actions-client'; import { getLitActionCodeOrCid } from '../lit-actions-client/utils'; @@ -20,16 +21,17 @@ import { SignMessageWithEncryptedKeyParams } from '../types'; export async function signMessageWithEncryptedKey( params: SignMessageWithEncryptedKeyParams ): Promise { - const { litNodeClient, network, pkpSessionSigs, id } = params; + const { litClient, network, pkpSessionSigs, id } = params; const sessionSig = getFirstSessionSig(pkpSessionSigs); const pkpAddress = getPkpAddressFromSessionSig(sessionSig); + const litNetwork = getLitNetworkFromClient(litClient); const storedKeyMetadata = await fetchPrivateKey({ pkpAddress, id, sessionSig, - litNetwork: litNodeClient.config.litNetwork, + litNetwork, }); const allowPkpAddressToDecrypt = getPkpAccessControlCondition( @@ -43,6 +45,7 @@ export async function signMessageWithEncryptedKey( return signMessageWithLitAction({ ...params, + litClient, litActionIpfsCid: litActionCode ? undefined : litActionIpfsCid, litActionCode: litActionCode ? litActionCode : undefined, accessControlConditions: [allowPkpAddressToDecrypt], diff --git a/packages/wrapped-keys/src/lib/api/sign-transaction-with-encrypted-key.ts b/packages/wrapped-keys/src/lib/api/sign-transaction-with-encrypted-key.ts index 7df1daf132..93e3ffb211 100644 --- a/packages/wrapped-keys/src/lib/api/sign-transaction-with-encrypted-key.ts +++ b/packages/wrapped-keys/src/lib/api/sign-transaction-with-encrypted-key.ts @@ -2,6 +2,7 @@ import { getFirstSessionSig, getPkpAccessControlCondition, getPkpAddressFromSessionSig, + getLitNetworkFromClient, } from './utils'; import { signTransactionWithLitAction } from '../lit-actions-client'; import { getLitActionCodeOrCid } from '../lit-actions-client/utils'; @@ -22,16 +23,17 @@ import { SignTransactionWithEncryptedKeyParams } from '../types'; export async function signTransactionWithEncryptedKey( params: SignTransactionWithEncryptedKeyParams ): Promise { - const { litNodeClient, network, pkpSessionSigs, id } = params; + const { litClient, network, pkpSessionSigs, id } = params; const sessionSig = getFirstSessionSig(pkpSessionSigs); const pkpAddress = getPkpAddressFromSessionSig(sessionSig); + const litNetwork = getLitNetworkFromClient(litClient); const storedKeyMetadata = await fetchPrivateKey({ pkpAddress, id, sessionSig, - litNetwork: litNodeClient.config.litNetwork, + litNetwork, }); const allowPkpAddressToDecrypt = getPkpAccessControlCondition( @@ -45,6 +47,7 @@ export async function signTransactionWithEncryptedKey( return signTransactionWithLitAction({ ...params, + litClient, litActionIpfsCid: litActionCode ? undefined : litActionIpfsCid, litActionCode: litActionCode ? litActionCode : undefined, storedKeyMetadata, diff --git a/packages/wrapped-keys/src/lib/api/store-encrypted-key-batch.ts b/packages/wrapped-keys/src/lib/api/store-encrypted-key-batch.ts index a7fa466a39..3570809816 100644 --- a/packages/wrapped-keys/src/lib/api/store-encrypted-key-batch.ts +++ b/packages/wrapped-keys/src/lib/api/store-encrypted-key-batch.ts @@ -1,4 +1,8 @@ -import { getFirstSessionSig, getPkpAddressFromSessionSig } from './utils'; +import { + getFirstSessionSig, + getPkpAddressFromSessionSig, + getLitNetworkFromClient, +} from './utils'; import { storePrivateKeyBatch } from '../service-client'; import { StoreKeyBatchParams } from '../service-client/types'; import { @@ -15,9 +19,10 @@ import { export async function storeEncryptedKeyBatch( params: StoreEncryptedKeyBatchParams ): Promise { - const { pkpSessionSigs, litNodeClient, keyBatch } = params; + const { pkpSessionSigs, litClient, keyBatch } = params; const sessionSig = getFirstSessionSig(pkpSessionSigs); const pkpAddress = getPkpAddressFromSessionSig(sessionSig); + const litNetwork = getLitNetworkFromClient(litClient); const storedKeyMetadataBatch: StoreKeyBatchParams['storedKeyMetadataBatch'] = keyBatch.map( @@ -48,6 +53,6 @@ export async function storeEncryptedKeyBatch( return storePrivateKeyBatch({ storedKeyMetadataBatch, sessionSig, - litNetwork: litNodeClient.config.litNetwork, + litNetwork, }); } diff --git a/packages/wrapped-keys/src/lib/api/store-encrypted-key.ts b/packages/wrapped-keys/src/lib/api/store-encrypted-key.ts index f37771cdc1..846bee1be1 100644 --- a/packages/wrapped-keys/src/lib/api/store-encrypted-key.ts +++ b/packages/wrapped-keys/src/lib/api/store-encrypted-key.ts @@ -1,4 +1,4 @@ -import { getFirstSessionSig, getPkpAddressFromSessionSig } from './utils'; +import { getFirstSessionSig, getLitNetworkFromClient } from './utils'; import { storePrivateKey } from '../service-client'; import { StoreEncryptedKeyParams, StoreEncryptedKeyResult } from '../types'; @@ -10,8 +10,9 @@ import { StoreEncryptedKeyParams, StoreEncryptedKeyResult } from '../types'; export async function storeEncryptedKey( params: StoreEncryptedKeyParams ): Promise { - const { pkpSessionSigs, litNodeClient } = params; + const { pkpSessionSigs, litClient } = params; const sessionSig = getFirstSessionSig(pkpSessionSigs); + const litNetwork = getLitNetworkFromClient(litClient); const { publicKey, keyType, dataToEncryptHash, ciphertext, memo } = params; @@ -24,6 +25,6 @@ export async function storeEncryptedKey( memo, }, sessionSig, - litNetwork: litNodeClient.config.litNetwork, + litNetwork, }); } diff --git a/packages/wrapped-keys/src/lib/api/utils.ts b/packages/wrapped-keys/src/lib/api/utils.ts index f81690d0c6..46b4348c31 100644 --- a/packages/wrapped-keys/src/lib/api/utils.ts +++ b/packages/wrapped-keys/src/lib/api/utils.ts @@ -1,5 +1,4 @@ -import { ethers } from 'ethers'; - +import { LIT_NETWORK, LIT_NETWORK_VALUES } from '@lit-protocol/constants'; import { logger } from '@lit-protocol/logger'; import { AccsDefaultParams, @@ -9,7 +8,8 @@ import { } from '@lit-protocol/types'; import { CHAIN_ETHEREUM, NETWORK_EVM, NETWORK_SOLANA } from '../constants'; -import { KeyType, Network } from '../types'; +import { ethers } from 'ethers'; +import { KeyType, Network, LitClient } from '../types'; export function getKeyTypeFromNetwork(network: Network): KeyType { if (network === NETWORK_EVM) { @@ -108,3 +108,21 @@ export function getPkpAccessControlCondition( }, }; } + +export function getLitNetworkFromClient( + litClient: LitClient +): LIT_NETWORK_VALUES { + const networkName = litClient.networkName; + + if (!networkName) { + throw new Error( + 'Unable to resolve litNetwork from the provided Lit client.' + ); + } + + if (!Object.values(LIT_NETWORK).includes(networkName as LIT_NETWORK_VALUES)) { + throw new Error(`Unsupported litNetwork value: ${networkName}`); + } + + return networkName as LIT_NETWORK_VALUES; +} diff --git a/packages/wrapped-keys/src/lib/lit-actions-client/batch-generate-keys.ts b/packages/wrapped-keys/src/lib/lit-actions-client/batch-generate-keys.ts index 4a041da3ad..4b3b919347 100644 --- a/packages/wrapped-keys/src/lib/lit-actions-client/batch-generate-keys.ts +++ b/packages/wrapped-keys/src/lib/lit-actions-client/batch-generate-keys.ts @@ -1,4 +1,3 @@ -import { GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK } from '@lit-protocol/constants'; import { AccessControlConditions } from '@lit-protocol/types'; import { postLitActionValidation } from './utils'; @@ -9,6 +8,7 @@ interface BatchGeneratePrivateKeysWithLitActionParams accessControlConditions: AccessControlConditions; litActionIpfsCid?: string; litActionCode?: string; + userMaxPrice?: bigint; } interface GeneratePrivateKeyLitActionResult { @@ -29,26 +29,24 @@ export async function batchGenerateKeysWithLitAction( ): Promise { const { accessControlConditions, - litNodeClient, + litClient, actions, pkpSessionSigs, litActionIpfsCid, litActionCode, + userMaxPrice, } = args; - const result = await litNodeClient.executeJs({ + const result = await litClient.executeJs({ useSingleNode: true, sessionSigs: pkpSessionSigs, ipfsId: litActionIpfsCid, code: litActionCode, + userMaxPrice, jsParams: { actions, accessControlConditions, }, - ipfsOptions: { - overwriteCode: - GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK[litNodeClient.config.litNetwork], - }, }); const response = postLitActionValidation(result); diff --git a/packages/wrapped-keys/src/lib/lit-actions-client/constants.ts b/packages/wrapped-keys/src/lib/lit-actions-client/constants.ts index 83360f84fc..b154790cdf 100644 --- a/packages/wrapped-keys/src/lib/lit-actions-client/constants.ts +++ b/packages/wrapped-keys/src/lib/lit-actions-client/constants.ts @@ -2,25 +2,25 @@ import { LitCidRepository, LitCidRepositoryCommon } from './types'; const LIT_ACTION_CID_REPOSITORY: LitCidRepository = Object.freeze({ signTransaction: Object.freeze({ - evm: 'QmRpAgGKEmgeBRhqdC2EH17QUt6puwsbm8Z2nNneVN4uJG', - solana: 'QmR1nPG2tnmC72zuCEMZUZrrMEkbDiMPNHW45Dsm2n7xnk', + evm: 'QmdSQqkdGF5EqPCBi4pidkjGQXLNoP5kp8gxGLtgzyiw7L', + solana: 'QmVeR4rKuyN27gq1JrsoJqjN2GrwZD87Sm2vHzV5MmBxwb', }), signMessage: Object.freeze({ - evm: 'QmXi9iqJvXrHoUGSo5WREonrruDhzQ7cFr7Cry3wX2hmue', - solana: 'QmcEJGVqRYtVukjm2prCPT7Fs66GpaqZwmZoxEHMHor6Jz', + evm: 'QmQWwWjJXLiCKi7ZpfwXnGPeXAcjfG1VXjB6CLTb3Xh31X', + solana: 'QmawpLLPxL6GVKj7QW3PR8us4gNyVEijPpcDzD8Uo95jXR', }), generateEncryptedKey: Object.freeze({ - evm: 'QmeD6NYCWhUCLgxgpkgSguaKjwnpCnJ6Yf8SdsyPpK4eKK', - solana: 'QmPkVD3hEjMi1T5zQuvdrFCXaGTEMHNdAhAL4WHkqxijrQ', + evm: 'QmSKi3kMRP7biW6HhNf79vcffMSXDSu7Yr1K653ZoGXsxw', + solana: 'QmZGd5gPcqTJmeM9Thdguz6DufFkQCa9Qq2oS6L3D6HD8o', }), exportPrivateKey: Object.freeze({ - evm: 'QmUJ74pTUqeeHzDGdfwCph1vJVNJ1rRzJdvMiTjS1BMwYj', - solana: 'QmUJ74pTUqeeHzDGdfwCph1vJVNJ1rRzJdvMiTjS1BMwYj', + evm: 'QmaCGGq6EqXezgBiwAAbwh2UTeeTZnLaHQxxDcXwRboFXM', + solana: 'QmaCGGq6EqXezgBiwAAbwh2UTeeTZnLaHQxxDcXwRboFXM', }), }); const LIT_ACTION_CID_REPOSITORY_COMMON: LitCidRepositoryCommon = Object.freeze({ - batchGenerateEncryptedKeys: 'QmR8Zs7ctSEctxBrSnAYhMXFXCC1ub8K1xvMn5Js3NCSAA', + batchGenerateEncryptedKeys: 'QmUDB7jZfCMwh9CuQZZ4YDmrJnNdPq9NGdqHzmQE3RggSr', }); export { LIT_ACTION_CID_REPOSITORY, LIT_ACTION_CID_REPOSITORY_COMMON }; diff --git a/packages/wrapped-keys/src/lib/lit-actions-client/export-private-key.ts b/packages/wrapped-keys/src/lib/lit-actions-client/export-private-key.ts index 8dd6ffb7ac..e109c90e2e 100644 --- a/packages/wrapped-keys/src/lib/lit-actions-client/export-private-key.ts +++ b/packages/wrapped-keys/src/lib/lit-actions-client/export-private-key.ts @@ -1,4 +1,3 @@ -import { GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK } from '@lit-protocol/constants'; import { AccessControlConditions } from '@lit-protocol/types'; import { postLitActionValidation } from './utils'; @@ -9,6 +8,7 @@ interface SignMessageWithLitActionParams extends ExportPrivateKeyParams { storedKeyMetadata: StoredKeyData; litActionIpfsCid?: string; litActionCode?: string; + userMaxPrice?: bigint; } export async function exportPrivateKeyWithLitAction( @@ -16,11 +16,12 @@ export async function exportPrivateKeyWithLitAction( ) { const { accessControlConditions, - litNodeClient, + litClient, pkpSessionSigs, litActionCode, litActionIpfsCid, storedKeyMetadata, + userMaxPrice, } = args; const { @@ -29,20 +30,17 @@ export async function exportPrivateKeyWithLitAction( dataToEncryptHash, ...storeKeyMetadataMinusEncryptedAndPkp } = storedKeyMetadata; - const result = await litNodeClient.executeJs({ + const result = await litClient.executeJs({ sessionSigs: pkpSessionSigs, code: litActionCode, ipfsId: litActionIpfsCid, + userMaxPrice, jsParams: { pkpAddress, ciphertext, dataToEncryptHash, accessControlConditions, }, - ipfsOptions: { - overwriteCode: - GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK[litNodeClient.config.litNetwork], - }, }); const decryptedPrivateKey = postLitActionValidation(result); diff --git a/packages/wrapped-keys/src/lib/lit-actions-client/generate-key.ts b/packages/wrapped-keys/src/lib/lit-actions-client/generate-key.ts index 3cfc8253b2..b841d9669f 100644 --- a/packages/wrapped-keys/src/lib/lit-actions-client/generate-key.ts +++ b/packages/wrapped-keys/src/lib/lit-actions-client/generate-key.ts @@ -1,4 +1,3 @@ -import { GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK } from '@lit-protocol/constants'; import { AccessControlConditions } from '@lit-protocol/types'; import { postLitActionValidation } from './utils'; @@ -9,6 +8,7 @@ interface GeneratePrivateKeyLitActionParams extends GeneratePrivateKeyParams { accessControlConditions: AccessControlConditions; litActionIpfsCid?: string; litActionCode?: string; + userMaxPrice?: bigint; } interface GeneratePrivateKeyLitActionResult { @@ -18,26 +18,24 @@ interface GeneratePrivateKeyLitActionResult { } export async function generateKeyWithLitAction({ - litNodeClient, + litClient, pkpSessionSigs, litActionIpfsCid, litActionCode, accessControlConditions, pkpAddress, + userMaxPrice, }: GeneratePrivateKeyLitActionParams): Promise { - const result = await litNodeClient.executeJs({ + const result = await litClient.executeJs({ useSingleNode: true, sessionSigs: pkpSessionSigs, ipfsId: litActionIpfsCid, code: litActionCode, + userMaxPrice, jsParams: { pkpAddress, accessControlConditions, }, - ipfsOptions: { - overwriteCode: - GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK[litNodeClient.config.litNetwork], - }, }); const response = postLitActionValidation(result); diff --git a/packages/wrapped-keys/src/lib/lit-actions-client/sign-message.ts b/packages/wrapped-keys/src/lib/lit-actions-client/sign-message.ts index f5aec3f126..b186a46a65 100644 --- a/packages/wrapped-keys/src/lib/lit-actions-client/sign-message.ts +++ b/packages/wrapped-keys/src/lib/lit-actions-client/sign-message.ts @@ -1,4 +1,3 @@ -import { GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK } from '@lit-protocol/constants'; import { AccessControlConditions } from '@lit-protocol/types'; import { postLitActionValidation } from './utils'; @@ -10,6 +9,7 @@ interface SignMessageWithLitActionParams storedKeyMetadata: StoredKeyData; litActionIpfsCid?: string; litActionCode?: string; + userMaxPrice?: bigint; } export async function signMessageWithLitAction( @@ -17,19 +17,21 @@ export async function signMessageWithLitAction( ) { const { accessControlConditions, - litNodeClient, + litClient, messageToSign, pkpSessionSigs, litActionIpfsCid, litActionCode, storedKeyMetadata, + userMaxPrice, } = args; const { pkpAddress, ciphertext, dataToEncryptHash } = storedKeyMetadata; - const result = await litNodeClient.executeJs({ + const result = await litClient.executeJs({ sessionSigs: pkpSessionSigs, ipfsId: litActionIpfsCid, code: litActionCode, + userMaxPrice, jsParams: { pkpAddress, ciphertext, @@ -37,10 +39,6 @@ export async function signMessageWithLitAction( messageToSign, accessControlConditions, }, - ipfsOptions: { - overwriteCode: - GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK[litNodeClient.config.litNetwork], - }, }); return postLitActionValidation(result); } diff --git a/packages/wrapped-keys/src/lib/lit-actions-client/sign-transaction.ts b/packages/wrapped-keys/src/lib/lit-actions-client/sign-transaction.ts index 9e28ddc5cc..900ec2fdb1 100644 --- a/packages/wrapped-keys/src/lib/lit-actions-client/sign-transaction.ts +++ b/packages/wrapped-keys/src/lib/lit-actions-client/sign-transaction.ts @@ -1,9 +1,4 @@ -import { GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK } from '@lit-protocol/constants'; -import { - AccessControlConditions, - ILitNodeClient, - SessionSigsMap, -} from '@lit-protocol/types'; +import { AccessControlConditions, SessionSigsMap } from '@lit-protocol/types'; import { postLitActionValidation } from './utils'; import { @@ -11,9 +6,10 @@ import { SerializedTransaction, StoredKeyData, } from '../types'; +import type { LitClient } from '../types'; interface SignTransactionWithLitActionParams { - litNodeClient: ILitNodeClient; + litClient: LitClient; pkpSessionSigs: SessionSigsMap; litActionIpfsCid?: string; litActionCode?: string; @@ -22,6 +18,7 @@ interface SignTransactionWithLitActionParams { accessControlConditions: AccessControlConditions; broadcast: boolean; versionedTransaction?: boolean; + userMaxPrice?: bigint; } export async function signTransactionWithLitAction({ @@ -29,16 +26,18 @@ export async function signTransactionWithLitAction({ broadcast, litActionIpfsCid, litActionCode, - litNodeClient, + litClient, pkpSessionSigs, storedKeyMetadata: { ciphertext, dataToEncryptHash, pkpAddress }, unsignedTransaction, versionedTransaction, + userMaxPrice, }: SignTransactionWithLitActionParams): Promise { - const result = await litNodeClient.executeJs({ + const result = await litClient.executeJs({ sessionSigs: pkpSessionSigs, ipfsId: litActionIpfsCid, code: litActionCode, + userMaxPrice, jsParams: { pkpAddress, ciphertext, @@ -47,10 +46,15 @@ export async function signTransactionWithLitAction({ broadcast, accessControlConditions, versionedTransaction, - }, - ipfsOptions: { - overwriteCode: - GLOBAL_OVERWRITE_IPFS_CODE_BY_NETWORK[litNodeClient.config.litNetwork], + jsParams: { + pkpAddress, + ciphertext, + dataToEncryptHash, + unsignedTransaction, + broadcast, + accessControlConditions, + versionedTransaction, + }, }, }); diff --git a/packages/wrapped-keys/src/lib/service-client/constants.ts b/packages/wrapped-keys/src/lib/service-client/constants.ts index 7b290b49ee..b05f6e7bb6 100644 --- a/packages/wrapped-keys/src/lib/service-client/constants.ts +++ b/packages/wrapped-keys/src/lib/service-client/constants.ts @@ -9,9 +9,8 @@ const SERVICE_URL_BY_NETWORKTYPE: Record = { }; export const SERVICE_URL_BY_LIT_NETWORK: Record = { - [LIT_NETWORK.DatilDev]: SERVICE_URL_BY_NETWORKTYPE.TestNetworks, - [LIT_NETWORK.DatilTest]: SERVICE_URL_BY_NETWORKTYPE.TestNetworks, - [LIT_NETWORK.Datil]: SERVICE_URL_BY_NETWORKTYPE.Production, + [LIT_NETWORK.NagaDev]: SERVICE_URL_BY_NETWORKTYPE.TestNetworks, + [LIT_NETWORK.NagaTest]: SERVICE_URL_BY_NETWORKTYPE.TestNetworks, }; export const LIT_SESSIONSIG_AUTHORIZATION_SCHEMA_PREFIX = 'LitSessionSig:'; diff --git a/packages/wrapped-keys/src/lib/service-client/types.ts b/packages/wrapped-keys/src/lib/service-client/types.ts index cc8eed08b8..1e7291ef4b 100644 --- a/packages/wrapped-keys/src/lib/service-client/types.ts +++ b/packages/wrapped-keys/src/lib/service-client/types.ts @@ -15,7 +15,10 @@ export type FetchKeyParams = BaseApiParams & { export type ListKeysParams = BaseApiParams & { pkpAddress: string }; -export type SupportedNetworks = Extract; +export type SupportedNetworks = Extract< + LIT_NETWORK_VALUES, + 'naga-dev' | 'naga-test' +>; export interface StoreKeyParams extends BaseApiParams { storedKeyMetadata: Pick< diff --git a/packages/wrapped-keys/src/lib/service-client/utils.ts b/packages/wrapped-keys/src/lib/service-client/utils.ts index 4a828d8afd..f4eb1fc4c6 100644 --- a/packages/wrapped-keys/src/lib/service-client/utils.ts +++ b/packages/wrapped-keys/src/lib/service-client/utils.ts @@ -16,11 +16,7 @@ function composeAuthHeader(sessionSig: AuthSig) { ).toString('base64')}`; } -const supportedNetworks: SupportedNetworks[] = [ - 'datil-dev', - 'datil-test', - 'datil', -]; +const supportedNetworks: SupportedNetworks[] = ['naga-dev', 'naga-test']; function isSupportedLitNetwork( litNetwork: LIT_NETWORK_VALUES diff --git a/packages/wrapped-keys/src/lib/types.ts b/packages/wrapped-keys/src/lib/types.ts index b76f2cff02..2351975c1a 100644 --- a/packages/wrapped-keys/src/lib/types.ts +++ b/packages/wrapped-keys/src/lib/types.ts @@ -1,8 +1,5 @@ -import { - ILitNodeClient, - LIT_NETWORKS_KEYS, - SessionSigsMap, -} from '@lit-protocol/types'; +import type { createLitClient } from '@lit-protocol/lit-client'; +import { LIT_NETWORKS_KEYS, SessionSigsMap } from '@lit-protocol/types'; /** @typedef Network * The network type that the wrapped key will be used on. @@ -10,15 +7,22 @@ import { export type Network = 'evm' | 'solana'; export type KeyType = 'K256' | 'ed25519'; +export type LitClient = Awaited> & { + config?: { + litNetwork?: string; + }; +}; + /** All API calls for the wrapped keys service require these arguments. * * @typedef BaseApiParams * @property {SessionSigsMap} pkpSessionSigs - The PKP sessionSigs used to associate the PKP with the generated private key and authenticate with the wrapped keys backend service. - * @property {ILitNodeClient} litNodeClient - The Lit Node Client used for executing the Lit Action and identifying which wrapped keys backend service to communicate with. + * @property {LitClient} litClient - The Lit Client used for executing Lit Actions and identifying which wrapped keys backend service to communicate with. */ export interface BaseApiParams { pkpSessionSigs: SessionSigsMap; - litNodeClient: ILitNodeClient; + litClient: LitClient; + userMaxPrice?: bigint; } export interface ApiParamsSupportedNetworks { @@ -151,7 +155,7 @@ export type ExportPrivateKeyParams = BaseApiParams & */ export interface ExportPrivateKeyResult { pkpAddress: string; - decryptedPrivateKey: string; + decryptedPrivateKey: string | `0x${string}`; publicKey: string; litNetwork: LIT_NETWORKS_KEYS; keyType: KeyType; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d5872519ac..474ab6bfc7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,16 +12,19 @@ importers: version: 7.28.5 '@babel/preset-env': specifier: ^7.28.3 - version: 7.28.5(@babel/core@7.28.5) + version: 7.28.3(@babel/core@7.28.5) '@babel/preset-typescript': specifier: ^7.27.1 - version: 7.28.5(@babel/core@7.28.5) + version: 7.27.1(@babel/core@7.28.5) '@dotenvx/dotenvx': specifier: ^1.6.4 - version: 1.51.0 + version: 1.6.4 '@ethersproject/contracts': specifier: 5.8.0 version: 5.8.0 + '@lit-protocol/esbuild-plugin-polyfill-node': + specifier: ^0.3.0 + version: 0.3.0(esbuild@0.19.2) '@lit-protocol/lit-status-sdk': specifier: ^0.1.8 version: 0.1.8(typescript@5.8.3) @@ -42,16 +45,22 @@ importers: version: 3.1.4 '@simplewebauthn/browser': specifier: ^7.2.0 - version: 7.4.0 + version: 7.2.0 '@simplewebauthn/typescript-types': specifier: ^7.0.0 - version: 7.4.0 + version: 7.0.0 + '@solana/kit': + specifier: 4.0.0 + version: 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': + specifier: 1.98.4 + version: 1.98.4(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10) '@wagmi/core': specifier: ^2.17.1 - version: 2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) + version: 2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) ajv: specifier: ^8.12.0 - version: 8.17.1 + version: 8.12.0 babel-jest: specifier: ^29 version: 29.7.0(@babel/core@7.28.5) @@ -66,7 +75,7 @@ importers: version: 9.0.2 cross-fetch: specifier: 3.1.8 - version: 3.1.8 + version: 3.1.8(encoding@0.1.13) depcheck: specifier: ^1.4.7 version: 1.4.7 @@ -76,15 +85,21 @@ importers: ethers: specifier: ^5.7.1 version: 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + form-data: + specifier: ^4.0.4 + version: 4.0.4 + ipfs-only-hash: + specifier: ^4.0.0 + version: 4.0.0(encoding@0.1.13) jose: specifier: ^4.14.4 - version: 4.15.9 + version: 4.14.4 pako: specifier: ^2.1.0 version: 2.1.0 pino: specifier: ^9.6.0 - version: 9.14.0 + version: 9.6.0 pino-caller: specifier: ^4.0.0 version: 4.0.0 @@ -96,19 +111,19 @@ importers: version: 0.0.2-alpha.0(ethers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)) stytch: specifier: ^12.4.0 - version: 12.42.1 + version: 12.4.0 tslib: specifier: ^2.8.1 version: 2.8.1 uint8arrays: specifier: ^4.0.3 - version: 4.0.10 + version: 4.0.3 viem: specifier: 2.38.x - version: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + version: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) wagmi: specifier: ^2.15.4 - version: 2.18.2(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3) + version: 2.18.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/query-core@5.87.4)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3) zod: specifier: 3.24.3 version: 3.24.3 @@ -118,10 +133,10 @@ importers: devDependencies: '@changesets/cli': specifier: ^2.29.4 - version: 2.29.7(@types/node@20.0.0) + version: 2.29.4 '@nx/esbuild': specifier: 21.2.1 - version: 21.2.1(@babel/traverse@7.28.5)(esbuild@0.19.12)(nx@21.2.1) + version: 21.2.1(@babel/traverse@7.28.5)(esbuild@0.19.2)(nx@21.2.1) '@nx/eslint-plugin': specifier: 21.2.1 version: 21.2.1(@babel/traverse@7.28.5)(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-config-prettier@9.1.0(eslint@9.34.0))(eslint@9.34.0)(nx@21.2.1)(typescript@5.8.3) @@ -137,18 +152,15 @@ importers: '@nx/plugin': specifier: 21.2.1 version: 21.2.1(@babel/traverse@7.28.5)(@types/node@20.0.0)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.34.0)(nx@21.2.1)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3))(typescript@5.8.3) - '@solana/web3.js': - specifier: 1.95.3 - version: 1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@types/depd': specifier: ^1.1.36 - version: 1.1.37 + version: 1.1.36 '@types/events': specifier: ^3.0.3 version: 3.0.3 '@types/inquirer': specifier: ^9.0.8 - version: 9.0.9 + version: 9.0.8 '@types/jest': specifier: 27.4.1 version: 27.4.1 @@ -160,7 +172,7 @@ importers: version: 1.3.3 '@types/secp256k1': specifier: ^4.0.6 - version: 4.0.7 + version: 4.0.6 '@typescript-eslint/eslint-plugin': specifier: 6.21.0 version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint@9.34.0)(typescript@5.8.3) @@ -169,19 +181,22 @@ importers: version: 6.21.0(eslint@9.34.0)(typescript@5.8.3) artillery: specifier: ^2.0.23 - version: 2.0.26(@types/node@20.0.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 2.0.23(@types/node@20.0.0)(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10) axios: specifier: ^1.6.0 - version: 1.12.2 + version: 1.12.0(debug@4.4.1) + buffer: + specifier: 6.0.3 + version: 6.0.3 esbuild: specifier: ^0.19.2 - version: 0.19.12 + version: 0.19.2 esbuild-node-builtins: specifier: ^0.1.0 version: 0.1.0 esbuild-node-externals: specifier: ^1.14.0 - version: 1.18.0(esbuild@0.19.12) + version: 1.14.0(esbuild@0.19.2) esbuild-plugin-tsc: specifier: ^0.4.0 version: 0.4.0(typescript@5.8.3) @@ -193,25 +208,25 @@ importers: version: 9.1.0(eslint@9.34.0) eslint-import-resolver-typescript: specifier: 3.6.3 - version: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-plugin-import@2.32.0)(eslint@9.34.0) + version: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1)(eslint@9.34.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.34.0) + version: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.34.0) eslint-plugin-jsx-a11y: specifier: 6.9.0 version: 6.9.0(eslint@9.34.0) ipfs-unixfs-importer: specifier: 12.0.1 - version: 12.0.1 + version: 12.0.1(encoding@0.1.13) jest: specifier: ^29.2.2 - version: 29.7.0(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)) + version: 29.2.2(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)) jest-environment-jsdom: specifier: ^29.7.0 version: 29.7.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: specifier: ^2.6.1 - version: 2.7.0 + version: 2.7.0(encoding@0.1.13) node-localstorage: specifier: ^3.0.5 version: 3.0.5 @@ -223,7 +238,7 @@ importers: version: 0.12.7 pino-pretty: specifier: ^13.0.0 - version: 13.1.2 + version: 13.0.0 prettier: specifier: ^2.6.2 version: 2.8.8 @@ -232,16 +247,19 @@ importers: version: 6.0.1 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(esbuild@0.19.12)(jest@29.7.0(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)))(typescript@5.8.3) + version: 29.2.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(esbuild@0.19.2)(jest@29.2.2(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)))(typescript@5.8.3) ts-node: specifier: ^10.9.2 version: 10.9.2(@types/node@20.0.0)(typescript@5.8.3) tsx: specifier: ^4.20.5 - version: 4.20.6 + version: 4.20.5 + tweetnacl: + specifier: 1.0.3 + version: 1.0.3 typedoc: specifier: ^0.28.12 - version: 0.28.14(typescript@5.8.3) + version: 0.28.12(typescript@5.8.3) typescript: specifier: 5.8.3 version: 5.8.3 @@ -273,7 +291,7 @@ importers: version: link:../../dist/packages/e2e artillery: specifier: ^2.0.23 - version: 2.0.26(@types/node@20.0.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: 2.0.23(@types/node@20.0.0)(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10) packages/auth: dependencies: @@ -285,13 +303,13 @@ importers: version: 1.8.0 '@simplewebauthn/browser': specifier: ^7.2.0 - version: 7.4.0 + version: 7.2.0 '@simplewebauthn/typescript-types': specifier: ^7.0.0 - version: 7.4.0 + version: 7.0.0 '@wagmi/core': specifier: ^2.17.1 - version: 2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) + version: 2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) base64url: specifier: ^3.0.1 version: 3.0.1 @@ -306,19 +324,19 @@ importers: version: 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) jose: specifier: ^4.14.4 - version: 4.15.9 + version: 4.14.4 siwe: specifier: ^2.3.2 version: 2.3.2(ethers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)) stytch: specifier: ^12.4.0 - version: 12.42.1 + version: 12.4.0 tslib: specifier: ^2.3.0 version: 2.8.1 viem: specifier: 2.38.x - version: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + version: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) zod: specifier: 3.24.3 version: 3.24.3 @@ -331,7 +349,7 @@ importers: version: 5.7.0 '@wagmi/core': specifier: ^2.17.1 - version: 2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) + version: 2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) ethers: specifier: ^5.7.1 version: 5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -343,7 +361,7 @@ importers: version: 0.0.2-alpha.0(ethers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)) viem: specifier: 2.38.x - version: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + version: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) zod: specifier: 3.24.3 version: 3.24.3 @@ -359,7 +377,7 @@ importers: version: link:../../dist/packages/logger '@simplewebauthn/server': specifier: 6.2.1 - version: 6.2.1 + version: 6.2.1(encoding@0.1.13) '@t3-oss/env-core': specifier: 0.13.8 version: 0.13.8(typescript@5.8.3)(zod@3.24.3) @@ -368,7 +386,7 @@ importers: version: 6.0.0 bullmq: specifier: ^5.52.3 - version: 5.61.2 + version: 5.52.3 cbor-web: specifier: ^9.0.2 version: 9.0.2 @@ -389,7 +407,7 @@ importers: version: 8.1.0(express@5.1.0) google-auth-library: specifier: ^9.15.1 - version: 9.15.1 + version: 9.15.1(encoding@0.1.13) helmet: specifier: ^8.1.0 version: 8.1.0 @@ -401,19 +419,19 @@ importers: version: 2.4.2 redis: specifier: ^4.6.13 - version: 4.7.1 + version: 4.6.13 stytch: specifier: ^12.4.0 - version: 12.42.1 + version: 12.4.0 tslib: specifier: ^2.8.1 version: 2.8.1 viem: specifier: 2.38.x - version: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + version: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) wagmi: specifier: ^2.14.11 - version: 2.18.2(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3) + version: 2.18.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/query-core@5.87.4)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3) zod: specifier: ^3.24.3 version: 3.24.3 @@ -429,10 +447,10 @@ importers: version: 5.0.3 concurrently: specifier: ^9.1.2 - version: 9.2.1 + version: 9.1.2 tsx: specifier: ^4.20.5 - version: 4.20.6 + version: 4.20.5 publishDirectory: ../../dist/packages/auth-services packages/constants: @@ -461,13 +479,13 @@ importers: version: 0.5.1(ethers@6.15.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.8.3))(typescript@5.8.3) esbuild: specifier: ^0.19.2 - version: 0.19.12 + version: 0.19.2 ethers: specifier: ^6.13.5 version: 6.15.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) tsx: specifier: ^4.20.5 - version: 4.20.6 + version: 4.20.5 typechain: specifier: ^8.3.2 version: 8.3.2(typescript@5.8.3) @@ -476,7 +494,7 @@ importers: version: 5.8.3 viem: specifier: 2.38.x - version: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + version: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) zod: specifier: ^3.24.3 version: 3.24.3 @@ -498,7 +516,7 @@ importers: version: 1.8.0 ajv: specifier: ^8.12.0 - version: 8.17.1 + version: 8.12.0 tslib: specifier: ^2.8.1 version: 2.8.1 @@ -577,10 +595,10 @@ importers: version: 3.1.4 '@simplewebauthn/browser': specifier: ^7.2.0 - version: 7.4.0 + version: 7.2.0 '@simplewebauthn/typescript-types': specifier: ^7.0.0 - version: 7.4.0 + version: 7.0.0 '@t3-oss/env-core': specifier: 0.13.8 version: 0.13.8(typescript@5.8.3)(zod@3.24.3) @@ -592,7 +610,7 @@ importers: version: 30.0.0 '@wagmi/core': specifier: ^2.17.1 - version: 2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) + version: 2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) babel-jest: specifier: 30.2.0 version: 30.2.0(@babel/core@7.28.5) @@ -616,13 +634,13 @@ importers: version: 30.2.0(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)) jose: specifier: ^4.14.4 - version: 4.15.9 + version: 4.14.4 pako: specifier: ^2.1.0 version: 2.1.0 pino: specifier: ^9.6.0 - version: 9.14.0 + version: 9.6.0 pino-caller: specifier: ^4.0.0 version: 4.0.0 @@ -634,7 +652,7 @@ importers: version: 0.0.2-alpha.0(ethers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)) stytch: specifier: ^12.4.0 - version: 12.42.1 + version: 12.4.0 tslib: specifier: ^2.8.1 version: 2.8.1 @@ -643,7 +661,7 @@ importers: version: 8.3.2(typescript@5.8.3) viem: specifier: 2.38.x - version: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + version: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) zod: specifier: 3.24.3 version: 3.24.3 @@ -666,10 +684,10 @@ importers: version: 6.0.0 typestub-ipfs-only-hash: specifier: ^4.0.0 - version: 4.0.0 + version: 4.0.0(encoding@0.1.13) viem: specifier: 2.38.x - version: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + version: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) zod: specifier: 3.24.3 version: 3.24.3 @@ -679,7 +697,7 @@ importers: dependencies: pino: specifier: ^9.6.0 - version: 9.14.0 + version: 9.6.0 publishDirectory: ../../dist/packages/logger packages/networks: @@ -698,7 +716,7 @@ importers: version: 1.8.0 '@wagmi/core': specifier: ^2.17.1 - version: 2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) + version: 2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) bs58: specifier: ^6.0.0 version: 6.0.0 @@ -710,13 +728,13 @@ importers: version: 3.0.5 pino: specifier: ^9.6.0 - version: 9.14.0 + version: 9.6.0 pino-caller: specifier: ^4.0.0 version: 4.0.0 viem: specifier: 2.38.x - version: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + version: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) zod: specifier: 3.24.3 version: 3.24.3 @@ -759,6 +777,25 @@ importers: publishDirectory: ../../dist/packages/wasm packages/wrapped-keys: + dependencies: + '@lit-protocol/auth': + specifier: workspace:* + version: link:../../dist/packages/auth + '@lit-protocol/constants': + specifier: workspace:* + version: link:../../dist/packages/constants + '@lit-protocol/lit-client': + specifier: workspace:* + version: link:../../dist/packages/lit-client + '@lit-protocol/networks': + specifier: workspace:* + version: link:../../dist/packages/networks + '@lit-protocol/schemas': + specifier: workspace:* + version: link:../../dist/packages/schemas + '@lit-protocol/types': + specifier: workspace:* + version: link:../../dist/packages/types publishDirectory: ../../dist/packages/wrapped-keys packages/wrapped-keys-lit-actions: @@ -771,53 +808,41 @@ packages: integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==, } - '@adraffy/ens-normalize@1.11.1': - resolution: - { - integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==, - } - - '@artilleryio/int-commons@2.17.0': - resolution: - { - integrity: sha512-FUPsfFRValc/XTKw9kInKGmN6j4lnyFfhOpvNfy1jUC5pPjZjtez9JyrxqSsdjlhY+FeUb/YrEOFPK0m9Da51w==, - } - - '@artilleryio/int-core@2.21.0': + '@adraffy/ens-normalize@1.11.0': resolution: { - integrity: sha512-QKfDJIopNHrrwaXhfSAM5aJ+/dhwD1x3EHNmp7XR4jUuCOgZnsJ9d8+oFJgbrYjqnLUtALDxDxSdHTuhdSAUcg==, + integrity: sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==, } - '@artilleryio/sketches-js@2.1.1': + '@alcalzone/ansi-tokenize@0.1.3': resolution: { - integrity: sha512-H3D50vDb37E3NGYXY0eUFAm5++moElaqoAu0MWYZhgzaA3IT2E67bRCL8U4LKHuVf/MgDZk14uawIjc4WVjOUQ==, + integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==, } + engines: { node: '>=14.13.1' } - '@assemblyscript/loader@0.9.4': + '@artilleryio/int-commons@2.14.0': resolution: { - integrity: sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==, + integrity: sha512-vCZEwtWDwtPtmOHKGUrjeLHs0tj++xMeJPchx3TgLtN8pqHifZM7JzbLyEpjVOPInS08S64Sh8Sfmt0OG404PQ==, } - '@aws-crypto/crc32@5.2.0': + '@artilleryio/int-core@2.18.0': resolution: { - integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==, + integrity: sha512-j9Lf55XXuLSUTnbqN75uLVsJmf5OaJluqTGBksJIk3ObfA7chWFFSFB3/JmNG560dI/aN6vi5i6s8J97lx7BtA==, } - engines: { node: '>=16.0.0' } - '@aws-crypto/crc32c@5.2.0': + '@artilleryio/sketches-js@2.1.1': resolution: { - integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==, + integrity: sha512-H3D50vDb37E3NGYXY0eUFAm5++moElaqoAu0MWYZhgzaA3IT2E67bRCL8U4LKHuVf/MgDZk14uawIjc4WVjOUQ==, } - '@aws-crypto/sha1-browser@5.2.0': + '@assemblyscript/loader@0.9.4': resolution: { - integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==, + integrity: sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==, } '@aws-crypto/sha256-browser@5.2.0': @@ -845,317 +870,177 @@ packages: integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==, } - '@aws-sdk/client-cloudwatch-logs@3.916.0': - resolution: - { - integrity: sha512-UVix/MFWAF1QKgCi2Z/D5S5XsAldvVB7Wab41qXZJnjlO8uyavyOOYs8/wdm2oq1nEPfC66eaRNj8egqhkpTEw==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-cloudwatch@3.916.0': - resolution: - { - integrity: sha512-h9InEKeLTRm0rmImjpst45xT/nvxIivsQa8ysAfLawcTFEYnZ93wKtPke7hEGgBwBlqAlAG3hHpViS4i5F6SnQ==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-cognito-identity@3.916.0': - resolution: - { - integrity: sha512-MGpWcn350e/liZrsh8gdJMcBKwE4/pcNvSr3Dw+tB+ZVZlVFdHGFyeQVaknz8UWZXrfUK5KCbvahotmaQOs1pg==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-ec2@3.916.0': - resolution: - { - integrity: sha512-ko2OpwmTKQDSL7xywRuftURNq40hHyl2D3A7mw5q/WX+bw0KVFKron2PzIiA+icxtMMQVz87pjiwaE3RHrLkRQ==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-ecs@3.916.0': - resolution: - { - integrity: sha512-VMO8LMWturIIuxdypCZQrkelM3YvwgqpObykSoEy0/vxBI+QJXaCY3zTuayexHOtvCXtlo0xYca93m9ZLE0l6Q==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-iam@3.916.0': - resolution: - { - integrity: sha512-N0eqFFE0YusJseO7bHZj6HwGPSuZQRKiqCPx3KNoAbq99QX6LabC0BuBAbxWZ6SOtBIt5tIbRT9JhsMWuzko5w==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-lambda@3.916.0': - resolution: - { - integrity: sha512-d1OqP/+qtCbmPit2GarvcpQJwPJro4ZPs1Krx4re+L2Hud0mZGV18YviKYhsRY77eYa3WTNYRI7dSlSq+f/5cQ==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-s3@3.916.0': - resolution: - { - integrity: sha512-myfO8UkJzF3wxLUV1cKzzxI1oVOe+tsEyUypFt8yrs0WT0usNfjpUOmA4XNjp/wRClpImkEHT0XC1p6xQCuktQ==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-sqs@3.916.0': - resolution: - { - integrity: sha512-ZqIZwr6/n7NrC/94ZX0mIbgA5X6hD6iberFKykHu53VbrdY7w4o3RqxnN549xzSaq7+mhKjZfepEGB21/uVbFg==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-ssm@3.916.0': - resolution: - { - integrity: sha512-owXbToP0OWbFb+Pwrw6XW4WrKQHkqJVIIZu7e2oSw9VTxawS/ECA8ynj6HSm1HHzWTh8sKpzPXsidcSJ1Y2N+Q==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-sso@3.916.0': - resolution: - { - integrity: sha512-Eu4PtEUL1MyRvboQnoq5YKg0Z9vAni3ccebykJy615xokVZUdA3di2YxHM/hykDQX7lcUC62q9fVIvh0+UNk/w==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/client-sts@3.916.0': - resolution: - { - integrity: sha512-BvEtcl58TQLZH5vkUK6Zi2RMWwlkw0cZ9MCoSlw5Bum2XHOh721YofeAvgH5PtEvPVocGzO9PSKCiMM9JQqMWg==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/core@3.916.0': - resolution: - { - integrity: sha512-1JHE5s6MD5PKGovmx/F1e01hUbds/1y3X8rD+Gvi/gWVfdg5noO7ZCerpRsWgfzgvCMZC9VicopBqNHCKLykZA==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/credential-provider-cognito-identity@3.916.0': - resolution: - { - integrity: sha512-B0KoCIzEb5e98qaIF6PyXVBEvbi7yyInSoSSpP7ZmlRxanB4an/h54q5QwHPN+zGBqrGBiXbz9HvOLP2c29yww==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/credential-provider-env@3.916.0': - resolution: - { - integrity: sha512-3gDeqOXcBRXGHScc6xb7358Lyf64NRG2P08g6Bu5mv1Vbg9PKDyCAZvhKLkG7hkdfAM8Yc6UJNhbFxr1ud/tCQ==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/credential-provider-http@3.916.0': - resolution: - { - integrity: sha512-NmooA5Z4/kPFJdsyoJgDxuqXC1C6oPMmreJjbOPqcwo6E/h2jxaG8utlQFgXe5F9FeJsMx668dtxVxSYnAAqHQ==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/credential-provider-ini@3.916.0': - resolution: - { - integrity: sha512-iR0FofvdPs87o6MhfNPv0F6WzB4VZ9kx1hbvmR7bSFCk7l0gc7G4fHJOg4xg2lsCptuETboX3O/78OQ2Djeakw==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/credential-provider-node@3.916.0': - resolution: - { - integrity: sha512-8TrMpHqct0zTalf2CP2uODiN/PH9LPdBC6JDgPVK0POELTT4ITHerMxIhYGEiKN+6E4oRwSjM/xVTHCD4nMcrQ==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/credential-provider-process@3.916.0': - resolution: - { - integrity: sha512-SXDyDvpJ1+WbotZDLJW1lqP6gYGaXfZJrgFSXIuZjHb75fKeNRgPkQX/wZDdUvCwdrscvxmtyJorp2sVYkMcvA==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/credential-provider-sso@3.916.0': - resolution: - { - integrity: sha512-gu9D+c+U/Dp1AKBcVxYHNNoZF9uD4wjAKYCjgSN37j4tDsazwMEylbbZLuRNuxfbXtizbo4/TiaxBXDbWM7AkQ==, - } - engines: { node: '>=18.0.0' } - - '@aws-sdk/credential-provider-web-identity@3.916.0': + '@aws-sdk/client-cloudwatch@3.887.0': resolution: { - integrity: sha512-VFnL1EjHiwqi2kR19MLXjEgYBuWViCuAKLGSFGSzfFF/+kSpamVrOSFbqsTk8xwHan8PyNnQg4BNuusXwwLoIw==, + integrity: sha512-+us9tLAIbZ5CCmWycWfaGKXgaz+ODmlBUzDoXCvHiMod3r5LrW5pfDEkuUKppdhtupyhUhsboOcgC979AnM1Nw==, } engines: { node: '>=18.0.0' } - '@aws-sdk/credential-providers@3.916.0': + '@aws-sdk/client-cognito-identity@3.887.0': resolution: { - integrity: sha512-wazu2awF69ohF3AaDlYkD+tanaqwJ309o9GawNg3o1oW7orhdcvh6P8BftSjuIzuAMiauvQquxcUrNTLxHtvOA==, + integrity: sha512-Y/xcFWEFcroEkn0S75RANAq/5ZoE2tLNcTKUzLP9OjmJM+wEkwgNe3iGR4K5KKVQ13BH3YmSXqOPKC5EYPASZg==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-bucket-endpoint@3.914.0': + '@aws-sdk/client-sso@3.887.0': resolution: { - integrity: sha512-mHLsVnPPp4iq3gL2oEBamfpeETFV0qzxRHmcnCfEP3hualV8YF8jbXGmwPCPopUPQDpbYDBHYtXaoClZikCWPQ==, + integrity: sha512-ZKN8BxkRdC6vK6wlnuLSYBhj7uufg14GP5bxqiRaDEooN1y2WcuY95GP13I3brLvM0uboFGbObIVpVrbeHifng==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-expect-continue@3.916.0': + '@aws-sdk/core@3.887.0': resolution: { - integrity: sha512-p7TMLZZ/j5NbC7/cz7xNgxLz/OHYuh91MeCZdCedJiyh3rx6gunFtl9eiDtrh+Y8hjs0EwR0zYIuhd6pL1O8zg==, + integrity: sha512-oiBsWhuuj1Lzh+FHY+gE0PyYuiDxqFf98F9Pd2WruY5Gu/+/xvDFEPEkIEOae8gWRaLZ5Eh8u+OY9LS4DXZhuQ==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-flexible-checksums@3.916.0': + '@aws-sdk/credential-provider-cognito-identity@3.887.0': resolution: { - integrity: sha512-CBRRg6slHHBYAm26AWY/pECHK0vVO/peDoNhZiAzUNt4jV6VftotjszEJ904pKGOr7/86CfZxtCnP3CCs3lQjA==, + integrity: sha512-T3IX39UefOOBWG+Jf/PuYjsI4XgX7nr0pSxYbLQq73/KILur+XZlhDssIaNjy+MoTs3ULNw63zlAcngVCykuOw==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-host-header@3.914.0': + '@aws-sdk/credential-provider-env@3.887.0': resolution: { - integrity: sha512-7r9ToySQ15+iIgXMF/h616PcQStByylVkCshmQqcdeynD/lCn2l667ynckxW4+ql0Q+Bo/URljuhJRxVJzydNA==, + integrity: sha512-kv7L5E8mxlWTMhCK639wrQnFEmwUDfKvKzTMDo2OboXZ0iSbD+hBPoT0gkb49qHNetYnsl63BVOxc0VNiOA04w==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-location-constraint@3.914.0': + '@aws-sdk/credential-provider-http@3.887.0': resolution: { - integrity: sha512-Mpd0Sm9+GN7TBqGnZg1+dO5QZ/EOYEcDTo7KfvoyrXScMlxvYm9fdrUVMmLdPn/lntweZGV3uNrs+huasGOOTA==, + integrity: sha512-siLttHxSFgJ5caDgS+BHYs9GBDX7J3pgge4OmJvIQeGO+KaJC12TerBNPJOp+qRaRC3yuVw3T9RpSZa8mmaiyA==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-logger@3.914.0': + '@aws-sdk/credential-provider-ini@3.887.0': resolution: { - integrity: sha512-/gaW2VENS5vKvJbcE1umV4Ag3NuiVzpsANxtrqISxT3ovyro29o1RezW/Avz/6oJqjnmgz8soe9J1t65jJdiNg==, + integrity: sha512-Na9IjKdPuSNU/mBcCQ49HiIgomq/O7kZAuRyGwAXiRPbf86AacKv4dsUyPZY6lCgVIvVniRWgYlVaPgq22EIig==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-recursion-detection@3.914.0': + '@aws-sdk/credential-provider-node@3.887.0': resolution: { - integrity: sha512-yiAjQKs5S2JKYc+GrkvGMwkUvhepXDigEXpSJqUseR/IrqHhvGNuOxDxq+8LbDhM4ajEW81wkiBbU+Jl9G82yQ==, + integrity: sha512-iJdCq/brBWYpJzJcXY2UhEoW7aA28ixIpvLKjxh5QUBfjCj19cImpj1gGwTIs6/fVcjVUw1tNveTBfn1ziTzVg==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-sdk-ec2@3.916.0': + '@aws-sdk/credential-provider-process@3.887.0': resolution: { - integrity: sha512-FjOEVh6jLcpV38Bfvt10MK4JqT1dmiw3wPzs3mfPuWfOT4hNBE7WS7Brad1UsBdd6tDVh5lkAGqJFG10ARN3GA==, + integrity: sha512-J5TIrQ/DUiyR65gXt1j3TEbLUwMcgYVB/G68/AVgBptPvb9kj+6zFG67bJJHwxtqJxRLVLTtTi9u/YDXTqGBpQ==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-sdk-s3@3.916.0': + '@aws-sdk/credential-provider-sso@3.887.0': resolution: { - integrity: sha512-pjmzzjkEkpJObzmTthqJPq/P13KoNFuEi/x5PISlzJtHofCNcyXeVAQ90yvY2dQ6UXHf511Rh1/ytiKy2A8M0g==, + integrity: sha512-Bv9wUActLu6Kn0MK2s72bgbbNxSLPVop/If4MVbCyJ3n+prJnm5RsTF3isoWQVyyXA5g4tIrS8mE5FpejSbyPQ==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-sdk-sqs@3.916.0': + '@aws-sdk/credential-provider-web-identity@3.887.0': resolution: { - integrity: sha512-fbHITbaItLVsg3HKVyh2yUAQQsOyIdbI9/uDTXqLB/vNdL14BOdmgtvo6MzWb+/FoX05fF2+4KH6SFU3mYEziQ==, + integrity: sha512-PRh0KRukY2euN9xvvQ3cqhCAlEkMDJIWDLIfxQ1hTbv7JA3hrcLVrV+Jg5FRWsStDhweHIvD/VzruSkhJQS80g==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-ssec@3.914.0': + '@aws-sdk/credential-providers@3.887.0': resolution: { - integrity: sha512-V1Oae/oLVbpNb9uWs+v80GKylZCdsbqs2c2Xb1FsAUPtYeSnxFuAWsF3/2AEMSSpFe0dTC5KyWr/eKl2aim9VQ==, + integrity: sha512-srs1S6zBjFYJvf5+ye+GnW2szApybV6jkNgVZ8LEJ7Xh5ucycHujK2qQHLRR8Wwrjg2+gq1K8jCfSGEDsaFo8A==, } engines: { node: '>=18.0.0' } - '@aws-sdk/middleware-user-agent@3.916.0': + '@aws-sdk/middleware-host-header@3.887.0': resolution: { - integrity: sha512-mzF5AdrpQXc2SOmAoaQeHpDFsK2GE6EGcEACeNuoESluPI2uYMpuuNMYrUufdnIAIyqgKlis0NVxiahA5jG42w==, + integrity: sha512-ulzqXv6NNqdu/kr0sgBYupWmahISHY+azpJidtK6ZwQIC+vBUk9NdZeqQpy7KVhIk2xd4+5Oq9rxapPwPI21CA==, } engines: { node: '>=18.0.0' } - '@aws-sdk/nested-clients@3.916.0': + '@aws-sdk/middleware-logger@3.887.0': resolution: { - integrity: sha512-tgg8e8AnVAer0rcgeWucFJ/uNN67TbTiDHfD+zIOPKep0Z61mrHEoeT/X8WxGIOkEn4W6nMpmS4ii8P42rNtnA==, + integrity: sha512-YbbgLI6jKp2qSoAcHnXrQ5jcuc5EYAmGLVFgMVdk8dfCfJLfGGSaOLxF4CXC7QYhO50s+mPPkhBYejCik02Kug==, } engines: { node: '>=18.0.0' } - '@aws-sdk/region-config-resolver@3.914.0': + '@aws-sdk/middleware-recursion-detection@3.887.0': resolution: { - integrity: sha512-KlmHhRbn1qdwXUdsdrJ7S/MAkkC1jLpQ11n+XvxUUUCGAJd1gjC7AjxPZUM7ieQ2zcb8bfEzIU7al+Q3ZT0u7Q==, + integrity: sha512-tjrUXFtQnFLo+qwMveq5faxP5MQakoLArXtqieHphSqZTXm21wDJM73hgT4/PQQGTwgYjDKqnqsE1hvk0hcfDw==, } engines: { node: '>=18.0.0' } - '@aws-sdk/signature-v4-multi-region@3.916.0': + '@aws-sdk/middleware-user-agent@3.887.0': resolution: { - integrity: sha512-fuzUMo6xU7e0NBzBA6TQ4FUf1gqNbg4woBSvYfxRRsIfKmSMn9/elXXn4sAE5UKvlwVQmYnb6p7dpVRPyFvnQA==, + integrity: sha512-YjBz2J4l3uCeMv2g1natat5YSMRZYdEpEg60g3d7q6hoHUD10SmWy8M+Ca8djF0is70vPmF3Icm2cArK3mtoNA==, } engines: { node: '>=18.0.0' } - '@aws-sdk/token-providers@3.916.0': + '@aws-sdk/nested-clients@3.887.0': resolution: { - integrity: sha512-13GGOEgq5etbXulFCmYqhWtpcEQ6WI6U53dvXbheW0guut8fDFJZmEv7tKMTJgiybxh7JHd0rWcL9JQND8DwoQ==, + integrity: sha512-h6/dHuAJhJnhSDihcQd0wfJBZoPmPajASVqGk8qDxYDBWxIU9/mYcKvM+kTrKw3f9Wf3S/eR5B/rYHHuxFheSw==, } engines: { node: '>=18.0.0' } - '@aws-sdk/types@3.914.0': + '@aws-sdk/region-config-resolver@3.887.0': resolution: { - integrity: sha512-kQWPsRDmom4yvAfyG6L1lMmlwnTzm1XwMHOU+G5IFlsP4YEaMtXidDzW/wiivY0QFrhfCz/4TVmu0a2aPU57ug==, + integrity: sha512-VdSMrIqJ3yjJb/fY+YAxrH/lCVv0iL8uA+lbMNfQGtO5tB3Zx6SU9LEpUwBNX8fPK1tUpI65CNE4w42+MY/7Mg==, } engines: { node: '>=18.0.0' } - '@aws-sdk/util-arn-parser@3.893.0': + '@aws-sdk/token-providers@3.887.0': resolution: { - integrity: sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA==, + integrity: sha512-3e5fTPMPeJ5DphZ+OSqzw4ymCgDf8SQVBgrlKVo4Bch9ZwmmAoOHbuQrXVa9xQHklEHJg1Gz2pkjxNaIgx7quA==, } engines: { node: '>=18.0.0' } - '@aws-sdk/util-endpoints@3.916.0': + '@aws-sdk/types@3.887.0': resolution: { - integrity: sha512-bAgUQwvixdsiGNcuZSDAOWbyHlnPtg8G8TyHD6DTfTmKTHUW6tAn+af/ZYJPXEzXhhpwgJqi58vWnsiDhmr7NQ==, + integrity: sha512-fmTEJpUhsPsovQ12vZSpVTEP/IaRoJAMBGQXlQNjtCpkBp6Iq3KQDa/HDaPINE+3xxo6XvTdtibsNOd5zJLV9A==, } engines: { node: '>=18.0.0' } - '@aws-sdk/util-format-url@3.914.0': + '@aws-sdk/util-endpoints@3.887.0': resolution: { - integrity: sha512-QpdkoQjvPaYyzZwgk41vFyHQM5s0DsrsbQ8IoPUggQt4HaJUvmL1ShwMcSldbgdzwiRMqXUK8q7jrqUvkYkY6w==, + integrity: sha512-kpegvT53KT33BMeIcGLPA65CQVxLUL/C3gTz9AzlU/SDmeusBHX4nRApAicNzI/ltQ5lxZXbQn18UczzBuwF1w==, } engines: { node: '>=18.0.0' } - '@aws-sdk/util-locate-window@3.893.0': + '@aws-sdk/util-locate-window@3.873.0': resolution: { - integrity: sha512-T89pFfgat6c8nMmpI8eKjBcDcgJq36+m9oiXbcUzeU55MP9ZuGgBomGjGnHaEyF36jenW9gmg3NfZDm0AO2XPg==, + integrity: sha512-xcVhZF6svjM5Rj89T1WzkjQmrTF6dpR2UvIHPMTnSZoNe6CixejPZ6f0JJ2kAhO8H+dUHwNBlsUgOTIKiK/Syg==, } engines: { node: '>=18.0.0' } - '@aws-sdk/util-user-agent-browser@3.914.0': + '@aws-sdk/util-user-agent-browser@3.887.0': resolution: { - integrity: sha512-rMQUrM1ECH4kmIwlGl9UB0BtbHy6ZuKdWFrIknu8yGTRI/saAucqNTh5EI1vWBxZ0ElhK5+g7zOnUuhSmVQYUA==, + integrity: sha512-X71UmVsYc6ZTH4KU6hA5urOzYowSXc3qvroagJNLJYU1ilgZ529lP4J9XOYfEvTXkLR1hPFSRxa43SrwgelMjA==, } - '@aws-sdk/util-user-agent-node@3.916.0': + '@aws-sdk/util-user-agent-node@3.887.0': resolution: { - integrity: sha512-CwfWV2ch6UdjuSV75ZU99N03seEUb31FIUrXBnwa6oONqj/xqXwrxtlUMLx6WH3OJEE4zI3zt5PjlTdGcVwf4g==, + integrity: sha512-eqnx2FWAf40Nw6EyhXWjVT5WYYMz0rLrKEhZR3GdRQyOFzgnnEfq74TtG2Xji9k/ODqkcKqkiI52RYDEcdh8Jg==, } engines: { node: '>=18.0.0' } peerDependencies: @@ -1164,10 +1049,10 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.914.0': + '@aws-sdk/xml-builder@3.887.0': resolution: { - integrity: sha512-k75evsBD5TcIjedycYS7QXQ98AmOtbnxRJOPtCo0IwYRmy7UvqgS/gBL5SmrIqeV6FDSYRQMgdBxSMp6MLmdew==, + integrity: sha512-lMwgWK1kNgUhHGfBvO/5uLe7TKhycwOn3eRCqsKPT9aPCx/HWuTlpcQp8oW2pCRGLS7qzcxqpQulcD+bbUL7XQ==, } engines: { node: '>=18.0.0' } @@ -1262,10 +1147,10 @@ packages: } engines: { node: '>=20.0.0' } - '@azure/identity@4.13.0': + '@azure/identity@4.12.0': resolution: { - integrity: sha512-uWC0fssc+hs1TGGVkkghiaFkkS7NkTxfnCH+Hdg+yTehTpMcehpok4PgUKKdyCH+9ldu6FhiHRv84Ntqj1vVcw==, + integrity: sha512-6vuh2R3Cte6SD6azNalLCjIDoryGdcvDVEV7IDRPtm5lHX5ffkDlIalaoOp5YJU08e4ipjJENel20kSMDLAcug==, } engines: { node: '>=20.0.0' } @@ -1276,45 +1161,45 @@ packages: } engines: { node: '>=20.0.0' } - '@azure/msal-browser@4.25.1': + '@azure/msal-browser@4.22.1': resolution: { - integrity: sha512-kAdOSNjvMbeBmEyd5WnddGmIpKCbAAGj4Gg/1iURtF+nHmIfS0+QUBBO3uaHl7CBB2R1SEAbpOgxycEwrHOkFA==, + integrity: sha512-/I76rBJpt5ZVfFXk+GkKxD4w1DZEbVpNn0aQjvRgnDnTYo3L/f8Oeo3R1O9eL/ccg5j1537iRLr7UwVhwnHtyg==, } engines: { node: '>=0.8.0' } - '@azure/msal-common@15.13.0': + '@azure/msal-common@15.12.0': resolution: { - integrity: sha512-8oF6nj02qX7eE/6+wFT5NluXRHc05AgdCC3fJnkjiJooq8u7BcLmxaYYSwc2AfEkWRMRi6Eyvvbeqk4U4412Ag==, + integrity: sha512-4ucXbjVw8KJ5QBgnGJUeA07c8iznwlk5ioHIhI4ASXcXgcf2yRFhWzYOyWg/cI49LC9ekpFJeQtO3zjDTbl6TQ==, } engines: { node: '>=0.8.0' } - '@azure/msal-node@3.8.0': + '@azure/msal-node@3.7.3': resolution: { - integrity: sha512-23BXm82Mp5XnRhrcd4mrHa0xuUNRp96ivu3nRatrfdAqjoeWAGyD0eEAafxAOHAEWWmdlyFK4ELFcdziXyw2sA==, + integrity: sha512-MoJxkKM/YpChfq4g2o36tElyzNUMG8mfD6u8NbuaPAsqfGpaw249khAcJYNoIOigUzRw45OjXCOrexE6ImdUxg==, } engines: { node: '>=16' } - '@azure/storage-blob@12.29.1': + '@azure/storage-blob@12.28.0': resolution: { - integrity: sha512-7ktyY0rfTM0vo7HvtK6E3UvYnI9qfd6Oz6z/+92VhGRveWng3kJwMKeUpqmW/NmwcDNbxHpSlldG+vsUnRFnBg==, + integrity: sha512-VhQHITXXO03SURhDiGuHhvc/k/sD2WvJUS7hqhiVNbErVCuQoLtWql7r97fleBlIRKHJaa9R7DpBjfE0pfLYcA==, } engines: { node: '>=20.0.0' } - '@azure/storage-common@12.1.1': + '@azure/storage-common@12.0.0': resolution: { - integrity: sha512-eIOH1pqFwI6UmVNnDQvmFeSg0XppuzDLFeUNO/Xht7ODAzRLgGDh7h550pSxoA+lPDxBl1+D2m/KG3jWzCUjTg==, + integrity: sha512-QyEWXgi4kdRo0wc1rHum9/KnaWZKCdQGZK1BjU4fFL6Jtedp7KLbQihgTTVxldFy1z1ZPtuDPx8mQ5l3huPPbA==, } engines: { node: '>=20.0.0' } - '@azure/storage-queue@12.28.1': + '@azure/storage-queue@12.27.0': resolution: { - integrity: sha512-mAw7a8Asi2tcqzUAWHKrUHQHkD1rZj0kTt3DC+2ZgnDoZj2gPp3yGjaeNiONiSdDOdIhnEK4/IlAolinrMxs7A==, + integrity: sha512-GoviVZrJ1BkYCmsam0gOZFqAjH7bKbnbBIEVPkgzCz3RzsB/C05jumQep+3GavZoWw7Yw4iaCNPSyyS1lbN1Gg==, } engines: { node: '>=20.0.0' } @@ -1325,10 +1210,10 @@ packages: } engines: { node: '>=6.9.0' } - '@babel/compat-data@7.28.5': + '@babel/compat-data@7.28.4': resolution: { - integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==, + integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==, } engines: { node: '>=6.9.0' } @@ -1339,6 +1224,13 @@ packages: } engines: { node: '>=6.9.0' } + '@babel/generator@7.28.3': + resolution: + { + integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==, + } + engines: { node: '>=6.9.0' } + '@babel/generator@7.28.5': resolution: { @@ -1360,19 +1252,19 @@ packages: } engines: { node: '>=6.9.0' } - '@babel/helper-create-class-features-plugin@7.28.5': + '@babel/helper-create-class-features-plugin@7.28.3': resolution: { - integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==, + integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==, } engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.28.5': + '@babel/helper-create-regexp-features-plugin@7.27.1': resolution: { - integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==, + integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -1393,10 +1285,10 @@ packages: } engines: { node: '>=6.9.0' } - '@babel/helper-member-expression-to-functions@7.28.5': + '@babel/helper-member-expression-to-functions@7.27.1': resolution: { - integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==, + integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==, } engines: { node: '>=6.9.0' } @@ -1462,6 +1354,13 @@ packages: } engines: { node: '>=6.9.0' } + '@babel/helper-validator-identifier@7.27.1': + resolution: + { + integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==, + } + engines: { node: '>=6.9.0' } + '@babel/helper-validator-identifier@7.28.5': resolution: { @@ -1490,6 +1389,14 @@ packages: } engines: { node: '>=6.9.0' } + '@babel/parser@7.28.4': + resolution: + { + integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==, + } + engines: { node: '>=6.0.0' } + hasBin: true + '@babel/parser@7.28.5': resolution: { @@ -1498,10 +1405,10 @@ packages: engines: { node: '>=6.0.0' } hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1': resolution: { - integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==, + integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -1766,10 +1673,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.28.5': + '@babel/plugin-transform-block-scoping@7.28.4': resolution: { - integrity: sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==, + integrity: sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -1811,10 +1718,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.28.5': + '@babel/plugin-transform-destructuring@7.28.0': resolution: { - integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==, + integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -1865,10 +1772,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.28.5': + '@babel/plugin-transform-exponentiation-operator@7.27.1': resolution: { - integrity: sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==, + integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -1919,10 +1826,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.28.5': + '@babel/plugin-transform-logical-assignment-operators@7.27.1': resolution: { - integrity: sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==, + integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -1955,10 +1862,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.28.5': + '@babel/plugin-transform-modules-systemjs@7.27.1': resolution: { - integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==, + integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -2036,10 +1943,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.28.5': + '@babel/plugin-transform-optional-chaining@7.27.1': resolution: { - integrity: sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==, + integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -2108,10 +2015,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.28.5': + '@babel/plugin-transform-runtime@7.28.3': resolution: { - integrity: sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==, + integrity: sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -2162,10 +2069,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.28.5': + '@babel/plugin-transform-typescript@7.28.0': resolution: { - integrity: sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==, + integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==, } engines: { node: '>=6.9.0' } peerDependencies: @@ -2216,15 +2123,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-env@7.28.5': - resolution: - { - integrity: sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==, - } - engines: { node: '>=6.9.0' } - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/preset-modules@0.1.6-no-external-plugins': resolution: { @@ -2242,26 +2140,24 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.28.5': + '@babel/runtime@7.28.4': resolution: { - integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==, + integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==, } engines: { node: '>=6.9.0' } - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/runtime@7.28.4': + '@babel/template@7.27.2': resolution: { - integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==, + integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==, } engines: { node: '>=6.9.0' } - '@babel/template@7.27.2': + '@babel/traverse@7.28.4': resolution: { - integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==, + integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==, } engines: { node: '>=6.9.0' } @@ -2272,6 +2168,13 @@ packages: } engines: { node: '>=6.9.0' } + '@babel/types@7.28.4': + resolution: + { + integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==, + } + engines: { node: '>=6.9.0' } + '@babel/types@7.28.5': resolution: { @@ -2285,6 +2188,12 @@ packages: integrity: sha512-IfVJPrDPhHfqXRDb89472hXkpvJuQQR7FDI9isLPHEqSYt/45whIoBxSPgZ0ssTt379VhQo4+87PWI1DoLSfAQ==, } + '@base2/pretty-print-object@1.0.1': + resolution: + { + integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==, + } + '@bcoe/v8-coverage@0.2.3': resolution: { @@ -2309,10 +2218,10 @@ packages: integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==, } - '@changesets/cli@2.29.7': + '@changesets/cli@2.29.4': resolution: { - integrity: sha512-R7RqWoaksyyKXbKXBTbT4REdy22yH81mcFK6sWtqSanxUCbUi9Uf+6aqxZtDQouIqPdem2W56CdxXgsxdq7FLQ==, + integrity: sha512-VW30x9oiFp/un/80+5jLeWgEU6Btj8IqOgI+X/zAYu4usVOWXjPIK5jSSlt5jsCU7/6Z7AxEkarxBxGUqkAmNg==, } hasBin: true @@ -2419,6 +2328,13 @@ packages: } engines: { node: '>=0.1.90' } + '@colors/colors@1.6.0': + resolution: + { + integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==, + } + engines: { node: '>=0.1.90' } + '@cspotcode/source-map-support@0.8.1': resolution: { @@ -2426,17 +2342,23 @@ packages: } engines: { node: '>=12' } - '@dependents/detective-less@5.0.1': + '@dabh/diagnostics@2.0.8': resolution: { - integrity: sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==, + integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==, } - engines: { node: '>=18' } - '@dotenvx/dotenvx@1.51.0': + '@dependents/detective-less@4.1.0': + resolution: + { + integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==, + } + engines: { node: '>=14' } + + '@dotenvx/dotenvx@1.6.4': resolution: { - integrity: sha512-CbMGzyOYSyFF7d4uaeYwO9gpSBzLTnMmSmTVpCZjvpJFV69qYbjYPpzNnCz1mb2wIvEhjWjRwQWuBzTO0jITww==, + integrity: sha512-2jbcxpqbJDafeZo9i2ha38qGyB0KISgCht6KDTyvR4LlWK922pflm9t8M1jY97uYgW3PNZZjCmQjzQ+IB/V4rQ==, } hasBin: true @@ -2449,16 +2371,16 @@ packages: peerDependencies: '@noble/ciphers': ^1.0.0 - '@emnapi/core@1.6.0': + '@emnapi/core@1.5.0': resolution: { - integrity: sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg==, + integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==, } - '@emnapi/runtime@1.6.0': + '@emnapi/runtime@1.5.0': resolution: { - integrity: sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==, + integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==, } '@emnapi/wasi-threads@1.1.0': @@ -2467,442 +2389,433 @@ packages: integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==, } - '@esbuild/aix-ppc64@0.19.12': - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: '>=12' } - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.25.11': + '@esbuild/aix-ppc64@0.25.9': resolution: { - integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==, + integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==, } engines: { node: '>=18' } cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.19.12': + '@esbuild/android-arm64@0.19.2': resolution: { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, + integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==, } engines: { node: '>=12' } cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.11': + '@esbuild/android-arm64@0.25.9': resolution: { - integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==, + integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==, } engines: { node: '>=18' } cpu: [arm64] os: [android] - '@esbuild/android-arm@0.19.12': + '@esbuild/android-arm@0.19.2': resolution: { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, + integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==, } engines: { node: '>=12' } cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.11': + '@esbuild/android-arm@0.25.9': resolution: { - integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==, + integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==, } engines: { node: '>=18' } cpu: [arm] os: [android] - '@esbuild/android-x64@0.19.12': + '@esbuild/android-x64@0.19.2': resolution: { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, + integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==, } engines: { node: '>=12' } cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.11': + '@esbuild/android-x64@0.25.9': resolution: { - integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==, + integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==, } engines: { node: '>=18' } cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.19.12': + '@esbuild/darwin-arm64@0.19.2': resolution: { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, + integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==, } engines: { node: '>=12' } cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.11': + '@esbuild/darwin-arm64@0.25.9': resolution: { - integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==, + integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==, } engines: { node: '>=18' } cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.19.12': + '@esbuild/darwin-x64@0.19.2': resolution: { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, + integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==, } engines: { node: '>=12' } cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.11': + '@esbuild/darwin-x64@0.25.9': resolution: { - integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==, + integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==, } engines: { node: '>=18' } cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.19.12': + '@esbuild/freebsd-arm64@0.19.2': resolution: { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, + integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==, } engines: { node: '>=12' } cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.11': + '@esbuild/freebsd-arm64@0.25.9': resolution: { - integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==, + integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==, } engines: { node: '>=18' } cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': + '@esbuild/freebsd-x64@0.19.2': resolution: { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, + integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==, } engines: { node: '>=12' } cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.11': + '@esbuild/freebsd-x64@0.25.9': resolution: { - integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==, + integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==, } engines: { node: '>=18' } cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.19.12': + '@esbuild/linux-arm64@0.19.2': resolution: { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, + integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==, } engines: { node: '>=12' } cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.11': + '@esbuild/linux-arm64@0.25.9': resolution: { - integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==, + integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==, } engines: { node: '>=18' } cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.19.12': + '@esbuild/linux-arm@0.19.2': resolution: { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, + integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==, } engines: { node: '>=12' } cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.11': + '@esbuild/linux-arm@0.25.9': resolution: { - integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==, + integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==, } engines: { node: '>=18' } cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.19.12': + '@esbuild/linux-ia32@0.19.2': resolution: { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, + integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==, } engines: { node: '>=12' } cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.11': + '@esbuild/linux-ia32@0.25.9': resolution: { - integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==, + integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==, } engines: { node: '>=18' } cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.19.12': + '@esbuild/linux-loong64@0.19.2': resolution: { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, + integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==, } engines: { node: '>=12' } cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.11': + '@esbuild/linux-loong64@0.25.9': resolution: { - integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==, + integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==, } engines: { node: '>=18' } cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.19.12': + '@esbuild/linux-mips64el@0.19.2': resolution: { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, + integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==, } engines: { node: '>=12' } cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.11': + '@esbuild/linux-mips64el@0.25.9': resolution: { - integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==, + integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==, } engines: { node: '>=18' } cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.19.12': + '@esbuild/linux-ppc64@0.19.2': resolution: { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, + integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==, } engines: { node: '>=12' } cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.11': + '@esbuild/linux-ppc64@0.25.9': resolution: { - integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==, + integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==, } engines: { node: '>=18' } cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.19.12': + '@esbuild/linux-riscv64@0.19.2': resolution: { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, + integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==, } engines: { node: '>=12' } cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.11': + '@esbuild/linux-riscv64@0.25.9': resolution: { - integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==, + integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==, } engines: { node: '>=18' } cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.19.12': + '@esbuild/linux-s390x@0.19.2': resolution: { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, + integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==, } engines: { node: '>=12' } cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.11': + '@esbuild/linux-s390x@0.25.9': resolution: { - integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==, + integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==, } engines: { node: '>=18' } cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.19.12': + '@esbuild/linux-x64@0.19.2': resolution: { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, + integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==, } engines: { node: '>=12' } cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.11': + '@esbuild/linux-x64@0.25.9': resolution: { - integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==, + integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==, } engines: { node: '>=18' } cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.11': + '@esbuild/netbsd-arm64@0.25.9': resolution: { - integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==, + integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==, } engines: { node: '>=18' } cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.19.12': + '@esbuild/netbsd-x64@0.19.2': resolution: { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, + integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==, } engines: { node: '>=12' } cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.11': + '@esbuild/netbsd-x64@0.25.9': resolution: { - integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==, + integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==, } engines: { node: '>=18' } cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.11': + '@esbuild/openbsd-arm64@0.25.9': resolution: { - integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==, + integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==, } engines: { node: '>=18' } cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.19.12': + '@esbuild/openbsd-x64@0.19.2': resolution: { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, + integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==, } engines: { node: '>=12' } cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.11': + '@esbuild/openbsd-x64@0.25.9': resolution: { - integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==, + integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==, } engines: { node: '>=18' } cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.11': + '@esbuild/openharmony-arm64@0.25.9': resolution: { - integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==, + integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==, } engines: { node: '>=18' } cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.19.12': + '@esbuild/sunos-x64@0.19.2': resolution: { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, + integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==, } engines: { node: '>=12' } cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.11': + '@esbuild/sunos-x64@0.25.9': resolution: { - integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==, + integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==, } engines: { node: '>=18' } cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.19.12': + '@esbuild/win32-arm64@0.19.2': resolution: { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, + integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==, } engines: { node: '>=12' } cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.11': + '@esbuild/win32-arm64@0.25.9': resolution: { - integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==, + integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==, } engines: { node: '>=18' } cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.19.12': + '@esbuild/win32-ia32@0.19.2': resolution: { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, + integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==, } engines: { node: '>=12' } cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.11': + '@esbuild/win32-ia32@0.25.9': resolution: { - integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==, + integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==, } engines: { node: '>=18' } cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.19.12': + '@esbuild/win32-x64@0.19.2': resolution: { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, + integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==, } engines: { node: '>=12' } cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.11': + '@esbuild/win32-x64@0.25.9': resolution: { - integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==, + integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==, } engines: { node: '>=18' } cpu: [x64] @@ -2917,17 +2830,17 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.2': + '@eslint-community/regexpp@4.12.1': resolution: { - integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==, + integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==, } engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - '@eslint/config-array@0.21.1': + '@eslint/config-array@0.21.0': resolution: { - integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==, + integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } @@ -2959,10 +2872,10 @@ packages: } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - '@eslint/object-schema@2.1.7': + '@eslint/object-schema@2.1.6': resolution: { - integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==, + integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } @@ -3067,12 +2980,6 @@ packages: integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==, } - '@ethersproject/basex@5.8.0': - resolution: - { - integrity: sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==, - } - '@ethersproject/bignumber@5.7.0': resolution: { @@ -3217,12 +3124,6 @@ packages: integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==, } - '@ethersproject/random@5.8.0': - resolution: - { - integrity: sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==, - } - '@ethersproject/rlp@5.7.0': resolution: { @@ -3241,12 +3142,6 @@ packages: integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==, } - '@ethersproject/sha2@5.8.0': - resolution: - { - integrity: sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==, - } - '@ethersproject/signing-key@5.7.0': resolution: { @@ -3327,10 +3222,10 @@ packages: peerDependencies: viem: '>=2.0.0' - '@gerrit0/mini-shiki@3.13.1': + '@gerrit0/mini-shiki@3.12.2': resolution: { - integrity: sha512-fDWM5QQc70jwBIt/WYMybdyXdyBmoJe7r1hpM+V/bHnyla79sygVDK2/LlVxIPc4n5FA3B5Wzt7AQH2+psNphg==, + integrity: sha512-HKZPmO8OSSAAo20H2B3xgJdxZaLTwtlMwxg0967scnrDlPwe6j5+ULGHyIqwgTbFCn9yv/ff8CmfWZLE9YKBzA==, } '@google-cloud/monitoring@5.3.1': @@ -3340,13 +3235,21 @@ packages: } engines: { node: '>=18' } - '@grpc/grpc-js@1.14.0': + '@grpc/grpc-js@1.13.4': resolution: { - integrity: sha512-N8Jx6PaYzcTRNzirReJCtADVoq4z7+1KQ4E70jTg/koQiMoUSN1kbNjPOqpPbhMFhfU1/l7ixspPl8dNY+FoUg==, + integrity: sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg==, } engines: { node: '>=12.10.0' } + '@grpc/proto-loader@0.7.15': + resolution: + { + integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==, + } + engines: { node: '>=6' } + hasBin: true + '@grpc/proto-loader@0.8.0': resolution: { @@ -3395,17 +3298,10 @@ packages: } engines: { node: '>=18.18' } - '@inquirer/ansi@1.0.1': - resolution: - { - integrity: sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw==, - } - engines: { node: '>=18' } - - '@inquirer/checkbox@4.3.0': + '@inquirer/checkbox@4.2.2': resolution: { - integrity: sha512-5+Q3PKH35YsnoPTh75LucALdAxom6xh5D1oeY561x4cqBuH24ZFVyFREPe14xgnrtmGu3EEt1dIi60wRVSnGCw==, + integrity: sha512-E+KExNurKcUJJdxmjglTl141EwxWyAHplvsYJQgSwXf8qiNWkTxTuCCqmhFEmbIXd4zLaGMfQFJ6WrZ7fSeV3g==, } engines: { node: '>=18' } peerDependencies: @@ -3414,10 +3310,10 @@ packages: '@types/node': optional: true - '@inquirer/confirm@5.1.19': + '@inquirer/confirm@5.1.16': resolution: { - integrity: sha512-wQNz9cfcxrtEnUyG5PndC8g3gZ7lGDBzmWiXZkX8ot3vfZ+/BLjR8EvyGX4YzQLeVqtAlY/YScZpW7CW8qMoDQ==, + integrity: sha512-j1a5VstaK5KQy8Mu8cHmuQvN1Zc62TbLhjJxwHvKPPKEoowSF6h/0UdOpA9DNdWZ+9Inq73+puRq1df6OJ8Sag==, } engines: { node: '>=18' } peerDependencies: @@ -3426,10 +3322,10 @@ packages: '@types/node': optional: true - '@inquirer/core@10.3.0': + '@inquirer/core@10.2.0': resolution: { - integrity: sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA==, + integrity: sha512-NyDSjPqhSvpZEMZrLCYUquWNl+XC/moEcVFqS55IEYIYsY0a1cUCevSqk7ctOlnm/RaSBU5psFryNlxcmGrjaA==, } engines: { node: '>=18' } peerDependencies: @@ -3438,10 +3334,10 @@ packages: '@types/node': optional: true - '@inquirer/editor@4.2.21': + '@inquirer/editor@4.2.18': resolution: { - integrity: sha512-MjtjOGjr0Kh4BciaFShYpZ1s9400idOdvQ5D7u7lE6VztPFoyLcVNE5dXBmEEIQq5zi4B9h2kU+q7AVBxJMAkQ==, + integrity: sha512-yeQN3AXjCm7+Hmq5L6Dm2wEDeBRdAZuyZ4I7tWSSanbxDzqM0KqzoDbKM7p4ebllAYdoQuPJS6N71/3L281i6w==, } engines: { node: '>=18' } peerDependencies: @@ -3450,10 +3346,10 @@ packages: '@types/node': optional: true - '@inquirer/expand@4.0.21': + '@inquirer/expand@4.0.18': resolution: { - integrity: sha512-+mScLhIcbPFmuvU3tAGBed78XvYHSvCl6dBiYMlzCLhpr0bzGzd8tfivMMeqND6XZiaZ1tgusbUHJEfc6YzOdA==, + integrity: sha512-xUjteYtavH7HwDMzq4Cn2X4Qsh5NozoDHCJTdoXg9HfZ4w3R6mxV1B9tL7DGJX2eq/zqtsFjhm0/RJIMGlh3ag==, } engines: { node: '>=18' } peerDependencies: @@ -3462,10 +3358,10 @@ packages: '@types/node': optional: true - '@inquirer/external-editor@1.0.2': + '@inquirer/external-editor@1.0.1': resolution: { - integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==, + integrity: sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==, } engines: { node: '>=18' } peerDependencies: @@ -3474,17 +3370,17 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.14': + '@inquirer/figures@1.0.13': resolution: { - integrity: sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==, + integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==, } engines: { node: '>=18' } - '@inquirer/input@4.2.5': + '@inquirer/input@4.2.2': resolution: { - integrity: sha512-7GoWev7P6s7t0oJbenH0eQ0ThNdDJbEAEtVt9vsrYZ9FulIokvd823yLyhQlWHJPGce1wzP53ttfdCZmonMHyA==, + integrity: sha512-hqOvBZj/MhQCpHUuD3MVq18SSoDNHy7wEnQ8mtvs71K8OPZVXJinOzcvQna33dNYLYE4LkA9BlhAhK6MJcsVbw==, } engines: { node: '>=18' } peerDependencies: @@ -3493,10 +3389,10 @@ packages: '@types/node': optional: true - '@inquirer/number@3.0.21': + '@inquirer/number@3.0.18': resolution: { - integrity: sha512-5QWs0KGaNMlhbdhOSCFfKsW+/dcAVC2g4wT/z2MCiZM47uLgatC5N20kpkDQf7dHx+XFct/MJvvNGy6aYJn4Pw==, + integrity: sha512-7exgBm52WXZRczsydCVftozFTrrwbG5ySE0GqUd2zLNSBXyIucs2Wnm7ZKLe/aUu6NUg9dg7Q80QIHCdZJiY4A==, } engines: { node: '>=18' } peerDependencies: @@ -3505,10 +3401,10 @@ packages: '@types/node': optional: true - '@inquirer/password@4.0.21': + '@inquirer/password@4.0.18': resolution: { - integrity: sha512-xxeW1V5SbNFNig2pLfetsDb0svWlKuhmr7MPJZMYuDnCTkpVBI+X/doudg4pznc1/U+yYmWFFOi4hNvGgUo7EA==, + integrity: sha512-zXvzAGxPQTNk/SbT3carAD4Iqi6A2JS2qtcqQjsL22uvD+JfQzUrDEtPjLL7PLn8zlSNyPdY02IiQjzoL9TStA==, } engines: { node: '>=18' } peerDependencies: @@ -3517,10 +3413,10 @@ packages: '@types/node': optional: true - '@inquirer/prompts@7.9.0': + '@inquirer/prompts@7.8.4': resolution: { - integrity: sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A==, + integrity: sha512-MuxVZ1en1g5oGamXV3DWP89GEkdD54alcfhHd7InUW5BifAdKQEK9SLFa/5hlWbvuhMPlobF0WAx7Okq988Jxg==, } engines: { node: '>=18' } peerDependencies: @@ -3529,10 +3425,10 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@4.1.9': + '@inquirer/rawlist@4.1.6': resolution: { - integrity: sha512-AWpxB7MuJrRiSfTKGJ7Y68imYt8P9N3Gaa7ySdkFj1iWjr6WfbGAhdZvw/UnhFXTHITJzxGUI9k8IX7akAEBCg==, + integrity: sha512-KOZqa3QNr3f0pMnufzL7K+nweFFCCBs6LCXZzXDrVGTyssjLeudn5ySktZYv1XiSqobyHRYYK0c6QsOxJEhXKA==, } engines: { node: '>=18' } peerDependencies: @@ -3541,10 +3437,10 @@ packages: '@types/node': optional: true - '@inquirer/search@3.2.0': + '@inquirer/search@3.1.1': resolution: { - integrity: sha512-a5SzB/qrXafDX1Z4AZW3CsVoiNxcIYCzYP7r9RzrfMpaLpB+yWi5U8BWagZyLmwR0pKbbL5umnGRd0RzGVI8bQ==, + integrity: sha512-TkMUY+A2p2EYVY3GCTItYGvqT6LiLzHBnqsU1rJbrpXUijFfM6zvUx0R4civofVwFCmJZcKqOVwwWAjplKkhxA==, } engines: { node: '>=18' } peerDependencies: @@ -3553,10 +3449,10 @@ packages: '@types/node': optional: true - '@inquirer/select@4.4.0': + '@inquirer/select@4.3.2': resolution: { - integrity: sha512-kaC3FHsJZvVyIjYBs5Ih8y8Bj4P/QItQWrZW22WJax7zTN+ZPXVGuOM55vzbdCP9zKUiBd9iEJVdesujfF+cAA==, + integrity: sha512-nwous24r31M+WyDEHV+qckXkepvihxhnyIaod2MG7eCE6G0Zm/HUF6jgN8GXgf4U7AU6SLseKdanY195cwvU6w==, } engines: { node: '>=18' } peerDependencies: @@ -3565,10 +3461,10 @@ packages: '@types/node': optional: true - '@inquirer/type@3.0.9': + '@inquirer/type@3.0.8': resolution: { - integrity: sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w==, + integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==, } engines: { node: '>=18' } peerDependencies: @@ -3577,10 +3473,10 @@ packages: '@types/node': optional: true - '@ioredis/commands@1.4.0': + '@ioredis/commands@1.3.1': resolution: { - integrity: sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ==, + integrity: sha512-bYtU8avhGIcje3IhvF9aSjsa5URMZBHnwKtOvXsT4sfYy9gppW11gLPT/9oNqlJZD47yPKveQFTAFWpHjKvUoQ==, } '@ipld/dag-pb@4.1.5': @@ -3611,6 +3507,23 @@ packages: } engines: { node: '>=12' } + '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.7': + resolution: + { + integrity: sha512-9f0bhUr9TnwwpgUhEpr3FjxSaH/OHaARkE2F9fM0lS4nIs2GNerrvGwQz493dk0JKlTaGYVrKbq36vA/whZ34g==, + } + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=4.2' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + '@istanbuljs/load-nyc-config@1.1.0': resolution: { @@ -3930,6 +3843,12 @@ packages: peerDependencies: jsep: ^0.4.0||^1.0.0 + '@jspm/core@2.1.0': + resolution: + { + integrity: sha512-3sRl+pkyFY/kLmHl0cgHiFp2xEqErA8N3ECjMs7serSUBmoJ70lBa0PG5t0IM6WJgdZNyyI0R8YFfi5wM8+mzg==, + } + '@lit-labs/ssr-dom-shim@1.4.0': resolution: { @@ -3956,6 +3875,14 @@ packages: peerDependencies: typescript: ^5.0.0 + '@lit-protocol/esbuild-plugin-polyfill-node@0.3.0': + resolution: + { + integrity: sha512-U8KBmWO/SQi05CWY1omPQSknirhRW+T/1zKaERqVUPx8njXmWUE2m9bHJe7uFqdgvTygYJ4iQ9fJLCz6KuUrlg==, + } + peerDependencies: + esbuild: '*' + '@lit-protocol/lit-status-sdk@0.1.8': resolution: { @@ -4320,6 +4247,13 @@ packages: } engines: { node: ^14.21.3 || >=16 } + '@noble/hashes@1.7.2': + resolution: + { + integrity: sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ==, + } + engines: { node: ^14.21.3 || >=16 } + '@noble/hashes@1.8.0': resolution: { @@ -4361,10 +4295,74 @@ packages: } engines: { node: '>=12.4.0' } - '@nx/devkit@21.2.1': + '@npmcli/agent@2.2.2': resolution: { - integrity: sha512-sbc8l6qdc9GER5gUeh+IKecyKA+uUv0V/bf45nibUziUuQN2C1nh9bFJHzBeFeySonmEbF+I0aZ3aoafM5FVuQ==, + integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@npmcli/fs@3.1.1': + resolution: + { + integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + '@npmcli/git@5.0.8': + resolution: + { + integrity: sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@npmcli/installed-package-contents@2.1.0': + resolution: + { + integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + hasBin: true + + '@npmcli/node-gyp@3.0.0': + resolution: + { + integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + '@npmcli/package-json@5.2.1': + resolution: + { + integrity: sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@npmcli/promise-spawn@7.0.2': + resolution: + { + integrity: sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@npmcli/redact@1.1.0': + resolution: + { + integrity: sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@npmcli/run-script@7.0.4': + resolution: + { + integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@nx/devkit@21.2.1': + resolution: + { + integrity: sha512-sbc8l6qdc9GER5gUeh+IKecyKA+uUv0V/bf45nibUziUuQN2C1nh9bFJHzBeFeySonmEbF+I0aZ3aoafM5FVuQ==, } peerDependencies: nx: 21.2.1 @@ -4519,24 +4517,24 @@ packages: integrity: sha512-tJMD4ELFZI1bbfcDz+k89MB1GumTVkwDVMicPBZwIlXTVqKQDgJmGUYIMF7VgU499WcX08LQAwVlIjvGX07GMw==, } - '@oclif/core@4.7.2': + '@oclif/core@4.5.3': resolution: { - integrity: sha512-AmZnhEnyD7bFxmzEKRaOEr0kzonmwIip72eWZPWB5+7D9ayHa/QFX08zhaQT9eOo0//ed64v5p5QZIbYCbQaJQ==, + integrity: sha512-ISoFlfmsuxJvNKXhabCO4/KqNXDQdLHchZdTPfZbtqAsQbqTw5IKitLVZq9Sz1LWizN37HILp4u0350B8scBjg==, } engines: { node: '>=18.0.0' } - '@oclif/plugin-help@6.2.33': + '@oclif/plugin-help@6.2.32': resolution: { - integrity: sha512-9L07S61R0tuXrURdLcVtjF79Nbyv3qGplJ88DVskJBxShbROZl3hBG7W/CNltAK3cnMPlXV8K3kKh+C0N0p4xw==, + integrity: sha512-LrmMdo9EMJciOvF8UurdoTcTMymv5npKtxMAyonZvhSvGR8YwCKnuHIh00+SO2mNtGOYam7f4xHnUmj2qmanyA==, } engines: { node: '>=18.0.0' } - '@oclif/plugin-not-found@3.2.70': + '@oclif/plugin-not-found@3.2.67': resolution: { - integrity: sha512-pFU32i0hpOrpb2k+HXTp2MuGB/FaaTDrbCkbcoA+0uxjGAqhifxCJlDLZI/BCjsjd0nKJ0pZEDbiIAA6+2oKoA==, + integrity: sha512-Q2VluSwTrh7Sk0ey88Lk5WSATn9AZ6TjYQIyt2QrQolOBErAgpDoDSMVRYuVNtjxPBTDBzz4MM54QRFa/nN4IQ==, } engines: { node: '>=18.0.0' } @@ -4898,12 +4896,6 @@ packages: peerDependencies: typescript: ^3 || ^4 || ^5 - '@pinojs/redact@0.4.0': - resolution: - { - integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==, - } - '@pkgjs/parseargs@0.11.0': resolution: { @@ -4918,17 +4910,17 @@ packages: } engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } - '@playwright/browser-chromium@1.55.0': + '@playwright/browser-chromium@1.52.0': resolution: { - integrity: sha512-HxG0+6v8NGLFLYMxrGb4T4DAmKwwx6C0V3uIn/i91tOVqcNnaBBllhpxLEqXCnxjprL3HDDMXsVPjk1/vsCVAw==, + integrity: sha512-n2/e2Q0dFACFg/1JZ0t2IYLorDdno6q1QwKnNbPICHwCkAtW7+fSMqCvJ9FSMWSyPugxZqIFhownSpyATxtiTw==, } engines: { node: '>=18' } - '@playwright/test@1.55.0': + '@playwright/test@1.52.0': resolution: { - integrity: sha512-04IXzPwHrW69XusN/SIdDdKZBzMfOT9UNT/YiJit/xpy2VuAoB8NHc8Aplb96zsWDddLnbkPL3TsmrS04ZU2xQ==, + integrity: sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g==, } engines: { node: '>=18' } hasBin: true @@ -5001,10 +4993,10 @@ packages: peerDependencies: '@redis/client': ^1.0.0 - '@redis/client@1.6.1': + '@redis/client@1.5.14': resolution: { - integrity: sha512-/KCsg3xSlR+nCK8/8ZYSknYxvXHwubJrU82F3Lm1Fp6789VQ0/3RJKfsmRXjqfaTA++23CvC3hqmqe/2GEt6Kw==, + integrity: sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==, } engines: { node: '>=14' } @@ -5016,26 +5008,26 @@ packages: peerDependencies: '@redis/client': ^1.0.0 - '@redis/json@1.0.7': + '@redis/json@1.0.6': resolution: { - integrity: sha512-6UyXfjVaTBTJtKNG4/9Z8PSpKE6XgSyEb8iwaqDcy+uKrd/DGYHTWkUdnQDyzm727V7p21WUMhsqz5oy65kPcQ==, + integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==, } peerDependencies: '@redis/client': ^1.0.0 - '@redis/search@1.2.0': + '@redis/search@1.1.6': resolution: { - integrity: sha512-tYoDBbtqOVigEDMAcTGsRlMycIIjwMCgD8eR2t0NANeQmgK/lvxNAvYyb6bZDD4frHRhIHkJu2TBRvB0ERkOmw==, + integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==, } peerDependencies: '@redis/client': ^1.0.0 - '@redis/time-series@1.1.0': + '@redis/time-series@1.0.5': resolution: { - integrity: sha512-c1Q99M5ljsIuc4YdaCwfUEXsofakb9c8+Zse2qxTadu8TalLXuAESzLvFAvNVbkmSlvlzIQOLpBCmWI9wTOt+g==, + integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==, } peerDependencies: '@redis/client': ^1.0.0 @@ -5096,12 +5088,6 @@ packages: integrity: sha512-51kTleozhA618T1UvMghkhKfaPcc9JlKwLJ5uV+riHyvSoWPKPRIa5A6M1Wano5puNyW0s3fwywhyqTHSilkaA==, } - '@rtsao/scc@1.1.0': - resolution: - { - integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==, - } - '@safe-global/safe-apps-provider@0.18.6': resolution: { @@ -5181,28 +5167,28 @@ packages: integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==, } - '@shikijs/engine-oniguruma@3.13.0': + '@shikijs/engine-oniguruma@3.12.2': resolution: { - integrity: sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg==, + integrity: sha512-hozwnFHsLvujK4/CPVHNo3Bcg2EsnG8krI/ZQ2FlBlCRpPZW4XAEQmEwqegJsypsTAN9ehu2tEYe30lYKSZW/w==, } - '@shikijs/langs@3.13.0': + '@shikijs/langs@3.12.2': resolution: { - integrity: sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ==, + integrity: sha512-bVx5PfuZHDSHoBal+KzJZGheFuyH4qwwcwG/n+MsWno5cTlKmaNtTsGzJpHYQ8YPbB5BdEdKU1rga5/6JGY8ww==, } - '@shikijs/themes@3.13.0': + '@shikijs/themes@3.12.2': resolution: { - integrity: sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg==, + integrity: sha512-fTR3QAgnwYpfGczpIbzPjlRnxyONJOerguQv1iwpyQZ9QXX4qy/XFQqXlf17XTsorxnHoJGbH/LXBvwtqDsF5A==, } - '@shikijs/types@3.13.0': + '@shikijs/types@3.12.2': resolution: { - integrity: sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==, + integrity: sha512-K5UIBzxCyv0YoxN3LMrKB9zuhp1bV+LgewxuVwHdl4Gz5oePoUFrr9EfgJlGlDeXCU1b/yhdnXeuRvAnz8HN8Q==, } '@shikijs/vscode-textmate@10.0.2': @@ -5229,10 +5215,52 @@ packages: integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==, } - '@simplewebauthn/browser@7.4.0': + '@sigstore/bundle@2.3.2': + resolution: + { + integrity: sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@sigstore/core@1.1.0': + resolution: + { + integrity: sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@sigstore/protobuf-specs@0.3.3': + resolution: + { + integrity: sha512-RpacQhBlwpBWd7KEJsRKcBQalbV28fvkxwTOJIqhIuDysMMaJW47V4OqW30iJB9uRpqOSxxEAQFdr8tTattReQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } + + '@sigstore/sign@2.3.2': + resolution: + { + integrity: sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@sigstore/tuf@2.3.4': + resolution: + { + integrity: sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@sigstore/verify@1.2.1': + resolution: + { + integrity: sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@simplewebauthn/browser@7.2.0': resolution: { - integrity: sha512-qqCZ99lFWjtyza8NCtCpRm3GU5u8/QFeBfMgW5+U/E8Qyc4lvUcuJ8JTbrhksVQLZWSY1c/6Xw11QZ5e+D1hNw==, + integrity: sha512-HHIvRPpqKy0UV/BsGAmx4rQRZuZTUFYLLH65FwpSOslqHruiHx3Ql/bq7A75bjWuJ296a+4BIAq3+SPaII01TQ==, } '@simplewebauthn/server@6.2.1': @@ -5249,10 +5277,10 @@ packages: } deprecated: This package has been renamed to @simplewebauthn/types. Please install @simplewebauthn/types instead to ensure you receive future updates. - '@simplewebauthn/typescript-types@7.4.0': + '@simplewebauthn/typescript-types@7.0.0': resolution: { - integrity: sha512-8/ZjHeUPe210Bt5oyaOIGx4h8lHdsQs19BiOT44gi/jBEgK7uBGA0Fy7NRsyh777al3m6WM0mBf0UR7xd4R7WQ==, + integrity: sha512-bV+xACCFTsrLR/23ozHO06ZllHZaxC8LlI5YCo79GvU2BrN+rePDU2yXwZIYndNWcMQwRdndRdAhpafOh9AC/g==, } deprecated: This package has been renamed to @simplewebauthn/types. Please install @simplewebauthn/types instead to ensure you receive future updates. @@ -5293,637 +5321,1167 @@ packages: integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==, } - '@smithy/abort-controller@4.2.3': + '@smithy/abort-controller@4.1.1': resolution: { - integrity: sha512-xWL9Mf8b7tIFuAlpjKtRPnHrR8XVrwTj5NPYO/QwZPtc0SDLsPxb56V5tzi5yspSMytISHybifez+4jlrx0vkQ==, + integrity: sha512-vkzula+IwRvPR6oKQhMYioM3A/oX/lFCZiwuxkQbRhqJS2S4YRY2k7k/SyR2jMf3607HLtbEwlRxi0ndXHMjRg==, } engines: { node: '>=18.0.0' } - '@smithy/chunked-blob-reader-native@4.2.1': + '@smithy/config-resolver@4.2.1': resolution: { - integrity: sha512-lX9Ay+6LisTfpLid2zZtIhSEjHMZoAR5hHCR4H7tBz/Zkfr5ea8RcQ7Tk4mi0P76p4cN+Btz16Ffno7YHpKXnQ==, + integrity: sha512-FXil8q4QN7mgKwU2hCLm0ltab8NyY/1RiqEf25Jnf6WLS3wmb11zGAoLETqg1nur2Aoibun4w4MjeN9CMJ4G6A==, } engines: { node: '>=18.0.0' } - '@smithy/chunked-blob-reader@5.2.0': + '@smithy/core@3.11.0': resolution: { - integrity: sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA==, + integrity: sha512-Abs5rdP1o8/OINtE49wwNeWuynCu0kme1r4RI3VXVrHr4odVDG7h7mTnw1WXXfN5Il+c25QOnrdL2y56USfxkA==, } engines: { node: '>=18.0.0' } - '@smithy/config-resolver@4.4.0': + '@smithy/credential-provider-imds@4.1.1': resolution: { - integrity: sha512-Kkmz3Mup2PGp/HNJxhCWkLNdlajJORLSjwkcfrj0E7nu6STAEdcMR1ir5P9/xOmncx8xXfru0fbUYLlZog/cFg==, + integrity: sha512-1WdBfM9DwA59pnpIizxnUvBf/de18p4GP+6zP2AqrlFzoW3ERpZaT4QueBR0nS9deDMaQRkBlngpVlnkuuTisQ==, } engines: { node: '>=18.0.0' } - '@smithy/core@3.17.1': + '@smithy/fetch-http-handler@5.2.1': resolution: { - integrity: sha512-V4Qc2CIb5McABYfaGiIYLTmo/vwNIK7WXI5aGveBd9UcdhbOMwcvIMxIw/DJj1S9QgOMa/7FBkarMdIC0EOTEQ==, + integrity: sha512-5/3wxKNtV3wO/hk1is+CZUhL8a1yy/U+9u9LKQ9kZTkMsHaQjJhc3stFfiujtMnkITjzWfndGA2f7g9Uh9vKng==, } engines: { node: '>=18.0.0' } - '@smithy/credential-provider-imds@4.2.3': + '@smithy/hash-node@4.1.1': resolution: { - integrity: sha512-hA1MQ/WAHly4SYltJKitEsIDVsNmXcQfYBRv2e+q04fnqtAX5qXaybxy/fhUeAMCnQIdAjaGDb04fMHQefWRhw==, + integrity: sha512-H9DIU9WBLhYrvPs9v4sYvnZ1PiAI0oc8CgNQUJ1rpN3pP7QADbTOUjchI2FB764Ub0DstH5xbTqcMJu1pnVqxA==, } engines: { node: '>=18.0.0' } - '@smithy/eventstream-codec@4.2.3': + '@smithy/invalid-dependency@4.1.1': resolution: { - integrity: sha512-rcr0VH0uNoMrtgKuY7sMfyKqbHc4GQaQ6Yp4vwgm+Z6psPuOgL+i/Eo/QWdXRmMinL3EgFM0Z1vkfyPyfzLmjw==, + integrity: sha512-1AqLyFlfrrDkyES8uhINRlJXmHA2FkG+3DY8X+rmLSqmFwk3DJnvhyGzyByPyewh2jbmV+TYQBEfngQax8IFGg==, } engines: { node: '>=18.0.0' } - '@smithy/eventstream-serde-browser@4.2.3': + '@smithy/is-array-buffer@2.2.0': resolution: { - integrity: sha512-EcS0kydOr2qJ3vV45y7nWnTlrPmVIMbUFOZbMG80+e2+xePQISX9DrcbRpVRFTS5Nqz3FiEbDcTCAV0or7bqdw==, + integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=14.0.0' } - '@smithy/eventstream-serde-config-resolver@4.3.3': + '@smithy/is-array-buffer@4.1.0': resolution: { - integrity: sha512-GewKGZ6lIJ9APjHFqR2cUW+Efp98xLu1KmN0jOWxQ1TN/gx3HTUPVbLciFD8CfScBj2IiKifqh9vYFRRXrYqXA==, + integrity: sha512-ePTYUOV54wMogio+he4pBybe8fwg4sDvEVDBU8ZlHOZXbXK3/C0XfJgUCu6qAZcawv05ZhZzODGUerFBPsPUDQ==, } engines: { node: '>=18.0.0' } - '@smithy/eventstream-serde-node@4.2.3': + '@smithy/middleware-compression@4.2.1': resolution: { - integrity: sha512-uQobOTQq2FapuSOlmGLUeGTpvcBLE5Fc7XjERUSk4dxEi4AhTwuyHYZNAvL4EMUp7lzxxkKDFaJ1GY0ovrj0Kg==, + integrity: sha512-nOr4Ozs/zfuMCu1076DYrobBTwiRc+++iYpXGS7qrKQTlwi8niwazYocIl3njXuRKPzND2gU2MkpXrwYIzoI2A==, } engines: { node: '>=18.0.0' } - '@smithy/eventstream-serde-universal@4.2.3': + '@smithy/middleware-content-length@4.1.1': resolution: { - integrity: sha512-QIvH/CKOk1BZPz/iwfgbh1SQD5Y0lpaw2kLA8zpLRRtYMPXeYUEWh+moTaJyqDaKlbrB174kB7FSRFiZ735tWw==, + integrity: sha512-9wlfBBgTsRvC2JxLJxv4xDGNBrZuio3AgSl0lSFX7fneW2cGskXTYpFxCdRYD2+5yzmsiTuaAJD1Wp7gWt9y9w==, } engines: { node: '>=18.0.0' } - '@smithy/fetch-http-handler@5.3.4': + '@smithy/middleware-endpoint@4.2.1': resolution: { - integrity: sha512-bwigPylvivpRLCm+YK9I5wRIYjFESSVwl8JQ1vVx/XhCw0PtCi558NwTnT2DaVCl5pYlImGuQTSwMsZ+pIavRw==, + integrity: sha512-fUTMmQvQQZakXOuKizfu7fBLDpwvWZjfH6zUK2OLsoNZRZGbNUdNSdLJHpwk1vS208jtDjpUIskh+JoA8zMzZg==, } engines: { node: '>=18.0.0' } - '@smithy/hash-blob-browser@4.2.4': + '@smithy/middleware-retry@4.2.1': resolution: { - integrity: sha512-W7eIxD+rTNsLB/2ynjmbdeP7TgxRXprfvqQxKFEfy9HW2HeD7t+g+KCIrY0pIn/GFjA6/fIpH+JQnfg5TTk76Q==, + integrity: sha512-JzfvjwSJXWRl7LkLgIRTUTd2Wj639yr3sQGpViGNEOjtb0AkAuYqRAHs+jSOI/LPC0ZTjmFVVtfrCICMuebexw==, } engines: { node: '>=18.0.0' } - '@smithy/hash-node@4.2.3': + '@smithy/middleware-serde@4.1.1': resolution: { - integrity: sha512-6+NOdZDbfuU6s1ISp3UOk5Rg953RJ2aBLNLLBEcamLjHAg1Po9Ha7QIB5ZWhdRUVuOUrT8BVFR+O2KIPmw027g==, + integrity: sha512-lh48uQdbCoj619kRouev5XbWhCwRKLmphAif16c4J6JgJ4uXjub1PI6RL38d3BLliUvSso6klyB/LTNpWSNIyg==, } engines: { node: '>=18.0.0' } - '@smithy/hash-stream-node@4.2.3': + '@smithy/middleware-stack@4.1.1': resolution: { - integrity: sha512-EXMSa2yiStVII3x/+BIynyOAZlS7dGvI7RFrzXa/XssBgck/7TXJIvnjnCu328GY/VwHDC4VeDyP1S4rqwpYag==, + integrity: sha512-ygRnniqNcDhHzs6QAPIdia26M7e7z9gpkIMUe/pK0RsrQ7i5MblwxY8078/QCnGq6AmlUUWgljK2HlelsKIb/A==, } engines: { node: '>=18.0.0' } - '@smithy/invalid-dependency@4.2.3': + '@smithy/node-config-provider@4.2.1': resolution: { - integrity: sha512-Cc9W5DwDuebXEDMpOpl4iERo8I0KFjTnomK2RMdhhR87GwrSmUmwMxS4P5JdRf+LsjOdIqumcerwRgYMr/tZ9Q==, + integrity: sha512-AIA0BJZq2h295J5NeCTKhg1WwtdTA/GqBCaVjk30bDgMHwniUETyh5cP9IiE9VrId7Kt8hS7zvREVMTv1VfA6g==, } engines: { node: '>=18.0.0' } - '@smithy/is-array-buffer@2.2.0': + '@smithy/node-http-handler@4.2.1': resolution: { - integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==, + integrity: sha512-REyybygHlxo3TJICPF89N2pMQSf+p+tBJqpVe1+77Cfi9HBPReNjTgtZ1Vg73exq24vkqJskKDpfF74reXjxfw==, } - engines: { node: '>=14.0.0' } + engines: { node: '>=18.0.0' } - '@smithy/is-array-buffer@4.2.0': + '@smithy/property-provider@4.1.1': resolution: { - integrity: sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==, + integrity: sha512-gm3ZS7DHxUbzC2wr8MUCsAabyiXY0gaj3ROWnhSx/9sPMc6eYLMM4rX81w1zsMaObj2Lq3PZtNCC1J6lpEY7zg==, } engines: { node: '>=18.0.0' } - '@smithy/md5-js@4.2.3': + '@smithy/protocol-http@5.2.1': resolution: { - integrity: sha512-5+4bUEJQi/NRgzdA5SVXvAwyvEnD0ZAiKzV3yLO6dN5BG8ScKBweZ8mxXXUtdxq+Dx5k6EshKk0XJ7vgvIPSnA==, + integrity: sha512-T8SlkLYCwfT/6m33SIU/JOVGNwoelkrvGjFKDSDtVvAXj/9gOT78JVJEas5a+ETjOu4SVvpCstKgd0PxSu/aHw==, } engines: { node: '>=18.0.0' } - '@smithy/middleware-compression@4.3.5': + '@smithy/querystring-builder@4.1.1': resolution: { - integrity: sha512-tktNZRLE8xJAZO+VP9zj4ix+M+Um+Qs+geJJwaEdTrPHBnoZjp8BQY1/jKDce7DQuN87G26f9KciujpTcuCinw==, + integrity: sha512-J9b55bfimP4z/Jg1gNo+AT84hr90p716/nvxDkPGCD4W70MPms0h8KF50RDRgBGZeL83/u59DWNqJv6tEP/DHA==, } engines: { node: '>=18.0.0' } - '@smithy/middleware-content-length@4.2.3': + '@smithy/querystring-parser@4.1.1': resolution: { - integrity: sha512-/atXLsT88GwKtfp5Jr0Ks1CSa4+lB+IgRnkNrrYP0h1wL4swHNb0YONEvTceNKNdZGJsye+W2HH8W7olbcPUeA==, + integrity: sha512-63TEp92YFz0oQ7Pj9IuI3IgnprP92LrZtRAkE3c6wLWJxfy/yOPRt39IOKerVr0JS770olzl0kGafXlAXZ1vng==, } engines: { node: '>=18.0.0' } - '@smithy/middleware-endpoint@4.3.5': + '@smithy/service-error-classification@4.1.1': resolution: { - integrity: sha512-SIzKVTvEudFWJbxAaq7f2GvP3jh2FHDpIFI6/VAf4FOWGFZy0vnYMPSRj8PGYI8Hjt29mvmwSRgKuO3bK4ixDw==, + integrity: sha512-Iam75b/JNXyDE41UvrlM6n8DNOa/r1ylFyvgruTUx7h2Uk7vDNV9AAwP1vfL1fOL8ls0xArwEGVcGZVd7IO/Cw==, } engines: { node: '>=18.0.0' } - '@smithy/middleware-retry@4.4.5': + '@smithy/shared-ini-file-loader@4.1.1': resolution: { - integrity: sha512-DCaXbQqcZ4tONMvvdz+zccDE21sLcbwWoNqzPLFlZaxt1lDtOE2tlVpRSwcTOJrjJSUThdgEYn7HrX5oLGlK9A==, + integrity: sha512-YkpikhIqGc4sfXeIbzSj10t2bJI/sSoP5qxLue6zG+tEE3ngOBSm8sO3+djacYvS/R5DfpxN/L9CyZsvwjWOAQ==, } engines: { node: '>=18.0.0' } - '@smithy/middleware-serde@4.2.3': + '@smithy/signature-v4@5.2.1': resolution: { - integrity: sha512-8g4NuUINpYccxiCXM5s1/V+uLtts8NcX4+sPEbvYQDZk4XoJfDpq5y2FQxfmUL89syoldpzNzA0R9nhzdtdKnQ==, + integrity: sha512-M9rZhWQLjlQVCCR37cSjHfhriGRN+FQ8UfgrYNufv66TJgk+acaggShl3KS5U/ssxivvZLlnj7QH2CUOKlxPyA==, } engines: { node: '>=18.0.0' } - '@smithy/middleware-stack@4.2.3': + '@smithy/smithy-client@4.6.1': resolution: { - integrity: sha512-iGuOJkH71faPNgOj/gWuEGS6xvQashpLwWB1HjHq1lNNiVfbiJLpZVbhddPuDbx9l4Cgl0vPLq5ltRfSaHfspA==, + integrity: sha512-WolVLDb9UTPMEPPOncrCt6JmAMCSC/V2y5gst2STWJ5r7+8iNac+EFYQnmvDCYMfOLcilOSEpm5yXZXwbLak1Q==, } engines: { node: '>=18.0.0' } - '@smithy/node-config-provider@4.3.3': + '@smithy/types@4.5.0': resolution: { - integrity: sha512-NzI1eBpBSViOav8NVy1fqOlSfkLgkUjUTlohUSgAEhHaFWA3XJiLditvavIP7OpvTjDp5u2LhtlBhkBlEisMwA==, + integrity: sha512-RkUpIOsVlAwUIZXO1dsz8Zm+N72LClFfsNqf173catVlvRZiwPy0x2u0JLEA4byreOPKDZPGjmPDylMoP8ZJRg==, } engines: { node: '>=18.0.0' } - '@smithy/node-http-handler@4.4.3': + '@smithy/url-parser@4.1.1': resolution: { - integrity: sha512-MAwltrDB0lZB/H6/2M5PIsISSwdI5yIh6DaBB9r0Flo9nx3y0dzl/qTMJPd7tJvPdsx6Ks/cwVzheGNYzXyNbQ==, + integrity: sha512-bx32FUpkhcaKlEoOMbScvc93isaSiRM75pQ5IgIBaMkT7qMlIibpPRONyx/0CvrXHzJLpOn/u6YiDX2hcvs7Dg==, } engines: { node: '>=18.0.0' } - '@smithy/property-provider@4.2.3': + '@smithy/util-base64@4.1.0': resolution: { - integrity: sha512-+1EZ+Y+njiefCohjlhyOcy1UNYjT+1PwGFHCxA/gYctjg3DQWAU19WigOXAco/Ql8hZokNehpzLd0/+3uCreqQ==, + integrity: sha512-RUGd4wNb8GeW7xk+AY5ghGnIwM96V0l2uzvs/uVHf+tIuVX2WSvynk5CxNoBCsM2rQRSZElAo9rt3G5mJ/gktQ==, } engines: { node: '>=18.0.0' } - '@smithy/protocol-http@5.3.3': + '@smithy/util-body-length-browser@4.1.0': resolution: { - integrity: sha512-Mn7f/1aN2/jecywDcRDvWWWJF4uwg/A0XjFMJtj72DsgHTByfjRltSqcT9NyE9RTdBSN6X1RSXrhn/YWQl8xlw==, + integrity: sha512-V2E2Iez+bo6bUMOTENPr6eEmepdY8Hbs+Uc1vkDKgKNA/brTJqOW/ai3JO1BGj9GbCeLqw90pbbH7HFQyFotGQ==, } engines: { node: '>=18.0.0' } - '@smithy/querystring-builder@4.2.3': + '@smithy/util-body-length-node@4.1.0': resolution: { - integrity: sha512-LOVCGCmwMahYUM/P0YnU/AlDQFjcu+gWbFJooC417QRB/lDJlWSn8qmPSDp+s4YVAHOgtgbNG4sR+SxF/VOcJQ==, + integrity: sha512-BOI5dYjheZdgR9XiEM3HJcEMCXSoqbzu7CzIgYrx0UtmvtC3tC2iDGpJLsSRFffUpy8ymsg2ARMP5fR8mtuUQQ==, } engines: { node: '>=18.0.0' } - '@smithy/querystring-parser@4.2.3': + '@smithy/util-buffer-from@2.2.0': resolution: { - integrity: sha512-cYlSNHcTAX/wc1rpblli3aUlLMGgKZ/Oqn8hhjFASXMCXjIqeuQBei0cnq2JR8t4RtU9FpG6uyl6PxyArTiwKA==, + integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=14.0.0' } - '@smithy/service-error-classification@4.2.3': + '@smithy/util-buffer-from@4.1.0': resolution: { - integrity: sha512-NkxsAxFWwsPsQiwFG2MzJ/T7uIR6AQNh1SzcxSUnmmIqIQMlLRQDKhc17M7IYjiuBXhrQRjQTo3CxX+DobS93g==, + integrity: sha512-N6yXcjfe/E+xKEccWEKzK6M+crMrlwaCepKja0pNnlSkm6SjAeLKKA++er5Ba0I17gvKfN/ThV+ZOx/CntKTVw==, } engines: { node: '>=18.0.0' } - '@smithy/shared-ini-file-loader@4.3.3': + '@smithy/util-config-provider@4.1.0': resolution: { - integrity: sha512-9f9Ixej0hFhroOK2TxZfUUDR13WVa8tQzhSzPDgXe5jGL3KmaM9s8XN7RQwqtEypI82q9KHnKS71CJ+q/1xLtQ==, + integrity: sha512-swXz2vMjrP1ZusZWVTB/ai5gK+J8U0BWvP10v9fpcFvg+Xi/87LHvHfst2IgCs1i0v4qFZfGwCmeD/KNCdJZbQ==, } engines: { node: '>=18.0.0' } - '@smithy/signature-v4@5.3.3': + '@smithy/util-defaults-mode-browser@4.1.1': resolution: { - integrity: sha512-CmSlUy+eEYbIEYN5N3vvQTRfqt0lJlQkaQUIf+oizu7BbDut0pozfDjBGecfcfWf7c62Yis4JIEgqQ/TCfodaA==, + integrity: sha512-hA1AKIHFUMa9Tl6q6y8p0pJ9aWHCCG8s57flmIyLE0W7HcJeYrYtnqXDcGnftvXEhdQnSexyegXnzzTGk8bKLA==, } engines: { node: '>=18.0.0' } - '@smithy/smithy-client@4.9.1': + '@smithy/util-defaults-mode-node@4.1.1': resolution: { - integrity: sha512-Ngb95ryR5A9xqvQFT5mAmYkCwbXvoLavLFwmi7zVg/IowFPCfiqRfkOKnbc/ZRL8ZKJ4f+Tp6kSu6wjDQb8L/g==, + integrity: sha512-RGSpmoBrA+5D2WjwtK7tto6Pc2wO9KSXKLpLONhFZ8VyuCbqlLdiDAfuDTNY9AJe4JoE+Cx806cpTQQoQ71zPQ==, } engines: { node: '>=18.0.0' } - '@smithy/types@4.8.0': + '@smithy/util-endpoints@3.1.1': resolution: { - integrity: sha512-QpELEHLO8SsQVtqP+MkEgCYTFW0pleGozfs3cZ183ZBj9z3VC1CX1/wtFMK64p+5bhtZo41SeLK1rBRtd25nHQ==, + integrity: sha512-qB4R9kO0SetA11Rzu6MVGFIaGYX3p6SGGGfWwsKnC6nXIf0n/0AKVwRTsYsz9ToN8CeNNtNgQRwKFBndGJZdyw==, } engines: { node: '>=18.0.0' } - '@smithy/url-parser@4.2.3': + '@smithy/util-hex-encoding@4.1.0': resolution: { - integrity: sha512-I066AigYvY3d9VlU3zG9XzZg1yT10aNqvCaBTw9EPgu5GrsEl1aUkcMvhkIXascYH1A8W0LQo3B1Kr1cJNcQEw==, + integrity: sha512-1LcueNN5GYC4tr8mo14yVYbh/Ur8jHhWOxniZXii+1+ePiIbsLZ5fEI0QQGtbRRP5mOhmooos+rLmVASGGoq5w==, } engines: { node: '>=18.0.0' } - '@smithy/util-base64@4.3.0': + '@smithy/util-middleware@4.1.1': resolution: { - integrity: sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==, + integrity: sha512-CGmZ72mL29VMfESz7S6dekqzCh8ZISj3B+w0g1hZFXaOjGTVaSqfAEFAq8EGp8fUL+Q2l8aqNmt8U1tglTikeg==, } engines: { node: '>=18.0.0' } - '@smithy/util-body-length-browser@4.2.0': + '@smithy/util-retry@4.1.1': resolution: { - integrity: sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg==, + integrity: sha512-jGeybqEZ/LIordPLMh5bnmnoIgsqnp4IEimmUp5c5voZ8yx+5kAlN5+juyr7p+f7AtZTgvhmInQk4Q0UVbrZ0Q==, } engines: { node: '>=18.0.0' } - '@smithy/util-body-length-node@4.2.1': + '@smithy/util-stream@4.3.1': resolution: { - integrity: sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA==, + integrity: sha512-khKkW/Jqkgh6caxMWbMuox9+YfGlsk9OnHOYCGVEdYQb/XVzcORXHLYUubHmmda0pubEDncofUrPNniS9d+uAA==, } engines: { node: '>=18.0.0' } - '@smithy/util-buffer-from@2.2.0': + '@smithy/util-uri-escape@4.1.0': resolution: { - integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==, + integrity: sha512-b0EFQkq35K5NHUYxU72JuoheM6+pytEVUGlTwiFxWFpmddA+Bpz3LgsPRIpBk8lnPE47yT7AF2Egc3jVnKLuPg==, } - engines: { node: '>=14.0.0' } + engines: { node: '>=18.0.0' } - '@smithy/util-buffer-from@4.2.0': + '@smithy/util-utf8@2.3.0': resolution: { - integrity: sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==, + integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=14.0.0' } - '@smithy/util-config-provider@4.2.0': + '@smithy/util-utf8@4.1.0': resolution: { - integrity: sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==, + integrity: sha512-mEu1/UIXAdNYuBcyEPbjScKi/+MQVXNIuY/7Cm5XLIWe319kDrT5SizBE95jqtmEXoDbGoZxKLCMttdZdqTZKQ==, } engines: { node: '>=18.0.0' } - '@smithy/util-defaults-mode-browser@4.3.4': + '@smithy/util-waiter@4.1.1': resolution: { - integrity: sha512-qI5PJSW52rnutos8Bln8nwQZRpyoSRN6k2ajyoUHNMUzmWqHnOJCnDELJuV6m5PML0VkHI+XcXzdB+6awiqYUw==, + integrity: sha512-PJBmyayrlfxM7nbqjomF4YcT1sApQwZio0NHSsT0EzhJqljRmvhzqZua43TyEs80nJk2Cn2FGPg/N8phH6KeCQ==, } engines: { node: '>=18.0.0' } - '@smithy/util-defaults-mode-node@4.2.6': + '@so-ric/colorspace@1.1.6': resolution: { - integrity: sha512-c6M/ceBTm31YdcFpgfgQAJaw3KbaLuRKnAz91iMWFLSrgxRpYm03c3bu5cpYojNMfkV9arCUelelKA7XQT36SQ==, + integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==, } - engines: { node: '>=18.0.0' } - '@smithy/util-endpoints@3.2.3': + '@socket.io/component-emitter@3.1.2': resolution: { - integrity: sha512-aCfxUOVv0CzBIkU10TubdgKSx5uRvzH064kaiPEWfNIvKOtNpu642P4FP1hgOFkjQIkDObrfIDnKMKkeyrejvQ==, + integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==, } - engines: { node: '>=18.0.0' } - '@smithy/util-hex-encoding@4.2.0': + '@solana/accounts@4.0.0': resolution: { - integrity: sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==, + integrity: sha512-fxTtTk7PCJrigdzqhkc0eZYACVZpONKJZy4MkGvZzx5tCC7rUeDJvzau3IYACUCRaaAGPpkINHwYtp8weKsn8w==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@smithy/util-middleware@4.2.3': + '@solana/addresses@4.0.0': resolution: { - integrity: sha512-v5ObKlSe8PWUHCqEiX2fy1gNv6goiw6E5I/PN2aXg3Fb/hse0xeaAnSpXDiWl7x6LamVKq7senB+m5LOYHUAHw==, + integrity: sha512-1OS4nU0HFZxHRxgUb6A72Qg0QbIz6Vu2AbB0j/YSxN4EI+S2BftA83Y6uXhTFDQjKuA+MtHjxe6edB3cs1Pqxw==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@smithy/util-retry@4.2.3': + '@solana/assertions@4.0.0': resolution: { - integrity: sha512-lLPWnakjC0q9z+OtiXk+9RPQiYPNAovt2IXD3CP4LkOnd9NpUsxOjMx1SnoUVB7Orb7fZp67cQMtTBKMFDvOGg==, + integrity: sha512-QwtImPVM5JLEWOFpvHh+eKdvmxdNP6PW8FkmFFEVYR6VFDaZD/hbmSJlwt5p3L69sVmxJA0ughYgD/kkHM7fbg==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@smithy/util-stream@4.5.4': + '@solana/buffer-layout@4.0.1': resolution: { - integrity: sha512-+qDxSkiErejw1BAIXUFBSfM5xh3arbz1MmxlbMCKanDDZtVEQ7PSKW9FQS0Vud1eI/kYn0oCTVKyNzRlq+9MUw==, + integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=5.10' } - '@smithy/util-uri-escape@4.2.0': + '@solana/codecs-core@2.3.0': resolution: { - integrity: sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA==, + integrity: sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@smithy/util-utf8@2.3.0': + '@solana/codecs-core@4.0.0': resolution: { - integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==, + integrity: sha512-28kNUsyIlhU3MO3/7ZLDqeJf2YAm32B4tnTjl5A9HrbBqsTZ+upT/RzxZGP1MMm7jnPuIKCMwmTpsyqyR6IUpw==, } - engines: { node: '>=14.0.0' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@smithy/util-utf8@4.2.0': + '@solana/codecs-data-structures@4.0.0': resolution: { - integrity: sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==, + integrity: sha512-pvh+Oxz6UIbWxcgwvVwMJIV4nvZn3EHL5ZvCIPClE5Ep8K5sJ8RoRvOohqLcIv9LYn/EZNoXpCodREX/OYpsGw==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@smithy/util-waiter@4.2.3': + '@solana/codecs-numbers@2.3.0': resolution: { - integrity: sha512-5+nU///E5sAdD7t3hs4uwvCTWQtTR8JwKwOCSJtBRx0bY1isDo1QwH87vRK86vlFLBTISqoDA2V6xvP6nF1isQ==, + integrity: sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@smithy/uuid@1.1.0': + '@solana/codecs-numbers@4.0.0': resolution: { - integrity: sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==, + integrity: sha512-z9zpjtcwzqT9rbkKVZpkWB5/0V7+6YRKs6BccHkGJlaDx8Pe/+XOvPi2rEdXPqrPd9QWb5Xp1iBfcgaDMyiOiA==, } - engines: { node: '>=18.0.0' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@socket.io/component-emitter@3.1.2': + '@solana/codecs-strings@4.0.0': resolution: { - integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==, + integrity: sha512-XvyD+sQ1zyA0amfxbpoFZsucLoe+yASQtDiLUGMDg5TZ82IHE3B7n82jE8d8cTAqi0HgqQiwU13snPhvg1O0Ow==, } + engines: { node: '>=20.18.0' } + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5.3.3' - '@solana/buffer-layout@4.0.1': + '@solana/codecs@4.0.0': resolution: { - integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==, + integrity: sha512-qh+Le1u9QBDPubqUrFU5BGX3Kyj7x0viO6z2SUuM0CSqYUvwE7w724LXwDA9QoEL5JkED1rB3bQg4M0bDrABpA==, } - engines: { node: '>=5.10' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@solana/web3.js@1.95.3': + '@solana/errors@2.3.0': resolution: { - integrity: sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og==, + integrity: sha512-66RI9MAbwYV0UtP7kGcTBVLxJgUxoZGm8Fbc0ah+lGiAw17Gugco6+9GrJCV83VyF2mDWyYnYM9qdI3yjgpnaQ==, } + engines: { node: '>=20.18.0' } + hasBin: true + peerDependencies: + typescript: '>=5.3.3' - '@spruceid/siwe-parser@2.1.2': + '@solana/errors@4.0.0': resolution: { - integrity: sha512-d/r3S1LwJyMaRAKQ0awmo9whfXeE88Qt00vRj91q5uv5ATtWIQEGJ67Yr5eSZw5zp1/fZCXZYuEckt8lSkereQ==, + integrity: sha512-3YEtvcMvtcnTl4HahqLt0VnaGVf7vVWOnt6/uPky5e0qV6BlxDSbGkbBzttNjxLXHognV0AQi3pjvrtfUnZmbg==, } + engines: { node: '>=20.18.0' } + hasBin: true + peerDependencies: + typescript: '>=5.3.3' - '@stablelib/binary@1.0.1': + '@solana/fast-stable-stringify@4.0.0': resolution: { - integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==, + integrity: sha512-sNJRi0RQ93vkGQ9VyFTSGm6mfKLk0FWOFpJLcqyP0BNUK1CugBaUMnxAmGqNaVSCktJagTSLqAMi9k1VSdh+Cg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@stablelib/int@1.0.1': + '@solana/functional@4.0.0': resolution: { - integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==, + integrity: sha512-duprxASuT0VXlHj3bLBdy9+ZpqdmCZhzCUmTsXps4UlDKr9PxSCQIQ+NK6OPhtBWOh1sNEcT1f1nY/MVqF/KHg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@stablelib/random@1.0.2': + '@solana/instruction-plans@4.0.0': resolution: { - integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==, + integrity: sha512-FcyptPR5XmKoj1EyF9xARiqy2BuF+CfrIxTU0WQn5Tix/y7whKYz5CCFtBlWbwIcGxQftmG5tAlcidgnCb7jVw==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@stablelib/wipe@1.0.1': + '@solana/instructions@4.0.0': resolution: { - integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==, + integrity: sha512-/Lf3E+6mhe6EL7a3+9FY020yq71lVNgueplJGr221b4wP6ykwPVtoaAiNf+lIrRRYkW8DC81auhmjd2DYpND1w==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@swc/helpers@0.5.17': + '@solana/keys@4.0.0': resolution: { - integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==, + integrity: sha512-aPz+LF9QK3EHjuklYBnnalcLVHUNz5s4m4DXNVGAtjJD7Q9zEu2dBUm9mRKwlLbQibNOEGa1m86HCjcboqXdjg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@szmarczak/http-timer@4.0.6': + '@solana/kit@4.0.0': resolution: { - integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==, + integrity: sha512-5c4qMRL+ciWewEtNZ2gX4wf4VpscZYXbWnU2kBiyQhWiqj8zzFIh6iCHbqMX/Myx3pOHfQs/m/iQCnQHPOag9Q==, } - engines: { node: '>=10' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@t3-oss/env-core@0.13.8': + '@solana/nominal-types@4.0.0': resolution: { - integrity: sha512-L1inmpzLQyYu4+Q1DyrXsGJYCXbtXjC4cICw1uAKv0ppYPQv656lhZPU91Qd1VS6SO/bou1/q5ufVzBGbNsUpw==, + integrity: sha512-zIjHZY+5uboigbzsNhHmF3AlP/xACYxbB0Cb1VAI9i+eFShMeu/3VIrj7x1vbq9hfQKGSFHNFGFqQTivdzpbLw==, } + engines: { node: '>=20.18.0' } peerDependencies: - arktype: ^2.1.0 - typescript: '>=5.0.0' - valibot: ^1.0.0-beta.7 || ^1.0.0 - zod: ^3.24.0 || ^4.0.0-beta.0 - peerDependenciesMeta: - arktype: - optional: true - typescript: - optional: true - valibot: - optional: true - zod: - optional: true + typescript: '>=5.3.3' - '@tanstack/query-core@5.90.5': + '@solana/options@4.0.0': resolution: { - integrity: sha512-wLamYp7FaDq6ZnNehypKI5fNvxHPfTYylE0m/ZpuuzJfJqhR5Pxg9gvGBHZx4n7J+V5Rg5mZxHHTlv25Zt5u+w==, + integrity: sha512-QTjBh24a34At66mGfs0lVF1voug1KnA13IZkvcVPr52zFb90+xYiqYeKiICTaf3HkoeoKG+TC2Q0K64+se0+CQ==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@tanstack/react-query@5.90.5': + '@solana/programs@4.0.0': resolution: { - integrity: sha512-pN+8UWpxZkEJ/Rnnj2v2Sxpx1WFlaa9L6a4UO89p6tTQbeo+m0MS8oYDjbggrR8QcTyjKoYWKS3xJQGr3ExT8Q==, + integrity: sha512-tJCNoKyDKfipGTsQtUO6R9EXk4l4ai+gYuD2R3NubJgMaLPBqIv3IMSCeDSvhuSCDuN2lQ1mLkQrDnE3lm0/iQ==, } + engines: { node: '>=20.18.0' } peerDependencies: - react: ^18 || ^19 + typescript: '>=5.3.3' - '@tootallnate/once@2.0.0': + '@solana/promises@4.0.0': resolution: { - integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, + integrity: sha512-zEh815+n2OrrQunZ6m1iuNcoZRc9YnQaTeivBSgl1SYfPaq/Qj/rRiK5DID25Njo4L44p5quu7aal3Bk/eR+tQ==, } - engines: { node: '>= 10' } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@tsconfig/node10@1.0.11': + '@solana/rpc-api@4.0.0': resolution: { - integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==, + integrity: sha512-nfQkTJCIW3qzUDRrhvr9MBm9jKQ+dZn4ypK35UDPrV+QB5Gc9UmPJ6prvpPtDq8WoU7wqUzswKeY3k7qtgYjEg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@tsconfig/node12@1.0.11': + '@solana/rpc-parsed-types@4.0.0': resolution: { - integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, + integrity: sha512-aOjwJwen5D0aDXoSths+ekdBO4mu7nmM+yASqCVW2PLN6v7NZmRBzV1/PgMFjDTiymVQj25ipCUvL395s1wsKg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@tsconfig/node14@1.0.3': + '@solana/rpc-spec-types@4.0.0': resolution: { - integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, + integrity: sha512-rpFMIaetpubeyDXIlxV08vtmiDt7ME9527kCI61slHj6O2rbj+7fABhmlN6J4YDCcL/kfnMCxZyNna94DovHZA==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@tsconfig/node16@1.0.4': + '@solana/rpc-spec@4.0.0': resolution: { - integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==, + integrity: sha512-9PFTFWjdgA/KFG4rgzbgA7gm9+aRDwsRJgI1aP7n3dGsGzYUp8vNgRQBhogWscEOETkgZNlsi/artLxgvHEHEg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@tybys/wasm-util@0.10.1': + '@solana/rpc-subscriptions-api@4.0.0': resolution: { - integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==, + integrity: sha512-6/MzQT9VkcD7Rh8ExoGdbERTSEubA5eI+Q0R9FRuujl/SIy2BsWaNxaBMuZS0DFmKbIHM+m1ptUFdjKAVjGQuw==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@tybys/wasm-util@0.9.0': + '@solana/rpc-subscriptions-channel-websocket@4.0.0': resolution: { - integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==, + integrity: sha512-dc4cGfkQJEdkux/CXpItffuytnSU6wktReHEBL+2xaYmF+yGMBeBLzTvkCJ9BbGGfBMf06c5y5QH8X48W5CJdg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' + ws: ^8.18.0 - '@typechain/ethers-v6@0.5.1': + '@solana/rpc-subscriptions-spec@4.0.0': resolution: { - integrity: sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA==, + integrity: sha512-2ROfFymoy/TjDAlEPpsmSQAr6LZwG4l/UIhkW7+/VraRu7QPAycuWfSopJnG8D7F3fksICFSeQNwwgBXTN1TWA==, } + engines: { node: '>=20.18.0' } peerDependencies: - ethers: 6.x - typechain: ^8.3.2 - typescript: '>=4.7.0' + typescript: '>=5.3.3' - '@types/babel__core@7.20.5': + '@solana/rpc-subscriptions@4.0.0': resolution: { - integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, + integrity: sha512-rM+R4Xpsym0tYF3sGAEpdY+D+c6fOMk/fhCEewR+veqdubRfvI5QEhq4kHs8qdKKuRbcpGmedPC306H+PQ6Hmg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/babel__generator@7.27.0': + '@solana/rpc-transformers@4.0.0': resolution: { - integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==, + integrity: sha512-3B3C9zpqN2O76CJV9tethtybMFdT2ViN5b2u8sObftGNFqxPmjt7XmbOmPdn7zwLyRM5S2RuZShzfcVJpBf+yQ==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/babel__template@7.4.4': + '@solana/rpc-transport-http@4.0.0': resolution: { - integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, + integrity: sha512-RjXcQehF3wHm8eoIala+MrdmS3mDSPRl+xwEWzmA1QmBdQl44/XTNOdPJvNkqWXrzE+bAsZGfn0gVua/oCC+zQ==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/babel__traverse@7.28.0': + '@solana/rpc-types@4.0.0': resolution: { - integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==, + integrity: sha512-mY4W6DQVaLf3M8hSSzIEtaRsVgLg9zv5qdjjYvxkALw0fzjkLW55h3ctGbJ/k+dNpYm9gcKg7zatA7eBNnNmtQ==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/body-parser@1.19.6': + '@solana/rpc@4.0.0': resolution: { - integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==, + integrity: sha512-KF91ghi7P48aeWd4eSY5Fly/ioYz9ww2loQd/YqV3eLQwo3/2HUWd6r6lpSHsLh/HUoUkm+EsYmVN8r/3mE5fg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/cacheable-request@6.0.3': + '@solana/signers@4.0.0': resolution: { - integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==, + integrity: sha512-r3ZrltruadsQXmx3fsGOSqAZ3SsgD7zq/QB8sT6IOVcg11Pgdvx48/CEv7djdy44wF4HVpqNCZLfi12EhoaSXQ==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/connect@3.4.38': + '@solana/subscribable@4.0.0': resolution: { - integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==, + integrity: sha512-lDI4HkDuGkmdnX7hSgvJsFFadkQxt0pLHIpZTxOt7/6KBDtNs63NTwJGd3d/EuA7ReXwYg5HDG0QtOm64divXQ==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/cors@2.8.19': + '@solana/sysvars@4.0.0': resolution: { - integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==, + integrity: sha512-HUu2B8P7iRYWAt1KL/5a6nNTKp73y04cSxZ9PZf2Ap1/KE0/5D8WnkEfnurUQmU3zBner95d+szNOyWMNBOoTw==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/debug@4.1.12': + '@solana/transaction-confirmation@4.0.0': resolution: { - integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==, + integrity: sha512-DTBIMB5/UCOpVyL5E0xwswtxs/PGeSD1VL5+C1UCPlggpZNIOlhZoaQqFO56wrJDFASzPMx+dakda5BUuhQkBg==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/depd@1.1.37': + '@solana/transaction-messages@4.0.0': resolution: { - integrity: sha512-PkEYFHnqDFgs+bJXJX0L8mq7sn3DWh+TP0m8BBJUJfZ2WcjRm7jd7Cq68jIJt+c31R1gX0cwSK1ZXOECvN97Rg==, + integrity: sha512-rQo0rRyvkrROFZHUT0uL3vqeBBtxTsNKDtx8pZo6BC3TgGA7V1MoSC3rVOLwYCK6rK5NJZiYNjmneHz/7hVpwQ==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/estree@1.0.8': + '@solana/transactions@4.0.0': resolution: { - integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, + integrity: sha512-bmHIIVTQq+Wlqg4es91Ew4KSbOrvdfPsKg/pVha8ZR77huwvfqQMxRyYF4zMQ+Fm3QXGFKOU0RPVKKYic15jBw==, } + engines: { node: '>=20.18.0' } + peerDependencies: + typescript: '>=5.3.3' - '@types/events@3.0.3': + '@solana/web3.js@1.98.4': resolution: { - integrity: sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==, + integrity: sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw==, } - '@types/express-serve-static-core@5.1.0': + '@spruceid/siwe-parser@2.1.2': resolution: { - integrity: sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==, + integrity: sha512-d/r3S1LwJyMaRAKQ0awmo9whfXeE88Qt00vRj91q5uv5ATtWIQEGJ67Yr5eSZw5zp1/fZCXZYuEckt8lSkereQ==, } - '@types/express@5.0.3': + '@stablelib/binary@1.0.1': resolution: { - integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==, + integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==, } - '@types/graceful-fs@4.1.9': + '@stablelib/int@1.0.1': resolution: { - integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==, + integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==, } - '@types/hast@3.0.4': + '@stablelib/random@1.0.2': resolution: { - integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==, + integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==, } - '@types/http-cache-semantics@4.0.4': + '@stablelib/wipe@1.0.1': + resolution: + { + integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==, + } + + '@swc/helpers@0.5.17': + resolution: + { + integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==, + } + + '@szmarczak/http-timer@4.0.6': + resolution: + { + integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==, + } + engines: { node: '>=10' } + + '@t3-oss/env-core@0.13.8': + resolution: + { + integrity: sha512-L1inmpzLQyYu4+Q1DyrXsGJYCXbtXjC4cICw1uAKv0ppYPQv656lhZPU91Qd1VS6SO/bou1/q5ufVzBGbNsUpw==, + } + peerDependencies: + arktype: ^2.1.0 + typescript: '>=5.0.0' + valibot: ^1.0.0-beta.7 || ^1.0.0 + zod: ^3.24.0 || ^4.0.0-beta.0 + peerDependenciesMeta: + arktype: + optional: true + typescript: + optional: true + valibot: + optional: true + zod: + optional: true + + '@tanstack/query-core@5.87.4': + resolution: + { + integrity: sha512-uNsg6zMxraEPDVO2Bn+F3/ctHi+Zsk+MMpcN8h6P7ozqD088F6mFY5TfGM7zuyIrL7HKpDyu6QHfLWiDxh3cuw==, + } + + '@tanstack/react-query@5.87.4': + resolution: + { + integrity: sha512-T5GT/1ZaNsUXf5I3RhcYuT17I4CPlbZgyLxc/ZGv7ciS6esytlbjb3DgUFO6c8JWYMDpdjSWInyGZUErgzqhcA==, + } + peerDependencies: + react: ^18 || ^19 + + '@tapjs/after-each@2.0.8': + resolution: + { + integrity: sha512-btkpQ/BhmRyG50rezduxEZb3pMJblECvTQa41+U2ln2te1prDTlllHlpq4lOjceUksl8KFF1avDqcBqIqPzneQ==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/after@1.1.31': + resolution: + { + integrity: sha512-531NkYOls9PvqfnLsEDRzIWwjynoFRbUVq7pTYuA3PRIw4Ka7jA9uUjILeUurcWjaHrQNzUua0jj/Yu94f6YYw==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/asserts@2.0.8': + resolution: + { + integrity: sha512-57VrI0p2kAqfgHHUwowDvd31eTfDHw3HO4FSSVUCvngPGWa96R6eH9gXa9fNig4qIp4Dup+nI7gJlJfU0R80SA==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/before-each@2.0.8': + resolution: + { + integrity: sha512-Xjgk8/fuP7iFa5CYjFDl05p5PZGRe//VyHJNuYNzWpF1K9PNMtVdlmwplfpFmbrNrw/bIPq7R6LuiPmTBgzuOw==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/before@2.0.8': + resolution: + { + integrity: sha512-22ZdGSn/zOKf8J8cb3yfw5R4I/ozdHEDKL8lBWon/zsxxMMvaRTgOtFXEjb4RE+5SDrqQ4NM7ZRYPGhE7T97dw==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/chdir@1.1.4': + resolution: + { + integrity: sha512-axXkT5kWp2/X8l6inKyrqzUhqgvsgrWI8/0xLAdmirpFZ8H6gFxrl763Ozdm27EAmkLnnnWgFITPqUQCuB/tMA==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/config@3.1.6': + resolution: + { + integrity: sha512-5gkDMSLXL5798bbCdX4RdLpB4OUQeu9TXftzKmL1+1T2xbcd4q7zfDnCfOB9zTk50x2f04+4h6Q7Z1NcSKIspg==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + '@tapjs/test': 2.2.4 + + '@tapjs/core@2.1.6': + resolution: + { + integrity: sha512-NYMp0bl52DxXfcLmivMKvOIE14aaB9qJjdHeUbs6GZ9yxgD5w0yeiOT+gWEL+1PzZgGWRxSFEpghID1YfXAc4w==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + + '@tapjs/error-serdes@2.0.1': + resolution: + { + integrity: sha512-P+M4rtcfkDsUveKKmoRNF+07xpbPnRY5KrstIUOnyn483clQ7BJhsnWr162yYNCsyOj4zEfZmAJI1f8Bi7h/ZA==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + + '@tapjs/filter@2.0.8': + resolution: + { + integrity: sha512-/ps6nOS3CTh1WLfCjJnU7tS4PH4KFgEasFSVPCIFN+BasyoqDapzj4JKIlzQvppZOGTQadKH3wUakafZl7uz8w==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/fixture@2.0.8': + resolution: + { + integrity: sha512-LJnjeAMSozPFXzu+wQw2HJsjA9djHbTcyeMnsgiRL/Q8ffcLqAawV3SN6XKdDLdWYUg3e1fXhHspnbsouZj+xA==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/intercept@2.0.8': + resolution: + { + integrity: sha512-OF2Q35jtZ20bwV4hRNoca7vqIrzPFR3JR25G2rGru+fgPmq4heN0RLoh0d1O34AbrtXqra2lXkacMB/DPgb01A==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/mock@2.1.6': + resolution: + { + integrity: sha512-bNXKrjg/r+i/gfKij5Oo/5Md2DvGNHPSRCHQmjz3VQjpyxqK7S1FGcR0kyqJ8Nof6Wc8yIhpNOCuibj19200IQ==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/node-serialize@2.0.8': + resolution: + { + integrity: sha512-92oqhkmIz5wr0yRs1CPQfim5JSwHPSmoDWnQmJlYUZsY1OYgYouQm3ifnPkqK/9hJpVYzlZEQmefxehxbs2WNQ==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/processinfo@3.1.8': + resolution: + { + integrity: sha512-FIriEB+qqArPhmVYc1PZwRHD99myRdl7C9Oe/uts04Q2LOxQ5MEmqP9XOP8vVYzpDOYwmL8OmL6eOYt9eZlQKQ==, + } + engines: { node: '>=16.17' } + + '@tapjs/reporter@2.0.8': + resolution: + { + integrity: sha512-tZn5ZHIrFwjbi59djtdXHBwgSIZSBXdJpz2i9CZ9HEC1nFhWtIr2Jczvrz4ScfixUgA0GNFirz+q+9iA4IFMvw==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/run@2.1.7': + resolution: + { + integrity: sha512-Hk41E68f1x4eLBm6Rrxx4ARzZzrjwaLbKThb16+f3bGYiajmqAvBdeyNEoQpEWmW+Sv2HSlueOk2SS2P4fyetg==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + hasBin: true + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/snapshot@2.0.8': + resolution: + { + integrity: sha512-L0vtqWKkgnQt/XNQkvHOme9Np7ffteCNf1P0F9mz2YiJion4er1nv6pZuJoKVxXFQsbNd2k+LGyx0Iw+bIzwFg==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/spawn@2.0.8': + resolution: + { + integrity: sha512-vCYwynIYJNijY87uHFANe+gCu9rdGoe4GOBmghl6kwDy7eISmcN/FW5TlmrjePMNhTvrDMeYqOIAzqh3WRYmPA==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/stack@2.0.1': + resolution: + { + integrity: sha512-3rKbZkRkLeJl9ilV/6b80YfI4C4+OYf7iEz5/d0MIVhmVvxv0ttIy5JnZutAc4Gy9eRp5Ne5UTAIFOVY5k36cg==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + + '@tapjs/stdin@2.0.8': + resolution: + { + integrity: sha512-tW/exLXuDqjtH2wjptiPHXBahkdSyoppxDY56l9MG4tiz66dMN6NTCZFvQxp7+3t+lsQKqJp/74z8T/ayp+vZA==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/test@2.2.4': + resolution: + { + integrity: sha512-QIgq2BhMpwO9SN8I0qlwZYXAllO4xWCfJ0MgAGhc+J7p69B5p9dDNPmyOreHeXWMmk6VlNj3oWveoXb5Zn9xZQ==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + hasBin: true + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/typescript@1.4.13': + resolution: + { + integrity: sha512-MNs7zlhM6G3pNUIjkKXDxgNCwCGZt2bUCGtVunSTDVIrKiUlHAl4QSjQ1oTjumHlCi9gFIWiwFAvpHekzFti0w==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tapjs/worker@2.0.8': + resolution: + { + integrity: sha512-AySf2kV6OHvwgD3DrLdT2az2g4hRdoRtKsFCLdZo3jOoKte+ft/IQJEnOW7CPT0RYUskS3elv6eabYgSyTH4tg==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + peerDependencies: + '@tapjs/core': 2.1.6 + + '@tootallnate/once@2.0.0': + resolution: + { + integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, + } + engines: { node: '>= 10' } + + '@tsconfig/node10@1.0.11': + resolution: + { + integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==, + } + + '@tsconfig/node12@1.0.11': + resolution: + { + integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, + } + + '@tsconfig/node14@1.0.3': + resolution: + { + integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, + } + + '@tsconfig/node16@1.0.4': + resolution: + { + integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==, + } + + '@tsconfig/node18@18.2.4': + resolution: + { + integrity: sha512-5xxU8vVs9/FNcvm3gE07fPbn9tl6tqGGWA9tSlwsUEkBxtRnTsNmwrV8gasZ9F/EobaSv9+nu8AxUKccw77JpQ==, + } + + '@tsconfig/node20@20.1.6': + resolution: + { + integrity: sha512-sz+Hqx9zwZDpZIV871WSbUzSqNIsXzghZydypnfgzPKLltVJfkINfUeTct31n/tTSa9ZE1ZOfKdRre1uHHquYQ==, + } + + '@tufjs/canonical-json@2.0.0': + resolution: + { + integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@tufjs/models@2.0.1': + resolution: + { + integrity: sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + '@tybys/wasm-util@0.10.1': + resolution: + { + integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==, + } + + '@tybys/wasm-util@0.9.0': + resolution: + { + integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==, + } + + '@typechain/ethers-v6@0.5.1': + resolution: + { + integrity: sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA==, + } + peerDependencies: + ethers: 6.x + typechain: ^8.3.2 + typescript: '>=4.7.0' + + '@types/babel__core@7.20.5': + resolution: + { + integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, + } + + '@types/babel__generator@7.27.0': + resolution: + { + integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==, + } + + '@types/babel__template@7.4.4': + resolution: + { + integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, + } + + '@types/babel__traverse@7.28.0': + resolution: + { + integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==, + } + + '@types/body-parser@1.19.6': + resolution: + { + integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==, + } + + '@types/cacheable-request@6.0.3': + resolution: + { + integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==, + } + + '@types/connect@3.4.38': + resolution: + { + integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==, + } + + '@types/cors@2.8.19': + resolution: + { + integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==, + } + + '@types/debug@4.1.12': + resolution: + { + integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==, + } + + '@types/depd@1.1.36': + resolution: + { + integrity: sha512-+apvfj5Bn6ORfud9XrgoIu6H6s2pTN+X8rQ2LgkA3YUXY+PiXkCJjizh8qxv8CrLtXlxw3NCmYrNbbeckVOQrA==, + } + + '@types/estree@1.0.8': + resolution: + { + integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, + } + + '@types/events@3.0.3': + resolution: + { + integrity: sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==, + } + + '@types/express-serve-static-core@5.0.7': + resolution: + { + integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==, + } + + '@types/express@5.0.3': + resolution: + { + integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==, + } + + '@types/graceful-fs@4.1.9': + resolution: + { + integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==, + } + + '@types/hast@3.0.4': + resolution: + { + integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==, + } + + '@types/http-cache-semantics@4.0.4': resolution: { integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==, @@ -5935,10 +6493,10 @@ packages: integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==, } - '@types/inquirer@9.0.9': + '@types/inquirer@9.0.8': resolution: { - integrity: sha512-/mWx5136gts2Z2e5izdoRCo46lPp5TMs9R15GTSsgg/XnZyxDWVqoVU3R9lWnccKpqwsJLvRoxbCjoJtZB7DSw==, + integrity: sha512-CgPD5kFGWsb8HJ5K7rfWlifao87m4ph8uioU7OTncJevmE/VLIqAAjfQtko578JZg7/f69K4FgqYym3gNr7DeA==, } '@types/istanbul-lib-coverage@2.0.6': @@ -6085,16 +6643,22 @@ packages: integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==, } + '@types/react@19.1.13': + resolution: + { + integrity: sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==, + } + '@types/responselike@1.0.3': resolution: { integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==, } - '@types/secp256k1@4.0.7': + '@types/secp256k1@4.0.6': resolution: { - integrity: sha512-Rcvjl6vARGAKRO6jHeKMatGrvOMGrR/AR11N1x2LqintPCyDZ7NBhrh238Z2VZc7aM7KIwnFpFQ7fnfK4H/9Qw==, + integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==, } '@types/semver@7.7.1': @@ -6109,16 +6673,10 @@ packages: integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==, } - '@types/send@1.2.0': + '@types/serve-static@1.15.8': resolution: { - integrity: sha512-zBF6vZJn1IaMpg3xUF25VK3gd3l8zwE0ZLRX7dsQyQi+jp4E8mMDJNGDYnYse+bQhYwWERTxVwHpi3dMOq7RKQ==, - } - - '@types/serve-static@1.15.9': - resolution: - { - integrity: sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA==, + integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==, } '@types/stack-utils@2.0.3': @@ -6139,6 +6697,12 @@ packages: integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==, } + '@types/triple-beam@1.3.5': + resolution: + { + integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==, + } + '@types/trusted-types@2.0.7': resolution: { @@ -6157,6 +6721,12 @@ packages: integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==, } + '@types/uuid@9.0.8': + resolution: + { + integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==, + } + '@types/ws@7.4.7': resolution: { @@ -6208,10 +6778,10 @@ packages: typescript: optional: true - '@typescript-eslint/project-service@8.46.2': + '@typescript-eslint/project-service@8.43.0': resolution: { - integrity: sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==, + integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -6224,17 +6794,17 @@ packages: } engines: { node: ^16.0.0 || >=18.0.0 } - '@typescript-eslint/scope-manager@8.46.2': + '@typescript-eslint/scope-manager@8.43.0': resolution: { - integrity: sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==, + integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - '@typescript-eslint/tsconfig-utils@8.46.2': + '@typescript-eslint/tsconfig-utils@8.43.0': resolution: { - integrity: sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==, + integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -6253,16 +6823,23 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.46.2': + '@typescript-eslint/type-utils@8.43.0': resolution: { - integrity: sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==, + integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/types@5.62.0': + resolution: + { + integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + '@typescript-eslint/types@6.21.0': resolution: { @@ -6270,13 +6847,25 @@ packages: } engines: { node: ^16.0.0 || >=18.0.0 } - '@typescript-eslint/types@8.46.2': + '@typescript-eslint/types@8.43.0': resolution: { - integrity: sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==, + integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + '@typescript-eslint/typescript-estree@5.62.0': + resolution: + { + integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/typescript-estree@6.21.0': resolution: { @@ -6289,10 +6878,10 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.46.2': + '@typescript-eslint/typescript-estree@8.43.0': resolution: { - integrity: sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==, + integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -6307,16 +6896,23 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 - '@typescript-eslint/utils@8.46.2': + '@typescript-eslint/utils@8.43.0': resolution: { - integrity: sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==, + integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/visitor-keys@5.62.0': + resolution: + { + integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + '@typescript-eslint/visitor-keys@6.21.0': resolution: { @@ -6324,10 +6920,10 @@ packages: } engines: { node: ^16.0.0 || >=18.0.0 } - '@typescript-eslint/visitor-keys@8.46.2': + '@typescript-eslint/visitor-keys@8.43.0': resolution: { - integrity: sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==, + integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } @@ -6496,46 +7092,40 @@ packages: cpu: [x64] os: [win32] - '@upstash/redis@1.35.6': - resolution: - { - integrity: sha512-aSEIGJgJ7XUfTYvhQcQbq835re7e/BXjs8Janq6Pvr6LlmTZnyqwT97RziZLO/8AVUL037RLXqqiQC6kCt+5pA==, - } - - '@vue/compiler-core@3.5.22': + '@vue/compiler-core@3.5.21': resolution: { - integrity: sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==, + integrity: sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==, } - '@vue/compiler-dom@3.5.22': + '@vue/compiler-dom@3.5.21': resolution: { - integrity: sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==, + integrity: sha512-jNtbu/u97wiyEBJlJ9kmdw7tAr5Vy0Aj5CgQmo+6pxWNQhXZDPsRr1UWPN4v3Zf82s2H3kF51IbzZ4jMWAgPlQ==, } - '@vue/compiler-sfc@3.5.22': + '@vue/compiler-sfc@3.5.21': resolution: { - integrity: sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==, + integrity: sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==, } - '@vue/compiler-ssr@3.5.22': + '@vue/compiler-ssr@3.5.21': resolution: { - integrity: sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==, + integrity: sha512-vKQ5olH5edFZdf5ZrlEgSO1j1DMA4u23TVK5XR1uMhvwnYvVdDF0nHXJUblL/GvzlShQbjhZZ2uvYmDlAbgo9w==, } - '@vue/shared@3.5.22': + '@vue/shared@3.5.21': resolution: { - integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==, + integrity: sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==, } - '@wagmi/connectors@6.1.0': + '@wagmi/connectors@6.0.1': resolution: { - integrity: sha512-MnpJHEABUIsajNxLc6br0LiqJvoFZbavQ6yG+mQb7Xlb3Hmm3IRjH5NU1g2zw5PCTRd3BFQLjwniLdwDnUPYNw==, + integrity: sha512-ZHvC9GIncOViz6Fi+oCc+8oin+U+GfCKNLj90aNxve8CLw++vQBEcivPIq1mQq2QNo6lay7yjNyGInPoOEIkSg==, } peerDependencies: '@wagmi/core': 2.22.1 @@ -6756,6 +7346,13 @@ packages: } deprecated: Use your platform's native atob() and btoa() methods instead + abbrev@2.0.0: + resolution: + { + integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + abitype@1.0.8: resolution: { @@ -6784,20 +7381,6 @@ packages: zod: optional: true - abitype@1.1.1: - resolution: - { - integrity: sha512-Loe5/6tAgsBukY95eGaPSDmQHIjRZYQq8PB1MpsNccDIK8WiV+Uw6WzaIXipvaxTEL2yEB0OpEaQv3gs8pkS9Q==, - } - peerDependencies: - typescript: '>=5.0.4' - zod: ^3.22.0 || ^4.0.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - accepts@2.0.0: resolution: { @@ -6870,9 +7453,27 @@ packages: agentkeepalive@4.6.0: resolution: { - integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==, + integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==, + } + engines: { node: '>= 8.0.0' } + + aggregate-error@3.1.0: + resolution: + { + integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, + } + engines: { node: '>=8' } + + ajv-formats@2.1.1: + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, } - engines: { node: '>= 8.0.0' } + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true ajv@6.12.6: resolution: @@ -6880,11 +7481,18 @@ packages: integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, } - ajv@8.17.1: + ajv@8.12.0: + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } + + amdefine@1.0.1: resolution: { - integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==, + integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==, } + engines: { node: '>=0.4.2' } ansi-colors@4.1.3: resolution: @@ -6900,6 +7508,13 @@ packages: } engines: { node: '>=8' } + ansi-escapes@6.2.1: + resolution: + { + integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==, + } + engines: { node: '>=14.16' } + ansi-regex@5.0.1: resolution: { @@ -7103,58 +7718,58 @@ packages: integrity: sha512-g3+rxhxUen2H4+PPBOz6U6pkQ4esBuQPna1rPskgK1jamBdDZeoppyB2vPUM/l0ccunwRrq4r2rKgCvc2FnrFA==, } - artillery-engine-playwright@1.23.0: + artillery-engine-playwright@1.20.0: resolution: { - integrity: sha512-jSbnjEpgiyX8BCZW65aeiDmkaPEvv09NocnI931ejoxlABbwCdrb3oQw+5VQtafHR3fO3ElLRq2uyMRLgeWu4g==, + integrity: sha512-uyVmPz+yBFD65/RngTNeFSA5NT+/i2J3H02hpqWOgVdkto/RKuakeaTXBzVm4Htmy9SEVurAKXPiigh0pLufqw==, } - artillery-plugin-apdex@1.17.0: + artillery-plugin-apdex@1.14.0: resolution: { - integrity: sha512-5cIw9T3pcOyWlIaBK8rJqmqGfEUIqrkGQNiJD5+6ReiCpGH3mk0fkusAZMdoyhSob0Zf60F0kUgzJxcMq9PQfQ==, + integrity: sha512-zs3cSKijU0TBISTyQgUDvNC65GwqjqsDCuC0cCY4FAjbtr9nX5X2XvEP9I35OgGHS4g1Ws7Xpqpw5eq2j7OPvA==, } - artillery-plugin-ensure@1.20.0: + artillery-plugin-ensure@1.17.0: resolution: { - integrity: sha512-IYaxUjRpaPK1v4hkmyqV7oxEuUEuwEZJFL3p71zkv7H2P0cLgqBmUGVbCSvsMz0vlso0638ruJ8MZiAFaNFphQ==, + integrity: sha512-4JFKiBXuklakVfAvxMj7ZnrMtRqN2B73JFRzZM4+cNMmKP/o64a/r8n/js881Eq4tH3ngYar88ovqOKKmo2a8w==, } - artillery-plugin-expect@2.20.0: + artillery-plugin-expect@2.17.0: resolution: { - integrity: sha512-CuPCHeS62SQFDR28r9HptuaoevTU4K2ZtT+1QNcpIHY7daJfJk9Do5HfHuODe5j4YrpYA33dCVrk9NU1KWyWyw==, + integrity: sha512-i9ERsKU/4275dGKa3bwqPrq9kNOLVHxkvo7KIf2VTC71y90EQLagyD2WMQQFGu15d91YFVpKkOnWNDBmCb/MRA==, } - artillery-plugin-fake-data@1.17.0: + artillery-plugin-fake-data@1.14.0: resolution: { - integrity: sha512-bQmPS9dxiFj/xclZPczBVDnc9HEpL/3ByFl6ppF46az89GaAIcI4jLx//V5E1qnbniUW9i00hEea8YYhRb3bdQ==, + integrity: sha512-yJpZU1vq4rU45ZXQedTwQyliyM55GQkPybwDNB3MBWyrF3q2S51w+wl8WNbZhb+HsVKTV8xfUinNjRVmTDVVlg==, } - artillery-plugin-metrics-by-endpoint@1.20.0: + artillery-plugin-metrics-by-endpoint@1.17.0: resolution: { - integrity: sha512-aoodF4VfD+QYeBsLpfW8/idnvuMJd1TtJmmcmV6xmIDgGI2TUoZTyXndAfB0bbZI5KIz9Id9NCSKwg51nkl0hA==, + integrity: sha512-GfJIanyH/QqtirszIlOFBAWG975RvMheW5nebeQWKU1RVrkWGjrYqPXDRwY62YNPmOLQvbzOt2NU0TYZMYWGaQ==, } - artillery-plugin-publish-metrics@2.31.0: + artillery-plugin-publish-metrics@2.28.0: resolution: { - integrity: sha512-xhE2Z+u+0Fwu5QEfpSaXYxPnrZFtyYWZuT5wztVbl4ACL8W9PQxAWNbvIU60d9/dDbyi2M/Km9hVbMu0Z386cg==, + integrity: sha512-VXcZoM0sr1yU3s1jQWOJplcDStEw4Af1K7uLQFCxSpFQ7V4TYMZmkjfKB5KHMjMbtEmtObY2omEEqlALjyviug==, } - artillery-plugin-slack@1.15.0: + artillery-plugin-slack@1.12.0: resolution: { - integrity: sha512-OygdhUGG8ubavbHuVbDJLWjlyZAL352tdopuukosCKLUaxcI+pnzoFngA5XGQBwwf5wVNoEd0a8kpvH/0RTayA==, + integrity: sha512-bBQldVlcs7hI9e4DYBZFhUo+Aa8k1ND6aqfRIrczaog5gdOEGO/63K5z+9LR4q06b5SCZyihUWVFFB1ERdiG8Q==, } - artillery@2.0.26: + artillery@2.0.23: resolution: { - integrity: sha512-ncNz1pCcWyAF+GeOeCsUJxLIxeb+PNRsuQO0ublnukPVAgfE75foWtYDLi7ST/mWLQB5vLZrOUZh2cxM+g96Qg==, + integrity: sha512-j1v7u8pwPrMDVDB55m5MB2moPR61IMGX2+Nos1ZkWyBOlDXUL2XkWH5t7y2ZxBP254rLqR2+nQchH6GMhxxkHw==, } engines: { node: '>= 22.13.0' } hasBin: true @@ -7190,12 +7805,12 @@ packages: integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, } - ast-module-types@6.0.1: + ast-module-types@5.0.0: resolution: { - integrity: sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==, + integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==, } - engines: { node: '>=18' } + engines: { node: '>=14' } ast-types-flow@0.0.8: resolution: @@ -7210,12 +7825,31 @@ packages: } engines: { node: '>= 0.4' } + async-hook-domain@4.0.1: + resolution: + { + integrity: sha512-bSktexGodAjfHWIrSrrqxqWzf1hWBZBpmPNZv+TYUMyWa2eoefFc6q6H1+KtdHYSz35lrhWdmXt/XK9wNEZvww==, + } + engines: { node: '>=16' } + + async-limiter@1.0.1: + resolution: + { + integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==, + } + async-mutex@0.2.6: resolution: { integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==, } + async@1.5.0: + resolution: + { + integrity: sha512-m9nMwCtLtz29LszVaR0q/FqsJWkrxVoQL95p7JU0us7qUx4WEcySQgwvuneYSGVyvirl81gz7agflS3V1yW14g==, + } + async@2.6.4: resolution: { @@ -7241,6 +7875,20 @@ packages: } engines: { node: '>=8.0.0' } + atomically@1.7.0: + resolution: + { + integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==, + } + engines: { node: '>=10.12.0' } + + auto-bind@5.0.1: + resolution: + { + integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + available-typed-arrays@1.0.7: resolution: { @@ -7248,17 +7896,24 @@ packages: } engines: { node: '>= 0.4' } - axe-core@4.11.0: + aws-sdk@2.1692.0: resolution: { - integrity: sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==, + integrity: sha512-x511uiJ/57FIsbgUe5csJ13k3uzu25uWQE+XqfBis/sB0SFoiElJWXRkgEAUh0U6n40eT3ay5Ue4oPkRMu1LYw==, + } + engines: { node: '>= 10.0.0' } + + axe-core@4.10.3: + resolution: + { + integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==, } engines: { node: '>=4' } - axios@1.12.2: + axios@1.12.0: resolution: { - integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==, + integrity: sha512-oXTDccv8PcfjZmPGlWsPSwtOJCZ/b6W5jAMCNcfwJbCzDckwG0jrYJFaWH1yvivfCXjVzV/SPDEhMB3Q+DSurg==, } axobject-query@3.1.1: @@ -7421,13 +8076,6 @@ packages: } engines: { node: '>=6.0.0' } - baseline-browser-mapping@2.8.20: - resolution: - { - integrity: sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==, - } - hasBin: true - bech32@1.1.4: resolution: { @@ -7447,13 +8095,6 @@ packages: integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==, } - bigint-buffer@1.1.5: - resolution: - { - integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==, - } - engines: { node: '>= 10.0.0' } - bignumber.js@9.3.1: resolution: { @@ -7559,6 +8200,12 @@ packages: integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==, } + browser-or-node@1.3.0: + resolution: + { + integrity: sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg==, + } + browserify-aes@1.2.0: resolution: { @@ -7584,12 +8231,12 @@ packages: } engines: { node: '>= 0.10' } - browserify-sign@4.2.5: + browserify-sign@4.2.3: resolution: { - integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==, + integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==, } - engines: { node: '>= 0.10' } + engines: { node: '>= 0.12' } browserify-zlib@0.2.0: resolution: @@ -7597,10 +8244,10 @@ packages: integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==, } - browserslist@4.27.0: + browserslist@4.25.4: resolution: { - integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==, + integrity: sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==, } engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true @@ -7654,6 +8301,12 @@ packages: integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==, } + buffer@4.9.2: + resolution: + { + integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==, + } + buffer@5.7.1: resolution: { @@ -7679,10 +8332,10 @@ packages: integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==, } - bullmq@5.61.2: + bullmq@5.52.3: resolution: { - integrity: sha512-b39hbiq/xXpOTT/OfmKpQYD+4VE4+XUlvdZ6GjbGl9asmRk8cSvUaQWD18jVCn1I0SzIfbrgOf+RAkqjXDUhJg==, + integrity: sha512-UaVkg+uSgylYWjD6/d8TVm87SjDVZ5jKwDVh/pJACmStn71aIzOIpGazh2JrkGISgT10Q/lG2I40FhPg0KgNCQ==, } bundle-name@4.1.0: @@ -7699,6 +8352,21 @@ packages: } engines: { node: '>= 0.8' } + c8@9.1.0: + resolution: + { + integrity: sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg==, + } + engines: { node: '>=14.14.0' } + hasBin: true + + cacache@18.0.4: + resolution: + { + integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + cacheable-lookup@5.0.4: resolution: { @@ -7768,10 +8436,10 @@ packages: } engines: { node: '>=10' } - caniuse-lite@1.0.30001751: + caniuse-lite@1.0.30001741: resolution: { - integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==, + integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==, } canonicalize@2.1.0: @@ -7816,6 +8484,13 @@ packages: } engines: { node: '>=10' } + chalk@5.6.2: + resolution: + { + integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==, + } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + char-regex@1.0.2: resolution: { @@ -7823,6 +8498,12 @@ packages: } engines: { node: '>=10' } + chardet@0.7.0: + resolution: + { + integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, + } + chardet@2.1.0: resolution: { @@ -7856,6 +8537,13 @@ packages: } engines: { node: '>= 14.16.0' } + chownr@2.0.0: + resolution: + { + integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==, + } + engines: { node: '>=10' } + ci-info@3.9.0: resolution: { @@ -7863,10 +8551,10 @@ packages: } engines: { node: '>=8' } - ci-info@4.3.1: + ci-info@4.3.0: resolution: { - integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==, + integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==, } engines: { node: '>=8' } @@ -7878,10 +8566,10 @@ packages: engines: { node: '>=4.0.0', npm: '>=3.0.0' } deprecated: This module has been superseded by the multiformats module - cipher-base@1.0.7: + cipher-base@1.0.6: resolution: { - integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==, + integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==, } engines: { node: '>= 0.10' } @@ -7897,6 +8585,13 @@ packages: integrity: sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==, } + clean-stack@2.2.0: + resolution: + { + integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, + } + engines: { node: '>=6' } + clean-stack@3.0.1: resolution: { @@ -7904,6 +8599,13 @@ packages: } engines: { node: '>=10' } + cli-boxes@3.0.0: + resolution: + { + integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==, + } + engines: { node: '>=10' } + cli-cursor@3.1.0: resolution: { @@ -7911,6 +8613,13 @@ packages: } engines: { node: '>=8' } + cli-cursor@4.0.0: + resolution: + { + integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + cli-spinners@2.6.1: resolution: { @@ -7932,6 +8641,13 @@ packages: } engines: { node: 10.* || >= 12.* } + cli-truncate@3.1.0: + resolution: + { + integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + cli-width@4.1.0: resolution: { @@ -7992,10 +8708,17 @@ packages: } engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' } - collect-v8-coverage@1.0.3: + code-excerpt@4.0.0: + resolution: + { + integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + collect-v8-coverage@1.0.2: resolution: { - integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==, + integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==, } color-convert@1.9.3: @@ -8011,6 +8734,13 @@ packages: } engines: { node: '>=7.0.0' } + color-convert@3.1.2: + resolution: + { + integrity: sha512-UNqkvCDXstVck3kdowtOTWROIJQwafjOfXSmddoDrXo4cewMKmusCeF22Q24zvjR8nwWib/3S/dfyzPItPEiJg==, + } + engines: { node: '>=14.6' } + color-name@1.1.3: resolution: { @@ -8023,6 +8753,27 @@ packages: integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, } + color-name@2.0.2: + resolution: + { + integrity: sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==, + } + engines: { node: '>=12.20' } + + color-string@2.1.2: + resolution: + { + integrity: sha512-RxmjYxbWemV9gKu4zPgiZagUxbH3RQpEIO77XoSSX0ivgABDZ+h8Zuash/EMFLTI4N9QgFPOJ6JQpPZKFxa+dA==, + } + engines: { node: '>=18' } + + color@5.0.2: + resolution: + { + integrity: sha512-e2hz5BzbUPcYlIRHo8ieAhYgoajrJr+hWoceg6E345TPsATMUKqDgzt8fSXZJJbxfpiPzkWyphz8yn8At7q3fA==, + } + engines: { node: '>=18' } + colorette@2.0.20: resolution: { @@ -8057,6 +8808,13 @@ packages: } engines: { node: '>=8.0.0' } + commander@10.0.1: + resolution: + { + integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==, + } + engines: { node: '>=14' } + commander@11.1.0: resolution: { @@ -8064,12 +8822,19 @@ packages: } engines: { node: '>=16' } - commander@12.1.0: + commander@14.0.1: resolution: { - integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==, + integrity: sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==, } - engines: { node: '>=18' } + engines: { node: '>=20' } + + commander@14.0.2: + resolution: + { + integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==, + } + engines: { node: '>=20' } commander@2.20.3: resolution: @@ -8090,14 +8855,21 @@ packages: integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, } - concurrently@9.2.1: + concurrently@9.1.2: resolution: { - integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==, + integrity: sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==, } engines: { node: '>=18' } hasBin: true + conf@10.2.0: + resolution: + { + integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==, + } + engines: { node: '>=12' } + confusing-browser-globals@1.0.11: resolution: { @@ -8136,6 +8908,13 @@ packages: integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, } + convert-to-spaces@2.0.1: + resolution: + { + integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + cookie-es@1.2.2: resolution: { @@ -8169,10 +8948,10 @@ packages: } engines: { node: '>= 0.6' } - core-js-compat@3.46.0: + core-js-compat@3.45.1: resolution: { - integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==, + integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==, } core-util-is@1.0.3: @@ -8216,6 +8995,12 @@ packages: integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==, } + create-hash@1.1.3: + resolution: + { + integrity: sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==, + } + create-hash@1.2.0: resolution: { @@ -8281,13 +9066,6 @@ packages: } engines: { node: '>= 0.10' } - crypto-random-string@4.0.0: - resolution: - { - integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==, - } - engines: { node: '>=12' } - css-select@5.2.2: resolution: { @@ -8320,12 +9098,24 @@ packages: } engines: { node: '>=8' } + csstype@3.1.3: + resolution: + { + integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, + } + csv-parse@4.16.3: resolution: { integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==, } + cuint@0.2.2: + resolution: + { + integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==, + } + damerau-levenshtein@1.0.8: resolution: { @@ -8392,6 +9182,13 @@ packages: integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==, } + debounce-fn@4.0.0: + resolution: + { + integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==, + } + engines: { node: '>=10' } + debug@3.1.0: resolution: { @@ -8450,10 +9247,10 @@ packages: supports-color: optional: true - debug@4.4.3: + debug@4.4.1: resolution: { - integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, + integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==, } engines: { node: '>=6.0' } peerDependencies: @@ -8637,12 +9434,12 @@ packages: } engines: { node: '>= 0.8' } - dependency-tree@11.2.0: + dependency-tree@10.0.9: resolution: { - integrity: sha512-+C1H3mXhcvMCeu5i2Jpg9dc0N29TWTuT6vJD7mHLAfVmAbo9zW8NlkvQ1tYd3PDMab0IRQM0ccoyX68EZtx9xw==, + integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==, } - engines: { node: '>=18' } + engines: { node: '>=14' } hasBin: true deps-regex@0.2.0: @@ -8691,10 +9488,10 @@ packages: } engines: { node: '>=8' } - detect-libc@2.1.2: + detect-libc@2.0.4: resolution: { - integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==, + integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==, } engines: { node: '>=8' } @@ -8713,20 +9510,20 @@ packages: engines: { node: '>= 4.0.0' } hasBin: true - detective-amd@6.0.1: + detective-amd@5.0.2: resolution: { - integrity: sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==, + integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==, } - engines: { node: '>=18' } + engines: { node: '>=14' } hasBin: true - detective-cjs@6.0.1: + detective-cjs@5.0.1: resolution: { - integrity: sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==, + integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==, } - engines: { node: '>=18' } + engines: { node: '>=14' } detective-es6@4.0.1: resolution: @@ -8735,60 +9532,40 @@ packages: } engines: { node: '>=14' } - detective-es6@5.0.1: - resolution: - { - integrity: sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==, - } - engines: { node: '>=18' } - - detective-postcss@7.0.1: + detective-postcss@6.1.3: resolution: { - integrity: sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==, + integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==, } - engines: { node: ^14.0.0 || >=16.0.0 } - peerDependencies: - postcss: ^8.4.47 - - detective-sass@6.0.1: - resolution: - { - integrity: sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==, - } - engines: { node: '>=18' } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - detective-scss@5.0.1: + detective-sass@5.0.3: resolution: { - integrity: sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==, + integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==, } - engines: { node: '>=18' } + engines: { node: '>=14' } - detective-stylus@5.0.1: + detective-scss@4.0.3: resolution: { - integrity: sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==, + integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==, } - engines: { node: '>=18' } + engines: { node: '>=14' } - detective-typescript@14.0.0: + detective-stylus@4.0.0: resolution: { - integrity: sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==, + integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==, } - engines: { node: '>=18' } - peerDependencies: - typescript: ^5.4.4 + engines: { node: '>=14' } - detective-vue2@2.2.0: + detective-typescript@11.2.0: resolution: { - integrity: sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==, + integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==, } - engines: { node: '>=18' } - peerDependencies: - typescript: ^5.4.4 + engines: { node: ^14.14.0 || >=16.0.0 } diff-sequences@27.5.1: resolution: @@ -8811,6 +9588,13 @@ packages: } engines: { node: '>=0.3.1' } + diff@5.2.0: + resolution: + { + integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==, + } + engines: { node: '>=0.3.1' } + diffie-hellman@5.0.3: resolution: { @@ -8884,6 +9668,13 @@ packages: integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==, } + dot-prop@6.0.1: + resolution: + { + integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==, + } + engines: { node: '>=10' } + dotenv-expand@11.0.7: resolution: { @@ -8905,13 +9696,6 @@ packages: } engines: { node: '>=12' } - dotenv@17.2.3: - resolution: - { - integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==, - } - engines: { node: '>=12' } - driftless@2.0.3: resolution: { @@ -8943,10 +9727,10 @@ packages: integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==, } - eciesjs@0.4.16: + eciesjs@0.4.15: resolution: { - integrity: sha512-dS5cbA9rA2VR4Ybuvhg6jvdmp46ubLn3E+px8cG/35aEDNclrqoCjg6mt0HYZ/M+OoESS3jSkCrqk1kWAEhWAw==, + integrity: sha512-r6kEJXDKecVOCj2nLMuXK/FCPeurW33+3JRpfXVbjLja3XUYFfD9I/JBreH6sUyzcm3G/YQboBjMla6poKeSdA==, } engines: { bun: '>=1', deno: '>=2', node: '>=16' } @@ -8964,10 +9748,10 @@ packages: engines: { node: '>=0.10.0' } hasBin: true - electron-to-chromium@1.5.240: + electron-to-chromium@1.5.218: resolution: { - integrity: sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==, + integrity: sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==, } elliptic@6.5.4: @@ -9001,6 +9785,12 @@ packages: integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, } + enabled@2.0.0: + resolution: + { + integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==, + } + encode-utf8@1.0.3: resolution: { @@ -9020,6 +9810,12 @@ packages: integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==, } + encoding@0.1.13: + resolution: + { + integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==, + } + end-of-stream@1.4.5: resolution: { @@ -9080,16 +9876,29 @@ packages: } engines: { node: '>=0.12' } + env-paths@2.2.1: + resolution: + { + integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, + } + engines: { node: '>=6' } + + err-code@2.0.3: + resolution: + { + integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==, + } + err-code@3.0.1: resolution: { integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==, } - error-ex@1.3.4: + error-ex@1.3.2: resolution: { - integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==, + integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, } es-abstract@1.24.0: @@ -9178,14 +9987,14 @@ packages: integrity: sha512-/9vvf347QxWeMN0oCVw7T1bfSg23Gv/TEYkUq/LMUudmRteoXs/iJ8uaLuBhCHUopqePqvW6nGE0b5SGOctliw==, } - esbuild-node-externals@1.18.0: + esbuild-node-externals@1.14.0: resolution: { - integrity: sha512-suFVX3SzZlXrGIS9Yqx+ZaHL4w1p0e/j7dQbOM9zk8SfFpnAGnDplHUKXIf9kcPEAfZRL66JuYeVSVlsSEQ5Eg==, + integrity: sha512-jMWnTlCII3cLEjR5+u0JRSTJuP+MgbjEHKfwSIAI41NgLQ0ZjfzjchlbEn0r7v2u5gCBMSEYvYlkO7GDG8gG3A==, } engines: { node: '>=12' } peerDependencies: - esbuild: 0.12 - 0.25 + esbuild: 0.12 - 0.23 esbuild-plugin-tsc@0.4.0: resolution: @@ -9203,18 +10012,18 @@ packages: engines: { node: '>=12' } hasBin: true - esbuild@0.19.12: + esbuild@0.19.2: resolution: { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, + integrity: sha512-G6hPax8UbFakEj3hWO0Vs52LQ8k3lnBhxZWomUJDxfz3rZTLqF5k/FCzuNdLx2RbpBiQQF9H9onlDDH1lZsnjg==, } engines: { node: '>=12' } hasBin: true - esbuild@0.25.11: + esbuild@0.25.9: resolution: { - integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==, + integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==, } engines: { node: '>=18' } hasBin: true @@ -9316,15 +10125,15 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-plugin-import@2.32.0: + eslint-plugin-import@2.29.1: resolution: { - integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==, + integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==, } engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 peerDependenciesMeta: '@typescript-eslint/parser': optional: true @@ -9499,6 +10308,12 @@ packages: integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==, } + eventemitter3@1.1.1: + resolution: + { + integrity: sha512-idmH3G0vJjQv2a5N74b+oXcOUKYBqSGJGN1eVV6ELGdUnesAO8RZsU74eaS3VfldRet8N9pFupxppBUKztrBdQ==, + } + eventemitter3@4.0.7: resolution: { @@ -9511,6 +10326,20 @@ packages: integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==, } + events-to-array@2.0.3: + resolution: + { + integrity: sha512-f/qE2gImHRa4Cp2y1stEOSgw8wTFyUdVJX7G//bMwbaV9JqISFxg99NbmVQeP7YLnDUZ2un851jlaDrlpmGehQ==, + } + engines: { node: '>=12' } + + events@1.1.1: + resolution: + { + integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==, + } + engines: { node: '>=0.4.x' } + events@3.3.0: resolution: { @@ -9566,6 +10395,12 @@ packages: } engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + exponential-backoff@3.1.3: + resolution: + { + integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==, + } + express-rate-limit@8.1.0: resolution: { @@ -9597,9 +10432,16 @@ packages: extension-port-stream@3.0.0: resolution: { - integrity: sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==, + integrity: sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==, + } + engines: { node: '>=12.0.0' } + + external-editor@3.1.0: + resolution: + { + integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, } - engines: { node: '>=12.0.0' } + engines: { node: '>=4' } eyes@0.1.8: resolution: @@ -9664,12 +10506,6 @@ packages: integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==, } - fast-uri@3.1.0: - resolution: - { - integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==, - } - fast-xml-parser@5.2.5: resolution: { @@ -9677,19 +10513,18 @@ packages: } hasBin: true - fast-xml-parser@5.3.0: + fastest-levenshtein@1.0.16: resolution: { - integrity: sha512-gkWGshjYcQCF+6qtlrqBqELqNqnt4CxruY6UVAWWnqb3DQ6qaNFEIKqzYep1XzHLM/QtrHVCxyPOtTk4LTQ7Aw==, + integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==, } - hasBin: true + engines: { node: '>= 4.9.1' } - fastest-levenshtein@1.0.16: + fastestsmallesttextencoderdecoder@1.0.22: resolution: { - integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==, + integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==, } - engines: { node: '>= 4.9.1' } fastq@1.19.1: resolution: @@ -9715,6 +10550,12 @@ packages: picomatch: optional: true + fecha@4.2.3: + resolution: + { + integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==, + } + fetch-blob@3.2.0: resolution: { @@ -9754,12 +10595,12 @@ packages: integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==, } - filing-cabinet@5.0.3: + filing-cabinet@4.2.0: resolution: { - integrity: sha512-PlPcMwVWg60NQkhvfoxZs4wEHjhlOO/y7OAm4sKM60o1Z9nttRY4mcdQxp/iZ+kg/Vv6Hw1OAaTbYVM9DA9pYg==, + integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==, } - engines: { node: '>=18' } + engines: { node: '>=14' } hasBin: true fill-range@7.1.1: @@ -9802,6 +10643,13 @@ packages: } engines: { node: '>=4.0.0' } + find-up@3.0.0: + resolution: + { + integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==, + } + engines: { node: '>=6' } + find-up@4.1.0: resolution: { @@ -9843,6 +10691,12 @@ packages: integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==, } + fn.name@1.1.0: + resolution: + { + integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==, + } + follow-redirects@1.15.11: resolution: { @@ -9904,6 +10758,12 @@ packages: } engines: { node: '>= 0.8' } + fromentries@1.3.2: + resolution: + { + integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==, + } + front-matter@4.0.2: resolution: { @@ -9937,6 +10797,20 @@ packages: } engines: { node: '>=6 <7 || >=8' } + fs-minipass@2.1.0: + resolution: + { + integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==, + } + engines: { node: '>= 8' } + + fs-minipass@3.0.3: + resolution: + { + integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + fs.realpath@1.0.0: resolution: { @@ -9965,6 +10839,12 @@ packages: integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, } + function-loop@4.0.0: + resolution: + { + integrity: sha512-f34iQBedYF3XcI93uewZZOnyscDragxgTK/eTvVB74k3fCD0ZorOi5BV9GS4M8rz/JoNi0Kl3qX5Y9MH3S/CLQ==, + } + function.prototype.name@1.1.8: resolution: { @@ -9999,20 +10879,13 @@ packages: } engines: { node: '>=14' } - gcp-metadata@8.1.1: + gcp-metadata@7.0.1: resolution: { - integrity: sha512-dTCcAe9fRQf06ELwel6lWWFrEbstwjUBYEhr5VRGoC+iPDZQucHppCowaIp8b8v92tU1G4X4H3b/Y6zXZxkMsQ==, + integrity: sha512-UcO3kefx6dCcZkgcTGgVOTFb7b1LlQ02hY1omMjjrrBzkajRMCFgYOjs7J71WqnuG1k2b+9ppGL7FsOfhZMQKQ==, } engines: { node: '>=18' } - generator-function@2.0.1: - resolution: - { - integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==, - } - engines: { node: '>= 0.4' } - generic-pool@3.9.0: resolution: { @@ -10027,12 +10900,12 @@ packages: } engines: { node: '>=6.9.0' } - get-amd-module-type@6.0.1: + get-amd-module-type@5.0.1: resolution: { - integrity: sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==, + integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==, } - engines: { node: '>=18' } + engines: { node: '>=14' } get-caller-file@2.0.5: resolution: @@ -10095,10 +10968,10 @@ packages: integrity: sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==, } - get-tsconfig@4.13.0: + get-tsconfig@4.10.1: resolution: { - integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==, + integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==, } glob-parent@5.1.2: @@ -10194,10 +11067,10 @@ packages: engines: { node: '>=0.6.0' } hasBin: true - google-auth-library@10.4.2: + google-auth-library@10.4.0: resolution: { - integrity: sha512-EKiQasw6aEdxSovPEf1oBxCEvxjFamZ6MPaVOSPXZMnqKFLo+rrYjHyjKlFfZcXiKi9qAH6cutr5WRqqa1jKhg==, + integrity: sha512-CmIrSy1bqMQUsPmA9+hcSbAXL80cFhu40cGMUjCaLpNKVzzvi+0uAHq8GNZxkoGYIsTX4ZQ7e4aInAqWxgn4fg==, } engines: { node: '>=18' } @@ -10229,6 +11102,12 @@ packages: } engines: { node: '>=14' } + google-protobuf@3.6.1: + resolution: + { + integrity: sha512-SJYemeX5GjDLPnadcmCNQePQHCS4Hl5fOcI/JawqDIYFhCmrtYAjcx/oTQx/Wi8UuCuZQhfvftbmPePPAYHFtA==, + } + gopd@1.2.0: resolution: { @@ -10349,19 +11228,18 @@ packages: } engines: { node: '>= 0.4' } - hash-base@3.0.5: + hash-base@2.0.2: resolution: { - integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==, + integrity: sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==, } - engines: { node: '>= 0.10' } - hash-base@3.1.2: + hash-base@3.0.5: resolution: { - integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==, + integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==, } - engines: { node: '>= 0.8' } + engines: { node: '>= 0.10' } hash.js@1.1.7: resolution: @@ -10389,6 +11267,12 @@ packages: integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, } + hex2dec@1.0.1: + resolution: + { + integrity: sha512-F9QO0+ZI8r1VZudxw21bD/U5pb2Y9LZY3TsnVqCPaijvw5mIhH5jsH29acLPijl5fECfD8FetJtgX8GN5YPM9Q==, + } + hmac-drbg@1.0.1: resolution: { @@ -10402,10 +11286,10 @@ packages: } engines: { node: '>=0.10.0' } - hono@4.10.2: + hono@4.10.1: resolution: { - integrity: sha512-p6fyzl+mQo6uhESLxbF5WlBOAJMDh36PljwlKtP5V1v09NxlqGru3ShK+4wKhSuhuYf8qxMmrivHOa/M7q0sMg==, + integrity: sha512-rpGNOfacO4WEPClfkEt1yfl8cbu10uB1lNpiI33AKoiAHwOS8lV748JiLx4b5ozO/u4qLjIvfpFsPXdY5Qjkmg==, } engines: { node: '>=16.9.0' } @@ -10522,10 +11406,10 @@ packages: } engines: { node: '>= 14' } - human-id@4.1.2: + human-id@4.1.1: resolution: { - integrity: sha512-v/J+4Z/1eIJovEBdlV5TYj1IR+ZiohcYGRY+qN/oC9dAfKzVT023N/Bgw37hrKCoVRBvk3bqyzpr2PP5YeTMSg==, + integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==, } hasBin: true @@ -10542,6 +11426,13 @@ packages: integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==, } + iconv-lite@0.4.24: + resolution: + { + integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, + } + engines: { node: '>=0.10.0' } + iconv-lite@0.6.3: resolution: { @@ -10575,12 +11466,25 @@ packages: } engines: { node: '>=4' } + ieee754@1.1.13: + resolution: + { + integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==, + } + ieee754@1.2.1: resolution: { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, } + ignore-walk@6.0.5: + resolution: + { + integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + ignore@5.3.2: resolution: { @@ -10603,6 +11507,12 @@ packages: engines: { node: '>=8' } hasBin: true + import-meta-resolve@3.1.1: + resolution: + { + integrity: sha512-qeywsE/KC3w9Fd2ORrRDUw6nS/nLwZpXgfrOc2IILvZYnCaEMd+D56Vfg9k4G29gIeVi3XKql1RQatME8iYsiw==, + } + imurmurhash@0.1.4: resolution: { @@ -10617,6 +11527,13 @@ packages: } engines: { node: '>=8' } + indent-string@5.0.0: + resolution: + { + integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==, + } + engines: { node: '>=12' } + inflight@1.0.6: resolution: { @@ -10642,6 +11559,29 @@ packages: integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, } + ini@4.1.3: + resolution: + { + integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + ink@4.4.1: + resolution: + { + integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==, + } + engines: { node: '>=14.16' } + peerDependencies: + '@types/react': '>=18.0.0' + react: '>=18.0.0' + react-devtools-core: ^4.19.1 + peerDependenciesMeta: + '@types/react': + optional: true + react-devtools-core: + optional: true + interface-blockstore@4.0.1: resolution: { @@ -10670,10 +11610,10 @@ packages: } engines: { node: '>= 0.4' } - ioredis@5.8.2: + ioredis@5.7.0: resolution: { - integrity: sha512-C6uC+kleiIMmjViJINWk80sOQw5lEzse1ZmvD+S/s8p8CWapftSaC+kocGTx6xrbrJ4WmYQGC08ffHLr6ToR6Q==, + integrity: sha512-NUcA93i1lukyXU+riqEyPtSEkyFq8tX90uL659J+qpCZ3rEdViB/APC58oAhIh3+bJln2hzdlZbBZsGNrlsR8g==, } engines: { node: '>=12.22.0' } @@ -10747,6 +11687,12 @@ packages: integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==, } + is-actual-promise@1.0.2: + resolution: + { + integrity: sha512-xsFiO1of0CLsQnPZ1iXHNTyR9YszOeWKYv+q6n8oSFW3ipooFJ1j1lbRMgiMCr+pp2gLruESI4zb5Ak6eK5OnQ==, + } + is-arguments@1.2.0: resolution: { @@ -10808,6 +11754,13 @@ packages: } engines: { node: '>= 0.4' } + is-ci@3.0.1: + resolution: + { + integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==, + } + hasBin: true + is-core-module@2.16.1: resolution: { @@ -10866,6 +11819,13 @@ packages: } engines: { node: '>=8' } + is-fullwidth-code-point@4.0.0: + resolution: + { + integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, + } + engines: { node: '>=12' } + is-generator-fn@2.1.0: resolution: { @@ -10873,10 +11833,10 @@ packages: } engines: { node: '>=6' } - is-generator-function@1.1.2: + is-generator-function@1.1.0: resolution: { - integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==, + integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==, } engines: { node: '>= 0.4' } @@ -10909,6 +11869,18 @@ packages: } engines: { node: '>=8' } + is-lambda@1.0.1: + resolution: + { + integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==, + } + + is-lower-case@2.0.2: + resolution: + { + integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==, + } + is-map@2.0.3: resolution: { @@ -10951,6 +11923,13 @@ packages: } engines: { node: '>=0.10.0' } + is-obj@2.0.0: + resolution: + { + integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, + } + engines: { node: '>=8' } + is-plain-obj@1.1.0: resolution: { @@ -10965,6 +11944,13 @@ packages: } engines: { node: '>=8' } + is-plain-object@5.0.0: + resolution: + { + integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, + } + engines: { node: '>=0.10.0' } + is-potential-custom-element-name@1.0.1: resolution: { @@ -10991,6 +11977,12 @@ packages: } engines: { node: '>=0.10.0' } + is-relative-path@1.0.2: + resolution: + { + integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==, + } + is-set@2.0.3: resolution: { @@ -11012,13 +12004,6 @@ packages: } engines: { node: '>=8' } - is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - is-string@1.1.1: resolution: { @@ -11054,6 +12039,12 @@ packages: } engines: { node: '>=10' } + is-upper-case@2.0.2: + resolution: + { + integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==, + } + is-url-superb@4.0.0: resolution: { @@ -11707,10 +12698,10 @@ packages: } engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - jest@29.7.0: + jest@29.2.2: resolution: { - integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==, + integrity: sha512-r+0zCN9kUqoON6IjDdjbrsWobXM/09Nd45kIPRD8kloaRh1z5ZCMdVsgLXGxmlL7UpAJsvCYOQNO+NjvG/gqiQ==, } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } hasBin: true @@ -11746,10 +12737,10 @@ packages: integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==, } - jose@4.15.9: + jose@4.14.4: resolution: { - integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==, + integrity: sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==, } jose@5.10.0: @@ -11816,6 +12807,14 @@ packages: } engines: { node: '>= 10.16.0' } + jsesc@3.0.2: + resolution: + { + integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==, + } + engines: { node: '>=6' } + hasBin: true + jsesc@3.1.0: resolution: { @@ -11842,6 +12841,13 @@ packages: integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, } + json-parse-even-better-errors@3.0.2: + resolution: + { + integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + json-rpc-engine@6.1.0: resolution: { @@ -11867,6 +12873,12 @@ packages: integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, } + json-schema-typed@7.0.3: + resolution: + { + integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==, + } + json-stable-stringify-without-jsonify@1.0.1: resolution: { @@ -11900,10 +12912,10 @@ packages: engines: { node: '>=6' } hasBin: true - jsonc-eslint-parser@2.4.1: + jsonc-eslint-parser@2.4.0: resolution: { - integrity: sha512-uuPNLJkKN8NXAlZlQ6kmUF9qO+T6Kyd7oV4+/7yy8Jz6+MZNyhPq8EdLpdfnPVzUC8qSf1b4j1azKaGnFsjmsw==, + integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } @@ -11925,6 +12937,13 @@ packages: integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==, } + jsonparse@1.3.1: + resolution: + { + integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==, + } + engines: { '0': node >= 0.2.0 } + jsonpath-plus@10.3.0: resolution: { @@ -12023,6 +13042,12 @@ packages: } engines: { node: '>=6' } + kuler@2.0.0: + resolution: + { + integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==, + } + language-subtag-registry@0.3.23: resolution: { @@ -12057,6 +13082,13 @@ packages: } engines: { node: '>= 0.8.0' } + lightstep-tracer@0.31.2: + resolution: + { + integrity: sha512-DRdyUrASPkr+hxyHQJ9ImPSIxpUCpqQvfgHwxoZ42G6iEJ2g0/2chCw39tuz60JUmLfTlVp1LFzLscII6YPRoA==, + } + engines: { node: '>=8.0.0' } + lilconfig@3.1.3: resolution: { @@ -12101,6 +13133,13 @@ packages: integrity: sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw==, } + locate-path@3.0.0: + resolution: + { + integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==, + } + engines: { node: '>=6' } + locate-path@5.0.0: resolution: { @@ -12237,6 +13276,13 @@ packages: } engines: { node: '>=10' } + logform@2.7.0: + resolution: + { + integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==, + } + engines: { node: '>= 12.0.0' } + long@4.0.0: resolution: { @@ -12269,10 +13315,10 @@ packages: integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, } - lru-cache@11.2.2: + lru-cache@11.2.1: resolution: { - integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==, + integrity: sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==, } engines: { node: 20 || >=22 } @@ -12321,6 +13367,13 @@ packages: integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, } + make-fetch-happen@13.0.1: + resolution: + { + integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + makeerror@1.0.12: resolution: { @@ -12469,6 +13522,13 @@ packages: } engines: { node: '>=6' } + mimic-fn@3.1.0: + resolution: + { + integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==, + } + engines: { node: '>=8' } + mimic-response@1.0.1: resolution: { @@ -12556,6 +13616,61 @@ packages: integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, } + minipass-collect@2.0.1: + resolution: + { + integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==, + } + engines: { node: '>=16 || 14 >=14.17' } + + minipass-fetch@3.0.5: + resolution: + { + integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + minipass-flush@1.0.5: + resolution: + { + integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==, + } + engines: { node: '>= 8' } + + minipass-json-stream@1.0.2: + resolution: + { + integrity: sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg==, + } + + minipass-pipeline@1.2.4: + resolution: + { + integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==, + } + engines: { node: '>=8' } + + minipass-sized@1.0.3: + resolution: + { + integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==, + } + engines: { node: '>=8' } + + minipass@3.3.6: + resolution: + { + integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==, + } + engines: { node: '>=8' } + + minipass@5.0.0: + resolution: + { + integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==, + } + engines: { node: '>=8' } + minipass@7.1.2: resolution: { @@ -12563,6 +13678,13 @@ packages: } engines: { node: '>=16 || 14 >=14.17' } + minizlib@2.1.2: + resolution: + { + integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==, + } + engines: { node: '>= 8' } + mipd@0.0.7: resolution: { @@ -12581,28 +13703,43 @@ packages: } engines: { node: '>=10.0' } - mkdirp@1.0.4: + mkdirp@0.5.6: + resolution: + { + integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, + } + hasBin: true + + mkdirp@1.0.4: + resolution: + { + integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, + } + engines: { node: '>=10' } + hasBin: true + + mkdirp@3.0.1: resolution: { - integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, + integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==, } engines: { node: '>=10' } hasBin: true - module-definition@6.0.1: + module-definition@5.0.1: resolution: { - integrity: sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==, + integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==, } - engines: { node: '>=18' } + engines: { node: '>=14' } hasBin: true - module-lookup-amd@9.0.5: + module-lookup-amd@8.0.5: resolution: { - integrity: sha512-Rs5FVpVcBYRHPLuhHOjgbRhosaQYLtEo3JIeDIbmNo7mSssi1CTzwMh8v36gAzpbzLGXI9wB/yHh+5+3fY1QVw==, + integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==, } - engines: { node: '>=18' } + engines: { node: '>=14' } hasBin: true moment@2.30.1: @@ -12671,17 +13808,10 @@ packages: } engines: { node: '>=16.0.0', npm: '>=7.0.0' } - multiformats@12.1.3: + multiformats@13.4.0: resolution: { - integrity: sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw==, - } - engines: { node: '>=16.0.0', npm: '>=7.0.0' } - - multiformats@13.4.1: - resolution: - { - integrity: sha512-VqO6OSvLrFVAYYjgsr8tyv62/rCQhPgsZUXLTqoFLSgdkgiUYKYeArbt1uWLlEpkjxQe+P0+sHlbPEte1Bi06Q==, + integrity: sha512-Mkb/QcclrJxKC+vrcIFl297h52QcKh2Az/9A5vbWytbQt4225UWWWmIuSsKksdww9NkIeYcA7DkfftyLuC/JSg==, } multiformats@9.9.0: @@ -12765,6 +13895,13 @@ packages: integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, } + negotiator@0.6.4: + resolution: + { + integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==, + } + engines: { node: '>= 0.6' } + negotiator@1.0.0: resolution: { @@ -12831,6 +13968,14 @@ packages: } hasBin: true + node-gyp@10.3.1: + resolution: + { + integrity: sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + hasBin: true + node-int64@0.4.0: resolution: { @@ -12856,10 +14001,10 @@ packages: integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==, } - node-releases@2.0.26: + node-releases@2.0.20: resolution: { - integrity: sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==, + integrity: sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA==, } node-source-walk@6.0.2: @@ -12869,19 +14014,20 @@ packages: } engines: { node: '>=14' } - node-source-walk@7.0.1: + nofilter@1.0.4: resolution: { - integrity: sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==, + integrity: sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==, } - engines: { node: '>=18' } + engines: { node: '>=8' } - nofilter@1.0.4: + nopt@7.2.1: resolution: { - integrity: sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==, + integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==, } - engines: { node: '>=8' } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + hasBin: true normalize-package-data@2.5.0: resolution: @@ -12896,6 +14042,13 @@ packages: } engines: { node: '>=10' } + normalize-package-data@6.0.2: + resolution: + { + integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + normalize-path@3.0.0: resolution: { @@ -12910,6 +14063,27 @@ packages: } engines: { node: '>=10' } + npm-bundled@3.0.1: + resolution: + { + integrity: sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + npm-install-checks@6.3.0: + resolution: + { + integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + npm-normalize-package-bin@3.0.1: + resolution: + { + integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + npm-package-arg@11.0.1: resolution: { @@ -12917,6 +14091,27 @@ packages: } engines: { node: ^16.14.0 || >=18.0.0 } + npm-packlist@8.0.2: + resolution: + { + integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + npm-pick-manifest@9.1.0: + resolution: + { + integrity: sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + + npm-registry-fetch@16.2.1: + resolution: + { + integrity: sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + npm-run-path@4.0.1: resolution: { @@ -13059,6 +14254,12 @@ packages: integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, } + one-time@1.0.0: + resolution: + { + integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==, + } + onetime@5.1.2: resolution: { @@ -13092,6 +14293,13 @@ packages: integrity: sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw==, } + opener@1.5.2: + resolution: + { + integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==, + } + hasBin: true + opentracing@0.14.7: resolution: { @@ -13126,6 +14334,13 @@ packages: integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==, } + os-tmpdir@1.0.2: + resolution: + { + integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, + } + engines: { node: '>=0.10.0' } + outdent@0.5.0: resolution: { @@ -13161,17 +14376,6 @@ packages: typescript: optional: true - ox@0.9.12: - resolution: - { - integrity: sha512-esyA5WXfFhlxpgzoVIEreRaasqqv95sjFpk3L4Me4RWk8bgBDe+J4wO3RZ5ikYmJ2Bbjyv+jKgxyaOzX6JpHPA==, - } - peerDependencies: - typescript: '>=5.4.0' - peerDependenciesMeta: - typescript: - optional: true - ox@0.9.6: resolution: { @@ -13211,6 +14415,13 @@ packages: } engines: { node: '>=10' } + p-locate@3.0.0: + resolution: + { + integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==, + } + engines: { node: '>=6' } + p-locate@4.1.0: resolution: { @@ -13232,6 +14443,13 @@ packages: } engines: { node: '>=6' } + p-map@4.0.0: + resolution: + { + integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, + } + engines: { node: '>=10' } + p-try@2.2.0: resolution: { @@ -13251,6 +14469,14 @@ packages: integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==, } + pacote@17.0.7: + resolution: + { + integrity: sha512-sgvnoUMlkv9xHwDUKjKQFXVyUi8dtJGKp3vg6sYy+TxbDic5RjZCHF3ygv0EJgNRZ2GfRONjlKPUfokJ9lDpwQ==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + hasBin: true + pako@1.0.11: resolution: { @@ -13270,10 +14496,10 @@ packages: } engines: { node: '>=6' } - parse-asn1@5.1.9: + parse-asn1@5.1.7: resolution: { - integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==, + integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==, } engines: { node: '>= 0.10' } @@ -13316,12 +14542,26 @@ packages: } engines: { node: '>= 0.8' } + patch-console@2.0.0: + resolution: + { + integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + path-browserify@1.0.1: resolution: { integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==, } + path-exists@3.0.0: + resolution: + { + integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, + } + engines: { node: '>=4' } + path-exists@4.0.0: resolution: { @@ -13382,12 +14622,12 @@ packages: integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==, } - pbkdf2@3.1.5: + pbkdf2@3.1.3: resolution: { - integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==, + integrity: sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==, } - engines: { node: '>= 0.10' } + engines: { node: '>=0.12' } picocolors@1.1.1: resolution: @@ -13402,6 +14642,13 @@ packages: } engines: { node: '>=8.6' } + picomatch@3.0.1: + resolution: + { + integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==, + } + engines: { node: '>=10' } + picomatch@4.0.2: resolution: { @@ -13456,10 +14703,10 @@ packages: } engines: { node: '>6.0.0' } - pino-pretty@13.1.2: + pino-pretty@13.0.0: resolution: { - integrity: sha512-3cN0tCakkT4f3zo9RXDIhy6GTvtYD6bK4CRBLN9j3E/ePqN1tugAXD5rGVfoChW6s0hiek+eyYlLNqc/BG7vBQ==, + integrity: sha512-cQBBIVG3YajgoUjo1FdKVRX6t9XPxwB9lcNJVD5GCnNM4Y6T12YYx8c6zEejxQsU0wrg9TwmDulcE9LR7qcJqA==, } hasBin: true @@ -13482,10 +14729,10 @@ packages: } hasBin: true - pino@9.14.0: + pino@9.6.0: resolution: { - integrity: sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==, + integrity: sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==, } hasBin: true @@ -13503,18 +14750,25 @@ packages: } engines: { node: '>=8' } - playwright-core@1.55.0: + pkg-up@3.1.0: + resolution: + { + integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==, + } + engines: { node: '>=8' } + + playwright-core@1.52.0: resolution: { - integrity: sha512-GvZs4vU3U5ro2nZpeiwyb0zuFaqb9sUiAJuyrWpcGouD8y9/HLgGbNRjIph7zU9D3hnPaisMl9zG9CgFi/biIg==, + integrity: sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==, } engines: { node: '>=18' } hasBin: true - playwright@1.55.0: + playwright@1.52.0: resolution: { - integrity: sha512-sdCWStblvV1YU909Xqx0DhOjPZE4/5lJsIS84IfN9dAZfcl/CIZ5O8l3o0j7hPMjDvqoTF8ZUcc+i/GL5erstA==, + integrity: sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw==, } engines: { node: '>=18' } hasBin: true @@ -13532,6 +14786,20 @@ packages: } engines: { node: '>=10.13.0' } + polite-json@4.0.1: + resolution: + { + integrity: sha512-8LI5ZeCPBEb4uBbcYKNVwk4jgqNx1yHReWoW4H4uUihWlSqZsUDfSITrRhjliuPgxsNPFhNSudGO2Zu4cbWinQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + polite-json@5.0.0: + resolution: + { + integrity: sha512-OLS/0XeUAcE8a2fdwemNja+udKgXNnY6yKVIXqAD2zVRx1KvY6Ato/rZ2vdzbxqYwPW0u6SCNC/bAMPNzpzxbw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + pony-cause@2.1.11: resolution: { @@ -13585,24 +14853,31 @@ packages: } engines: { node: ^10 || ^12 || >=14 } + posthog-node@4.18.0: + resolution: + { + integrity: sha512-XROs1h+DNatgKh/AlIlCtDxWzwrKdYDb2mOs58n4yN8BkGN9ewqeQwG5ApS4/IzwCb7HPttUkOVulkYatd2PIw==, + } + engines: { node: '>=15.0.0' } + preact@10.24.2: resolution: { integrity: sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q==, } - preact@10.27.2: + preact@10.27.1: resolution: { - integrity: sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==, + integrity: sha512-V79raXEWch/rbqoNc7nT9E4ep7lu+mI3+sBmfRD4i1M73R3WLYcCtdI0ibxGVf4eQL8ZIz2nFacqEC+rmnOORQ==, } - precinct@12.2.0: + precinct@11.0.5: resolution: { - integrity: sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==, + integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==, } - engines: { node: '>=18' } + engines: { node: ^14.14.0 || >=16.0.0 } hasBin: true prelude-ls@1.2.1: @@ -13647,6 +14922,20 @@ packages: } engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } + prismjs-terminal@1.2.3: + resolution: + { + integrity: sha512-xc0zuJ5FMqvW+DpiRkvxURlz98DdfDsZcFHdO699+oL+ykbFfgI7O4VDEgUyc07BSL2NHl3zdb8m/tZ/aaqUrw==, + } + engines: { node: '>=16' } + + prismjs@1.30.0: + resolution: + { + integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==, + } + engines: { node: '>=6' } + proc-log@3.0.0: resolution: { @@ -13654,22 +14943,36 @@ packages: } engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + proc-log@4.2.0: + resolution: + { + integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + process-nextick-args@2.0.1: resolution: { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, } + process-on-spawn@1.1.0: + resolution: + { + integrity: sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q==, + } + engines: { node: '>=8' } + process-warning@1.0.0: resolution: { integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==, } - process-warning@5.0.0: + process-warning@4.0.1: resolution: { - integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==, + integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==, } process@0.11.10: @@ -13693,6 +14996,24 @@ packages: } engines: { node: ^16 || ^18 || >=20 } + promise-inflight@1.0.1: + resolution: + { + integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==, + } + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: + { + integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==, + } + engines: { node: '>=10' } + prompts@2.4.2: resolution: { @@ -13765,6 +15086,12 @@ packages: } engines: { node: '>=6' } + punycode@1.3.2: + resolution: + { + integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==, + } + punycode@1.4.1: resolution: { @@ -13803,6 +15130,17 @@ packages: } engines: { node: '>=6.0.0' } + q@1.5.1: + resolution: + { + integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==, + } + engines: { node: '>=0.6.0', teleport: '>=0.2.0' } + deprecated: |- + You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) + qrcode@1.5.3: resolution: { @@ -13838,6 +15176,14 @@ packages: } engines: { node: '>=0.4.x' } + querystring@0.2.0: + resolution: + { + integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==, + } + engines: { node: '>=0.4.x' } + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + querystringify@2.2.0: resolution: { @@ -13922,18 +15268,50 @@ packages: } hasBin: true + react-dom@18.3.1: + resolution: + { + integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==, + } + peerDependencies: + react: ^18.3.1 + + react-element-to-jsx-string@15.0.0: + resolution: + { + integrity: sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==, + } + peerDependencies: + react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 + react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 + react-is@17.0.2: resolution: { integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==, } + react-is@18.1.0: + resolution: + { + integrity: sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==, + } + react-is@18.3.1: resolution: { integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==, } + react-reconciler@0.29.2: + resolution: + { + integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==, + } + engines: { node: '>=0.10.0' } + peerDependencies: + react: ^18.3.1 + react@18.3.1: resolution: { @@ -13941,6 +15319,28 @@ packages: } engines: { node: '>=0.10.0' } + react@19.1.1: + resolution: + { + integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==, + } + engines: { node: '>=0.10.0' } + + read-package-json-fast@3.0.2: + resolution: + { + integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + read-package-json@7.0.1: + resolution: + { + integrity: sha512-8PcDiZ8DXUjLf687Ol4BR8Bpm2umR7vhoZOzNRt+uxD9GpBh/K+CAAALVIiYFknmvlmyg7hM7BSNUXPaCCqd0Q==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + deprecated: This package is no longer supported. Please use @npmcli/package-json instead. + read-pkg-up@7.0.1: resolution: { @@ -14030,10 +15430,10 @@ packages: } engines: { node: '>=4' } - redis@4.7.1: + redis@4.6.13: resolution: { - integrity: sha512-S1bJDnqLftzHXHP8JsT5II/CtHWQrASX5K96REjWjlmWKrviSOLWmM7QnRLstAWsu1VBBV1ffV6DzCvxNP0UJQ==, + integrity: sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==, } reduce-flatten@2.0.0: @@ -14070,10 +15470,10 @@ packages: } engines: { node: '>= 0.4' } - regexpu-core@6.4.0: + regexpu-core@6.3.1: resolution: { - integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==, + integrity: sha512-DzcswPr252wEr7Qz8AyAVbfyBDKLoYp6eRA1We2Fa9qirRFSdtkP5sHr3yglDKy2BbA0fd2T+j/CUSKes3FeVQ==, } engines: { node: '>=4' } @@ -14083,10 +15483,10 @@ packages: integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==, } - regjsparser@0.13.0: + regjsparser@0.12.0: resolution: { - integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==, + integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==, } hasBin: true @@ -14150,12 +15550,12 @@ packages: } engines: { node: '>=8' } - resolve-dependency-path@4.0.1: + resolve-dependency-path@3.0.2: resolution: { - integrity: sha512-YQftIIC4vzO9UMhO/sCgXukNyiwVRCVaxiWskCBy7Zpqkplm8kTAISZ8O1MoKW1ca6xzgLUBjZTcDgypXvXxiQ==, + integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==, } - engines: { node: '>=18' } + engines: { node: '>=14' } resolve-dir@1.0.1: resolution: @@ -14178,6 +15578,13 @@ packages: } engines: { node: '>=8' } + resolve-import@1.4.6: + resolution: + { + integrity: sha512-CIw9e64QcKcCFUj9+KxUCJPy8hYofv6eVfo3U9wdhCm2E4IjvFnZ6G4/yIC4yP3f11+h6uU5b3LdS7O64LgqrA==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + resolve-pkg-maps@1.0.0: resolution: { @@ -14191,10 +15598,10 @@ packages: } engines: { node: '>=10' } - resolve@1.22.11: + resolve@1.22.10: resolution: { - integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==, + integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==, } engines: { node: '>= 0.4' } hasBin: true @@ -14212,6 +15619,13 @@ packages: } engines: { node: '>=8' } + restore-cursor@4.0.0: + resolution: + { + integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + retry-request@8.0.2: resolution: { @@ -14219,6 +15633,13 @@ packages: } engines: { node: '>=18' } + retry@0.12.0: + resolution: + { + integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==, + } + engines: { node: '>= 4' } + reusify@1.1.0: resolution: { @@ -14226,6 +15647,29 @@ packages: } engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + rimraf@2.6.3: + resolution: + { + integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==, + } + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@5.0.10: + resolution: + { + integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==, + } + hasBin: true + rimraf@6.0.1: resolution: { @@ -14234,12 +15678,17 @@ packages: engines: { node: 20 || >=22 } hasBin: true - ripemd160@2.0.3: + ripemd160@2.0.1: resolution: { - integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==, + integrity: sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==, + } + + ripemd160@2.0.2: + resolution: + { + integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==, } - engines: { node: '>= 0.8' } router@2.2.0: resolution: @@ -14248,10 +15697,10 @@ packages: } engines: { node: '>= 18' } - rpc-websockets@9.2.0: + rpc-websockets@9.1.3: resolution: { - integrity: sha512-DS/XHdPxplQTtNRKiBCRWGBJfjOk56W7fyFUpiYi9fSTWTzoEMbUkn3J4gB0IMniIEVeAGR1/rzFQogzD5MxvQ==, + integrity: sha512-I+kNjW0udB4Fetr3vvtRuYZJS0PcSPyyvBcH5sDdoV8DFs5E4W2pTr7aiMlKfPxANTClP9RlqCPolj9dd5MsEA==, } run-applescript@7.1.0: @@ -14319,14 +15768,20 @@ packages: integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, } - sass-lookup@6.1.0: + sass-lookup@5.0.1: resolution: { - integrity: sha512-Zx+lVyoWqXZxHuYWlTA17Z5sczJ6braNT2C7rmClw+c4E7r/n911Zwss3h1uHI9reR5AgHZyNHF7c2+VIp5AUA==, + integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==, } - engines: { node: '>=18' } + engines: { node: '>=14' } hasBin: true + sax@1.2.1: + resolution: + { + integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==, + } + saxes@6.0.0: resolution: { @@ -14334,16 +15789,22 @@ packages: } engines: { node: '>=v12.22.7' } + scheduler@0.23.2: + resolution: + { + integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==, + } + scrypt-js@3.0.1: resolution: { integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==, } - secure-json-parse@4.1.0: + secure-json-parse@2.7.0: resolution: { - integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==, + integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, } seedrandom@3.0.5: @@ -14372,10 +15833,10 @@ packages: } hasBin: true - semver@7.7.3: + semver@7.7.2: resolution: { - integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==, + integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==, } engines: { node: '>=10' } hasBin: true @@ -14509,6 +15970,13 @@ packages: } engines: { node: '>=14' } + sigstore@2.3.1: + resolution: + { + integrity: sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + sisteransi@1.0.5: resolution: { @@ -14538,6 +16006,27 @@ packages: } engines: { node: '>=8' } + slice-ansi@5.0.0: + resolution: + { + integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, + } + engines: { node: '>=12' } + + slice-ansi@6.0.0: + resolution: + { + integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==, + } + engines: { node: '>=14.16' } + + smart-buffer@4.2.0: + resolution: + { + integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==, + } + engines: { node: '>= 6.0.0', npm: '>= 3.0.0' } + socket.io-client@4.8.1: resolution: { @@ -14558,6 +16047,20 @@ packages: integrity: sha512-Bf3ioZq15Z2yhFLDasRvbYitg82rwm+5AuER5kQvEQHhNFf4R4K5o/h57nEpN7A59T9FyRtTj34HZfMWAruw/A==, } + socks-proxy-agent@8.0.5: + resolution: + { + integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==, + } + engines: { node: '>= 14' } + + socks@2.8.7: + resolution: + { + integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==, + } + engines: { node: '>= 10.0.0', npm: '>= 3.0.0' } + sonic-boom@2.8.0: resolution: { @@ -14577,6 +16080,12 @@ packages: } engines: { node: '>=0.10.0' } + source-map-support@0.3.3: + resolution: + { + integrity: sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg==, + } + source-map-support@0.5.13: resolution: { @@ -14595,6 +16104,13 @@ packages: integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, } + source-map@0.1.32: + resolution: + { + integrity: sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==, + } + engines: { node: '>=0.8.0' } + source-map@0.6.1: resolution: { @@ -14664,13 +16180,20 @@ packages: integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==, } - sqs-consumer@6.0.2: + sqs-consumer@5.8.0: resolution: { - integrity: sha512-Y8ztFBc1VPj4q72j9Uji4XR6n2O88n9X83aOUaCvz9zZqjpGJaI4PBHBPnE8RDBgD0EQR8Dh+sQwH/+8mzr+Bg==, + integrity: sha512-pJReMEtDM9/xzQTffb7dxMD5MKagBfOW65m+ITsbpNk0oZmJ38tTC4LPmj0/7ZcKSOqi2LrpA1b0qGYOwxlHJg==, } peerDependencies: - '@aws-sdk/client-sqs': ^3.226.0 + aws-sdk: ^2.1271.0 + + ssri@10.0.6: + resolution: + { + integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } stable@0.1.8: resolution: @@ -14679,6 +16202,12 @@ packages: } deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + stack-trace@0.0.10: + resolution: + { + integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==, + } + stack-utils@2.0.6: resolution: { @@ -14769,6 +16298,13 @@ packages: } engines: { node: '>=10' } + string-length@6.0.0: + resolution: + { + integrity: sha512-1U361pxZHEQ+FeSjzqRpV+cu2vTzYeWeafXFLykiFlv4Vc0n3njgU8HrMbyik5uwm77naWMuVG8fhEF+Ovb1Kg==, + } + engines: { node: '>=16' } + string-width@4.2.3: resolution: { @@ -14900,13 +16436,6 @@ packages: } engines: { node: '>=8' } - strip-json-comments@5.0.3: - resolution: - { - integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==, - } - engines: { node: '>=14.16' } - strnum@2.1.1: resolution: { @@ -14919,18 +16448,18 @@ packages: integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==, } - stylus-lookup@6.1.0: + stylus-lookup@5.0.1: resolution: { - integrity: sha512-5QSwgxAzXPMN+yugy61C60PhoANdItfdjSEZR8siFwz7yL9jTmV0UBKDCfn3K8GkGB4g0Y9py7vTCX8rFu4/pQ==, + integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==, } - engines: { node: '>=18' } + engines: { node: '>=14' } hasBin: true - stytch@12.42.1: + stytch@12.4.0: resolution: { - integrity: sha512-BdKiIfzOuGUAnEDMqp7QJBrZMnp+/CFFPrYQNadHEWrPY8+j1LE6j91pLjMgsTOn+skP5m62r4aMTxUOxVqMdg==, + integrity: sha512-jyYIfirVnhy3gAtGLEIK5c5tSp5bhi9tUE0JRzItJlwISBW/StMMOvP0hhPUb831EGjV2l1S4YRPg/NqJ+eYNg==, } engines: { node: '>= 18.0.0' } @@ -14982,6 +16511,14 @@ packages: integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==, } + sync-content@1.0.2: + resolution: + { + integrity: sha512-znd3rYiiSxU3WteWyS9a6FXkTA/Wjk8WQsOyzHbineeL837dLn3DA4MRhsIX3qGcxDMH6+uuFV4axztssk7wEQ==, + } + engines: { node: '>=14' } + hasBin: true + synckit@0.11.11: resolution: { @@ -14996,10 +16533,33 @@ packages: } engines: { node: '>=8.0.0' } - tapable@2.3.0: + tap-parser@16.0.1: + resolution: + { + integrity: sha512-vKianJzSSzLkJ3bHBwzvZDDRi9yGMwkRANJxwPAjAue50owB8rlluYySmTN4tZVH0nsh6stvrQbg9kuCL5svdg==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + hasBin: true + + tap-yaml@2.2.2: + resolution: + { + integrity: sha512-MWG4OpAKtNoNVjCz/BqlDJiwTM99tiHRhHPS4iGOe1ZS0CgM4jSFH92lthSFvvy4EdDjQZDV7uYqUFlU9JuNhw==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + + tap@19.2.5: resolution: { - integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==, + integrity: sha512-Mz7MznUuKCqrN9dr0s8REt6zLg6WLNrvGXwDSaUyPO73dpXXjakYA7YVKRWu6TBnj7NsSYKuHXpQFROlqZ2KTg==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + hasBin: true + + tapable@2.2.3: + resolution: + { + integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==, } engines: { node: '>=6' } @@ -15010,6 +16570,20 @@ packages: } engines: { node: '>=6' } + tar@6.2.1: + resolution: + { + integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==, + } + engines: { node: '>=10' } + + tcompare@7.0.1: + resolution: + { + integrity: sha512-JN5s7hgmg/Ya5HxZqCnywT+XiOGRFcJRgYhtMyt/1m+h0yWpWwApO7HIM8Bpwyno9hI151ljjp5eAPCHhIGbpQ==, + } + engines: { node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20 } + tcp-port-used@1.0.2: resolution: { @@ -15029,19 +16603,12 @@ packages: } engines: { node: '>=18' } - temp-dir@3.0.0: - resolution: - { - integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==, - } - engines: { node: '>=14.16' } - - tempy@3.1.0: + temp@0.9.4: resolution: { - integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==, + integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==, } - engines: { node: '>=14.16' } + engines: { node: '>=6.0.0' } term-size@2.2.1: resolution: @@ -15063,6 +16630,12 @@ packages: integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==, } + text-hex@1.0.0: + resolution: + { + integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==, + } + thread-stream@0.15.2: resolution: { @@ -15075,6 +16648,13 @@ packages: integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==, } + thrift@0.14.2: + resolution: + { + integrity: sha512-bW8EaE6iw3hSt4HB2HpBdHW86Xpb9IUJfqufx4NwEu7OGuIpS0ISj+Yy1Z1Wvhfno6SPNhKRJ1qFXea84HcrOQ==, + } + engines: { node: '>= 10.18.0' } + timers-browserify@2.0.12: resolution: { @@ -15102,6 +16682,20 @@ packages: } hasBin: true + tmp@0.0.33: + resolution: + { + integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, + } + engines: { node: '>=0.6.0' } + + tmp@0.2.1: + resolution: + { + integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==, + } + engines: { node: '>=8.17.0' } + tmp@0.2.5: resolution: { @@ -15115,10 +16709,10 @@ packages: integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, } - to-buffer@1.2.2: + to-buffer@1.2.1: resolution: { - integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==, + integrity: sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==, } engines: { node: '>= 0.4' } @@ -15177,6 +16771,20 @@ packages: } engines: { node: '>=8' } + triple-beam@1.4.1: + resolution: + { + integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==, + } + engines: { node: '>= 14.0.0' } + + trivial-deferred@2.0.0: + resolution: + { + integrity: sha512-iGbM7X2slv9ORDVj2y2FFUq3cP/ypbtu2nQ8S38ufjL0glBABvmR9pTdsib1XtS2LUhhLMbelaBUaf/s5J3dSw==, + } + engines: { node: '>= 8' } + ts-api-utils@1.4.3: resolution: { @@ -15267,6 +16875,14 @@ packages: } engines: { node: '>=6' } + tshy@1.18.0: + resolution: + { + integrity: sha512-FQudIujBazHRu7CVPHKQE9/Xq1Wc7lezxD/FCnTXx2PTcnoSN32DVpb/ZXvzV2NJBTDB3XKjqX8Cdm+2UK1DlQ==, + } + engines: { node: 16 >=16.17 || 18 >=18.15.0 || >=20.6.1 } + hasBin: true + tslib@1.14.1: resolution: { @@ -15285,10 +16901,19 @@ packages: integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, } - tsx@4.20.6: + tsutils@3.21.0: + resolution: + { + integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, + } + engines: { node: '>= 6' } + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + + tsx@4.20.5: resolution: { - integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==, + integrity: sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw==, } engines: { node: '>=18.0.0' } hasBin: true @@ -15299,6 +16924,13 @@ packages: integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==, } + tuf-js@2.2.1: + resolution: + { + integrity: sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==, + } + engines: { node: ^16.14.0 || >=18.0.0 } + tweetnacl-util@0.15.1: resolution: { @@ -15325,6 +16957,13 @@ packages: } engines: { node: '>=4' } + type-fest@0.12.0: + resolution: + { + integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==, + } + engines: { node: '>=10' } + type-fest@0.18.1: resolution: { @@ -15353,20 +16992,6 @@ packages: } engines: { node: '>=8' } - type-fest@1.4.0: - resolution: - { - integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==, - } - engines: { node: '>=10' } - - type-fest@2.19.0: - resolution: - { - integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==, - } - engines: { node: '>=12.20' } - type-is@2.0.1: resolution: { @@ -15411,16 +17036,24 @@ packages: } engines: { node: '>= 0.4' } - typedoc@0.28.14: + typedoc@0.28.12: resolution: { - integrity: sha512-ftJYPvpVfQvFzpkoSfHLkJybdA/geDJ8BGQt/ZnkkhnBYoYW6lBgPQXu6vqLxO4X75dA55hX8Af847H5KXlEFA==, + integrity: sha512-H5ODu4f7N+myG4MfuSp2Vh6wV+WLoZaEYxKPt2y8hmmqNEMVrH69DAjjdmYivF4tP/C2jrIZCZhPalZlTU/ipA==, } engines: { node: '>= 18', pnpm: '>= 10' } hasBin: true peerDependencies: typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x + typescript@5.4.5: + resolution: + { + integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==, + } + engines: { node: '>=14.17' } + hasBin: true + typescript@5.8.3: resolution: { @@ -15479,11 +17112,12 @@ packages: integrity: sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==, } - uint8arrays@4.0.10: + uint8arrays@4.0.3: resolution: { - integrity: sha512-AnJNUGGDJAgFw/eWu/Xb9zrVKEGlwJJCaeInlf3BkecE/zcTobk5YXYIPNQJO1q5Hh1QZrQQHf0JvcHqz2hqoA==, + integrity: sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==, } + engines: { node: '>=16.0.0', npm: '>=7.0.0' } uint8arrays@5.1.0: resolution: @@ -15510,10 +17144,16 @@ packages: integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==, } - undici@6.22.0: + undici-types@7.16.0: + resolution: + { + integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==, + } + + undici@6.21.3: resolution: { - integrity: sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw==, + integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==, } engines: { node: '>=18.17' } @@ -15545,19 +17185,26 @@ packages: } engines: { node: '>=4' } - unicode-property-aliases-ecmascript@2.2.0: + unicode-property-aliases-ecmascript@2.1.0: resolution: { - integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==, + integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==, } engines: { node: '>=4' } - unique-string@3.0.0: + unique-filename@3.0.0: resolution: { - integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==, + integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==, } - engines: { node: '>=12' } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + + unique-slug@4.0.0: + resolution: + { + integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } universalify@0.1.2: resolution: @@ -15665,10 +17312,10 @@ packages: uploadthing: optional: true - update-browserslist-db@1.1.4: + update-browserslist-db@1.1.3: resolution: { - integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==, + integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==, } hasBin: true peerDependencies: @@ -15686,6 +17333,12 @@ packages: integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==, } + url@0.10.3: + resolution: + { + integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==, + } + url@0.11.4: resolution: { @@ -15734,10 +17387,10 @@ packages: integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==, } - uuid@11.1.0: + uuid@8.0.0: resolution: { - integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==, + integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==, } hasBin: true @@ -15832,10 +17485,10 @@ packages: typescript: optional: true - viem@2.38.4: + viem@2.38.3: resolution: { - integrity: sha512-qnyPNg6Lz1EEC86si/1dq7GlOyZVFHSgAW+p8Q31R5idnAYCOdTM2q5KLE4/ykMeMXzY0bnp5MWTtR/wjCtWmQ==, + integrity: sha512-By2TutLv07iNHHtWqHHzjGipevYsfGqT7KQbGEmqLco1qTJxKnvBbSviqiu6/v/9REV6Q/FpmIxf2Z7/l5AbcQ==, } peerDependencies: typescript: '>=5.0.4' @@ -15856,10 +17509,10 @@ packages: } engines: { node: '>=14' } - wagmi@2.18.2: + wagmi@2.18.1: resolution: { - integrity: sha512-9jFip+0ZfjMBxT72m02MZD2+VmQQ/UmqZhHl+98N9HEqXLn765fIu45QPV85DAnQqIHD81gvY3vTvfWt16A5yQ==, + integrity: sha512-u+lzv7K7R5Gvw5P8vtmwQ96+tR2UGSJ/wNRrDAZH+2ikLqc6Dt8Lj8L8MaqI0v7+gnHOGh63cgeXAEjOWydsMg==, } peerDependencies: '@tanstack/react-query': '>=5.0.0' @@ -15876,6 +17529,12 @@ packages: integrity: sha512-OH8GdRMowEFr0XSHQeX5fGweO6zSVHo7bG/0yJQx6LAj9Oukz0C8heI3/FYectT66gY0IPGe89kOvU410/UNpg==, } + walk-up-path@3.0.1: + resolution: + { + integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==, + } + walker@1.0.8: resolution: { @@ -16019,6 +17678,27 @@ packages: } engines: { node: '>=8' } + widest-line@4.0.1: + resolution: + { + integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==, + } + engines: { node: '>=12' } + + winston-transport@4.9.0: + resolution: + { + integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==, + } + engines: { node: '>= 12.0.0' } + + winston@3.18.3: + resolution: + { + integrity: sha512-NoBZauFNNWENgsnC9YpgyYwOVrl2m58PpQ8lNHjV3kosGs7KJ7Npk9pCUE+WJlawVSe8mykWDKWFSVfs3QO9ww==, + } + engines: { node: '>= 12.0.0' } + word-wrap@1.2.5: resolution: { @@ -16080,6 +17760,20 @@ packages: } engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + ws@5.2.4: + resolution: + { + integrity: sha512-fFCejsuC8f9kOSu9FYaOw8CdO68O3h5v0lg4p74o8JqWpwTf9tniOD+nOB78aWoVSS6WptVUmDrp/KPsMVBWFQ==, + } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@7.4.6: resolution: { @@ -16169,6 +17863,20 @@ packages: } engines: { node: '>=12' } + xml2js@0.6.2: + resolution: + { + integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==, + } + engines: { node: '>=4.0.0' } + + xmlbuilder@11.0.1: + resolution: + { + integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==, + } + engines: { node: '>=4.0' } + xmlchars@2.2.0: resolution: { @@ -16189,6 +17897,12 @@ packages: } engines: { node: '>=0.4' } + xxhashjs@0.2.2: + resolution: + { + integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==, + } + y18n@4.0.3: resolution: { @@ -16220,6 +17934,15 @@ packages: integrity: sha512-6xUQtVKl1qcd0EXtTEzUDVJy9Ji1fYa47LtkDtYKlIjhibPE9knNPmoRyf6SGREFHlOAUyDe9OdYqRP4DuSi5Q==, } + yaml-types@0.3.0: + resolution: + { + integrity: sha512-i9RxAO/LZBiE0NJUy9pbN5jFz5EasYDImzRkj8Y81kkInTi1laia3P3K/wlMKzOxFQutZip8TejvQP/DwgbU7A==, + } + engines: { node: '>= 16', npm: '>= 7' } + peerDependencies: + yaml: ^2.3.0 + yaml@1.10.2: resolution: { @@ -16298,6 +18021,12 @@ packages: } engines: { node: '>=18' } + yoga-wasm-web@0.3.3: + resolution: + { + integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==, + } + zip-stream@4.1.1: resolution: { @@ -16398,13 +18127,18 @@ packages: snapshots: '@adraffy/ens-normalize@1.10.1': {} - '@adraffy/ens-normalize@1.11.1': {} + '@adraffy/ens-normalize@1.11.0': {} - '@artilleryio/int-commons@2.17.0': + '@alcalzone/ansi-tokenize@0.1.3': + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 4.0.0 + + '@artilleryio/int-commons@2.14.0': dependencies: async: 2.6.4 cheerio: 1.1.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) deep-for-each: 3.0.0 espree: 9.6.1 jsonpath-plus: 10.3.0 @@ -16413,9 +18147,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@artilleryio/int-core@2.21.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@artilleryio/int-core@2.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@artilleryio/int-commons': 2.17.0 + '@artilleryio/int-commons': 2.14.0 '@artilleryio/sketches-js': 2.1.1 agentkeepalive: 4.6.0 arrivals: 2.1.2 @@ -16424,7 +18158,7 @@ snapshots: cheerio: 1.1.2 cookie-parser: 1.4.7 csv-parse: 4.16.3 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) decompress-response: 6.0.0 deep-for-each: 3.0.0 driftless: 2.0.3 @@ -16447,47 +18181,26 @@ snapshots: transitivePeerDependencies: - bufferutil - supports-color - - utf-8-validate - - '@artilleryio/sketches-js@2.1.1': {} - - '@assemblyscript/loader@0.9.4': {} - - '@aws-crypto/crc32@5.2.0': - dependencies: - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.914.0 - tslib: 2.8.1 - - '@aws-crypto/crc32c@5.2.0': - dependencies: - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.914.0 - tslib: 2.8.1 + - utf-8-validate - '@aws-crypto/sha1-browser@5.2.0': - dependencies: - '@aws-crypto/supports-web-crypto': 5.2.0 - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-locate-window': 3.893.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.8.1 + '@artilleryio/sketches-js@2.1.1': {} + + '@assemblyscript/loader@0.9.4': {} '@aws-crypto/sha256-browser@5.2.0': dependencies: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-locate-window': 3.893.0 + '@aws-sdk/types': 3.887.0 + '@aws-sdk/util-locate-window': 3.873.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.914.0 + '@aws-sdk/types': 3.887.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -16496,947 +18209,414 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.914.0 + '@aws-sdk/types': 3.887.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-cloudwatch-logs@3.916.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/eventstream-serde-browser': 4.2.3 - '@smithy/eventstream-serde-config-resolver': 4.3.3 - '@smithy/eventstream-serde-node': 4.2.3 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 - '@smithy/uuid': 1.1.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-cloudwatch@3.916.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-compression': 4.3.5 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 - '@smithy/util-waiter': 4.2.3 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-cognito-identity@3.916.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-ec2@3.916.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-sdk-ec2': 3.916.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 - '@smithy/util-waiter': 4.2.3 - '@smithy/uuid': 1.1.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-ecs@3.916.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 - '@smithy/util-waiter': 4.2.3 - '@smithy/uuid': 1.1.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-iam@3.916.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 - '@smithy/util-waiter': 4.2.3 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-lambda@3.916.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/eventstream-serde-browser': 4.2.3 - '@smithy/eventstream-serde-config-resolver': 4.3.3 - '@smithy/eventstream-serde-node': 4.2.3 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-stream': 4.5.4 - '@smithy/util-utf8': 4.2.0 - '@smithy/util-waiter': 4.2.3 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-s3@3.916.0': - dependencies: - '@aws-crypto/sha1-browser': 5.2.0 - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-bucket-endpoint': 3.914.0 - '@aws-sdk/middleware-expect-continue': 3.916.0 - '@aws-sdk/middleware-flexible-checksums': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-location-constraint': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-sdk-s3': 3.916.0 - '@aws-sdk/middleware-ssec': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/signature-v4-multi-region': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@aws-sdk/xml-builder': 3.914.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/eventstream-serde-browser': 4.2.3 - '@smithy/eventstream-serde-config-resolver': 4.3.3 - '@smithy/eventstream-serde-node': 4.2.3 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-blob-browser': 4.2.4 - '@smithy/hash-node': 4.2.3 - '@smithy/hash-stream-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/md5-js': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-stream': 4.5.4 - '@smithy/util-utf8': 4.2.0 - '@smithy/util-waiter': 4.2.3 - '@smithy/uuid': 1.1.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sqs@3.916.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-sdk-sqs': 3.916.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/md5-js': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-ssm@3.916.0': + '@aws-sdk/client-cloudwatch@3.887.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 - '@smithy/util-waiter': 4.2.3 - '@smithy/uuid': 1.1.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/credential-provider-node': 3.887.0 + '@aws-sdk/middleware-host-header': 3.887.0 + '@aws-sdk/middleware-logger': 3.887.0 + '@aws-sdk/middleware-recursion-detection': 3.887.0 + '@aws-sdk/middleware-user-agent': 3.887.0 + '@aws-sdk/region-config-resolver': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@aws-sdk/util-endpoints': 3.887.0 + '@aws-sdk/util-user-agent-browser': 3.887.0 + '@aws-sdk/util-user-agent-node': 3.887.0 + '@smithy/config-resolver': 4.2.1 + '@smithy/core': 3.11.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/hash-node': 4.1.1 + '@smithy/invalid-dependency': 4.1.1 + '@smithy/middleware-compression': 4.2.1 + '@smithy/middleware-content-length': 4.1.1 + '@smithy/middleware-endpoint': 4.2.1 + '@smithy/middleware-retry': 4.2.1 + '@smithy/middleware-serde': 4.1.1 + '@smithy/middleware-stack': 4.1.1 + '@smithy/node-config-provider': 4.2.1 + '@smithy/node-http-handler': 4.2.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/smithy-client': 4.6.1 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-body-length-node': 4.1.0 + '@smithy/util-defaults-mode-browser': 4.1.1 + '@smithy/util-defaults-mode-node': 4.1.1 + '@smithy/util-endpoints': 3.1.1 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-retry': 4.1.1 + '@smithy/util-utf8': 4.1.0 + '@smithy/util-waiter': 4.1.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.916.0': + '@aws-sdk/client-cognito-identity@3.887.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/credential-provider-node': 3.887.0 + '@aws-sdk/middleware-host-header': 3.887.0 + '@aws-sdk/middleware-logger': 3.887.0 + '@aws-sdk/middleware-recursion-detection': 3.887.0 + '@aws-sdk/middleware-user-agent': 3.887.0 + '@aws-sdk/region-config-resolver': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@aws-sdk/util-endpoints': 3.887.0 + '@aws-sdk/util-user-agent-browser': 3.887.0 + '@aws-sdk/util-user-agent-node': 3.887.0 + '@smithy/config-resolver': 4.2.1 + '@smithy/core': 3.11.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/hash-node': 4.1.1 + '@smithy/invalid-dependency': 4.1.1 + '@smithy/middleware-content-length': 4.1.1 + '@smithy/middleware-endpoint': 4.2.1 + '@smithy/middleware-retry': 4.2.1 + '@smithy/middleware-serde': 4.1.1 + '@smithy/middleware-stack': 4.1.1 + '@smithy/node-config-provider': 4.2.1 + '@smithy/node-http-handler': 4.2.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/smithy-client': 4.6.1 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-body-length-node': 4.1.0 + '@smithy/util-defaults-mode-browser': 4.1.1 + '@smithy/util-defaults-mode-node': 4.1.1 + '@smithy/util-endpoints': 3.1.1 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-retry': 4.1.1 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.916.0': + '@aws-sdk/client-sso@3.887.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/middleware-host-header': 3.887.0 + '@aws-sdk/middleware-logger': 3.887.0 + '@aws-sdk/middleware-recursion-detection': 3.887.0 + '@aws-sdk/middleware-user-agent': 3.887.0 + '@aws-sdk/region-config-resolver': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@aws-sdk/util-endpoints': 3.887.0 + '@aws-sdk/util-user-agent-browser': 3.887.0 + '@aws-sdk/util-user-agent-node': 3.887.0 + '@smithy/config-resolver': 4.2.1 + '@smithy/core': 3.11.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/hash-node': 4.1.1 + '@smithy/invalid-dependency': 4.1.1 + '@smithy/middleware-content-length': 4.1.1 + '@smithy/middleware-endpoint': 4.2.1 + '@smithy/middleware-retry': 4.2.1 + '@smithy/middleware-serde': 4.1.1 + '@smithy/middleware-stack': 4.1.1 + '@smithy/node-config-provider': 4.2.1 + '@smithy/node-http-handler': 4.2.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/smithy-client': 4.6.1 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-body-length-node': 4.1.0 + '@smithy/util-defaults-mode-browser': 4.1.1 + '@smithy/util-defaults-mode-node': 4.1.1 + '@smithy/util-endpoints': 3.1.1 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-retry': 4.1.1 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.916.0': - dependencies: - '@aws-sdk/types': 3.914.0 - '@aws-sdk/xml-builder': 3.914.0 - '@smithy/core': 3.17.1 - '@smithy/node-config-provider': 4.3.3 - '@smithy/property-provider': 4.2.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/signature-v4': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/util-base64': 4.3.0 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-utf8': 4.2.0 + '@aws-sdk/core@3.887.0': + dependencies: + '@aws-sdk/types': 3.887.0 + '@aws-sdk/xml-builder': 3.887.0 + '@smithy/core': 3.11.0 + '@smithy/node-config-provider': 4.2.1 + '@smithy/property-provider': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/signature-v4': 5.2.1 + '@smithy/smithy-client': 4.6.1 + '@smithy/types': 4.5.0 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-utf8': 4.1.0 + fast-xml-parser: 5.2.5 tslib: 2.8.1 - '@aws-sdk/credential-provider-cognito-identity@3.916.0': + '@aws-sdk/credential-provider-cognito-identity@3.887.0': dependencies: - '@aws-sdk/client-cognito-identity': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/property-provider': 4.2.3 - '@smithy/types': 4.8.0 + '@aws-sdk/client-cognito-identity': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/property-provider': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-env@3.916.0': + '@aws-sdk/credential-provider-env@3.887.0': dependencies: - '@aws-sdk/core': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/property-provider': 4.2.3 - '@smithy/types': 4.8.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/property-provider': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.916.0': - dependencies: - '@aws-sdk/core': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/node-http-handler': 4.4.3 - '@smithy/property-provider': 4.2.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/util-stream': 4.5.4 + '@aws-sdk/credential-provider-http@3.887.0': + dependencies: + '@aws-sdk/core': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/node-http-handler': 4.2.1 + '@smithy/property-provider': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/smithy-client': 4.6.1 + '@smithy/types': 4.5.0 + '@smithy/util-stream': 4.3.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.916.0': - dependencies: - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-env': 3.916.0 - '@aws-sdk/credential-provider-http': 3.916.0 - '@aws-sdk/credential-provider-process': 3.916.0 - '@aws-sdk/credential-provider-sso': 3.916.0 - '@aws-sdk/credential-provider-web-identity': 3.916.0 - '@aws-sdk/nested-clients': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/credential-provider-imds': 4.2.3 - '@smithy/property-provider': 4.2.3 - '@smithy/shared-ini-file-loader': 4.3.3 - '@smithy/types': 4.8.0 + '@aws-sdk/credential-provider-ini@3.887.0': + dependencies: + '@aws-sdk/core': 3.887.0 + '@aws-sdk/credential-provider-env': 3.887.0 + '@aws-sdk/credential-provider-http': 3.887.0 + '@aws-sdk/credential-provider-process': 3.887.0 + '@aws-sdk/credential-provider-sso': 3.887.0 + '@aws-sdk/credential-provider-web-identity': 3.887.0 + '@aws-sdk/nested-clients': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/credential-provider-imds': 4.1.1 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.916.0': - dependencies: - '@aws-sdk/credential-provider-env': 3.916.0 - '@aws-sdk/credential-provider-http': 3.916.0 - '@aws-sdk/credential-provider-ini': 3.916.0 - '@aws-sdk/credential-provider-process': 3.916.0 - '@aws-sdk/credential-provider-sso': 3.916.0 - '@aws-sdk/credential-provider-web-identity': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/credential-provider-imds': 4.2.3 - '@smithy/property-provider': 4.2.3 - '@smithy/shared-ini-file-loader': 4.3.3 - '@smithy/types': 4.8.0 + '@aws-sdk/credential-provider-node@3.887.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.887.0 + '@aws-sdk/credential-provider-http': 3.887.0 + '@aws-sdk/credential-provider-ini': 3.887.0 + '@aws-sdk/credential-provider-process': 3.887.0 + '@aws-sdk/credential-provider-sso': 3.887.0 + '@aws-sdk/credential-provider-web-identity': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/credential-provider-imds': 4.1.1 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.916.0': + '@aws-sdk/credential-provider-process@3.887.0': dependencies: - '@aws-sdk/core': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/property-provider': 4.2.3 - '@smithy/shared-ini-file-loader': 4.3.3 - '@smithy/types': 4.8.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.916.0': + '@aws-sdk/credential-provider-sso@3.887.0': dependencies: - '@aws-sdk/client-sso': 3.916.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/token-providers': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/property-provider': 4.2.3 - '@smithy/shared-ini-file-loader': 4.3.3 - '@smithy/types': 4.8.0 + '@aws-sdk/client-sso': 3.887.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/token-providers': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.916.0': + '@aws-sdk/credential-provider-web-identity@3.887.0': dependencies: - '@aws-sdk/core': 3.916.0 - '@aws-sdk/nested-clients': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/property-provider': 4.2.3 - '@smithy/shared-ini-file-loader': 4.3.3 - '@smithy/types': 4.8.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/nested-clients': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/property-provider': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-providers@3.916.0': - dependencies: - '@aws-sdk/client-cognito-identity': 3.916.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/credential-provider-cognito-identity': 3.916.0 - '@aws-sdk/credential-provider-env': 3.916.0 - '@aws-sdk/credential-provider-http': 3.916.0 - '@aws-sdk/credential-provider-ini': 3.916.0 - '@aws-sdk/credential-provider-node': 3.916.0 - '@aws-sdk/credential-provider-process': 3.916.0 - '@aws-sdk/credential-provider-sso': 3.916.0 - '@aws-sdk/credential-provider-web-identity': 3.916.0 - '@aws-sdk/nested-clients': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/credential-provider-imds': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/property-provider': 4.2.3 - '@smithy/types': 4.8.0 + '@aws-sdk/credential-providers@3.887.0': + dependencies: + '@aws-sdk/client-cognito-identity': 3.887.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/credential-provider-cognito-identity': 3.887.0 + '@aws-sdk/credential-provider-env': 3.887.0 + '@aws-sdk/credential-provider-http': 3.887.0 + '@aws-sdk/credential-provider-ini': 3.887.0 + '@aws-sdk/credential-provider-node': 3.887.0 + '@aws-sdk/credential-provider-process': 3.887.0 + '@aws-sdk/credential-provider-sso': 3.887.0 + '@aws-sdk/credential-provider-web-identity': 3.887.0 + '@aws-sdk/nested-clients': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/config-resolver': 4.2.1 + '@smithy/core': 3.11.0 + '@smithy/credential-provider-imds': 4.1.1 + '@smithy/node-config-provider': 4.2.1 + '@smithy/property-provider': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/middleware-bucket-endpoint@3.914.0': - dependencies: - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-arn-parser': 3.893.0 - '@smithy/node-config-provider': 4.3.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 - '@smithy/util-config-provider': 4.2.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-expect-continue@3.916.0': - dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-flexible-checksums@3.916.0': - dependencies: - '@aws-crypto/crc32': 5.2.0 - '@aws-crypto/crc32c': 5.2.0 - '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/is-array-buffer': 4.2.0 - '@smithy/node-config-provider': 4.3.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-stream': 4.5.4 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-host-header@3.914.0': - dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-location-constraint@3.914.0': + '@aws-sdk/middleware-host-header@3.887.0': dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/types': 4.8.0 + '@aws-sdk/types': 3.887.0 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.914.0': + '@aws-sdk/middleware-logger@3.887.0': dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/types': 4.8.0 + '@aws-sdk/types': 3.887.0 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.914.0': + '@aws-sdk/middleware-recursion-detection@3.887.0': dependencies: - '@aws-sdk/types': 3.914.0 + '@aws-sdk/types': 3.887.0 '@aws/lambda-invoke-store': 0.0.1 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-sdk-ec2@3.916.0': - dependencies: - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-format-url': 3.914.0 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/protocol-http': 5.3.3 - '@smithy/signature-v4': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-sdk-s3@3.916.0': - dependencies: - '@aws-sdk/core': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-arn-parser': 3.893.0 - '@smithy/core': 3.17.1 - '@smithy/node-config-provider': 4.3.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/signature-v4': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/util-config-provider': 4.2.0 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-stream': 4.5.4 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-sdk-sqs@3.916.0': - dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/util-hex-encoding': 4.2.0 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-ssec@3.914.0': - dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/types': 4.8.0 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.916.0': + '@aws-sdk/middleware-user-agent@3.887.0': dependencies: - '@aws-sdk/core': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@smithy/core': 3.17.1 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@aws-sdk/util-endpoints': 3.887.0 + '@smithy/core': 3.11.0 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.916.0': + '@aws-sdk/nested-clients@3.887.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.916.0 - '@aws-sdk/middleware-host-header': 3.914.0 - '@aws-sdk/middleware-logger': 3.914.0 - '@aws-sdk/middleware-recursion-detection': 3.914.0 - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/region-config-resolver': 3.914.0 - '@aws-sdk/types': 3.914.0 - '@aws-sdk/util-endpoints': 3.916.0 - '@aws-sdk/util-user-agent-browser': 3.914.0 - '@aws-sdk/util-user-agent-node': 3.916.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/core': 3.17.1 - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/hash-node': 4.2.3 - '@smithy/invalid-dependency': 4.2.3 - '@smithy/middleware-content-length': 4.2.3 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-retry': 4.4.5 - '@smithy/middleware-serde': 4.2.3 - '@smithy/middleware-stack': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/node-http-handler': 4.4.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.4 - '@smithy/util-defaults-mode-node': 4.2.6 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/util-utf8': 4.2.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/middleware-host-header': 3.887.0 + '@aws-sdk/middleware-logger': 3.887.0 + '@aws-sdk/middleware-recursion-detection': 3.887.0 + '@aws-sdk/middleware-user-agent': 3.887.0 + '@aws-sdk/region-config-resolver': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@aws-sdk/util-endpoints': 3.887.0 + '@aws-sdk/util-user-agent-browser': 3.887.0 + '@aws-sdk/util-user-agent-node': 3.887.0 + '@smithy/config-resolver': 4.2.1 + '@smithy/core': 3.11.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/hash-node': 4.1.1 + '@smithy/invalid-dependency': 4.1.1 + '@smithy/middleware-content-length': 4.1.1 + '@smithy/middleware-endpoint': 4.2.1 + '@smithy/middleware-retry': 4.2.1 + '@smithy/middleware-serde': 4.1.1 + '@smithy/middleware-stack': 4.1.1 + '@smithy/node-config-provider': 4.2.1 + '@smithy/node-http-handler': 4.2.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/smithy-client': 4.6.1 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-body-length-node': 4.1.0 + '@smithy/util-defaults-mode-browser': 4.1.1 + '@smithy/util-defaults-mode-node': 4.1.1 + '@smithy/util-endpoints': 3.1.1 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-retry': 4.1.1 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.914.0': - dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/config-resolver': 4.4.0 - '@smithy/types': 4.8.0 - tslib: 2.8.1 - - '@aws-sdk/signature-v4-multi-region@3.916.0': + '@aws-sdk/region-config-resolver@3.887.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/protocol-http': 5.3.3 - '@smithy/signature-v4': 5.3.3 - '@smithy/types': 4.8.0 + '@aws-sdk/types': 3.887.0 + '@smithy/node-config-provider': 4.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-config-provider': 4.1.0 + '@smithy/util-middleware': 4.1.1 tslib: 2.8.1 - '@aws-sdk/token-providers@3.916.0': + '@aws-sdk/token-providers@3.887.0': dependencies: - '@aws-sdk/core': 3.916.0 - '@aws-sdk/nested-clients': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/property-provider': 4.2.3 - '@smithy/shared-ini-file-loader': 4.3.3 - '@smithy/types': 4.8.0 + '@aws-sdk/core': 3.887.0 + '@aws-sdk/nested-clients': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/types@3.914.0': - dependencies: - '@smithy/types': 4.8.0 - tslib: 2.8.1 - - '@aws-sdk/util-arn-parser@3.893.0': - dependencies: - tslib: 2.8.1 - - '@aws-sdk/util-endpoints@3.916.0': + '@aws-sdk/types@3.887.0': dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-endpoints': 3.2.3 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@aws-sdk/util-format-url@3.914.0': + '@aws-sdk/util-endpoints@3.887.0': dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/querystring-builder': 4.2.3 - '@smithy/types': 4.8.0 + '@aws-sdk/types': 3.887.0 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-endpoints': 3.1.1 tslib: 2.8.1 - '@aws-sdk/util-locate-window@3.893.0': + '@aws-sdk/util-locate-window@3.873.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.914.0': + '@aws-sdk/util-user-agent-browser@3.887.0': dependencies: - '@aws-sdk/types': 3.914.0 - '@smithy/types': 4.8.0 + '@aws-sdk/types': 3.887.0 + '@smithy/types': 4.5.0 bowser: 2.12.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.916.0': + '@aws-sdk/util-user-agent-node@3.887.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.916.0 - '@aws-sdk/types': 3.914.0 - '@smithy/node-config-provider': 4.3.3 - '@smithy/types': 4.8.0 + '@aws-sdk/middleware-user-agent': 3.887.0 + '@aws-sdk/types': 3.887.0 + '@smithy/node-config-provider': 4.2.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.914.0': + '@aws-sdk/xml-builder@3.887.0': dependencies: - '@smithy/types': 4.8.0 - fast-xml-parser: 5.2.5 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws/lambda-invoke-store@0.0.1': {} @@ -17528,10 +18708,10 @@ snapshots: '@azure/core-xml@1.5.0': dependencies: - fast-xml-parser: 5.3.0 + fast-xml-parser: 5.2.5 tslib: 2.8.1 - '@azure/identity@4.13.0': + '@azure/identity@4.12.0': dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.10.1 @@ -17540,8 +18720,8 @@ snapshots: '@azure/core-tracing': 1.3.1 '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 - '@azure/msal-browser': 4.25.1 - '@azure/msal-node': 3.8.0 + '@azure/msal-browser': 4.22.1 + '@azure/msal-node': 3.7.3 open: 10.2.0 tslib: 2.8.1 transitivePeerDependencies: @@ -17554,19 +18734,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@azure/msal-browser@4.25.1': + '@azure/msal-browser@4.22.1': dependencies: - '@azure/msal-common': 15.13.0 + '@azure/msal-common': 15.12.0 - '@azure/msal-common@15.13.0': {} + '@azure/msal-common@15.12.0': {} - '@azure/msal-node@3.8.0': + '@azure/msal-node@3.7.3': dependencies: - '@azure/msal-common': 15.13.0 + '@azure/msal-common': 15.12.0 jsonwebtoken: 9.0.2 uuid: 8.3.2 - '@azure/storage-blob@12.29.1': + '@azure/storage-blob@12.28.0': dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.10.1 @@ -17579,13 +18759,13 @@ snapshots: '@azure/core-util': 1.13.1 '@azure/core-xml': 1.5.0 '@azure/logger': 1.3.0 - '@azure/storage-common': 12.1.1 + '@azure/storage-common': 12.0.0 events: 3.3.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/storage-common@12.1.1': + '@azure/storage-common@12.0.0': dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.10.1 @@ -17599,7 +18779,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@azure/storage-queue@12.28.1': + '@azure/storage-queue@12.27.0': dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.10.1 @@ -17611,18 +18791,18 @@ snapshots: '@azure/core-util': 1.13.1 '@azure/core-xml': 1.5.0 '@azure/logger': 1.3.0 - '@azure/storage-common': 12.1.1 + '@azure/storage-common': 12.0.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.27.1 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.5': {} + '@babel/compat-data@7.28.4': {} '@babel/core@7.28.5': dependencies: @@ -17637,13 +18817,21 @@ snapshots: '@babel/types': 7.28.5 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + '@babel/generator@7.28.5': dependencies: '@babel/parser': 7.28.5 @@ -17654,34 +18842,34 @@ snapshots: '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.28.4 '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.28.5 + '@babel/compat-data': 7.28.4 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.27.0 + browserslist: 4.25.4 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': + '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 + regexpu-core: 6.3.1 semver: 6.3.1 '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': @@ -17689,25 +18877,25 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.11 + resolve: 1.22.10 transitivePeerDependencies: - supports-color '@babel/helper-globals@7.28.0': {} - '@babel/helper-member-expression-to-functions@7.28.5': + '@babel/helper-member-expression-to-functions@7.27.1': dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color @@ -17715,14 +18903,14 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.27.1 '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.28.4 '@babel/helper-plugin-utils@7.27.1': {} @@ -17731,28 +18919,30 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.27.1 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-identifier@7.28.5': {} '@babel/helper-validator-option@7.27.1': {} @@ -17760,8 +18950,8 @@ snapshots: '@babel/helper-wrap-function@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color @@ -17770,15 +18960,19 @@ snapshots: '@babel/template': 7.27.2 '@babel/types': 7.28.5 + '@babel/parser@7.28.4': + dependencies: + '@babel/types': 7.28.4 + '@babel/parser@7.28.5': dependencies: '@babel/types': 7.28.5 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color @@ -17797,7 +18991,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.5) transitivePeerDependencies: - supports-color @@ -17805,14 +18999,14 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.5) transitivePeerDependencies: @@ -17920,7 +19114,7 @@ snapshots: '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': @@ -17933,7 +19127,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color @@ -17951,7 +19145,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 @@ -17959,7 +19153,7 @@ snapshots: '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -17967,7 +19161,7 @@ snapshots: '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -17980,7 +19174,7 @@ snapshots: '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color @@ -17990,18 +19184,18 @@ snapshots: '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': @@ -18012,7 +19206,7 @@ snapshots: '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': @@ -18024,11 +19218,11 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.5) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 @@ -18051,7 +19245,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color @@ -18065,7 +19259,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 @@ -18091,13 +19285,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color @@ -18112,7 +19306,7 @@ snapshots: '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': @@ -18135,9 +19329,9 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.5) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color @@ -18154,7 +19348,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 @@ -18170,7 +19364,7 @@ snapshots: '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -18179,7 +19373,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -18197,7 +19391,7 @@ snapshots: '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': @@ -18205,7 +19399,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-runtime@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-module-imports': 7.27.1 @@ -18222,147 +19416,71 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/preset-env@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.46.0 - semver: 6.3.1 + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) transitivePeerDependencies: - supports-color - '@babel/preset-env@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/preset-env@7.28.3(@babel/core@7.28.5)': dependencies: - '@babel/compat-data': 7.28.5 + '@babel/compat-data': 7.28.4 '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.5) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) @@ -18375,28 +19493,28 @@ snapshots: '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.5) '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.5) '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) @@ -18405,7 +19523,7 @@ snapshots: '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) @@ -18426,7 +19544,7 @@ snapshots: babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.46.0 + core-js-compat: 3.45.1 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -18435,7 +19553,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.5 + '@babel/types': 7.28.4 esutils: 2.0.3 '@babel/preset-typescript@7.27.1(@babel/core@7.28.5)': @@ -18445,18 +19563,7 @@ snapshots: '@babel/helper-validator-option': 7.27.1 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/preset-typescript@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.5) transitivePeerDependencies: - supports-color @@ -18465,8 +19572,20 @@ snapshots: '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + + '@babel/traverse@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + debug: 4.4.1(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color '@babel/traverse@7.28.5': dependencies: @@ -18476,16 +19595,21 @@ snapshots: '@babel/parser': 7.28.5 '@babel/template': 7.27.2 '@babel/types': 7.28.5 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.28.5': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@base-org/account@1.1.1(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(zod@3.24.3)': + '@base-org/account@1.1.1(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@noble/hashes': 1.4.0 clsx: 1.2.1 @@ -18493,8 +19617,8 @@ snapshots: idb-keyval: 6.2.1 ox: 0.6.9(typescript@5.8.3)(zod@3.24.3) preact: 10.24.2 - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - zustand: 5.0.3(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + zustand: 5.0.3(@types/react@19.1.13)(react@19.1.1)(use-sync-external-store@1.4.0(react@19.1.1)) transitivePeerDependencies: - '@types/react' - bufferutil @@ -18505,6 +19629,8 @@ snapshots: - utf-8-validate - zod + '@base2/pretty-print-object@1.0.1': {} + '@bcoe/v8-coverage@0.2.3': {} '@changesets/apply-release-plan@7.0.13': @@ -18521,7 +19647,7 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.7.3 + semver: 7.7.2 '@changesets/assemble-release-plan@6.0.9': dependencies: @@ -18530,13 +19656,13 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 - semver: 7.7.3 + semver: 7.7.2 '@changesets/changelog-git@0.2.1': dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.7(@types/node@20.0.0)': + '@changesets/cli@2.29.4': dependencies: '@changesets/apply-release-plan': 7.0.13 '@changesets/assemble-release-plan': 6.0.9 @@ -18552,22 +19678,20 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.2(@types/node@20.0.0) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 enquirer: 2.4.1 + external-editor: 3.1.0 fs-extra: 7.0.1 mri: 1.2.0 p-limit: 2.3.0 package-manager-detector: 0.2.11 picocolors: 1.1.1 resolve-from: 5.0.0 - semver: 7.7.3 + semver: 7.7.2 spawndamnit: 3.0.1 term-size: 2.2.1 - transitivePeerDependencies: - - '@types/node' '@changesets/config@3.1.1': dependencies: @@ -18588,7 +19712,7 @@ snapshots: '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.7.3 + semver: 7.7.2 '@changesets/get-release-plan@4.0.13': dependencies: @@ -18648,7 +19772,7 @@ snapshots: dependencies: '@changesets/types': 6.1.0 fs-extra: 7.0.1 - human-id: 4.1.2 + human-id: 4.1.1 prettier: 2.8.8 '@coinbase/wallet-sdk@3.9.3': @@ -18660,12 +19784,12 @@ snapshots: eth-json-rpc-filters: 6.0.1 eventemitter3: 5.0.1 keccak: 3.0.4 - preact: 10.27.2 + preact: 10.27.1 sha.js: 2.4.12 transitivePeerDependencies: - supports-color - '@coinbase/wallet-sdk@4.3.6(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(zod@3.24.3)': + '@coinbase/wallet-sdk@4.3.6(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@noble/hashes': 1.4.0 clsx: 1.2.1 @@ -18673,8 +19797,8 @@ snapshots: idb-keyval: 6.2.1 ox: 0.6.9(typescript@5.8.3)(zod@3.24.3) preact: 10.24.2 - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - zustand: 5.0.3(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + zustand: 5.0.3(@types/react@19.1.13)(react@19.1.1)(use-sync-external-store@1.4.0(react@19.1.1)) transitivePeerDependencies: - '@types/react' - bufferutil @@ -18688,37 +19812,50 @@ snapshots: '@colors/colors@1.5.0': optional: true + '@colors/colors@1.6.0': {} + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@dependents/detective-less@5.0.1': + '@dabh/diagnostics@2.0.8': + dependencies: + '@so-ric/colorspace': 1.1.6 + enabled: 2.0.0 + kuler: 2.0.0 + + '@dependents/detective-less@4.1.0': dependencies: gonzales-pe: 4.3.0 - node-source-walk: 7.0.1 + node-source-walk: 6.0.2 - '@dotenvx/dotenvx@1.51.0': + '@dotenvx/dotenvx@1.6.4': dependencies: + chalk: 4.1.2 commander: 11.1.0 - dotenv: 17.2.3 - eciesjs: 0.4.16 + conf: 10.2.0 + diff: 5.2.0 + dotenv: 16.6.1 + eciesjs: 0.4.15 execa: 5.1.1 - fdir: 6.5.0(picomatch@4.0.3) + fdir: 6.5.0(picomatch@3.0.1) ignore: 5.3.2 object-treeify: 1.1.33 - picomatch: 4.0.3 + picomatch: 3.0.1 which: 4.0.0 + winston: 3.18.3 + xxhashjs: 0.2.2 '@ecies/ciphers@0.2.4(@noble/ciphers@1.3.0)': dependencies: '@noble/ciphers': 1.3.0 - '@emnapi/core@1.6.0': + '@emnapi/core@1.5.0': dependencies: '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 - '@emnapi/runtime@1.6.0': + '@emnapi/runtime@1.5.0': dependencies: tslib: 2.8.1 @@ -18726,151 +19863,148 @@ snapshots: dependencies: tslib: 2.8.1 - '@esbuild/aix-ppc64@0.19.12': - optional: true - - '@esbuild/aix-ppc64@0.25.11': + '@esbuild/aix-ppc64@0.25.9': optional: true - '@esbuild/android-arm64@0.19.12': + '@esbuild/android-arm64@0.19.2': optional: true - '@esbuild/android-arm64@0.25.11': + '@esbuild/android-arm64@0.25.9': optional: true - '@esbuild/android-arm@0.19.12': + '@esbuild/android-arm@0.19.2': optional: true - '@esbuild/android-arm@0.25.11': + '@esbuild/android-arm@0.25.9': optional: true - '@esbuild/android-x64@0.19.12': + '@esbuild/android-x64@0.19.2': optional: true - '@esbuild/android-x64@0.25.11': + '@esbuild/android-x64@0.25.9': optional: true - '@esbuild/darwin-arm64@0.19.12': + '@esbuild/darwin-arm64@0.19.2': optional: true - '@esbuild/darwin-arm64@0.25.11': + '@esbuild/darwin-arm64@0.25.9': optional: true - '@esbuild/darwin-x64@0.19.12': + '@esbuild/darwin-x64@0.19.2': optional: true - '@esbuild/darwin-x64@0.25.11': + '@esbuild/darwin-x64@0.25.9': optional: true - '@esbuild/freebsd-arm64@0.19.12': + '@esbuild/freebsd-arm64@0.19.2': optional: true - '@esbuild/freebsd-arm64@0.25.11': + '@esbuild/freebsd-arm64@0.25.9': optional: true - '@esbuild/freebsd-x64@0.19.12': + '@esbuild/freebsd-x64@0.19.2': optional: true - '@esbuild/freebsd-x64@0.25.11': + '@esbuild/freebsd-x64@0.25.9': optional: true - '@esbuild/linux-arm64@0.19.12': + '@esbuild/linux-arm64@0.19.2': optional: true - '@esbuild/linux-arm64@0.25.11': + '@esbuild/linux-arm64@0.25.9': optional: true - '@esbuild/linux-arm@0.19.12': + '@esbuild/linux-arm@0.19.2': optional: true - '@esbuild/linux-arm@0.25.11': + '@esbuild/linux-arm@0.25.9': optional: true - '@esbuild/linux-ia32@0.19.12': + '@esbuild/linux-ia32@0.19.2': optional: true - '@esbuild/linux-ia32@0.25.11': + '@esbuild/linux-ia32@0.25.9': optional: true - '@esbuild/linux-loong64@0.19.12': + '@esbuild/linux-loong64@0.19.2': optional: true - '@esbuild/linux-loong64@0.25.11': + '@esbuild/linux-loong64@0.25.9': optional: true - '@esbuild/linux-mips64el@0.19.12': + '@esbuild/linux-mips64el@0.19.2': optional: true - '@esbuild/linux-mips64el@0.25.11': + '@esbuild/linux-mips64el@0.25.9': optional: true - '@esbuild/linux-ppc64@0.19.12': + '@esbuild/linux-ppc64@0.19.2': optional: true - '@esbuild/linux-ppc64@0.25.11': + '@esbuild/linux-ppc64@0.25.9': optional: true - '@esbuild/linux-riscv64@0.19.12': + '@esbuild/linux-riscv64@0.19.2': optional: true - '@esbuild/linux-riscv64@0.25.11': + '@esbuild/linux-riscv64@0.25.9': optional: true - '@esbuild/linux-s390x@0.19.12': + '@esbuild/linux-s390x@0.19.2': optional: true - '@esbuild/linux-s390x@0.25.11': + '@esbuild/linux-s390x@0.25.9': optional: true - '@esbuild/linux-x64@0.19.12': + '@esbuild/linux-x64@0.19.2': optional: true - '@esbuild/linux-x64@0.25.11': + '@esbuild/linux-x64@0.25.9': optional: true - '@esbuild/netbsd-arm64@0.25.11': + '@esbuild/netbsd-arm64@0.25.9': optional: true - '@esbuild/netbsd-x64@0.19.12': + '@esbuild/netbsd-x64@0.19.2': optional: true - '@esbuild/netbsd-x64@0.25.11': + '@esbuild/netbsd-x64@0.25.9': optional: true - '@esbuild/openbsd-arm64@0.25.11': + '@esbuild/openbsd-arm64@0.25.9': optional: true - '@esbuild/openbsd-x64@0.19.12': + '@esbuild/openbsd-x64@0.19.2': optional: true - '@esbuild/openbsd-x64@0.25.11': + '@esbuild/openbsd-x64@0.25.9': optional: true - '@esbuild/openharmony-arm64@0.25.11': + '@esbuild/openharmony-arm64@0.25.9': optional: true - '@esbuild/sunos-x64@0.19.12': + '@esbuild/sunos-x64@0.19.2': optional: true - '@esbuild/sunos-x64@0.25.11': + '@esbuild/sunos-x64@0.25.9': optional: true - '@esbuild/win32-arm64@0.19.12': + '@esbuild/win32-arm64@0.19.2': optional: true - '@esbuild/win32-arm64@0.25.11': + '@esbuild/win32-arm64@0.25.9': optional: true - '@esbuild/win32-ia32@0.19.12': + '@esbuild/win32-ia32@0.19.2': optional: true - '@esbuild/win32-ia32@0.25.11': + '@esbuild/win32-ia32@0.25.9': optional: true - '@esbuild/win32-x64@0.19.12': + '@esbuild/win32-x64@0.19.2': optional: true - '@esbuild/win32-x64@0.25.11': + '@esbuild/win32-x64@0.25.9': optional: true '@eslint-community/eslint-utils@4.9.0(eslint@9.34.0)': @@ -18878,12 +20012,12 @@ snapshots: eslint: 9.34.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.2': {} + '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.21.1': + '@eslint/config-array@0.21.0': dependencies: - '@eslint/object-schema': 2.1.7 - debug: 4.4.3(supports-color@8.1.1) + '@eslint/object-schema': 2.1.6 + debug: 4.4.1(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -18897,7 +20031,7 @@ snapshots: '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -18910,7 +20044,7 @@ snapshots: '@eslint/js@9.34.0': {} - '@eslint/object-schema@2.1.7': {} + '@eslint/object-schema@2.1.6': {} '@eslint/plugin-kit@0.3.5': dependencies: @@ -18939,15 +20073,15 @@ snapshots: '@ethersproject/abi@5.7.0': dependencies: - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 '@ethersproject/abi@5.8.0': dependencies: @@ -18983,11 +20117,11 @@ snapshots: '@ethersproject/abstract-signer@5.7.0': dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 '@ethersproject/abstract-signer@5.8.0': dependencies: @@ -18999,11 +20133,11 @@ snapshots: '@ethersproject/address@5.7.0': dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/rlp': 5.7.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/rlp': 5.8.0 '@ethersproject/address@5.8.0': dependencies: @@ -19015,26 +20149,21 @@ snapshots: '@ethersproject/base64@5.7.0': dependencies: - '@ethersproject/bytes': 5.7.0 + '@ethersproject/bytes': 5.8.0 '@ethersproject/base64@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/basex@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/properties': 5.7.0 - - '@ethersproject/basex@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/properties': 5.8.0 '@ethersproject/bignumber@5.7.0': dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 bn.js: 5.2.2 '@ethersproject/bignumber@5.8.0': @@ -19045,7 +20174,7 @@ snapshots: '@ethersproject/bytes@5.7.0': dependencies: - '@ethersproject/logger': 5.7.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/bytes@5.8.0': dependencies: @@ -19053,7 +20182,7 @@ snapshots: '@ethersproject/constants@5.7.0': dependencies: - '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bignumber': 5.8.0 '@ethersproject/constants@5.8.0': dependencies: @@ -19061,15 +20190,15 @@ snapshots: '@ethersproject/contracts@5.7.0': dependencies: - '@ethersproject/abi': 5.7.0 - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 + '@ethersproject/abi': 5.8.0 + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/contracts@5.8.0': @@ -19087,15 +20216,15 @@ snapshots: '@ethersproject/hash@5.7.0': dependencies: - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/base64': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/base64': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 '@ethersproject/hash@5.8.0': dependencies: @@ -19111,38 +20240,38 @@ snapshots: '@ethersproject/hdnode@5.7.0': dependencies: - '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/abstract-signer': 5.8.0 '@ethersproject/basex': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/pbkdf2': 5.7.0 - '@ethersproject/properties': 5.7.0 + '@ethersproject/properties': 5.8.0 '@ethersproject/sha2': 5.7.0 - '@ethersproject/signing-key': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/signing-key': 5.8.0 + '@ethersproject/strings': 5.8.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 '@ethersproject/json-wallets@5.7.0': dependencies: - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bytes': 5.7.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 '@ethersproject/hdnode': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/pbkdf2': 5.7.0 - '@ethersproject/properties': 5.7.0 + '@ethersproject/properties': 5.8.0 '@ethersproject/random': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/strings': 5.8.0 '@ethersproject/transactions': 5.7.0 aes-js: 3.0.0 scrypt-js: 3.0.1 '@ethersproject/keccak256@5.7.0': dependencies: - '@ethersproject/bytes': 5.7.0 + '@ethersproject/bytes': 5.8.0 js-sha3: 0.8.0 '@ethersproject/keccak256@5.8.0': @@ -19156,7 +20285,7 @@ snapshots: '@ethersproject/networks@5.7.1': dependencies: - '@ethersproject/logger': 5.7.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/networks@5.8.0': dependencies: @@ -19164,12 +20293,12 @@ snapshots: '@ethersproject/pbkdf2@5.7.0': dependencies: - '@ethersproject/bytes': 5.7.0 + '@ethersproject/bytes': 5.8.0 '@ethersproject/sha2': 5.7.0 '@ethersproject/properties@5.7.0': dependencies: - '@ethersproject/logger': 5.7.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/properties@5.8.0': dependencies: @@ -19181,7 +20310,7 @@ snapshots: '@ethersproject/abstract-signer': 5.8.0 '@ethersproject/address': 5.8.0 '@ethersproject/base64': 5.8.0 - '@ethersproject/basex': 5.8.0 + '@ethersproject/basex': 5.7.0 '@ethersproject/bignumber': 5.8.0 '@ethersproject/bytes': 5.8.0 '@ethersproject/constants': 5.8.0 @@ -19189,11 +20318,11 @@ snapshots: '@ethersproject/logger': 5.8.0 '@ethersproject/networks': 5.8.0 '@ethersproject/properties': 5.8.0 - '@ethersproject/random': 5.8.0 + '@ethersproject/random': 5.7.0 '@ethersproject/rlp': 5.8.0 - '@ethersproject/sha2': 5.8.0 + '@ethersproject/sha2': 5.7.0 '@ethersproject/strings': 5.8.0 - '@ethersproject/transactions': 5.7.0 + '@ethersproject/transactions': 5.8.0 '@ethersproject/web': 5.8.0 bech32: 1.1.4 ws: 7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -19203,24 +20332,24 @@ snapshots: '@ethersproject/providers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/base64': 5.7.0 + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/base64': 5.8.0 '@ethersproject/basex': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/networks': 5.7.1 - '@ethersproject/properties': 5.7.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/networks': 5.8.0 + '@ethersproject/properties': 5.8.0 '@ethersproject/random': 5.7.0 - '@ethersproject/rlp': 5.7.0 + '@ethersproject/rlp': 5.8.0 '@ethersproject/sha2': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/strings': 5.8.0 '@ethersproject/transactions': 5.7.0 - '@ethersproject/web': 5.7.1 + '@ethersproject/web': 5.8.0 bech32: 1.1.4 ws: 7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: @@ -19228,32 +20357,21 @@ snapshots: - utf-8-validate '@ethersproject/random@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - - '@ethersproject/random@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 '@ethersproject/rlp@5.7.0': dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/rlp@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 - '@ethersproject/sha2@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - hash.js: 1.1.7 - - '@ethersproject/sha2@5.8.0': + '@ethersproject/sha2@5.7.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 @@ -19261,9 +20379,9 @@ snapshots: '@ethersproject/signing-key@5.7.0': dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 bn.js: 5.2.2 elliptic: 6.5.4 hash.js: 1.1.7 @@ -19279,18 +20397,18 @@ snapshots: '@ethersproject/solidity@5.7.0': dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/sha2': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/strings': 5.8.0 '@ethersproject/strings@5.7.0': dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/strings@5.8.0': dependencies: @@ -19324,35 +20442,35 @@ snapshots: '@ethersproject/units@5.7.0': dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 '@ethersproject/wallet@5.7.0': dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hash': 5.7.0 + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/hash': 5.8.0 '@ethersproject/hdnode': 5.7.0 '@ethersproject/json-wallets': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 '@ethersproject/random': 5.7.0 - '@ethersproject/signing-key': 5.7.0 + '@ethersproject/signing-key': 5.8.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 '@ethersproject/web@5.7.1': dependencies: - '@ethersproject/base64': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/base64': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 '@ethersproject/web@5.8.0': dependencies: @@ -19364,26 +20482,26 @@ snapshots: '@ethersproject/wordlists@5.7.0': dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 - '@gemini-wallet/core@0.2.0(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))': + '@gemini-wallet/core@0.2.0(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))': dependencies: '@metamask/rpc-errors': 7.0.2 eventemitter3: 5.0.1 - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) transitivePeerDependencies: - supports-color - '@gerrit0/mini-shiki@3.13.1': + '@gerrit0/mini-shiki@3.12.2': dependencies: - '@shikijs/engine-oniguruma': 3.13.0 - '@shikijs/langs': 3.13.0 - '@shikijs/themes': 3.13.0 - '@shikijs/types': 3.13.0 + '@shikijs/engine-oniguruma': 3.12.2 + '@shikijs/langs': 3.12.2 + '@shikijs/themes': 3.12.2 + '@shikijs/types': 3.12.2 '@shikijs/vscode-textmate': 10.0.2 '@google-cloud/monitoring@5.3.1': @@ -19392,11 +20510,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@grpc/grpc-js@1.14.0': + '@grpc/grpc-js@1.13.4': dependencies: - '@grpc/proto-loader': 0.8.0 + '@grpc/proto-loader': 0.7.15 '@js-sdsl/ordered-map': 4.4.2 + '@grpc/proto-loader@0.7.15': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.3.2 + protobufjs: 7.5.4 + yargs: 17.7.2 + '@grpc/proto-loader@0.8.0': dependencies: lodash.camelcase: 4.3.0 @@ -19421,30 +20546,28 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@inquirer/ansi@1.0.1': {} - - '@inquirer/checkbox@4.3.0(@types/node@20.0.0)': + '@inquirer/checkbox@4.2.2(@types/node@20.0.0)': dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@20.0.0) + ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.3 optionalDependencies: '@types/node': 20.0.0 - '@inquirer/confirm@5.1.19(@types/node@20.0.0)': + '@inquirer/confirm@5.1.16(@types/node@20.0.0)': dependencies: - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/type': 3.0.8(@types/node@20.0.0) optionalDependencies: '@types/node': 20.0.0 - '@inquirer/core@10.3.0(@types/node@20.0.0)': + '@inquirer/core@10.2.0(@types/node@20.0.0)': dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@20.0.0) + ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 @@ -19453,104 +20576,104 @@ snapshots: optionalDependencies: '@types/node': 20.0.0 - '@inquirer/editor@4.2.21(@types/node@20.0.0)': + '@inquirer/editor@4.2.18(@types/node@20.0.0)': dependencies: - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/external-editor': 1.0.2(@types/node@20.0.0) - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/external-editor': 1.0.1(@types/node@20.0.0) + '@inquirer/type': 3.0.8(@types/node@20.0.0) optionalDependencies: '@types/node': 20.0.0 - '@inquirer/expand@4.0.21(@types/node@20.0.0)': + '@inquirer/expand@4.0.18(@types/node@20.0.0)': dependencies: - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/type': 3.0.8(@types/node@20.0.0) yoctocolors-cjs: 2.1.3 optionalDependencies: '@types/node': 20.0.0 - '@inquirer/external-editor@1.0.2(@types/node@20.0.0)': + '@inquirer/external-editor@1.0.1(@types/node@20.0.0)': dependencies: chardet: 2.1.0 - iconv-lite: 0.7.0 + iconv-lite: 0.6.3 optionalDependencies: '@types/node': 20.0.0 - '@inquirer/figures@1.0.14': {} + '@inquirer/figures@1.0.13': {} - '@inquirer/input@4.2.5(@types/node@20.0.0)': + '@inquirer/input@4.2.2(@types/node@20.0.0)': dependencies: - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/type': 3.0.8(@types/node@20.0.0) optionalDependencies: '@types/node': 20.0.0 - '@inquirer/number@3.0.21(@types/node@20.0.0)': + '@inquirer/number@3.0.18(@types/node@20.0.0)': dependencies: - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/type': 3.0.8(@types/node@20.0.0) optionalDependencies: '@types/node': 20.0.0 - '@inquirer/password@4.0.21(@types/node@20.0.0)': + '@inquirer/password@4.0.18(@types/node@20.0.0)': dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/type': 3.0.8(@types/node@20.0.0) + ansi-escapes: 4.3.2 optionalDependencies: '@types/node': 20.0.0 - '@inquirer/prompts@7.9.0(@types/node@20.0.0)': - dependencies: - '@inquirer/checkbox': 4.3.0(@types/node@20.0.0) - '@inquirer/confirm': 5.1.19(@types/node@20.0.0) - '@inquirer/editor': 4.2.21(@types/node@20.0.0) - '@inquirer/expand': 4.0.21(@types/node@20.0.0) - '@inquirer/input': 4.2.5(@types/node@20.0.0) - '@inquirer/number': 3.0.21(@types/node@20.0.0) - '@inquirer/password': 4.0.21(@types/node@20.0.0) - '@inquirer/rawlist': 4.1.9(@types/node@20.0.0) - '@inquirer/search': 3.2.0(@types/node@20.0.0) - '@inquirer/select': 4.4.0(@types/node@20.0.0) + '@inquirer/prompts@7.8.4(@types/node@20.0.0)': + dependencies: + '@inquirer/checkbox': 4.2.2(@types/node@20.0.0) + '@inquirer/confirm': 5.1.16(@types/node@20.0.0) + '@inquirer/editor': 4.2.18(@types/node@20.0.0) + '@inquirer/expand': 4.0.18(@types/node@20.0.0) + '@inquirer/input': 4.2.2(@types/node@20.0.0) + '@inquirer/number': 3.0.18(@types/node@20.0.0) + '@inquirer/password': 4.0.18(@types/node@20.0.0) + '@inquirer/rawlist': 4.1.6(@types/node@20.0.0) + '@inquirer/search': 3.1.1(@types/node@20.0.0) + '@inquirer/select': 4.3.2(@types/node@20.0.0) optionalDependencies: '@types/node': 20.0.0 - '@inquirer/rawlist@4.1.9(@types/node@20.0.0)': + '@inquirer/rawlist@4.1.6(@types/node@20.0.0)': dependencies: - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/type': 3.0.8(@types/node@20.0.0) yoctocolors-cjs: 2.1.3 optionalDependencies: '@types/node': 20.0.0 - '@inquirer/search@3.2.0(@types/node@20.0.0)': + '@inquirer/search@3.1.1(@types/node@20.0.0)': dependencies: - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@20.0.0) yoctocolors-cjs: 2.1.3 optionalDependencies: '@types/node': 20.0.0 - '@inquirer/select@4.4.0(@types/node@20.0.0)': + '@inquirer/select@4.3.2(@types/node@20.0.0)': dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@20.0.0) - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@20.0.0) + '@inquirer/core': 10.2.0(@types/node@20.0.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@20.0.0) + ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.3 optionalDependencies: '@types/node': 20.0.0 - '@inquirer/type@3.0.9(@types/node@20.0.0)': + '@inquirer/type@3.0.8(@types/node@20.0.0)': optionalDependencies: '@types/node': 20.0.0 - '@ioredis/commands@1.4.0': {} + '@ioredis/commands@1.3.1': {} '@ipld/dag-pb@4.1.5': dependencies: - multiformats: 13.4.1 + multiformats: 13.4.0 '@isaacs/balanced-match@4.0.1': {} @@ -19567,6 +20690,38 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.7(@types/node@20.0.0)(typescript@5.4.5)': + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@tsconfig/node18': 18.2.4 + '@tsconfig/node20': 20.1.6 + '@types/node': 20.0.0 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + + '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.7(@types/node@20.0.0)(typescript@5.8.3)': + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@tsconfig/node18': 18.2.4 + '@tsconfig/node20': 20.1.6 + '@types/node': 20.0.0 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.8.3 + v8-compile-cache-lib: 3.0.1 + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 @@ -19641,7 +20796,7 @@ snapshots: '@types/node': 20.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 4.3.1 + ci-info: 4.3.0 exit-x: 0.2.2 graceful-fs: 4.2.11 jest-changed-files: 30.2.0 @@ -19757,7 +20912,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 '@types/node': 20.0.0 chalk: 4.1.2 - collect-v8-coverage: 1.0.3 + collect-v8-coverage: 1.0.2 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -19786,7 +20941,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 '@types/node': 20.0.0 chalk: 4.1.2 - collect-v8-coverage: 1.0.3 + collect-v8-coverage: 1.0.2 exit-x: 0.2.2 glob: 10.4.5 graceful-fs: 4.2.11 @@ -19836,14 +20991,14 @@ snapshots: '@jest/console': 29.7.0 '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.3 + collect-v8-coverage: 1.0.2 '@jest/test-result@30.2.0': dependencies: '@jest/console': 30.2.0 '@jest/types': 30.2.0 '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.3 + collect-v8-coverage: 1.0.2 '@jest/test-sequencer@29.7.0': dependencies: @@ -19952,11 +21107,13 @@ snapshots: dependencies: jsep: 1.4.0 + '@jspm/core@2.1.0': {} + '@lit-labs/ssr-dom-shim@1.4.0': {} '@lit-protocol/accs-schemas@0.0.24': dependencies: - ajv: 8.17.1 + ajv: 8.12.0 '@lit-protocol/constants@7.1.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: @@ -19978,6 +21135,12 @@ snapshots: dependencies: typescript: 5.8.3 + '@lit-protocol/esbuild-plugin-polyfill-node@0.3.0(esbuild@0.19.2)': + dependencies: + '@jspm/core': 2.1.0 + esbuild: 0.19.2 + import-meta-resolve: 3.1.1 + '@lit-protocol/lit-status-sdk@0.1.8(typescript@5.8.3)': dependencies: '@google-cloud/monitoring': 5.3.1 @@ -20134,14 +21297,14 @@ snapshots: dependencies: openapi-fetch: 0.13.8 - '@metamask/sdk-communication-layer@0.33.1(cross-fetch@4.1.0)(eciesjs@0.4.16)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metamask/sdk-communication-layer@0.33.1(cross-fetch@4.1.0(encoding@0.1.13))(eciesjs@0.4.15)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@metamask/sdk-analytics': 0.0.5 bufferutil: 4.0.9 - cross-fetch: 4.1.0 + cross-fetch: 4.1.0(encoding@0.1.13) date-fns: 2.30.0 debug: 4.3.4 - eciesjs: 0.4.16 + eciesjs: 0.4.15 eventemitter2: 6.4.9 readable-stream: 3.6.2 socket.io-client: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -20154,19 +21317,19 @@ snapshots: dependencies: '@paulmillr/qr': 0.2.1 - '@metamask/sdk@0.33.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@metamask/sdk@0.33.1(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.28.4 '@metamask/onboarding': 1.0.1 '@metamask/providers': 16.1.0 '@metamask/sdk-analytics': 0.0.5 - '@metamask/sdk-communication-layer': 0.33.1(cross-fetch@4.1.0)(eciesjs@0.4.16)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metamask/sdk-communication-layer': 0.33.1(cross-fetch@4.1.0(encoding@0.1.13))(eciesjs@0.4.15)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metamask/sdk-install-modal-web': 0.32.1 '@paulmillr/qr': 0.2.1 bowser: 2.12.1 - cross-fetch: 4.1.0 + cross-fetch: 4.1.0(encoding@0.1.13) debug: 4.3.4 - eciesjs: 0.4.16 + eciesjs: 0.4.15 eth-rpc-errors: 4.0.3 eventemitter2: 6.4.9 obj-multiplex: 1.0.0 @@ -20192,10 +21355,10 @@ snapshots: '@scure/base': 1.2.6 '@types/debug': 4.1.12 '@types/lodash': 4.17.20 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) lodash: 4.17.21 pony-cause: 2.1.11 - semver: 7.7.3 + semver: 7.7.2 uuid: 9.0.1 transitivePeerDependencies: - supports-color @@ -20204,8 +21367,8 @@ snapshots: dependencies: '@ethereumjs/tx': 4.2.0 '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@8.1.1) - semver: 7.7.3 + debug: 4.4.1(supports-color@8.1.1) + semver: 7.7.2 superstruct: 1.0.4 transitivePeerDependencies: - supports-color @@ -20217,9 +21380,9 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) pony-cause: 2.1.11 - semver: 7.7.3 + semver: 7.7.2 uuid: 9.0.1 transitivePeerDependencies: - supports-color @@ -20231,9 +21394,9 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) pony-cause: 2.1.11 - semver: 7.7.3 + semver: 7.7.2 uuid: 9.0.1 transitivePeerDependencies: - supports-color @@ -20260,20 +21423,20 @@ snapshots: '@multiformats/murmur3@2.1.8': dependencies: - multiformats: 13.4.1 + multiformats: 13.4.0 murmurhash3js-revisited: 3.0.0 '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.6.0 - '@emnapi/runtime': 1.6.0 + '@emnapi/core': 1.5.0 + '@emnapi/runtime': 1.5.0 '@tybys/wasm-util': 0.10.1 optional: true '@napi-rs/wasm-runtime@0.2.4': dependencies: - '@emnapi/core': 1.6.0 - '@emnapi/runtime': 1.6.0 + '@emnapi/core': 1.5.0 + '@emnapi/runtime': 1.5.0 '@tybys/wasm-util': 0.9.0 '@ngneat/falso@7.4.0': @@ -20321,6 +21484,8 @@ snapshots: '@noble/hashes@1.7.1': {} + '@noble/hashes@1.7.2': {} + '@noble/hashes@1.8.0': {} '@noble/secp256k1@1.7.1': {} @@ -20339,6 +21504,70 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} + '@npmcli/agent@2.2.2': + dependencies: + agent-base: 7.1.4 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + lru-cache: 10.4.3 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + '@npmcli/fs@3.1.1': + dependencies: + semver: 7.7.2 + + '@npmcli/git@5.0.8': + dependencies: + '@npmcli/promise-spawn': 7.0.2 + ini: 4.1.3 + lru-cache: 10.4.3 + npm-pick-manifest: 9.1.0 + proc-log: 4.2.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.7.2 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + + '@npmcli/installed-package-contents@2.1.0': + dependencies: + npm-bundled: 3.0.1 + npm-normalize-package-bin: 3.0.1 + + '@npmcli/node-gyp@3.0.0': {} + + '@npmcli/package-json@5.2.1': + dependencies: + '@npmcli/git': 5.0.8 + glob: 10.4.5 + hosted-git-info: 7.0.2 + json-parse-even-better-errors: 3.0.2 + normalize-package-data: 6.0.2 + proc-log: 4.2.0 + semver: 7.7.2 + transitivePeerDependencies: + - bluebird + + '@npmcli/promise-spawn@7.0.2': + dependencies: + which: 4.0.0 + + '@npmcli/redact@1.1.0': {} + + '@npmcli/run-script@7.0.4': + dependencies: + '@npmcli/node-gyp': 3.0.0 + '@npmcli/package-json': 5.2.1 + '@npmcli/promise-spawn': 7.0.2 + node-gyp: 10.3.1 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + - supports-color + '@nx/devkit@21.2.1(nx@21.2.1)': dependencies: ejs: 3.1.10 @@ -20346,12 +21575,12 @@ snapshots: ignore: 5.3.2 minimatch: 9.0.3 nx: 21.2.1 - semver: 7.7.3 + semver: 7.7.2 tmp: 0.2.5 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/esbuild@21.2.1(@babel/traverse@7.28.5)(esbuild@0.19.12)(nx@21.2.1)': + '@nx/esbuild@21.2.1(@babel/traverse@7.28.5)(esbuild@0.19.2)(nx@21.2.1)': dependencies: '@nx/devkit': 21.2.1(nx@21.2.1) '@nx/js': 21.2.1(@babel/traverse@7.28.5)(nx@21.2.1) @@ -20360,7 +21589,7 @@ snapshots: tsconfig-paths: 4.2.0 tslib: 2.8.1 optionalDependencies: - esbuild: 0.19.12 + esbuild: 0.19.2 transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -20375,13 +21604,13 @@ snapshots: '@nx/devkit': 21.2.1(nx@21.2.1) '@nx/js': 21.2.1(@babel/traverse@7.28.5)(nx@21.2.1) '@typescript-eslint/parser': 6.21.0(eslint@9.34.0)(typescript@5.8.3) - '@typescript-eslint/type-utils': 8.46.2(eslint@9.34.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.46.2(eslint@9.34.0)(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.43.0(eslint@9.34.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.43.0(eslint@9.34.0)(typescript@5.8.3) chalk: 4.1.2 confusing-browser-globals: 1.0.11 globals: 15.15.0 - jsonc-eslint-parser: 2.4.1 - semver: 7.7.3 + jsonc-eslint-parser: 2.4.0 + semver: 7.7.2 tslib: 2.8.1 optionalDependencies: eslint-config-prettier: 9.1.0(eslint@9.34.0) @@ -20401,7 +21630,7 @@ snapshots: '@nx/devkit': 21.2.1(nx@21.2.1) '@nx/js': 21.2.1(@babel/traverse@7.28.5)(nx@21.2.1) eslint: 9.34.0 - semver: 7.7.3 + semver: 7.7.2 tslib: 2.8.1 typescript: 5.8.3 optionalDependencies: @@ -20429,7 +21658,7 @@ snapshots: minimatch: 9.0.3 picocolors: 1.1.1 resolve.exports: 2.0.3 - semver: 7.7.3 + semver: 7.7.2 tslib: 2.8.1 yargs-parser: 21.1.1 transitivePeerDependencies: @@ -20451,7 +21680,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5) '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-runtime': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.5) '@babel/preset-env': 7.28.3(@babel/core@7.28.5) '@babel/preset-typescript': 7.27.1(@babel/core@7.28.5) '@babel/runtime': 7.28.4 @@ -20473,7 +21702,7 @@ snapshots: ora: 5.3.0 picocolors: 1.1.1 picomatch: 4.0.2 - semver: 7.7.3 + semver: 7.7.2 source-map-support: 0.5.19 tinyglobby: 0.2.15 tslib: 2.8.1 @@ -20578,20 +21807,20 @@ snapshots: - '@swc/core' - debug - '@oclif/core@4.7.2': + '@oclif/core@4.5.3': dependencies: ansi-escapes: 4.3.2 ansis: 3.17.0 clean-stack: 3.0.1 cli-spinners: 2.9.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) ejs: 3.1.10 get-package-type: 0.1.0 indent-string: 4.0.0 is-wsl: 2.2.0 lilconfig: 3.1.3 minimatch: 9.0.5 - semver: 7.7.3 + semver: 7.7.2 string-width: 4.2.3 supports-color: 8.1.1 tinyglobby: 0.2.15 @@ -20599,14 +21828,14 @@ snapshots: wordwrap: 1.0.0 wrap-ansi: 7.0.0 - '@oclif/plugin-help@6.2.33': + '@oclif/plugin-help@6.2.32': dependencies: - '@oclif/core': 4.7.2 + '@oclif/core': 4.5.3 - '@oclif/plugin-not-found@3.2.70(@types/node@20.0.0)': + '@oclif/plugin-not-found@3.2.67(@types/node@20.0.0)': dependencies: - '@inquirer/prompts': 7.9.0(@types/node@20.0.0) - '@oclif/core': 4.7.2 + '@inquirer/prompts': 7.8.4(@types/node@20.0.0) + '@oclif/core': 4.5.3 ansis: 3.17.0 fast-levenshtein: 3.0.0 transitivePeerDependencies: @@ -20655,7 +21884,7 @@ snapshots: '@opentelemetry/exporter-metrics-otlp-grpc@0.41.2(@opentelemetry/api@1.9.0)': dependencies: - '@grpc/grpc-js': 1.14.0 + '@grpc/grpc-js': 1.13.4 '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-metrics-otlp-http': 0.41.2(@opentelemetry/api@1.9.0) @@ -20686,7 +21915,7 @@ snapshots: '@opentelemetry/exporter-trace-otlp-grpc@0.43.0(@opentelemetry/api@1.9.0)': dependencies: - '@grpc/grpc-js': 1.14.0 + '@grpc/grpc-js': 1.13.4 '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.17.0(@opentelemetry/api@1.9.0) '@opentelemetry/otlp-grpc-exporter-base': 0.43.0(@opentelemetry/api@1.9.0) @@ -20733,7 +21962,7 @@ snapshots: '@opentelemetry/otlp-grpc-exporter-base@0.41.2(@opentelemetry/api@1.9.0)': dependencies: - '@grpc/grpc-js': 1.14.0 + '@grpc/grpc-js': 1.13.4 '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.9.0) '@opentelemetry/otlp-exporter-base': 0.41.2(@opentelemetry/api@1.9.0) @@ -20741,7 +21970,7 @@ snapshots: '@opentelemetry/otlp-grpc-exporter-base@0.43.0(@opentelemetry/api@1.9.0)': dependencies: - '@grpc/grpc-js': 1.14.0 + '@grpc/grpc-js': 1.13.4 '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.17.0(@opentelemetry/api@1.9.0) '@opentelemetry/otlp-exporter-base': 0.43.0(@opentelemetry/api@1.9.0) @@ -20881,20 +22110,18 @@ snapshots: esquery: 1.6.0 typescript: 5.8.3 - '@pinojs/redact@0.4.0': {} - '@pkgjs/parseargs@0.11.0': optional: true '@pkgr/core@0.2.9': {} - '@playwright/browser-chromium@1.55.0': + '@playwright/browser-chromium@1.52.0': dependencies: - playwright-core: 1.55.0 + playwright-core: 1.52.0 - '@playwright/test@1.55.0': + '@playwright/test@1.52.0': dependencies: - playwright: 1.55.0 + playwright: 1.52.0 '@protobufjs/aspromise@1.1.2': {} @@ -20919,37 +22146,37 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@redis/bloom@1.2.0(@redis/client@1.6.1)': + '@redis/bloom@1.2.0(@redis/client@1.5.14)': dependencies: - '@redis/client': 1.6.1 + '@redis/client': 1.5.14 - '@redis/client@1.6.1': + '@redis/client@1.5.14': dependencies: cluster-key-slot: 1.1.2 generic-pool: 3.9.0 yallist: 4.0.0 - '@redis/graph@1.1.1(@redis/client@1.6.1)': + '@redis/graph@1.1.1(@redis/client@1.5.14)': dependencies: - '@redis/client': 1.6.1 + '@redis/client': 1.5.14 - '@redis/json@1.0.7(@redis/client@1.6.1)': + '@redis/json@1.0.6(@redis/client@1.5.14)': dependencies: - '@redis/client': 1.6.1 + '@redis/client': 1.5.14 - '@redis/search@1.2.0(@redis/client@1.6.1)': + '@redis/search@1.1.6(@redis/client@1.5.14)': dependencies: - '@redis/client': 1.6.1 + '@redis/client': 1.5.14 - '@redis/time-series@1.1.0(@redis/client@1.6.1)': + '@redis/time-series@1.0.5(@redis/client@1.5.14)': dependencies: - '@redis/client': 1.6.1 + '@redis/client': 1.5.14 '@reown/appkit-common@1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4)': dependencies: big.js: 6.2.2 dayjs: 1.11.13 - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4) transitivePeerDependencies: - bufferutil - typescript @@ -20960,20 +22187,20 @@ snapshots: dependencies: big.js: 6.2.2 dayjs: 1.11.13 - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) transitivePeerDependencies: - bufferutil - typescript - utf-8-validate - zod - '@reown/appkit-controllers@1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@reown/appkit-controllers@1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@walletconnect/universal-provider': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - valtio: 1.13.2(react@18.3.1) - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/universal-provider': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + valtio: 1.13.2(@types/react@19.1.13)(react@19.1.1) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -21002,14 +22229,14 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-pay@1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@reown/appkit-pay@1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-controllers': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-ui': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-utils': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(react@18.3.1))(zod@3.24.3) + '@reown/appkit-controllers': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@reown/appkit-ui': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@reown/appkit-utils': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.13)(react@19.1.1))(zod@3.24.3) lit: 3.3.0 - valtio: 1.13.2(react@18.3.1) + valtio: 1.13.2(@types/react@19.1.13)(react@19.1.1) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -21042,12 +22269,12 @@ snapshots: dependencies: buffer: 6.0.3 - '@reown/appkit-scaffold-ui@1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(react@18.3.1))(zod@3.24.3)': + '@reown/appkit-scaffold-ui@1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.13)(react@19.1.1))(zod@3.24.3)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-controllers': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-ui': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-utils': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(react@18.3.1))(zod@3.24.3) + '@reown/appkit-controllers': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@reown/appkit-ui': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@reown/appkit-utils': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.13)(react@19.1.1))(zod@3.24.3) '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) lit: 3.3.0 transitivePeerDependencies: @@ -21079,10 +22306,10 @@ snapshots: - valtio - zod - '@reown/appkit-ui@1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@reown/appkit-ui@1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-controllers': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@reown/appkit-controllers': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) lit: 3.3.0 qrcode: 1.5.3 @@ -21114,16 +22341,16 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-utils@1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(react@18.3.1))(zod@3.24.3)': + '@reown/appkit-utils@1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.13)(react@19.1.1))(zod@3.24.3)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-controllers': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@reown/appkit-controllers': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) '@reown/appkit-polyfills': 1.7.8 '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) '@walletconnect/logger': 2.1.2 - '@walletconnect/universal-provider': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - valtio: 1.13.2(react@18.3.1) - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/universal-provider': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + valtio: 1.13.2(@types/react@19.1.13)(react@19.1.1) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -21163,21 +22390,21 @@ snapshots: - typescript - utf-8-validate - '@reown/appkit@1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@reown/appkit@1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-controllers': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-pay': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@reown/appkit-controllers': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@reown/appkit-pay': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) '@reown/appkit-polyfills': 1.7.8 - '@reown/appkit-scaffold-ui': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(react@18.3.1))(zod@3.24.3) - '@reown/appkit-ui': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@reown/appkit-utils': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(react@18.3.1))(zod@3.24.3) + '@reown/appkit-scaffold-ui': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.13)(react@19.1.1))(zod@3.24.3) + '@reown/appkit-ui': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@reown/appkit-utils': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.1.13)(react@19.1.1))(zod@3.24.3) '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) - '@walletconnect/universal-provider': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/types': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) + '@walletconnect/universal-provider': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) bs58: 6.0.0 - valtio: 1.13.2(react@18.3.1) - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + valtio: 1.13.2(@types/react@19.1.13)(react@19.1.1) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -21206,8 +22433,6 @@ snapshots: - utf-8-validate - zod - '@rtsao/scc@1.1.0': {} - '@safe-global/safe-apps-provider@0.18.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) @@ -21221,7 +22446,7 @@ snapshots: '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.23.1 - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) transitivePeerDependencies: - bufferutil - typescript @@ -21249,7 +22474,7 @@ snapshots: '@scure/bip32@1.6.2': dependencies: '@noble/curves': 1.8.1 - '@noble/hashes': 1.7.1 + '@noble/hashes': 1.7.2 '@scure/base': 1.2.6 '@scure/bip32@1.7.0': @@ -21270,7 +22495,7 @@ snapshots: '@scure/bip39@1.5.4': dependencies: - '@noble/hashes': 1.7.1 + '@noble/hashes': 1.7.2 '@scure/base': 1.2.6 '@scure/bip39@1.6.0': @@ -21278,20 +22503,20 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 - '@shikijs/engine-oniguruma@3.13.0': + '@shikijs/engine-oniguruma@3.12.2': dependencies: - '@shikijs/types': 3.13.0 + '@shikijs/types': 3.12.2 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.13.0': + '@shikijs/langs@3.12.2': dependencies: - '@shikijs/types': 3.13.0 + '@shikijs/types': 3.12.2 - '@shikijs/themes@3.13.0': + '@shikijs/themes@3.12.2': dependencies: - '@shikijs/types': 3.13.0 + '@shikijs/types': 3.12.2 - '@shikijs/types@3.13.0': + '@shikijs/types@3.12.2': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -21306,11 +22531,43 @@ snapshots: '@sideway/pinpoint@2.0.0': {} - '@simplewebauthn/browser@7.4.0': + '@sigstore/bundle@2.3.2': dependencies: - '@simplewebauthn/typescript-types': 7.4.0 + '@sigstore/protobuf-specs': 0.3.3 - '@simplewebauthn/server@6.2.1': + '@sigstore/core@1.1.0': {} + + '@sigstore/protobuf-specs@0.3.3': {} + + '@sigstore/sign@2.3.2': + dependencies: + '@sigstore/bundle': 2.3.2 + '@sigstore/core': 1.1.0 + '@sigstore/protobuf-specs': 0.3.3 + make-fetch-happen: 13.0.1 + proc-log: 4.2.0 + promise-retry: 2.0.1 + transitivePeerDependencies: + - supports-color + + '@sigstore/tuf@2.3.4': + dependencies: + '@sigstore/protobuf-specs': 0.3.3 + tuf-js: 2.2.1 + transitivePeerDependencies: + - supports-color + + '@sigstore/verify@1.2.1': + dependencies: + '@sigstore/bundle': 2.3.2 + '@sigstore/core': 1.1.0 + '@sigstore/protobuf-specs': 0.3.3 + + '@simplewebauthn/browser@7.2.0': + dependencies: + '@simplewebauthn/typescript-types': 7.0.0 + + '@simplewebauthn/server@6.2.1(encoding@0.1.13)': dependencies: '@noble/ed25519': 1.7.5 '@peculiar/asn1-android': 2.5.0 @@ -21319,17 +22576,17 @@ snapshots: '@simplewebauthn/typescript-types': 6.2.1 base64url: 3.0.1 cbor: 5.2.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) jsrsasign: 10.9.0 jwk-to-pem: 2.0.7 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding - supports-color '@simplewebauthn/typescript-types@6.2.1': {} - '@simplewebauthn/typescript-types@7.4.0': {} + '@simplewebauthn/typescript-types@7.0.0': {} '@sinclair/typebox@0.27.8': {} @@ -21349,383 +22606,710 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@smithy/abort-controller@4.2.3': + '@smithy/abort-controller@4.1.1': + dependencies: + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@smithy/config-resolver@4.2.1': dependencies: - '@smithy/types': 4.8.0 + '@smithy/node-config-provider': 4.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-config-provider': 4.1.0 + '@smithy/util-middleware': 4.1.1 + tslib: 2.8.1 + + '@smithy/core@3.11.0': + dependencies: + '@smithy/middleware-serde': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-stream': 4.3.1 + '@smithy/util-utf8': 4.1.0 + '@types/uuid': 9.0.8 tslib: 2.8.1 + uuid: 9.0.1 - '@smithy/chunked-blob-reader-native@4.2.1': + '@smithy/credential-provider-imds@4.1.1': dependencies: - '@smithy/util-base64': 4.3.0 + '@smithy/node-config-provider': 4.2.1 + '@smithy/property-provider': 4.1.1 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 tslib: 2.8.1 - '@smithy/chunked-blob-reader@5.2.0': + '@smithy/fetch-http-handler@5.2.1': dependencies: + '@smithy/protocol-http': 5.2.1 + '@smithy/querystring-builder': 4.1.1 + '@smithy/types': 4.5.0 + '@smithy/util-base64': 4.1.0 tslib: 2.8.1 - '@smithy/config-resolver@4.4.0': + '@smithy/hash-node@4.1.1': dependencies: - '@smithy/node-config-provider': 4.3.3 - '@smithy/types': 4.8.0 - '@smithy/util-config-provider': 4.2.0 - '@smithy/util-endpoints': 3.2.3 - '@smithy/util-middleware': 4.2.3 + '@smithy/types': 4.5.0 + '@smithy/util-buffer-from': 4.1.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 - '@smithy/core@3.17.1': - dependencies: - '@smithy/middleware-serde': 4.2.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-stream': 4.5.4 - '@smithy/util-utf8': 4.2.0 - '@smithy/uuid': 1.1.0 + '@smithy/invalid-dependency@4.1.1': + dependencies: + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/credential-provider-imds@4.2.3': + '@smithy/is-array-buffer@2.2.0': dependencies: - '@smithy/node-config-provider': 4.3.3 - '@smithy/property-provider': 4.2.3 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 tslib: 2.8.1 - '@smithy/eventstream-codec@4.2.3': + '@smithy/is-array-buffer@4.1.0': dependencies: - '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 4.8.0 - '@smithy/util-hex-encoding': 4.2.0 tslib: 2.8.1 - '@smithy/eventstream-serde-browser@4.2.3': + '@smithy/middleware-compression@4.2.1': dependencies: - '@smithy/eventstream-serde-universal': 4.2.3 - '@smithy/types': 4.8.0 + '@smithy/core': 3.11.0 + '@smithy/is-array-buffer': 4.1.0 + '@smithy/node-config-provider': 4.2.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-config-provider': 4.1.0 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-utf8': 4.1.0 + fflate: 0.8.1 tslib: 2.8.1 - '@smithy/eventstream-serde-config-resolver@4.3.3': + '@smithy/middleware-content-length@4.1.1': dependencies: - '@smithy/types': 4.8.0 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/eventstream-serde-node@4.2.3': + '@smithy/middleware-endpoint@4.2.1': dependencies: - '@smithy/eventstream-serde-universal': 4.2.3 - '@smithy/types': 4.8.0 + '@smithy/core': 3.11.0 + '@smithy/middleware-serde': 4.1.1 + '@smithy/node-config-provider': 4.2.1 + '@smithy/shared-ini-file-loader': 4.1.1 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-middleware': 4.1.1 tslib: 2.8.1 - '@smithy/eventstream-serde-universal@4.2.3': + '@smithy/middleware-retry@4.2.1': dependencies: - '@smithy/eventstream-codec': 4.2.3 - '@smithy/types': 4.8.0 + '@smithy/node-config-provider': 4.2.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/service-error-classification': 4.1.1 + '@smithy/smithy-client': 4.6.1 + '@smithy/types': 4.5.0 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-retry': 4.1.1 + '@types/uuid': 9.0.8 tslib: 2.8.1 + uuid: 9.0.1 - '@smithy/fetch-http-handler@5.3.4': + '@smithy/middleware-serde@4.1.1': dependencies: - '@smithy/protocol-http': 5.3.3 - '@smithy/querystring-builder': 4.2.3 - '@smithy/types': 4.8.0 - '@smithy/util-base64': 4.3.0 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/hash-blob-browser@4.2.4': + '@smithy/middleware-stack@4.1.1': dependencies: - '@smithy/chunked-blob-reader': 5.2.0 - '@smithy/chunked-blob-reader-native': 4.2.1 - '@smithy/types': 4.8.0 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/hash-node@4.2.3': + '@smithy/node-config-provider@4.2.1': dependencies: - '@smithy/types': 4.8.0 - '@smithy/util-buffer-from': 4.2.0 - '@smithy/util-utf8': 4.2.0 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/hash-stream-node@4.2.3': + '@smithy/node-http-handler@4.2.1': dependencies: - '@smithy/types': 4.8.0 - '@smithy/util-utf8': 4.2.0 + '@smithy/abort-controller': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/querystring-builder': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/invalid-dependency@4.2.3': + '@smithy/property-provider@4.1.1': dependencies: - '@smithy/types': 4.8.0 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/is-array-buffer@2.2.0': + '@smithy/protocol-http@5.2.1': dependencies: + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/is-array-buffer@4.2.0': + '@smithy/querystring-builder@4.1.1': dependencies: + '@smithy/types': 4.5.0 + '@smithy/util-uri-escape': 4.1.0 tslib: 2.8.1 - '@smithy/md5-js@4.2.3': + '@smithy/querystring-parser@4.1.1': dependencies: - '@smithy/types': 4.8.0 - '@smithy/util-utf8': 4.2.0 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/middleware-compression@4.3.5': + '@smithy/service-error-classification@4.1.1': dependencies: - '@smithy/core': 3.17.1 - '@smithy/is-array-buffer': 4.2.0 - '@smithy/node-config-provider': 4.3.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 - '@smithy/util-config-provider': 4.2.0 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-utf8': 4.2.0 - fflate: 0.8.1 + '@smithy/types': 4.5.0 + + '@smithy/shared-ini-file-loader@4.1.1': + dependencies: + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@smithy/signature-v4@5.2.1': + dependencies: + '@smithy/is-array-buffer': 4.1.0 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-hex-encoding': 4.1.0 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-uri-escape': 4.1.0 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + + '@smithy/smithy-client@4.6.1': + dependencies: + '@smithy/core': 3.11.0 + '@smithy/middleware-endpoint': 4.2.1 + '@smithy/middleware-stack': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-stream': 4.3.1 + tslib: 2.8.1 + + '@smithy/types@4.5.0': + dependencies: + tslib: 2.8.1 + + '@smithy/url-parser@4.1.1': + dependencies: + '@smithy/querystring-parser': 4.1.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@smithy/util-base64@4.1.0': + dependencies: + '@smithy/util-buffer-from': 4.1.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 - '@smithy/middleware-content-length@4.2.3': + '@smithy/util-body-length-browser@4.1.0': dependencies: - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.3.5': + '@smithy/util-body-length-node@4.1.0': dependencies: - '@smithy/core': 3.17.1 - '@smithy/middleware-serde': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/shared-ini-file-loader': 4.3.3 - '@smithy/types': 4.8.0 - '@smithy/url-parser': 4.2.3 - '@smithy/util-middleware': 4.2.3 tslib: 2.8.1 - '@smithy/middleware-retry@4.4.5': + '@smithy/util-buffer-from@2.2.0': + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-buffer-from@4.1.0': + dependencies: + '@smithy/is-array-buffer': 4.1.0 + tslib: 2.8.1 + + '@smithy/util-config-provider@4.1.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-defaults-mode-browser@4.1.1': + dependencies: + '@smithy/property-provider': 4.1.1 + '@smithy/smithy-client': 4.6.1 + '@smithy/types': 4.5.0 + bowser: 2.12.1 + tslib: 2.8.1 + + '@smithy/util-defaults-mode-node@4.1.1': + dependencies: + '@smithy/config-resolver': 4.2.1 + '@smithy/credential-provider-imds': 4.1.1 + '@smithy/node-config-provider': 4.2.1 + '@smithy/property-provider': 4.1.1 + '@smithy/smithy-client': 4.6.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@smithy/util-endpoints@3.1.1': + dependencies: + '@smithy/node-config-provider': 4.2.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@smithy/util-hex-encoding@4.1.0': dependencies: - '@smithy/node-config-provider': 4.3.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/service-error-classification': 4.2.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-retry': 4.2.3 - '@smithy/uuid': 1.1.0 tslib: 2.8.1 - '@smithy/middleware-serde@4.2.3': + '@smithy/util-middleware@4.1.1': dependencies: - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/middleware-stack@4.2.3': + '@smithy/util-retry@4.1.1': dependencies: - '@smithy/types': 4.8.0 + '@smithy/service-error-classification': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/node-config-provider@4.3.3': + '@smithy/util-stream@4.3.1': dependencies: - '@smithy/property-provider': 4.2.3 - '@smithy/shared-ini-file-loader': 4.3.3 - '@smithy/types': 4.8.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/node-http-handler': 4.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-base64': 4.1.0 + '@smithy/util-buffer-from': 4.1.0 + '@smithy/util-hex-encoding': 4.1.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 - '@smithy/node-http-handler@4.4.3': + '@smithy/util-uri-escape@4.1.0': dependencies: - '@smithy/abort-controller': 4.2.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/querystring-builder': 4.2.3 - '@smithy/types': 4.8.0 tslib: 2.8.1 - '@smithy/property-provider@4.2.3': + '@smithy/util-utf8@2.3.0': dependencies: - '@smithy/types': 4.8.0 + '@smithy/util-buffer-from': 2.2.0 tslib: 2.8.1 - '@smithy/protocol-http@5.3.3': + '@smithy/util-utf8@4.1.0': dependencies: - '@smithy/types': 4.8.0 + '@smithy/util-buffer-from': 4.1.0 tslib: 2.8.1 - '@smithy/querystring-builder@4.2.3': + '@smithy/util-waiter@4.1.1': dependencies: - '@smithy/types': 4.8.0 - '@smithy/util-uri-escape': 4.2.0 + '@smithy/abort-controller': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 - '@smithy/querystring-parser@4.2.3': + '@so-ric/colorspace@1.1.6': + dependencies: + color: 5.0.2 + text-hex: 1.0.0 + + '@socket.io/component-emitter@3.1.2': {} + + '@solana/accounts@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-strings': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec': 4.0.0(typescript@5.8.3) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/addresses@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/assertions': 4.0.0(typescript@5.8.3) + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-strings': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/nominal-types': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/assertions@4.0.0(typescript@5.8.3)': + dependencies: + '@solana/errors': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/buffer-layout@4.0.1': + dependencies: + buffer: 6.0.3 + + '@solana/codecs-core@2.3.0(typescript@5.8.3)': + dependencies: + '@solana/errors': 2.3.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/codecs-core@4.0.0(typescript@5.8.3)': + dependencies: + '@solana/errors': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/codecs-data-structures@4.0.0(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 4.0.0(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/codecs-numbers@2.3.0(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 2.3.0(typescript@5.8.3) + '@solana/errors': 2.3.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/codecs-numbers@4.0.0(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/codecs-strings@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 4.0.0(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.8.3 + + '@solana/codecs@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-data-structures': 4.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 4.0.0(typescript@5.8.3) + '@solana/codecs-strings': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/options': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/errors@2.3.0(typescript@5.8.3)': dependencies: - '@smithy/types': 4.8.0 - tslib: 2.8.1 + chalk: 5.6.2 + commander: 14.0.2 + typescript: 5.8.3 - '@smithy/service-error-classification@4.2.3': + '@solana/errors@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/types': 4.8.0 + chalk: 5.6.2 + commander: 14.0.1 + typescript: 5.8.3 - '@smithy/shared-ini-file-loader@4.3.3': + '@solana/fast-stable-stringify@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/types': 4.8.0 - tslib: 2.8.1 + typescript: 5.8.3 - '@smithy/signature-v4@5.3.3': + '@solana/functional@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/is-array-buffer': 4.2.0 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 - '@smithy/util-hex-encoding': 4.2.0 - '@smithy/util-middleware': 4.2.3 - '@smithy/util-uri-escape': 4.2.0 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 + typescript: 5.8.3 - '@smithy/smithy-client@4.9.1': + '@solana/instruction-plans@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - '@smithy/core': 3.17.1 - '@smithy/middleware-endpoint': 4.3.5 - '@smithy/middleware-stack': 4.2.3 - '@smithy/protocol-http': 5.3.3 - '@smithy/types': 4.8.0 - '@smithy/util-stream': 4.5.4 - tslib: 2.8.1 + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/instructions': 4.0.0(typescript@5.8.3) + '@solana/promises': 4.0.0(typescript@5.8.3) + '@solana/transaction-messages': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@smithy/types@4.8.0': + '@solana/instructions@4.0.0(typescript@5.8.3)': dependencies: - tslib: 2.8.1 + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 - '@smithy/url-parser@4.2.3': + '@solana/keys@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - '@smithy/querystring-parser': 4.2.3 - '@smithy/types': 4.8.0 - tslib: 2.8.1 + '@solana/assertions': 4.0.0(typescript@5.8.3) + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-strings': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/nominal-types': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/kit@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/accounts': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/functional': 4.0.0(typescript@5.8.3) + '@solana/instruction-plans': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/instructions': 4.0.0(typescript@5.8.3) + '@solana/keys': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/programs': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-parsed-types': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 4.0.0(typescript@5.8.3) + '@solana/rpc-subscriptions': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/signers': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/sysvars': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-confirmation': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/transaction-messages': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - ws - '@smithy/util-base64@4.3.0': + '@solana/nominal-types@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/util-buffer-from': 4.2.0 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 + typescript: 5.8.3 - '@smithy/util-body-length-browser@4.2.0': + '@solana/options@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - tslib: 2.8.1 + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-data-structures': 4.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 4.0.0(typescript@5.8.3) + '@solana/codecs-strings': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@smithy/util-body-length-node@4.2.1': + '@solana/programs@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - tslib: 2.8.1 + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@smithy/util-buffer-from@2.2.0': + '@solana/promises@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/is-array-buffer': 2.2.0 - tslib: 2.8.1 + typescript: 5.8.3 - '@smithy/util-buffer-from@4.2.0': - dependencies: - '@smithy/is-array-buffer': 4.2.0 - tslib: 2.8.1 + '@solana/rpc-api@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-strings': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/keys': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-parsed-types': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec': 4.0.0(typescript@5.8.3) + '@solana/rpc-transformers': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@smithy/util-config-provider@4.2.0': + '@solana/rpc-parsed-types@4.0.0(typescript@5.8.3)': dependencies: - tslib: 2.8.1 + typescript: 5.8.3 - '@smithy/util-defaults-mode-browser@4.3.4': + '@solana/rpc-spec-types@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/property-provider': 4.2.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - tslib: 2.8.1 + typescript: 5.8.3 - '@smithy/util-defaults-mode-node@4.2.6': + '@solana/rpc-spec@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/config-resolver': 4.4.0 - '@smithy/credential-provider-imds': 4.2.3 - '@smithy/node-config-provider': 4.3.3 - '@smithy/property-provider': 4.2.3 - '@smithy/smithy-client': 4.9.1 - '@smithy/types': 4.8.0 - tslib: 2.8.1 + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 - '@smithy/util-endpoints@3.2.3': + '@solana/rpc-subscriptions-api@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - '@smithy/node-config-provider': 4.3.3 - '@smithy/types': 4.8.0 - tslib: 2.8.1 + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/keys': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-subscriptions-spec': 4.0.0(typescript@5.8.3) + '@solana/rpc-transformers': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@smithy/util-hex-encoding@4.2.0': + '@solana/rpc-subscriptions-channel-websocket@4.0.0(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - tslib: 2.8.1 + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/functional': 4.0.0(typescript@5.8.3) + '@solana/rpc-subscriptions-spec': 4.0.0(typescript@5.8.3) + '@solana/subscribable': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@smithy/util-middleware@4.2.3': + '@solana/rpc-subscriptions-spec@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/types': 4.8.0 - tslib: 2.8.1 + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/promises': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 4.0.0(typescript@5.8.3) + '@solana/subscribable': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/rpc-subscriptions@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/fast-stable-stringify': 4.0.0(typescript@5.8.3) + '@solana/functional': 4.0.0(typescript@5.8.3) + '@solana/promises': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 4.0.0(typescript@5.8.3) + '@solana/rpc-subscriptions-api': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-subscriptions-channel-websocket': 4.0.0(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/rpc-subscriptions-spec': 4.0.0(typescript@5.8.3) + '@solana/rpc-transformers': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/subscribable': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - ws - '@smithy/util-retry@4.2.3': + '@solana/rpc-transformers@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - '@smithy/service-error-classification': 4.2.3 - '@smithy/types': 4.8.0 - tslib: 2.8.1 + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/functional': 4.0.0(typescript@5.8.3) + '@solana/nominal-types': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 4.0.0(typescript@5.8.3) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@smithy/util-stream@4.5.4': + '@solana/rpc-transport-http@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/fetch-http-handler': 5.3.4 - '@smithy/node-http-handler': 4.4.3 - '@smithy/types': 4.8.0 - '@smithy/util-base64': 4.3.0 - '@smithy/util-buffer-from': 4.2.0 - '@smithy/util-hex-encoding': 4.2.0 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + undici-types: 7.16.0 - '@smithy/util-uri-escape@4.2.0': + '@solana/rpc-types@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - tslib: 2.8.1 + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 4.0.0(typescript@5.8.3) + '@solana/codecs-strings': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/nominal-types': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@smithy/util-utf8@2.3.0': + '@solana/rpc@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - '@smithy/util-buffer-from': 2.2.0 - tslib: 2.8.1 + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/fast-stable-stringify': 4.0.0(typescript@5.8.3) + '@solana/functional': 4.0.0(typescript@5.8.3) + '@solana/rpc-api': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-spec': 4.0.0(typescript@5.8.3) + '@solana/rpc-spec-types': 4.0.0(typescript@5.8.3) + '@solana/rpc-transformers': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-transport-http': 4.0.0(typescript@5.8.3) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@smithy/util-utf8@4.2.0': + '@solana/signers@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - '@smithy/util-buffer-from': 4.2.0 - tslib: 2.8.1 + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/instructions': 4.0.0(typescript@5.8.3) + '@solana/keys': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/nominal-types': 4.0.0(typescript@5.8.3) + '@solana/transaction-messages': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@smithy/util-waiter@4.2.3': + '@solana/subscribable@4.0.0(typescript@5.8.3)': dependencies: - '@smithy/abort-controller': 4.2.3 - '@smithy/types': 4.8.0 - tslib: 2.8.1 + '@solana/errors': 4.0.0(typescript@5.8.3) + typescript: 5.8.3 - '@smithy/uuid@1.1.0': + '@solana/sysvars@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - tslib: 2.8.1 + '@solana/accounts': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@socket.io/component-emitter@3.1.2': {} + '@solana/transaction-confirmation@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-strings': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/keys': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/promises': 4.0.0(typescript@5.8.3) + '@solana/rpc': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-subscriptions': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - ws - '@solana/buffer-layout@4.0.1': + '@solana/transaction-messages@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: - buffer: 6.0.3 + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-data-structures': 4.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 4.0.0(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/functional': 4.0.0(typescript@5.8.3) + '@solana/instructions': 4.0.0(typescript@5.8.3) + '@solana/nominal-types': 4.0.0(typescript@5.8.3) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/transactions@4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 4.0.0(typescript@5.8.3) + '@solana/codecs-data-structures': 4.0.0(typescript@5.8.3) + '@solana/codecs-numbers': 4.0.0(typescript@5.8.3) + '@solana/codecs-strings': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 4.0.0(typescript@5.8.3) + '@solana/functional': 4.0.0(typescript@5.8.3) + '@solana/instructions': 4.0.0(typescript@5.8.3) + '@solana/keys': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/nominal-types': 4.0.0(typescript@5.8.3) + '@solana/rpc-types': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 4.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder - '@solana/web3.js@1.95.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.98.4(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.28.4 '@noble/curves': 1.8.1 '@noble/hashes': 1.8.0 '@solana/buffer-layout': 4.0.1 + '@solana/codecs-numbers': 2.3.0(typescript@5.8.3) agentkeepalive: 4.6.0 - bigint-buffer: 1.1.5 bn.js: 5.2.2 borsh: 0.7.0 bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 jayson: 4.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - node-fetch: 2.7.0 - rpc-websockets: 9.2.0 + node-fetch: 2.7.0(encoding@0.1.13) + rpc-websockets: 9.1.3 superstruct: 2.0.2 transitivePeerDependencies: - bufferutil - encoding + - typescript - utf-8-validate '@spruceid/siwe-parser@2.1.2': @@ -21761,12 +23345,268 @@ snapshots: typescript: 5.8.3 zod: 3.24.3 - '@tanstack/query-core@5.90.5': {} + '@tanstack/query-core@5.87.4': {} + + '@tanstack/react-query@5.87.4(react@19.1.1)': + dependencies: + '@tanstack/query-core': 5.87.4 + react: 19.1.1 + + '@tapjs/after-each@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + function-loop: 4.0.0 + + '@tapjs/after@1.1.31(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + is-actual-promise: 1.0.2 + + '@tapjs/asserts@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(react-dom@18.3.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/stack': 2.0.1 + is-actual-promise: 1.0.2 + tcompare: 7.0.1(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + trivial-deferred: 2.0.0 + transitivePeerDependencies: + - react + - react-dom + + '@tapjs/before-each@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + function-loop: 4.0.0 + + '@tapjs/before@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + is-actual-promise: 1.0.2 + + '@tapjs/chdir@1.1.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + + '@tapjs/config@3.1.6(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/test': 2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + chalk: 5.6.2 + jackspeak: 3.4.3 + polite-json: 4.0.1 + tap-yaml: 2.2.2 + walk-up-path: 3.0.1 + + '@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@tapjs/processinfo': 3.1.8 + '@tapjs/stack': 2.0.1 + '@tapjs/test': 2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + async-hook-domain: 4.0.1 + diff: 5.2.0 + is-actual-promise: 1.0.2 + minipass: 7.1.2 + signal-exit: 4.1.0 + tap-parser: 16.0.1 + tap-yaml: 2.2.2 + tcompare: 7.0.1(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + trivial-deferred: 2.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - react + - react-dom + + '@tapjs/error-serdes@2.0.1': + dependencies: + minipass: 7.1.2 + + '@tapjs/filter@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + + '@tapjs/fixture@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + mkdirp: 3.0.1 + rimraf: 5.0.10 + + '@tapjs/intercept@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/stack': 2.0.1 + + '@tapjs/mock@2.1.6(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/stack': 2.0.1 + resolve-import: 1.4.6 + walk-up-path: 3.0.1 + + '@tapjs/node-serialize@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/error-serdes': 2.0.1 + '@tapjs/stack': 2.0.1 + tap-parser: 16.0.1 + + '@tapjs/processinfo@3.1.8': + dependencies: + pirates: 4.0.7 + process-on-spawn: 1.1.0 + signal-exit: 4.1.0 + uuid: 8.3.2 - '@tanstack/react-query@5.90.5(react@18.3.1)': + '@tapjs/reporter@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(utf-8-validate@5.0.10)': dependencies: - '@tanstack/query-core': 5.90.5 + '@tapjs/config': 3.1.6(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/stack': 2.0.1 + chalk: 5.6.2 + ink: 4.4.1(@types/react@19.1.13)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@5.0.10) + minipass: 7.1.2 + ms: 2.1.3 + patch-console: 2.0.0 + prismjs-terminal: 1.2.3 react: 18.3.1 + string-length: 6.0.0 + tap-parser: 16.0.1 + tap-yaml: 2.2.2 + tcompare: 7.0.1(react-dom@18.3.1(react@19.1.1))(react@18.3.1) + transitivePeerDependencies: + - '@tapjs/test' + - '@types/react' + - bufferutil + - react-devtools-core + - react-dom + - utf-8-validate + + '@tapjs/run@2.1.7(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)(utf-8-validate@5.0.10)': + dependencies: + '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/before': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/config': 3.1.6(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/processinfo': 3.1.8 + '@tapjs/reporter': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(utf-8-validate@5.0.10) + '@tapjs/spawn': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/stdin': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/test': 2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + c8: 9.1.0 + chalk: 5.6.2 + chokidar: 3.6.0 + foreground-child: 3.3.1 + glob: 10.4.5 + minipass: 7.1.2 + mkdirp: 3.0.1 + opener: 1.5.2 + pacote: 17.0.7 + resolve-import: 1.4.6 + rimraf: 5.0.10 + semver: 7.7.2 + signal-exit: 4.1.0 + tap-parser: 16.0.1 + tap-yaml: 2.2.2 + tcompare: 7.0.1(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + trivial-deferred: 2.0.0 + which: 4.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - '@types/react' + - bluebird + - bufferutil + - react + - react-devtools-core + - react-dom + - supports-color + - utf-8-validate + + '@tapjs/snapshot@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(react-dom@18.3.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + is-actual-promise: 1.0.2 + tcompare: 7.0.1(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + trivial-deferred: 2.0.0 + transitivePeerDependencies: + - react + - react-dom + + '@tapjs/spawn@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + + '@tapjs/stack@2.0.1': {} + + '@tapjs/stdin@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + + '@tapjs/test@2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.7(@types/node@20.0.0)(typescript@5.4.5) + '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/after-each': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/asserts': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/before': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/before-each': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/chdir': 1.1.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/filter': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/fixture': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/intercept': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/mock': 2.1.6(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/node-serialize': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/snapshot': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/spawn': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/stdin': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/typescript': 1.4.13(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(typescript@5.4.5) + '@tapjs/worker': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + glob: 10.4.5 + jackspeak: 3.4.3 + mkdirp: 3.0.1 + package-json-from-dist: 1.0.1 + resolve-import: 1.4.6 + rimraf: 5.0.10 + sync-content: 1.0.2 + tap-parser: 16.0.1 + tshy: 1.18.0 + typescript: 5.4.5 + walk-up-path: 3.0.1 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - react + - react-dom + + '@tapjs/typescript@1.4.13(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(typescript@5.4.5)': + dependencies: + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.7(@types/node@20.0.0)(typescript@5.4.5) + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - typescript + + '@tapjs/typescript@1.4.13(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(typescript@5.8.3)': + dependencies: + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.7(@types/node@20.0.0)(typescript@5.8.3) + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - typescript + + '@tapjs/worker@2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))': + dependencies: + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) '@tootallnate/once@2.0.0': {} @@ -21778,6 +23618,17 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@tsconfig/node18@18.2.4': {} + + '@tsconfig/node20@20.1.6': {} + + '@tufjs/canonical-json@2.0.0': {} + + '@tufjs/models@2.0.1': + dependencies: + '@tufjs/canonical-json': 2.0.0 + minimatch: 9.0.5 + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 @@ -21805,24 +23656,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.28.4 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.28.4 '@types/body-parser@1.19.6': dependencies: @@ -21848,7 +23699,7 @@ snapshots: dependencies: '@types/ms': 2.1.0 - '@types/depd@1.1.37': + '@types/depd@1.1.36': dependencies: '@types/node': 20.0.0 @@ -21856,18 +23707,18 @@ snapshots: '@types/events@3.0.3': {} - '@types/express-serve-static-core@5.1.0': + '@types/express-serve-static-core@5.0.7': dependencies: '@types/node': 20.0.0 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 - '@types/send': 1.2.0 + '@types/send': 0.17.5 '@types/express@5.0.3': dependencies: '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 5.1.0 - '@types/serve-static': 1.15.9 + '@types/express-serve-static-core': 5.0.7 + '@types/serve-static': 1.15.8 '@types/graceful-fs@4.1.9': dependencies: @@ -21881,7 +23732,7 @@ snapshots: '@types/http-errors@2.0.5': {} - '@types/inquirer@9.0.9': + '@types/inquirer@9.0.8': dependencies: '@types/through': 0.0.33 rxjs: 7.8.2 @@ -21954,11 +23805,16 @@ snapshots: '@types/range-parser@1.2.7': {} + '@types/react@19.1.13': + dependencies: + csstype: 3.1.3 + optional: true + '@types/responselike@1.0.3': dependencies: '@types/node': 20.0.0 - '@types/secp256k1@4.0.7': + '@types/secp256k1@4.0.6': dependencies: '@types/node': 20.0.0 @@ -21969,11 +23825,7 @@ snapshots: '@types/mime': 1.3.5 '@types/node': 20.0.0 - '@types/send@1.2.0': - dependencies: - '@types/node': 20.0.0 - - '@types/serve-static@1.15.9': + '@types/serve-static@1.15.8': dependencies: '@types/http-errors': 2.0.5 '@types/node': 20.0.0 @@ -21987,12 +23839,16 @@ snapshots: '@types/tough-cookie@4.0.5': {} + '@types/triple-beam@1.3.5': {} + '@types/trusted-types@2.0.7': {} '@types/unist@3.0.3': {} '@types/uuid@8.3.4': {} + '@types/uuid@9.0.8': {} + '@types/ws@7.4.7': dependencies: '@types/node': 20.0.0 @@ -22009,18 +23865,18 @@ snapshots: '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint@9.34.0)(typescript@5.8.3)': dependencies: - '@eslint-community/regexpp': 4.12.2 + '@eslint-community/regexpp': 4.12.1 '@typescript-eslint/parser': 6.21.0(eslint@9.34.0)(typescript@5.8.3) '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/type-utils': 6.21.0(eslint@9.34.0)(typescript@5.8.3) '@typescript-eslint/utils': 6.21.0(eslint@9.34.0)(typescript@5.8.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) eslint: 9.34.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - semver: 7.7.3 + semver: 7.7.2 ts-api-utils: 1.4.3(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 @@ -22033,18 +23889,18 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) eslint: 9.34.0 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.46.2(typescript@5.8.3)': + '@typescript-eslint/project-service@8.43.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.8.3) - '@typescript-eslint/types': 8.46.2 - debug: 4.4.3(supports-color@8.1.1) + '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.8.3) + '@typescript-eslint/types': 8.43.0 + debug: 4.4.1(supports-color@8.1.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -22054,12 +23910,12 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/scope-manager@8.46.2': + '@typescript-eslint/scope-manager@8.43.0': dependencies: - '@typescript-eslint/types': 8.46.2 - '@typescript-eslint/visitor-keys': 8.46.2 + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/visitor-keys': 8.43.0 - '@typescript-eslint/tsconfig-utils@8.46.2(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.8.3)': dependencies: typescript: 5.8.3 @@ -22067,7 +23923,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) '@typescript-eslint/utils': 6.21.0(eslint@9.34.0)(typescript@5.8.3) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) eslint: 9.34.0 ts-api-utils: 1.4.3(typescript@5.8.3) optionalDependencies: @@ -22075,48 +23931,64 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.46.2(eslint@9.34.0)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.43.0(eslint@9.34.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.46.2 - '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.8.3) - '@typescript-eslint/utils': 8.46.2(eslint@9.34.0)(typescript@5.8.3) - debug: 4.4.3(supports-color@8.1.1) + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.43.0(eslint@9.34.0)(typescript@5.8.3) + debug: 4.4.1(supports-color@8.1.1) eslint: 9.34.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color + '@typescript-eslint/types@5.62.0': {} + '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/types@8.46.2': {} + '@typescript-eslint/types@8.43.0': {} + + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.4.1(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.7.2 + tsutils: 3.21.0(typescript@5.8.3) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color '@typescript-eslint/typescript-estree@6.21.0(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.7.3 + semver: 7.7.2 ts-api-utils: 1.4.3(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.46.2(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.43.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/project-service': 8.46.2(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.8.3) - '@typescript-eslint/types': 8.46.2 - '@typescript-eslint/visitor-keys': 8.46.2 - debug: 4.4.3(supports-color@8.1.1) + '@typescript-eslint/project-service': 8.43.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.8.3) + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/visitor-keys': 8.43.0 + debug: 4.4.1(supports-color@8.1.1) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.3 + semver: 7.7.2 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -22131,30 +24003,35 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) eslint: 9.34.0 - semver: 7.7.3 + semver: 7.7.2 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.46.2(eslint@9.34.0)(typescript@5.8.3)': + '@typescript-eslint/utils@8.43.0(eslint@9.34.0)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0) - '@typescript-eslint/scope-manager': 8.46.2 - '@typescript-eslint/types': 8.46.2 - '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.43.0 + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.8.3) eslint: 9.34.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color + '@typescript-eslint/visitor-keys@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@6.21.0': dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.46.2': + '@typescript-eslint/visitor-keys@8.43.0': dependencies: - '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/types': 8.43.0 eslint-visitor-keys: 4.2.1 '@typespec/ts-http-runtime@0.3.1': @@ -22226,55 +24103,51 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@upstash/redis@1.35.6': + '@vue/compiler-core@3.5.21': dependencies: - uncrypto: 0.1.3 - - '@vue/compiler-core@3.5.22': - dependencies: - '@babel/parser': 7.28.5 - '@vue/shared': 3.5.22 + '@babel/parser': 7.28.4 + '@vue/shared': 3.5.21 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.22': + '@vue/compiler-dom@3.5.21': dependencies: - '@vue/compiler-core': 3.5.22 - '@vue/shared': 3.5.22 + '@vue/compiler-core': 3.5.21 + '@vue/shared': 3.5.21 - '@vue/compiler-sfc@3.5.22': + '@vue/compiler-sfc@3.5.21': dependencies: - '@babel/parser': 7.28.5 - '@vue/compiler-core': 3.5.22 - '@vue/compiler-dom': 3.5.22 - '@vue/compiler-ssr': 3.5.22 - '@vue/shared': 3.5.22 + '@babel/parser': 7.28.4 + '@vue/compiler-core': 3.5.21 + '@vue/compiler-dom': 3.5.21 + '@vue/compiler-ssr': 3.5.21 + '@vue/shared': 3.5.21 estree-walker: 2.0.2 magic-string: 0.30.19 postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.22': + '@vue/compiler-ssr@3.5.21': dependencies: - '@vue/compiler-dom': 3.5.22 - '@vue/shared': 3.5.22 + '@vue/compiler-dom': 3.5.21 + '@vue/shared': 3.5.21 - '@vue/shared@3.5.22': {} + '@vue/shared@3.5.21': {} - '@wagmi/connectors@6.1.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)))(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(wagmi@2.18.2(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3))(zod@3.24.3)': + '@wagmi/connectors@6.0.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(@wagmi/core@2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)))(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(wagmi@2.18.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/query-core@5.87.4)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3))(zod@3.24.3)': dependencies: - '@base-org/account': 1.1.1(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(zod@3.24.3) - '@coinbase/wallet-sdk': 4.3.6(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(zod@3.24.3) - '@gemini-wallet/core': 0.2.0(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) - '@metamask/sdk': 0.33.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@base-org/account': 1.1.1(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(utf-8-validate@5.0.10)(zod@3.24.3) + '@coinbase/wallet-sdk': 4.3.6(@types/react@19.1.13)(bufferutil@4.0.9)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(utf-8-validate@5.0.10)(zod@3.24.3) + '@gemini-wallet/core': 0.2.0(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) + '@metamask/sdk': 0.33.1(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) - '@walletconnect/ethereum-provider': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@wagmi/core': 2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) + '@walletconnect/ethereum-provider': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - porto: 0.2.19(@tanstack/react-query@5.90.5(react@18.3.1))(@wagmi/core@2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)))(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(wagmi@2.18.2(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3)) - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + porto: 0.2.19(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(@wagmi/core@2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)))(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(wagmi@2.18.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/query-core@5.87.4)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3)) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -22309,14 +24182,14 @@ snapshots: - wagmi - zod - '@wagmi/core@2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))': + '@wagmi/core@2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.8.3) - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - zustand: 5.0.0(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + zustand: 5.0.0(@types/react@19.1.13)(react@19.1.1)(use-sync-external-store@1.4.0(react@19.1.1)) optionalDependencies: - '@tanstack/query-core': 5.90.5 + '@tanstack/query-core': 5.87.4 typescript: 5.8.3 transitivePeerDependencies: - '@types/react' @@ -22324,21 +24197,21 @@ snapshots: - react - use-sync-external-store - '@walletconnect/core@2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@walletconnect/core@2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/logger': 2.1.2 '@walletconnect/relay-api': 1.0.11 '@walletconnect/relay-auth': 1.1.0 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) - '@walletconnect/utils': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/types': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) + '@walletconnect/utils': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) '@walletconnect/window-getters': 1.0.1 es-toolkit: 1.33.0 events: 3.3.0 @@ -22368,21 +24241,21 @@ snapshots: - utf-8-validate - zod - '@walletconnect/core@2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@walletconnect/core@2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/logger': 2.1.2 '@walletconnect/relay-api': 1.0.11 '@walletconnect/relay-auth': 1.1.0 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) - '@walletconnect/utils': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/types': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) + '@walletconnect/utils': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) '@walletconnect/window-getters': 1.0.1 es-toolkit: 1.33.0 events: 3.3.0 @@ -22416,18 +24289,18 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/ethereum-provider@2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@walletconnect/ethereum-provider@2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: - '@reown/appkit': 1.7.8(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@reown/appkit': 1.7.8(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) - '@walletconnect/sign-client': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@walletconnect/types': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) - '@walletconnect/universal-provider': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@walletconnect/utils': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) + '@walletconnect/sign-client': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/types': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) + '@walletconnect/universal-provider': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/utils': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -22468,11 +24341,11 @@ snapshots: '@walletconnect/time': 1.0.2 events: 3.3.0 - '@walletconnect/jsonrpc-http-connection@1.0.8': + '@walletconnect/jsonrpc-http-connection@1.0.8(encoding@0.1.13)': dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 - cross-fetch: 3.1.8 + cross-fetch: 3.1.8(encoding@0.1.13) events: 3.3.0 transitivePeerDependencies: - encoding @@ -22504,11 +24377,11 @@ snapshots: - bufferutil - utf-8-validate - '@walletconnect/keyvaluestorage@1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2)': + '@walletconnect/keyvaluestorage@1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0)': dependencies: '@walletconnect/safe-json': 1.0.2 idb-keyval: 6.2.2 - unstorage: 1.17.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(idb-keyval@6.2.2)(ioredis@5.8.2) + unstorage: 1.17.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(idb-keyval@6.2.2)(ioredis@5.7.0) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -22550,16 +24423,16 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/sign-client@2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@walletconnect/sign-client@2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: - '@walletconnect/core': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/core': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) - '@walletconnect/utils': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/types': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) + '@walletconnect/utils': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -22586,16 +24459,16 @@ snapshots: - utf-8-validate - zod - '@walletconnect/sign-client@2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@walletconnect/sign-client@2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: - '@walletconnect/core': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/core': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) - '@walletconnect/utils': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/types': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) + '@walletconnect/utils': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -22626,12 +24499,12 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/types@2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2)': + '@walletconnect/types@2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0)': dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/logger': 2.1.2 events: 3.3.0 transitivePeerDependencies: @@ -22655,12 +24528,12 @@ snapshots: - ioredis - uploadthing - '@walletconnect/types@2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2)': + '@walletconnect/types@2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0)': dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/logger': 2.1.2 events: 3.3.0 transitivePeerDependencies: @@ -22684,18 +24557,18 @@ snapshots: - ioredis - uploadthing - '@walletconnect/universal-provider@2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@walletconnect/universal-provider@2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@walletconnect/events': 1.0.1 - '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@walletconnect/types': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) - '@walletconnect/utils': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/sign-client': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/types': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) + '@walletconnect/utils': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) es-toolkit: 1.33.0 events: 3.3.0 transitivePeerDependencies: @@ -22724,18 +24597,18 @@ snapshots: - utf-8-validate - zod - '@walletconnect/universal-provider@2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@walletconnect/universal-provider@2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@walletconnect/events': 1.0.1 - '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) - '@walletconnect/types': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) - '@walletconnect/utils': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/sign-client': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@walletconnect/types': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) + '@walletconnect/utils': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) es-toolkit: 1.33.0 events: 3.3.0 transitivePeerDependencies: @@ -22764,18 +24637,18 @@ snapshots: - utf-8-validate - zod - '@walletconnect/utils@2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@walletconnect/utils@2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@noble/ciphers': 1.2.1 '@noble/curves': 1.8.1 '@noble/hashes': 1.7.1 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/relay-api': 1.0.11 '@walletconnect/relay-auth': 1.1.0 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/types': 2.21.0(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 bs58: 6.0.0 @@ -22808,18 +24681,18 @@ snapshots: - utf-8-validate - zod - '@walletconnect/utils@2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': + '@walletconnect/utils@2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(bufferutil@4.0.9)(ioredis@5.7.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)': dependencies: '@noble/ciphers': 1.2.1 '@noble/curves': 1.8.1 '@noble/hashes': 1.7.1 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/keyvaluestorage': 1.1.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/relay-api': 1.0.11 '@walletconnect/relay-auth': 1.1.0 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(ioredis@5.8.2) + '@walletconnect/types': 2.21.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(ioredis@5.7.0) '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 bs58: 6.0.0 @@ -22874,6 +24747,8 @@ snapshots: abab@2.0.6: {} + abbrev@2.0.0: {} + abitype@1.0.8(typescript@5.8.3)(zod@3.24.3): optionalDependencies: typescript: 5.8.3 @@ -22889,12 +24764,7 @@ snapshots: typescript: 5.8.3 zod: 3.24.3 - abitype@1.1.1(typescript@5.8.3)(zod@3.24.3): - optionalDependencies: - typescript: 5.8.3 - zod: 3.24.3 - - abitype@1.1.1(typescript@5.8.3)(zod@4.1.12): + abitype@1.1.0(typescript@5.8.3)(zod@4.1.12): optionalDependencies: typescript: 5.8.3 zod: 4.1.12 @@ -22927,7 +24797,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -22937,6 +24807,15 @@ snapshots: dependencies: humanize-ms: 1.2.1 + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1(ajv@8.12.0): + optionalDependencies: + ajv: 8.12.0 + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -22944,12 +24823,14 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.17.1: + ajv@8.12.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + uri-js: 4.4.1 + + amdefine@1.0.1: {} ansi-colors@4.1.3: {} @@ -22957,6 +24838,8 @@ snapshots: dependencies: type-fest: 0.21.3 + ansi-escapes@6.2.1: {} + ansi-regex@5.0.1: {} ansi-regex@6.2.2: {} @@ -23096,52 +24979,67 @@ snapshots: arrivals@2.1.2: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) nanotimer: 0.3.14 transitivePeerDependencies: - supports-color - artillery-engine-playwright@1.23.0: + artillery-engine-playwright@1.20.0: dependencies: - '@playwright/browser-chromium': 1.55.0 - '@playwright/test': 1.55.0 - debug: 4.4.3(supports-color@8.1.1) - playwright: 1.55.0 + '@playwright/browser-chromium': 1.52.0 + '@playwright/test': 1.52.0 + debug: 4.4.1(supports-color@8.1.1) + playwright: 1.52.0 transitivePeerDependencies: - supports-color - artillery-plugin-apdex@1.17.0: {} + artillery-plugin-apdex@1.14.0(@types/node@20.0.0)(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10): + dependencies: + tap: 19.2.5(@types/node@20.0.0)(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - '@types/react' + - bluebird + - bufferutil + - react + - react-devtools-core + - react-dom + - supports-color + - typescript + - utf-8-validate - artillery-plugin-ensure@1.20.0: + artillery-plugin-ensure@1.17.0: dependencies: chalk: 2.4.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) filtrex: 2.2.3 transitivePeerDependencies: - supports-color - artillery-plugin-expect@2.20.0: + artillery-plugin-expect@2.17.0: dependencies: chalk: 4.1.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) jmespath: 0.16.0 lodash: 4.17.21 transitivePeerDependencies: - supports-color - artillery-plugin-fake-data@1.17.0: + artillery-plugin-fake-data@1.14.0: dependencies: '@ngneat/falso': 7.4.0 - artillery-plugin-metrics-by-endpoint@1.20.0: + artillery-plugin-metrics-by-endpoint@1.17.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color - artillery-plugin-publish-metrics@2.31.0: + artillery-plugin-publish-metrics@2.28.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: - '@aws-sdk/client-cloudwatch': 3.916.0 + '@aws-sdk/client-cloudwatch': 3.887.0 '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-metrics-otlp-grpc': 0.41.2(@opentelemetry/api@1.9.0) @@ -23157,65 +25055,59 @@ snapshots: '@opentelemetry/semantic-conventions': 1.37.0 async: 2.6.4 datadog-metrics: 0.9.3 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) dogapi: 2.8.4 hot-shots: 6.8.7 + lightstep-tracer: 0.31.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) mixpanel: 0.13.0 opentracing: 0.14.7 prom-client: 14.2.0 - semver: 7.7.3 + semver: 7.7.2 uuid: 8.3.2 transitivePeerDependencies: - aws-crt + - bufferutil - supports-color + - utf-8-validate - artillery-plugin-slack@1.15.0: + artillery-plugin-slack@1.12.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) got: 11.8.6 transitivePeerDependencies: - supports-color - artillery@2.0.26(@types/node@20.0.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10): - dependencies: - '@artilleryio/int-commons': 2.17.0 - '@artilleryio/int-core': 2.21.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@aws-sdk/client-cloudwatch-logs': 3.916.0 - '@aws-sdk/client-ec2': 3.916.0 - '@aws-sdk/client-ecs': 3.916.0 - '@aws-sdk/client-iam': 3.916.0 - '@aws-sdk/client-lambda': 3.916.0 - '@aws-sdk/client-s3': 3.916.0 - '@aws-sdk/client-sqs': 3.916.0 - '@aws-sdk/client-ssm': 3.916.0 - '@aws-sdk/client-sts': 3.916.0 - '@aws-sdk/credential-providers': 3.916.0 + artillery@2.0.23(@types/node@20.0.0)(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10): + dependencies: + '@artilleryio/int-commons': 2.14.0 + '@artilleryio/int-core': 2.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@aws-sdk/credential-providers': 3.887.0 '@azure/arm-containerinstance': 9.1.0 - '@azure/identity': 4.13.0 - '@azure/storage-blob': 12.29.1 - '@azure/storage-queue': 12.28.1 - '@oclif/core': 4.7.2 - '@oclif/plugin-help': 6.2.33 - '@oclif/plugin-not-found': 3.2.70(@types/node@20.0.0) - '@upstash/redis': 1.35.6 + '@azure/identity': 4.12.0 + '@azure/storage-blob': 12.28.0 + '@azure/storage-queue': 12.27.0 + '@oclif/core': 4.5.3 + '@oclif/plugin-help': 6.2.32 + '@oclif/plugin-not-found': 3.2.67(@types/node@20.0.0) archiver: 5.3.2 - artillery-engine-playwright: 1.23.0 - artillery-plugin-apdex: 1.17.0 - artillery-plugin-ensure: 1.20.0 - artillery-plugin-expect: 2.20.0 - artillery-plugin-fake-data: 1.17.0 - artillery-plugin-metrics-by-endpoint: 1.20.0 - artillery-plugin-publish-metrics: 2.31.0 - artillery-plugin-slack: 1.15.0 + artillery-engine-playwright: 1.20.0 + artillery-plugin-apdex: 1.14.0(@types/node@20.0.0)(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10) + artillery-plugin-ensure: 1.17.0 + artillery-plugin-expect: 2.17.0 + artillery-plugin-fake-data: 1.14.0 + artillery-plugin-metrics-by-endpoint: 1.17.0 + artillery-plugin-publish-metrics: 2.28.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + artillery-plugin-slack: 1.12.0 async: 2.6.4 + aws-sdk: 2.1692.0 chalk: 2.4.2 chokidar: 3.6.0 - ci-info: 4.3.1 + ci-info: 4.3.0 cli-table3: 0.6.5 cross-spawn: 7.0.6 csv-parse: 4.16.3 - debug: 4.4.3(supports-color@8.1.1) - dependency-tree: 11.2.0 + debug: 4.4.1(supports-color@8.1.1) + dependency-tree: 10.0.9 detective-es6: 4.0.1 dotenv: 16.6.1 driftless: 2.0.3 @@ -23230,16 +25122,26 @@ snapshots: moment: 2.30.1 nanoid: 3.3.11 ora: 4.1.1 + posthog-node: 4.18.0(debug@4.4.1) rc: 1.2.8 - sqs-consumer: 6.0.2(@aws-sdk/client-sqs@3.916.0) - tempy: 3.1.0 + sqs-consumer: 5.8.0(aws-sdk@2.1692.0) + temp: 0.9.4 + tmp: 0.2.1 walk-sync: 0.2.7 yaml-js: 0.2.3 transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' - '@types/node' + - '@types/react' - aws-crt + - bluebird - bufferutil + - react + - react-devtools-core + - react-dom - supports-color + - typescript - utf-8-validate asn1.js@4.10.1: @@ -23271,16 +25173,22 @@ snapshots: assertion-error@1.1.0: {} - ast-module-types@6.0.1: {} + ast-module-types@5.0.0: {} ast-types-flow@0.0.8: {} async-function@1.0.0: {} + async-hook-domain@4.0.1: {} + + async-limiter@1.0.1: {} + async-mutex@0.2.6: dependencies: tslib: 2.8.1 + async@1.5.0: {} + async@2.6.4: dependencies: lodash: 4.17.21 @@ -23291,15 +25199,32 @@ snapshots: atomic-sleep@1.0.0: {} + atomically@1.7.0: {} + + auto-bind@5.0.1: {} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 - axe-core@4.11.0: {} + aws-sdk@2.1692.0: + dependencies: + buffer: 4.9.2 + events: 1.1.1 + ieee754: 1.1.13 + jmespath: 0.16.0 + querystring: 0.2.0 + sax: 1.2.1 + url: 0.10.3 + util: 0.12.5 + uuid: 8.0.0 + xml2js: 0.6.2 + + axe-core@4.10.3: {} - axios@1.12.2: + axios@1.12.0(debug@4.4.1): dependencies: - follow-redirects: 1.15.11 + follow-redirects: 1.15.11(debug@4.4.1) form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -23340,7 +25265,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color @@ -23367,7 +25292,7 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.5 + '@babel/types': 7.28.4 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 @@ -23379,11 +25304,11 @@ snapshots: dependencies: '@babel/runtime': 7.28.4 cosmiconfig: 7.1.0 - resolve: 1.22.11 + resolve: 1.22.10 babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): dependencies: - '@babel/compat-data': 7.28.5 + '@babel/compat-data': 7.28.4 '@babel/core': 7.28.5 '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) semver: 6.3.1 @@ -23394,7 +25319,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.46.0 + core-js-compat: 3.45.1 transitivePeerDependencies: - supports-color @@ -23455,8 +25380,6 @@ snapshots: base64url@3.0.1: {} - baseline-browser-mapping@2.8.20: {} - bech32@1.1.4: {} better-path-resolve@1.0.0: @@ -23465,10 +25388,6 @@ snapshots: big.js@6.2.2: {} - bigint-buffer@1.1.5: - dependencies: - bindings: 1.5.0 - bignumber.js@9.3.1: {} binary-extensions@2.3.0: {} @@ -23476,6 +25395,7 @@ snapshots: bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 + optional: true bintrees@1.0.2: {} @@ -23501,7 +25421,7 @@ snapshots: dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) http-errors: 2.0.0 iconv-lite: 0.6.3 on-finished: 2.4.1 @@ -23536,10 +25456,12 @@ snapshots: brorand@1.1.0: {} + browser-or-node@1.3.0: {} + browserify-aes@1.2.0: dependencies: buffer-xor: 1.0.3 - cipher-base: 1.0.7 + cipher-base: 1.0.6 create-hash: 1.2.0 evp_bytestokey: 1.0.3 inherits: 2.0.4 @@ -23553,7 +25475,7 @@ snapshots: browserify-des@1.0.2: dependencies: - cipher-base: 1.0.7 + cipher-base: 1.0.6 des.js: 1.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 @@ -23564,15 +25486,16 @@ snapshots: randombytes: 2.1.0 safe-buffer: 5.2.1 - browserify-sign@4.2.5: + browserify-sign@4.2.3: dependencies: bn.js: 5.2.2 browserify-rsa: 4.1.1 create-hash: 1.2.0 create-hmac: 1.1.7 elliptic: 6.6.1 + hash-base: 3.0.5 inherits: 2.0.4 - parse-asn1: 5.1.9 + parse-asn1: 5.1.7 readable-stream: 2.3.8 safe-buffer: 5.2.1 @@ -23580,13 +25503,12 @@ snapshots: dependencies: pako: 1.0.11 - browserslist@4.27.0: + browserslist@4.25.4: dependencies: - baseline-browser-mapping: 2.8.20 - caniuse-lite: 1.0.30001751 - electron-to-chromium: 1.5.240 - node-releases: 2.0.26 - update-browserslist-db: 1.1.4(browserslist@4.27.0) + caniuse-lite: 1.0.30001741 + electron-to-chromium: 1.5.218 + node-releases: 2.0.20 + update-browserslist-db: 1.1.3(browserslist@4.25.4) bs-logger@0.2.6: dependencies: @@ -23612,6 +25534,12 @@ snapshots: buffer-xor@1.0.3: {} + buffer@4.9.2: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + isarray: 1.0.0 + buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -23628,15 +25556,15 @@ snapshots: builtin-status-codes@3.0.0: {} - bullmq@5.61.2: + bullmq@5.52.3: dependencies: cron-parser: 4.9.0 - ioredis: 5.8.2 + ioredis: 5.7.0 msgpackr: 1.11.5 node-abort-controller: 3.1.1 - semver: 7.7.3 + semver: 7.7.2 tslib: 2.8.1 - uuid: 11.1.0 + uuid: 9.0.1 transitivePeerDependencies: - supports-color @@ -23646,6 +25574,35 @@ snapshots: bytes@3.1.2: {} + c8@9.1.0: + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@istanbuljs/schema': 0.1.3 + find-up: 5.0.0 + foreground-child: 3.3.1 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.2.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.3.0 + yargs: 17.7.2 + yargs-parser: 21.1.1 + + cacache@18.0.4: + dependencies: + '@npmcli/fs': 3.1.1 + fs-minipass: 3.0.3 + glob: 10.4.5 + lru-cache: 10.4.3 + minipass: 7.1.2 + minipass-collect: 2.0.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.6 + tar: 6.2.1 + unique-filename: 3.0.0 + cacheable-lookup@5.0.4: {} cacheable-request@7.0.4: @@ -23689,7 +25646,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001751: {} + caniuse-lite@1.0.30001741: {} canonicalize@2.1.0: {} @@ -23716,8 +25673,12 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chalk@5.6.2: {} + char-regex@1.0.2: {} + chardet@0.7.0: {} + chardet@2.1.0: {} cheerio-select@2.1.0: @@ -23759,9 +25720,11 @@ snapshots: dependencies: readdirp: 4.1.2 + chownr@2.0.0: {} + ci-info@3.9.0: {} - ci-info@4.3.1: {} + ci-info@4.3.0: {} cids@1.1.9: dependencies: @@ -23770,24 +25733,31 @@ snapshots: multihashes: 4.0.3 uint8arrays: 3.1.0 - cipher-base@1.0.7: + cipher-base@1.0.6: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - to-buffer: 1.2.2 cjs-module-lexer@1.4.3: {} cjs-module-lexer@2.1.0: {} + clean-stack@2.2.0: {} + clean-stack@3.0.1: dependencies: escape-string-regexp: 4.0.0 + cli-boxes@3.0.0: {} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 + cli-cursor@4.0.0: + dependencies: + restore-cursor: 4.0.0 + cli-spinners@2.6.1: {} cli-spinners@2.9.2: {} @@ -23798,6 +25768,11 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 + cli-truncate@3.1.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + cli-width@4.1.0: {} cliui@6.0.0: @@ -23830,7 +25805,11 @@ snapshots: co@4.6.0: {} - collect-v8-coverage@1.0.3: {} + code-excerpt@4.0.0: + dependencies: + convert-to-spaces: 2.0.1 + + collect-v8-coverage@1.0.2: {} color-convert@1.9.3: dependencies: @@ -23840,10 +25819,25 @@ snapshots: dependencies: color-name: 1.1.4 + color-convert@3.1.2: + dependencies: + color-name: 2.0.2 + color-name@1.1.3: {} color-name@1.1.4: {} + color-name@2.0.2: {} + + color-string@2.1.2: + dependencies: + color-name: 2.0.2 + + color@5.0.2: + dependencies: + color-convert: 3.1.2 + color-string: 2.1.2 + colorette@2.0.20: {} columnify@1.6.0: @@ -23869,9 +25863,13 @@ snapshots: table-layout: 1.0.2 typical: 5.2.0 + commander@10.0.1: {} + commander@11.1.0: {} - commander@12.1.0: {} + commander@14.0.1: {} + + commander@14.0.2: {} commander@2.20.3: {} @@ -23884,15 +25882,29 @@ snapshots: concat-map@0.0.1: {} - concurrently@9.2.1: + concurrently@9.1.2: dependencies: chalk: 4.1.2 + lodash: 4.17.21 rxjs: 7.8.2 shell-quote: 1.8.3 supports-color: 8.1.1 tree-kill: 1.2.2 yargs: 17.7.2 + conf@10.2.0: + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + atomically: 1.7.0 + debounce-fn: 4.0.0 + dot-prop: 6.0.1 + env-paths: 2.2.1 + json-schema-typed: 7.0.3 + onetime: 5.1.2 + pkg-up: 3.1.0 + semver: 7.7.2 + confusing-browser-globals@1.0.11: {} console-browserify@1.2.0: {} @@ -23907,6 +25919,8 @@ snapshots: convert-source-map@2.0.0: {} + convert-to-spaces@2.0.1: {} + cookie-es@1.2.2: {} cookie-parser@1.4.7: @@ -23920,9 +25934,9 @@ snapshots: cookie@0.7.2: {} - core-js-compat@3.46.0: + core-js-compat@3.45.1: dependencies: - browserslist: 4.27.0 + browserslist: 4.25.4 core-util-is@1.0.3: {} @@ -23951,20 +25965,27 @@ snapshots: bn.js: 4.12.2 elliptic: 6.6.1 + create-hash@1.1.3: + dependencies: + cipher-base: 1.0.6 + inherits: 2.0.4 + ripemd160: 2.0.2 + sha.js: 2.4.12 + create-hash@1.2.0: dependencies: - cipher-base: 1.0.7 + cipher-base: 1.0.6 inherits: 2.0.4 md5.js: 1.3.5 - ripemd160: 2.0.3 + ripemd160: 2.0.2 sha.js: 2.4.12 create-hmac@1.1.7: dependencies: - cipher-base: 1.0.7 + cipher-base: 1.0.6 create-hash: 1.2.0 inherits: 2.0.4 - ripemd160: 2.0.3 + ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.12 @@ -23989,15 +26010,15 @@ snapshots: dependencies: luxon: 3.7.2 - cross-fetch@3.1.8: + cross-fetch@3.1.8(encoding@0.1.13): dependencies: - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding - cross-fetch@4.1.0: + cross-fetch@4.1.0(encoding@0.1.13): dependencies: - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -24014,22 +26035,18 @@ snapshots: crypto-browserify@3.12.1: dependencies: browserify-cipher: 1.0.1 - browserify-sign: 4.2.5 + browserify-sign: 4.2.3 create-ecdh: 4.0.4 create-hash: 1.2.0 create-hmac: 1.1.7 diffie-hellman: 5.0.3 hash-base: 3.0.5 inherits: 2.0.4 - pbkdf2: 3.1.5 + pbkdf2: 3.1.3 public-encrypt: 4.0.3 randombytes: 2.1.0 randomfill: 1.0.4 - crypto-random-string@4.0.0: - dependencies: - type-fest: 1.4.0 - css-select@5.2.2: dependencies: boolbase: 1.0.0 @@ -24048,8 +26065,13 @@ snapshots: dependencies: cssom: 0.3.8 + csstype@3.1.3: + optional: true + csv-parse@4.16.3: {} + cuint@0.2.2: {} + damerau-levenshtein@1.0.8: {} data-uri-to-buffer@4.0.1: {} @@ -24093,6 +26115,10 @@ snapshots: dayjs@1.11.13: {} + debounce-fn@4.0.0: + dependencies: + mimic-fn: 3.1.0 + debug@3.1.0: dependencies: ms: 2.0.0 @@ -24113,7 +26139,7 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.4.3(supports-color@8.1.1): + debug@4.4.1(supports-color@8.1.1): dependencies: ms: 2.1.3 optionalDependencies: @@ -24208,13 +26234,13 @@ snapshots: depcheck@1.4.7: dependencies: - '@babel/parser': 7.28.5 - '@babel/traverse': 7.28.5 - '@vue/compiler-sfc': 3.5.22 + '@babel/parser': 7.28.4 + '@babel/traverse': 7.28.4 + '@vue/compiler-sfc': 3.5.21 callsite: 1.0.0 camelcase: 6.3.0 cosmiconfig: 7.1.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) deps-regex: 0.2.0 findup-sync: 5.0.0 ignore: 5.3.2 @@ -24227,29 +26253,29 @@ snapshots: please-upgrade-node: 3.2.0 readdirp: 3.6.0 require-package-name: 2.0.1 - resolve: 1.22.11 + resolve: 1.22.10 resolve-from: 5.0.0 - semver: 7.7.3 + semver: 7.7.2 yargs: 16.2.0 transitivePeerDependencies: - supports-color depd@2.0.0: {} - dependency-tree@11.2.0: + dependency-tree@10.0.9: dependencies: - commander: 12.1.0 - filing-cabinet: 5.0.3 - precinct: 12.2.0 + commander: 10.0.1 + filing-cabinet: 4.2.0 + precinct: 11.0.5 typescript: 5.8.3 transitivePeerDependencies: - supports-color deps-regex@0.2.0: {} - derive-valtio@0.1.0(valtio@1.13.2(react@18.3.1)): + derive-valtio@0.1.0(valtio@1.13.2(@types/react@19.1.13)(react@19.1.1)): dependencies: - valtio: 1.13.2(react@18.3.1) + valtio: 1.13.2(@types/react@19.1.13)(react@19.1.1) des.js@1.1.0: dependencies: @@ -24264,7 +26290,7 @@ snapshots: detect-indent@6.1.0: {} - detect-libc@2.1.2: + detect-libc@2.0.4: optional: true detect-newline@3.1.0: {} @@ -24272,66 +26298,49 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color - detective-amd@6.0.1: + detective-amd@5.0.2: dependencies: - ast-module-types: 6.0.1 + ast-module-types: 5.0.0 escodegen: 2.1.0 - get-amd-module-type: 6.0.1 - node-source-walk: 7.0.1 + get-amd-module-type: 5.0.1 + node-source-walk: 6.0.2 - detective-cjs@6.0.1: + detective-cjs@5.0.1: dependencies: - ast-module-types: 6.0.1 - node-source-walk: 7.0.1 + ast-module-types: 5.0.0 + node-source-walk: 6.0.2 detective-es6@4.0.1: dependencies: node-source-walk: 6.0.2 - detective-es6@5.0.1: - dependencies: - node-source-walk: 7.0.1 - - detective-postcss@7.0.1(postcss@8.5.6): + detective-postcss@6.1.3: dependencies: is-url: 1.2.4 postcss: 8.5.6 postcss-values-parser: 6.0.2(postcss@8.5.6) - detective-sass@6.0.1: + detective-sass@5.0.3: dependencies: gonzales-pe: 4.3.0 - node-source-walk: 7.0.1 + node-source-walk: 6.0.2 - detective-scss@5.0.1: + detective-scss@4.0.3: dependencies: gonzales-pe: 4.3.0 - node-source-walk: 7.0.1 - - detective-stylus@5.0.1: {} + node-source-walk: 6.0.2 - detective-typescript@14.0.0(typescript@5.8.3): - dependencies: - '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.8.3) - ast-module-types: 6.0.1 - node-source-walk: 7.0.1 - typescript: 5.8.3 - transitivePeerDependencies: - - supports-color + detective-stylus@4.0.0: {} - detective-vue2@2.2.0(typescript@5.8.3): + detective-typescript@11.2.0: dependencies: - '@dependents/detective-less': 5.0.1 - '@vue/compiler-sfc': 3.5.22 - detective-es6: 5.0.1 - detective-sass: 6.0.1 - detective-scss: 5.0.1 - detective-stylus: 5.0.1 - detective-typescript: 14.0.0(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.8.3) + ast-module-types: 5.0.0 + node-source-walk: 6.0.2 typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -24342,6 +26351,8 @@ snapshots: diff@4.0.2: {} + diff@5.2.0: {} + diffie-hellman@5.0.3: dependencies: bn.js: 4.12.2 @@ -24390,6 +26401,10 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 + dotenv-expand@11.0.7: dependencies: dotenv: 16.6.1 @@ -24398,8 +26413,6 @@ snapshots: dotenv@16.6.1: {} - dotenv@17.2.3: {} - driftless@2.0.3: dependencies: present: 0.0.3 @@ -24423,7 +26436,7 @@ snapshots: dependencies: safe-buffer: 5.2.1 - eciesjs@0.4.16: + eciesjs@0.4.15: dependencies: '@ecies/ciphers': 0.2.4(@noble/ciphers@1.3.0) '@noble/ciphers': 1.3.0 @@ -24436,7 +26449,7 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.240: {} + electron-to-chromium@1.5.218: {} elliptic@6.5.4: dependencies: @@ -24464,6 +26477,8 @@ snapshots: emoji-regex@9.2.2: {} + enabled@2.0.0: {} + encode-utf8@1.0.3: {} encodeurl@2.0.0: {} @@ -24473,6 +26488,11 @@ snapshots: iconv-lite: 0.6.3 whatwg-encoding: 3.1.1 + encoding@0.1.13: + dependencies: + iconv-lite: 0.6.3 + optional: true + end-of-stream@1.4.5: dependencies: once: 1.4.0 @@ -24494,7 +26514,7 @@ snapshots: enhanced-resolve@5.18.3: dependencies: graceful-fs: 4.2.11 - tapable: 2.3.0 + tapable: 2.2.3 enquirer@2.3.6: dependencies: @@ -24511,9 +26531,13 @@ snapshots: entities@6.0.1: {} + env-paths@2.2.1: {} + + err-code@2.0.3: {} + err-code@3.0.1: {} - error-ex@1.3.4: + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -24665,10 +26689,11 @@ snapshots: util: 0.12.5 vm-browserify: 1.1.2 - esbuild-node-externals@1.18.0(esbuild@0.19.12): + esbuild-node-externals@1.14.0(esbuild@0.19.2): dependencies: - esbuild: 0.19.12 + esbuild: 0.19.2 find-up: 5.0.0 + tslib: 2.8.1 esbuild-plugin-tsc@0.4.0(typescript@5.8.3): dependencies: @@ -24677,60 +26702,59 @@ snapshots: esbuild-wasm@0.19.12: {} - esbuild@0.19.12: + esbuild@0.19.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - esbuild@0.25.11: + '@esbuild/android-arm': 0.19.2 + '@esbuild/android-arm64': 0.19.2 + '@esbuild/android-x64': 0.19.2 + '@esbuild/darwin-arm64': 0.19.2 + '@esbuild/darwin-x64': 0.19.2 + '@esbuild/freebsd-arm64': 0.19.2 + '@esbuild/freebsd-x64': 0.19.2 + '@esbuild/linux-arm': 0.19.2 + '@esbuild/linux-arm64': 0.19.2 + '@esbuild/linux-ia32': 0.19.2 + '@esbuild/linux-loong64': 0.19.2 + '@esbuild/linux-mips64el': 0.19.2 + '@esbuild/linux-ppc64': 0.19.2 + '@esbuild/linux-riscv64': 0.19.2 + '@esbuild/linux-s390x': 0.19.2 + '@esbuild/linux-x64': 0.19.2 + '@esbuild/netbsd-x64': 0.19.2 + '@esbuild/openbsd-x64': 0.19.2 + '@esbuild/sunos-x64': 0.19.2 + '@esbuild/win32-arm64': 0.19.2 + '@esbuild/win32-ia32': 0.19.2 + '@esbuild/win32-x64': 0.19.2 + + esbuild@0.25.9: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.11 - '@esbuild/android-arm': 0.25.11 - '@esbuild/android-arm64': 0.25.11 - '@esbuild/android-x64': 0.25.11 - '@esbuild/darwin-arm64': 0.25.11 - '@esbuild/darwin-x64': 0.25.11 - '@esbuild/freebsd-arm64': 0.25.11 - '@esbuild/freebsd-x64': 0.25.11 - '@esbuild/linux-arm': 0.25.11 - '@esbuild/linux-arm64': 0.25.11 - '@esbuild/linux-ia32': 0.25.11 - '@esbuild/linux-loong64': 0.25.11 - '@esbuild/linux-mips64el': 0.25.11 - '@esbuild/linux-ppc64': 0.25.11 - '@esbuild/linux-riscv64': 0.25.11 - '@esbuild/linux-s390x': 0.25.11 - '@esbuild/linux-x64': 0.25.11 - '@esbuild/netbsd-arm64': 0.25.11 - '@esbuild/netbsd-x64': 0.25.11 - '@esbuild/openbsd-arm64': 0.25.11 - '@esbuild/openbsd-x64': 0.25.11 - '@esbuild/openharmony-arm64': 0.25.11 - '@esbuild/sunos-x64': 0.25.11 - '@esbuild/win32-arm64': 0.25.11 - '@esbuild/win32-ia32': 0.25.11 - '@esbuild/win32-x64': 0.25.11 + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 escalade@3.2.0: {} @@ -24758,23 +26782,23 @@ snapshots: dependencies: debug: 3.2.7 is-core-module: 2.16.1 - resolve: 1.22.11 + resolve: 1.22.10 transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-plugin-import@2.32.0)(eslint@9.34.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1)(eslint@9.34.0): dependencies: '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) enhanced-resolve: 5.18.3 eslint: 9.34.0 eslint-module-utils: 2.12.1(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.34.0) fast-glob: 3.3.3 - get-tsconfig: 4.13.0 + get-tsconfig: 4.10.1 is-bun-module: 1.3.0 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.34.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.34.0) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node @@ -24788,13 +26812,12 @@ snapshots: '@typescript-eslint/parser': 6.21.0(eslint@9.34.0)(typescript@5.8.3) eslint: 9.34.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-plugin-import@2.32.0)(eslint@9.34.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1)(eslint@9.34.0) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.34.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.34.0)(typescript@5.8.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.34.0): dependencies: - '@rtsao/scc': 1.1.0 array-includes: 3.1.9 array.prototype.findlastindex: 1.2.6 array.prototype.flat: 1.3.3 @@ -24812,7 +26835,6 @@ snapshots: object.groupby: 1.0.3 object.values: 1.2.1 semver: 6.3.1 - string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: '@typescript-eslint/parser': 6.21.0(eslint@9.34.0)(typescript@5.8.3) @@ -24827,7 +26849,7 @@ snapshots: array-includes: 3.1.9 array.prototype.flatmap: 1.3.3 ast-types-flow: 0.0.8 - axe-core: 4.11.0 + axe-core: 4.10.3 axobject-query: 3.1.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 @@ -24853,8 +26875,8 @@ snapshots: eslint@9.34.0: dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.34.0) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.21.1 + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.21.0 '@eslint/config-helpers': 0.3.1 '@eslint/core': 0.15.2 '@eslint/eslintrc': 3.3.1 @@ -24868,7 +26890,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -25017,10 +27039,16 @@ snapshots: eventemitter2@6.4.9: {} + eventemitter3@1.1.1: {} + eventemitter3@4.0.7: {} eventemitter3@5.0.1: {} + events-to-array@2.0.3: {} + + events@1.1.1: {} + events@3.3.0: {} evp_bytestokey@1.0.3: @@ -25065,6 +27093,8 @@ snapshots: jest-mock: 30.2.0 jest-util: 30.2.0 + exponential-backoff@3.1.3: {} + express-rate-limit@8.1.0(express@5.1.0): dependencies: express: 5.1.0 @@ -25078,7 +27108,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -25111,6 +27141,12 @@ snapshots: readable-stream: 3.6.2 webextension-polyfill: 0.10.0 + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + eyes@0.1.8: {} fast-copy@3.0.2: {} @@ -25139,18 +27175,14 @@ snapshots: fast-stable-stringify@1.0.0: {} - fast-uri@3.1.0: {} - fast-xml-parser@5.2.5: dependencies: strnum: 2.1.1 - fast-xml-parser@5.3.0: - dependencies: - strnum: 2.1.1 - fastest-levenshtein@1.0.16: {} + fastestsmallesttextencoderdecoder@1.0.22: {} + fastq@1.19.1: dependencies: reusify: 1.1.0 @@ -25159,10 +27191,16 @@ snapshots: dependencies: bser: 2.1.1 + fdir@6.5.0(picomatch@3.0.1): + optionalDependencies: + picomatch: 3.0.1 + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 + fecha@4.2.3: {} + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 @@ -25178,23 +27216,25 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-uri-to-path@1.0.0: {} + file-uri-to-path@1.0.0: + optional: true filelist@1.0.4: dependencies: minimatch: 5.1.6 - filing-cabinet@5.0.3: + filing-cabinet@4.2.0: dependencies: app-module-path: 2.2.0 - commander: 12.1.0 + commander: 10.0.1 enhanced-resolve: 5.18.3 - module-definition: 6.0.1 - module-lookup-amd: 9.0.5 - resolve: 1.22.11 - resolve-dependency-path: 4.0.1 - sass-lookup: 6.1.0 - stylus-lookup: 6.1.0 + is-relative-path: 1.0.2 + module-definition: 5.0.1 + module-lookup-amd: 8.0.5 + resolve: 1.22.10 + resolve-dependency-path: 3.0.2 + sass-lookup: 5.0.1 + stylus-lookup: 5.0.1 tsconfig-paths: 4.2.0 typescript: 5.8.3 @@ -25210,7 +27250,7 @@ snapshots: finalhandler@2.1.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -25223,6 +27263,10 @@ snapshots: dependencies: array-back: 3.1.0 + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -25249,7 +27293,11 @@ snapshots: flatted@3.3.3: {} - follow-redirects@1.15.11: {} + fn.name@1.1.0: {} + + follow-redirects@1.15.11(debug@4.4.1): + optionalDependencies: + debug: 4.4.1(supports-color@8.1.1) for-each@0.3.5: dependencies: @@ -25284,6 +27332,8 @@ snapshots: fresh@2.0.0: {} + fromentries@1.3.2: {} + front-matter@4.0.2: dependencies: js-yaml: 3.14.1 @@ -25308,6 +27358,14 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs-minipass@3.0.3: + dependencies: + minipass: 7.1.2 + fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -25318,6 +27376,8 @@ snapshots: function-bind@1.1.2: {} + function-loop@4.0.0: {} + function.prototype.name@1.1.8: dependencies: call-bind: 1.0.8 @@ -25329,12 +27389,12 @@ snapshots: functions-have-names@1.2.3: {} - gaxios@6.7.1: + gaxios@6.7.1(encoding@0.1.13): dependencies: extend: 3.0.2 https-proxy-agent: 7.0.6 is-stream: 2.0.1 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) uuid: 9.0.1 transitivePeerDependencies: - encoding @@ -25348,16 +27408,16 @@ snapshots: transitivePeerDependencies: - supports-color - gcp-metadata@6.1.1: + gcp-metadata@6.1.1(encoding@0.1.13): dependencies: - gaxios: 6.7.1 + gaxios: 6.7.1(encoding@0.1.13) google-logging-utils: 0.0.2 json-bigint: 1.0.0 transitivePeerDependencies: - encoding - supports-color - gcp-metadata@8.1.1: + gcp-metadata@7.0.1: dependencies: gaxios: 7.1.2 google-logging-utils: 1.1.1 @@ -25365,16 +27425,14 @@ snapshots: transitivePeerDependencies: - supports-color - generator-function@2.0.1: {} - generic-pool@3.9.0: {} gensync@1.0.0-beta.2: {} - get-amd-module-type@6.0.1: + get-amd-module-type@5.0.1: dependencies: - ast-module-types: 6.0.1 - node-source-walk: 7.0.1 + ast-module-types: 5.0.0 + node-source-walk: 6.0.2 get-caller-file@2.0.5: {} @@ -25414,7 +27472,7 @@ snapshots: get-them-args@1.3.2: {} - get-tsconfig@4.13.0: + get-tsconfig@4.10.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -25498,25 +27556,25 @@ snapshots: dependencies: minimist: 1.2.8 - google-auth-library@10.4.2: + google-auth-library@10.4.0: dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 gaxios: 7.1.2 - gcp-metadata: 8.1.1 + gcp-metadata: 7.0.1 google-logging-utils: 1.1.1 gtoken: 8.0.0 jws: 4.0.0 transitivePeerDependencies: - supports-color - google-auth-library@9.15.1: + google-auth-library@9.15.1(encoding@0.1.13): dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 - gaxios: 6.7.1 - gcp-metadata: 6.1.1 - gtoken: 7.1.0 + gaxios: 6.7.1(encoding@0.1.13) + gcp-metadata: 6.1.1(encoding@0.1.13) + gtoken: 7.1.0(encoding@0.1.13) jws: 4.0.0 transitivePeerDependencies: - encoding @@ -25524,10 +27582,10 @@ snapshots: google-gax@5.0.4: dependencies: - '@grpc/grpc-js': 1.14.0 + '@grpc/grpc-js': 1.13.4 '@grpc/proto-loader': 0.8.0 duplexify: 4.1.3 - google-auth-library: 10.4.2 + google-auth-library: 10.4.0 google-logging-utils: 1.1.1 node-fetch: 3.3.2 object-hash: 3.0.0 @@ -25541,6 +27599,8 @@ snapshots: google-logging-utils@1.1.1: {} + google-protobuf@3.6.1: {} + gopd@1.2.0: {} got@11.8.6: @@ -25561,9 +27621,9 @@ snapshots: graphemer@1.4.0: {} - gtoken@7.1.0: + gtoken@7.1.0(encoding@0.1.13): dependencies: - gaxios: 6.7.1 + gaxios: 6.7.1(encoding@0.1.13) jws: 4.0.0 transitivePeerDependencies: - encoding @@ -25622,17 +27682,14 @@ snapshots: dependencies: has-symbols: 1.1.0 - hash-base@3.0.5: + hash-base@2.0.2: dependencies: inherits: 2.0.4 - safe-buffer: 5.2.1 - hash-base@3.1.2: + hash-base@3.0.5: dependencies: inherits: 2.0.4 - readable-stream: 2.3.8 safe-buffer: 5.2.1 - to-buffer: 1.2.2 hash.js@1.1.7: dependencies: @@ -25647,6 +27704,8 @@ snapshots: help-me@5.0.0: {} + hex2dec@1.0.1: {} + hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 @@ -25657,7 +27716,7 @@ snapshots: dependencies: parse-passwd: 1.0.0 - hono@4.10.2: {} + hono@4.10.1: {} hosted-git-info@2.8.9: {} @@ -25702,14 +27761,14 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -25723,25 +27782,25 @@ snapshots: https-proxy-agent@5.0.0: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color - human-id@4.1.2: {} + human-id@4.1.1: {} human-signals@2.1.0: {} @@ -25749,6 +27808,10 @@ snapshots: dependencies: ms: 2.1.3 + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -25765,8 +27828,14 @@ snapshots: dependencies: harmony-reflect: 1.6.2 + ieee754@1.1.13: {} + ieee754@1.2.1: {} + ignore-walk@6.0.5: + dependencies: + minimatch: 9.0.5 + ignore@5.3.2: {} import-fresh@3.3.1: @@ -25779,10 +27848,14 @@ snapshots: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 + import-meta-resolve@3.1.1: {} + imurmurhash@0.1.4: {} indent-string@4.0.0: {} + indent-string@5.0.0: {} + inflight@1.0.6: dependencies: once: 1.4.0 @@ -25794,6 +27867,42 @@ snapshots: ini@1.3.8: {} + ini@4.1.3: {} + + ink@4.4.1(@types/react@19.1.13)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@5.0.10): + dependencies: + '@alcalzone/ansi-tokenize': 0.1.3 + ansi-escapes: 6.2.1 + auto-bind: 5.0.1 + chalk: 5.6.2 + cli-boxes: 3.0.0 + cli-cursor: 4.0.0 + cli-truncate: 3.1.0 + code-excerpt: 4.0.0 + indent-string: 5.0.0 + is-ci: 3.0.1 + is-lower-case: 2.0.2 + is-upper-case: 2.0.2 + lodash: 4.17.21 + patch-console: 2.0.0 + react: 18.3.1 + react-reconciler: 0.29.2(react@18.3.1) + scheduler: 0.23.2 + signal-exit: 3.0.7 + slice-ansi: 6.0.0 + stack-utils: 2.0.6 + string-width: 5.1.2 + type-fest: 0.12.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + yoga-wasm-web: 0.3.3 + optionalDependencies: + '@types/react': 19.1.13 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + interface-blockstore@4.0.1: dependencies: interface-store: 3.0.4 @@ -25813,11 +27922,11 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - ioredis@5.8.2: + ioredis@5.7.0: dependencies: - '@ioredis/commands': 1.4.0 + '@ioredis/commands': 1.3.1 cluster-key-slot: 1.1.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -25833,15 +27942,15 @@ snapshots: ipaddr.js@1.9.1: {} - ipfs-only-hash@4.0.0: + ipfs-only-hash@4.0.0(encoding@0.1.13): dependencies: - ipfs-unixfs-importer: 7.0.3 + ipfs-unixfs-importer: 7.0.3(encoding@0.1.13) meow: 9.0.0 transitivePeerDependencies: - encoding - supports-color - ipfs-unixfs-importer@12.0.1: + ipfs-unixfs-importer@12.0.1(encoding@0.1.13): dependencies: '@ipld/dag-pb': 4.1.5 '@multiformats/murmur3': 2.1.8 @@ -25855,14 +27964,14 @@ snapshots: it-parallel-batch: 2.0.1 merge-options: 3.0.4 multiformats: 11.0.2 - rabin-wasm: 0.1.5 + rabin-wasm: 0.1.5(encoding@0.1.13) uint8arraylist: 2.4.8 - uint8arrays: 4.0.10 + uint8arrays: 4.0.3 transitivePeerDependencies: - encoding - supports-color - ipfs-unixfs-importer@7.0.3: + ipfs-unixfs-importer@7.0.3(encoding@0.1.13): dependencies: bl: 5.1.0 cids: 1.1.9 @@ -25876,7 +27985,7 @@ snapshots: it-parallel-batch: 1.0.11 merge-options: 3.0.4 multihashing-async: 2.1.4 - rabin-wasm: 0.1.5 + rabin-wasm: 0.1.5(encoding@0.1.13) uint8arrays: 2.1.10 transitivePeerDependencies: - encoding @@ -25904,6 +28013,8 @@ snapshots: iron-webcrypto@1.2.1: {} + is-actual-promise@1.0.2: {} + is-arguments@1.2.0: dependencies: call-bound: 1.0.4 @@ -25940,10 +28051,14 @@ snapshots: is-bun-module@1.3.0: dependencies: - semver: 7.7.3 + semver: 7.7.2 is-callable@1.2.7: {} + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 + is-core-module@2.16.1: dependencies: hasown: 2.0.2 @@ -25971,12 +28086,13 @@ snapshots: is-fullwidth-code-point@3.0.0: {} + is-fullwidth-code-point@4.0.0: {} + is-generator-fn@2.1.0: {} - is-generator-function@1.1.2: + is-generator-function@1.1.0: dependencies: call-bound: 1.0.4 - generator-function: 2.0.1 get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 @@ -25993,6 +28109,12 @@ snapshots: is-interactive@1.0.0: {} + is-lambda@1.0.1: {} + + is-lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + is-map@2.0.3: {} is-nan@1.3.2: @@ -26011,10 +28133,14 @@ snapshots: is-obj@1.0.1: {} + is-obj@2.0.0: {} + is-plain-obj@1.1.0: {} is-plain-obj@2.1.0: {} + is-plain-object@5.0.0: {} + is-potential-custom-element-name@1.0.1: {} is-promise@4.0.0: {} @@ -26028,6 +28154,8 @@ snapshots: is-regexp@1.0.0: {} + is-relative-path@1.0.2: {} + is-set@2.0.3: {} is-shared-array-buffer@1.0.4: @@ -26036,8 +28164,6 @@ snapshots: is-stream@2.0.1: {} - is-stream@3.0.0: {} - is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -26059,6 +28185,10 @@ snapshots: is-unicode-supported@0.1.0: {} + is-upper-case@2.0.2: + dependencies: + tslib: 2.8.1 + is-url-superb@4.0.0: {} is-url@1.2.4: {} @@ -26098,6 +28228,10 @@ snapshots: isexe@3.1.1: {} + isomorphic-ws@4.0.1(ws@5.2.4(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + dependencies: + ws: 5.2.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -26115,7 +28249,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.28.5 - '@babel/parser': 7.28.5 + '@babel/parser': 7.28.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -26125,10 +28259,10 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: '@babel/core': 7.28.5 - '@babel/parser': 7.28.5 + '@babel/parser': 7.28.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.7.3 + semver: 7.7.2 transitivePeerDependencies: - supports-color @@ -26140,7 +28274,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -26149,7 +28283,7 @@ snapshots: istanbul-lib-source-maps@5.0.6: dependencies: '@jridgewell/trace-mapping': 0.3.31 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -26364,7 +28498,7 @@ snapshots: '@jest/types': 30.2.0 babel-jest: 30.2.0(@babel/core@7.28.5) chalk: 4.1.2 - ci-info: 4.3.1 + ci-info: 4.3.0 deepmerge: 4.3.1 glob: 10.4.5 graceful-fs: 4.2.11 @@ -26603,7 +28737,7 @@ snapshots: jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) jest-util: 29.7.0 jest-validate: 29.7.0 - resolve: 1.22.11 + resolve: 1.22.10 resolve.exports: 2.0.3 slash: 3.0.0 @@ -26683,7 +28817,7 @@ snapshots: '@types/node': 20.0.0 chalk: 4.1.2 cjs-module-lexer: 1.4.3 - collect-v8-coverage: 1.0.3 + collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 jest-haste-map: 29.7.0 @@ -26710,7 +28844,7 @@ snapshots: '@types/node': 20.0.0 chalk: 4.1.2 cjs-module-lexer: 2.1.0 - collect-v8-coverage: 1.0.3 + collect-v8-coverage: 1.0.2 glob: 10.4.5 graceful-fs: 4.2.11 jest-haste-map: 30.2.0 @@ -26728,10 +28862,10 @@ snapshots: jest-snapshot@29.7.0: dependencies: '@babel/core': 7.28.5 - '@babel/generator': 7.28.5 + '@babel/generator': 7.28.3 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) - '@babel/types': 7.28.5 + '@babel/types': 7.28.4 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -26746,17 +28880,17 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.7.3 + semver: 7.7.2 transitivePeerDependencies: - supports-color jest-snapshot@30.2.0: dependencies: '@babel/core': 7.28.5 - '@babel/generator': 7.28.5 + '@babel/generator': 7.28.3 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) - '@babel/types': 7.28.5 + '@babel/types': 7.28.4 '@jest/expect-utils': 30.2.0 '@jest/get-type': 30.1.0 '@jest/snapshot-utils': 30.2.0 @@ -26771,7 +28905,7 @@ snapshots: jest-message-util: 30.2.0 jest-util: 30.2.0 pretty-format: 30.2.0 - semver: 7.7.3 + semver: 7.7.2 synckit: 0.11.11 transitivePeerDependencies: - supports-color @@ -26790,7 +28924,7 @@ snapshots: '@jest/types': 30.2.0 '@types/node': 20.0.0 chalk: 4.1.2 - ci-info: 4.3.1 + ci-info: 4.3.0 graceful-fs: 4.2.11 picomatch: 4.0.3 @@ -26849,7 +28983,7 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)): + jest@29.2.2(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)): dependencies: '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)) '@jest/types': 29.6.3 @@ -26884,7 +29018,7 @@ snapshots: '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 - jose@4.15.9: {} + jose@4.14.4: {} jose@5.10.0: {} @@ -26940,6 +29074,8 @@ snapshots: jsep@1.4.0: {} + jsesc@3.0.2: {} + jsesc@3.1.0: {} json-bigint@1.0.0: @@ -26950,6 +29086,8 @@ snapshots: json-parse-even-better-errors@2.3.1: {} + json-parse-even-better-errors@3.0.2: {} + json-rpc-engine@6.1.0: dependencies: '@metamask/safe-event-emitter': 2.0.0 @@ -26961,6 +29099,8 @@ snapshots: json-schema-traverse@1.0.0: {} + json-schema-typed@7.0.3: {} + json-stable-stringify-without-jsonify@1.0.1: {} json-stringify-safe@5.0.1: {} @@ -26973,12 +29113,12 @@ snapshots: json5@2.2.3: {} - jsonc-eslint-parser@2.4.1: + jsonc-eslint-parser@2.4.0: dependencies: acorn: 8.15.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - semver: 7.7.3 + semver: 7.7.2 jsonc-parser@3.2.0: {} @@ -26992,6 +29132,8 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonparse@1.3.1: {} + jsonpath-plus@10.3.0: dependencies: '@jsep-plugin/assignment': 1.3.0(jsep@1.4.0) @@ -27009,7 +29151,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.7.3 + semver: 7.7.2 jsrsasign@10.9.0: {} @@ -27069,6 +29211,8 @@ snapshots: kleur@3.0.3: {} + kuler@2.0.0: {} + language-subtag-registry@0.3.23: {} language-tags@1.0.9: @@ -27086,6 +29230,19 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightstep-tracer@0.31.2(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + async: 1.5.0 + eventemitter3: 1.1.1 + google-protobuf: 3.6.1 + hex2dec: 1.0.1 + opentracing: 0.14.7 + source-map-support: 0.3.3 + thrift: 0.14.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -27112,6 +29269,11 @@ snapshots: lit-element: 4.2.1 lit-html: 3.3.1 + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -27165,6 +29327,15 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 + logform@2.7.0: + dependencies: + '@colors/colors': 1.6.0 + '@types/triple-beam': 1.3.5 + fecha: 4.2.3 + ms: 2.1.3 + safe-stable-stringify: 2.5.0 + triple-beam: 1.4.1 + long@4.0.0: {} long@5.3.2: {} @@ -27177,7 +29348,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.2.2: {} + lru-cache@11.2.1: {} lru-cache@5.1.1: dependencies: @@ -27197,10 +29368,27 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.3 + semver: 7.7.2 make-error@1.3.6: {} + make-fetch-happen@13.0.1: + dependencies: + '@npmcli/agent': 2.2.2 + cacache: 18.0.4 + http-cache-semantics: 4.2.0 + is-lambda: 1.0.1 + minipass: 7.1.2 + minipass-fetch: 3.0.5 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.4 + proc-log: 4.2.0 + promise-retry: 2.0.1 + ssri: 10.0.6 + transitivePeerDependencies: + - supports-color + makeerror@1.0.12: dependencies: tmpl: 1.0.5 @@ -27285,6 +29473,8 @@ snapshots: mimic-fn@2.1.0: {} + mimic-fn@3.1.0: {} + mimic-response@1.0.1: {} mimic-response@3.1.0: {} @@ -27327,8 +29517,48 @@ snapshots: minimist@1.2.8: {} + minipass-collect@2.0.1: + dependencies: + minipass: 7.1.2 + + minipass-fetch@3.0.5: + dependencies: + minipass: 7.1.2 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + + minipass-flush@1.0.5: + dependencies: + minipass: 3.3.6 + + minipass-json-stream@1.0.2: + dependencies: + jsonparse: 1.3.1 + minipass: 3.3.6 + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + + minipass-sized@1.0.3: + dependencies: + minipass: 3.3.6 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + minipass@7.1.2: {} + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + mipd@0.0.7(typescript@5.8.3): optionalDependencies: typescript: 5.8.3 @@ -27339,16 +29569,22 @@ snapshots: transitivePeerDependencies: - supports-color + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + mkdirp@1.0.4: {} - module-definition@6.0.1: + mkdirp@3.0.1: {} + + module-definition@5.0.1: dependencies: - ast-module-types: 6.0.1 - node-source-walk: 7.0.1 + ast-module-types: 5.0.0 + node-source-walk: 6.0.2 - module-lookup-amd@9.0.5: + module-lookup-amd@8.0.5: dependencies: - commander: 12.1.0 + commander: 10.0.1 glob: 7.2.3 requirejs: 2.3.7 requirejs-config-file: 4.0.0 @@ -27390,9 +29626,7 @@ snapshots: multiformats@11.0.2: {} - multiformats@12.1.3: {} - - multiformats@13.4.1: {} + multiformats@13.4.0: {} multiformats@9.9.0: {} @@ -27436,6 +29670,8 @@ snapshots: natural-compare@1.4.0: {} + negotiator@0.6.4: {} + negotiator@1.0.0: {} node-abort-controller@3.1.1: {} @@ -27446,9 +29682,11 @@ snapshots: node-fetch-native@1.6.7: {} - node-fetch@2.7.0: + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 node-fetch@3.3.2: dependencies: @@ -27458,11 +29696,26 @@ snapshots: node-gyp-build-optional-packages@5.2.2: dependencies: - detect-libc: 2.1.2 + detect-libc: 2.0.4 optional: true node-gyp-build@4.8.4: {} + node-gyp@10.3.1: + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.3 + glob: 10.4.5 + graceful-fs: 4.2.11 + make-fetch-happen: 13.0.1 + nopt: 7.2.1 + proc-log: 4.2.0 + semver: 7.7.2 + tar: 6.2.1 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + node-int64@0.4.0: {} node-localstorage@3.0.5: @@ -27473,22 +29726,22 @@ snapshots: node-mock-http@1.0.3: {} - node-releases@2.0.26: {} + node-releases@2.0.20: {} node-source-walk@6.0.2: dependencies: - '@babel/parser': 7.28.5 - - node-source-walk@7.0.1: - dependencies: - '@babel/parser': 7.28.5 + '@babel/parser': 7.28.4 nofilter@1.0.4: {} + nopt@7.2.1: + dependencies: + abbrev: 2.0.0 + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.11 + resolve: 1.22.10 semver: 5.7.2 validate-npm-package-license: 3.0.4 @@ -27496,20 +29749,60 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.16.1 - semver: 7.7.3 + semver: 7.7.2 + validate-npm-package-license: 3.0.4 + + normalize-package-data@6.0.2: + dependencies: + hosted-git-info: 7.0.2 + semver: 7.7.2 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} normalize-url@6.1.0: {} + npm-bundled@3.0.1: + dependencies: + npm-normalize-package-bin: 3.0.1 + + npm-install-checks@6.3.0: + dependencies: + semver: 7.7.2 + + npm-normalize-package-bin@3.0.1: {} + npm-package-arg@11.0.1: dependencies: hosted-git-info: 7.0.2 proc-log: 3.0.0 - semver: 7.7.3 + semver: 7.7.2 validate-npm-package-name: 5.0.1 + npm-packlist@8.0.2: + dependencies: + ignore-walk: 6.0.5 + + npm-pick-manifest@9.1.0: + dependencies: + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 + npm-package-arg: 11.0.1 + semver: 7.7.2 + + npm-registry-fetch@16.2.1: + dependencies: + '@npmcli/redact': 1.1.0 + make-fetch-happen: 13.0.1 + minipass: 7.1.2 + minipass-fetch: 3.0.5 + minipass-json-stream: 1.0.2 + minizlib: 2.1.2 + npm-package-arg: 11.0.1 + proc-log: 4.2.0 + transitivePeerDependencies: + - supports-color + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -27526,7 +29819,7 @@ snapshots: '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.2 '@zkochan/js-yaml': 0.0.7 - axios: 1.12.2 + axios: 1.12.0(debug@4.4.1) chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -27547,7 +29840,7 @@ snapshots: open: 8.4.2 ora: 5.3.0 resolve.exports: 2.0.3 - semver: 7.7.3 + semver: 7.7.2 string-width: 4.2.3 tar-stream: 2.2.0 tmp: 0.2.5 @@ -27639,6 +29932,10 @@ snapshots: dependencies: wrappy: 1.0.2 + one-time@1.0.0: + dependencies: + fn.name: 1.1.0 + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 @@ -27662,6 +29959,8 @@ snapshots: openapi-typescript-helpers@0.0.15: {} + opener@1.5.2: {} + opentracing@0.14.7: {} optionator@0.9.4: @@ -27697,6 +29996,8 @@ snapshots: os-browserify@0.3.0: {} + os-tmpdir@1.0.2: {} + outdent@0.5.0: {} own-keys@1.0.1: @@ -27707,12 +30008,12 @@ snapshots: ox@0.6.7(typescript@5.8.3)(zod@3.24.3): dependencies: - '@adraffy/ens-normalize': 1.11.1 + '@adraffy/ens-normalize': 1.11.0 '@noble/curves': 1.8.1 '@noble/hashes': 1.8.0 - '@scure/bip32': 1.6.2 - '@scure/bip39': 1.5.4 - abitype: 1.0.8(typescript@5.8.3)(zod@3.24.3) + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.1.0(typescript@5.8.3)(zod@3.24.3) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.8.3 @@ -27721,57 +30022,57 @@ snapshots: ox@0.6.9(typescript@5.8.3)(zod@3.24.3): dependencies: - '@adraffy/ens-normalize': 1.11.1 + '@adraffy/ens-normalize': 1.11.0 '@noble/curves': 1.8.1 '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.1.1(typescript@5.8.3)(zod@3.24.3) + abitype: 1.1.0(typescript@5.8.3)(zod@3.24.3) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - zod - ox@0.9.12(typescript@5.8.3)(zod@4.1.12): + ox@0.9.6(typescript@5.8.3)(zod@3.22.4): dependencies: - '@adraffy/ens-normalize': 1.11.1 + '@adraffy/ens-normalize': 1.11.0 '@noble/ciphers': 1.3.0 '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.1.1(typescript@5.8.3)(zod@4.1.12) + abitype: 1.1.0(typescript@5.8.3)(zod@3.22.4) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - zod - ox@0.9.6(typescript@5.8.3)(zod@3.22.4): + ox@0.9.6(typescript@5.8.3)(zod@3.24.3): dependencies: - '@adraffy/ens-normalize': 1.11.1 + '@adraffy/ens-normalize': 1.11.0 '@noble/ciphers': 1.3.0 '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.1.0(typescript@5.8.3)(zod@3.22.4) + abitype: 1.1.0(typescript@5.8.3)(zod@3.24.3) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - zod - ox@0.9.6(typescript@5.8.3)(zod@3.24.3): + ox@0.9.6(typescript@5.8.3)(zod@4.1.12): dependencies: - '@adraffy/ens-normalize': 1.11.1 + '@adraffy/ens-normalize': 1.11.0 '@noble/ciphers': 1.3.0 '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.1.0(typescript@5.8.3)(zod@3.24.3) + abitype: 1.1.0(typescript@5.8.3)(zod@4.1.12) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.8.3 @@ -27792,6 +30093,10 @@ snapshots: dependencies: yocto-queue: 0.1.0 + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -27802,6 +30107,10 @@ snapshots: p-map@2.1.0: {} + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + p-try@2.2.0: {} package-json-from-dist@1.0.1: {} @@ -27810,6 +30119,30 @@ snapshots: dependencies: quansync: 0.2.11 + pacote@17.0.7: + dependencies: + '@npmcli/git': 5.0.8 + '@npmcli/installed-package-contents': 2.1.0 + '@npmcli/promise-spawn': 7.0.2 + '@npmcli/run-script': 7.0.4 + cacache: 18.0.4 + fs-minipass: 3.0.3 + minipass: 7.1.2 + npm-package-arg: 11.0.1 + npm-packlist: 8.0.2 + npm-pick-manifest: 9.1.0 + npm-registry-fetch: 16.2.1 + proc-log: 4.2.0 + promise-retry: 2.0.1 + read-package-json: 7.0.1 + read-package-json-fast: 3.0.2 + sigstore: 2.3.1 + ssri: 10.0.6 + tar: 6.2.1 + transitivePeerDependencies: + - bluebird + - supports-color + pako@1.0.11: {} pako@2.1.0: {} @@ -27818,18 +30151,19 @@ snapshots: dependencies: callsites: 3.1.0 - parse-asn1@5.1.9: + parse-asn1@5.1.7: dependencies: asn1.js: 4.10.1 browserify-aes: 1.2.0 evp_bytestokey: 1.0.3 - pbkdf2: 3.1.5 + hash-base: 3.0.5 + pbkdf2: 3.1.3 safe-buffer: 5.2.1 parse-json@5.2.0: dependencies: '@babel/code-frame': 7.27.1 - error-ex: 1.3.4 + error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -27850,8 +30184,12 @@ snapshots: parseurl@1.3.3: {} + patch-console@2.0.0: {} + path-browserify@1.0.1: {} + path-exists@3.0.0: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -27867,7 +30205,7 @@ snapshots: path-scurry@2.0.0: dependencies: - lru-cache: 11.2.2 + lru-cache: 11.2.1 minipass: 7.1.2 path-to-regexp@8.3.0: {} @@ -27879,19 +30217,21 @@ snapshots: process: 0.11.10 util: 0.10.4 - pbkdf2@3.1.5: + pbkdf2@3.1.3: dependencies: - create-hash: 1.2.0 + create-hash: 1.1.3 create-hmac: 1.1.7 - ripemd160: 2.0.3 + ripemd160: 2.0.1 safe-buffer: 5.2.1 sha.js: 2.4.12 - to-buffer: 1.2.2 + to-buffer: 1.2.1 picocolors@1.1.1: {} picomatch@2.3.1: {} + picomatch@3.0.1: {} + picomatch@4.0.2: {} picomatch@4.0.3: {} @@ -27915,7 +30255,7 @@ snapshots: dependencies: source-map-support: 0.5.21 - pino-pretty@13.1.2: + pino-pretty@13.0.0: dependencies: colorette: 2.0.20 dateformat: 4.6.3 @@ -27927,9 +30267,9 @@ snapshots: on-exit-leak-free: 2.1.2 pino-abstract-transport: 2.0.0 pump: 3.0.3 - secure-json-parse: 4.1.0 + secure-json-parse: 2.7.0 sonic-boom: 4.2.0 - strip-json-comments: 5.0.3 + strip-json-comments: 3.1.1 pino-std-serializers@4.0.0: {} @@ -27949,14 +30289,14 @@ snapshots: sonic-boom: 2.8.0 thread-stream: 0.15.2 - pino@9.14.0: + pino@9.6.0: dependencies: - '@pinojs/redact': 0.4.0 atomic-sleep: 1.0.0 + fast-redact: 3.5.0 on-exit-leak-free: 2.1.2 pino-abstract-transport: 2.0.0 pino-std-serializers: 7.0.0 - process-warning: 5.0.0 + process-warning: 4.0.1 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.5.0 @@ -27969,11 +30309,15 @@ snapshots: dependencies: find-up: 4.1.0 - playwright-core@1.55.0: {} + pkg-up@3.1.0: + dependencies: + find-up: 3.0.0 + + playwright-core@1.52.0: {} - playwright@1.55.0: + playwright@1.52.0: dependencies: - playwright-core: 1.55.0 + playwright-core: 1.52.0 optionalDependencies: fsevents: 2.3.2 @@ -27983,23 +30327,27 @@ snapshots: pngjs@5.0.0: {} + polite-json@4.0.1: {} + + polite-json@5.0.0: {} + pony-cause@2.1.11: {} - porto@0.2.19(@tanstack/react-query@5.90.5(react@18.3.1))(@wagmi/core@2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)))(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(wagmi@2.18.2(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3)): + porto@0.2.19(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(@wagmi/core@2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)))(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(wagmi@2.18.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/query-core@5.87.4)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3)): dependencies: - '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) - hono: 4.10.2 + '@wagmi/core': 2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) + hono: 4.10.1 idb-keyval: 6.2.2 mipd: 0.0.7(typescript@5.8.3) - ox: 0.9.12(typescript@5.8.3)(zod@4.1.12) - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + ox: 0.9.6(typescript@5.8.3)(zod@4.1.12) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) zod: 4.1.12 - zustand: 5.0.8(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) + zustand: 5.0.8(@types/react@19.1.13)(react@19.1.1)(use-sync-external-store@1.4.0(react@19.1.1)) optionalDependencies: - '@tanstack/react-query': 5.90.5(react@18.3.1) - react: 18.3.1 + '@tanstack/react-query': 5.87.4(react@19.1.1) + react: 19.1.1 typescript: 5.8.3 - wagmi: 2.18.2(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3) + wagmi: 2.18.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/query-core@5.87.4)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3) transitivePeerDependencies: - '@types/react' - immer @@ -28020,27 +30368,30 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + posthog-node@4.18.0(debug@4.4.1): + dependencies: + axios: 1.12.0(debug@4.4.1) + transitivePeerDependencies: + - debug + preact@10.24.2: {} - preact@10.27.2: {} - - precinct@12.2.0: - dependencies: - '@dependents/detective-less': 5.0.1 - commander: 12.1.0 - detective-amd: 6.0.1 - detective-cjs: 6.0.1 - detective-es6: 5.0.1 - detective-postcss: 7.0.1(postcss@8.5.6) - detective-sass: 6.0.1 - detective-scss: 5.0.1 - detective-stylus: 5.0.1 - detective-typescript: 14.0.0(typescript@5.8.3) - detective-vue2: 2.2.0(typescript@5.8.3) - module-definition: 6.0.1 - node-source-walk: 7.0.1 - postcss: 8.5.6 - typescript: 5.8.3 + preact@10.27.1: {} + + precinct@11.0.5: + dependencies: + '@dependents/detective-less': 4.1.0 + commander: 10.0.1 + detective-amd: 5.0.2 + detective-cjs: 5.0.1 + detective-es6: 4.0.1 + detective-postcss: 6.1.3 + detective-sass: 5.0.3 + detective-scss: 4.0.3 + detective-stylus: 4.0.0 + detective-typescript: 11.2.0 + module-definition: 5.0.1 + node-source-walk: 6.0.2 transitivePeerDependencies: - supports-color @@ -28068,13 +30419,27 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + prismjs-terminal@1.2.3: + dependencies: + chalk: 5.6.2 + prismjs: 1.30.0 + string-length: 6.0.0 + + prismjs@1.30.0: {} + proc-log@3.0.0: {} + proc-log@4.2.0: {} + process-nextick-args@2.0.1: {} + process-on-spawn@1.1.0: + dependencies: + fromentries: 1.3.2 + process-warning@1.0.0: {} - process-warning@5.0.0: {} + process-warning@4.0.1: {} process@0.11.10: {} @@ -28087,6 +30452,13 @@ snapshots: '@opentelemetry/api': 1.9.0 tdigest: 0.1.2 + promise-inflight@1.0.1: {} + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -28145,7 +30517,7 @@ snapshots: bn.js: 4.12.2 browserify-rsa: 4.1.1 create-hash: 1.2.0 - parse-asn1: 5.1.9 + parse-asn1: 5.1.7 randombytes: 2.1.0 safe-buffer: 5.2.1 @@ -28156,6 +30528,8 @@ snapshots: punycode.js@2.3.1: {} + punycode@1.3.2: {} + punycode@1.4.1: {} punycode@2.3.1: {} @@ -28170,6 +30544,8 @@ snapshots: pvutils@1.1.3: {} + q@1.5.1: {} + qrcode@1.5.3: dependencies: dijkstrajs: 1.0.3 @@ -28192,6 +30568,8 @@ snapshots: querystring-es3@0.2.1: {} + querystring@0.2.0: {} + querystringify@2.2.0: {} queue-microtask@1.2.3: {} @@ -28204,13 +30582,13 @@ snapshots: quote-unquote@1.0.0: {} - rabin-wasm@0.1.5: + rabin-wasm@0.1.5(encoding@0.1.13): dependencies: '@assemblyscript/loader': 0.9.4 bl: 5.1.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) minimist: 1.2.8 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) readable-stream: 3.6.2 transitivePeerDependencies: - encoding @@ -28243,14 +30621,58 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 + react-dom@18.3.1(react@19.1.1): + dependencies: + loose-envify: 1.4.0 + react: 19.1.1 + scheduler: 0.23.2 + + react-element-to-jsx-string@15.0.0(react-dom@18.3.1(react@19.1.1))(react@18.3.1): + dependencies: + '@base2/pretty-print-object': 1.0.1 + is-plain-object: 5.0.0 + react: 18.3.1 + react-dom: 18.3.1(react@19.1.1) + react-is: 18.1.0 + + react-element-to-jsx-string@15.0.0(react-dom@18.3.1(react@19.1.1))(react@19.1.1): + dependencies: + '@base2/pretty-print-object': 1.0.1 + is-plain-object: 5.0.0 + react: 19.1.1 + react-dom: 18.3.1(react@19.1.1) + react-is: 18.1.0 + react-is@17.0.2: {} + react-is@18.1.0: {} + react-is@18.3.1: {} + react-reconciler@0.29.2(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + react@18.3.1: dependencies: loose-envify: 1.4.0 + react@19.1.1: {} + + read-package-json-fast@3.0.2: + dependencies: + json-parse-even-better-errors: 3.0.2 + npm-normalize-package-bin: 3.0.1 + + read-package-json@7.0.1: + dependencies: + glob: 10.4.5 + json-parse-even-better-errors: 3.0.2 + normalize-package-data: 6.0.2 + npm-normalize-package-bin: 3.0.1 + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -28312,14 +30734,14 @@ snapshots: dependencies: redis-errors: 1.2.0 - redis@4.7.1: + redis@4.6.13: dependencies: - '@redis/bloom': 1.2.0(@redis/client@1.6.1) - '@redis/client': 1.6.1 - '@redis/graph': 1.1.1(@redis/client@1.6.1) - '@redis/json': 1.0.7(@redis/client@1.6.1) - '@redis/search': 1.2.0(@redis/client@1.6.1) - '@redis/time-series': 1.1.0(@redis/client@1.6.1) + '@redis/bloom': 1.2.0(@redis/client@1.5.14) + '@redis/client': 1.5.14 + '@redis/graph': 1.1.1(@redis/client@1.5.14) + '@redis/json': 1.0.6(@redis/client@1.5.14) + '@redis/search': 1.1.6(@redis/client@1.5.14) + '@redis/time-series': 1.0.5(@redis/client@1.5.14) reduce-flatten@2.0.0: {} @@ -28349,20 +30771,20 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - regexpu-core@6.4.0: + regexpu-core@6.3.1: dependencies: regenerate: 1.4.2 regenerate-unicode-properties: 10.2.2 regjsgen: 0.8.0 - regjsparser: 0.13.0 + regjsparser: 0.12.0 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.1 regjsgen@0.8.0: {} - regjsparser@0.13.0: + regjsparser@0.12.0: dependencies: - jsesc: 3.1.0 + jsesc: 3.0.2 require-directory@2.1.1: {} @@ -28387,7 +30809,7 @@ snapshots: dependencies: resolve-from: 5.0.0 - resolve-dependency-path@4.0.1: {} + resolve-dependency-path@3.0.2: {} resolve-dir@1.0.1: dependencies: @@ -28398,11 +30820,16 @@ snapshots: resolve-from@5.0.0: {} + resolve-import@1.4.6: + dependencies: + glob: 10.4.5 + walk-up-path: 3.0.1 + resolve-pkg-maps@1.0.0: {} resolve.exports@2.0.3: {} - resolve@1.22.11: + resolve@1.22.10: dependencies: is-core-module: 2.16.1 path-parse: 1.0.7 @@ -28417,6 +30844,11 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 + restore-cursor@4.0.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + retry-request@8.0.2: dependencies: extend: 3.0.2 @@ -28424,21 +30856,40 @@ snapshots: transitivePeerDependencies: - supports-color + retry@0.12.0: {} + reusify@1.1.0: {} + rimraf@2.6.3: + dependencies: + glob: 7.2.3 + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rimraf@5.0.10: + dependencies: + glob: 10.4.5 + rimraf@6.0.1: dependencies: glob: 11.0.3 package-json-from-dist: 1.0.1 - ripemd160@2.0.3: + ripemd160@2.0.1: dependencies: - hash-base: 3.1.2 + hash-base: 2.0.2 + inherits: 2.0.4 + + ripemd160@2.0.2: + dependencies: + hash-base: 3.0.5 inherits: 2.0.4 router@2.2.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 @@ -28446,7 +30897,7 @@ snapshots: transitivePeerDependencies: - supports-color - rpc-websockets@9.2.0: + rpc-websockets@9.1.3: dependencies: '@swc/helpers': 0.5.17 '@types/uuid': 8.3.4 @@ -28496,18 +30947,23 @@ snapshots: safer-buffer@2.1.2: {} - sass-lookup@6.1.0: + sass-lookup@5.0.1: dependencies: - commander: 12.1.0 - enhanced-resolve: 5.18.3 + commander: 10.0.1 + + sax@1.2.1: {} saxes@6.0.0: dependencies: xmlchars: 2.2.0 + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + scrypt-js@3.0.1: {} - secure-json-parse@4.1.0: {} + secure-json-parse@2.7.0: {} seedrandom@3.0.5: {} @@ -28517,11 +30973,11 @@ snapshots: semver@6.3.1: {} - semver@7.7.3: {} + semver@7.7.2: {} send@1.2.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -28576,7 +31032,7 @@ snapshots: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - to-buffer: 1.2.2 + to-buffer: 1.2.1 shebang-command@2.0.0: dependencies: @@ -28620,6 +31076,17 @@ snapshots: signal-exit@4.1.0: {} + sigstore@2.3.1: + dependencies: + '@sigstore/bundle': 2.3.2 + '@sigstore/core': 1.1.0 + '@sigstore/protobuf-specs': 0.3.3 + '@sigstore/sign': 2.3.2 + '@sigstore/tuf': 2.3.4 + '@sigstore/verify': 1.2.1 + transitivePeerDependencies: + - supports-color + sisteransi@1.0.5: {} siwe-recap@0.0.2-alpha.0(ethers@5.7.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)): @@ -28639,6 +31106,18 @@ snapshots: slash@3.0.0: {} + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 4.0.0 + + slice-ansi@6.0.0: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 4.0.0 + + smart-buffer@4.2.0: {} + socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@socket.io/component-emitter': 3.1.2 @@ -28659,6 +31138,19 @@ snapshots: socketio-wildcard@2.0.0: {} + socks-proxy-agent@8.0.5: + dependencies: + agent-base: 7.1.4 + debug: 4.4.1(supports-color@8.1.1) + socks: 2.8.7 + transitivePeerDependencies: + - supports-color + + socks@2.8.7: + dependencies: + ip-address: 10.0.1 + smart-buffer: 4.2.0 + sonic-boom@2.8.0: dependencies: atomic-sleep: 1.0.0 @@ -28669,6 +31161,10 @@ snapshots: source-map-js@1.2.1: {} + source-map-support@0.3.3: + dependencies: + source-map: 0.1.32 + source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 @@ -28684,6 +31180,10 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 + source-map@0.1.32: + dependencies: + amdefine: 1.0.1 + source-map@0.6.1: {} sparse-array@1.3.2: {} @@ -28715,15 +31215,21 @@ snapshots: sprintf-js@1.1.3: {} - sqs-consumer@6.0.2(@aws-sdk/client-sqs@3.916.0): + sqs-consumer@5.8.0(aws-sdk@2.1692.0): dependencies: - '@aws-sdk/client-sqs': 3.916.0 - debug: 4.4.3(supports-color@8.1.1) + aws-sdk: 2.1692.0 + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color + ssri@10.0.6: + dependencies: + minipass: 7.1.2 + stable@0.1.8: {} + stack-trace@0.0.10: {} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -28772,6 +31278,10 @@ snapshots: char-regex: 1.0.2 strip-ansi: 6.0.1 + string-length@6.0.0: + dependencies: + strip-ansi: 7.1.2 + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -28855,20 +31365,18 @@ snapshots: strip-json-comments@3.1.1: {} - strip-json-comments@5.0.3: {} - strnum@2.1.1: {} stubs@3.0.0: {} - stylus-lookup@6.1.0: + stylus-lookup@5.0.1: dependencies: - commander: 12.1.0 + commander: 10.0.1 - stytch@12.42.1: + stytch@12.4.0: dependencies: jose: 5.10.0 - undici: 6.22.0 + undici: 6.21.3 superstruct@1.0.4: {} @@ -28890,6 +31398,13 @@ snapshots: symbol-tree@3.2.4: {} + sync-content@1.0.2: + dependencies: + glob: 10.4.5 + mkdirp: 3.0.1 + path-scurry: 1.11.1 + rimraf: 5.0.10 + synckit@0.11.11: dependencies: '@pkgr/core': 0.2.9 @@ -28901,7 +31416,53 @@ snapshots: typical: 5.2.0 wordwrapjs: 4.0.1 - tapable@2.3.0: {} + tap-parser@16.0.1: + dependencies: + events-to-array: 2.0.3 + tap-yaml: 2.2.2 + + tap-yaml@2.2.2: + dependencies: + yaml: 2.8.1 + yaml-types: 0.3.0(yaml@2.8.1) + + tap@19.2.5(@types/node@20.0.0)(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10): + dependencies: + '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/after-each': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/asserts': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/before': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/before-each': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/chdir': 1.1.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/core': 2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/filter': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/fixture': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/intercept': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/mock': 2.1.6(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/node-serialize': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/run': 2.1.7(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(@types/react@19.1.13)(bufferutil@4.0.9)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)(utf-8-validate@5.0.10) + '@tapjs/snapshot': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/spawn': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/stdin': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + '@tapjs/test': 2.2.4(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + '@tapjs/typescript': 1.4.13(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1))(@types/node@20.0.0)(typescript@5.8.3) + '@tapjs/worker': 2.0.8(@tapjs/core@2.1.6(@types/node@20.0.0)(react-dom@18.3.1(react@19.1.1))(react@19.1.1)) + resolve-import: 1.4.6 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - '@types/react' + - bluebird + - bufferutil + - react + - react-devtools-core + - react-dom + - supports-color + - typescript + - utf-8-validate + + tapable@2.2.3: {} tar-stream@2.2.0: dependencies: @@ -28911,6 +31472,31 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + tcompare@7.0.1(react-dom@18.3.1(react@19.1.1))(react@18.3.1): + dependencies: + diff: 5.2.0 + react-element-to-jsx-string: 15.0.0(react-dom@18.3.1(react@19.1.1))(react@18.3.1) + transitivePeerDependencies: + - react + - react-dom + + tcompare@7.0.1(react-dom@18.3.1(react@19.1.1))(react@19.1.1): + dependencies: + diff: 5.2.0 + react-element-to-jsx-string: 15.0.0(react-dom@18.3.1(react@19.1.1))(react@19.1.1) + transitivePeerDependencies: + - react + - react-dom + tcp-port-used@1.0.2: dependencies: debug: 4.3.1 @@ -28931,14 +31517,10 @@ snapshots: transitivePeerDependencies: - supports-color - temp-dir@3.0.0: {} - - tempy@3.1.0: + temp@0.9.4: dependencies: - is-stream: 3.0.0 - temp-dir: 3.0.0 - type-fest: 2.19.0 - unique-string: 3.0.0 + mkdirp: 0.5.6 + rimraf: 2.6.3 term-size@2.2.1: {} @@ -28950,6 +31532,8 @@ snapshots: text-encoding-utf-8@1.0.2: {} + text-hex@1.0.0: {} + thread-stream@0.15.2: dependencies: real-require: 0.1.0 @@ -28958,6 +31542,17 @@ snapshots: dependencies: real-require: 0.2.0 + thrift@0.14.2(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + browser-or-node: 1.3.0 + isomorphic-ws: 4.0.1(ws@5.2.4(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + node-int64: 0.4.0 + q: 1.5.1 + ws: 5.2.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + timers-browserify@2.0.12: dependencies: setimmediate: 1.0.5 @@ -28973,11 +31568,19 @@ snapshots: dependencies: tldts-core: 6.1.86 + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + tmp@0.2.1: + dependencies: + rimraf: 3.0.2 + tmp@0.2.5: {} tmpl@1.0.5: {} - to-buffer@1.2.2: + to-buffer@1.2.1: dependencies: isarray: 2.0.5 safe-buffer: 5.2.1 @@ -29010,6 +31613,10 @@ snapshots: trim-newlines@3.0.1: {} + triple-beam@1.4.1: {} + + trivial-deferred@2.0.0: {} + ts-api-utils@1.4.3(typescript@5.8.3): dependencies: typescript: 5.8.3 @@ -29029,17 +31636,17 @@ snapshots: dependencies: typescript: 5.8.3 - ts-jest@29.2.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(esbuild@0.19.12)(jest@29.7.0(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)))(typescript@5.8.3): + ts-jest@29.2.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(esbuild@0.19.2)(jest@29.2.2(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)))(typescript@5.8.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)) + jest: 29.2.2(@types/node@20.0.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.7.3 + semver: 7.7.2 typescript: 5.8.3 yargs-parser: 21.1.1 optionalDependencies: @@ -29047,7 +31654,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.28.5) - esbuild: 0.19.12 + esbuild: 0.19.2 ts-node@10.9.2(@types/node@20.0.0)(typescript@5.8.3): dependencies: @@ -29080,21 +31687,48 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tshy@1.18.0: + dependencies: + chalk: 5.6.2 + chokidar: 3.6.0 + foreground-child: 3.3.1 + minimatch: 9.0.5 + mkdirp: 3.0.1 + polite-json: 5.0.0 + resolve-import: 1.4.6 + rimraf: 5.0.10 + sync-content: 1.0.2 + typescript: 5.8.3 + walk-up-path: 3.0.1 + tslib@1.14.1: {} tslib@2.7.0: {} tslib@2.8.1: {} - tsx@4.20.6: + tsutils@3.21.0(typescript@5.8.3): + dependencies: + tslib: 1.14.1 + typescript: 5.8.3 + + tsx@4.20.5: dependencies: - esbuild: 0.25.11 - get-tsconfig: 4.13.0 + esbuild: 0.25.9 + get-tsconfig: 4.10.1 optionalDependencies: fsevents: 2.3.3 tty-browserify@0.0.1: {} + tuf-js@2.2.1: + dependencies: + '@tufjs/models': 2.0.1 + debug: 4.4.1(supports-color@8.1.1) + make-fetch-happen: 13.0.1 + transitivePeerDependencies: + - supports-color + tweetnacl-util@0.15.1: {} tweetnacl@1.0.3: {} @@ -29105,6 +31739,8 @@ snapshots: type-detect@4.0.8: {} + type-fest@0.12.0: {} + type-fest@0.18.1: {} type-fest@0.21.3: {} @@ -29113,10 +31749,6 @@ snapshots: type-fest@0.8.1: {} - type-fest@1.4.0: {} - - type-fest@2.19.0: {} - type-is@2.0.1: dependencies: content-type: 1.0.5 @@ -29126,7 +31758,7 @@ snapshots: typechain@8.3.2(typescript@5.8.3): dependencies: '@types/prettier': 2.7.3 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) fs-extra: 7.0.1 glob: 7.1.7 js-sha3: 0.8.0 @@ -29172,20 +31804,22 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typedoc@0.28.14(typescript@5.8.3): + typedoc@0.28.12(typescript@5.8.3): dependencies: - '@gerrit0/mini-shiki': 3.13.1 + '@gerrit0/mini-shiki': 3.12.2 lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 typescript: 5.8.3 yaml: 2.8.1 + typescript@5.4.5: {} + typescript@5.8.3: {} - typestub-ipfs-only-hash@4.0.0: + typestub-ipfs-only-hash@4.0.0(encoding@0.1.13): dependencies: - ipfs-only-hash: 4.0.0 + ipfs-only-hash: 4.0.0(encoding@0.1.13) transitivePeerDependencies: - encoding - supports-color @@ -29210,13 +31844,13 @@ snapshots: dependencies: multiformats: 9.9.0 - uint8arrays@4.0.10: + uint8arrays@4.0.3: dependencies: - multiformats: 12.1.3 + multiformats: 11.0.2 uint8arrays@5.1.0: dependencies: - multiformats: 13.4.1 + multiformats: 13.4.0 unbox-primitive@1.1.0: dependencies: @@ -29229,7 +31863,9 @@ snapshots: undici-types@6.19.8: {} - undici@6.22.0: {} + undici-types@7.16.0: {} + + undici@6.21.3: {} undici@7.16.0: {} @@ -29238,15 +31874,19 @@ snapshots: unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.2.0 + unicode-property-aliases-ecmascript: 2.1.0 unicode-match-property-value-ecmascript@2.2.1: {} - unicode-property-aliases-ecmascript@2.2.0: {} + unicode-property-aliases-ecmascript@2.1.0: {} + + unique-filename@3.0.0: + dependencies: + unique-slug: 4.0.0 - unique-string@3.0.0: + unique-slug@4.0.0: dependencies: - crypto-random-string: 4.0.0 + imurmurhash: 0.1.4 universalify@0.1.2: {} @@ -29286,7 +31926,7 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - unstorage@1.17.1(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@upstash/redis@1.35.6)(idb-keyval@6.2.2)(ioredis@5.8.2): + unstorage@1.17.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(idb-keyval@6.2.2)(ioredis@5.7.0): dependencies: anymatch: 3.1.3 chokidar: 4.0.3 @@ -29297,15 +31937,14 @@ snapshots: ofetch: 1.4.1 ufo: 1.6.1 optionalDependencies: - '@azure/identity': 4.13.0 - '@azure/storage-blob': 12.29.1 - '@upstash/redis': 1.35.6 + '@azure/identity': 4.12.0 + '@azure/storage-blob': 12.28.0 idb-keyval: 6.2.2 - ioredis: 5.8.2 + ioredis: 5.7.0 - update-browserslist-db@1.1.4(browserslist@4.27.0): + update-browserslist-db@1.1.3(browserslist@4.25.4): dependencies: - browserslist: 4.27.0 + browserslist: 4.25.4 escalade: 3.2.0 picocolors: 1.1.1 @@ -29318,18 +31957,23 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 + url@0.10.3: + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + url@0.11.4: dependencies: punycode: 1.4.1 qs: 6.14.0 - use-sync-external-store@1.2.0(react@18.3.1): + use-sync-external-store@1.2.0(react@19.1.1): dependencies: - react: 18.3.1 + react: 19.1.1 - use-sync-external-store@1.4.0(react@18.3.1): + use-sync-external-store@1.4.0(react@19.1.1): dependencies: - react: 18.3.1 + react: 19.1.1 utf-8-validate@5.0.10: dependencies: @@ -29345,11 +31989,11 @@ snapshots: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 - is-generator-function: 1.1.2 + is-generator-function: 1.1.0 is-typed-array: 1.1.15 which-typed-array: 1.1.19 - uuid@11.1.0: {} + uuid@8.0.0: {} uuid@8.3.2: {} @@ -29372,13 +32016,14 @@ snapshots: validate-npm-package-name@5.0.1: {} - valtio@1.13.2(react@18.3.1): + valtio@1.13.2(@types/react@19.1.13)(react@19.1.1): dependencies: - derive-valtio: 0.1.0(valtio@1.13.2(react@18.3.1)) + derive-valtio: 0.1.0(valtio@1.13.2(@types/react@19.1.13)(react@19.1.1)) proxy-compare: 2.6.0 - use-sync-external-store: 1.2.0(react@18.3.1) + use-sync-external-store: 1.2.0(react@19.1.1) optionalDependencies: - react: 18.3.1 + '@types/react': 19.1.13 + react: 19.1.1 varint@5.0.2: {} @@ -29403,7 +32048,7 @@ snapshots: - utf-8-validate - zod - viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4): + viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4): dependencies: '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 @@ -29420,7 +32065,7 @@ snapshots: - utf-8-validate - zod - viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3): + viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3): dependencies: '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 @@ -29443,14 +32088,14 @@ snapshots: dependencies: xml-name-validator: 4.0.0 - wagmi@2.18.2(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3): + wagmi@2.18.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/query-core@5.87.4)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3): dependencies: - '@tanstack/react-query': 5.90.5(react@18.3.1) - '@wagmi/connectors': 6.1.0(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)))(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(wagmi@2.18.2(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@tanstack/query-core@5.90.5)(@tanstack/react-query@5.90.5(react@18.3.1))(@upstash/redis@1.35.6)(bufferutil@4.0.9)(ioredis@5.8.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3))(zod@3.24.3) - '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.5)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) - react: 18.3.1 - use-sync-external-store: 1.4.0(react@18.3.1) - viem: 2.38.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) + '@tanstack/react-query': 5.87.4(react@19.1.1) + '@wagmi/connectors': 6.0.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(@wagmi/core@2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)))(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(wagmi@2.18.1(@azure/identity@4.12.0)(@azure/storage-blob@12.28.0)(@tanstack/query-core@5.87.4)(@tanstack/react-query@5.87.4(react@19.1.1))(@types/react@19.1.13)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.7.0)(react@19.1.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3))(zod@3.24.3))(zod@3.24.3) + '@wagmi/core': 2.22.1(@tanstack/query-core@5.87.4)(@types/react@19.1.13)(react@19.1.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.1))(viem@2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3)) + react: 19.1.1 + use-sync-external-store: 1.4.0(react@19.1.1) + viem: 2.38.3(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.3) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -29487,6 +32132,8 @@ snapshots: ensure-posix-path: 1.1.1 matcher-collection: 1.1.2 + walk-up-path@3.0.1: {} + walker@1.0.8: dependencies: makeerror: 1.0.12 @@ -29541,7 +32188,7 @@ snapshots: is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.2 + is-generator-function: 1.1.0 is-regex: 1.2.1 is-weakref: 1.1.1 isarray: 2.0.5 @@ -29584,6 +32231,30 @@ snapshots: dependencies: string-width: 4.2.3 + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + winston-transport@4.9.0: + dependencies: + logform: 2.7.0 + readable-stream: 3.6.2 + triple-beam: 1.4.1 + + winston@3.18.3: + dependencies: + '@colors/colors': 1.6.0 + '@dabh/diagnostics': 2.0.8 + async: 3.2.6 + is-stream: 2.0.1 + logform: 2.7.0 + one-time: 1.0.0 + readable-stream: 3.6.2 + safe-stable-stringify: 2.5.0 + stack-trace: 0.0.10 + triple-beam: 1.4.1 + winston-transport: 4.9.0 + word-wrap@1.2.5: {} wordwrap@1.0.0: {} @@ -29623,6 +32294,13 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 4.1.0 + ws@5.2.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + async-limiter: 1.0.1 + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + ws@7.4.6(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.9 @@ -29654,12 +32332,23 @@ snapshots: xml-name-validator@4.0.0: {} + xml2js@0.6.2: + dependencies: + sax: 1.2.1 + xmlbuilder: 11.0.1 + + xmlbuilder@11.0.1: {} + xmlchars@2.2.0: {} xmlhttprequest-ssl@2.1.2: {} xtend@4.0.2: {} + xxhashjs@0.2.2: + dependencies: + cuint: 0.2.2 + y18n@4.0.3: {} y18n@5.0.8: {} @@ -29670,6 +32359,10 @@ snapshots: yaml-js@0.2.3: {} + yaml-types@0.3.0(yaml@2.8.1): + dependencies: + yaml: 2.8.1 + yaml@1.10.2: {} yaml@2.8.1: {} @@ -29723,6 +32416,8 @@ snapshots: yoctocolors-cjs@2.1.3: {} + yoga-wasm-web@0.3.3: {} + zip-stream@4.1.1: dependencies: archiver-utils: 3.0.4 @@ -29739,17 +32434,20 @@ snapshots: zod@4.1.12: {} - zustand@5.0.0(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): + zustand@5.0.0(@types/react@19.1.13)(react@19.1.1)(use-sync-external-store@1.4.0(react@19.1.1)): optionalDependencies: - react: 18.3.1 - use-sync-external-store: 1.4.0(react@18.3.1) + '@types/react': 19.1.13 + react: 19.1.1 + use-sync-external-store: 1.4.0(react@19.1.1) - zustand@5.0.3(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): + zustand@5.0.3(@types/react@19.1.13)(react@19.1.1)(use-sync-external-store@1.4.0(react@19.1.1)): optionalDependencies: - react: 18.3.1 - use-sync-external-store: 1.4.0(react@18.3.1) + '@types/react': 19.1.13 + react: 19.1.1 + use-sync-external-store: 1.4.0(react@19.1.1) - zustand@5.0.8(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): + zustand@5.0.8(@types/react@19.1.13)(react@19.1.1)(use-sync-external-store@1.4.0(react@19.1.1)): optionalDependencies: - react: 18.3.1 - use-sync-external-store: 1.4.0(react@18.3.1) + '@types/react': 19.1.13 + react: 19.1.1 + use-sync-external-store: 1.4.0(react@19.1.1)