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