diff --git a/README.md b/README.md index ad02c93e..d013d0c7 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,12 @@ Filecoin metamask snap and related packages to enable developers to add Filecoin - [filsnap](./packages/snap) - Filecoin snap for metamask - [filsnap-adapter](./packages/adapter) - Adapter to interact with Filsnap from a dapp +- [filsnap-adapter-react](./packages/adapter-react) - React hooks to interact with Filsnap from a dapp ## Examples - [`demo`](./packages/demo) - Preact demo dapp using [filsnap-adapter](./packages/filsnap-adapter) to interact with [filsnap](./packages/filsnap) +- [`fil-forwarder-viem`](./packages/fil-forwarder-viem) - [Viem](https://viem.sh/) example to send FIL using FilForwarder contract. ### Checkout examples @@ -24,7 +26,7 @@ pnpm install pnpm dev ``` -You can try any of the examples by replacing `filsnap-demo` with the name of the example you want to try. +You can try any of the examples by replacing `demo` with the name of the example you want to try. ## Contributing diff --git a/examples/demo/package.json b/examples/demo/package.json index 8c4e3753..72efab8d 100644 --- a/examples/demo/package.json +++ b/examples/demo/package.json @@ -53,20 +53,20 @@ "dns-over-http-resolver": "^2.1.1", "filsnap-adapter": "workspace:^", "filsnap-adapter-react": "workspace:^", - "iso-base": "^1.1.1", - "iso-filecoin": "^2.0.1", + "iso-base": "^1.1.2", + "iso-filecoin": "^2.0.2", "metamask-testing-tools": "^1.1.4", "preact": "^10.16.0", "react-hook-form": "^7.45.2", - "viem": "^1.4.1", + "viem": "^1.4.2", "wagmi": "^1.3.9", "water.css": "^2.1.1" }, "devDependencies": { "@babel/core": "^7.22.9", - "@playwright/test": "^1.36.1", + "@playwright/test": "^1.36.2", "@preact/preset-vite": "^2.5.0", - "@types/node": "^20.4.4", + "@types/node": "^20.4.5", "tiny-git-rev-sync": "^0.1.0", "vite": "^4.4.7" }, diff --git a/examples/fil-forwarder-viem/package.json b/examples/fil-forwarder-viem/package.json index 42946d9c..3e93e8a8 100644 --- a/examples/fil-forwarder-viem/package.json +++ b/examples/fil-forwarder-viem/package.json @@ -47,16 +47,16 @@ "license": "MIT", "dependencies": { "filsnap-adapter": "workspace:^", - "iso-base": "^1.1.1", - "iso-filecoin": "^2.0.1", + "iso-base": "^1.1.2", + "iso-filecoin": "^2.0.2", "prettier": "3.0.0", - "viem": "^1.4.1" + "viem": "^1.4.2" }, "devDependencies": { "@babel/core": "^7.22.9", - "@playwright/test": "^1.36.1", + "@playwright/test": "^1.36.2", "@preact/preset-vite": "^2.5.0", - "@types/node": "^20.4.4", + "@types/node": "^20.4.5", "vite": "^4.4.7" }, "eslintConfig": { diff --git a/package.json b/package.json index 324c5b6f..93cefd19 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "build": "pnpm -r --if-present run build", "lint": "pnpm -r --if-present run lint", "test": "pnpm -r --if-present run test", - "docs": "typedoc --out docs --plugin typedoc-plugin-missing-exports --plugin typedoc-plugin-zod --plugin typedoc-plugin-expand-object-like-types" + "docs": "typedoc --out docs --plugin typedoc-plugin-missing-exports --plugin typedoc-plugin-zod" }, "devDependencies": { "depcheck": "^1.4.3", @@ -26,7 +26,6 @@ "prettier": "3.0.0", "simple-git-hooks": "^2.9.0", "typedoc": "^0.24.8", - "typedoc-plugin-expand-object-like-types": "^0.1.2", "typedoc-plugin-missing-exports": "^2.0.0", "typedoc-plugin-zod": "^1.0.2", "typescript": "5.1.6", diff --git a/packages/adapter-react/README.md b/packages/adapter-react/README.md index bdbf6ff8..6a879177 100644 --- a/packages/adapter-react/README.md +++ b/packages/adapter-react/README.md @@ -1,11 +1,56 @@ -# Filsnap adapter +# filsnap-adapter-react [![NPM Version](https://img.shields.io/npm/v/filsnap-adapter-react.svg)](https://www.npmjs.com/package/filsnap-adapter-react) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Adapter](https://github.com/filecoin-project/filsnap/actions/workflows/adapter-react.yml/badge.svg)](https://github.com/filecoin-project/filsnap/actions/workflows/adapter-react.yml) -React hook for [Filsnap adapter](../adapter/README.md). +React hook for [Filsnap](../snap/README.md). + +## Installation + +```bash +pnpm install filsnap-adapter-react +``` + +## Usage + +```js +import { FilsnapProvider } from 'filsnap-adapter-react' + +const config = { + network: 'testnet', +} + +function Main() { + return ( + + + + ) +} +``` + +```js +import { useFilsnap } from 'filsnap-adapter-react' + +function App() { + const { isLoading, hasFlask, isConnected, connect, account, error } = + useFilsnap() + + if (isLoading) { + return
Loading...
+ } + + if (!isConnected) { + return + } + + return
Connected to {account.address}
+} +``` + +Check out the [demo](../../examples/demo) for a working example and the [API](https://filecoin-project.github.io/filsnap/modules/filsnap_adapter_react.html) for more details. ## Contributing diff --git a/packages/adapter-react/package.json b/packages/adapter-react/package.json index 6f5f4461..4eb935a0 100644 --- a/packages/adapter-react/package.json +++ b/packages/adapter-react/package.json @@ -45,7 +45,7 @@ "devDependencies": { "@testing-library/react-hooks": "^8.0.1", "@types/mocha": "^10.0.1", - "@types/node": "^20.4.4", + "@types/node": "^20.4.5", "@types/react": "^17.0.0", "@types/react-dom": "^17.0.0", "assert": "^2.0.0", diff --git a/packages/adapter/README.md b/packages/adapter/README.md index defdfeaa..1e5286a0 100644 --- a/packages/adapter/README.md +++ b/packages/adapter/README.md @@ -5,7 +5,44 @@ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Adapter](https://github.com/filecoin-project/filsnap/actions/workflows/adapter.yml/badge.svg)](https://github.com/filecoin-project/filsnap/actions/workflows/adapter.yml) -Filsnap adapter is used to install Filecoin snap and expose it's. +> Adapter for [Filsnap](../snap/) + +Exposes a simple API to interact the snap from a dapp and also Fil Forwarder contract metadata. + +## Installation + +```bash +pnpm install filsnap-adapter +``` + +## Usage + +This adapter interacts directly with the snap, so Metamask Flask needs to be installed and unlocked in the browser. + +```js +import * as Filsnap from 'filsnap-adapter' + +const hasFlask = await Filsnap.hasFlask() +if (!hasFlask) { + console.error('Flask not installed') + return +} + +const snap = await Filsnap.connect({ network: 'testnet' }, 'npm:filsnap') + +const { error, result } = await snap.getAddress() +if (error) { + console.error(error) +} else { + console.log(result) + // t1d2xrzcslx7xlbbylc5c3d5lvandqw4iwl6epxba +} + +const isConnected = await snap.isConnected() +// true +``` + +Check out the [demo](../../examples/demo) for a working example and the [API](https://filecoin-project.github.io/filsnap/modules/filsnap_adapter.html) for more details. ## Contributing diff --git a/packages/adapter/package.json b/packages/adapter/package.json index 7082b1d1..0768bbd0 100644 --- a/packages/adapter/package.json +++ b/packages/adapter/package.json @@ -52,8 +52,8 @@ "filsnap": "workspace:^" }, "devDependencies": { - "@playwright/test": "^1.36.1", - "@types/node": "^20.4.4", + "@playwright/test": "^1.36.2", + "@types/node": "^20.4.5", "metamask-testing-tools": "^1.1.4", "typescript": "5.1.6" }, diff --git a/packages/adapter/src/snap.ts b/packages/adapter/src/snap.ts index 6e3fc3c1..4cb1c46a 100644 --- a/packages/adapter/src/snap.ts +++ b/packages/adapter/src/snap.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/strict-boolean-expressions */ import type { FilSnapMethods, Network, @@ -22,6 +23,9 @@ export class FilsnapAdapter { this.request = window.ethereum.request as RequestWithFilSnap } + /** + * Check if Metamask flask is installed and enabled + */ static async hasFlask(): Promise { if (window.ethereum == null || !window.ethereum.isMetaMask) { return false @@ -38,6 +42,12 @@ export class FilsnapAdapter { return true } + /** + * Check if Filsnap is installed and enabled + * + * @param snapId - Snap ID to check for. Defaults to `npm:filsnap` which is the default ID for the Filsnap snap. + * @param snapVersion - Snap version to check for. Defaults to `*` which matches any version. + */ static async isConnected( snapId: string = 'npm:filsnap', snapVersion: string = '*' @@ -70,6 +80,15 @@ export class FilsnapAdapter { return true } + /** + * Create and configure a new Filsnap adapter + * + * This will check if Filsnap is installed and enabled, and if not, throw an error. + * + * @param config - Snap config + * @param snapId - Snap ID to check for. Defaults to `npm:filsnap` which is the default ID for the Filsnap snap. + * @param snapVersion - Snap version to check for. Defaults to `*` which matches any version. + */ static async create( config: Parameters[1], snapId: string = 'npm:filsnap', @@ -91,6 +110,15 @@ export class FilsnapAdapter { return adapter } + /** + * Installs and connects to Filsnap + * + * @throws Error if Metamask flask is not installed + * + * @param config - Snap config + * @param snapId - Snap ID to check for. Defaults to `npm:filsnap` which is the default ID for the Filsnap snap. + * @param snapVersion - Snap version to check for. Defaults to `*` which matches any version. + */ static async connect( config: Parameters[1], snapId: string = 'npm:filsnap', @@ -120,6 +148,11 @@ export class FilsnapAdapter { return adapter } + /** + * Configure the snap + * + * @param params - {@link FilSnapMethods.fil_configure} params + */ async configure( params: Parameters[1] ): ReturnType { @@ -141,6 +174,11 @@ export class FilsnapAdapter { return config } + /** + * Request account info from the snap + * + * @see {@link FilSnapMethods.fil_getAccountInfo} + */ async getAccountInfo(): ReturnType { return await this.request({ method: 'wallet_invokeSnap', @@ -153,6 +191,11 @@ export class FilsnapAdapter { }) } + /** + * Request account address from the snap + * + * @see {@link FilSnapMethods.fil_getAddress} + */ async getAddress(): ReturnType { return await this.request({ method: 'wallet_invokeSnap', @@ -165,6 +208,11 @@ export class FilsnapAdapter { }) } + /** + * Request account public key from the snap + * + * @see {@link FilSnapMethods.fil_getPublicKey} + */ async getPublicKey(): ReturnType { return await this.request({ method: 'wallet_invokeSnap', @@ -177,6 +225,11 @@ export class FilsnapAdapter { }) } + /** + * Export the account private key from the snap + * + * @see {@link FilSnapMethods.fil_exportPrivateKey} + */ async exportPrivateKey(): ReturnType { return await this.request({ method: 'wallet_invokeSnap', @@ -189,6 +242,11 @@ export class FilsnapAdapter { }) } + /** + * Request account balance from the snap + * + * @see {@link FilSnapMethods.fil_getBalance} + */ async getBalance(): ReturnType { return await this.request({ method: 'wallet_invokeSnap', @@ -213,6 +271,11 @@ export class FilsnapAdapter { }) } + /** + * Sign a message + * + * @param params - {@link FilSnapMethods.fil_signMessage} params + */ async signMessage( params: Parameters[1] ): ReturnType { @@ -228,6 +291,11 @@ export class FilsnapAdapter { }) } + /** + * Sign a raw message + * + * @param params - {@link FilSnapMethods.fil_signMessageRaw} params + */ async signMessageRaw( params: Parameters[1] ): ReturnType { @@ -243,6 +311,11 @@ export class FilsnapAdapter { }) } + /** + * Send a signed message + * + * @param params - {@link FilSnapMethods.fil_sendMessage} params + */ async sendMessage( params: Parameters[1] ): ReturnType { @@ -280,6 +353,11 @@ export class FilsnapAdapter { }) } + /** + * Switch to or add a different network + * + * @param network - Network to switch to. Defaults to `mainnet` + */ async switchOrAddChain(network: Network): Promise { let config = { chainId: '0x13A', diff --git a/packages/snap/package.json b/packages/snap/package.json index bcdf7729..2358dceb 100644 --- a/packages/snap/package.json +++ b/packages/snap/package.json @@ -62,8 +62,8 @@ "dependencies": { "@metamask/key-tree": "^9.0.0", "@metamask/snaps-ui": "^0.32.2", - "iso-base": "^1.1.1", - "iso-filecoin": "^2.0.1", + "iso-base": "^1.1.2", + "iso-filecoin": "^2.0.2", "merge-options": "^3.0.4", "zod": "^3.21.4" }, @@ -71,7 +71,7 @@ "@metamask/snaps-cli": "^0.32.2", "@metamask/snaps-rollup-plugin": "^0.32.2", "@metamask/snaps-types": "^0.32.2", - "@playwright/test": "^1.36.1", + "@playwright/test": "^1.36.2", "@rollup/plugin-commonjs": "^25.0.3", "@rollup/plugin-node-resolve": "^15.1.0", "@rollup/plugin-sucrase": "^5.0.1", @@ -89,7 +89,7 @@ "metamask-testing-tools": "^1.1.4", "mocha": "^10.2.0", "playwright-test": "^12.1.1", - "rollup": "^3.26.3", + "rollup": "^3.27.0", "sinon": "^15.2.0", "sinon-chai": "^3.7.0", "typescript": "5.1.6" diff --git a/packages/snap/src/index.ts b/packages/snap/src/index.ts index a17b6757..0fc56dc5 100644 --- a/packages/snap/src/index.ts +++ b/packages/snap/src/index.ts @@ -18,14 +18,13 @@ import { signMessage, signMessageRaw } from './rpc/sign-message' import type { SnapConfig, SnapContext } from './types' import { configFromSnap, serializeError } from './utils' -export type * from './rpc/configure' -export type * from './rpc/export-private-key' -export type * from './rpc/gas-for-message' -export type * from './rpc/get-balance' -export type * from './rpc/get-messages' -export type * from './rpc/send-message' -export type * from './rpc/sign-message' -export type * from './types' +export type { + SnapConfig, + FilSnapMethods, + RequestWithFilSnap, + Network, + AccountInfo, +} from './types' export const onRpcRequest: OnRpcRequestHandler = async ({ request }) => { try { diff --git a/packages/snap/src/rpc/configure.ts b/packages/snap/src/rpc/configure.ts index 663fcab2..abae2932 100644 --- a/packages/snap/src/rpc/configure.ts +++ b/packages/snap/src/rpc/configure.ts @@ -75,5 +75,5 @@ export async function configure( method: 'snap_manageState', params: { newState: state, operation: 'update' }, }) - return { result: _params.data } + return { result: _params.data, error: undefined } } diff --git a/packages/snap/src/rpc/export-private-key.ts b/packages/snap/src/rpc/export-private-key.ts index 6a23194c..7acd4ee7 100644 --- a/packages/snap/src/rpc/export-private-key.ts +++ b/packages/snap/src/rpc/export-private-key.ts @@ -25,7 +25,10 @@ export async function exportPrivateKey( }) if (conf) { - return { result: base64pad.encode(ctx.account.privateKey) } + return { + result: base64pad.encode(ctx.account.privateKey), + error: undefined, + } } return serializeError('User denied private key export') } diff --git a/packages/snap/src/rpc/gas-for-message.ts b/packages/snap/src/rpc/gas-for-message.ts index f83cad95..c047c9be 100644 --- a/packages/snap/src/rpc/gas-for-message.ts +++ b/packages/snap/src/rpc/gas-for-message.ts @@ -14,6 +14,8 @@ export const estimateParams = z.object({ message: Schemas.messagePartial.omit({ from: true }), /** * Max fee in attoFIL + * + * @default 100000000000000000 - 0.1 FIL */ maxFee: z.string().optional().describe('Max fee in attoFIL'), }) @@ -76,6 +78,7 @@ export async function getGasForMessage( } return { + error: undefined, result: { gasFeeCap: result.GasFeeCap, gasLimit: result.GasLimit, diff --git a/packages/snap/src/rpc/get-account.ts b/packages/snap/src/rpc/get-account.ts index 4964b4ea..a52b37bc 100644 --- a/packages/snap/src/rpc/get-account.ts +++ b/packages/snap/src/rpc/get-account.ts @@ -18,6 +18,7 @@ export async function getAccountInfo( return serializeError('RPC call to "WalletBalance" failed', balance.error) } return { + error: undefined, result: { address: ctx.account.address.toString(), pubKey: ctx.account.pubKey.toString(), diff --git a/packages/snap/src/rpc/get-messages.ts b/packages/snap/src/rpc/get-messages.ts index 20d18099..902e7b49 100644 --- a/packages/snap/src/rpc/get-messages.ts +++ b/packages/snap/src/rpc/get-messages.ts @@ -28,5 +28,5 @@ export async function getMessages( return serializeError(`Invalid messages in snap state`, state.error) } - return { result: state.data.filecoin.messages } + return { result: state.data.filecoin.messages, error: undefined } } diff --git a/packages/snap/src/rpc/send-message.ts b/packages/snap/src/rpc/send-message.ts index 3b84b6cb..5bb8ec50 100644 --- a/packages/snap/src/rpc/send-message.ts +++ b/packages/snap/src/rpc/send-message.ts @@ -37,5 +37,5 @@ export async function sendMessage( message: params.message, } await updateMessageInState(snap, messageStatus) - return { result: messageStatus } + return { result: messageStatus, error: undefined } } diff --git a/packages/snap/src/rpc/sign-message.ts b/packages/snap/src/rpc/sign-message.ts index c5239219..9348ec8b 100644 --- a/packages/snap/src/rpc/sign-message.ts +++ b/packages/snap/src/rpc/sign-message.ts @@ -90,6 +90,7 @@ export async function signMessage( if (conf) { const sig = filSignMessage(ctx.account.privateKey, 'SECP256K1', message) return { + error: undefined, result: { message, signature: { @@ -134,6 +135,7 @@ export async function signMessageRaw( if (conf) { const sig = sign(ctx.account.privateKey, 'SECP256K1', message) return { + error: undefined, result: base64pad.encode(sig), } } diff --git a/packages/snap/src/types.ts b/packages/snap/src/types.ts index 0e8e7dbd..b734cba8 100644 --- a/packages/snap/src/types.ts +++ b/packages/snap/src/types.ts @@ -62,7 +62,7 @@ export interface SnapError { export interface SnapResponseError { error: SnapError - result?: null + result: undefined } /** @@ -70,7 +70,7 @@ export interface SnapResponseError { */ export type SnapResponse = | { - error?: null + error: undefined result: R } | SnapResponseError @@ -105,6 +105,14 @@ export interface FilSnapMethods { fil_getAccountInfo: typeof getAccountInfo } +/** + * Provider request with filsnap methods + * + * @example + * ```ts + * const request = window.ethereum.request as RequestWithFilSnap + * ``` + */ export type RequestWithFilSnap = < T, Method, diff --git a/packages/snap/src/utils.ts b/packages/snap/src/utils.ts index 996fb73b..b3a293a6 100644 --- a/packages/snap/src/utils.ts +++ b/packages/snap/src/utils.ts @@ -110,6 +110,7 @@ export function serializeError(msg: string, data?: unknown): SnapResponseError { // @ts-expect-error - no types const _msg = (hasMessage ? _data.message : '') as string return { + result: undefined, error: { message: msg + (hasMessage ? ` - ${_msg}` : ''), data: _data, diff --git a/packages/snap/test/e2e/configure.spec.ts b/packages/snap/test/e2e/configure.spec.ts index 710d7ef8..492676ea 100644 --- a/packages/snap/test/e2e/configure.spec.ts +++ b/packages/snap/test/e2e/configure.spec.ts @@ -1,5 +1,8 @@ import { createFixture } from 'metamask-testing-tools' -import { type ConfigureRequest, type ConfigureResponse } from '../../src/index' +import { + type ConfigureResponse, + type ConfigureRequest, +} from '../../src/rpc/configure' const { test, expect } = createFixture({ isolated: false, diff --git a/packages/snap/test/e2e/mainnet.spec.ts b/packages/snap/test/e2e/mainnet.spec.ts index 2c3aa5c2..739fabf3 100644 --- a/packages/snap/test/e2e/mainnet.spec.ts +++ b/packages/snap/test/e2e/mainnet.spec.ts @@ -1,10 +1,10 @@ import { createFixture } from 'metamask-testing-tools' -import type { - ExportPrivateKeyResponse, - GetAddressResponse, - GetMessagesResponse, - GetPublicResponse, -} from '../../src/index' +import { type ExportPrivateKeyResponse } from '../../src/rpc/export-private-key' +import { type GetMessagesResponse } from '../../src/rpc/get-messages' +import { + type GetAddressResponse, + type GetPublicResponse, +} from '../../src/types' const { test, expect } = createFixture({ isolated: false, diff --git a/packages/snap/test/e2e/messages.spec.ts b/packages/snap/test/e2e/messages.spec.ts index f0af7d6d..4bc46cb7 100644 --- a/packages/snap/test/e2e/messages.spec.ts +++ b/packages/snap/test/e2e/messages.spec.ts @@ -1,11 +1,13 @@ import { createFixture } from 'metamask-testing-tools' +import { type GetMessagesResponse } from '../../src/rpc/get-messages' import { - type GetMessagesResponse, - type SignMessageResponse, - type SignMessageRequest, type SendMessageResponse, type SendMessageRequest, -} from '../../src/index' +} from '../../src/rpc/send-message' +import { + type SignMessageResponse, + type SignMessageRequest, +} from '../../src/rpc/sign-message' const { test, expect } = createFixture({ isolated: true, diff --git a/packages/snap/test/e2e/methods.spec.ts b/packages/snap/test/e2e/methods.spec.ts index 40031bd4..ae92adde 100644 --- a/packages/snap/test/e2e/methods.spec.ts +++ b/packages/snap/test/e2e/methods.spec.ts @@ -1,17 +1,21 @@ import { createFixture } from 'metamask-testing-tools' +import { type ExportPrivateKeyResponse } from '../../src/rpc/export-private-key' +import { type GetBalanceResponse } from '../../src/rpc/get-balance' +import { type GetMessagesResponse } from '../../src/rpc/get-messages' +import { + type SendMessageResponse, + type SendMessageRequest, +} from '../../src/rpc/send-message' import { - type GetBalanceResponse, - type ExportPrivateKeyResponse, - type GetAddressResponse, - type GetMessagesResponse, - type GetPublicResponse, type SignMessageRawResponse, type SignMessageRawRequest, type SignMessageResponse, type SignMessageRequest, - type SendMessageResponse, - type SendMessageRequest, -} from '../../src/index' +} from '../../src/rpc/sign-message' +import { + type GetAddressResponse, + type GetPublicResponse, +} from '../../src/types' const { test, expect } = createFixture({ isolated: false, diff --git a/packages/snap/test/unit/rpc/sign-message.test.ts b/packages/snap/test/unit/rpc/sign-message.test.ts index 33eff335..3f56c0c2 100644 --- a/packages/snap/test/unit/rpc/sign-message.test.ts +++ b/packages/snap/test/unit/rpc/sign-message.test.ts @@ -237,13 +237,13 @@ describe('Test rpc handler function: signMessage', function () { apiStub.nonce.returns('0') - const response = await signMessage( + const { error, result } = await signMessage( // @ts-expect-error - test code { snap: walletStub, rpc: apiStub, account }, invalidMessage ) - expect(response.result).to.be.undefined() - expect(response.error).to.not.be.null() + expect(result).to.be.undefined() + expect(error).to.not.be.null() }) }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e0275bec..de19a629 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,9 +26,6 @@ importers: typedoc: specifier: ^0.24.8 version: 0.24.8(typescript@5.1.6) - typedoc-plugin-expand-object-like-types: - specifier: ^0.1.2 - version: 0.1.2(typedoc@0.24.8) typedoc-plugin-missing-exports: specifier: ^2.0.0 version: 2.0.0(typedoc@0.24.8) @@ -63,11 +60,11 @@ importers: specifier: workspace:^ version: link:../../packages/adapter-react iso-base: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 iso-filecoin: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.2 + version: 2.0.2 metamask-testing-tools: specifier: ^1.1.4 version: 1.1.4(@metamask/approval-controller@2.1.1) @@ -76,13 +73,13 @@ importers: version: 10.16.0 react-hook-form: specifier: ^7.45.2 - version: 7.45.2(react@17.0.2) + version: 7.45.2(react@18.2.0) viem: - specifier: ^1.4.1 - version: 1.4.1(typescript@5.1.6) + specifier: ^1.4.2 + version: 1.4.2(typescript@5.1.6) wagmi: specifier: ^1.3.9 - version: 1.3.9(react@17.0.2)(typescript@5.1.6)(viem@1.4.1) + version: 1.3.9(react@18.2.0)(typescript@5.1.6)(viem@1.4.2) water.css: specifier: ^2.1.1 version: 2.1.1 @@ -91,20 +88,20 @@ importers: specifier: ^7.22.9 version: 7.22.9 '@playwright/test': - specifier: ^1.36.1 - version: 1.36.1 + specifier: ^1.36.2 + version: 1.36.2 '@preact/preset-vite': specifier: ^2.5.0 version: 2.5.0(@babel/core@7.22.9)(preact@10.16.0)(vite@4.4.7) '@types/node': - specifier: ^20.4.4 - version: 20.4.4 + specifier: ^20.4.5 + version: 20.4.5 tiny-git-rev-sync: specifier: ^0.1.0 version: 0.1.0 vite: specifier: ^4.4.7 - version: 4.4.7(@types/node@20.4.4) + version: 4.4.7(@types/node@20.4.5) examples/fil-forwarder-viem: dependencies: @@ -112,33 +109,33 @@ importers: specifier: workspace:^ version: link:../../packages/adapter iso-base: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 iso-filecoin: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.2 + version: 2.0.2 prettier: specifier: 3.0.0 version: 3.0.0 viem: - specifier: ^1.4.1 - version: 1.4.1(typescript@5.1.6) + specifier: ^1.4.2 + version: 1.4.2(typescript@5.1.6) devDependencies: '@babel/core': specifier: ^7.22.9 version: 7.22.9 '@playwright/test': - specifier: ^1.36.1 - version: 1.36.1 + specifier: ^1.36.2 + version: 1.36.2 '@preact/preset-vite': specifier: ^2.5.0 version: 2.5.0(@babel/core@7.22.9)(preact@10.16.0)(vite@4.4.7) '@types/node': - specifier: ^20.4.4 - version: 20.4.4 + specifier: ^20.4.5 + version: 20.4.5 vite: specifier: ^4.4.7 - version: 4.4.7(@types/node@20.4.4) + version: 4.4.7(@types/node@20.4.5) packages/adapter: dependencies: @@ -147,11 +144,11 @@ importers: version: link:../snap devDependencies: '@playwright/test': - specifier: ^1.36.1 - version: 1.36.1 + specifier: ^1.36.2 + version: 1.36.2 '@types/node': - specifier: ^20.4.4 - version: 20.4.4 + specifier: ^20.4.5 + version: 20.4.5 metamask-testing-tools: specifier: ^1.1.4 version: 1.1.4(@metamask/approval-controller@2.1.1) @@ -172,8 +169,8 @@ importers: specifier: ^10.0.1 version: 10.0.1 '@types/node': - specifier: ^20.4.4 - version: 20.4.4 + specifier: ^20.4.5 + version: 20.4.5 '@types/react': specifier: ^17.0.0 version: 17.0.0 @@ -211,11 +208,11 @@ importers: specifier: ^0.32.2 version: 0.32.2 iso-base: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 iso-filecoin: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.2 + version: 2.0.2 merge-options: specifier: ^3.0.4 version: 3.0.4 @@ -233,20 +230,20 @@ importers: specifier: ^0.32.2 version: 0.32.2(@metamask/approval-controller@2.1.1) '@playwright/test': - specifier: ^1.36.1 - version: 1.36.1 + specifier: ^1.36.2 + version: 1.36.2 '@rollup/plugin-commonjs': specifier: ^25.0.3 - version: 25.0.3(rollup@3.26.3) + version: 25.0.3(rollup@3.27.0) '@rollup/plugin-node-resolve': specifier: ^15.1.0 - version: 15.1.0(rollup@3.26.3) + version: 15.1.0(rollup@3.27.0) '@rollup/plugin-sucrase': specifier: ^5.0.1 - version: 5.0.1(rollup@3.26.3) + version: 5.0.1(rollup@3.27.0) '@rollup/plugin-terser': specifier: ^0.4.3 - version: 0.4.3(rollup@3.26.3) + version: 0.4.3(rollup@3.27.0) '@types/chai': specifier: ^4.3.5 version: 4.3.5 @@ -287,8 +284,8 @@ importers: specifier: ^12.1.1 version: 12.1.1 rollup: - specifier: ^3.26.3 - version: 3.26.3 + specifier: ^3.27.0 + version: 3.27.0 sinon: specifier: ^15.2.0 version: 15.2.0 @@ -2637,13 +2634,13 @@ packages: typescript: 5.1.6 dev: true - /@playwright/test@1.36.1: - resolution: {integrity: sha512-YK7yGWK0N3C2QInPU6iaf/L3N95dlGdbsezLya4n0ZCh3IL7VgPGxC6Gnznh9ApWdOmkJeleT2kMTcWPRZvzqg==} + /@playwright/test@1.36.2: + resolution: {integrity: sha512-2rVZeyPRjxfPH6J0oGJqE8YxiM1IBRyM8hyrXYK7eSiAqmbNhxwcLa7dZ7fy9Kj26V7FYia5fh9XJRq4Dqme+g==} engines: {node: '>=16'} hasBin: true dependencies: - '@types/node': 20.4.4 - playwright-core: 1.36.1 + '@types/node': 20.4.5 + playwright-core: 1.36.2 optionalDependencies: fsevents: 2.3.2 @@ -2670,7 +2667,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 resolve: 1.22.2 - vite: 4.4.7(@types/node@20.4.4) + vite: 4.4.7(@types/node@20.4.5) transitivePeerDependencies: - preact - supports-color @@ -2717,12 +2714,12 @@ packages: '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 preact: 10.16.0 - vite: 4.4.7(@types/node@20.4.4) + vite: 4.4.7(@types/node@20.4.5) transitivePeerDependencies: - supports-color dev: true - /@rollup/plugin-commonjs@25.0.3(rollup@3.26.3): + /@rollup/plugin-commonjs@25.0.3(rollup@3.27.0): resolution: {integrity: sha512-uBdtWr/H3BVcgm97MUdq2oJmqBR23ny1hOrWe2PKo9FTbjsGqg32jfasJUKYAI5ouqacjRnj65mBB/S79F+GQA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2731,16 +2728,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.26.3) + '@rollup/pluginutils': 5.0.2(rollup@3.27.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.27.0 - rollup: 3.26.3 + rollup: 3.27.0 dev: true - /@rollup/plugin-node-resolve@15.1.0(rollup@3.26.3): + /@rollup/plugin-node-resolve@15.1.0(rollup@3.27.0): resolution: {integrity: sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2749,16 +2746,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.26.3) + '@rollup/pluginutils': 5.0.2(rollup@3.27.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.2 - rollup: 3.26.3 + rollup: 3.27.0 dev: true - /@rollup/plugin-sucrase@5.0.1(rollup@3.26.3): + /@rollup/plugin-sucrase@5.0.1(rollup@3.27.0): resolution: {integrity: sha512-3mYe28rR/sUTkV8v10yPCP55TQ/oJkvcxKZBj6NGx9ZfCn9BdBtBL1v1S0TQrcOV4WD3FTHJaI7TbbukALx9wA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2767,12 +2764,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.26.3) - rollup: 3.26.3 + '@rollup/pluginutils': 5.0.2(rollup@3.27.0) + rollup: 3.27.0 sucrase: 3.32.0 dev: true - /@rollup/plugin-terser@0.4.3(rollup@3.26.3): + /@rollup/plugin-terser@0.4.3(rollup@3.27.0): resolution: {integrity: sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2781,7 +2778,7 @@ packages: rollup: optional: true dependencies: - rollup: 3.26.3 + rollup: 3.27.0 serialize-javascript: 6.0.1 smob: 1.4.0 terser: 5.19.0 @@ -2795,7 +2792,7 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/pluginutils@5.0.2(rollup@3.26.3): + /@rollup/pluginutils@5.0.2(rollup@3.27.0): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2807,7 +2804,7 @@ packages: '@types/estree': 1.0.1 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.26.3 + rollup: 3.27.0 dev: true /@safe-global/safe-apps-provider@0.17.1(typescript@5.1.6): @@ -2827,7 +2824,7 @@ packages: resolution: {integrity: sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw==} dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.7.3 - viem: 1.4.1(typescript@5.1.6) + viem: 1.4.2(typescript@5.1.6) transitivePeerDependencies: - bufferutil - encoding @@ -2851,7 +2848,7 @@ packages: resolution: {integrity: sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==} dependencies: '@noble/curves': 1.0.0 - '@noble/hashes': 1.3.1 + '@noble/hashes': 1.3.0 '@scure/base': 1.1.1 dev: false @@ -2865,7 +2862,7 @@ packages: /@scure/bip39@1.2.0: resolution: {integrity: sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==} dependencies: - '@noble/hashes': 1.3.1 + '@noble/hashes': 1.3.0 '@scure/base': 1.1.1 dev: false @@ -3080,10 +3077,10 @@ packages: '@tanstack/react-query': 4.32.0 dependencies: '@tanstack/query-persist-client-core': 4.32.0 - '@tanstack/react-query': 4.32.0(react@17.0.2) + '@tanstack/react-query': 4.32.0(react@18.2.0) dev: false - /@tanstack/react-query@4.32.0(react@17.0.2): + /@tanstack/react-query@4.32.0(react@18.2.0): resolution: {integrity: sha512-B8WUMcByYAH9500ENejDCATOmEZhqjtS9wsfiQ3BNa+s+yAynY8SESI8WWHhSqUmjd0pmCSFRP6BOUGSda3QXA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -3096,8 +3093,8 @@ packages: optional: true dependencies: '@tanstack/query-core': 4.32.0 - react: 17.0.2 - use-sync-external-store: 1.2.0(react@17.0.2) + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) dev: false /@testing-library/react-hooks@8.0.1(@types/react@17.0.0)(react-dom@17.0.0)(react@17.0.0): @@ -3126,7 +3123,7 @@ packages: /@types/bn.js@5.1.1: resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} dependencies: - '@types/node': 20.4.4 + '@types/node': 20.4.5 /@types/chai-as-promised@7.1.5: resolution: {integrity: sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==} @@ -3153,7 +3150,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 20.4.4 + '@types/node': 20.4.5 dev: false /@types/debug@4.1.8: @@ -3206,8 +3203,8 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: false - /@types/node@20.4.4: - resolution: {integrity: sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==} + /@types/node@20.4.5: + resolution: {integrity: sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==} /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -3220,7 +3217,7 @@ packages: /@types/pbkdf2@3.1.0: resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} dependencies: - '@types/node': 20.4.4 + '@types/node': 20.4.5 /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} @@ -3249,7 +3246,7 @@ packages: /@types/secp256k1@4.0.3: resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} dependencies: - '@types/node': 20.4.4 + '@types/node': 20.4.5 /@types/semver@7.5.0: resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} @@ -3279,7 +3276,7 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 20.4.4 + '@types/node': 20.4.5 dev: false /@types/yargs-parser@21.0.0: @@ -3498,7 +3495,7 @@ packages: typescript: 5.1.6 dev: false - /@wagmi/connectors@2.6.6(@wagmi/chains@1.6.0)(react@17.0.2)(typescript@5.1.6)(viem@1.4.1): + /@wagmi/connectors@2.6.6(@wagmi/chains@1.6.0)(react@18.2.0)(typescript@5.1.6)(viem@1.4.2): resolution: {integrity: sha512-/o1c/TCivQs8DOAUOcQvY2UIt3p2mWOAHi39D0LC74+ncpXzLC5/gyaWU38qnTxPM8s/PmTmaWDgz+VhICXrag==} peerDependencies: '@wagmi/chains': '>=1.3.0' @@ -3517,12 +3514,12 @@ packages: '@wagmi/chains': 1.6.0(typescript@5.1.6) '@walletconnect/ethereum-provider': 2.9.0(@walletconnect/modal@2.5.9) '@walletconnect/legacy-provider': 2.0.0 - '@walletconnect/modal': 2.5.9(react@17.0.2) + '@walletconnect/modal': 2.5.9(react@18.2.0) '@walletconnect/utils': 2.9.0 abitype: 0.8.7(typescript@5.1.6) eventemitter3: 4.0.7 typescript: 5.1.6 - viem: 1.4.1(typescript@5.1.6) + viem: 1.4.2(typescript@5.1.6) transitivePeerDependencies: - '@react-native-async-storage/async-storage' - bufferutil @@ -3534,7 +3531,7 @@ packages: - zod dev: false - /@wagmi/core@1.3.8(react@17.0.2)(typescript@5.1.6)(viem@1.4.1): + /@wagmi/core@1.3.8(react@18.2.0)(typescript@5.1.6)(viem@1.4.2): resolution: {integrity: sha512-OYSxikoMizqVnpSkFTwGE7PwFaz2k0PXteSiI0W2Mtk4j4sZzRFdP+9AWeDB6AYm0yU3WvgN1IATx0EEBKUe3w==} peerDependencies: typescript: '>=5.0.4' @@ -3544,12 +3541,12 @@ packages: optional: true dependencies: '@wagmi/chains': 1.6.0(typescript@5.1.6) - '@wagmi/connectors': 2.6.6(@wagmi/chains@1.6.0)(react@17.0.2)(typescript@5.1.6)(viem@1.4.1) + '@wagmi/connectors': 2.6.6(@wagmi/chains@1.6.0)(react@18.2.0)(typescript@5.1.6)(viem@1.4.2) abitype: 0.8.7(typescript@5.1.6) eventemitter3: 4.0.7 typescript: 5.1.6 - viem: 1.4.1(typescript@5.1.6) - zustand: 4.3.9(react@17.0.2) + viem: 1.4.2(typescript@5.1.6) + zustand: 4.3.9(react@18.2.0) transitivePeerDependencies: - '@react-native-async-storage/async-storage' - bufferutil @@ -3625,7 +3622,7 @@ packages: '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/modal': 2.5.9(react@17.0.2) + '@walletconnect/modal': 2.5.9(react@18.2.0) '@walletconnect/sign-client': 2.9.0 '@walletconnect/types': 2.9.0 '@walletconnect/universal-provider': 2.9.0 @@ -3780,19 +3777,19 @@ packages: tslib: 1.14.1 dev: false - /@walletconnect/modal-core@2.5.9(react@17.0.2): + /@walletconnect/modal-core@2.5.9(react@18.2.0): resolution: {integrity: sha512-isIebwF9hOknGouhS/Ob4YJ9Sa/tqNYG2v6Ua9EkCqIoLimepkG5eC53tslUWW29SLSfQ9qqBNG2+iE7yQXqgw==} dependencies: buffer: 6.0.3 - valtio: 1.10.6(react@17.0.2) + valtio: 1.10.6(react@18.2.0) transitivePeerDependencies: - react dev: false - /@walletconnect/modal-ui@2.5.9(react@17.0.2): + /@walletconnect/modal-ui@2.5.9(react@18.2.0): resolution: {integrity: sha512-nfBaAT9Ls7RZTBBgAq+Nt/3AoUcinIJ9bcq5UHXTV3lOPu/qCKmUC/0HY3GvUK8ykabUAsjr0OAGmcqkB91qug==} dependencies: - '@walletconnect/modal-core': 2.5.9(react@17.0.2) + '@walletconnect/modal-core': 2.5.9(react@18.2.0) lit: 2.7.5 motion: 10.16.2 qrcode: 1.5.3 @@ -3800,11 +3797,11 @@ packages: - react dev: false - /@walletconnect/modal@2.5.9(react@17.0.2): + /@walletconnect/modal@2.5.9(react@18.2.0): resolution: {integrity: sha512-Zs2RvPwbBNRdBhb50FuJCxi3FJltt1KSpI7odjU/x9GTpTOcSOkmR66PBCy2JvNA0+ztnS1Xs0LVEr3lu7/Jzw==} dependencies: - '@walletconnect/modal-core': 2.5.9(react@17.0.2) - '@walletconnect/modal-ui': 2.5.9(react@17.0.2) + '@walletconnect/modal-core': 2.5.9(react@18.2.0) + '@walletconnect/modal-ui': 2.5.9(react@18.2.0) transitivePeerDependencies: - react dev: false @@ -6847,15 +6844,15 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /iso-base@1.1.1: - resolution: {integrity: sha512-W2PphrTWNaCUg0OM/N73dIhSsNAQwVEWH/sal/MpnzxWSH8HeGEhXG2FJe01HG9BjtYyAz+x7qJliOgyTGYHHg==} + /iso-base@1.1.2: + resolution: {integrity: sha512-cseSNMTn889oh9l/Aw4f1a5dDHmNnYGVZAp//G+UKfSJ5xC6WxQgYsp/O4McGYhmZJxPVenqlhNrt4ki2nRfZQ==} dependencies: base-x: 4.0.0 bigint-mod-arith: 3.3.1 dev: false - /iso-filecoin@2.0.1: - resolution: {integrity: sha512-ZVd4mzSbZu5lu9idA+iOZNlLy+zUCjBToL3WnBpMffmkS5piEbihjwex0qFmDbHkrhUG1cSVNTTZcTQwUN1TIg==} + /iso-filecoin@2.0.2: + resolution: {integrity: sha512-LDUjqqp1XIAcDjUNC5WsahcaK9zp+VfPdR2iRq4MaB8cOXGI5g0LI+6q8RuMXhWQRDNNqDFHJEeo2nzp4yfNBA==} dependencies: '@ipld/dag-cbor': 9.0.3 '@noble/curves': 1.1.0 @@ -6863,7 +6860,7 @@ packages: '@scure/bip32': 1.3.1 '@scure/bip39': 1.2.1 bignumber.js: 9.1.1 - iso-base: 1.1.1 + iso-base: 1.1.2 zod: 3.21.4 dev: false @@ -7314,7 +7311,7 @@ packages: dependencies: '@metamask/providers': 11.1.0 '@metamask/snaps-utils': 0.32.2(@metamask/approval-controller@2.1.1) - '@playwright/test': 1.36.1 + '@playwright/test': 1.36.2 conf: 11.0.1 emittery: 1.0.1 eth-rpc-errors: 4.0.3 @@ -7615,6 +7612,7 @@ packages: /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + dev: true /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} @@ -7982,8 +7980,8 @@ packages: hasBin: true dev: true - /playwright-core@1.36.1: - resolution: {integrity: sha512-7+tmPuMcEW4xeCL9cp9KxmYpQYHKkyjwoXRnoeTowaeNat8PoBMk/HwCYhqkH2fRkshfKEOiVus/IhID2Pg8kg==} + /playwright-core@1.36.2: + resolution: {integrity: sha512-sQYZt31dwkqxOrP7xy2ggDfEzUxM1lodjhsQ3NMMv5uGTRDsLxU0e4xf4wwMkF2gplIxf17QMBCodSFgm6bFVQ==} engines: {node: '>=16'} hasBin: true @@ -8250,13 +8248,13 @@ packages: react: 17.0.0 dev: true - /react-hook-form@7.45.2(react@17.0.2): + /react-hook-form@7.45.2(react@18.2.0): resolution: {integrity: sha512-9s45OdTaKN+4NSTbXVqeDITd/nwIg++nxJGL8+OD5uf1DxvhsXQ641kaYHk5K28cpIOTYm71O/fYk7rFaygb3A==} engines: {node: '>=12.22.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 dependencies: - react: 17.0.2 + react: 18.2.0 dev: false /react-is@16.13.1: @@ -8271,12 +8269,11 @@ packages: object-assign: 4.1.1 dev: true - /react@17.0.2: - resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 - object-assign: 4.1.1 dev: false /read-only-stream@2.0.0: @@ -8510,6 +8507,14 @@ packages: fsevents: 2.3.2 dev: true + /rollup@3.27.0: + resolution: {integrity: sha512-aOltLCrYZ0FhJDm7fCqwTjIUEVjWjcydKBV/Zeid6Mn8BWgDCUBBWT5beM5ieForYNo/1ZHuGJdka26kvQ3Gzg==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + /rpc-websockets@7.5.1: resolution: {integrity: sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w==} dependencies: @@ -9319,14 +9324,6 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typedoc-plugin-expand-object-like-types@0.1.2(typedoc@0.24.8): - resolution: {integrity: sha512-RRMOCWMElQHBOVraWMWrh/0tDqCdS5oxYwaWMZBB3KlUUUUCxKllpvJPsRH/uFLO1nOuy28CbJxGVU1umv7LOQ==} - peerDependencies: - typedoc: 0.22.x || 0.23.x - dependencies: - typedoc: 0.24.8(typescript@5.1.6) - dev: true - /typedoc-plugin-missing-exports@2.0.0(typedoc@0.24.8): resolution: {integrity: sha512-t0QlKCm27/8DaheJkLo/gInSNjzBXgSciGhoLpL6sLyXZibm7SuwJtHvg4qXI2IjJfFBgW9mJvvszpoxMyB0TA==} peerDependencies: @@ -9452,12 +9449,12 @@ packages: qs: 6.11.2 dev: true - /use-sync-external-store@1.2.0(react@17.0.2): + /use-sync-external-store@1.2.0(react@18.2.0): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - react: 17.0.2 + react: 18.2.0 dev: false /utf-8-validate@5.0.10: @@ -9513,7 +9510,7 @@ packages: dependencies: builtins: 5.0.1 - /valtio@1.10.6(react@17.0.2): + /valtio@1.10.6(react@18.2.0): resolution: {integrity: sha512-SxN1bHUmdhW6V8qsQTpCgJEwp7uHbntuH0S9cdLQtiohuevwBksbpXjwj5uDMA7bLwg1WKyq9sEpZrx3TIMrkA==} engines: {node: '>=12.20.0'} peerDependencies: @@ -9523,12 +9520,12 @@ packages: optional: true dependencies: proxy-compare: 2.5.1 - react: 17.0.2 - use-sync-external-store: 1.2.0(react@17.0.2) + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /viem@1.4.1(typescript@5.1.6): - resolution: {integrity: sha512-MtaoBHDSJDqa+QyXKG5d+S6EQSebRO0tzw6anSP4zC7AbC614vMeg9Y8LbkmEkWCw8swFYkort+H9l7GkWB0uA==} + /viem@1.4.2(typescript@5.1.6): + resolution: {integrity: sha512-125E7HoOr5PrL+Iwt8853dQexwRoiPpLwPsrRvlDX94su2xoe7AYqrdfR6N9nmy6vd6mt8eQy8+LWiP3A+1dqw==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -9551,7 +9548,7 @@ packages: - zod dev: false - /vite@4.4.7(@types/node@20.4.4): + /vite@4.4.7(@types/node@20.4.5): resolution: {integrity: sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -9579,7 +9576,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.4.4 + '@types/node': 20.4.5 esbuild: 0.18.16 postcss: 8.4.27 rollup: 3.26.3 @@ -9599,7 +9596,7 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true - /wagmi@1.3.9(react@17.0.2)(typescript@5.1.6)(viem@1.4.1): + /wagmi@1.3.9(react@18.2.0)(typescript@5.1.6)(viem@1.4.2): resolution: {integrity: sha512-BQbl+vWLNpLraXd/MWsl1P3I41l7DHrujx6qshIa1HDV7Mdh0GNrDuluRYBtuK2bBx9WM/Fjw45Ef2aKADan9A==} peerDependencies: react: '>=17.0.0' @@ -9610,14 +9607,14 @@ packages: optional: true dependencies: '@tanstack/query-sync-storage-persister': 4.32.0 - '@tanstack/react-query': 4.32.0(react@17.0.2) + '@tanstack/react-query': 4.32.0(react@18.2.0) '@tanstack/react-query-persist-client': 4.32.0(@tanstack/react-query@4.32.0) - '@wagmi/core': 1.3.8(react@17.0.2)(typescript@5.1.6)(viem@1.4.1) + '@wagmi/core': 1.3.8(react@18.2.0)(typescript@5.1.6)(viem@1.4.2) abitype: 0.8.7(typescript@5.1.6) - react: 17.0.2 + react: 18.2.0 typescript: 5.1.6 - use-sync-external-store: 1.2.0(react@17.0.2) - viem: 1.4.1(typescript@5.1.6) + use-sync-external-store: 1.2.0(react@18.2.0) + viem: 1.4.2(typescript@5.1.6) transitivePeerDependencies: - '@react-native-async-storage/async-storage' - bufferutil @@ -9892,7 +9889,7 @@ packages: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false - /zustand@4.3.9(react@17.0.2): + /zustand@4.3.9(react@18.2.0): resolution: {integrity: sha512-Tat5r8jOMG1Vcsj8uldMyqYKC5IZvQif8zetmLHs9WoZlntTHmIoNM8TpLRY31ExncuUvUOXehd0kvahkuHjDw==} engines: {node: '>=12.7.0'} peerDependencies: @@ -9904,6 +9901,6 @@ packages: react: optional: true dependencies: - react: 17.0.2 - use-sync-external-store: 1.2.0(react@17.0.2) + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) dev: false