From d05539d2fadcfaf02383b6ee4ec8255c6d7f5a5a Mon Sep 17 00:00:00 2001
From: CedarMist <134699267+CedarMist@users.noreply.github.com>
Date: Tue, 11 Jun 2024 09:35:41 +0100
Subject: [PATCH] added wagmi-v1 example + viem test
---
README.md | 2 +-
clients/js/CHANGELOG.md | 2 +-
clients/js/README.md | 3 +-
clients/js/package.json | 2 +-
clients/js/scripts/proxy.ts | 4 +-
clients/js/src/provider.ts | 2 +-
examples/wagmi-v1/.gitignore | 3 +
examples/wagmi-v1/Makefile | 28 +
examples/wagmi-v1/index.html | 12 +
examples/wagmi-v1/package.json | 33 +
examples/wagmi-v1/src/App.tsx | 224 ++++
examples/wagmi-v1/src/index.css | 21 +
examples/wagmi-v1/src/main.tsx | 16 +
examples/wagmi-v1/src/vite-env.d.ts | 1 +
examples/wagmi-v1/src/wagmi.ts | 61 +
examples/wagmi-v1/tsconfig.json | 25 +
examples/wagmi-v1/tsconfig.node.json | 10 +
examples/wagmi-v1/vite.config.ts | 28 +
integrations/hardhat/hardhat.config.ts | 1 +
integrations/viem-v2/Makefile | 2 +-
integrations/viem-v2/package.json | 18 +-
integrations/viem-v2/test/viem-v2.test.ts | 102 ++
pnpm-lock.yaml | 1284 +++++++++++++++++++--
pnpm-workspace.yaml | 1 +
24 files changed, 1798 insertions(+), 87 deletions(-)
create mode 100644 examples/wagmi-v1/.gitignore
create mode 100644 examples/wagmi-v1/Makefile
create mode 100644 examples/wagmi-v1/index.html
create mode 100644 examples/wagmi-v1/package.json
create mode 100644 examples/wagmi-v1/src/App.tsx
create mode 100644 examples/wagmi-v1/src/index.css
create mode 100644 examples/wagmi-v1/src/main.tsx
create mode 100644 examples/wagmi-v1/src/vite-env.d.ts
create mode 100644 examples/wagmi-v1/src/wagmi.ts
create mode 100644 examples/wagmi-v1/tsconfig.json
create mode 100644 examples/wagmi-v1/tsconfig.node.json
create mode 100644 examples/wagmi-v1/vite.config.ts
create mode 100644 integrations/viem-v2/test/viem-v2.test.ts
diff --git a/README.md b/README.md
index 7d5ceadf..1b6ad6f7 100644
--- a/README.md
+++ b/README.md
@@ -42,7 +42,7 @@ This monorepo includes the source code for the following Sapphire packages:
[hardhat-size]: https://img.shields.io/bundlephobia/minzip/@oasisprotocol/sapphire-hardhat
[client-size]: https://img.shields.io/bundlephobia/minzip/@oasisprotocol/sapphire-paratime
[ethers-v6-size]: https://img.shields.io/bundlephobia/minzip/@oasisprotocol/sapphire-ethers-v6
-[wagmi-v2-size]: https://img.shields.io/bundlephobia/minzip/@oasisprotocol/sapphire-viem-v2
+[viem-v2-size]: https://img.shields.io/bundlephobia/minzip/@oasisprotocol/sapphire-viem-v2
[wagmi-v2-size]: https://img.shields.io/bundlephobia/minzip/@oasisprotocol/sapphire-wagmi-v2
[hardhat-bundlephobia]: https://bundlephobia.com/package/@oasisprotocol/sapphire-hardhat
diff --git a/clients/js/CHANGELOG.md b/clients/js/CHANGELOG.md
index d395581e..e3fc4935 100644
--- a/clients/js/CHANGELOG.md
+++ b/clients/js/CHANGELOG.md
@@ -6,7 +6,7 @@ The format is inspired by [Keep a Changelog].
[Keep a Changelog]: https://keepachangelog.com/en/1.0.0/
-## 1.3.3 (2024-04-05)
+## 2.0.0-alpha.1 (2024-06)
### Added
diff --git a/clients/js/README.md b/clients/js/README.md
index d4761059..dd04d4fd 100644
--- a/clients/js/README.md
+++ b/clients/js/README.md
@@ -54,8 +54,7 @@ then you'll see this error.
**Fix:** The simplest thing to do is connect a provider. Alternatively, you can pass in
a pre-initialized `Cipher` object as the second argument to `wrap`; and then also generate
-signed queries manually using the `overrides` parameter to `SignedCallDataPack.make`. This
-latter approach
+signed queries manually using the `overrides` parameter to `SignedCallDataPack.make`.
## See Also
diff --git a/clients/js/package.json b/clients/js/package.json
index aa069e63..b3ba22af 100644
--- a/clients/js/package.json
+++ b/clients/js/package.json
@@ -43,7 +43,7 @@
},
"dependencies": {
"@noble/hashes": "1.3.2",
- "@oasisprotocol/deoxysii": "0.0.5",
+ "@oasisprotocol/deoxysii": "0.0.6",
"cborg": "1.10.2"
},
"devDependencies": {
diff --git a/clients/js/scripts/proxy.ts b/clients/js/scripts/proxy.ts
index f16e1b1a..02dd7641 100644
--- a/clients/js/scripts/proxy.ts
+++ b/clients/js/scripts/proxy.ts
@@ -1,8 +1,8 @@
import { createServer, IncomingMessage, ServerResponse } from 'node:http';
-import { formatEther, getBytes, toBigInt, Transaction } from 'ethers';
+import { formatEther, toBigInt, Transaction } from 'ethers';
-import { Envelope, EnvelopeError } from '@oasisprotocol/sapphire-paratime';
+import { Envelope, EnvelopeError, getBytes } from '@oasisprotocol/sapphire-paratime';
import { decode as cborgDecode } from 'cborg';
diff --git a/clients/js/src/provider.ts b/clients/js/src/provider.ts
index 63d3c124..5f5a6ef6 100644
--- a/clients/js/src/provider.ts
+++ b/clients/js/src/provider.ts
@@ -93,7 +93,7 @@ export function wrapEthereumProvider
(
const filled_options = fillOptions(options);
- // if it providers a send() function but no request function
+ // if upstream provides a send() function but not request function
// then derive a request() function from the send() function
// if we do this, don't then re-wrap the send() function
// only wrap the send() function if there was a request() function
diff --git a/examples/wagmi-v1/.gitignore b/examples/wagmi-v1/.gitignore
new file mode 100644
index 00000000..b1e7d16e
--- /dev/null
+++ b/examples/wagmi-v1/.gitignore
@@ -0,0 +1,3 @@
+dist
+stats.html
+
diff --git a/examples/wagmi-v1/Makefile b/examples/wagmi-v1/Makefile
new file mode 100644
index 00000000..36e72adc
--- /dev/null
+++ b/examples/wagmi-v1/Makefile
@@ -0,0 +1,28 @@
+NPM ?= pnpm
+
+all: build
+
+build:
+ $(NPM) build
+
+clean:
+ rm -rf dist stats.html
+
+distclean: clean
+ rm -rf node_modules
+
+dependencies:
+ $(MAKE) -C ../../integrations/wagmi-v2 full
+
+full: dependencies build
+
+test:
+ @echo Please make tests for wagmi-v2 example!
+
+run:
+ $(NPM) run dev
+
+run-proxied:
+ SAPPHIRE_LOCALNET_HTTP_PROXY_PORT=3001 $(NPM) run dev
+
+.PHONY: all clean distclean dependencies full test run run-proxied
diff --git a/examples/wagmi-v1/index.html b/examples/wagmi-v1/index.html
new file mode 100644
index 00000000..f519ce85
--- /dev/null
+++ b/examples/wagmi-v1/index.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+ Create Wagmi
+
+
+
+
+
+
diff --git a/examples/wagmi-v1/package.json b/examples/wagmi-v1/package.json
new file mode 100644
index 00000000..940c1494
--- /dev/null
+++ b/examples/wagmi-v1/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "sapphire-examples-wagmi-v1",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "license": "Apache-2.0",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "lint": "biome check .",
+ "format": "biome format --write .",
+ "preview": "vite preview",
+ "start:server": "vite --port 3000"
+ },
+ "dependencies": {
+ "@oasisprotocol/sapphire-paratime": "workspace:^",
+ "abitype": "^1.0.2",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "wagmi": "1.4.13",
+ "viem": "2.9.19"
+ },
+ "devDependencies": {
+ "@biomejs/biome": "^1.7.0",
+ "@types/react": "^18.2.79",
+ "@types/react-dom": "^18.2.25",
+ "@vitejs/plugin-react": "^4.2.1",
+ "buffer": "^6.0.3",
+ "rollup-plugin-visualizer": "^5.12.0",
+ "typescript": "^5.4.5",
+ "vite": "^4.5.3"
+ }
+}
diff --git a/examples/wagmi-v1/src/App.tsx b/examples/wagmi-v1/src/App.tsx
new file mode 100644
index 00000000..1677d0b0
--- /dev/null
+++ b/examples/wagmi-v1/src/App.tsx
@@ -0,0 +1,224 @@
+import { useEffect, useState } from "react";
+import {
+ useAccount,
+ useConnect,
+ useDisconnect,
+ useNetwork,
+ usePublicClient,
+ useTransaction,
+ useWalletClient,
+} from "wagmi";
+import { isCalldataEnveloped } from '@oasisprotocol/sapphire-paratime';
+import type { Abi } from "abitype";
+import { waitForTransaction } from "wagmi/actions";
+import { TransactionReceipt } from "viem";
+
+/*
+// SPDX-License-Identifier: Apache-2.0
+pragma solidity >=0.8.2 <0.9.0;
+contract Storage {
+ uint256 number;
+ function store(uint256 num) public {
+ number = num;
+ }
+ function retrieve() public view returns (uint256){
+ return number;
+ }
+}
+*/
+const StorageBytecode =
+ "0x608060405234801561000f575f80fd5b506101438061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80632e64cec1146100385780636057361d14610056575b5f80fd5b610040610072565b60405161004d919061009b565b60405180910390f35b610070600480360381019061006b91906100e2565b61007a565b005b5f8054905090565b805f8190555050565b5f819050919050565b61009581610083565b82525050565b5f6020820190506100ae5f83018461008c565b92915050565b5f80fd5b6100c181610083565b81146100cb575f80fd5b50565b5f813590506100dc816100b8565b92915050565b5f602082840312156100f7576100f66100b4565b5b5f610104848285016100ce565b9150509291505056fea26469706673582212201bc715d5ea5b4244a667a55f9fd36929a52a02208d9b458fdf543f5495011b2164736f6c63430008180033";
+
+const StorageABI = [
+ {
+ inputs: [],
+ name: "retrieve",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "num",
+ type: "uint256",
+ },
+ ],
+ name: "store",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+] as const satisfies Abi;
+
+function App() {
+ const account = useAccount();
+ const network = useNetwork();
+ const { connectors, connect, status, error } = useConnect();
+ const { disconnect } = useDisconnect();
+ const { data: walletClient } = useWalletClient();
+ const [deployHash, setDeployHash] = useState();
+ const [contractAddress, setContractAddress] = useState<
+ undefined | `0x${string}`
+ >();
+ const [writeTxHash, setWriteTxHash] = useState();
+ const [readResult, setReadResult] = useState();
+ const publicClient = usePublicClient()!;
+ const [deployReceipt,setDeployReceipt] = useState(); // = waitForTransaction({ hash: deployHash, confirmations: 1 });
+
+ const [writeReceipt,setWriteReceipt] = useState(); // = waitForTransaction({ hash: writeTxHash, confirmations: 1 });
+
+ const { data: writeTxInfo } = useTransaction({hash: writeReceipt?.transactionHash});
+
+ async function doDeploy() {
+ const hash = await walletClient?.deployContract({
+ abi: StorageABI,
+ bytecode: StorageBytecode,
+ account: account.address,
+ chain: network.chain,
+ args: [],
+ });
+ if (hash) {
+ console.log("Deploy hash set to", hash);
+ setDeployHash(hash);
+ setDeployReceipt(await waitForTransaction({hash}));
+ }
+ }
+
+ useEffect(() => {
+ if (deployReceipt?.contractAddress) {
+ setContractAddress(deployReceipt.contractAddress);
+ }
+ }, [deployReceipt]);
+
+ async function doWrite() {
+ if (contractAddress) {
+ const callArgs = {
+ account: account.address!,
+ chain: network.chain,
+ abi: StorageABI,
+ address: contractAddress,
+ functionName: "store",
+ args: [BigInt(Math.round((Math.random() * 100000)))],
+ } as const;
+ const hash = await walletClient!.writeContract({
+ ...callArgs,
+ gas: await publicClient.estimateContractGas(callArgs)
+ });
+ setWriteTxHash(hash);
+ setWriteReceipt(await waitForTransaction({hash}))
+ }
+ }
+
+ async function doRead() {
+ if (contractAddress) {
+ const result = await publicClient.readContract({
+ abi: StorageABI,
+ address: contractAddress,
+ functionName: "retrieve",
+ args: [],
+ });
+ setReadResult(result);
+ }
+ }
+
+ return (
+ <>
+ Account
+
+ status: {account.status}
+
+ {account.address && (
+ <>
+ address: {account.address}
+ >
+ )}
+
+
+
+
+
+ Deploy
+
+ {deployHash}
+
+ {deployReceipt && (
+ <>
+ Contract:{" "}
+
+ {deployReceipt?.contractAddress}
+
+
+
+
+ Write
+
+
+ {writeTxHash && (
+ <>
+ Write Tx Hash: {writeTxHash}
+
+ {writeReceipt && (
+ <>
+ Write Tx Gas: {writeReceipt.gasUsed.toString()}
+
+ Write Tx BlockHash:
+
+ {writeReceipt.blockHash}
+
+
+ Write Tx Calldata:
+
+ {isCalldataEnveloped(writeTxInfo?.input) ? 'encrypted' : 'plaintext'}
+
+ >
+ )}
+ >
+ )}
+
+
+ Read
+
+ {readResult !== undefined && (
+ <>
+ {readResult.toString()}
+ >
+ )}
+
+ >
+ )}
+
+
+ {account.status === "connected" && (
+ disconnect()}>
+ Disconnect
+
+ )}
+
+
+
Connect
+ {connectors.map((connector) => (
+
connect({ connector })}
+ type="button"
+ id={"connect-" + connector.id}
+ >
+ {connector.name}
+
+ ))}
+
{status}
+
{error?.message}
+
+ >
+ );
+}
+
+export default App;
diff --git a/examples/wagmi-v1/src/index.css b/examples/wagmi-v1/src/index.css
new file mode 100644
index 00000000..0733a7ee
--- /dev/null
+++ b/examples/wagmi-v1/src/index.css
@@ -0,0 +1,21 @@
+:root {
+ background-color: #181818;
+ color: rgba(255, 255, 255, 0.87);
+ color-scheme: light dark;
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
+ font-synthesis: none;
+ font-weight: 400;
+ line-height: 1.5;
+ text-rendering: optimizeLegibility;
+
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-text-size-adjust: 100%;
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ background-color: #f8f8f8;
+ color: #181818;
+ }
+}
diff --git a/examples/wagmi-v1/src/main.tsx b/examples/wagmi-v1/src/main.tsx
new file mode 100644
index 00000000..2ba26122
--- /dev/null
+++ b/examples/wagmi-v1/src/main.tsx
@@ -0,0 +1,16 @@
+import React from "react";
+import ReactDOM from "react-dom/client";
+import { WagmiConfig } from "wagmi";
+
+import App from "./App.tsx";
+import { config } from "./wagmi.ts";
+
+import "./index.css";
+
+ReactDOM.createRoot(document.getElementById("root")!).render(
+
+
+
+
+ ,
+);
diff --git a/examples/wagmi-v1/src/vite-env.d.ts b/examples/wagmi-v1/src/vite-env.d.ts
new file mode 100644
index 00000000..11f02fe2
--- /dev/null
+++ b/examples/wagmi-v1/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/examples/wagmi-v1/src/wagmi.ts b/examples/wagmi-v1/src/wagmi.ts
new file mode 100644
index 00000000..69df711d
--- /dev/null
+++ b/examples/wagmi-v1/src/wagmi.ts
@@ -0,0 +1,61 @@
+import { WindowProvider, createConfig } from "wagmi";
+import { custom, createPublicClient, defineChain } from 'viem'
+import { EIP2696_EthereumProvider, wrapEthereumProvider } from "@oasisprotocol/sapphire-paratime";
+import { InjectedConnector } from "wagmi/connectors/injected";
+
+declare global {
+ interface Window {
+ ethereum: EIP2696_EthereumProvider;
+ }
+}
+
+export const sapphireLocalnet = defineChain({
+ id: 0x5afd,
+ name: 'Sapphire Localnet',
+ nativeCurrency: {
+ decimals: 18,
+ name: 'TEST',
+ symbol: 'TEST'
+ },
+ rpcUrls: {
+ default: {
+ http: ['http://localhost:8545']
+ },
+ public: {
+ http: ['http://localhost:8545']
+ }
+ }
+});
+
+const cachedProviders:Map = new Map();
+
+function getWrappedProvider (o:object) {
+ if( cachedProviders.has(o) ) {
+ return cachedProviders.get(o);
+ }
+ const p = wrapEthereumProvider(o as EIP2696_EthereumProvider) as unknown as WindowProvider;
+ cachedProviders.set(o, p);
+ return p;
+}
+
+export const config = createConfig({
+ autoConnect: true,
+ connectors: [
+ new InjectedConnector({
+ options: {
+ name: 'Injected Provider',
+ getProvider: () => getWrappedProvider(window.ethereum)
+ }
+ })
+ ],
+ publicClient: createPublicClient({
+ chain: sapphireLocalnet,
+ transport: custom(wrapEthereumProvider(window.ethereum))
+ })
+});
+
+declare module "wagmi" {
+ interface Register {
+ config: typeof config;
+ }
+}
diff --git a/examples/wagmi-v1/tsconfig.json b/examples/wagmi-v1/tsconfig.json
new file mode 100644
index 00000000..aca48955
--- /dev/null
+++ b/examples/wagmi-v1/tsconfig.json
@@ -0,0 +1,25 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "include": ["src"],
+ "references": [{ "path": "./tsconfig.node.json" }]
+}
diff --git a/examples/wagmi-v1/tsconfig.node.json b/examples/wagmi-v1/tsconfig.node.json
new file mode 100644
index 00000000..eca66688
--- /dev/null
+++ b/examples/wagmi-v1/tsconfig.node.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "skipLibCheck": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "allowSyntheticDefaultImports": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/examples/wagmi-v1/vite.config.ts b/examples/wagmi-v1/vite.config.ts
new file mode 100644
index 00000000..8aadc79d
--- /dev/null
+++ b/examples/wagmi-v1/vite.config.ts
@@ -0,0 +1,28 @@
+import { defineConfig } from "vite";
+import { visualizer } from "rollup-plugin-visualizer";
+import react from "@vitejs/plugin-react";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ build: {
+ sourcemap: true,
+ cssCodeSplit: false,
+ chunkSizeWarningLimit: 2 ** 20,
+ rollupOptions: {
+ output: {
+ inlineDynamicImports: true,
+ // Watch the output of `pnpm build`, make it fit in single 1mb chunk
+ //manualChunks: () => 'app'
+ },
+ },
+ },
+ plugins: [
+ react(),
+ visualizer({
+ template: "treemap",
+ filename: "stats.html",
+ sourcemap: true,
+ gzipSize: true,
+ }),
+ ],
+});
diff --git a/integrations/hardhat/hardhat.config.ts b/integrations/hardhat/hardhat.config.ts
index eb866cdc..83af1368 100644
--- a/integrations/hardhat/hardhat.config.ts
+++ b/integrations/hardhat/hardhat.config.ts
@@ -23,6 +23,7 @@ const config: HardhatUserConfig = {
sapphire: { ...sapphireMainnet, accounts },
'sapphire-testnet': { ...sapphireTestnet, accounts },
'sapphire-localnet': { ...sapphireLocalnet, accounts },
+ 'sapphire-localnet-proxy': { ...sapphireLocalnet, accounts, url: 'http://localhost:3001' },
},
solidity: '0.8.24',
mocha: {
diff --git a/integrations/viem-v2/Makefile b/integrations/viem-v2/Makefile
index a20aceb6..b9450ce9 100644
--- a/integrations/viem-v2/Makefile
+++ b/integrations/viem-v2/Makefile
@@ -2,7 +2,7 @@ NPM ?= pnpm
all: build lint
-build lint format::
+build lint format test::
$(NPM) $@
clean:
diff --git a/integrations/viem-v2/package.json b/integrations/viem-v2/package.json
index 7b38910e..ad8c81cc 100644
--- a/integrations/viem-v2/package.json
+++ b/integrations/viem-v2/package.json
@@ -9,8 +9,18 @@
"type": "git",
"url": "https://github.com/oasisprotocol/sapphire-paratime.git"
},
- "keywords": ["sapphire", "paratime", "oasis", "web3", "viem"],
- "files": ["dist", "!dist/*.tsbuildinfo", "src"],
+ "keywords": [
+ "sapphire",
+ "paratime",
+ "oasis",
+ "web3",
+ "viem"
+ ],
+ "files": [
+ "dist",
+ "!dist/*.tsbuildinfo",
+ "src"
+ ],
"sideEffects": false,
"main": "./dist/_cjs/index.js",
"module": "./dist/_esm/index.js",
@@ -29,6 +39,7 @@
"lint": "biome check .",
"format": "biome format --write .",
"clean": "rm -rf dist",
+ "test": "vitest --run",
"build": "npm run build:cjs && npm run build:esm && npm run build:types",
"build:cjs": "tsc --project ./tsconfig.build.json --module commonjs --outDir ./dist/_cjs --removeComments --verbatimModuleSyntax false && printf '{\"type\":\"commonjs\"}' > ./dist/_cjs/package.json && node scripts/rename-cjs.js",
"build:esm": "tsc --project ./tsconfig.build.json --module es2015 --outDir ./dist/_esm && printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/_esm/package.json",
@@ -60,6 +71,7 @@
"@biomejs/biome": "^1.7.0",
"@types/node": "^18.19.31",
"ts-node": "^10.9.2",
- "typescript": "^5.4.5"
+ "typescript": "^5.4.5",
+ "vitest": "^1.6.0"
}
}
diff --git a/integrations/viem-v2/test/viem-v2.test.ts b/integrations/viem-v2/test/viem-v2.test.ts
new file mode 100644
index 00000000..6096bfc0
--- /dev/null
+++ b/integrations/viem-v2/test/viem-v2.test.ts
@@ -0,0 +1,102 @@
+const ExampleContract = {
+ "_format": "hh-sol-artifact-1",
+ "contractName": "Example",
+ "sourceName": "contracts/Example.sol",
+ "abi": [
+ {
+ "inputs": [],
+ "stateMutability": "nonpayable",
+ "type": "constructor"
+ },
+ {
+ "inputs": [],
+ "name": "getMsgSender",
+ "outputs": [
+ {
+ "internalType": "address",
+ "name": "",
+ "type": "address"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "getOwner",
+ "outputs": [
+ {
+ "internalType": "address",
+ "name": "",
+ "type": "address"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "in_owner",
+ "type": "address"
+ }
+ ],
+ "name": "setOwner",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "setOwner",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ }
+ ],
+ "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061032d806100606000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af40351461005157806340caae061461006d5780637a6ce2e114610077578063893d20e814610095575b600080fd5b61006b60048036038101906100669190610223565b6100b3565b005b610075610184565b005b61007f61018f565b60405161008c919061025f565b60405180910390f35b61009d610197565b6040516100aa919061025f565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610138906102d7565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61018d336100b3565b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101f0826101c5565b9050919050565b610200816101e5565b811461020b57600080fd5b50565b60008135905061021d816101f7565b92915050565b600060208284031215610239576102386101c0565b5b60006102478482850161020e565b91505092915050565b610259816101e5565b82525050565b60006020820190506102746000830184610250565b92915050565b600082825260208201905092915050565b7f6e6f74206f776e65722100000000000000000000000000000000000000000000600082015250565b60006102c1600a8361027a565b91506102cc8261028b565b602082019050919050565b600060208201905081810360008301526102f0816102b4565b905091905056fea264697066735822122064054c132683c87757dc851258979272e6caa22a372ef98f307bba5326ea700664736f6c63430008180033",
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806313af40351461005157806340caae061461006d5780637a6ce2e114610077578063893d20e814610095575b600080fd5b61006b60048036038101906100669190610223565b6100b3565b005b610075610184565b005b61007f61018f565b60405161008c919061025f565b60405180910390f35b61009d610197565b6040516100aa919061025f565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610138906102d7565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61018d336100b3565b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101f0826101c5565b9050919050565b610200816101e5565b811461020b57600080fd5b50565b60008135905061021d816101f7565b92915050565b600060208284031215610239576102386101c0565b5b60006102478482850161020e565b91505092915050565b610259816101e5565b82525050565b60006020820190506102746000830184610250565b92915050565b600082825260208201905092915050565b7f6e6f74206f776e65722100000000000000000000000000000000000000000000600082015250565b60006102c1600a8361027a565b91506102cc8261028b565b602082019050919050565b600060208201905081810360008301526102f0816102b4565b905091905056fea264697066735822122064054c132683c87757dc851258979272e6caa22a372ef98f307bba5326ea700664736f6c63430008180033",
+ "linkReferences": {},
+ "deployedLinkReferences": {}
+} as const;
+
+import { test, expect } from 'vitest';
+import { sapphireLocalnet, sapphireHttpTransport, wrapWalletClient } from '@oasisprotocol/sapphire-viem-v2';
+import { createPublicClient, createWalletClient, zeroAddress, getContract } from "viem";
+import { mnemonicToAccount } from 'viem/accounts';
+import { isCalldataEnveloped } from "@oasisprotocol/sapphire-paratime";
+
+test('Hardhat Sapphire+Viem Integration', {timeout:1000*10}, async function () {
+ const transport = sapphireHttpTransport();
+ const chain = sapphireLocalnet;
+ const publicClient = createPublicClient({chain, transport});
+ const account = mnemonicToAccount('test test test test test test test test test test test junk');
+ const walletClient = await wrapWalletClient(createWalletClient({
+ account, chain, transport
+ }));
+
+ const deployTxHash = await walletClient.deployContract({
+ account,
+ bytecode: ExampleContract.bytecode,
+ abi: ExampleContract.abi,
+ });
+ const deployTxReceipt = await publicClient.waitForTransactionReceipt({hash: deployTxHash});
+
+ const example = getContract({
+ address: deployTxReceipt.contractAddress!,
+ abi: ExampleContract.abi,
+ client: {public: publicClient, wallet: walletClient}
+ });
+
+ const hash = await example.write.setOwner();
+ const receipt = await publicClient.waitForTransactionReceipt({hash});
+ expect(receipt.status).eq('success');
+
+ // Encrypted transaction will be enveloped, rather than being 4 bytes
+ const tx = await publicClient.getTransaction({hash: receipt.transactionHash});
+ expect(isCalldataEnveloped(tx.input)).eq(true);
+
+ const sender = await example.read.getMsgSender()
+ expect(sender).eq(zeroAddress);
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a762c60e..cabbd3f2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,8 +12,8 @@ importers:
specifier: 1.3.2
version: 1.3.2
'@oasisprotocol/deoxysii':
- specifier: 0.0.5
- version: 0.0.5
+ specifier: 0.0.6
+ version: 0.0.6
cborg:
specifier: 1.10.2
version: 1.10.2
@@ -352,6 +352,52 @@ importers:
specifier: ^4.8.4
version: 4.9.5
+ examples/wagmi-v1:
+ dependencies:
+ '@oasisprotocol/sapphire-paratime':
+ specifier: workspace:^
+ version: link:../../clients/js
+ abitype:
+ specifier: ^1.0.2
+ version: 1.0.2(typescript@5.4.5)
+ react:
+ specifier: ^18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.2.0(react@18.2.0)
+ viem:
+ specifier: 2.9.19
+ version: 2.9.19(typescript@5.4.5)
+ wagmi:
+ specifier: 1.4.13
+ version: 1.4.13(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5)(viem@2.9.19)
+ devDependencies:
+ '@biomejs/biome':
+ specifier: ^1.7.0
+ version: 1.7.0
+ '@types/react':
+ specifier: ^18.2.79
+ version: 18.2.79
+ '@types/react-dom':
+ specifier: ^18.2.25
+ version: 18.2.25
+ '@vitejs/plugin-react':
+ specifier: ^4.2.1
+ version: 4.2.1(vite@4.5.3)
+ buffer:
+ specifier: ^6.0.3
+ version: 6.0.3
+ rollup-plugin-visualizer:
+ specifier: ^5.12.0
+ version: 5.12.0
+ typescript:
+ specifier: ^5.4.5
+ version: 5.4.5
+ vite:
+ specifier: ^4.5.3
+ version: 4.5.3
+
examples/wagmi-v2:
dependencies:
'@oasisprotocol/sapphire-paratime':
@@ -520,6 +566,9 @@ importers:
typescript:
specifier: ^5.4.5
version: 5.4.5
+ vitest:
+ specifier: ^1.6.0
+ version: 1.6.0(@types/node@18.19.31)
integrations/wagmi-v2:
dependencies:
@@ -4107,6 +4156,15 @@ packages:
resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==}
dev: false
+ /@esbuild/aix-ppc64@0.20.2:
+ resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/android-arm64@0.18.20:
resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
engines: {node: '>=12'}
@@ -4116,6 +4174,15 @@ packages:
dev: true
optional: true
+ /@esbuild/android-arm64@0.20.2:
+ resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/android-arm@0.18.20:
resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
engines: {node: '>=12'}
@@ -4125,6 +4192,15 @@ packages:
dev: true
optional: true
+ /@esbuild/android-arm@0.20.2:
+ resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/android-x64@0.18.20:
resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
engines: {node: '>=12'}
@@ -4134,6 +4210,15 @@ packages:
dev: true
optional: true
+ /@esbuild/android-x64@0.20.2:
+ resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/darwin-arm64@0.18.20:
resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
engines: {node: '>=12'}
@@ -4143,6 +4228,15 @@ packages:
dev: true
optional: true
+ /@esbuild/darwin-arm64@0.20.2:
+ resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/darwin-x64@0.18.20:
resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
engines: {node: '>=12'}
@@ -4152,6 +4246,15 @@ packages:
dev: true
optional: true
+ /@esbuild/darwin-x64@0.20.2:
+ resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/freebsd-arm64@0.18.20:
resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
engines: {node: '>=12'}
@@ -4161,6 +4264,15 @@ packages:
dev: true
optional: true
+ /@esbuild/freebsd-arm64@0.20.2:
+ resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/freebsd-x64@0.18.20:
resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
engines: {node: '>=12'}
@@ -4170,6 +4282,15 @@ packages:
dev: true
optional: true
+ /@esbuild/freebsd-x64@0.20.2:
+ resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-arm64@0.18.20:
resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
engines: {node: '>=12'}
@@ -4179,6 +4300,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-arm64@0.20.2:
+ resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-arm@0.18.20:
resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
engines: {node: '>=12'}
@@ -4188,6 +4318,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-arm@0.20.2:
+ resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-ia32@0.18.20:
resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
engines: {node: '>=12'}
@@ -4197,6 +4336,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-ia32@0.20.2:
+ resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-loong64@0.18.20:
resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
engines: {node: '>=12'}
@@ -4206,6 +4354,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-loong64@0.20.2:
+ resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-mips64el@0.18.20:
resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
engines: {node: '>=12'}
@@ -4215,6 +4372,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-mips64el@0.20.2:
+ resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-ppc64@0.18.20:
resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
engines: {node: '>=12'}
@@ -4224,6 +4390,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-ppc64@0.20.2:
+ resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-riscv64@0.18.20:
resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
engines: {node: '>=12'}
@@ -4233,6 +4408,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-riscv64@0.20.2:
+ resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-s390x@0.18.20:
resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
engines: {node: '>=12'}
@@ -4242,6 +4426,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-s390x@0.20.2:
+ resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/linux-x64@0.18.20:
resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
engines: {node: '>=12'}
@@ -4251,6 +4444,15 @@ packages:
dev: true
optional: true
+ /@esbuild/linux-x64@0.20.2:
+ resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/netbsd-x64@0.18.20:
resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
engines: {node: '>=12'}
@@ -4260,6 +4462,15 @@ packages:
dev: true
optional: true
+ /@esbuild/netbsd-x64@0.20.2:
+ resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/openbsd-x64@0.18.20:
resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
engines: {node: '>=12'}
@@ -4269,6 +4480,15 @@ packages:
dev: true
optional: true
+ /@esbuild/openbsd-x64@0.20.2:
+ resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/sunos-x64@0.18.20:
resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
engines: {node: '>=12'}
@@ -4278,6 +4498,15 @@ packages:
dev: true
optional: true
+ /@esbuild/sunos-x64@0.20.2:
+ resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/win32-arm64@0.18.20:
resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
engines: {node: '>=12'}
@@ -4287,6 +4516,15 @@ packages:
dev: true
optional: true
+ /@esbuild/win32-arm64@0.20.2:
+ resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/win32-ia32@0.18.20:
resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
engines: {node: '>=12'}
@@ -4296,6 +4534,15 @@ packages:
dev: true
optional: true
+ /@esbuild/win32-ia32@0.20.2:
+ resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@esbuild/win32-x64@0.18.20:
resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
engines: {node: '>=12'}
@@ -4305,6 +4552,15 @@ packages:
dev: true
optional: true
+ /@esbuild/win32-x64@0.20.2:
+ resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@eslint-community/eslint-utils@4.4.0(eslint@8.43.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -4759,6 +5015,7 @@ packages:
/@humanwhocodes/config-array@0.11.14:
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
engines: {node: '>=10.10.0'}
+ deprecated: Use @eslint/config-array instead
dependencies:
'@humanwhocodes/object-schema': 2.0.3
debug: 4.3.4(supports-color@8.1.1)
@@ -4778,6 +5035,7 @@ packages:
/@humanwhocodes/object-schema@2.0.3:
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
+ deprecated: Use @eslint/object-schema instead
dev: true
/@isaacs/ttlcache@1.4.1:
@@ -6516,11 +6774,8 @@ packages:
tweetnacl: 1.0.3
dev: true
- /@oasisprotocol/deoxysii@0.0.5:
- resolution: {integrity: sha512-a6wYPjk8ALDIiQW/971AKOTSTY1qSdld+Y05F44gVZvlb3FOyHfgbIxXm7CZnUG1A+jK49g5SCWYP+V3/Tc75Q==}
- dependencies:
- bsaes: 0.0.2
- uint32: 0.2.1
+ /@oasisprotocol/deoxysii@0.0.6:
+ resolution: {integrity: sha512-TI51bIpChfsla9aRbjip6zvTbz6rpsqKgM7MqJvSfeFF6G5xLXQcbSC9u/1hOnOOazd7HaqA9NvaXQdeKCb3yw==}
dev: false
/@openzeppelin/contracts@5.0.2:
@@ -7172,45 +7427,173 @@ packages:
rollup: 2.79.1
dev: true
- /@rushstack/eslint-patch@1.6.1:
- resolution: {integrity: sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==}
+ /@rollup/rollup-android-arm-eabi@4.18.0:
+ resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /@safe-global/safe-apps-provider@0.18.1(typescript@5.4.5):
- resolution: {integrity: sha512-V4a05A3EgJcriqtDoJklDz1BOinWhC6P0hjUSxshA4KOZM7rGPCTto/usXs09zr1vvL28evl/NldSTv97j2bmg==}
- dependencies:
- '@safe-global/safe-apps-sdk': 8.1.0(typescript@5.4.5)
- events: 3.3.0
- transitivePeerDependencies:
- - bufferutil
- - typescript
- - utf-8-validate
- - zod
- dev: false
-
- /@safe-global/safe-apps-sdk@8.1.0(typescript@5.4.5):
- resolution: {integrity: sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==}
- dependencies:
- '@safe-global/safe-gateway-typescript-sdk': 3.19.0
- viem: 1.21.4(typescript@5.4.5)
- transitivePeerDependencies:
- - bufferutil
- - typescript
- - utf-8-validate
- - zod
- dev: false
+ /@rollup/rollup-android-arm64@4.18.0:
+ resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@safe-global/safe-gateway-typescript-sdk@3.19.0:
- resolution: {integrity: sha512-TRlP05KY6t3wjLJ74FiirWlEt3xTclnUQM2YdYto1jx5G1o0meMnugIUZXhzm7Bs3rDEDNhz/aDf2KMSZtoCFg==}
- engines: {node: '>=16'}
- dev: false
+ /@rollup/rollup-darwin-arm64@4.18.0:
+ resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@scure/base@1.1.6:
- resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==}
+ /@rollup/rollup-darwin-x64@4.18.0:
+ resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@scure/bip32@1.1.5:
- resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==}
- dependencies:
+ /@rollup/rollup-linux-arm-gnueabihf@4.18.0:
+ resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-musleabihf@4.18.0:
+ resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.18.0:
+ resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.18.0:
+ resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-powerpc64le-gnu@4.18.0:
+ resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-riscv64-gnu@4.18.0:
+ resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-s390x-gnu@4.18.0:
+ resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.18.0:
+ resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.18.0:
+ resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.18.0:
+ resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-ia32-msvc@4.18.0:
+ resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-x64-msvc@4.18.0:
+ resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rushstack/eslint-patch@1.6.1:
+ resolution: {integrity: sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==}
+ dev: true
+
+ /@safe-global/safe-apps-provider@0.18.1(typescript@5.4.5):
+ resolution: {integrity: sha512-V4a05A3EgJcriqtDoJklDz1BOinWhC6P0hjUSxshA4KOZM7rGPCTto/usXs09zr1vvL28evl/NldSTv97j2bmg==}
+ dependencies:
+ '@safe-global/safe-apps-sdk': 8.1.0(typescript@5.4.5)
+ events: 3.3.0
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /@safe-global/safe-apps-sdk@8.1.0(typescript@5.4.5):
+ resolution: {integrity: sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==}
+ dependencies:
+ '@safe-global/safe-gateway-typescript-sdk': 3.19.0
+ viem: 1.21.4(typescript@5.4.5)
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /@safe-global/safe-gateway-typescript-sdk@3.19.0:
+ resolution: {integrity: sha512-TRlP05KY6t3wjLJ74FiirWlEt3xTclnUQM2YdYto1jx5G1o0meMnugIUZXhzm7Bs3rDEDNhz/aDf2KMSZtoCFg==}
+ engines: {node: '>=16'}
+ dev: false
+
+ /@scure/base@1.1.6:
+ resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==}
+
+ /@scure/bip32@1.1.5:
+ resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==}
+ dependencies:
'@noble/hashes': 1.2.0
'@noble/secp256k1': 1.7.1
'@scure/base': 1.1.6
@@ -7644,10 +8027,53 @@ packages:
defer-to-connect: 2.0.1
dev: true
+ /@tanstack/query-core@4.36.1:
+ resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==}
+ dev: false
+
/@tanstack/query-core@5.0.5:
resolution: {integrity: sha512-MThCETMkHDHTnFZHp71L+SqTtD5d6XHftFCVR1xRJdWM3qGrlQ2VCXaj0SKVcyJej2e1Opa2c7iknu1llxCDNQ==}
dev: false
+ /@tanstack/query-persist-client-core@4.36.1:
+ resolution: {integrity: sha512-eocgCeI7D7TRv1IUUBMfVwOI0wdSmMkBIbkKhqEdTrnUHUQEeOaYac8oeZk2cumAWJdycu6P/wB+WqGynTnzXg==}
+ dependencies:
+ '@tanstack/query-core': 4.36.1
+ dev: false
+
+ /@tanstack/query-sync-storage-persister@4.36.1:
+ resolution: {integrity: sha512-yMEt5hWe2+1eclf1agMtXHnPIkxEida0lYWkfdhR8U6KXk/lO4Vca6piJmhKI85t0NHlx3l/z6zX+t/Fn5O9NA==}
+ dependencies:
+ '@tanstack/query-persist-client-core': 4.36.1
+ dev: false
+
+ /@tanstack/react-query-persist-client@4.36.1(@tanstack/react-query@4.36.1):
+ resolution: {integrity: sha512-32I5b9aAu4NCiXZ7Te/KEQLfHbYeTNriVPrKYcvEThnZ9tlW01vLcSoxpUIsMYRsembvJUUAkzYBAiZHLOd6pQ==}
+ peerDependencies:
+ '@tanstack/react-query': ^4.36.1
+ dependencies:
+ '@tanstack/query-persist-client-core': 4.36.1
+ '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0)
+ dev: false
+
+ /@tanstack/react-query@4.36.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-native: '*'
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ dependencies:
+ '@tanstack/query-core': 4.36.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
+
/@tanstack/react-query@5.0.5(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0):
resolution: {integrity: sha512-ZG0Q4HZ0iuI8mWiZ2/MdVYPHbrmAVhMn7+gLOkxJh6zLIgCL4luSZlohzN5Xt4MjxfxxWioO1nemwpudaTsmQg==}
peerDependencies:
@@ -8619,6 +9045,89 @@ packages:
- supports-color
dev: true
+ /@vitest/expect@1.6.0:
+ resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==}
+ dependencies:
+ '@vitest/spy': 1.6.0
+ '@vitest/utils': 1.6.0
+ chai: 4.4.1
+ dev: true
+
+ /@vitest/runner@1.6.0:
+ resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==}
+ dependencies:
+ '@vitest/utils': 1.6.0
+ p-limit: 5.0.0
+ pathe: 1.1.2
+ dev: true
+
+ /@vitest/snapshot@1.6.0:
+ resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==}
+ dependencies:
+ magic-string: 0.30.10
+ pathe: 1.1.2
+ pretty-format: 29.7.0
+ dev: true
+
+ /@vitest/spy@1.6.0:
+ resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==}
+ dependencies:
+ tinyspy: 2.2.1
+ dev: true
+
+ /@vitest/utils@1.6.0:
+ resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==}
+ dependencies:
+ diff-sequences: 29.6.3
+ estree-walker: 3.0.3
+ loupe: 2.3.7
+ pretty-format: 29.7.0
+ dev: true
+
+ /@wagmi/connectors@3.1.11(@types/react@18.2.79)(react@18.2.0)(typescript@5.4.5)(viem@2.9.19):
+ resolution: {integrity: sha512-wzxp9f9PtSUFjDUP/QDjc1t7HON4D8wrVKsw35ejdO8hToDpx1gU9lwH/47Zo/1zExGezQc392sjoHSszYd7OA==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ viem: '>=0.3.35'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@coinbase/wallet-sdk': 3.9.1
+ '@safe-global/safe-apps-provider': 0.18.1(typescript@5.4.5)
+ '@safe-global/safe-apps-sdk': 8.1.0(typescript@5.4.5)
+ '@walletconnect/ethereum-provider': 2.11.0(@types/react@18.2.79)(react@18.2.0)
+ '@walletconnect/legacy-provider': 2.0.0
+ '@walletconnect/modal': 2.6.2(@types/react@18.2.79)(react@18.2.0)
+ '@walletconnect/utils': 2.11.0
+ abitype: 0.8.7(typescript@5.4.5)
+ eventemitter3: 4.0.7
+ typescript: 5.4.5
+ viem: 2.9.19(typescript@5.4.5)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - ioredis
+ - react
+ - supports-color
+ - uWebSockets.js
+ - utf-8-validate
+ - zod
+ dev: false
+
/@wagmi/connectors@4.1.26(@types/react@18.2.79)(@wagmi/core@2.6.17)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)(typescript@5.4.5)(viem@2.9.19):
resolution: {integrity: sha512-0bANLzi4gZcszPnCj3l7+DPztCG+L+W1Zm/a02YmEh2MaQC/blBsbAdb2JALdW66HJJE8m4cNZjPJPTsS2/MQQ==}
peerDependencies:
@@ -8665,6 +9174,46 @@ packages:
- zod
dev: false
+ /@wagmi/core@1.4.13(@types/react@18.2.79)(react@18.2.0)(typescript@5.4.5)(viem@2.9.19):
+ resolution: {integrity: sha512-ytMCvXbBOgfDu9Qw67279wq/jNEe7EZLjLyekX7ROnvHRADqFr3lwZI6ih41UmtRZAmXAx8Ghyuqy154EjB5mQ==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ viem: '>=0.3.35'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@wagmi/connectors': 3.1.11(@types/react@18.2.79)(react@18.2.0)(typescript@5.4.5)(viem@2.9.19)
+ abitype: 0.8.7(typescript@5.4.5)
+ eventemitter3: 4.0.7
+ typescript: 5.4.5
+ viem: 2.9.19(typescript@5.4.5)
+ zustand: 4.4.1(@types/react@18.2.79)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - immer
+ - ioredis
+ - react
+ - supports-color
+ - uWebSockets.js
+ - utf-8-validate
+ - zod
+ dev: false
+
/@wagmi/core@2.6.17(@types/react@18.2.79)(react@18.2.0)(typescript@5.4.5)(viem@2.9.19):
resolution: {integrity: sha512-Ghr7PlD5HO1YJrsaC52j/csgaigBAiTR7cFiwrY7WdwvWLsR5na4Dv6KfHTU3d3al0CKDLanQdRS5nB4mX1M+g==}
peerDependencies:
@@ -8691,6 +9240,46 @@ packages:
- zod
dev: false
+ /@walletconnect/core@2.11.0:
+ resolution: {integrity: sha512-2Tjp5BCevI7dbmqo/OrCjX4tqgMqwJNQLlQAlphqPfvwlF9+tIu6pGcVbSN3U9zyXzWIZCeleqEaWUeSeET4Ew==}
+ dependencies:
+ '@walletconnect/heartbeat': 1.2.1
+ '@walletconnect/jsonrpc-provider': 1.0.13
+ '@walletconnect/jsonrpc-types': 1.0.3
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/jsonrpc-ws-connection': 1.0.14
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 2.1.2
+ '@walletconnect/relay-api': 1.0.9
+ '@walletconnect/relay-auth': 1.0.4
+ '@walletconnect/safe-json': 1.0.2
+ '@walletconnect/time': 1.0.2
+ '@walletconnect/types': 2.11.0
+ '@walletconnect/utils': 2.11.0
+ events: 3.3.0
+ isomorphic-unfetch: 3.1.0
+ lodash.isequal: 4.5.0
+ uint8arrays: 3.1.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - ioredis
+ - uWebSockets.js
+ - utf-8-validate
+ dev: false
+
/@walletconnect/core@2.11.2:
resolution: {integrity: sha512-bB4SiXX8hX3/hyBfVPC5gwZCXCl+OPj+/EDVM71iAO3TDsh78KPbrVAbDnnsbHzZVHlsMohtXX3j5XVsheN3+g==}
dependencies:
@@ -8731,12 +9320,66 @@ packages:
- utf-8-validate
dev: false
+ /@walletconnect/crypto@1.0.3:
+ resolution: {integrity: sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==}
+ dependencies:
+ '@walletconnect/encoding': 1.0.2
+ '@walletconnect/environment': 1.0.1
+ '@walletconnect/randombytes': 1.0.3
+ aes-js: 3.1.2
+ hash.js: 1.1.7
+ tslib: 1.14.1
+ dev: false
+
+ /@walletconnect/encoding@1.0.2:
+ resolution: {integrity: sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==}
+ dependencies:
+ is-typedarray: 1.0.0
+ tslib: 1.14.1
+ typedarray-to-buffer: 3.1.5
+ dev: false
+
/@walletconnect/environment@1.0.1:
resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==}
dependencies:
tslib: 1.14.1
dev: false
+ /@walletconnect/ethereum-provider@2.11.0(@types/react@18.2.79)(react@18.2.0):
+ resolution: {integrity: sha512-YrTeHVjuSuhlUw7SQ6xBJXDuJ6iAC+RwINm9nVhoKYJSHAy3EVSJZOofMKrnecL0iRMtD29nj57mxAInIBRuZA==}
+ dependencies:
+ '@walletconnect/jsonrpc-http-connection': 1.0.7
+ '@walletconnect/jsonrpc-provider': 1.0.13
+ '@walletconnect/jsonrpc-types': 1.0.3
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/modal': 2.6.2(@types/react@18.2.79)(react@18.2.0)
+ '@walletconnect/sign-client': 2.11.0
+ '@walletconnect/types': 2.11.0
+ '@walletconnect/universal-provider': 2.11.0
+ '@walletconnect/utils': 2.11.0
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - ioredis
+ - react
+ - uWebSockets.js
+ - utf-8-validate
+ dev: false
+
/@walletconnect/ethereum-provider@2.11.2(@types/react@18.2.79)(react@18.2.0):
resolution: {integrity: sha512-BUDqee0Uy2rCZVkW5Ao3q6Ado/3fePYnFdryVF+YL6bPhj+xQZ5OfKodl+uvs7Rwq++O5wTX2RqOTzpW7+v+Mg==}
dependencies:
@@ -8860,6 +9503,63 @@ packages:
- uWebSockets.js
dev: false
+ /@walletconnect/legacy-client@2.0.0:
+ resolution: {integrity: sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA==}
+ dependencies:
+ '@walletconnect/crypto': 1.0.3
+ '@walletconnect/encoding': 1.0.2
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/legacy-types': 2.0.0
+ '@walletconnect/legacy-utils': 2.0.0
+ '@walletconnect/safe-json': 1.0.2
+ '@walletconnect/window-getters': 1.0.1
+ '@walletconnect/window-metadata': 1.0.1
+ detect-browser: 5.3.0
+ query-string: 6.14.1
+ dev: false
+
+ /@walletconnect/legacy-modal@2.0.0:
+ resolution: {integrity: sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q==}
+ dependencies:
+ '@walletconnect/legacy-types': 2.0.0
+ '@walletconnect/legacy-utils': 2.0.0
+ copy-to-clipboard: 3.3.3
+ preact: 10.20.2
+ qrcode: 1.5.3
+ dev: false
+
+ /@walletconnect/legacy-provider@2.0.0:
+ resolution: {integrity: sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ==}
+ dependencies:
+ '@walletconnect/jsonrpc-http-connection': 1.0.7
+ '@walletconnect/jsonrpc-provider': 1.0.13
+ '@walletconnect/legacy-client': 2.0.0
+ '@walletconnect/legacy-modal': 2.0.0
+ '@walletconnect/legacy-types': 2.0.0
+ '@walletconnect/legacy-utils': 2.0.0
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@walletconnect/legacy-types@2.0.0:
+ resolution: {integrity: sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw==}
+ dependencies:
+ '@walletconnect/jsonrpc-types': 1.0.3
+ dev: false
+
+ /@walletconnect/legacy-utils@2.0.0:
+ resolution: {integrity: sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ==}
+ dependencies:
+ '@walletconnect/encoding': 1.0.2
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/legacy-types': 2.0.0
+ '@walletconnect/safe-json': 1.0.2
+ '@walletconnect/window-getters': 1.0.1
+ '@walletconnect/window-metadata': 1.0.1
+ detect-browser: 5.3.0
+ query-string: 6.14.1
+ dev: false
+
/@walletconnect/logger@2.0.1:
resolution: {integrity: sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==}
dependencies:
@@ -8905,6 +9605,15 @@ packages:
- react
dev: false
+ /@walletconnect/randombytes@1.0.3:
+ resolution: {integrity: sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==}
+ dependencies:
+ '@walletconnect/encoding': 1.0.2
+ '@walletconnect/environment': 1.0.1
+ randombytes: 2.1.0
+ tslib: 1.14.1
+ dev: false
+
/@walletconnect/relay-api@1.0.9:
resolution: {integrity: sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==}
dependencies:
@@ -8929,6 +9638,38 @@ packages:
tslib: 1.14.1
dev: false
+ /@walletconnect/sign-client@2.11.0:
+ resolution: {integrity: sha512-H2ukscibBS+6WrzQWh+WyVBqO5z4F5et12JcwobdwgHnJSlqIoZxqnUYYWNCI5rUR5UKsKWaUyto4AE9N5dw4Q==}
+ dependencies:
+ '@walletconnect/core': 2.11.0
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/heartbeat': 1.2.1
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/logger': 2.1.2
+ '@walletconnect/time': 1.0.2
+ '@walletconnect/types': 2.11.0
+ '@walletconnect/utils': 2.11.0
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - ioredis
+ - uWebSockets.js
+ - utf-8-validate
+ dev: false
+
/@walletconnect/sign-client@2.11.2:
resolution: {integrity: sha512-MfBcuSz2GmMH+P7MrCP46mVE5qhP0ZyWA0FyIH6/WuxQ6G+MgKsGfaITqakpRPsykWOJq8tXMs3XvUPDU413OQ==}
dependencies:
@@ -8967,14 +9708,69 @@ packages:
tslib: 1.14.1
dev: false
- /@walletconnect/types@2.11.2:
- resolution: {integrity: sha512-p632MFB+lJbip2cvtXPBQslpUdiw1sDtQ5y855bOlAGquay+6fZ4h1DcDePeKQDQM3P77ax2a9aNPZxV6y/h1Q==}
+ /@walletconnect/types@2.11.0:
+ resolution: {integrity: sha512-AB5b1lrEbCGHxqS2vqfCkIoODieH+ZAUp9rA1O2ftrhnqDJiJK983Df87JhYhECsQUBHHfALphA8ydER0q+9sw==}
+ dependencies:
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/heartbeat': 1.2.1
+ '@walletconnect/jsonrpc-types': 1.0.3
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 2.1.2
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - ioredis
+ - uWebSockets.js
+ dev: false
+
+ /@walletconnect/types@2.11.2:
+ resolution: {integrity: sha512-p632MFB+lJbip2cvtXPBQslpUdiw1sDtQ5y855bOlAGquay+6fZ4h1DcDePeKQDQM3P77ax2a9aNPZxV6y/h1Q==}
+ dependencies:
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/heartbeat': 1.2.1
+ '@walletconnect/jsonrpc-types': 1.0.3
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 2.1.2
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - ioredis
+ - uWebSockets.js
+ dev: false
+
+ /@walletconnect/universal-provider@2.11.0:
+ resolution: {integrity: sha512-zgJv8jDvIMP4Qse/D9oIRXGdfoNqonsrjPZanQ/CHNe7oXGOBiQND2IIeX+tS0H7uNA0TPvctljCLiIN9nw4eA==}
dependencies:
- '@walletconnect/events': 1.0.1
- '@walletconnect/heartbeat': 1.2.1
+ '@walletconnect/jsonrpc-http-connection': 1.0.7
+ '@walletconnect/jsonrpc-provider': 1.0.13
'@walletconnect/jsonrpc-types': 1.0.3
- '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 2.1.2
+ '@walletconnect/sign-client': 2.11.0
+ '@walletconnect/types': 2.11.0
+ '@walletconnect/utils': 2.11.0
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -8989,8 +9785,11 @@ packages:
- '@react-native-async-storage/async-storage'
- '@upstash/redis'
- '@vercel/kv'
+ - bufferutil
+ - encoding
- ioredis
- uWebSockets.js
+ - utf-8-validate
dev: false
/@walletconnect/universal-provider@2.11.2:
@@ -9025,6 +9824,40 @@ packages:
- utf-8-validate
dev: false
+ /@walletconnect/utils@2.11.0:
+ resolution: {integrity: sha512-hxkHPlTlDQILHfIKXlmzgNJau/YcSBC3XHUSuZuKZbNEw3duFT6h6pm3HT/1+j1a22IG05WDsNBuTCRkwss+BQ==}
+ dependencies:
+ '@stablelib/chacha20poly1305': 1.0.1
+ '@stablelib/hkdf': 1.0.1
+ '@stablelib/random': 1.0.2
+ '@stablelib/sha256': 1.0.1
+ '@stablelib/x25519': 1.0.3
+ '@walletconnect/relay-api': 1.0.9
+ '@walletconnect/safe-json': 1.0.2
+ '@walletconnect/time': 1.0.2
+ '@walletconnect/types': 2.11.0
+ '@walletconnect/window-getters': 1.0.1
+ '@walletconnect/window-metadata': 1.0.1
+ detect-browser: 5.3.0
+ query-string: 7.1.3
+ uint8arrays: 3.1.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - ioredis
+ - uWebSockets.js
+ dev: false
+
/@walletconnect/utils@2.11.2:
resolution: {integrity: sha512-LyfdmrnZY6dWqlF4eDrx5jpUwsB2bEPjoqR5Z6rXPiHJKUOdJt7az+mNOn5KTSOlRpd1DmozrBrWr+G9fFLYVw==}
dependencies:
@@ -9301,6 +10134,18 @@ packages:
/abbrev@1.0.9:
resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==}
+ /abitype@0.8.7(typescript@5.4.5):
+ resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ zod: ^3 >=3.19.1
+ peerDependenciesMeta:
+ zod:
+ optional: true
+ dependencies:
+ typescript: 5.4.5
+ dev: false
+
/abitype@0.9.10(typescript@5.0.4):
resolution: {integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==}
peerDependencies:
@@ -9484,6 +10329,10 @@ packages:
/aes-js@3.0.0:
resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==}
+ /aes-js@3.1.2:
+ resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==}
+ dev: false
+
/aes-js@4.0.0-beta.5:
resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==}
@@ -10521,12 +11370,6 @@ packages:
create-hash: 1.2.0
safe-buffer: 5.2.1
- /bsaes@0.0.2:
- resolution: {integrity: sha512-iVxJFMOvCUG85sX2UVpZ9IgvH6Jjc5xpd/W8pALvFE7zfCqHkV7hW3M2XZtpg9biPS0K4Eka96bbNNgLohcpgQ==}
- dependencies:
- uint32: 0.2.1
- dev: false
-
/bser@2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
dependencies:
@@ -10599,6 +11442,11 @@ packages:
yargs-parser: 21.1.1
dev: true
+ /cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+ dev: true
+
/cacheable-lookup@5.0.4:
resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
engines: {node: '>=10.6.0'}
@@ -10782,7 +11630,6 @@ packages:
loupe: 2.3.7
pathval: 1.1.1
type-detect: 4.0.8
- dev: false
/chai@5.1.0:
resolution: {integrity: sha512-kDZ7MZyM6Q1DhR9jy7dalKohXQ2yrlXkk59CR52aRKxJrobmlBNqnFQxX9xOX8w+4mz8SYlKJa/7D7ddltFXCw==}
@@ -11294,6 +12141,12 @@ packages:
resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==}
dev: true
+ /copy-to-clipboard@3.3.3:
+ resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
+ dependencies:
+ toggle-selection: 1.0.6
+ dev: false
+
/core-js-compat@3.34.0:
resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==}
dependencies:
@@ -12582,6 +13435,37 @@ packages:
'@esbuild/win32-x64': 0.18.20
dev: true
+ /esbuild@0.20.2:
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
+ dev: true
+
/escalade@3.1.1:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
engines: {node: '>=6'}
@@ -13068,6 +13952,12 @@ packages:
resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
dev: true
+ /estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ dependencies:
+ '@types/estree': 1.0.5
+ dev: true
+
/esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -13394,7 +14284,6 @@ packages:
/eventemitter3@4.0.7:
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
- dev: true
/eventemitter3@5.0.1:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
@@ -13437,7 +14326,6 @@ packages:
onetime: 6.0.0
signal-exit: 4.1.0
strip-final-newline: 3.0.0
- dev: false
/exit@0.1.2:
resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
@@ -14047,7 +14935,6 @@ packages:
/get-stream@8.0.1:
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
engines: {node: '>=16'}
- dev: false
/get-symbol-description@1.0.0:
resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
@@ -14996,7 +15883,6 @@ packages:
/human-signals@5.0.0:
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
engines: {node: '>=16.17.0'}
- dev: false
/i18next-browser-languagedetector@7.2.1:
resolution: {integrity: sha512-h/pM34bcH6tbz8WgGXcmWauNpQupCGr25XPp9cZwZInR9XHSjIFDYp1SIok7zSPsTOMxdvuLyu86V+g2Kycnfw==}
@@ -15410,7 +16296,6 @@ packages:
/is-stream@3.0.0:
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: false
/is-string@1.0.7:
resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
@@ -15445,7 +16330,6 @@ packages:
/is-typedarray@1.0.0:
resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
- dev: true
/is-unicode-supported@0.1.0:
resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
@@ -16594,6 +17478,10 @@ packages:
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ /js-tokens@9.0.0:
+ resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
+ dev: true
+
/js-yaml@3.13.1:
resolution: {integrity: sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==}
hasBin: true
@@ -17039,6 +17927,14 @@ packages:
engines: {node: '>= 12.13.0'}
dev: true
+ /local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
+ dependencies:
+ mlly: 1.6.1
+ pkg-types: 1.0.3
+ dev: true
+
/locate-path@2.0.0:
resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==}
engines: {node: '>=4'}
@@ -17147,7 +18043,6 @@ packages:
resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
dependencies:
get-func-name: 2.0.2
- dev: false
/loupe@3.1.0:
resolution: {integrity: sha512-qKl+FrLXUhFuHUoDJG7f8P8gEMHq9NFS0c6ghXG1J0rldmZFQZoNVv/vyirE9qwCIhWZDsvEFd1sbFu3GvRQFg==}
@@ -17205,6 +18100,12 @@ packages:
sourcemap-codec: 1.4.8
dev: true
+ /magic-string@0.30.10:
+ resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: true
+
/make-dir@2.1.0:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
engines: {node: '>=6'}
@@ -17584,7 +18485,6 @@ packages:
/mimic-fn@4.0.0:
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
engines: {node: '>=12'}
- dev: false
/mimic-response@1.0.1:
resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
@@ -17719,7 +18619,6 @@ packages:
pathe: 1.1.2
pkg-types: 1.0.3
ufo: 1.5.3
- dev: false
/mnemonist@0.38.5:
resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==}
@@ -18162,7 +19061,6 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
path-key: 4.0.0
- dev: false
/nth-check@1.0.2:
resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==}
@@ -18365,7 +19263,6 @@ packages:
engines: {node: '>=12'}
dependencies:
mimic-fn: 4.0.0
- dev: false
/open@6.4.0:
resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==}
@@ -18474,6 +19371,13 @@ packages:
dependencies:
yocto-queue: 0.1.0
+ /p-limit@5.0.0:
+ resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ yocto-queue: 1.0.0
+ dev: true
+
/p-locate@2.0.0:
resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==}
engines: {node: '>=4'}
@@ -18605,7 +19509,6 @@ packages:
/path-key@4.0.0:
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
engines: {node: '>=12'}
- dev: false
/path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
@@ -18627,7 +19530,6 @@ packages:
/pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
- dev: false
/pathval@1.1.1:
resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
@@ -18738,7 +19640,6 @@ packages:
jsonc-parser: 3.2.0
mlly: 1.6.1
pathe: 1.1.2
- dev: false
/pkg-up@3.1.0:
resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
@@ -19820,6 +20721,16 @@ packages:
strict-uri-encode: 1.1.0
dev: true
+ /query-string@6.14.1:
+ resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==}
+ engines: {node: '>=6'}
+ dependencies:
+ decode-uri-component: 0.2.2
+ filter-obj: 1.1.0
+ split-on-first: 1.1.0
+ strict-uri-encode: 2.0.0
+ dev: false
+
/query-string@7.1.3:
resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
engines: {node: '>=6'}
@@ -20568,6 +21479,7 @@ packages:
/rimraf@2.6.3:
resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
dependencies:
glob: 7.2.3
@@ -20641,6 +21553,32 @@ packages:
fsevents: 2.3.3
dev: true
+ /rollup@4.18.0:
+ resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.18.0
+ '@rollup/rollup-android-arm64': 4.18.0
+ '@rollup/rollup-darwin-arm64': 4.18.0
+ '@rollup/rollup-darwin-x64': 4.18.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.18.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.18.0
+ '@rollup/rollup-linux-arm64-gnu': 4.18.0
+ '@rollup/rollup-linux-arm64-musl': 4.18.0
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.18.0
+ '@rollup/rollup-linux-s390x-gnu': 4.18.0
+ '@rollup/rollup-linux-x64-gnu': 4.18.0
+ '@rollup/rollup-linux-x64-musl': 4.18.0
+ '@rollup/rollup-win32-arm64-msvc': 4.18.0
+ '@rollup/rollup-win32-ia32-msvc': 4.18.0
+ '@rollup/rollup-win32-x64-msvc': 4.18.0
+ fsevents: 2.3.3
+ dev: true
+
/run-parallel-limit@1.1.0:
resolution: {integrity: sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==}
dependencies:
@@ -21054,6 +21992,10 @@ packages:
get-intrinsic: 1.2.2
object-inspect: 1.13.1
+ /siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ dev: true
+
/signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
@@ -21478,6 +22420,10 @@ packages:
dependencies:
escape-string-regexp: 2.0.0
+ /stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ dev: true
+
/stackframe@1.3.4:
resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
@@ -21503,7 +22449,6 @@ packages:
/std-env@3.7.0:
resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
- dev: false
/stealthy-require@1.1.1:
resolution: {integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==}
@@ -21722,7 +22667,6 @@ packages:
/strip-final-newline@3.0.0:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
- dev: false
/strip-hex-prefix@1.0.0:
resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==}
@@ -21739,6 +22683,12 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
+ /strip-literal@2.1.0:
+ resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
+ dependencies:
+ js-tokens: 9.0.0
+ dev: true
+
/strnum@1.0.5:
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
dev: false
@@ -22174,6 +23124,20 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /tinybench@2.8.0:
+ resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
+ dev: true
+
+ /tinypool@0.8.4:
+ resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
+ /tinyspy@2.2.1:
+ resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
/tmp@0.0.33:
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
engines: {node: '>=0.6.0'}
@@ -22198,6 +23162,10 @@ packages:
dependencies:
is-number: 7.0.0
+ /toggle-selection@1.0.6:
+ resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==}
+ dev: false
+
/toidentifier@1.0.1:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
@@ -22700,7 +23668,6 @@ packages:
resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
dependencies:
is-typedarray: 1.0.0
- dev: true
/typedarray@0.0.6:
resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
@@ -22753,7 +23720,6 @@ packages:
/ufo@1.5.3:
resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
- dev: false
/uglify-js@3.17.4:
resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
@@ -22762,10 +23728,6 @@ packages:
requiresBuild: true
optional: true
- /uint32@0.2.1:
- resolution: {integrity: sha512-d3i8kc/4s1CFW5g3FctmF1Bu2GVXGBMTn82JY2BW0ZtTtI8pRx1YWGPCFBwRF4uYVSJ7ua4y+qYEPqS+x+3w7Q==}
- dev: false
-
/uint8arrays@3.1.1:
resolution: {integrity: sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==}
dependencies:
@@ -23203,6 +24165,27 @@ packages:
- zod
dev: false
+ /vite-node@1.6.0(@types/node@18.19.31):
+ resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ dependencies:
+ cac: 6.7.14
+ debug: 4.3.4(supports-color@8.1.1)
+ pathe: 1.1.2
+ picocolors: 1.0.0
+ vite: 5.2.13(@types/node@18.19.31)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
/vite@4.5.3:
resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -23238,6 +24221,98 @@ packages:
fsevents: 2.3.3
dev: true
+ /vite@5.2.13(@types/node@18.19.31):
+ resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 18.19.31
+ esbuild: 0.20.2
+ postcss: 8.4.38
+ rollup: 4.18.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /vitest@1.6.0(@types/node@18.19.31):
+ resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': 1.6.0
+ '@vitest/ui': 1.6.0
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+ dependencies:
+ '@types/node': 18.19.31
+ '@vitest/expect': 1.6.0
+ '@vitest/runner': 1.6.0
+ '@vitest/snapshot': 1.6.0
+ '@vitest/spy': 1.6.0
+ '@vitest/utils': 1.6.0
+ acorn-walk: 8.3.2
+ chai: 4.4.1
+ debug: 4.3.4(supports-color@8.1.1)
+ execa: 8.0.1
+ local-pkg: 0.5.0
+ magic-string: 0.30.10
+ pathe: 1.1.2
+ picocolors: 1.0.0
+ std-env: 3.7.0
+ strip-literal: 2.1.0
+ tinybench: 2.8.0
+ tinypool: 0.8.4
+ vite: 5.2.13(@types/node@18.19.31)
+ vite-node: 1.6.0(@types/node@18.19.31)
+ why-is-node-running: 2.2.2
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
/vlq@1.0.1:
resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==}
dev: false
@@ -23269,6 +24344,51 @@ packages:
xml-name-validator: 3.0.0
dev: true
+ /wagmi@1.4.13(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5)(viem@2.9.19):
+ resolution: {integrity: sha512-AScVYFjqNt1wMgL99Bob7MLdhoTZ3XKiOZL5HVBdy4W1sh7QodA3gQ8IsmTuUrQ7oQaTxjiXEhwg7sWNrPBvJA==}
+ peerDependencies:
+ react: '>=17.0.0'
+ typescript: '>=5.0.4'
+ viem: '>=0.3.35'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@tanstack/query-sync-storage-persister': 4.36.1
+ '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0)
+ '@tanstack/react-query-persist-client': 4.36.1(@tanstack/react-query@4.36.1)
+ '@wagmi/core': 1.4.13(@types/react@18.2.79)(react@18.2.0)(typescript@5.4.5)(viem@2.9.19)
+ abitype: 0.8.7(typescript@5.4.5)
+ react: 18.2.0
+ typescript: 5.4.5
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ viem: 2.9.19(typescript@5.4.5)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/kv'
+ - bufferutil
+ - encoding
+ - immer
+ - ioredis
+ - react-dom
+ - react-native
+ - supports-color
+ - uWebSockets.js
+ - utf-8-validate
+ - zod
+ dev: false
+
/wagmi@2.5.20(@tanstack/react-query@5.0.5)(@types/react@18.2.79)(react-dom@18.2.0)(react-native@0.73.6)(react@18.2.0)(typescript@5.4.5)(viem@2.9.19):
resolution: {integrity: sha512-K/9qk6+t/+NKFdbQyB7LtFgl3UXnGjvgyzAyfMQ+dF56uTSJipQwc94CSlN8kdQXTIOvhUSK2P7WJrdTEd15AA==}
peerDependencies:
@@ -24306,6 +25426,15 @@ packages:
dependencies:
isexe: 2.0.0
+ /why-is-node-running@2.2.2:
+ resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+ dev: true
+
/wide-align@1.1.3:
resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==}
dependencies:
@@ -24859,6 +25988,11 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ /yocto-queue@1.0.0:
+ resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
+ engines: {node: '>=12.20'}
+ dev: true
+
/zustand@4.4.1(@types/react@18.2.79)(react@18.2.0):
resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==}
engines: {node: '>=12.7.0'}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index ed6c29d9..d09e874c 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -10,4 +10,5 @@ packages:
- examples/hardhat-viem
- examples/onchain-signer
- examples/wagmi-v2
+ - examples/wagmi-v1