diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..ad0cda0
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,11 @@
+/** @type {import('eslint').ESLint.ConfigData} */
+module.exports = {
+ root: true,
+ extends: ["prettier"],
+ rules: {
+ "no-unexpected-multiline": "warn",
+ "react/display-name": "off",
+ semi: 0,
+ "react/no-unescaped-entities": 0,
+ },
+};
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..1380c2e
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+.next
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..14172fe
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,19 @@
+{
+ "arrowParens": "always",
+ "endOfLine": "lf",
+ "importOrderSortSpecifiers": true,
+ "printWidth": 90,
+ "semi": false,
+ "singleQuote": true,
+ "trailingComma": "es5",
+ "importOrderSeparation": true,
+ "importOrder": [
+ "^[components]",
+ "^[constants]",
+ "^[hooks]",
+ "^[styles]",
+ "^[types]",
+ "^@(.*)$",
+ "^[./]"
+ ]
+}
diff --git a/README.md b/README.md
index 713ec5f..e3bbdf1 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,17 @@
# Tokenbound SDK
-This repo houses the tokenbound SDK, a front end library for interacting with [ERC-6551 accounts](https://eips.ethereum.org/EIPS/eip-6551).
+This repo houses the Tokenbound SDK, a front-end library for interacting with [ERC-6551 accounts](https://eips.ethereum.org/EIPS/eip-6551).
### Packages
-- **[@tokenbound/sdk](https://github.com/tokenbound/sdk/tree/main/packages/sdk)** - SDK client for projects using viem
-- **[@tokenbound/sdk-ethers](https://github.com/tokenbound/sdk/tree/main/packages/sdk-ethers)** - SDK client for projects using ethers
+- **[@tokenbound/sdk](https://github.com/tokenbound/sdk/tree/main/packages/sdk)** - SDK client for all projects, signing enabled via either Ethers Signer or viem WalletClient.
- **[@tokenbound/react](https://github.com/tokenbound/sdk/tree/main/packages/react)** - Low-level react hooks for interacting with token bound accounts
### Examples
- **[examples/vite-wagmi](https://github.com/tokenbound/sdk/tree/main/examples/vite-wagmi)** - An example app using the tokenbound SDK in a vite project with wagmi
+- **[examples/vite-wagmi](https://github.com/tokenbound/sdk/tree/main/examples/vite-wagmi-ethers)** - An example app using the tokenbound SDK in a vite project with ethers v5
+- **[examples/vite-wagmi](https://github.com/tokenbound/sdk/tree/main/examples/vite-wagmi-ethers6)** - An example app using the tokenbound SDK in a vite project with ethers v6
### Development
diff --git a/examples/vite-wagmi-ethers/.env.example b/examples/vite-wagmi-ethers/.env.example
new file mode 100644
index 0000000..7e3b967
--- /dev/null
+++ b/examples/vite-wagmi-ethers/.env.example
@@ -0,0 +1 @@
+VITE_ALCHEMY_API_KEY=
\ No newline at end of file
diff --git a/examples/vite-wagmi-ethers/.gitignore b/examples/vite-wagmi-ethers/.gitignore
new file mode 100644
index 0000000..26cc8bf
--- /dev/null
+++ b/examples/vite-wagmi-ethers/.gitignore
@@ -0,0 +1,47 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+
+/node_modules
+/.pnp
+.pnp.js
+
+# testing
+
+/coverage
+
+# vite
+
+dist
+dist-ssr
+
+# production
+
+/build
+
+# misc
+
+.DS_Store
+\*.pem
+*.local
+
+# debug
+
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+.pnpm-debug.log*
+
+# local env files
+
+.env
+.env\*.local
+
+# vercel
+
+.vercel
+
+# typescript
+
+\*.tsbuildinfo
+next-env.d.ts
diff --git a/examples/vite-wagmi-ethers/.npmrc b/examples/vite-wagmi-ethers/.npmrc
new file mode 100644
index 0000000..8db3575
--- /dev/null
+++ b/examples/vite-wagmi-ethers/.npmrc
@@ -0,0 +1 @@
+strict-peer-dependencies = false
\ No newline at end of file
diff --git a/examples/vite-wagmi-ethers/README.md b/examples/vite-wagmi-ethers/README.md
new file mode 100644
index 0000000..9c5c2ca
--- /dev/null
+++ b/examples/vite-wagmi-ethers/README.md
@@ -0,0 +1,16 @@
+This is a [wagmi](https://wagmi.sh) + [ConnectKit](https://docs.family.co/connectkit) + [Vite](https://vitejs.dev/) project bootstrapped with [`create-wagmi`](https://github.com/wagmi-dev/wagmi/tree/main/packages/create-wagmi)
+
+# Getting Started
+
+Run `npm run dev` in your terminal, and then open [localhost:5173](http://localhost:5173) in your browser.
+
+Once the webpage has loaded, changes made to files inside the `src/` directory (e.g. `src/App.tsx`) will automatically update the webpage.
+
+# Learn more
+
+To learn more about [Vite](https://vitejs.dev/), [ConnectKit](https://docs.family.co/connectkit) or [wagmi](https://wagmi.sh), check out the following resources:
+
+- [wagmi Documentation](https://wagmi.sh) – learn about wagmi Hooks and API.
+- [wagmi Examples](https://wagmi.sh/examples/connect-wallet) – a suite of simple examples using wagmi.
+- [ConnectKit Documentation](https://docs.family.co/connectkit) – learn more about ConnectKit (configuration, theming, advanced usage, etc).
+- [Vite Documentation](https://vitejs.dev/) – learn about Vite features and API.
diff --git a/examples/vite-wagmi-ethers/index.html b/examples/vite-wagmi-ethers/index.html
new file mode 100644
index 0000000..c2e18f0
--- /dev/null
+++ b/examples/vite-wagmi-ethers/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Tokenbound Demo - Ethers 5 Signer
+
+
+
+
+
+
+
diff --git a/examples/vite-wagmi-ethers/package.json b/examples/vite-wagmi-ethers/package.json
new file mode 100644
index 0000000..283bb31
--- /dev/null
+++ b/examples/vite-wagmi-ethers/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "vite-wagmi-ethers",
+ "version": "0.0.0",
+ "private": true,
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "preview": "vite preview",
+ "clean": "rm -rf node_modules"
+ },
+ "dependencies": {
+ "@tokenbound/sdk": "workspace:^",
+ "buffer": "^6.0.3",
+ "connectkit": "1.4.0",
+ "ethers": "^5.7.2",
+ "process": "^0.11.10",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "util": "^0.12.5",
+ "viem": "^1.0.7",
+ "wagmi": "^1.2.0"
+ },
+ "devDependencies": {
+ "@types/react": "^18.2.12",
+ "@types/react-dom": "^18.2.5",
+ "@vitejs/plugin-react": "^4.0.1",
+ "typescript": "^5.1.3",
+ "vite": "^4.3.9"
+ }
+}
diff --git a/examples/vite-wagmi-ethers/polyfills.ts b/examples/vite-wagmi-ethers/polyfills.ts
new file mode 100644
index 0000000..57e078c
--- /dev/null
+++ b/examples/vite-wagmi-ethers/polyfills.ts
@@ -0,0 +1,6 @@
+import { Buffer } from 'buffer'
+import process from 'process'
+
+window.global = window
+window.process = process
+window.Buffer = Buffer
diff --git a/examples/vite-wagmi-ethers/src/App.tsx b/examples/vite-wagmi-ethers/src/App.tsx
new file mode 100644
index 0000000..d8e7c8b
--- /dev/null
+++ b/examples/vite-wagmi-ethers/src/App.tsx
@@ -0,0 +1,88 @@
+import { ConnectKitButton } from 'connectkit'
+import { useAccount } from 'wagmi'
+import { TokenboundClient } from '@tokenbound/sdk'
+
+import { Account } from './components'
+
+import { useCallback, useEffect } from 'react'
+import { useEthersSigner } from './hooks'
+
+export function App() {
+ const { isConnected, address } = useAccount()
+ const signer = useEthersSigner({ chainId: 5 })
+ // or useSigner() from legacy wagmi versions: const { data: signer } = useSigner()
+
+ const tokenboundClient = new TokenboundClient({ signer, chainId: 5 })
+
+ useEffect(() => {
+ async function testTokenboundClass() {
+ const account = await tokenboundClient.getAccount({
+ tokenContract: '0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb',
+ tokenId: '9',
+ })
+
+ const preparedExecuteCall = await tokenboundClient.prepareExecuteCall({
+ account: account,
+ to: account,
+ value: 0n,
+ data: '',
+ })
+
+ const preparedAccount = await tokenboundClient.prepareCreateAccount({
+ tokenContract: '0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb',
+ tokenId: '1',
+ })
+
+ console.log('getAccount', account)
+ console.log('prepareExecuteCall', preparedExecuteCall)
+ console.log('preparedAccount', preparedAccount)
+
+ // if (signer) {
+ // signer?.sendTransaction(preparedAccount)
+ // signer?.sendTransaction(preparedExecuteCall)
+ // }
+ }
+
+ testTokenboundClass()
+ }, [tokenboundClient])
+
+ const createAccount = useCallback(async () => {
+ if (!tokenboundClient || !address) return
+ const createAccount = await tokenboundClient.createAccount({
+ tokenContract: '0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb',
+ tokenId: '1',
+ })
+ }, [tokenboundClient])
+
+ const executeCall = useCallback(async () => {
+ if (!tokenboundClient || !address) return
+ const executedCall = await tokenboundClient.executeCall({
+ account: address,
+ to: address,
+ value: 0n,
+ data: '0x',
+ })
+ }, [tokenboundClient])
+
+ return (
+ <>
+ Ethers 5 Signer + ConnectKit + Vite
+
+ {isConnected && }
+ {address && (
+
+ executeCall()}>EXECUTE CALL
+ createAccount()}>CREATE ACCOUNT
+
+ )}
+ >
+ )
+}
diff --git a/examples/vite-wagmi-ethers/src/components/Account.tsx b/examples/vite-wagmi-ethers/src/components/Account.tsx
new file mode 100644
index 0000000..071b5fe
--- /dev/null
+++ b/examples/vite-wagmi-ethers/src/components/Account.tsx
@@ -0,0 +1,13 @@
+import { useAccount, useEnsName } from 'wagmi'
+
+export function Account() {
+ const { address } = useAccount()
+ const { data: ensName } = useEnsName({ address })
+
+ return (
+
+ {ensName ?? address}
+ {ensName ? ` (${address})` : null}
+
+ )
+}
diff --git a/examples/vite-wagmi-ethers/src/components/index.ts b/examples/vite-wagmi-ethers/src/components/index.ts
new file mode 100644
index 0000000..1f9f004
--- /dev/null
+++ b/examples/vite-wagmi-ethers/src/components/index.ts
@@ -0,0 +1 @@
+export { Account } from './Account'
diff --git a/examples/vite-wagmi-ethers/src/hooks/index.ts b/examples/vite-wagmi-ethers/src/hooks/index.ts
new file mode 100644
index 0000000..258979b
--- /dev/null
+++ b/examples/vite-wagmi-ethers/src/hooks/index.ts
@@ -0,0 +1 @@
+export * from './useEthersSigner'
\ No newline at end of file
diff --git a/examples/vite-wagmi-ethers/src/hooks/useEthersSigner.ts b/examples/vite-wagmi-ethers/src/hooks/useEthersSigner.ts
new file mode 100644
index 0000000..81c0f98
--- /dev/null
+++ b/examples/vite-wagmi-ethers/src/hooks/useEthersSigner.ts
@@ -0,0 +1,27 @@
+import * as React from 'react'
+import { type WalletClient, useWalletClient } from 'wagmi'
+import { providers } from 'ethers'
+
+// Ethers.js Adapters for Wagmi Wallet Client
+// https://wagmi.sh/react/ethers-adapters
+
+export function walletClientToSigner(walletClient: WalletClient) {
+ const { account, chain, transport } = walletClient
+ const network = {
+ chainId: chain.id,
+ name: chain.name,
+ ensAddress: chain.contracts?.ensRegistry?.address,
+ }
+ const provider = new providers.Web3Provider(transport, network)
+ const signer = provider.getSigner(account.address)
+ return signer
+}
+
+/** Hook to convert a viem Wallet Client to an ethers.js Signer. */
+export function useEthersSigner({ chainId }: { chainId?: number } = {}) {
+ const { data: walletClient } = useWalletClient({ chainId })
+ return React.useMemo(
+ () => (walletClient ? walletClientToSigner(walletClient) : undefined),
+ [walletClient],
+ )
+}
diff --git a/examples/vite-wagmi-ethers/src/main.tsx b/examples/vite-wagmi-ethers/src/main.tsx
new file mode 100644
index 0000000..1239b19
--- /dev/null
+++ b/examples/vite-wagmi-ethers/src/main.tsx
@@ -0,0 +1,35 @@
+// import { ConnectKitProvider } from 'connectkit'
+// import * as React from 'react'
+// import * as ReactDOM from 'react-dom/client'
+// import { WagmiConfig } from 'wagmi'
+
+// import { App } from './App'
+// import { wagmiClient } from './wagmi'
+
+// ReactDOM.createRoot(document.getElementById('root')!).render(
+//
+//
+//
+//
+//
+//
+//
+// )
+
+import { ConnectKitProvider } from 'connectkit'
+import * as React from 'react'
+import * as ReactDOM from 'react-dom/client'
+import { WagmiConfig } from 'wagmi'
+
+import { App } from './App'
+import { wagmiConfig } from './wagmi'
+
+ReactDOM.createRoot(document.getElementById('root')!).render(
+
+
+
+
+
+
+
+)
diff --git a/packages/sdk-ethers/src/vite-env.d.ts b/examples/vite-wagmi-ethers/src/vite-env.d.ts
similarity index 100%
rename from packages/sdk-ethers/src/vite-env.d.ts
rename to examples/vite-wagmi-ethers/src/vite-env.d.ts
diff --git a/examples/vite-wagmi-ethers/src/wagmi.ts b/examples/vite-wagmi-ethers/src/wagmi.ts
new file mode 100644
index 0000000..c77e489
--- /dev/null
+++ b/examples/vite-wagmi-ethers/src/wagmi.ts
@@ -0,0 +1,28 @@
+// import { getDefaultClient } from "connectkit";
+// import { createClient } from "wagmi";
+// import { goerli } from "wagmi";
+
+// export const wagmiClient = createClient(
+// getDefaultClient({
+// autoConnect: true,
+// appName: "My wagmi + ConnectKit App",
+// chains: [goerli],
+// })
+// )
+
+import { getDefaultConfig } from "connectkit";
+import { createConfig } from "wagmi";
+import { goerli } from 'wagmi/chains'
+
+const chains = [goerli]
+
+export const wagmiConfig = createConfig(
+ getDefaultConfig({
+ walletConnectProjectId: process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID!,
+ // alchemyId: process.env.NEXT_PUBLIC_ALCHEMY_API_KEY,
+ chains,
+ appName: 'Vite Tokenbound SDK Example',
+ appDescription: 'Tokenbound SDK Example',
+ appUrl: 'https://tokenbound.org',
+ })
+)
\ No newline at end of file
diff --git a/examples/vite-wagmi-ethers/tsconfig.json b/examples/vite-wagmi-ethers/tsconfig.json
new file mode 100644
index 0000000..792e511
--- /dev/null
+++ b/examples/vite-wagmi-ethers/tsconfig.json
@@ -0,0 +1,20 @@
+{
+ "compilerOptions": {
+ "allowJs": false,
+ "allowSyntheticDefaultImports": true,
+ "esModuleInterop": false,
+ "forceConsistentCasingInFileNames": true,
+ "isolatedModules": true,
+ "jsx": "react-jsx",
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "noEmit": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "target": "ESNext",
+ "useDefineForClassFields": true
+ },
+ "include": ["./src"]
+}
diff --git a/examples/vite-wagmi-ethers/vite.config.ts b/examples/vite-wagmi-ethers/vite.config.ts
new file mode 100644
index 0000000..70fd0ed
--- /dev/null
+++ b/examples/vite-wagmi-ethers/vite.config.ts
@@ -0,0 +1,24 @@
+import react from "@vitejs/plugin-react";
+import { defineConfig } from "vite";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ build: {
+ target: "es2020",
+ },
+ optimizeDeps: {
+ esbuildOptions: {
+ target: "es2020",
+ },
+ },
+ define: {
+ global: "globalThis",
+ },
+ resolve: {
+ alias: {
+ process: "process/browser",
+ util: "util",
+ },
+ },
+ plugins: [react()],
+});
diff --git a/examples/vite-wagmi-ethers6/.env.example b/examples/vite-wagmi-ethers6/.env.example
new file mode 100644
index 0000000..7e3b967
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/.env.example
@@ -0,0 +1 @@
+VITE_ALCHEMY_API_KEY=
\ No newline at end of file
diff --git a/examples/vite-wagmi-ethers6/.gitignore b/examples/vite-wagmi-ethers6/.gitignore
new file mode 100644
index 0000000..26cc8bf
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/.gitignore
@@ -0,0 +1,47 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+
+/node_modules
+/.pnp
+.pnp.js
+
+# testing
+
+/coverage
+
+# vite
+
+dist
+dist-ssr
+
+# production
+
+/build
+
+# misc
+
+.DS_Store
+\*.pem
+*.local
+
+# debug
+
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+.pnpm-debug.log*
+
+# local env files
+
+.env
+.env\*.local
+
+# vercel
+
+.vercel
+
+# typescript
+
+\*.tsbuildinfo
+next-env.d.ts
diff --git a/examples/vite-wagmi-ethers6/.npmrc b/examples/vite-wagmi-ethers6/.npmrc
new file mode 100644
index 0000000..8db3575
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/.npmrc
@@ -0,0 +1 @@
+strict-peer-dependencies = false
\ No newline at end of file
diff --git a/examples/vite-wagmi-ethers6/README.md b/examples/vite-wagmi-ethers6/README.md
new file mode 100644
index 0000000..9c5c2ca
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/README.md
@@ -0,0 +1,16 @@
+This is a [wagmi](https://wagmi.sh) + [ConnectKit](https://docs.family.co/connectkit) + [Vite](https://vitejs.dev/) project bootstrapped with [`create-wagmi`](https://github.com/wagmi-dev/wagmi/tree/main/packages/create-wagmi)
+
+# Getting Started
+
+Run `npm run dev` in your terminal, and then open [localhost:5173](http://localhost:5173) in your browser.
+
+Once the webpage has loaded, changes made to files inside the `src/` directory (e.g. `src/App.tsx`) will automatically update the webpage.
+
+# Learn more
+
+To learn more about [Vite](https://vitejs.dev/), [ConnectKit](https://docs.family.co/connectkit) or [wagmi](https://wagmi.sh), check out the following resources:
+
+- [wagmi Documentation](https://wagmi.sh) – learn about wagmi Hooks and API.
+- [wagmi Examples](https://wagmi.sh/examples/connect-wallet) – a suite of simple examples using wagmi.
+- [ConnectKit Documentation](https://docs.family.co/connectkit) – learn more about ConnectKit (configuration, theming, advanced usage, etc).
+- [Vite Documentation](https://vitejs.dev/) – learn about Vite features and API.
diff --git a/examples/vite-wagmi-ethers6/index.html b/examples/vite-wagmi-ethers6/index.html
new file mode 100644
index 0000000..1ee3c9d
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Tokenbound Demo - Ethers 6 Signer
+
+
+
+
+
+
+
diff --git a/examples/vite-wagmi-ethers6/package.json b/examples/vite-wagmi-ethers6/package.json
new file mode 100644
index 0000000..37e765a
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "vite-wagmi-ethers6",
+ "version": "0.0.0",
+ "private": true,
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "preview": "vite preview",
+ "clean": "rm -rf node_modules"
+ },
+ "dependencies": {
+ "@tokenbound/sdk": "workspace:^",
+ "buffer": "^6.0.3",
+ "connectkit": "1.4.0",
+ "ethers": "^6.6.0",
+ "process": "^0.11.10",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "util": "^0.12.5",
+ "viem": "^1.0.7",
+ "wagmi": "^1.2.0"
+ },
+ "devDependencies": {
+ "@types/react": "^18.2.12",
+ "@types/react-dom": "^18.2.5",
+ "@vitejs/plugin-react": "^4.0.1",
+ "typescript": "^5.1.3",
+ "vite": "^4.3.9"
+ }
+}
diff --git a/examples/vite-wagmi-ethers6/polyfills.ts b/examples/vite-wagmi-ethers6/polyfills.ts
new file mode 100644
index 0000000..57e078c
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/polyfills.ts
@@ -0,0 +1,6 @@
+import { Buffer } from 'buffer'
+import process from 'process'
+
+window.global = window
+window.process = process
+window.Buffer = Buffer
diff --git a/examples/vite-wagmi-ethers6/src/App.tsx b/examples/vite-wagmi-ethers6/src/App.tsx
new file mode 100644
index 0000000..a3874a8
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/src/App.tsx
@@ -0,0 +1,102 @@
+import { ConnectKitButton } from 'connectkit'
+import { useAccount } from 'wagmi'
+import { TokenboundClient } from '@tokenbound/sdk'
+
+import { Account } from './components'
+
+import { useCallback, useEffect } from 'react'
+import { useEthersSigner } from './hooks'
+
+// import { WindowProvider } from 'wagmi'
+// import { BrowserProvider, JsonRpcSigner } from 'ethers'
+
+// declare global {
+// interface Window {
+// ethereum?: WindowProvider
+// }
+// }
+
+export function App() {
+ const { isConnected, address } = useAccount()
+
+ // const provider = window.ethereum ? new BrowserProvider(window.ethereum) : null
+ // const signer = provider && address ? new JsonRpcSigner(provider, address) : null
+
+ const signer = useEthersSigner({ chainId: 5 })
+ // or useSigner() from legacy wagmi versions: const { data: signer } = useSigner()
+
+ console.log('SIGNER', signer)
+ const tokenboundClient = new TokenboundClient({ signer, chainId: 5 })
+
+ useEffect(() => {
+ async function testTokenboundClass() {
+ const account = await tokenboundClient.getAccount({
+ tokenContract: '0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb',
+ tokenId: '9',
+ })
+
+ const preparedExecuteCall = await tokenboundClient.prepareExecuteCall({
+ account: account,
+ to: account,
+ value: 0n,
+ data: '',
+ })
+
+ const preparedAccount = await tokenboundClient.prepareCreateAccount({
+ tokenContract: '0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb',
+ tokenId: '1',
+ })
+
+ console.log('getAccount', account)
+ console.log('prepareExecuteCall', preparedExecuteCall)
+ console.log('preparedAccount', preparedAccount)
+
+ // if (signer) {
+ // signer?.sendTransaction(preparedAccount)
+ // signer?.sendTransaction(preparedExecuteCall)
+ // }
+ }
+
+ testTokenboundClass()
+ }, [tokenboundClient])
+
+ const createAccount = useCallback(async () => {
+ if (!tokenboundClient || !address) return
+ const createAccount = await tokenboundClient.createAccount({
+ tokenContract: '0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb',
+ tokenId: '1',
+ })
+ }, [tokenboundClient])
+
+ const executeCall = useCallback(async () => {
+ if (!tokenboundClient || !address) return
+ const executedCall = await tokenboundClient.executeCall({
+ account: address,
+ to: address,
+ value: 0n,
+ data: '0x',
+ })
+ }, [tokenboundClient])
+
+ return (
+ <>
+ Ethers 6 Signer + ConnectKit + Vite
+
+ {isConnected && }
+ {address && (
+
+ executeCall()}>EXECUTE CALL
+ createAccount()}>CREATE ACCOUNT
+
+ )}
+ >
+ )
+}
diff --git a/examples/vite-wagmi-ethers6/src/components/Account.tsx b/examples/vite-wagmi-ethers6/src/components/Account.tsx
new file mode 100644
index 0000000..071b5fe
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/src/components/Account.tsx
@@ -0,0 +1,13 @@
+import { useAccount, useEnsName } from 'wagmi'
+
+export function Account() {
+ const { address } = useAccount()
+ const { data: ensName } = useEnsName({ address })
+
+ return (
+
+ {ensName ?? address}
+ {ensName ? ` (${address})` : null}
+
+ )
+}
diff --git a/examples/vite-wagmi-ethers6/src/components/index.ts b/examples/vite-wagmi-ethers6/src/components/index.ts
new file mode 100644
index 0000000..1f9f004
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/src/components/index.ts
@@ -0,0 +1 @@
+export { Account } from './Account'
diff --git a/examples/vite-wagmi-ethers6/src/hooks/index.ts b/examples/vite-wagmi-ethers6/src/hooks/index.ts
new file mode 100644
index 0000000..258979b
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/src/hooks/index.ts
@@ -0,0 +1 @@
+export * from './useEthersSigner'
\ No newline at end of file
diff --git a/examples/vite-wagmi-ethers6/src/hooks/useEthersSigner.ts b/examples/vite-wagmi-ethers6/src/hooks/useEthersSigner.ts
new file mode 100644
index 0000000..bbe8915
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/src/hooks/useEthersSigner.ts
@@ -0,0 +1,27 @@
+import * as React from 'react'
+import { type WalletClient, useWalletClient } from 'wagmi'
+import { BrowserProvider, JsonRpcSigner } from 'ethers'
+
+// Ethers.js Adapters for Wagmi Wallet Client
+// https://wagmi.sh/react/ethers-adapters
+
+export function walletClientToSigner(walletClient: WalletClient) {
+ const { account, chain, transport } = walletClient
+ const network = {
+ chainId: chain.id,
+ name: chain.name,
+ ensAddress: chain.contracts?.ensRegistry?.address,
+ }
+ const provider = new BrowserProvider(transport, network)
+ const signer = new JsonRpcSigner(provider, account.address)
+ return signer
+}
+
+/** Hook to convert a viem Wallet Client to an ethers.js Signer. */
+export function useEthersSigner({ chainId }: { chainId?: number } = {}) {
+ const { data: walletClient } = useWalletClient({ chainId })
+ return React.useMemo(
+ () => (walletClient ? walletClientToSigner(walletClient) : undefined),
+ [walletClient],
+ )
+}
\ No newline at end of file
diff --git a/examples/vite-wagmi-ethers6/src/main.tsx b/examples/vite-wagmi-ethers6/src/main.tsx
new file mode 100644
index 0000000..397368a
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/src/main.tsx
@@ -0,0 +1,17 @@
+import { ConnectKitProvider } from 'connectkit'
+import * as React from 'react'
+import * as ReactDOM from 'react-dom/client'
+import { WagmiConfig } from 'wagmi'
+
+import { App } from './App'
+import { wagmiConfig } from './wagmi'
+
+ReactDOM.createRoot(document.getElementById('root')!).render(
+
+
+
+
+
+
+
+)
diff --git a/examples/vite-wagmi-ethers6/src/vite-env.d.ts b/examples/vite-wagmi-ethers6/src/vite-env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/examples/vite-wagmi-ethers6/src/wagmi.ts b/examples/vite-wagmi-ethers6/src/wagmi.ts
new file mode 100644
index 0000000..b3f6ef3
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/src/wagmi.ts
@@ -0,0 +1,16 @@
+import { getDefaultConfig } from "connectkit";
+import { createConfig } from "wagmi";
+import { goerli } from 'wagmi/chains'
+
+const chains = [goerli]
+
+export const wagmiConfig = createConfig(
+ getDefaultConfig({
+ walletConnectProjectId: process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID!,
+ // alchemyId: process.env.NEXT_PUBLIC_ALCHEMY_API_KEY,
+ chains,
+ appName: 'Vite Tokenbound SDK Example',
+ appDescription: 'Tokenbound SDK Example',
+ appUrl: 'https://tokenbound.org',
+ })
+)
\ No newline at end of file
diff --git a/examples/vite-wagmi-ethers6/tsconfig.json b/examples/vite-wagmi-ethers6/tsconfig.json
new file mode 100644
index 0000000..792e511
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/tsconfig.json
@@ -0,0 +1,20 @@
+{
+ "compilerOptions": {
+ "allowJs": false,
+ "allowSyntheticDefaultImports": true,
+ "esModuleInterop": false,
+ "forceConsistentCasingInFileNames": true,
+ "isolatedModules": true,
+ "jsx": "react-jsx",
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "noEmit": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "target": "ESNext",
+ "useDefineForClassFields": true
+ },
+ "include": ["./src"]
+}
diff --git a/examples/vite-wagmi-ethers6/vite.config.ts b/examples/vite-wagmi-ethers6/vite.config.ts
new file mode 100644
index 0000000..70fd0ed
--- /dev/null
+++ b/examples/vite-wagmi-ethers6/vite.config.ts
@@ -0,0 +1,24 @@
+import react from "@vitejs/plugin-react";
+import { defineConfig } from "vite";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ build: {
+ target: "es2020",
+ },
+ optimizeDeps: {
+ esbuildOptions: {
+ target: "es2020",
+ },
+ },
+ define: {
+ global: "globalThis",
+ },
+ resolve: {
+ alias: {
+ process: "process/browser",
+ util: "util",
+ },
+ },
+ plugins: [react()],
+});
diff --git a/examples/vite-wagmi/README.md b/examples/vite-wagmi/README.md
index 9c5c2ca..6d8db97 100644
--- a/examples/vite-wagmi/README.md
+++ b/examples/vite-wagmi/README.md
@@ -10,6 +10,7 @@ Once the webpage has loaded, changes made to files inside the `src/` directory (
To learn more about [Vite](https://vitejs.dev/), [ConnectKit](https://docs.family.co/connectkit) or [wagmi](https://wagmi.sh), check out the following resources:
+- [viem Documentation](https://viem.sh) – learn about viem Hooks and API.
- [wagmi Documentation](https://wagmi.sh) – learn about wagmi Hooks and API.
- [wagmi Examples](https://wagmi.sh/examples/connect-wallet) – a suite of simple examples using wagmi.
- [ConnectKit Documentation](https://docs.family.co/connectkit) – learn more about ConnectKit (configuration, theming, advanced usage, etc).
diff --git a/examples/vite-wagmi/index.html b/examples/vite-wagmi/index.html
index 651c332..bb59c9e 100644
--- a/examples/vite-wagmi/index.html
+++ b/examples/vite-wagmi/index.html
@@ -3,7 +3,7 @@
- wagmi
+ Tokenbound Demo - viem walletClient
diff --git a/examples/vite-wagmi/package.json b/examples/vite-wagmi/package.json
index 310b492..1a47968 100644
--- a/examples/vite-wagmi/package.json
+++ b/examples/vite-wagmi/package.json
@@ -5,26 +5,26 @@
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
- "preview": "vite preview"
+ "preview": "vite preview",
+ "clean": "rm -rf node_modules"
},
"dependencies": {
"@tokenbound/sdk": "workspace:^",
- "@tokenbound/sdk-ethers": "workspace:^",
"buffer": "^6.0.3",
- "connectkit": "^1.2.2",
+ "connectkit": "^1.4.0",
"ethers": "^5.7.2",
"process": "^0.11.10",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "util": "^0.12.4",
- "viem": "^0.3.1",
- "wagmi": "~0.12.0"
+ "util": "^0.12.5",
+ "viem": "^1.0.7",
+ "wagmi": "^1.2.0"
},
"devDependencies": {
- "@types/react": "^18.0.9",
- "@types/react-dom": "^18.0.3",
+ "@types/react": "^18.2.12",
+ "@types/react-dom": "^18.2.5",
"@vitejs/plugin-react": "^2.1.0",
- "typescript": "^4.9.4",
+ "typescript": "^5.1.3",
"vite": "^3.1.8"
}
}
diff --git a/examples/vite-wagmi/src/App.tsx b/examples/vite-wagmi/src/App.tsx
index 262c093..f496975 100644
--- a/examples/vite-wagmi/src/App.tsx
+++ b/examples/vite-wagmi/src/App.tsx
@@ -1,70 +1,103 @@
-import { ConnectKitButton } from "connectkit";
-import { useAccount, useProvider, useSigner } from "wagmi";
+import { ConnectKitButton } from 'connectkit'
+import { useAccount } from 'wagmi'
-import { Account } from "./components";
+import { Account } from './components'
-import { createPublicClient, http } from "viem";
-import { goerli } from "viem/chains";
-import { getAccount, prepareExecuteCall } from "@tokenbound/sdk";
-import {
- erc6551AccountImplementationAddress,
- getAccount as getAccountEthers,
- prepareExecuteCall as prepareExecuteCallEthers,
-} from "@tokenbound/sdk-ethers";
+import { createWalletClient, http, custom, WalletClient } from 'viem'
+import { goerli } from 'viem/chains'
+import { TokenboundClient } from '@tokenbound/sdk'
-import { useEffect } from "react";
+import { useCallback, useEffect } from 'react'
+import { WindowProvider } from 'wagmi'
-const client = createPublicClient({
- chain: goerli,
- transport: http(),
-});
+declare global {
+ interface Window {
+ ethereum?: WindowProvider
+ }
+}
export function App() {
- const { isConnected } = useAccount();
-
- const provider = useProvider();
- const { data: signer, isError, isLoading } = useSigner();
+ const { isConnected, address } = useAccount()
- useEffect(() => {
- async function testViemSdk() {
- const account = await getAccount(
- "0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb",
- "9",
- client
- );
+ const walletClient: WalletClient = createWalletClient({
+ chain: goerli,
+ account: address,
+ transport: window.ethereum ? custom(window.ethereum) : http(),
+ })
- console.log(account);
-
- const encoded = await prepareExecuteCall(account, account, 0n, "");
- console.log(encoded);
- }
-
- testViemSdk();
- }, []);
+ const tokenboundClient = new TokenboundClient({ walletClient, chainId: 5 })
useEffect(() => {
- async function testEthersSdk() {
- const account = await getAccountEthers(
- "0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb",
- "9",
- provider
- );
-
- console.log(account);
-
- const encoded = await prepareExecuteCallEthers(account, account, 0, "0x");
-
- console.log(encoded);
+ async function testTokenboundClass() {
+ if (!tokenboundClient) return
+
+ const tokenboundAccount = tokenboundClient.getAccount({
+ tokenContract: '0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb',
+ tokenId: '9',
+ })
+
+ const preparedExecuteCall = await tokenboundClient.prepareExecuteCall({
+ account: tokenboundAccount,
+ to: tokenboundAccount,
+ value: 0n,
+ data: '',
+ })
+
+ const preparedCreateAccount = await tokenboundClient.prepareCreateAccount({
+ tokenContract: '0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb',
+ tokenId: '1',
+ })
+
+ console.log('getAccount', tokenboundAccount)
+ console.log('preparedExecuteCall', preparedExecuteCall)
+ console.log('preparedAccount', preparedCreateAccount)
+
+ // if (address) {
+ // walletClient?.sendTransaction(preparedCreateAccount)
+ // walletClient?.sendTransaction(preparedExecuteCall)
+ // }
}
- testEthersSdk();
- }, []);
+ testTokenboundClass()
+ }, [])
+
+ const createAccount = useCallback(async () => {
+ if (!tokenboundClient || !address) return
+ const createAccount = await tokenboundClient.createAccount({
+ tokenContract: '0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb',
+ tokenId: '1',
+ })
+ }, [tokenboundClient])
+
+ const executeCall = useCallback(async () => {
+ if (!tokenboundClient || !address) return
+ const executedCall = await tokenboundClient.executeCall({
+ account: address,
+ to: address,
+ value: 0n,
+ data: '0x',
+ })
+ }, [tokenboundClient])
return (
<>
- wagmi + ConnectKit + Vite
+ viem walletClient + ConnectKit + Vite
{isConnected && }
+ {address && (
+
+ executeCall()}>EXECUTE CALL
+ createAccount()}>CREATE ACCOUNT
+
+ )}
>
- );
+ )
}
diff --git a/examples/vite-wagmi/src/main.tsx b/examples/vite-wagmi/src/main.tsx
index af3966c..8490d26 100644
--- a/examples/vite-wagmi/src/main.tsx
+++ b/examples/vite-wagmi/src/main.tsx
@@ -1,17 +1,17 @@
-import { ConnectKitProvider } from 'connectkit'
-import * as React from 'react'
-import * as ReactDOM from 'react-dom/client'
-import { WagmiConfig } from 'wagmi'
+import { ConnectKitProvider } from "connectkit";
+import * as React from "react";
+import * as ReactDOM from "react-dom/client";
+import { WagmiConfig } from "wagmi";
-import { App } from './App'
-import { client } from './wagmi'
+import { App } from "./App";
+import { wagmiConfig } from "./wagmi";
-ReactDOM.createRoot(document.getElementById('root')!).render(
+ReactDOM.createRoot(document.getElementById("root")!).render(
-
+
- ,
-)
+
+);
diff --git a/examples/vite-wagmi/src/wagmi.ts b/examples/vite-wagmi/src/wagmi.ts
index e00ea47..8196c33 100644
--- a/examples/vite-wagmi/src/wagmi.ts
+++ b/examples/vite-wagmi/src/wagmi.ts
@@ -1,11 +1,28 @@
-import { getDefaultClient } from "connectkit";
-import { createClient } from "wagmi";
-import { goerli } from "wagmi";
+import {
+ // getDefaultClient,
+ getDefaultConfig } from "connectkit";
+// import { createClient, goerli } from "wagmi";
+import { createConfig } from "wagmi";
+import { goerli, mainnet } from 'wagmi/chains'
-export const client = createClient(
- getDefaultClient({
- autoConnect: true,
- appName: "My wagmi + ConnectKit App",
- chains: [goerli],
+// const chains = [mainnet, goerli]
+const chains = [goerli]
+
+export const wagmiConfig = createConfig(
+ getDefaultConfig({
+ walletConnectProjectId: process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID!,
+ // alchemyId: process.env.NEXT_PUBLIC_ALCHEMY_API_KEY,
+ chains,
+ appName: 'Vite Tokenbound SDK Example',
+ appDescription: 'Tokenbound SDK Example',
+ appUrl: 'https://tokenbound.org',
})
-);
+)
+
+// export const client = createConfig(
+// getDefaultConfig({
+// autoConnect: true,
+// appName: "My wagmi + ConnectKit App",
+// chains: [goerli],
+// })
+// );
diff --git a/package.json b/package.json
index d4e78bc..179a10c 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,11 @@
"author": "",
"license": "ISC",
"devDependencies": {
- "@changesets/cli": "^2.26.1"
+ "@changesets/cli": "^2.26.1",
+ "eslint": "^8.36.0",
+ "eslint-config-prettier": "^8.8.0",
+ "eslint-plugin-unused-imports": "^2.0.0",
+ "prettier": "^2.8.8",
+ "@ianvs/prettier-plugin-sort-imports": "^3.7.2"
}
}
diff --git a/packages/react/package.json b/packages/react/package.json
index ebbaaec..6be6ccf 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -30,7 +30,7 @@
"@wagmi/core": "^0.10.9",
"abitype": "^0.7.1",
"ethers": "^5.7.2",
- "typescript": "^4.9.3",
+ "typescript": "^4.9.4",
"vite": "^4.2.0",
"vite-plugin-dts": "^2.2.0",
"wagmi": "~0.12.0"
diff --git a/packages/sdk-ethers/.gitignore b/packages/sdk-ethers/.gitignore
deleted file mode 100644
index 4f30ea0..0000000
--- a/packages/sdk-ethers/.gitignore
+++ /dev/null
@@ -1,26 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
-
-coverage/**
diff --git a/packages/sdk-ethers/CHANGELOG.md b/packages/sdk-ethers/CHANGELOG.md
deleted file mode 100644
index d814e2b..0000000
--- a/packages/sdk-ethers/CHANGELOG.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# @tokenbound/sdk-ethers
-
-## 0.2.0
-
-### Minor Changes
-
-- Added initialization call to createAccount
-
-## 0.1.1
-
-### Patch Changes
-
-- Fixed build issues
-
-## 0.1.0
-
-### Minor Changes
-
-- Updated to beta contract addresses
-
-## 0.0.2
-
-### Patch Changes
-
-- Fixed bug preventing accounts from being initialized
-
-## 0.0.1
-
-### Patch Changes
-
-- Initial changeset config
diff --git a/packages/sdk-ethers/README.md b/packages/sdk-ethers/README.md
deleted file mode 100644
index e8e409d..0000000
--- a/packages/sdk-ethers/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# @tokenbound/sdk-ethers
-
-An SDK for interacting with [ERC-6551 accounts](https://eips.ethereum.org/EIPS/eip-6551) using ethers.
-
-# Installation
-
-```bash
-$ npm install @tokenbound/sdk
-```
-
-# Usage
-
-### Get account address
-
-```javascript
-import { getAccount } from "@tokenbound/sdk-ethers";
-const accountAddress = await getAccount(
- "0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb", // ERC-721 token contract
- "9", // ERC-721 tokenId
- provider // ethers provider
-);
-```
-
-### Encode call to account
-
-```javascript
-import { prepareExecuteCall } from "@tokenbound/sdk-ethers";
-
-const to = "0xe7134a029cd2fd55f678d6809e64d0b6a0caddcb"; // any address
-const value = 0; // amount of ETH to send
-const data = "0x"; // calldata
-
-const transactionData = await prepareExecuteCall(
- accountAddress,
- to,
- value,
- data
-);
-
-// Execute encoded call
-const { hash } = await signer.sendTransaction(transactionData);
-```
diff --git a/packages/sdk-ethers/abis/ERC6551Registry.json b/packages/sdk-ethers/abis/ERC6551Registry.json
deleted file mode 100644
index d2adc27..0000000
--- a/packages/sdk-ethers/abis/ERC6551Registry.json
+++ /dev/null
@@ -1,133 +0,0 @@
-[
- {
- "inputs": [],
- "name": "InitializationFailed",
- "type": "error"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "chainId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "tokenContract",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "salt",
- "type": "uint256"
- }
- ],
- "name": "AccountCreated",
- "type": "event"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "chainId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "tokenContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "salt",
- "type": "uint256"
- }
- ],
- "name": "account",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "chainId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "tokenContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "salt",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "initData",
- "type": "bytes"
- }
- ],
- "name": "createAccount",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- }
-]
diff --git a/packages/sdk-ethers/abis/IERC6551Account.json b/packages/sdk-ethers/abis/IERC6551Account.json
deleted file mode 100644
index 99406dc..0000000
--- a/packages/sdk-ethers/abis/IERC6551Account.json
+++ /dev/null
@@ -1,109 +0,0 @@
-[
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "TransactionExecuted",
- "type": "event"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "executeCall",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "nonce",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "owner",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "chainId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "tokenContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "stateMutability": "payable",
- "type": "receive"
- }
-]
diff --git a/packages/sdk-ethers/package.json b/packages/sdk-ethers/package.json
deleted file mode 100644
index e7bcb69..0000000
--- a/packages/sdk-ethers/package.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "@tokenbound/sdk-ethers",
- "version": "0.2.0",
- "type": "module",
- "files": [
- "dist"
- ],
- "types": "./dist/index.d.ts",
- "main": "./dist/tokenbound-sdk.umd.cjs",
- "module": "./dist/tokenbound-sdk.js",
- "exports": {
- ".": {
- "import": "./dist/tokenbound-sdk.js",
- "require": "./dist/tokenbound-sdk.umd.cjs"
- }
- },
- "scripts": {
- "dev": "vite",
- "build": "tsc && vite build",
- "preview": "vite preview",
- "test": "vitest",
- "coverage": "vitest run --coverage"
- },
- "peerDependencies": {
- "ethers": ">=5.7.2"
- },
- "devDependencies": {
- "@vitest/coverage-c8": "^0.31.3",
- "ethers": ">=5.7.2",
- "typescript": "^4.9.3",
- "vite": "^4.2.0",
- "vite-plugin-dts": "^2.2.0",
- "vitest": "^0.31.3"
- }
-}
diff --git a/packages/sdk-ethers/src/index.ts b/packages/sdk-ethers/src/index.ts
deleted file mode 100644
index 08fded5..0000000
--- a/packages/sdk-ethers/src/index.ts
+++ /dev/null
@@ -1,128 +0,0 @@
-import { Contract, Signer, utils, providers, BigNumberish, BigNumber } from "ethers";
-import erc6551RegistryAbi from "../abis/ERC6551Registry.json";
-import erc6551AccountAbi from "../abis/IERC6551Account.json";
-
-export { erc6551AccountAbi, erc6551RegistryAbi };
-
-export const erc6551RegistryAddress =
- "0x02101dfB77FDE026414827Fdc604ddAF224F0921" as const;
-
-export const erc6551AccountImplementationAddress =
- "0x2d25602551487c3f3354dd80d76d54383a243358" as const;
-
-export async function getAccount(
- tokenContract: string,
- tokenId: string,
- provider: providers.BaseProvider
-) {
- const registry = new Contract(
- erc6551RegistryAddress,
- erc6551RegistryAbi,
- provider
- );
-
- const { chainId } = await provider.getNetwork();
-
- return registry.callStatic.account(
- erc6551AccountImplementationAddress,
- chainId,
- tokenContract,
- tokenId,
- 0
- );
-}
-
-export function computeAccount(
- tokenContract: string,
- tokenId: string,
- chainId: number,
-): string {
- const code = getCreationCode(
- erc6551AccountImplementationAddress,
- chainId,
- tokenContract,
- tokenId,
- "0"
- );
- const codeHash = utils.keccak256(code);
- const saltHex = utils.hexZeroPad(BigNumber.from("0").toHexString(), 32);
- return utils.getCreate2Address(
- erc6551RegistryAddress,
- saltHex,
- codeHash,
- );
-}
-
-export function getCreationCode(
- implementation_: string,
- chainId_: number,
- tokenContract_: string,
- tokenId_: string,
- salt_: string,
-): Uint8Array {
- const types = ["uint256", "uint256", "address", "uint256"];
- const values = [salt_, chainId_, tokenContract_, tokenId_];
- const creationCode = utils.concat([
- "0x3d60ad80600a3d3981f3363d3d373d3d3d363d73",
- utils.hexlify(implementation_),
- "0x5af43d82803e903d91602b57fd5bf3",
- utils.defaultAbiCoder.encode(types, values)
- ]);
-
- return creationCode;
-}
-
-export async function createAccount(
- tokenContract: string,
- tokenId: string,
- signer: Signer
-) {
- const registry = new Contract(
- erc6551RegistryAddress,
- erc6551RegistryAbi,
- signer
- );
-
- if (!signer.provider) throw Error("Signer has no provider");
-
- const { chainId } = await signer.provider.getNetwork();
-
- const initData = new utils.Interface([
- "function initialize()",
- ]).encodeFunctionData("initialize");
-
- return registry.createAccount(
- erc6551AccountImplementationAddress,
- chainId,
- tokenContract,
- tokenId,
- 0,
- initData
- );
-}
-
-export async function prepareExecuteCall(
- account: string,
- to: string,
- value: BigNumberish,
- data: string
-) {
- const accountInterface = new utils.Interface(erc6551AccountAbi);
- return {
- to: account,
- value,
- data: accountInterface.encodeFunctionData("executeCall", [to, value, data]),
- };
-}
-
-export async function executeCall(
- account: string,
- to: string,
- value: bigint,
- data: string,
- signer: Signer
-) {
- const accountContract = new Contract(account, erc6551AccountAbi, signer);
-
- return accountContract.executeCall([to, value, data]);
-}
diff --git a/packages/sdk-ethers/test/index.test.ts b/packages/sdk-ethers/test/index.test.ts
deleted file mode 100644
index b6af259..0000000
--- a/packages/sdk-ethers/test/index.test.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { test, expect } from "vitest";
-import { computeAccount } from "../src/index";
-
-test(".computeAccount", async () => {
- const result = computeAccount("0x7a77F2cFB02546F217d39157471d5B5914DD7644", "1", 5);
- expect(result).toEqual("0x5194b1c04Ed6464b3225324d6794f7d2698D8d1c");
-});
diff --git a/packages/sdk-ethers/tsconfig.json b/packages/sdk-ethers/tsconfig.json
deleted file mode 100644
index eac16d1..0000000
--- a/packages/sdk-ethers/tsconfig.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "compilerOptions": {
- "target": "ESNext",
- "useDefineForClassFields": true,
- "module": "ESNext",
- "lib": ["ESNext", "DOM"],
- "moduleResolution": "Node",
- "strict": true,
- "resolveJsonModule": true,
- "isolatedModules": true,
- "esModuleInterop": true,
- "noEmit": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noImplicitReturns": true,
- "skipLibCheck": true
- },
- "include": ["src"]
-}
diff --git a/packages/sdk-ethers/vite.config.ts b/packages/sdk-ethers/vite.config.ts
deleted file mode 100644
index 62df167..0000000
--- a/packages/sdk-ethers/vite.config.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { resolve } from "path";
-import { defineConfig } from "vite";
-import dts from "vite-plugin-dts";
-
-// https://vitejs.dev/config/
-export default defineConfig({
- build: {
- lib: {
- // Could also be a dictionary or array of multiple entry points
- entry: resolve(__dirname, "src/index.ts"),
- name: "tokenbound-sdk",
- // the proper extensions will be added
- fileName: "tokenbound-sdk",
- },
- rollupOptions: {
- // make sure to externalize deps that shouldn't be bundled
- // into your library
- external: ["ethers"],
- // output: {
- // // Provide global variables to use in the UMD build
- // // for externalized deps
- // globals: {
- // vue: "Vue",
- // },
- // },
- },
- },
- plugins: [dts()],
-});
diff --git a/packages/sdk/CHANGELOG.md b/packages/sdk/CHANGELOG.md
index f7dc61b..cbe76d6 100644
--- a/packages/sdk/CHANGELOG.md
+++ b/packages/sdk/CHANGELOG.md
@@ -1,5 +1,11 @@
# @tokenbound/sdk
+## 0.3.0
+
+### Minor Changes
+
+- Combined viem and ethers packages into a single package
+
## 0.2.0
### Minor Changes
diff --git a/packages/sdk/abis/index.ts b/packages/sdk/abis/index.ts
new file mode 100644
index 0000000..081c087
--- /dev/null
+++ b/packages/sdk/abis/index.ts
@@ -0,0 +1,4 @@
+import erc6551RegistryAbi from "./ERC6551Registry.json"
+import erc6551AccountAbi from "./IERC6551Account.json"
+
+export { erc6551RegistryAbi, erc6551AccountAbi }
\ No newline at end of file
diff --git a/packages/sdk/package.json b/packages/sdk/package.json
index 40189ac..5285175 100644
--- a/packages/sdk/package.json
+++ b/packages/sdk/package.json
@@ -1,11 +1,11 @@
{
"name": "@tokenbound/sdk",
- "version": "0.2.0",
+ "version": "0.3.0",
"type": "module",
"files": [
"dist"
],
- "types": "./dist/index.d.ts",
+ "types": "./dist/src/index.d.ts",
"main": "./dist/tokenbound-sdk.umd.cjs",
"module": "./dist/tokenbound-sdk.js",
"exports": {
@@ -17,15 +17,20 @@
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
- "preview": "vite preview"
+ "preview": "vite preview",
+ "test": "vitest",
+ "coverage": "vitest run --coverage",
+ "clean": "rm -rf node_modules/"
},
- "peerDependencies": {
- "viem": "^0.3.1"
+ "dependencies": {
+ "viem": "^1.0.7"
},
"devDependencies": {
- "typescript": "^4.9.3",
- "viem": "^0.3.1",
+ "@vitest/coverage-c8": "^0.31.3",
+ "viem": "^1.0.7",
+ "typescript": "^5.0.4",
"vite": "^4.2.0",
- "vite-plugin-dts": "^2.2.0"
+ "vite-plugin-dts": "^2.2.0",
+ "vitest": "^0.31.3"
}
}
diff --git a/packages/sdk/src/TokenboundClient.ts b/packages/sdk/src/TokenboundClient.ts
new file mode 100644
index 0000000..b195289
--- /dev/null
+++ b/packages/sdk/src/TokenboundClient.ts
@@ -0,0 +1,215 @@
+import { WalletClient } from "viem"
+import { erc6551AccountAbi, erc6551RegistryAbi } from '../abis'
+import {
+ getAccount,
+ computeAccount,
+ createAccount,
+ getCreationCode,
+ prepareExecuteCall,
+ executeCall,
+ prepareCreateAccount
+} from './functions'
+import { AbstractEthersSigner } from "./types"
+
+export type TokenboundClientOptions = {
+ chainId: number
+ signer?: any
+ walletClient?: WalletClient
+}
+
+export type GetAccountParams = {
+ tokenContract: string
+ tokenId: string
+}
+
+export type PrepareCreateAccountParams = {
+ tokenContract: `0x${string}`
+ tokenId: string
+}
+
+export type CreateAccountParams = {
+ tokenContract: string
+ tokenId: string
+}
+
+export type PrepareExecuteCallParams = {
+ account: string
+ to: string
+ value: bigint
+ data: string
+}
+
+export type ExecuteCallParams = {
+ account: string
+ to: string
+ value: bigint
+ data: string
+}
+
+export type ComputeAccountParams = {
+ tokenContract: `0x${string}`
+ tokenId: string
+ chainId: number
+}
+
+export type GetCreationCodeParams = {
+ implementation_: `0x${string}`
+ chainId_: number
+ tokenContract_: string
+ tokenId_: string
+ salt_: string
+}
+
+class TokenboundClient {
+ private chainId: number
+ public isInitialized: boolean = false
+ private signer?: AbstractEthersSigner
+ private walletClient?: WalletClient
+
+ constructor(options: TokenboundClientOptions) {
+
+ if(!options.chainId) {
+ throw new Error("chainId is required.")
+ }
+
+ if (options.signer && options.walletClient) {
+ throw new Error("Only one of `signer` or `walletClient` should be provided.")
+ }
+
+ this.chainId = options.chainId
+
+ if (options.signer) {
+ this.signer = options.signer
+ } else if (options.walletClient) {
+ this.walletClient = options.walletClient
+ }
+
+ this.isInitialized = true
+
+ }
+
+
+/**
+ * Returns the tokenbound account address for a given token contract and token ID.
+ * @param params.tokenContract The address of the token contract.
+ * @param params.tokenId The token ID.
+ * @returns The tokenbound account address.
+ */
+ public getAccount(params: GetAccountParams): `0x${string}` {
+ const { tokenContract, tokenId } = params;
+
+ try {
+ // Here we call computeAccount rather than getAccount to avoid
+ // making an async contract call via publicClient
+ return computeAccount(tokenContract, tokenId, this.chainId)
+ } catch (error) {
+ throw error
+ }
+ }
+
+/**
+ * Returns the prepared transaction to create a tokenbound account for a given token contract and token ID.
+ * @param params.tokenContract The address of the token contract.
+ * @param params.tokenId The token ID.
+ * @returns The prepared transaction to create a tokenbound account. Can be sent via `sendTransaction` on an Ethers signer or viem WalletClient.
+ */
+ public async prepareCreateAccount(params: PrepareCreateAccountParams): Promise<{
+ to: `0x${string}`
+ value: bigint
+ data: `0x${string}`
+ }> {
+ const { tokenContract, tokenId } = params
+
+ return prepareCreateAccount(tokenContract, tokenId, this.chainId)
+ }
+
+/**
+ * Returns the transaction hash of the transaction that created the tokenbound account for a given token contract and token ID.
+ * @param params.tokenContract The address of the token contract.
+ * @param params.tokenId The token ID.
+ * @returns a Promise that resolves to the transaction hash of the transaction that created the tokenbound account.
+ */
+ public async createAccount(params: CreateAccountParams): Promise<`0x${string}`> {
+ const { tokenContract, tokenId } = params
+
+ try {
+ if(this.signer) { // Ethers
+ console.log('--> Ethers version of createAccount', this.signer)
+ const prepareCreateAccount = await this.prepareCreateAccount({tokenContract: tokenContract as `0x${string}`, tokenId: tokenId})
+ return await this.signer.sendTransaction(prepareCreateAccount)
+
+ }
+ else if(this.walletClient) {
+ return createAccount(tokenContract, tokenId, this.walletClient)
+ }
+ else {
+ throw new Error("No wallet client or signer available.")
+ }
+ } catch (error) {
+ throw error
+ }
+
+ }
+
+/**
+ * Returns prepared transaction to execute a call on a tokenbound account
+ * @param params.account The tokenbound account address
+ * @param params.to The recipient address
+ * @param params.value The value to send, in wei
+ * @param params.data The data to send
+ * @returns a Promise with prepared transaction to execute a call on a tokenbound account. Can be sent via `sendTransaction` on an Ethers signer or viem WalletClient.
+ */
+ public async prepareExecuteCall(params: PrepareExecuteCallParams): Promise<{
+ to: `0x${string}`
+ value: bigint
+ data: `0x${string}`
+ }> {
+ const { account, to, value, data } = params
+ return prepareExecuteCall(account, to, value, data)
+ }
+
+/**
+ * Returns a hash of the transaction that executed a call on a tokenbound account
+ * @param params.account The tokenbound account address
+ * @param params.to The recipient address
+ * @param params.value The value to send, in wei
+ * @param params.data The data to send
+ * @returns a Promise with prepared transaction to execute a call on a tokenbound account. Can be sent via `sendTransaction` on an Ethers signer or viem WalletClient.
+ */
+ public async executeCall(params: ExecuteCallParams): Promise<`0x${string}`> {
+ const { account, to, value, data } = params
+ try {
+ if(this.signer) { // Ethers
+ console.log('--> Ethers version of executeCall')
+ return await this.signer.sendTransaction({
+ to: to,
+ value: value,
+ data: data
+ })
+
+ }
+ else if(this.walletClient) {
+ console.log('walletClient in executeCall', this.walletClient, account)
+ return executeCall(account, to, value, data, this.walletClient)
+ }
+ else {
+ throw new Error("No wallet client or signer available.")
+ }
+ } catch (error) {
+ throw error
+ }
+ }
+
+}
+
+export {
+ TokenboundClient,
+ erc6551AccountAbi,
+ erc6551RegistryAbi,
+ getAccount,
+ createAccount,
+ getCreationCode,
+ computeAccount,
+ prepareExecuteCall,
+ executeCall
+}
\ No newline at end of file
diff --git a/packages/sdk/src/constants/index.ts b/packages/sdk/src/constants/index.ts
new file mode 100644
index 0000000..11269f6
--- /dev/null
+++ b/packages/sdk/src/constants/index.ts
@@ -0,0 +1 @@
+export * from './tokenboundAddresses'
\ No newline at end of file
diff --git a/packages/sdk/src/constants/tokenboundAddresses.ts b/packages/sdk/src/constants/tokenboundAddresses.ts
new file mode 100644
index 0000000..073b11f
--- /dev/null
+++ b/packages/sdk/src/constants/tokenboundAddresses.ts
@@ -0,0 +1,5 @@
+export const erc6551RegistryAddress =
+ "0x02101dfB77FDE026414827Fdc604ddAF224F0921" as const;
+
+export const erc6551AccountImplementationAddress =
+ "0x2d25602551487c3f3354dd80d76d54383a243358" as const;
\ No newline at end of file
diff --git a/packages/sdk/src/functions/index.ts b/packages/sdk/src/functions/index.ts
new file mode 100644
index 0000000..c4b9e36
--- /dev/null
+++ b/packages/sdk/src/functions/index.ts
@@ -0,0 +1 @@
+export * from './viem'
\ No newline at end of file
diff --git a/packages/sdk/src/functions/viem.ts b/packages/sdk/src/functions/viem.ts
new file mode 100644
index 0000000..35fc436
--- /dev/null
+++ b/packages/sdk/src/functions/viem.ts
@@ -0,0 +1,247 @@
+import {
+ getContract,
+ getContractAddress,
+ concat,
+ PublicClient,
+ WalletClient,
+ encodeFunctionData,
+ encodeAbiParameters,
+ pad
+} from "viem"
+
+import { erc6551AccountAbi, erc6551RegistryAbi } from '../../abis'
+import { erc6551AccountImplementationAddress, erc6551RegistryAddress } from "../constants"
+import { addressToUint8Array } from "../utils"
+
+export { erc6551AccountAbi, erc6551RegistryAbi }
+
+/**
+ * @deprecated Direct consumption of this function is deprecated. Consume via TokenboundClient instead.
+ * @internal
+ */
+export async function getAccount(
+ tokenContract: string,
+ tokenId: string,
+ client: PublicClient
+): Promise<`0x${string}`> {
+
+ const registry = getContract({
+ address: erc6551RegistryAddress,
+ abi: erc6551RegistryAbi,
+ publicClient: client as PublicClient,
+ })
+
+ const chainId = await client.getChainId()
+
+ const account = await registry.read.account([
+ erc6551AccountImplementationAddress,
+ chainId,
+ tokenContract,
+ tokenId,
+ 0,
+ ])
+
+ return account as `0x${string}`
+}
+
+/**
+ * @deprecated Direct consumption of this function is deprecated. Consume via TokenboundClient instead.
+ * @internal
+ */
+export async function prepareCreateAccount(
+ tokenContract: string,
+ tokenId: string,
+ chainId: number
+): Promise<{
+ to: `0x${string}`
+ value: bigint
+ data: `0x${string}`
+}> {
+
+ const initData = encodeFunctionData({
+ abi: [
+ {
+ inputs: [],
+ name: "initialize",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ ],
+ functionName: "initialize",
+ })
+
+ return {
+ to: erc6551RegistryAddress as `0x${string}`,
+ value: BigInt(0),
+ data: encodeFunctionData({
+ abi: erc6551RegistryAbi,
+ functionName: "createAccount",
+ args: [
+ erc6551AccountImplementationAddress,
+ chainId,
+ tokenContract,
+ tokenId,
+ 0,
+ initData,
+ ],
+ }),
+ }
+
+}
+
+/**
+ * @deprecated Direct consumption of this function is deprecated. Consume via TokenboundClient instead.
+ * @internal
+ */
+export async function createAccount(
+ tokenContract: string,
+ tokenId: string,
+ client: WalletClient,
+): Promise<`0x${string}`> {
+ const registry = getContract({
+ address: erc6551RegistryAddress,
+ abi: erc6551RegistryAbi,
+ walletClient: client,
+ })
+
+ const chainId = await client.getChainId()
+
+ const initData = encodeFunctionData({
+ abi: [
+ {
+ inputs: [],
+ name: "initialize",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ ],
+ functionName: "initialize",
+ })
+
+ return registry.write.createAccount([
+ erc6551AccountImplementationAddress,
+ chainId,
+ tokenContract,
+ tokenId,
+ 0,
+ initData,
+ ])
+}
+
+/**
+ * @deprecated Direct consumption of this function is deprecated. Consume via TokenboundClient instead.
+ * @internal
+ */
+export async function prepareExecuteCall(
+ account: string,
+ to: string,
+ value: bigint,
+ data: string
+): Promise<{
+ to: `0x${string}`
+ value: bigint
+ data: `0x${string}`
+}> {
+ return {
+ to: account as `0x${string}`,
+ value,
+ data: encodeFunctionData({
+ abi: erc6551AccountAbi,
+ functionName: "executeCall",
+ args: [
+ to as `0x${string}`,
+ value,
+ data as `0x${string}`
+ ],
+ }),
+ }
+}
+
+/**
+ * @deprecated Direct consumption of this function is deprecated. Consume via TokenboundClient instead.
+ * @internal
+ */
+export async function executeCall(
+ account: string,
+ to: string,
+ value: bigint,
+ data: string,
+ client: WalletClient
+) {
+ const registry = getContract({
+ address: account as `0x${string}`,
+ abi: erc6551AccountAbi,
+ walletClient: client,
+ })
+
+ return registry.write.executeCall([
+ to as `0x${string}`,
+ value,
+ data as `0x${string}`,
+ ])
+}
+
+/**
+ * @deprecated Direct consumption of this function is deprecated. Consume via TokenboundClient instead.
+ * @internal
+ */
+export function computeAccount(
+ tokenContract: string,
+ tokenId: string,
+ chainId: number,
+): `0x${string}` {
+
+ const code = getCreationCode(
+ erc6551AccountImplementationAddress,
+ chainId,
+ tokenContract,
+ tokenId,
+ "0"
+ )
+
+ const bigIntZero = BigInt("0").toString(16) as `0x${string}`
+ const saltHex = pad(bigIntZero, { size: 32 })
+
+ return getContractAddress({
+ bytecode: code,
+ from: erc6551RegistryAddress,
+ opcode: 'CREATE2',
+ salt: saltHex,
+ })
+
+}
+
+/**
+ * @deprecated Direct consumption of this function is deprecated. Consume via TokenboundClient instead.
+ * @internal
+ */
+export function getCreationCode(
+ implementation_: `0x${string}`,
+ chainId_: number,
+ tokenContract_: string,
+ tokenId_: string,
+ salt_: string,
+): Uint8Array {
+ const types = [
+ { type: 'uint256'},
+ { type: 'uint256'},
+ { type: 'address'},
+ { type: 'uint256'}
+ ]
+ const values: (string | bigint)[] = [salt_, BigInt(chainId_), tokenContract_, tokenId_]
+ const encodedABI = encodeAbiParameters(types, values)
+ const hexImplementation = implementation_ as `0x${string}`
+
+ const hexCreationCode = concat([
+ "0x3d60ad80600a3d3981f3363d3d373d3d3d363d73",
+ hexImplementation,
+ "0x5af43d82803e903d91602b57fd5bf3",
+ encodedABI
+ ]);
+
+ const creationCode = addressToUint8Array(hexCreationCode)
+
+ return creationCode
+}
\ No newline at end of file
diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts
index 89f5ec4..bffe5b3 100644
--- a/packages/sdk/src/index.ts
+++ b/packages/sdk/src/index.ts
@@ -1,114 +1,46 @@
-import {
- getContract,
- PublicClient,
- WalletClient,
- encodeFunctionData,
-} from "viem";
-
-import erc6551RegistryAbi from "../abis/ERC6551Registry.json";
-import erc6551AccountAbi from "../abis/IERC6551Account.json";
-
-export { erc6551AccountAbi, erc6551RegistryAbi };
-
-export const erc6551RegistryAddress =
- "0x02101dfB77FDE026414827Fdc604ddAF224F0921" as const;
-
-export const erc6551AccountImplementationAddress =
- "0x2d25602551487c3f3354dd80d76d54383a243358" as const;
-
-export async function getAccount(
- tokenContract: string,
- tokenId: string,
- client: PublicClient
-): Promise<`0x${string}`> {
- const registry = getContract({
- address: erc6551RegistryAddress,
- abi: erc6551RegistryAbi,
- publicClient: client,
- });
-
- const chainId = await client.getChainId();
-
- const account = await registry.read.account([
- erc6551AccountImplementationAddress,
- chainId,
- tokenContract,
- tokenId,
- 0,
- ]);
-
- return account as `0x${string}`;
-}
-
-export async function createAccount(
- tokenContract: string,
- tokenId: string,
- client: WalletClient
-) {
- const registry = getContract({
- address: erc6551RegistryAddress,
- abi: erc6551RegistryAbi,
- walletClient: client,
- });
-
- const chainId = await client.getChainId();
+import { erc6551AccountAbi, erc6551RegistryAbi } from '../abis'
+import {
+ getAccount,
+ computeAccount,
+ createAccount,
+ getCreationCode,
+ prepareExecuteCall,
+ executeCall,
+ prepareCreateAccount,
+} from './functions'
- const initData = encodeFunctionData({
- abi: [
- {
- inputs: [],
- name: "initialize",
- outputs: [],
- stateMutability: "nonpayable",
- type: "function",
- },
- ],
- functionName: "initialize",
- });
-
- return registry.write.createAccount([
- erc6551AccountImplementationAddress,
- chainId,
- tokenContract,
- tokenId,
- 0,
- initData,
- ]);
-}
-
-export async function prepareExecuteCall(
- account: string,
- to: string,
- value: bigint,
- data: string
-) {
- return {
- to: account as `0x${string}`,
- value,
- data: encodeFunctionData({
- abi: erc6551AccountAbi,
- functionName: "executeCall",
- args: [to as `0x${string}`, value, data as `0x${string}`],
- }),
- };
+import {
+ TokenboundClient,
+ TokenboundClientOptions,
+ GetAccountParams,
+ PrepareCreateAccountParams,
+ CreateAccountParams,
+ PrepareExecuteCallParams,
+ ExecuteCallParams,
+ ComputeAccountParams,
+ GetCreationCodeParams
+} from './TokenboundClient'
+
+export {
+ TokenboundClient,
+ erc6551AccountAbi,
+ erc6551RegistryAbi,
+ getAccount,
+ computeAccount,
+ prepareCreateAccount,
+ createAccount,
+ getCreationCode,
+ prepareExecuteCall,
+ executeCall,
}
-export async function executeCall(
- account: string,
- to: string,
- value: bigint,
- data: string,
- client: WalletClient
-) {
- const registry = getContract({
- address: account as `0x${string}`,
- abi: erc6551AccountAbi,
- walletClient: client,
- });
-
- return registry.write.executeCall([
- to as `0x${string}`,
- value,
- data as `0x${string}`,
- ]);
-}
+export type {
+ TokenboundClientOptions,
+ GetAccountParams,
+ PrepareCreateAccountParams,
+ CreateAccountParams,
+ PrepareExecuteCallParams,
+ ExecuteCallParams,
+ ComputeAccountParams,
+ GetCreationCodeParams
+}
\ No newline at end of file
diff --git a/packages/sdk/src/test/ethers.test.ts b/packages/sdk/src/test/ethers.test.ts
new file mode 100644
index 0000000..7de66bc
--- /dev/null
+++ b/packages/sdk/src/test/ethers.test.ts
@@ -0,0 +1,3 @@
+import { test } from "vitest";
+
+test.todo('ethers')
diff --git a/packages/sdk/src/test/testConfig.ts b/packages/sdk/src/test/testConfig.ts
new file mode 100644
index 0000000..a270455
--- /dev/null
+++ b/packages/sdk/src/test/testConfig.ts
@@ -0,0 +1,11 @@
+export const TEST_CONFIG = {
+ TOKEN_CONTRACT: `0x7a77F2cFB02546F217d39157471d5B5914DD7644` as `0x${string}`,
+ TOKEN_ID: "1",
+ CHAIN_ID: 5,
+
+ TB_ACCOUNT: `0x5194b1c04Ed6464b3225324d6794f7d2698D8d1c` as `0x${string}`,
+ RECIPIENT_ADDRESS: `0x02101dfb77fde026414827fdc604ddaf224f0921` as `0x${string}`,
+
+ EXAMPLE_AMOUNT: 0n,
+ EXAMPLE_DATA: ""
+}
diff --git a/packages/sdk/src/test/tokenboundClient.test.ts b/packages/sdk/src/test/tokenboundClient.test.ts
new file mode 100644
index 0000000..ea1b0c4
--- /dev/null
+++ b/packages/sdk/src/test/tokenboundClient.test.ts
@@ -0,0 +1,51 @@
+import { test, expect } from "vitest"
+import {
+ isHex,
+ isAddress
+} from "viem"
+
+import { TokenboundClient } from '../TokenboundClient'
+import { TEST_CONFIG } from "./testConfig"
+
+
+const tokenboundClient = new TokenboundClient({
+ // signer,
+ chainId: TEST_CONFIG.CHAIN_ID
+ })
+
+test("tokenboundClient.getAccount", async () => {
+ const result = await tokenboundClient.getAccount({tokenContract: TEST_CONFIG.TOKEN_CONTRACT, tokenId: TEST_CONFIG.TOKEN_ID})
+ expect(result).toEqual(TEST_CONFIG.TB_ACCOUNT)
+})
+
+test.todo("tokenboundClient.getCreationCode")
+
+test("tokenboundClient.prepareExecuteCall", async () => {
+
+ const preparedCall = await tokenboundClient.prepareExecuteCall({
+ account: TEST_CONFIG.TB_ACCOUNT,
+ to: TEST_CONFIG.RECIPIENT_ADDRESS,
+ value: TEST_CONFIG.EXAMPLE_AMOUNT,
+ data: TEST_CONFIG.EXAMPLE_DATA
+ })
+
+ expect(isAddress(preparedCall.to)).toEqual(true)
+ expect(typeof preparedCall.value).toEqual('bigint')
+ expect(isHex(preparedCall.data)).toEqual(true)
+})
+
+test.todo("tokenboundClient.executeCall")
+
+test("tokenboundClient.prepareCreateAccount", async () => {
+
+ const preparedAccount = await tokenboundClient.prepareCreateAccount({
+ tokenContract: TEST_CONFIG.TOKEN_CONTRACT,
+ tokenId: TEST_CONFIG.TOKEN_ID,
+ }
+ )
+
+ expect(isAddress(preparedAccount.to)).toEqual(true)
+ expect(typeof preparedAccount.value).toEqual('bigint')
+ expect(isHex(preparedAccount.data)).toEqual(true)
+})
+test.todo(".createAccount")
\ No newline at end of file
diff --git a/packages/sdk/src/test/viem.test.ts b/packages/sdk/src/test/viem.test.ts
new file mode 100644
index 0000000..6362825
--- /dev/null
+++ b/packages/sdk/src/test/viem.test.ts
@@ -0,0 +1,65 @@
+import { test, expect } from "vitest"
+import { goerli } from 'viem/chains'
+import {
+ isHex,
+ createPublicClient,
+ http,
+ isAddress
+} from "viem"
+
+import {
+ computeAccount,
+ getAccount,
+ prepareCreateAccount,
+ prepareExecuteCall,
+
+} from "../index";
+
+import { TEST_CONFIG } from "./testConfig"
+
+test(".getAccount", async () => {
+ const publicClient = createPublicClient({
+ chain: goerli,
+ transport: http()
+ })
+
+ const result = await getAccount(TEST_CONFIG.TOKEN_CONTRACT, TEST_CONFIG.TOKEN_ID, publicClient)
+ expect(result).toEqual(TEST_CONFIG.TB_ACCOUNT)
+})
+
+test(".computeAccount", async () => {
+ const result = computeAccount(TEST_CONFIG.TOKEN_CONTRACT, TEST_CONFIG.TOKEN_ID, TEST_CONFIG.CHAIN_ID)
+ expect(result).toEqual(TEST_CONFIG.TB_ACCOUNT)
+})
+
+test.todo(".getCreationCode")
+
+test(".prepareExecuteCall", async () => {
+
+ const preparedCall = await prepareExecuteCall(
+ TEST_CONFIG.TB_ACCOUNT,
+ TEST_CONFIG.RECIPIENT_ADDRESS,
+ TEST_CONFIG.EXAMPLE_AMOUNT,
+ TEST_CONFIG.EXAMPLE_DATA
+ )
+
+ expect(isAddress(preparedCall.to)).toEqual(true)
+ expect(typeof preparedCall.value).toEqual('bigint')
+ expect(isHex(preparedCall.data)).toEqual(true)
+})
+
+test.todo(".executeCall")
+
+test(".prepareCreateAccount", async () => {
+
+ const preparedAccount = await prepareCreateAccount(
+ TEST_CONFIG.TOKEN_CONTRACT,
+ TEST_CONFIG.TOKEN_ID,
+ TEST_CONFIG.CHAIN_ID
+ )
+
+ expect(isAddress(preparedAccount.to)).toEqual(true)
+ expect(typeof preparedAccount.value).toEqual('bigint')
+ expect(isHex(preparedAccount.data)).toEqual(true)
+})
+test.todo(".createAccount")
\ No newline at end of file
diff --git a/packages/sdk/src/types/abstractBigNumber.ts b/packages/sdk/src/types/abstractBigNumber.ts
new file mode 100644
index 0000000..cd9145d
--- /dev/null
+++ b/packages/sdk/src/types/abstractBigNumber.ts
@@ -0,0 +1,27 @@
+
+// To determine whether the var is an Ethers BigNumber without first importing the Ethers package,
+// we check for the existence of the _isBigNumber property on the object
+// This AbstractBigNumber type assures that there is at least some degree of type safety on the Ethers implementation of the TokenboundClient.
+
+// export type AbstractBigNumber = {
+// readonly _isBigNumber: boolean;
+// } & any
+
+// export type AbstractBigNumber = {
+// readonly _isBigNumber: boolean
+// readonly _hex: string
+// [key: string]: unknown
+// }
+
+export type AbstractBigNumber = {
+ readonly _isBigNumber: boolean
+ readonly _hex: string
+} & any
+// export type AbstractBigNumber = {
+// readonly _isBigNumber: boolean
+// readonly _hex: string
+// } & { [key: string]: any }
+
+// export type AbstractBigNumber = {
+// readonly _isBigNumber: boolean;
+// } & Record
\ No newline at end of file
diff --git a/packages/sdk/src/types/abstractEthersSigner.ts b/packages/sdk/src/types/abstractEthersSigner.ts
new file mode 100644
index 0000000..e999134
--- /dev/null
+++ b/packages/sdk/src/types/abstractEthersSigner.ts
@@ -0,0 +1,9 @@
+
+// To determine whether the signer is an Ethers signer without first importing the Ethers package,
+// we check for the existence of the _isSigner property on the signer object.
+// This AbstractEthersSigner type assures that there is at least some degree of type safety on the Ethers implementation of the TokenboundClient.
+
+
+export type AbstractEthersSigner = {
+ readonly _isSigner: boolean
+} & Record
diff --git a/packages/sdk/src/types/index.ts b/packages/sdk/src/types/index.ts
new file mode 100644
index 0000000..eae9ee1
--- /dev/null
+++ b/packages/sdk/src/types/index.ts
@@ -0,0 +1,2 @@
+export * from './abstractEthersSigner'
+export * from './abstractBigNumber'
\ No newline at end of file
diff --git a/packages/sdk/src/utils/addressToUint8Array.ts b/packages/sdk/src/utils/addressToUint8Array.ts
new file mode 100644
index 0000000..5fbbacd
--- /dev/null
+++ b/packages/sdk/src/utils/addressToUint8Array.ts
@@ -0,0 +1,14 @@
+export function addressToUint8Array(address: `0x${string}`): Uint8Array {
+
+ // Remove the '0x' prefix
+ const cleanAddress = address.slice(2);
+
+ // Convert hexadecimal string to Uint8Array
+ const array = new Uint8Array(cleanAddress.length / 2);
+
+ for (let i = 0; i < cleanAddress.length; i += 2) {
+ array[i / 2] = parseInt(cleanAddress.substr(i, 2), 16)
+ }
+
+ return array
+}
\ No newline at end of file
diff --git a/packages/sdk/src/utils/chainIdToChain.ts b/packages/sdk/src/utils/chainIdToChain.ts
new file mode 100644
index 0000000..c9e22ac
--- /dev/null
+++ b/packages/sdk/src/utils/chainIdToChain.ts
@@ -0,0 +1,17 @@
+import * as allChains from "viem/chains"
+import { Chain } from "viem"
+
+/**
+ * Gets the chain object for the given chain id.
+ * @param chainId - Chain id of the target EVM chain.
+ * @returns Viem's chain object.
+ */
+export function chainIdToChain(chainId: number): Chain {
+ for (const chain of Object.values(allChains)) {
+ if (chain.id === chainId) {
+ return chain;
+ }
+ }
+
+ throw new Error(`Chain with id ${chainId} not found`);
+}
\ No newline at end of file
diff --git a/packages/sdk/src/utils/index.ts b/packages/sdk/src/utils/index.ts
new file mode 100644
index 0000000..1295b1e
--- /dev/null
+++ b/packages/sdk/src/utils/index.ts
@@ -0,0 +1,3 @@
+export * from './addressToUint8Array'
+export * from './isAbstractBigNumber'
+export * from './chainIdToChain'
\ No newline at end of file
diff --git a/packages/sdk/src/utils/isAbstractBigNumber.ts b/packages/sdk/src/utils/isAbstractBigNumber.ts
new file mode 100644
index 0000000..a879f06
--- /dev/null
+++ b/packages/sdk/src/utils/isAbstractBigNumber.ts
@@ -0,0 +1,5 @@
+import { AbstractBigNumber } from "../types";
+
+export function isAbstractBigNumber(value: any): value is AbstractBigNumber {
+ return value && value._isBigNumber === true;
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5c3ddea..7559f64 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,5 +1,9 @@
lockfileVersion: '6.0'
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
importers:
.:
@@ -7,21 +11,33 @@ importers:
'@changesets/cli':
specifier: ^2.26.1
version: 2.26.1
+ '@ianvs/prettier-plugin-sort-imports':
+ specifier: ^3.7.2
+ version: 3.7.2(prettier@2.8.8)
+ eslint:
+ specifier: ^8.36.0
+ version: 8.36.0
+ eslint-config-prettier:
+ specifier: ^8.8.0
+ version: 8.8.0(eslint@8.36.0)
+ eslint-plugin-unused-imports:
+ specifier: ^2.0.0
+ version: 2.0.0(eslint@8.36.0)
+ prettier:
+ specifier: ^2.8.8
+ version: 2.8.8
examples/vite-wagmi:
dependencies:
'@tokenbound/sdk':
specifier: workspace:^
version: link:../../packages/sdk
- '@tokenbound/sdk-ethers':
- specifier: workspace:^
- version: link:../../packages/sdk-ethers
buffer:
specifier: ^6.0.3
version: 6.0.3
connectkit:
- specifier: ^1.2.2
- version: 1.2.2(ethers@5.7.2)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(wagmi@0.12.0)
+ specifier: ^1.4.0
+ version: 1.4.0(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(viem@1.0.7)(wagmi@1.2.0)
ethers:
specifier: ^5.7.2
version: 5.7.2
@@ -35,31 +51,129 @@ importers:
specifier: ^18.2.0
version: 18.2.0(react@18.2.0)
util:
- specifier: ^0.12.4
- version: 0.12.4
+ specifier: ^0.12.5
+ version: 0.12.5
viem:
- specifier: ^0.3.1
- version: 0.3.1(typescript@4.9.4)
+ specifier: ^1.0.7
+ version: 1.0.7(typescript@5.1.3)
wagmi:
- specifier: ~0.12.0
- version: 0.12.0(@babel/core@7.21.4)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.4)
+ specifier: ^1.2.0
+ version: 1.2.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.3)(viem@1.0.7)
devDependencies:
'@types/react':
- specifier: ^18.0.9
- version: 18.0.35
+ specifier: ^18.2.12
+ version: 18.2.12
'@types/react-dom':
- specifier: ^18.0.3
- version: 18.0.11
+ specifier: ^18.2.5
+ version: 18.2.5
'@vitejs/plugin-react':
specifier: ^2.1.0
version: 2.1.0(vite@3.1.8)
typescript:
- specifier: ^4.9.4
- version: 4.9.4
+ specifier: ^5.1.3
+ version: 5.1.3
vite:
specifier: ^3.1.8
version: 3.1.8
+ examples/vite-wagmi-ethers:
+ dependencies:
+ '@tokenbound/sdk':
+ specifier: workspace:^
+ version: link:../../packages/sdk
+ buffer:
+ specifier: ^6.0.3
+ version: 6.0.3
+ connectkit:
+ specifier: 1.4.0
+ version: 1.4.0(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(viem@1.0.7)(wagmi@1.2.0)
+ ethers:
+ specifier: ^5.7.2
+ version: 5.7.2
+ process:
+ specifier: ^0.11.10
+ version: 0.11.10
+ react:
+ specifier: ^18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.2.0(react@18.2.0)
+ util:
+ specifier: ^0.12.5
+ version: 0.12.5
+ viem:
+ specifier: ^1.0.7
+ version: 1.0.7(typescript@5.1.3)
+ wagmi:
+ specifier: ^1.2.0
+ version: 1.2.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.3)(viem@1.0.7)
+ devDependencies:
+ '@types/react':
+ specifier: ^18.2.12
+ version: 18.2.12
+ '@types/react-dom':
+ specifier: ^18.2.5
+ version: 18.2.5
+ '@vitejs/plugin-react':
+ specifier: ^4.0.1
+ version: 4.0.1(vite@4.3.9)
+ typescript:
+ specifier: ^5.1.3
+ version: 5.1.3
+ vite:
+ specifier: ^4.3.9
+ version: 4.3.9(@types/node@18.15.11)
+
+ examples/vite-wagmi-ethers6:
+ dependencies:
+ '@tokenbound/sdk':
+ specifier: workspace:^
+ version: link:../../packages/sdk
+ buffer:
+ specifier: ^6.0.3
+ version: 6.0.3
+ connectkit:
+ specifier: 1.4.0
+ version: 1.4.0(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(viem@1.0.7)(wagmi@1.2.0)
+ ethers:
+ specifier: ^6.6.0
+ version: 6.6.0
+ process:
+ specifier: ^0.11.10
+ version: 0.11.10
+ react:
+ specifier: ^18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.2.0(react@18.2.0)
+ util:
+ specifier: ^0.12.5
+ version: 0.12.5
+ viem:
+ specifier: ^1.0.7
+ version: 1.0.7(typescript@5.1.3)
+ wagmi:
+ specifier: ^1.2.0
+ version: 1.2.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.3)(viem@1.0.7)
+ devDependencies:
+ '@types/react':
+ specifier: ^18.2.12
+ version: 18.2.12
+ '@types/react-dom':
+ specifier: ^18.2.5
+ version: 18.2.5
+ '@vitejs/plugin-react':
+ specifier: ^4.0.1
+ version: 4.0.1(vite@4.3.9)
+ typescript:
+ specifier: ^5.1.3
+ version: 5.1.3
+ vite:
+ specifier: ^4.3.9
+ version: 4.3.9(@types/node@18.15.11)
+
packages/react:
devDependencies:
'@types/node':
@@ -70,7 +184,7 @@ importers:
version: 0.1.15(@wagmi/core@0.10.9)(typescript@4.9.4)(wagmi@0.12.0)
'@wagmi/core':
specifier: ^0.10.9
- version: 0.10.9(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
+ version: 0.10.9(@babel/core@7.22.5)(@types/node@18.15.11)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
abitype:
specifier: ^0.7.1
version: 0.7.1(typescript@4.9.4)(zod@3.21.4)
@@ -78,7 +192,7 @@ importers:
specifier: ^5.7.2
version: 5.7.2
typescript:
- specifier: ^4.9.3
+ specifier: ^4.9.4
version: 4.9.4
vite:
specifier: ^4.2.0
@@ -88,34 +202,20 @@ importers:
version: 2.2.0(@types/node@18.15.11)(vite@4.2.0)
wagmi:
specifier: ~0.12.0
- version: 0.12.0(@babel/core@7.21.4)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.4)
+ version: 0.12.0(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
packages/sdk:
- devDependencies:
- typescript:
- specifier: ^4.9.3
- version: 4.9.3
+ dependencies:
viem:
- specifier: ^0.3.1
- version: 0.3.1(typescript@4.9.3)
- vite:
- specifier: ^4.2.0
- version: 4.2.0(@types/node@18.15.11)
- vite-plugin-dts:
- specifier: ^2.2.0
- version: 2.2.0(@types/node@18.15.11)(vite@4.2.0)
-
- packages/sdk-ethers:
+ specifier: ^1.0.7
+ version: 1.0.7(typescript@5.1.3)
devDependencies:
'@vitest/coverage-c8':
specifier: ^0.31.3
version: 0.31.3(vitest@0.31.3)
- ethers:
- specifier: '>=5.7.2'
- version: 5.7.2
typescript:
- specifier: ^4.9.3
- version: 4.9.4
+ specifier: ^5.0.4
+ version: 5.1.3
vite:
specifier: ^4.2.0
version: 4.2.0(@types/node@18.15.11)
@@ -130,6 +230,11 @@ packages:
/@adraffy/ens-normalize@1.9.0:
resolution: {integrity: sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ==}
+ dev: false
+
+ /@adraffy/ens-normalize@1.9.2:
+ resolution: {integrity: sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg==}
+ dev: false
/@ampproject/remapping@2.2.1:
resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
@@ -137,16 +242,30 @@ packages:
dependencies:
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.18
+ dev: true
/@babel/code-frame@7.21.4:
resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/highlight': 7.18.6
+ dev: true
+
+ /@babel/code-frame@7.22.5:
+ resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.22.5
/@babel/compat-data@7.21.4:
resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==}
engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/compat-data@7.22.5:
+ resolution: {integrity: sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==}
+ engines: {node: '>=6.9.0'}
+ dev: true
/@babel/core@7.21.4:
resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==}
@@ -160,30 +279,64 @@ packages:
'@babel/helpers': 7.21.0
'@babel/parser': 7.21.4
'@babel/template': 7.20.7
- '@babel/traverse': 7.21.4(supports-color@5.5.0)
- '@babel/types': 7.21.4
+ '@babel/traverse': 7.21.4
+ '@babel/types': 7.22.5
convert-source-map: 1.9.0
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/core@7.22.5:
+ resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.22.5
+ '@babel/generator': 7.22.5
+ '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5)
+ '@babel/helper-module-transforms': 7.22.5
+ '@babel/helpers': 7.22.5
+ '@babel/parser': 7.22.5
+ '@babel/template': 7.22.5
+ '@babel/traverse': 7.22.5(supports-color@5.5.0)
+ '@babel/types': 7.22.5
+ convert-source-map: 1.9.0
+ debug: 4.3.4(supports-color@5.5.0)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.0
transitivePeerDependencies:
- supports-color
+ dev: true
/@babel/generator@7.21.4:
resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.4
+ '@babel/types': 7.22.5
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.18
+ jsesc: 2.5.2
+ dev: true
+
+ /@babel/generator@7.22.5:
+ resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.22.5
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.18
jsesc: 2.5.2
- /@babel/helper-annotate-as-pure@7.18.6:
- resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
+ /@babel/helper-annotate-as-pure@7.22.5:
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.4
+ '@babel/types': 7.22.5
/@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4):
resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==}
@@ -197,103 +350,187 @@ packages:
browserslist: 4.21.5
lru-cache: 5.1.1
semver: 6.3.0
+ dev: true
+
+ /@babel/helper-compilation-targets@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/compat-data': 7.22.5
+ '@babel/core': 7.22.5
+ '@babel/helper-validator-option': 7.22.5
+ browserslist: 4.21.5
+ lru-cache: 5.1.1
+ semver: 6.3.0
+ dev: true
- /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4):
+ /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.22.5):
resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
peerDependencies:
'@babel/core': ^7.4.0-0
dependencies:
- '@babel/core': 7.21.4
- '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4)
- '@babel/helper-plugin-utils': 7.20.2
- debug: 4.3.4(supports-color@8.1.1)
+ '@babel/core': 7.22.5
+ '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5)
+ '@babel/helper-plugin-utils': 7.22.5
+ debug: 4.3.4(supports-color@5.5.0)
lodash.debounce: 4.0.8
resolve: 1.22.2
semver: 6.3.0
transitivePeerDependencies:
- supports-color
+ dev: true
- /@babel/helper-environment-visitor@7.18.9:
- resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
+ /@babel/helper-environment-visitor@7.22.5:
+ resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==}
engines: {node: '>=6.9.0'}
/@babel/helper-function-name@7.21.0:
resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.20.7
- '@babel/types': 7.21.4
+ '@babel/template': 7.22.5
+ '@babel/types': 7.22.5
+ dev: true
+
+ /@babel/helper-function-name@7.22.5:
+ resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.22.5
+ '@babel/types': 7.22.5
/@babel/helper-hoist-variables@7.18.6:
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.4
+ '@babel/types': 7.22.5
+ dev: true
+
+ /@babel/helper-hoist-variables@7.22.5:
+ resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.22.5
- /@babel/helper-module-imports@7.21.4:
- resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==}
+ /@babel/helper-module-imports@7.22.5:
+ resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.4
+ '@babel/types': 7.22.5
/@babel/helper-module-transforms@7.21.2:
resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-environment-visitor': 7.18.9
- '@babel/helper-module-imports': 7.21.4
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-module-imports': 7.22.5
'@babel/helper-simple-access': 7.20.2
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/helper-validator-identifier': 7.19.1
- '@babel/template': 7.20.7
- '@babel/traverse': 7.21.4(supports-color@5.5.0)
- '@babel/types': 7.21.4
+ '@babel/helper-split-export-declaration': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.5
+ '@babel/template': 7.22.5
+ '@babel/traverse': 7.22.5(supports-color@5.5.0)
+ '@babel/types': 7.22.5
transitivePeerDependencies:
- supports-color
+ dev: true
- /@babel/helper-plugin-utils@7.20.2:
- resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
+ /@babel/helper-module-transforms@7.22.5:
+ resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==}
engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-module-imports': 7.22.5
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.5
+ '@babel/template': 7.22.5
+ '@babel/traverse': 7.22.5(supports-color@5.5.0)
+ '@babel/types': 7.22.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-plugin-utils@7.22.5:
+ resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
+ engines: {node: '>=6.9.0'}
+ dev: true
/@babel/helper-simple-access@7.20.2:
resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.4
+ '@babel/types': 7.22.5
+ dev: true
+
+ /@babel/helper-simple-access@7.22.5:
+ resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.22.5
+ dev: true
- /@babel/helper-split-export-declaration@7.18.6:
- resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
+ /@babel/helper-split-export-declaration@7.22.5:
+ resolution: {integrity: sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.21.4
+ '@babel/types': 7.22.5
- /@babel/helper-string-parser@7.19.4:
- resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
+ /@babel/helper-string-parser@7.22.5:
+ resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-identifier@7.19.1:
- resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
+ /@babel/helper-validator-identifier@7.22.5:
+ resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==}
engines: {node: '>=6.9.0'}
/@babel/helper-validator-option@7.21.0:
resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==}
engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-validator-option@7.22.5:
+ resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==}
+ engines: {node: '>=6.9.0'}
+ dev: true
/@babel/helpers@7.21.0:
resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.20.7
- '@babel/traverse': 7.21.4(supports-color@5.5.0)
- '@babel/types': 7.21.4
+ '@babel/template': 7.22.5
+ '@babel/traverse': 7.22.5(supports-color@5.5.0)
+ '@babel/types': 7.22.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helpers@7.22.5:
+ resolution: {integrity: sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.22.5
+ '@babel/traverse': 7.22.5(supports-color@5.5.0)
+ '@babel/types': 7.22.5
transitivePeerDependencies:
- supports-color
+ dev: true
/@babel/highlight@7.18.6:
resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-validator-identifier': 7.19.1
+ '@babel/helper-validator-identifier': 7.22.5
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+
+ /@babel/highlight@7.22.5:
+ resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.5
chalk: 2.4.2
js-tokens: 4.0.0
@@ -302,77 +539,86 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.21.4
+ '@babel/types': 7.22.5
+ dev: true
- /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.21.4):
- resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==}
+ /@babel/parser@7.22.5:
+ resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.22.5
+
+ /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.4
- '@babel/helper-plugin-utils': 7.20.2
+ '@babel/core': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.21.4):
- resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==}
+ /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.4
- '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.4)
+ '@babel/core': 7.22.5
+ '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5)
dev: true
- /@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.21.4):
- resolution: {integrity: sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==}
+ /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.4
- '@babel/helper-plugin-utils': 7.20.2
+ '@babel/core': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.21.4):
- resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
+ /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.4
- '@babel/helper-plugin-utils': 7.20.2
+ '@babel/core': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.21.4):
- resolution: {integrity: sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==}
+ /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.4
- '@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-module-imports': 7.21.4
- '@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.4)
- '@babel/types': 7.21.4
+ '@babel/core': 7.22.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5)
+ '@babel/types': 7.22.5
dev: true
- /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.21.4):
+ /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.22.5):
resolution: {integrity: sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.4
- '@babel/helper-module-imports': 7.21.4
- '@babel/helper-plugin-utils': 7.20.2
- babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4)
- babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4)
- babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4)
+ '@babel/core': 7.22.5
+ '@babel/helper-module-imports': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.22.5)
+ babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.22.5)
+ babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.22.5)
semver: 6.3.0
transitivePeerDependencies:
- supports-color
+ dev: true
/@babel/runtime@7.21.0:
resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==}
@@ -384,33 +630,60 @@ packages:
resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.21.4
- '@babel/parser': 7.21.4
- '@babel/types': 7.21.4
+ '@babel/code-frame': 7.22.5
+ '@babel/parser': 7.22.5
+ '@babel/types': 7.22.5
+ dev: true
+
+ /@babel/template@7.22.5:
+ resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.22.5
+ '@babel/parser': 7.22.5
+ '@babel/types': 7.22.5
- /@babel/traverse@7.21.4(supports-color@5.5.0):
+ /@babel/traverse@7.21.4:
resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.21.4
- '@babel/generator': 7.21.4
- '@babel/helper-environment-visitor': 7.18.9
+ '@babel/code-frame': 7.22.5
+ '@babel/generator': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.5
'@babel/helper-function-name': 7.21.0
'@babel/helper-hoist-variables': 7.18.6
- '@babel/helper-split-export-declaration': 7.18.6
- '@babel/parser': 7.21.4
- '@babel/types': 7.21.4
+ '@babel/helper-split-export-declaration': 7.22.5
+ '@babel/parser': 7.22.5
+ '@babel/types': 7.22.5
+ debug: 4.3.4(supports-color@5.5.0)
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/traverse@7.22.5(supports-color@5.5.0):
+ resolution: {integrity: sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.22.5
+ '@babel/generator': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.5
+ '@babel/parser': 7.22.5
+ '@babel/types': 7.22.5
debug: 4.3.4(supports-color@5.5.0)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- /@babel/types@7.21.4:
- resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==}
+ /@babel/types@7.22.5:
+ resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-string-parser': 7.19.4
- '@babel/helper-validator-identifier': 7.19.1
+ '@babel/helper-string-parser': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.5
to-fast-properties: 2.0.0
/@bcoe/v8-coverage@0.2.3:
@@ -430,7 +703,7 @@ packages:
fs-extra: 7.0.1
lodash.startcase: 4.4.0
outdent: 0.5.0
- prettier: 2.8.7
+ prettier: 2.8.8
resolve-from: 5.0.0
semver: 5.7.1
dev: true
@@ -598,10 +871,10 @@ packages:
'@changesets/types': 5.2.1
fs-extra: 7.0.1
human-id: 1.0.2
- prettier: 2.8.7
+ prettier: 2.8.8
dev: true
- /@coinbase/wallet-sdk@3.6.5(@babel/core@7.21.4):
+ /@coinbase/wallet-sdk@3.6.5(@babel/core@7.22.5):
resolution: {integrity: sha512-8F91dvvC/+CTpaNTr+FgpLMa2YxjpXpE9pdnGewMoYi41ISbiXZado5VjYo9QSZlS+myzfKvDGpTzLFFUXPfDg==}
engines: {node: '>= 10.0.0'}
dependencies:
@@ -611,7 +884,7 @@ packages:
bn.js: 5.2.1
buffer: 6.0.3
clsx: 1.2.1
- eth-block-tracker: 4.4.3(@babel/core@7.21.4)
+ eth-block-tracker: 4.4.3(@babel/core@7.22.5)
eth-json-rpc-filters: 5.1.0
eth-rpc-errors: 4.0.2
json-rpc-engine: 6.1.0
@@ -621,13 +894,41 @@ packages:
rxjs: 6.6.7
sha.js: 2.4.11
stream-browserify: 3.0.0
- util: 0.12.4
+ util: 0.12.5
transitivePeerDependencies:
- '@babel/core'
- bufferutil
- encoding
- supports-color
- utf-8-validate
+ dev: true
+
+ /@coinbase/wallet-sdk@3.6.6:
+ resolution: {integrity: sha512-vX+epj/Ttjo7XRwlr3TFUUfW5GTRMvORpERPwiu7z2jl3DSVL4rXLmHt5y6LDPlUVreas2gumdcFbu0fLRG9Jg==}
+ engines: {node: '>= 10.0.0'}
+ dependencies:
+ '@metamask/safe-event-emitter': 2.0.0
+ '@solana/web3.js': 1.75.0
+ bind-decorator: 1.0.11
+ bn.js: 5.2.1
+ buffer: 6.0.3
+ clsx: 1.2.1
+ eth-block-tracker: 6.1.0
+ eth-json-rpc-filters: 5.1.0
+ eth-rpc-errors: 4.0.2
+ json-rpc-engine: 6.1.0
+ keccak: 3.0.3
+ preact: 10.13.2
+ qs: 6.11.1
+ rxjs: 6.6.7
+ sha.js: 2.4.11
+ stream-browserify: 3.0.0
+ util: 0.12.5
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
/@cspotcode/source-map-support@0.8.1:
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
@@ -685,15 +986,6 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm@0.15.18:
- resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/android-arm@0.17.16:
resolution: {integrity: sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==}
engines: {node: '>=12'}
@@ -784,15 +1076,6 @@ packages:
dev: true
optional: true
- /@esbuild/linux-loong64@0.15.18:
- resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/@esbuild/linux-loong64@0.17.16:
resolution: {integrity: sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==}
engines: {node: '>=12'}
@@ -901,6 +1184,43 @@ packages:
dev: true
optional: true
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.36.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.36.0
+ eslint-visitor-keys: 3.4.1
+ dev: true
+
+ /@eslint-community/regexpp@4.5.1:
+ resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
+
+ /@eslint/eslintrc@2.0.3:
+ resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4(supports-color@5.5.0)
+ espree: 9.5.2
+ globals: 13.20.0
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@eslint/js@8.36.0:
+ resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
/@ethersproject/abi@5.7.0:
resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==}
dependencies:
@@ -1186,6 +1506,48 @@ packages:
'@ethersproject/properties': 5.7.0
'@ethersproject/strings': 5.7.0
+ /@humanwhocodes/config-array@0.11.10:
+ resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 1.2.1
+ debug: 4.3.4(supports-color@5.5.0)
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+ dev: true
+
+ /@humanwhocodes/object-schema@1.2.1:
+ resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+ dev: true
+
+ /@ianvs/prettier-plugin-sort-imports@3.7.2(prettier@2.8.8):
+ resolution: {integrity: sha512-bVckKToJM8XV2wTOG1VpeXrSmfAG49esVrikbxeFbY51RJdNke9AdMANJtGuACB59uo+pGlz0wBdWFrRzWyO1A==}
+ peerDependencies:
+ '@vue/compiler-sfc': '>=3.0.0'
+ prettier: 2.x
+ peerDependenciesMeta:
+ '@vue/compiler-sfc':
+ optional: true
+ dependencies:
+ '@babel/core': 7.21.4
+ '@babel/generator': 7.21.4
+ '@babel/parser': 7.21.4
+ '@babel/traverse': 7.21.4
+ '@babel/types': 7.22.5
+ javascript-natural-sort: 0.7.1
+ lodash.clone: 4.5.0
+ lodash.isequal: 4.5.0
+ prettier: 2.8.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@istanbuljs/schema@0.1.3:
resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
engines: {node: '>=8'}
@@ -1257,13 +1619,11 @@ packages:
/@lit-labs/ssr-dom-shim@1.1.0:
resolution: {integrity: sha512-92uQ5ARf7UXYrzaFcAX3T2rTvaS9Z1//ukV+DqjACM4c8s0ZBQd7ayJU5Dh2AFLD/Ayuyz4uMmxQec8q3U4Ong==}
- dev: true
/@lit/reactive-element@1.6.1:
resolution: {integrity: sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==}
dependencies:
'@lit-labs/ssr-dom-shim': 1.1.0
- dev: true
/@manypkg/find-root@1.1.0:
resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
@@ -1288,6 +1648,17 @@ packages:
/@metamask/safe-event-emitter@2.0.0:
resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==}
+ /@metamask/utils@3.6.0:
+ resolution: {integrity: sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@types/debug': 4.1.8
+ debug: 4.3.4(supports-color@5.5.0)
+ semver: 7.3.8
+ superstruct: 1.0.3
+ transitivePeerDependencies:
+ - supports-color
+
/@microsoft/api-extractor-model@7.26.4(@types/node@18.15.11):
resolution: {integrity: sha512-PDCgCzXDo+SLY5bsfl4bS7hxaeEtnXj7XtuzEE+BtALp7B5mK/NrS2kHWU69pohgsRmEALycQdaQPXoyT2i5MQ==}
dependencies:
@@ -1350,8 +1721,8 @@ packages:
tslib: 2.5.0
dev: false
- /@motionone/dom@10.15.5:
- resolution: {integrity: sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA==}
+ /@motionone/dom@10.16.2:
+ resolution: {integrity: sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg==}
dependencies:
'@motionone/animation': 10.15.1
'@motionone/generators': 10.15.1
@@ -1359,7 +1730,6 @@ packages:
'@motionone/utils': 10.15.1
hey-listen: 1.0.8
tslib: 2.5.0
- dev: true
/@motionone/easing@10.15.1:
resolution: {integrity: sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==}
@@ -1377,10 +1747,16 @@ packages:
/@motionone/svelte@10.15.5:
resolution: {integrity: sha512-Xyxtgp7BlVnSBwcoFmXGHUVnpNktzeXsEifu2NJJWc7VGuxutDsBZxNdz80qvpLIC5MeBa1wh7GGegZzTm1msg==}
dependencies:
- '@motionone/dom': 10.15.5
+ '@motionone/dom': 10.16.2
tslib: 2.5.0
dev: true
+ /@motionone/svelte@10.16.2:
+ resolution: {integrity: sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q==}
+ dependencies:
+ '@motionone/dom': 10.16.2
+ tslib: 2.5.0
+
/@motionone/types@10.15.1:
resolution: {integrity: sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==}
@@ -1394,23 +1770,29 @@ packages:
/@motionone/vue@10.15.5:
resolution: {integrity: sha512-cUENrLYAolUacHvCgU+8wF9OgSlVutfWbHMLERI/bElCJ+e2YVQvG/CpGhIM5fYOOJzuvg2T2wHmLLmvJoavEw==}
dependencies:
- '@motionone/dom': 10.15.5
+ '@motionone/dom': 10.16.2
tslib: 2.5.0
dev: true
- /@noble/curves@0.8.3:
- resolution: {integrity: sha512-OqaOf4RWDaCRuBKJLDURrgVxjLmneGsiCXGuzYB5y95YithZMA6w4uk34DHSm0rKMrrYiaeZj48/81EvaAScLQ==}
+ /@motionone/vue@10.16.2:
+ resolution: {integrity: sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw==}
dependencies:
- '@noble/hashes': 1.3.0
+ '@motionone/dom': 10.16.2
+ tslib: 2.5.0
- /@noble/curves@0.9.0:
- resolution: {integrity: sha512-OAdtHMXBp7Chl2lcTn/i7vnFX/q+hhTwDnek5NfYfZsY4LyaUuHCcoq2JlLY3BTFTLT+ZhYZalhF6ejlV7KnJQ==}
+ /@noble/curves@1.0.0:
+ resolution: {integrity: sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==}
dependencies:
'@noble/hashes': 1.3.0
+ dev: false
/@noble/ed25519@1.7.3:
resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==}
+ /@noble/hashes@1.1.2:
+ resolution: {integrity: sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==}
+ dev: false
+
/@noble/hashes@1.3.0:
resolution: {integrity: sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==}
@@ -1528,19 +1910,22 @@ packages:
/@scure/base@1.1.1:
resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==}
+ dev: false
- /@scure/bip32@1.2.0:
- resolution: {integrity: sha512-O+vT/hBVk+ag2i6j2CDemwd1E1MtGt+7O1KzrPNsaNvSsiEK55MyPIxJIMI2PS8Ijj464B2VbQlpRoQXxw1uHg==}
+ /@scure/bip32@1.3.0:
+ resolution: {integrity: sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==}
dependencies:
- '@noble/curves': 0.8.3
+ '@noble/curves': 1.0.0
'@noble/hashes': 1.3.0
'@scure/base': 1.1.1
+ dev: false
/@scure/bip39@1.2.0:
resolution: {integrity: sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==}
dependencies:
'@noble/hashes': 1.3.0
'@scure/base': 1.1.1
+ dev: false
/@solana/buffer-layout@4.0.1:
resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==}
@@ -1751,7 +2136,12 @@ packages:
/@types/connect@3.4.35:
resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==}
dependencies:
- '@types/node': 18.15.11
+ '@types/node': 18.15.13
+
+ /@types/debug@4.1.8:
+ resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==}
+ dependencies:
+ '@types/ms': 0.7.31
/@types/estree@1.0.0:
resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
@@ -1771,11 +2161,18 @@ packages:
resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
dev: true
+ /@types/ms@0.7.31:
+ resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
+
/@types/node@12.20.55:
resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
/@types/node@18.15.11:
resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==}
+ dev: true
+
+ /@types/node@18.15.13:
+ resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==}
/@types/normalize-package-data@2.4.1:
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
@@ -1785,14 +2182,14 @@ packages:
resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
dev: true
- /@types/react-dom@18.0.11:
- resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==}
+ /@types/react-dom@18.2.5:
+ resolution: {integrity: sha512-sRQsOS/sCLnpQhR4DSKGTtWFE3FZjpQa86KPVbhUqdYMRZ9FEFcfAytKhR/vUG2rH1oFbOOej6cuD7MFSobDRQ==}
dependencies:
- '@types/react': 18.0.35
+ '@types/react': 18.2.12
dev: true
- /@types/react@18.0.35:
- resolution: {integrity: sha512-6Laome31HpetaIUGFWl1VQ3mdSImwxtFZ39rh059a1MNnKGqBpC88J6NJ8n/Is3Qx7CefDGLgf/KhN/sYCf7ag==}
+ /@types/react@18.2.12:
+ resolution: {integrity: sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw==}
dependencies:
'@types/prop-types': 15.7.5
'@types/scheduler': 0.16.3
@@ -1809,12 +2206,11 @@ packages:
/@types/trusted-types@2.0.3:
resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==}
- dev: true
/@types/ws@7.4.7:
resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==}
dependencies:
- '@types/node': 18.15.11
+ '@types/node': 18.15.13
/@vitejs/plugin-react@2.1.0(vite@3.1.8):
resolution: {integrity: sha512-am6rPyyU3LzUYne3Gd9oj9c4Rzbq5hQnuGXSMT6Gujq45Il/+bunwq3lrB7wghLkiF45ygMwft37vgJ/NE8IAA==}
@@ -1822,11 +2218,11 @@ packages:
peerDependencies:
vite: ^3.0.0
dependencies:
- '@babel/core': 7.21.4
- '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.4)
- '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.21.4)
- '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.4)
- '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.4)
+ '@babel/core': 7.22.5
+ '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.5)
magic-string: 0.26.7
react-refresh: 0.14.0
vite: 3.1.8
@@ -1834,6 +2230,21 @@ packages:
- supports-color
dev: true
+ /@vitejs/plugin-react@4.0.1(vite@4.3.9):
+ resolution: {integrity: sha512-g25lL98essfeSj43HJ0o4DMp0325XK0ITkxpgChzJU/CyemgyChtlxfnRbjfwxDGCTRxTiXtQAsdebQXKMRSOA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.2.0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.5)
+ react-refresh: 0.14.0
+ vite: 4.3.9(@types/node@18.15.11)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@vitest/coverage-c8@0.31.3(vitest@0.31.3):
resolution: {integrity: sha512-i6z+aFyrv4HLwPw35SGQ4OcSlqfUcxIsarrp3JghrosSE/1prQcE0iOqO9EXEjNz+AVfR4Cvta/6m/Rrof46bQ==}
peerDependencies:
@@ -1895,20 +2306,10 @@ packages:
optional: true
dependencies:
typescript: 4.9.4
-
- /@wagmi/chains@0.2.16(typescript@4.9.3):
- resolution: {integrity: sha512-rkWaI2PxCnbD8G07ZZff5QXftnSkYL0h5f4DkHCG3fGYYr/ZDvmCL4bMae7j7A9sAif1csPPBmbCzHp3R5ogCQ==}
- peerDependencies:
- typescript: '>=4.9.4'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- typescript: 4.9.3
dev: true
- /@wagmi/chains@0.2.16(typescript@4.9.4):
- resolution: {integrity: sha512-rkWaI2PxCnbD8G07ZZff5QXftnSkYL0h5f4DkHCG3fGYYr/ZDvmCL4bMae7j7A9sAif1csPPBmbCzHp3R5ogCQ==}
+ /@wagmi/chains@0.2.17(typescript@4.9.4):
+ resolution: {integrity: sha512-Boh60XnwsI6dOZ5ACo2aHig7JNpNoU9M5KrMgwzNKonce9LKs/H3/GmCJNP5L9JNfnLih6u76OWN/aJWURlB2w==}
peerDependencies:
typescript: '>=4.9.4'
peerDependenciesMeta:
@@ -1916,18 +2317,18 @@ packages:
optional: true
dependencies:
typescript: 4.9.4
- dev: false
+ dev: true
- /@wagmi/chains@0.2.17(typescript@4.9.4):
- resolution: {integrity: sha512-Boh60XnwsI6dOZ5ACo2aHig7JNpNoU9M5KrMgwzNKonce9LKs/H3/GmCJNP5L9JNfnLih6u76OWN/aJWURlB2w==}
+ /@wagmi/chains@1.1.0(typescript@5.1.3):
+ resolution: {integrity: sha512-pWZlxBk0Ql8E7DV8DwqlbBpOyUdaG9UDlQPBxJNALuEK1I0tbQ3AVvSDnlsEIt06UPmPo5o27gzs3hwPQ/A+UA==}
peerDependencies:
- typescript: '>=4.9.4'
+ typescript: '>=5.0.4'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- typescript: 4.9.4
- dev: true
+ typescript: 5.1.3
+ dev: false
/@wagmi/cli@0.1.15(@wagmi/core@0.10.9)(typescript@4.9.4)(wagmi@0.12.0):
resolution: {integrity: sha512-fZkYfGJEqFydS753dkEXR6D6ag1ErLz8V2ZLPjpMC3/+0D7euwZKdVoQAeyALkQuJyXUbAgG9VeHLy1r5TZZOA==}
@@ -1946,7 +2347,7 @@ packages:
optional: true
dependencies:
'@wagmi/chains': 0.2.17(typescript@4.9.4)
- '@wagmi/core': 0.10.9(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
+ '@wagmi/core': 0.10.9(@babel/core@7.22.5)(@types/node@18.15.11)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
abitype: 0.3.0(typescript@4.9.4)(zod@3.21.4)
abort-controller: 3.0.0
bundle-require: 3.1.2(esbuild@0.15.13)
@@ -1966,17 +2367,17 @@ packages:
ora: 6.3.0
pathe: 1.1.0
picocolors: 1.0.0
- prettier: 2.8.7
+ prettier: 2.8.8
typescript: 4.9.4
viem: 0.1.26(typescript@4.9.4)(zod@3.21.4)
- wagmi: 0.12.0(@babel/core@7.21.4)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.4)
+ wagmi: 0.12.0(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
zod: 3.21.4
transitivePeerDependencies:
- bufferutil
- utf-8-validate
dev: true
- /@wagmi/connectors@0.3.12(@babel/core@7.21.4)(@types/node@18.15.11)(@wagmi/core@0.10.9)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4):
+ /@wagmi/connectors@0.3.12(@babel/core@7.22.5)(@types/node@18.15.11)(@wagmi/core@0.10.9)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4):
resolution: {integrity: sha512-Ui8wyAMI3V8pnDlmTVSug7S53sTSNkgFuGrxFoKxQrTQJIC+AvD7CbeiYKcbFxrIrv9c/sTK5ySL4IBe+KjFUQ==}
peerDependencies:
'@wagmi/core': '>=0.9.x'
@@ -1988,11 +2389,11 @@ packages:
typescript:
optional: true
dependencies:
- '@coinbase/wallet-sdk': 3.6.5(@babel/core@7.21.4)
+ '@coinbase/wallet-sdk': 3.6.5(@babel/core@7.22.5)
'@ledgerhq/connect-kit-loader': 1.0.2
'@safe-global/safe-apps-provider': 0.15.2
'@safe-global/safe-apps-sdk': 7.10.1
- '@wagmi/core': 0.10.9(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
+ '@wagmi/core': 0.10.9(@babel/core@7.22.5)(@types/node@18.15.11)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
'@walletconnect/ethereum-provider': 2.6.2(@types/node@18.15.11)(@web3modal/standalone@2.3.0)(typescript@4.9.4)
'@walletconnect/legacy-provider': 2.0.0
'@web3modal/standalone': 2.3.0(react@18.2.0)
@@ -2016,7 +2417,7 @@ packages:
- zod
dev: true
- /@wagmi/connectors@0.3.2(@babel/core@7.21.4)(@wagmi/core@0.10.0)(ethers@5.7.2)(typescript@4.9.4):
+ /@wagmi/connectors@0.3.2(@wagmi/core@0.10.0)(ethers@5.7.2)(typescript@4.9.4):
resolution: {integrity: sha512-VZ/lmzR/+Zw4xbQvgXscXvifoNJZbMB4E4rQMUvrlCtHMdK3kxb9BC2KMiPTgfsZmEldz72CMmPbrM8C8X1JCA==}
peerDependencies:
'@wagmi/core': '>=0.9.x'
@@ -2028,21 +2429,20 @@ packages:
typescript:
optional: true
dependencies:
- '@coinbase/wallet-sdk': 3.6.5(@babel/core@7.21.4)
+ '@coinbase/wallet-sdk': 3.6.6
'@ledgerhq/connect-kit-loader': 1.0.2
'@safe-global/safe-apps-provider': 0.15.2
'@safe-global/safe-apps-sdk': 7.10.1
- '@wagmi/core': 0.10.0(@babel/core@7.21.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
- '@walletconnect/ethereum-provider': 2.7.0
+ '@wagmi/core': 0.10.0(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
+ '@walletconnect/ethereum-provider': 2.8.0(@walletconnect/modal@2.4.6)
'@walletconnect/legacy-provider': 2.0.0
abitype: 0.3.0(typescript@4.9.4)(zod@3.21.4)
ethers: 5.7.2
eventemitter3: 4.0.7
typescript: 4.9.4
transitivePeerDependencies:
- - '@babel/core'
- '@react-native-async-storage/async-storage'
- - '@web3modal/standalone'
+ - '@walletconnect/modal'
- bufferutil
- debug
- encoding
@@ -2050,8 +2450,45 @@ packages:
- supports-color
- utf-8-validate
- zod
+ dev: true
- /@wagmi/core@0.10.0(@babel/core@7.21.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4):
+ /@wagmi/connectors@2.2.0(@wagmi/chains@1.1.0)(react@18.2.0)(typescript@5.1.3)(viem@1.0.7):
+ resolution: {integrity: sha512-pI1ed2V8dC8Gro0YbXrJedFj5U9HHD/zUe9MMUaV3ews2LY6qziSXZp9Dw6TKyiSJ5ANbRlZcl40AmSPozkZmw==}
+ peerDependencies:
+ '@wagmi/chains': '>=1.0.0'
+ typescript: '>=5.0.4'
+ viem: '>=0.3.35'
+ peerDependenciesMeta:
+ '@wagmi/chains':
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@coinbase/wallet-sdk': 3.6.6
+ '@ledgerhq/connect-kit-loader': 1.0.2
+ '@safe-global/safe-apps-provider': 0.15.2
+ '@safe-global/safe-apps-sdk': 7.10.1
+ '@wagmi/chains': 1.1.0(typescript@5.1.3)
+ '@walletconnect/ethereum-provider': 2.8.0(@walletconnect/modal@2.4.6)
+ '@walletconnect/legacy-provider': 2.0.0
+ '@walletconnect/modal': 2.4.6(react@18.2.0)
+ abitype: 0.8.7(typescript@5.1.3)
+ eventemitter3: 4.0.7
+ typescript: 5.1.3
+ viem: 1.0.7(typescript@5.1.3)
+ transitivePeerDependencies:
+ - '@react-native-async-storage/async-storage'
+ - bufferutil
+ - debug
+ - encoding
+ - lokijs
+ - react
+ - supports-color
+ - utf-8-validate
+ - zod
+ dev: false
+
+ /@wagmi/core@0.10.0(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4):
resolution: {integrity: sha512-biDjKhN9H/hEsbdWfIXovV90nHdwnO3urUTlZVX8fsntg8d9TFQFxhjRCgspHfXcznfRGbUHVslPyQoup1wvrg==}
peerDependencies:
ethers: '>=5.5.1 <6'
@@ -2061,16 +2498,15 @@ packages:
optional: true
dependencies:
'@wagmi/chains': 0.2.10(typescript@4.9.4)
- '@wagmi/connectors': 0.3.2(@babel/core@7.21.4)(@wagmi/core@0.10.0)(ethers@5.7.2)(typescript@4.9.4)
+ '@wagmi/connectors': 0.3.2(@wagmi/core@0.10.0)(ethers@5.7.2)(typescript@4.9.4)
abitype: 0.3.0(typescript@4.9.4)(zod@3.21.4)
ethers: 5.7.2
eventemitter3: 4.0.7
typescript: 4.9.4
zustand: 4.3.7(react@18.2.0)
transitivePeerDependencies:
- - '@babel/core'
- '@react-native-async-storage/async-storage'
- - '@web3modal/standalone'
+ - '@walletconnect/modal'
- bufferutil
- debug
- encoding
@@ -2080,8 +2516,9 @@ packages:
- supports-color
- utf-8-validate
- zod
+ dev: true
- /@wagmi/core@0.10.9(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4):
+ /@wagmi/core@0.10.9(@babel/core@7.22.5)(@types/node@18.15.11)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4):
resolution: {integrity: sha512-/t7gcF6BvWiIBYdZ6RFiq/5cdMj+ljCTFlMgOEojl1BCe0OsbhrTKzbgTrJ6ol82vJI5uwcOAqEPD5ObN09oVg==}
peerDependencies:
ethers: '>=5.5.1 <6'
@@ -2091,7 +2528,7 @@ packages:
optional: true
dependencies:
'@wagmi/chains': 0.2.17(typescript@4.9.4)
- '@wagmi/connectors': 0.3.12(@babel/core@7.21.4)(@types/node@18.15.11)(@wagmi/core@0.10.9)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
+ '@wagmi/connectors': 0.3.12(@babel/core@7.22.5)(@types/node@18.15.11)(@wagmi/core@0.10.9)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
abitype: 0.3.0(typescript@4.9.4)(zod@3.21.4)
ethers: 5.7.2
eventemitter3: 4.0.7
@@ -2114,12 +2551,41 @@ packages:
- zod
dev: true
+ /@wagmi/core@1.2.0(react@18.2.0)(typescript@5.1.3)(viem@1.0.7):
+ resolution: {integrity: sha512-7onf13u0atdXOnoitB+pivnIUPJman7Y8GITKkxwmcwJ3lpE1U/grYE7xHcKN7av7KEu0DozvKPhN7nJ/7OErw==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ viem: '>=0.3.35'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@wagmi/chains': 1.1.0(typescript@5.1.3)
+ '@wagmi/connectors': 2.2.0(@wagmi/chains@1.1.0)(react@18.2.0)(typescript@5.1.3)(viem@1.0.7)
+ abitype: 0.8.7(typescript@5.1.3)
+ eventemitter3: 4.0.7
+ typescript: 5.1.3
+ viem: 1.0.7(typescript@5.1.3)
+ zustand: 4.3.7(react@18.2.0)
+ transitivePeerDependencies:
+ - '@react-native-async-storage/async-storage'
+ - bufferutil
+ - debug
+ - encoding
+ - immer
+ - lokijs
+ - react
+ - supports-color
+ - utf-8-validate
+ - zod
+ dev: false
+
/@walletconnect/core@2.6.2(@types/node@18.15.11)(typescript@4.9.4):
resolution: {integrity: sha512-uTla1Dyhr9ye1SbyubyxpUlW7r4oVf47EgIMEntbmMK6+xFpeiF7w5hNebIwp9g/dW81QQklwp3c0slwkTahdg==}
dependencies:
'@walletconnect/heartbeat': 1.2.0(@types/node@18.15.11)(typescript@4.9.4)
- '@walletconnect/jsonrpc-provider': 1.0.12
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-provider': 1.0.13
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/jsonrpc-ws-connection': 1.0.11
'@walletconnect/keyvaluestorage': 1.0.2
'@walletconnect/logger': 2.0.1
@@ -2144,12 +2610,13 @@ packages:
- utf-8-validate
dev: true
- /@walletconnect/core@2.7.0:
- resolution: {integrity: sha512-xUeFPpElybgn1a+lknqtHleei4VyuV/4qWgB1nP8qQUAO6a5pNsioODrnB2VAPdUHJYBdx2dCt2maRk6g53IPQ==}
+ /@walletconnect/core@2.8.0:
+ resolution: {integrity: sha512-pl7x4sq1nuU0ixA9wF2ecjDecUzIauKr7ZwC29rs9qTcmDpxgJbbOdZwaSl+dJlf1bHC87adVLf5KAkwwo9PzQ==}
dependencies:
'@walletconnect/heartbeat': 1.2.1
- '@walletconnect/jsonrpc-provider': 1.0.12
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-provider': 1.0.13
+ '@walletconnect/jsonrpc-types': 1.0.3
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/jsonrpc-ws-connection': 1.0.11
'@walletconnect/keyvaluestorage': 1.0.2
'@walletconnect/logger': 2.0.1
@@ -2157,8 +2624,8 @@ packages:
'@walletconnect/relay-auth': 1.0.4
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
- '@walletconnect/types': 2.7.0
- '@walletconnect/utils': 2.7.0
+ '@walletconnect/types': 2.8.0
+ '@walletconnect/utils': 2.8.0
events: 3.3.0
lodash.isequal: 4.5.0
uint8arrays: 3.1.1
@@ -2221,22 +2688,23 @@ packages:
- utf-8-validate
dev: true
- /@walletconnect/ethereum-provider@2.7.0:
- resolution: {integrity: sha512-6TwQ05zi6DP1TP1XNgSvLbmCmLf/sz7kLTfMaVk45YYHNgYTTBlXqkyjUpQZI9lpq+uXLBbHn/jx2OGhOPUP0Q==}
+ /@walletconnect/ethereum-provider@2.8.0(@walletconnect/modal@2.4.6):
+ resolution: {integrity: sha512-nVVJtZUpoeurFjoEPYlrUHkT3YleCpEC9YAMKJyEIB3MZZInttcGxGyi0vwFQ+trCfuX8RrdKUPQ952NvxvCvw==}
peerDependencies:
- '@web3modal/standalone': '>=2'
+ '@walletconnect/modal': '>=2'
peerDependenciesMeta:
- '@web3modal/standalone':
+ '@walletconnect/modal':
optional: true
dependencies:
- '@walletconnect/jsonrpc-http-connection': 1.0.6
- '@walletconnect/jsonrpc-provider': 1.0.12
- '@walletconnect/jsonrpc-types': 1.0.2
- '@walletconnect/jsonrpc-utils': 1.0.7
- '@walletconnect/sign-client': 2.7.0
- '@walletconnect/types': 2.7.0
- '@walletconnect/universal-provider': 2.7.0
- '@walletconnect/utils': 2.7.0
+ '@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.4.6(react@18.2.0)
+ '@walletconnect/sign-client': 2.8.0
+ '@walletconnect/types': 2.8.0
+ '@walletconnect/universal-provider': 2.8.0
+ '@walletconnect/utils': 2.8.0
events: 3.3.0
transitivePeerDependencies:
- '@react-native-async-storage/async-storage'
@@ -2278,7 +2746,18 @@ packages:
/@walletconnect/jsonrpc-http-connection@1.0.6:
resolution: {integrity: sha512-/3zSqDi7JDN06E4qm0NmVYMitngXfh21UWwy8zeJcBeJc+Jcs094EbLsIxtziIIKTCCbT88lWuTjl1ZujxN7cw==}
dependencies:
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/safe-json': 1.0.2
+ cross-fetch: 3.1.5
+ tslib: 1.14.1
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /@walletconnect/jsonrpc-http-connection@1.0.7:
+ resolution: {integrity: sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ==}
+ dependencies:
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/safe-json': 1.0.2
cross-fetch: 3.1.5
tslib: 1.14.1
@@ -2288,7 +2767,15 @@ packages:
/@walletconnect/jsonrpc-provider@1.0.12:
resolution: {integrity: sha512-6uI2y5281gloZSzICOjk+CVC7CVu0MhtMt2Yzpj05lPb0pzm/bK2oZ2ibxwLerPrqpNt/5bIFVRmoOgPw1mHAQ==}
dependencies:
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/safe-json': 1.0.2
+ tslib: 1.14.1
+ dev: true
+
+ /@walletconnect/jsonrpc-provider@1.0.13:
+ resolution: {integrity: sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==}
+ dependencies:
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/safe-json': 1.0.2
tslib: 1.14.1
@@ -2297,18 +2784,33 @@ packages:
dependencies:
keyvaluestorage-interface: 1.0.0
tslib: 1.14.1
+ dev: true
+
+ /@walletconnect/jsonrpc-types@1.0.3:
+ resolution: {integrity: sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==}
+ dependencies:
+ keyvaluestorage-interface: 1.0.0
+ tslib: 1.14.1
/@walletconnect/jsonrpc-utils@1.0.7:
resolution: {integrity: sha512-zJziApzUF/Il4VcwabnaU+0yo1QI4eUkYX99zmCVTHJvZOf2l0zjADf/OpKqWyeNFC3Io56Z/8uJHVtcNVvyFA==}
dependencies:
'@walletconnect/environment': 1.0.1
- '@walletconnect/jsonrpc-types': 1.0.2
+ '@walletconnect/jsonrpc-types': 1.0.3
+ tslib: 1.14.1
+ dev: true
+
+ /@walletconnect/jsonrpc-utils@1.0.8:
+ resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==}
+ dependencies:
+ '@walletconnect/environment': 1.0.1
+ '@walletconnect/jsonrpc-types': 1.0.3
tslib: 1.14.1
/@walletconnect/jsonrpc-ws-connection@1.0.11:
resolution: {integrity: sha512-TiFJ6saasKXD+PwGkm5ZGSw0837nc6EeFmurSPgIT/NofnOV4Tv7CVJqGQN0rQYoJUSYu21cwHNYaFkzNpUN+w==}
dependencies:
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/safe-json': 1.0.2
events: 3.3.0
tslib: 1.14.1
@@ -2336,7 +2838,7 @@ packages:
dependencies:
'@walletconnect/crypto': 1.0.3
'@walletconnect/encoding': 1.0.2
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/legacy-types': 2.0.0
'@walletconnect/legacy-utils': 2.0.0
'@walletconnect/safe-json': 1.0.2
@@ -2352,13 +2854,13 @@ packages:
'@walletconnect/legacy-utils': 2.0.0
copy-to-clipboard: 3.3.3
preact: 10.13.2
- qrcode: 1.5.1
+ qrcode: 1.5.3
/@walletconnect/legacy-provider@2.0.0:
resolution: {integrity: sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ==}
dependencies:
- '@walletconnect/jsonrpc-http-connection': 1.0.6
- '@walletconnect/jsonrpc-provider': 1.0.12
+ '@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
@@ -2369,13 +2871,13 @@ packages:
/@walletconnect/legacy-types@2.0.0:
resolution: {integrity: sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw==}
dependencies:
- '@walletconnect/jsonrpc-types': 1.0.2
+ '@walletconnect/jsonrpc-types': 1.0.3
/@walletconnect/legacy-utils@2.0.0:
resolution: {integrity: sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ==}
dependencies:
'@walletconnect/encoding': 1.0.2
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/legacy-types': 2.0.0
'@walletconnect/safe-json': 1.0.2
'@walletconnect/window-getters': 1.0.1
@@ -2389,6 +2891,14 @@ packages:
pino: 7.11.0
tslib: 1.14.1
+ /@walletconnect/modal@2.4.6(react@18.2.0):
+ resolution: {integrity: sha512-ZPNsLKc0tv6ny+wj1rQ62yykUzWUW6sQDlvEnTHRkUzDP2WIOzvhpWJIf3xpWRCgnEDBUL7cc3Jih1mqcGtVoQ==}
+ dependencies:
+ '@web3modal/core': 2.4.6(react@18.2.0)
+ '@web3modal/ui': 2.4.6(react@18.2.0)
+ transitivePeerDependencies:
+ - react
+
/@walletconnect/randombytes@1.0.3:
resolution: {integrity: sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==}
dependencies:
@@ -2400,7 +2910,7 @@ packages:
/@walletconnect/relay-api@1.0.9:
resolution: {integrity: sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==}
dependencies:
- '@walletconnect/jsonrpc-types': 1.0.2
+ '@walletconnect/jsonrpc-types': 1.0.3
tslib: 1.14.1
/@walletconnect/relay-auth@1.0.4:
@@ -2424,7 +2934,7 @@ packages:
'@walletconnect/core': 2.6.2(@types/node@18.15.11)(typescript@4.9.4)
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.1
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 2.0.1
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.6.2(@types/node@18.15.11)(typescript@4.9.4)
@@ -2442,17 +2952,17 @@ packages:
- utf-8-validate
dev: true
- /@walletconnect/sign-client@2.7.0:
- resolution: {integrity: sha512-K99xa6GSFS04U+140yrIEi/VJJJ0Q1ov4jCaiqa9euILDKxlBsM7m5GR+9sq6oYyj18SluJY4CJTdeOXUJlarA==}
+ /@walletconnect/sign-client@2.8.0:
+ resolution: {integrity: sha512-+l9qwvVeUGk0fBQsgx6yb6hdGYt8uQ3a9jR9GgsJvm8FjFh1oUzTKqFnG7XdhCBnzFnbSoLr41Xe8PbN8qoUSw==}
dependencies:
- '@walletconnect/core': 2.7.0
+ '@walletconnect/core': 2.8.0
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.1
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 2.0.1
'@walletconnect/time': 1.0.2
- '@walletconnect/types': 2.7.0
- '@walletconnect/utils': 2.7.0
+ '@walletconnect/types': 2.8.0
+ '@walletconnect/utils': 2.8.0
events: 3.3.0
transitivePeerDependencies:
- '@react-native-async-storage/async-storage'
@@ -2470,7 +2980,7 @@ packages:
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.0(@types/node@18.15.11)(typescript@4.9.4)
- '@walletconnect/jsonrpc-types': 1.0.2
+ '@walletconnect/jsonrpc-types': 1.0.3
'@walletconnect/keyvaluestorage': 1.0.2
'@walletconnect/logger': 2.0.1
events: 3.3.0
@@ -2483,12 +2993,12 @@ packages:
- typescript
dev: true
- /@walletconnect/types@2.7.0:
- resolution: {integrity: sha512-aMUDUtO79WSBtC/bDetE6aFwdgwJr0tJ8nC8gnAl5ELsrjygEKCn6M8Q+v6nP9svG9yf5Rds4cImxCT6BWwTyw==}
+ /@walletconnect/types@2.8.0:
+ resolution: {integrity: sha512-FMeGK3lGXFDwcs5duoN74xL1aLrkgYqnavWE0DnFPt2i1QmSUITU9c8f88EDh8uPXANd2WIYOItm0DVCNxLGGA==}
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.1
- '@walletconnect/jsonrpc-types': 1.0.2
+ '@walletconnect/jsonrpc-types': 1.0.3
'@walletconnect/keyvaluestorage': 1.0.2
'@walletconnect/logger': 2.0.1
events: 3.3.0
@@ -2499,10 +3009,10 @@ packages:
/@walletconnect/universal-provider@2.6.2(@types/node@18.15.11)(typescript@4.9.4):
resolution: {integrity: sha512-CT7xFYGhGYYdo1rMCGnCuAueUYSVirqs6Tk9/ZoK/wf3vBNefTBxStW0Twgr+Fr5mgeOh4k4NWjPJIwfGTc/Fg==}
dependencies:
- '@walletconnect/jsonrpc-http-connection': 1.0.6
- '@walletconnect/jsonrpc-provider': 1.0.12
- '@walletconnect/jsonrpc-types': 1.0.2
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@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/logger': 2.0.1
'@walletconnect/sign-client': 2.6.2(@types/node@18.15.11)(typescript@4.9.4)
'@walletconnect/types': 2.6.2(@types/node@18.15.11)(typescript@4.9.4)
@@ -2523,17 +3033,17 @@ packages:
- utf-8-validate
dev: true
- /@walletconnect/universal-provider@2.7.0:
- resolution: {integrity: sha512-aAIudO3ZlKD16X36VnXChpxBB6/JLK1SCJBfidk7E0GE2S4xr1xW5jXGSGS4Z+wIkNZXK0n7ULSK3PZ7mPBdog==}
+ /@walletconnect/universal-provider@2.8.0:
+ resolution: {integrity: sha512-BMsGiINI3rT7DRyDJM7miuWG6vDVE0PV6zMcCXIMDYYPay7zFvJxv2VHEx9an4MutrvQR76NTRyG//i1K84VOQ==}
dependencies:
- '@walletconnect/jsonrpc-http-connection': 1.0.6
- '@walletconnect/jsonrpc-provider': 1.0.12
- '@walletconnect/jsonrpc-types': 1.0.2
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@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/logger': 2.0.1
- '@walletconnect/sign-client': 2.7.0
- '@walletconnect/types': 2.7.0
- '@walletconnect/utils': 2.7.0
+ '@walletconnect/sign-client': 2.8.0
+ '@walletconnect/types': 2.8.0
+ '@walletconnect/utils': 2.8.0
eip1193-provider: 1.0.1
events: 3.3.0
transitivePeerDependencies:
@@ -2552,7 +3062,7 @@ packages:
'@stablelib/random': 1.0.2
'@stablelib/sha256': 1.0.1
'@stablelib/x25519': 1.0.3
- '@walletconnect/jsonrpc-utils': 1.0.7
+ '@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/relay-api': 1.0.9
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
@@ -2571,23 +3081,22 @@ packages:
- typescript
dev: true
- /@walletconnect/utils@2.7.0:
- resolution: {integrity: sha512-k32jrQeyJsNZPdmtmg85Y3QgaS5YfzYSPrAxRC2uUD1ts7rrI6P5GG2iXNs3AvWKOuCgsp/PqU8s7AC7CRUscw==}
+ /@walletconnect/utils@2.8.0:
+ resolution: {integrity: sha512-Q8OwMtUevIn1+64LXyTMLlhH58k3UOAjU5b3smYZ7CEEmwEGpOTfTDAWrB3v+ZDIhjyqP94+8fuvKIbcVLKLWA==}
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/jsonrpc-utils': 1.0.7
'@walletconnect/relay-api': 1.0.9
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
- '@walletconnect/types': 2.7.0
+ '@walletconnect/types': 2.8.0
'@walletconnect/window-getters': 1.0.1
'@walletconnect/window-metadata': 1.0.1
detect-browser: 5.3.0
- query-string: 7.1.1
+ query-string: 7.1.3
uint8arrays: 3.1.1
transitivePeerDependencies:
- '@react-native-async-storage/async-storage'
@@ -2613,6 +3122,14 @@ packages:
- react
dev: true
+ /@web3modal/core@2.4.6(react@18.2.0):
+ resolution: {integrity: sha512-QD9cp3+Ne8hSqDpJ8OrdtEszuOglSd8JOfuvQcSvKeJnnfVOMGwCK3l3N98sCreyRhxrtRtOD0G2nHMemlzmpw==}
+ dependencies:
+ buffer: 6.0.3
+ valtio: 1.10.5(react@18.2.0)
+ transitivePeerDependencies:
+ - react
+
/@web3modal/standalone@2.3.0(react@18.2.0):
resolution: {integrity: sha512-O2vfsT83r2UlEYCFEKcIRQLt7XmsAUapazb1rjYr6PWN1hU4FVksWiUwG9UGNoU8lznvaiFiCUNmjje1+4NHgQ==}
dependencies:
@@ -2631,7 +3148,17 @@ packages:
qrcode: 1.5.1
transitivePeerDependencies:
- react
- dev: true
+ dev: true
+
+ /@web3modal/ui@2.4.6(react@18.2.0):
+ resolution: {integrity: sha512-kJ4DVM10OdU1d6brSeLSc4+LGlvps4tMF17EzUlJUM80i3rESmBcWkITU1YnpeLf+dzilyWEkHzzKB8vMGeZ1w==}
+ dependencies:
+ '@web3modal/core': 2.4.6(react@18.2.0)
+ lit: 2.7.5
+ motion: 10.16.2
+ qrcode: 1.5.3
+ transitivePeerDependencies:
+ - react
/JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
@@ -2652,6 +3179,7 @@ packages:
dependencies:
typescript: 4.9.4
zod: 3.21.4
+ dev: true
/abitype@0.7.1(typescript@4.9.4)(zod@3.21.4):
resolution: {integrity: sha512-VBkRHTDZf9Myaek/dO3yMmOzB/y2s3Zo6nVU7yaw1G+TvCHAjwaJzNGN9yo4K5D8bU/VZXKP1EJpRhFr862PlQ==}
@@ -2664,6 +3192,19 @@ packages:
dependencies:
typescript: 4.9.4
zod: 3.21.4
+ dev: true
+
+ /abitype@0.8.7(typescript@5.1.3):
+ resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ zod: ^3 >=3.19.1
+ peerDependenciesMeta:
+ zod:
+ optional: true
+ dependencies:
+ typescript: 5.1.3
+ dev: false
/abort-controller@3.0.0:
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
@@ -2672,6 +3213,14 @@ packages:
event-target-shim: 5.0.1
dev: true
+ /acorn-jsx@5.3.2(acorn@8.8.2):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.8.2
+ dev: true
+
/acorn-walk@8.2.0:
resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
engines: {node: '>=0.4.0'}
@@ -2689,11 +3238,15 @@ packages:
/aes-js@3.1.2:
resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==}
+ /aes-js@4.0.0-beta.5:
+ resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==}
+ dev: false
+
/agentkeepalive@4.3.0:
resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==}
engines: {node: '>= 8.0.0'}
dependencies:
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
depd: 2.0.0
humanize-ms: 1.2.1
transitivePeerDependencies:
@@ -2817,46 +3370,49 @@ packages:
transitivePeerDependencies:
- debug
- /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4):
+ /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.22.5):
resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/compat-data': 7.21.4
- '@babel/core': 7.21.4
- '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4)
+ '@babel/compat-data': 7.22.5
+ '@babel/core': 7.22.5
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.5)
semver: 6.3.0
transitivePeerDependencies:
- supports-color
+ dev: true
- /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.4):
+ /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.22.5):
resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.4
- '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4)
+ '@babel/core': 7.22.5
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.5)
core-js-compat: 3.30.1
transitivePeerDependencies:
- supports-color
+ dev: true
- /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.4):
+ /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.22.5):
resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.4
- '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4)
+ '@babel/core': 7.22.5
+ '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.5)
transitivePeerDependencies:
- supports-color
+ dev: true
/babel-plugin-styled-components@2.1.1(styled-components@5.3.9):
resolution: {integrity: sha512-c8lJlszObVQPguHkI+akXv8+Jgb9Ccujx0EetL7oIvwU100LxO6XAGe45qry37wUL40a5U9f23SYrivro2XKhA==}
peerDependencies:
styled-components: '>= 2'
dependencies:
- '@babel/helper-annotate-as-pure': 7.18.6
- '@babel/helper-module-imports': 7.21.4
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.22.5
babel-plugin-syntax-jsx: 6.18.0
lodash: 4.17.21
picomatch: 2.3.1
@@ -2976,6 +3532,7 @@ packages:
electron-to-chromium: 1.4.363
node-releases: 2.0.10
update-browserslist-db: 1.0.10(browserslist@4.21.5)
+ dev: true
/bs58@4.0.1:
resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==}
@@ -3035,6 +3592,11 @@ packages:
function-bind: 1.1.1
get-intrinsic: 1.2.0
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
/camel-case@4.1.2:
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
dependencies:
@@ -3066,6 +3628,7 @@ packages:
/caniuse-lite@1.0.30001478:
resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==}
+ dev: true
/capital-case@1.0.4:
resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
@@ -3253,27 +3816,27 @@ packages:
well-known-symbols: 2.0.0
dev: true
- /connectkit@1.2.2(ethers@5.7.2)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(wagmi@0.12.0):
- resolution: {integrity: sha512-iI8UE18oE0qVVzHWMLTyV+aee8F9HBLN6COxZogE3O3yOASeH55oREKOeKy0pQ/HkIirQii3jGL3K0JQeWcngA==}
+ /connectkit@1.4.0(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(viem@1.0.7)(wagmi@1.2.0):
+ resolution: {integrity: sha512-gRfcb/7BDX4uKc3qghjVlV5rd3jfkivqSsUG5vywZYy4nSHE4q4NeHsgJTTC8WnNTWxfOz02oP8J2dCaeCHLNw==}
engines: {node: '>=12.4'}
peerDependencies:
- ethers: '>=5.5.0 <6'
react: 17.x || 18.x
react-dom: 17.x || 18.x
- wagmi: 0.12.x
+ viem: ~0.3.19
+ wagmi: ^1.0.0
dependencies:
buffer: 6.0.3
detect-browser: 5.3.0
- ethers: 5.7.2
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
- qrcode: 1.5.1
+ qrcode: 1.5.3
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-transition-state: 1.1.5(react-dom@18.2.0)(react@18.2.0)
react-use-measure: 2.1.1(react-dom@18.2.0)(react@18.2.0)
resize-observer-polyfill: 1.5.1
styled-components: 5.3.9(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)
- wagmi: 0.12.0(@babel/core@7.21.4)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.4)
+ viem: 1.0.7(typescript@5.1.3)
+ wagmi: 1.2.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.3)(viem@1.0.7)
transitivePeerDependencies:
- react-is
dev: false
@@ -3288,6 +3851,7 @@ packages:
/convert-source-map@1.9.0:
resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ dev: true
/copy-to-clipboard@3.3.3:
resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
@@ -3298,6 +3862,7 @@ packages:
resolution: {integrity: sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==}
dependencies:
browserslist: 4.21.5
+ dev: true
/create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
@@ -3405,6 +3970,7 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 8.1.1
+ dev: true
/decamelize-keys@1.1.1:
resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
@@ -3438,6 +4004,10 @@ packages:
type-detect: 4.0.8
dev: true
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ dev: true
+
/defaults@1.0.4:
resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
dependencies:
@@ -3495,6 +4065,13 @@ packages:
path-type: 4.0.0
dev: true
+ /doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
/dot-case@3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
dependencies:
@@ -3531,6 +4108,7 @@ packages:
/electron-to-chromium@1.4.363:
resolution: {integrity: sha512-ReX5qgmSU7ybhzMuMdlJAdYnRhT90UB3k9M05O5nF5WH3wR5wgdJjXw0uDeFyKNhmglmQiOxkAbzrP0hMKM59g==}
+ dev: true
/elliptic@6.5.4:
resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==}
@@ -3648,15 +4226,6 @@ packages:
dev: true
optional: true
- /esbuild-android-64@0.15.18:
- resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-android-arm64@0.15.13:
resolution: {integrity: sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==}
engines: {node: '>=12'}
@@ -3666,15 +4235,6 @@ packages:
dev: true
optional: true
- /esbuild-android-arm64@0.15.18:
- resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-darwin-64@0.15.13:
resolution: {integrity: sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==}
engines: {node: '>=12'}
@@ -3684,15 +4244,6 @@ packages:
dev: true
optional: true
- /esbuild-darwin-64@0.15.18:
- resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-darwin-arm64@0.15.13:
resolution: {integrity: sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==}
engines: {node: '>=12'}
@@ -3702,15 +4253,6 @@ packages:
dev: true
optional: true
- /esbuild-darwin-arm64@0.15.18:
- resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-freebsd-64@0.15.13:
resolution: {integrity: sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==}
engines: {node: '>=12'}
@@ -3720,15 +4262,6 @@ packages:
dev: true
optional: true
- /esbuild-freebsd-64@0.15.18:
- resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-freebsd-arm64@0.15.13:
resolution: {integrity: sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==}
engines: {node: '>=12'}
@@ -3738,15 +4271,6 @@ packages:
dev: true
optional: true
- /esbuild-freebsd-arm64@0.15.18:
- resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-linux-32@0.15.13:
resolution: {integrity: sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==}
engines: {node: '>=12'}
@@ -3756,15 +4280,6 @@ packages:
dev: true
optional: true
- /esbuild-linux-32@0.15.18:
- resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-linux-64@0.15.13:
resolution: {integrity: sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==}
engines: {node: '>=12'}
@@ -3774,15 +4289,6 @@ packages:
dev: true
optional: true
- /esbuild-linux-64@0.15.18:
- resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-linux-arm64@0.15.13:
resolution: {integrity: sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==}
engines: {node: '>=12'}
@@ -3792,15 +4298,6 @@ packages:
dev: true
optional: true
- /esbuild-linux-arm64@0.15.18:
- resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-linux-arm@0.15.13:
resolution: {integrity: sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==}
engines: {node: '>=12'}
@@ -3810,15 +4307,6 @@ packages:
dev: true
optional: true
- /esbuild-linux-arm@0.15.18:
- resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-linux-mips64le@0.15.13:
resolution: {integrity: sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==}
engines: {node: '>=12'}
@@ -3828,15 +4316,6 @@ packages:
dev: true
optional: true
- /esbuild-linux-mips64le@0.15.18:
- resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-linux-ppc64le@0.15.13:
resolution: {integrity: sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==}
engines: {node: '>=12'}
@@ -3846,15 +4325,6 @@ packages:
dev: true
optional: true
- /esbuild-linux-ppc64le@0.15.18:
- resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-linux-riscv64@0.15.13:
resolution: {integrity: sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==}
engines: {node: '>=12'}
@@ -3864,15 +4334,6 @@ packages:
dev: true
optional: true
- /esbuild-linux-riscv64@0.15.18:
- resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-linux-s390x@0.15.13:
resolution: {integrity: sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==}
engines: {node: '>=12'}
@@ -3882,15 +4343,6 @@ packages:
dev: true
optional: true
- /esbuild-linux-s390x@0.15.18:
- resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-netbsd-64@0.15.13:
resolution: {integrity: sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==}
engines: {node: '>=12'}
@@ -3900,15 +4352,6 @@ packages:
dev: true
optional: true
- /esbuild-netbsd-64@0.15.18:
- resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-openbsd-64@0.15.13:
resolution: {integrity: sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==}
engines: {node: '>=12'}
@@ -3918,15 +4361,6 @@ packages:
dev: true
optional: true
- /esbuild-openbsd-64@0.15.18:
- resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-sunos-64@0.15.13:
resolution: {integrity: sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==}
engines: {node: '>=12'}
@@ -3936,15 +4370,6 @@ packages:
dev: true
optional: true
- /esbuild-sunos-64@0.15.18:
- resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-windows-32@0.15.13:
resolution: {integrity: sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==}
engines: {node: '>=12'}
@@ -3954,15 +4379,6 @@ packages:
dev: true
optional: true
- /esbuild-windows-32@0.15.18:
- resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-windows-64@0.15.13:
resolution: {integrity: sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==}
engines: {node: '>=12'}
@@ -3972,15 +4388,6 @@ packages:
dev: true
optional: true
- /esbuild-windows-64@0.15.18:
- resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild-windows-arm64@0.15.13:
resolution: {integrity: sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==}
engines: {node: '>=12'}
@@ -3990,15 +4397,6 @@ packages:
dev: true
optional: true
- /esbuild-windows-arm64@0.15.18:
- resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
/esbuild@0.15.13:
resolution: {integrity: sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==}
engines: {node: '>=12'}
@@ -4029,36 +4427,6 @@ packages:
esbuild-windows-arm64: 0.15.13
dev: true
- /esbuild@0.15.18:
- resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/android-arm': 0.15.18
- '@esbuild/linux-loong64': 0.15.18
- esbuild-android-64: 0.15.18
- esbuild-android-arm64: 0.15.18
- esbuild-darwin-64: 0.15.18
- esbuild-darwin-arm64: 0.15.18
- esbuild-freebsd-64: 0.15.18
- esbuild-freebsd-arm64: 0.15.18
- esbuild-linux-32: 0.15.18
- esbuild-linux-64: 0.15.18
- esbuild-linux-arm: 0.15.18
- esbuild-linux-arm64: 0.15.18
- esbuild-linux-mips64le: 0.15.18
- esbuild-linux-ppc64le: 0.15.18
- esbuild-linux-riscv64: 0.15.18
- esbuild-linux-s390x: 0.15.18
- esbuild-netbsd-64: 0.15.18
- esbuild-openbsd-64: 0.15.18
- esbuild-sunos-64: 0.15.18
- esbuild-windows-32: 0.15.18
- esbuild-windows-64: 0.15.18
- esbuild-windows-arm64: 0.15.18
- dev: true
-
/esbuild@0.17.16:
resolution: {integrity: sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==}
engines: {node: '>=12'}
@@ -4092,6 +4460,7 @@ packages:
/escalade@3.1.1:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
engines: {node: '>=6'}
+ dev: true
/escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
@@ -4102,12 +4471,130 @@ packages:
engines: {node: '>=10'}
dev: true
+ /eslint-config-prettier@8.8.0(eslint@8.36.0):
+ resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==}
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ eslint: 8.36.0
+ dev: true
+
+ /eslint-plugin-unused-imports@2.0.0(eslint@8.36.0):
+ resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^5.0.0
+ eslint: ^8.0.0
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ dependencies:
+ eslint: 8.36.0
+ eslint-rule-composer: 0.3.0
+ dev: true
+
+ /eslint-rule-composer@0.3.0:
+ resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==}
+ engines: {node: '>=4.0.0'}
+ dev: true
+
+ /eslint-scope@7.2.0:
+ resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+ dev: true
+
+ /eslint-visitor-keys@3.4.1:
+ resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /eslint@8.36.0:
+ resolution: {integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.36.0)
+ '@eslint-community/regexpp': 4.5.1
+ '@eslint/eslintrc': 2.0.3
+ '@eslint/js': 8.36.0
+ '@humanwhocodes/config-array': 0.11.10
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4(supports-color@5.5.0)
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.0
+ eslint-visitor-keys: 3.4.1
+ espree: 9.5.2
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.20.0
+ grapheme-splitter: 1.0.4
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-sdsl: 4.4.1
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.1
+ strip-ansi: 6.0.1
+ strip-json-comments: 3.1.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /espree@9.5.2:
+ resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.8.2
+ acorn-jsx: 5.3.2(acorn@8.8.2)
+ eslint-visitor-keys: 3.4.1
+ dev: true
+
/esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
hasBin: true
dev: true
+ /esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+ dev: true
+
/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
dev: true
@@ -4117,17 +4604,29 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /eth-block-tracker@4.4.3(@babel/core@7.21.4):
+ /eth-block-tracker@4.4.3(@babel/core@7.22.5):
resolution: {integrity: sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==}
dependencies:
- '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.4)
+ '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.22.5)
'@babel/runtime': 7.21.0
eth-query: 2.1.2
json-rpc-random-id: 1.0.1
pify: 3.0.0
- safe-event-emitter: 1.0.1
+ safe-event-emitter: 1.0.1
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+ dev: true
+
+ /eth-block-tracker@6.1.0:
+ resolution: {integrity: sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@metamask/safe-event-emitter': 2.0.0
+ '@metamask/utils': 3.6.0
+ json-rpc-random-id: 1.0.1
+ pify: 3.0.0
transitivePeerDependencies:
- - '@babel/core'
- supports-color
/eth-json-rpc-filters@5.1.0:
@@ -4188,6 +4687,22 @@ packages:
- bufferutil
- utf-8-validate
+ /ethers@6.6.0:
+ resolution: {integrity: sha512-7D2U+n8eZYmh592VZqap9vBu50jN7YUDHqAmwBYTMntmUKC9RVgcqcFbd+3DTCOQ1jMyK6QHv1usbcfgiGaHOA==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@adraffy/ens-normalize': 1.9.2
+ '@noble/hashes': 1.1.2
+ '@noble/secp256k1': 1.7.1
+ '@types/node': 18.15.13
+ aes-js: 4.0.0-beta.5
+ tslib: 2.4.0
+ ws: 8.5.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ dev: false
+
/event-target-shim@5.0.1:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
@@ -4270,6 +4785,10 @@ packages:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
dev: true
+ /fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ dev: true
+
/fast-redact@3.1.2:
resolution: {integrity: sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==}
engines: {node: '>=6'}
@@ -4294,6 +4813,13 @@ packages:
web-streams-polyfill: 3.2.1
dev: true
+ /file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.0.4
+ dev: true
+
/file-uri-to-path@1.0.0:
resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
@@ -4338,11 +4864,23 @@ packages:
pkg-dir: 4.2.0
dev: true
+ /flat-cache@3.0.4:
+ resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flatted: 3.2.7
+ rimraf: 3.0.2
+ dev: true
+
/flat@5.0.2:
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
hasBin: true
dev: true
+ /flatted@3.2.7:
+ resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+ dev: true
+
/follow-redirects@1.15.2:
resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==}
engines: {node: '>=4.0'}
@@ -4455,6 +4993,7 @@ packages:
/gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
+ dev: true
/get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
@@ -4491,6 +5030,13 @@ packages:
is-glob: 4.0.3
dev: true
+ /glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
/glob@7.2.0:
resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
dependencies:
@@ -4506,6 +5052,13 @@ packages:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
+ /globals@13.20.0:
+ resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
/globalthis@1.0.3:
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
engines: {node: '>= 0.4'}
@@ -4565,6 +5118,7 @@ packages:
/has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
+ dev: true
/has-property-descriptors@1.0.0:
resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
@@ -4676,11 +5230,24 @@ packages:
engines: {node: '>= 4'}
dev: true
+ /import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+
/import-lazy@4.0.0:
resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
engines: {node: '>=8'}
dev: true
+ /imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+ dev: true
+
/indent-string@4.0.0:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
engines: {node: '>=8'}
@@ -4760,6 +5327,7 @@ packages:
resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==}
dependencies:
has: 1.0.3
+ dev: true
/is-date-object@1.0.5:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
@@ -4812,6 +5380,11 @@ packages:
engines: {node: '>=0.12.0'}
dev: true
+ /is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
/is-plain-obj@1.1.0:
resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
engines: {node: '>=0.10.0'}
@@ -4941,6 +5514,10 @@ packages:
istanbul-lib-report: 3.0.0
dev: true
+ /javascript-natural-sort@0.7.1:
+ resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
+ dev: true
+
/jayson@3.7.0:
resolution: {integrity: sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==}
engines: {node: '>=8'}
@@ -4967,6 +5544,10 @@ packages:
resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
dev: true
+ /js-sdsl@4.4.1:
+ resolution: {integrity: sha512-6Gsx8R0RucyePbWqPssR8DyfuXmLBooYN5cZFZKjHGnQuaf7pEzhtpceagJxVu4LqhYY5EYA7nko3FmeHZ1KbA==}
+ dev: true
+
/js-sha3@0.8.0:
resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==}
@@ -5016,6 +5597,10 @@ packages:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
dev: true
+ /json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ dev: true
+
/json-stringify-safe@5.0.1:
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
@@ -5023,6 +5608,7 @@ packages:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
+ dev: true
/jsonc-parser@3.2.0:
resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
@@ -5072,6 +5658,14 @@ packages:
resolution: {integrity: sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==}
dev: true
+ /levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
@@ -5082,13 +5676,11 @@ packages:
'@lit-labs/ssr-dom-shim': 1.1.0
'@lit/reactive-element': 1.6.1
lit-html: 2.7.2
- dev: true
/lit-html@2.7.2:
resolution: {integrity: sha512-ZJCfKlA2XELu5tn7XuzOziGFGvf1SeQm+ngLWoJ8bXtSkRrrR3ms6SWy+gsdxeYwySLij5xAhdd2C3EX0ftxdQ==}
dependencies:
'@types/trusted-types': 2.0.3
- dev: true
/lit@2.7.2:
resolution: {integrity: sha512-9QnZmG5mIKPRja96cpndMclLSi0Qrz2BXD6EbqNqCKMMjOWVm/BwAeXufFk2jqFsNmY07HOzU8X+8aTSVt3yrA==}
@@ -5098,6 +5690,13 @@ packages:
lit-html: 2.7.2
dev: true
+ /lit@2.7.5:
+ resolution: {integrity: sha512-i/cH7Ye6nBDUASMnfwcictBnsTN91+aBjXoTHF2xARghXScKxpD4F4WYI+VLXg9lqbMinDfvoI7VnZXjyHgdfQ==}
+ dependencies:
+ '@lit/reactive-element': 1.6.1
+ lit-element: 3.3.1
+ lit-html: 2.7.2
+
/load-tsconfig@0.2.5:
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -5138,8 +5737,13 @@ packages:
p-locate: 6.0.0
dev: true
+ /lodash.clone@4.5.0:
+ resolution: {integrity: sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==}
+ dev: true
+
/lodash.debounce@4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ dev: true
/lodash.get@4.4.2:
resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
@@ -5148,6 +5752,10 @@ packages:
/lodash.isequal@4.5.0:
resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
+ /lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ dev: true
+
/lodash.startcase@4.4.0:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
dev: true
@@ -5200,13 +5808,13 @@ packages:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
dependencies:
yallist: 3.1.1
+ dev: true
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
dependencies:
yallist: 4.0.0
- dev: true
/magic-string@0.26.7:
resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==}
@@ -5393,13 +6001,23 @@ packages:
resolution: {integrity: sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw==}
dependencies:
'@motionone/animation': 10.15.1
- '@motionone/dom': 10.15.5
+ '@motionone/dom': 10.16.2
'@motionone/svelte': 10.15.5
'@motionone/types': 10.15.1
'@motionone/utils': 10.15.1
'@motionone/vue': 10.15.5
dev: true
+ /motion@10.16.2:
+ resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==}
+ dependencies:
+ '@motionone/animation': 10.15.1
+ '@motionone/dom': 10.16.2
+ '@motionone/svelte': 10.16.2
+ '@motionone/types': 10.15.1
+ '@motionone/utils': 10.15.1
+ '@motionone/vue': 10.16.2
+
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
@@ -5421,6 +6039,10 @@ packages:
hasBin: true
dev: true
+ /natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ dev: true
+
/no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies:
@@ -5473,6 +6095,7 @@ packages:
/node-releases@2.0.10:
resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
+ dev: true
/normalize-package-data@2.5.0:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
@@ -5542,6 +6165,18 @@ packages:
mimic-fn: 4.0.0
dev: true
+ /optionator@0.9.1:
+ resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.3
+ dev: true
+
/ora@6.3.0:
resolution: {integrity: sha512-1/D8uRFY0ay2kgBpmAwmSA404w4OoPVhHMqRqtjvrcK/dnzcEZxMJ+V4DUbyICu8IIVRclHcOf5wlD1tMY4GUQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -5629,11 +6264,18 @@ packages:
tslib: 2.5.0
dev: true
+ /parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+
/parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
dependencies:
- '@babel/code-frame': 7.21.4
+ '@babel/code-frame': 7.22.5
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -5683,6 +6325,7 @@ packages:
/path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ dev: true
/path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
@@ -5699,6 +6342,7 @@ packages:
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ dev: true
/picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@@ -5783,6 +6427,15 @@ packages:
source-map-js: 1.0.2
dev: true
+ /postcss@8.4.24:
+ resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.6
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: true
+
/preact@10.13.2:
resolution: {integrity: sha512-q44QFLhOhty2Bd0Y46fnYW0gD/cbVM9dUVtNTDKPcdXSMA7jfY+Jpd6rk3GB0lcQss0z5s/6CmVP0Z/hV+g6pw==}
@@ -5796,8 +6449,13 @@ packages:
which-pm: 2.0.0
dev: true
- /prettier@2.8.7:
- resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==}
+ /prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ /prettier@2.8.8:
+ resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
engines: {node: '>=10.13.0'}
hasBin: true
dev: true
@@ -5823,6 +6481,9 @@ packages:
resolution: {integrity: sha512-f1us0OsVAJ3tdIMXGQx2lmseYS4YXe4W+sKF5g5ww/jV+5ogMadPt+sIZ+88Ga9kvMJsrRNWzCrKPpr6pMWYbA==}
dev: true
+ /proxy-compare@2.5.1:
+ resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==}
+
/pseudomap@1.0.2:
resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
dev: true
@@ -5841,6 +6502,17 @@ packages:
encode-utf8: 1.0.3
pngjs: 5.0.0
yargs: 15.4.1
+ dev: true
+
+ /qrcode@1.5.3:
+ resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dependencies:
+ dijkstrajs: 1.0.2
+ encode-utf8: 1.0.3
+ pngjs: 5.0.0
+ yargs: 15.4.1
/qs@6.11.1:
resolution: {integrity: sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==}
@@ -5865,6 +6537,16 @@ packages:
filter-obj: 1.1.0
split-on-first: 1.1.0
strict-uri-encode: 2.0.0
+ dev: true
+
+ /query-string@7.1.3:
+ resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
+ 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
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -6015,6 +6697,11 @@ packages:
resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
dev: false
+ /resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+ dev: true
+
/resolve-from@5.0.0:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
@@ -6034,6 +6721,7 @@ packages:
is-core-module: 2.12.0
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
+ dev: true
/restore-cursor@4.0.0:
resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
@@ -6071,6 +6759,14 @@ packages:
fsevents: 2.3.2
dev: true
+ /rollup@3.25.1:
+ resolution: {integrity: sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==}
+ 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:
@@ -6102,6 +6798,7 @@ packages:
deprecated: Renamed to @metamask/safe-event-emitter
dependencies:
events: 3.3.0
+ dev: true
/safe-json-utils@1.1.1:
resolution: {integrity: sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==}
@@ -6138,6 +6835,7 @@ packages:
/semver@6.3.0:
resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
hasBin: true
+ dev: true
/semver@7.3.8:
resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
@@ -6145,7 +6843,6 @@ packages:
hasBin: true
dependencies:
lru-cache: 6.0.0
- dev: true
/sentence-case@3.0.4:
resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
@@ -6443,8 +7140,8 @@ packages:
react-dom: '>= 16.8.0'
react-is: '>= 16.8.0'
dependencies:
- '@babel/helper-module-imports': 7.21.4
- '@babel/traverse': 7.21.4(supports-color@5.5.0)
+ '@babel/helper-module-imports': 7.22.5
+ '@babel/traverse': 7.22.5(supports-color@5.5.0)
'@emotion/is-prop-valid': 1.2.0
'@emotion/stylis': 0.8.5
'@emotion/unitless': 0.7.5
@@ -6461,6 +7158,10 @@ packages:
/superstruct@0.14.2:
resolution: {integrity: sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==}
+ /superstruct@1.0.3:
+ resolution: {integrity: sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==}
+ engines: {node: '>=14.0.0'}
+
/supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -6479,10 +7180,12 @@ packages:
engines: {node: '>=10'}
dependencies:
has-flag: 4.0.0
+ dev: true
/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
+ dev: true
/term-size@2.2.1:
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
@@ -6501,6 +7204,10 @@ packages:
/text-encoding-utf-8@1.0.2:
resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==}
+ /text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ dev: true
+
/thread-stream@0.15.2:
resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==}
dependencies:
@@ -6598,6 +7305,10 @@ packages:
/tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+ /tslib@2.4.0:
+ resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
+ dev: false
+
/tslib@2.5.0:
resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
@@ -6615,6 +7326,13 @@ packages:
yargs: 17.7.1
dev: true
+ /type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ dev: true
+
/type-detect@4.0.8:
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
engines: {node: '>=4'}
@@ -6625,6 +7343,11 @@ packages:
engines: {node: '>=10'}
dev: true
+ /type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+ dev: true
+
/type-fest@0.6.0:
resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
engines: {node: '>=8'}
@@ -6654,15 +7377,15 @@ packages:
hasBin: true
dev: true
- /typescript@4.9.3:
- resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==}
+ /typescript@4.9.4:
+ resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
engines: {node: '>=4.2.0'}
hasBin: true
dev: true
- /typescript@4.9.4:
- resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
- engines: {node: '>=4.2.0'}
+ /typescript@5.1.3:
+ resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==}
+ engines: {node: '>=14.17'}
hasBin: true
/ufo@1.1.2:
@@ -6702,6 +7425,7 @@ packages:
browserslist: 4.21.5
escalade: 3.1.1
picocolors: 1.0.0
+ dev: true
/upper-case-first@2.0.2:
resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
@@ -6738,14 +7462,13 @@ packages:
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- /util@0.12.4:
- resolution: {integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==}
+ /util@0.12.5:
+ resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
dependencies:
inherits: 2.0.4
is-arguments: 1.1.1
is-generator-function: 1.0.10
is-typed-array: 1.1.10
- safe-buffer: 5.2.1
which-typed-array: 1.1.9
/uuid@8.3.2:
@@ -6791,6 +7514,19 @@ packages:
use-sync-external-store: 1.2.0(react@18.2.0)
dev: true
+ /valtio@1.10.5(react@18.2.0):
+ resolution: {integrity: sha512-jTp0k63VXf4r5hPoaC6a6LCG4POkVSh629WLi1+d5PlajLsbynTMd7qAgEiOSPxzoX5iNvbN7iZ/k/g29wrNiQ==}
+ engines: {node: '>=12.20.0'}
+ peerDependencies:
+ react: '>=16.8'
+ peerDependenciesMeta:
+ react:
+ optional: true
+ dependencies:
+ proxy-compare: 2.5.1
+ react: 18.2.0
+ use-sync-external-store: 1.2.0(react@18.2.0)
+
/viem@0.1.26(typescript@4.9.4)(zod@3.21.4):
resolution: {integrity: sha512-6oSGhDtgb64hjhBxOu5TPy9WT5rMww2iFuDASIOAB6kHJQ2NIVJabrnA/BQoBXbv3SJyyX/622enh5YX8MYTYg==}
dependencies:
@@ -6808,40 +7544,23 @@ packages:
- zod
dev: true
- /viem@0.3.1(typescript@4.9.3):
- resolution: {integrity: sha512-snWgwW3ZZzZts0fI4cqweOTzNV6vKTxTpktGxkOz4np31w6b7YUjczHU6SZ5JmWhNPWAw3PTckzj7e1V6DuPJA==}
- dependencies:
- '@adraffy/ens-normalize': 1.9.0
- '@noble/curves': 0.9.0
- '@noble/hashes': 1.3.0
- '@scure/bip32': 1.2.0
- '@scure/bip39': 1.2.0
- '@wagmi/chains': 0.2.16(typescript@4.9.3)
- abitype: 0.7.1(typescript@4.9.4)(zod@3.21.4)
- isomorphic-ws: 5.0.0(ws@8.12.0)
- ws: 8.12.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
- transitivePeerDependencies:
- - bufferutil
- - typescript
- - utf-8-validate
- - zod
- dev: true
-
- /viem@0.3.1(typescript@4.9.4):
- resolution: {integrity: sha512-snWgwW3ZZzZts0fI4cqweOTzNV6vKTxTpktGxkOz4np31w6b7YUjczHU6SZ5JmWhNPWAw3PTckzj7e1V6DuPJA==}
+ /viem@1.0.7(typescript@5.1.3):
+ resolution: {integrity: sha512-P/T2Zn8+V74kxO2e2NdhNR/MBtldovssigvc36+7g3DgTeETKnSS1fMQdBl0jE+Atlal+M6cuJ2HcFY7U45o0Q==}
+ peerDependencies:
+ typescript: '>=5.0.4'
dependencies:
'@adraffy/ens-normalize': 1.9.0
- '@noble/curves': 0.9.0
+ '@noble/curves': 1.0.0
'@noble/hashes': 1.3.0
- '@scure/bip32': 1.2.0
+ '@scure/bip32': 1.3.0
'@scure/bip39': 1.2.0
- '@wagmi/chains': 0.2.16(typescript@4.9.4)
- abitype: 0.7.1(typescript@4.9.4)(zod@3.21.4)
+ '@wagmi/chains': 1.1.0(typescript@5.1.3)
+ abitype: 0.8.7(typescript@5.1.3)
isomorphic-ws: 5.0.0(ws@8.12.0)
+ typescript: 5.1.3
ws: 8.12.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- - typescript
- utf-8-validate
- zod
dev: false
@@ -6852,11 +7571,11 @@ packages:
hasBin: true
dependencies:
cac: 6.7.14
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
mlly: 1.3.0
pathe: 1.1.0
picocolors: 1.0.0
- vite: 4.2.0(@types/node@18.15.11)
+ vite: 4.3.9(@types/node@18.15.11)
transitivePeerDependencies:
- '@types/node'
- less
@@ -6877,7 +7596,7 @@ packages:
'@microsoft/api-extractor': 7.34.4(@types/node@18.15.11)
'@rollup/pluginutils': 5.0.2
'@rushstack/node-core-library': 3.55.2(@types/node@18.15.11)
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.2.12
fs-extra: 10.1.0
kolorist: 1.7.0
@@ -6909,8 +7628,8 @@ packages:
terser:
optional: true
dependencies:
- esbuild: 0.15.18
- postcss: 8.4.21
+ esbuild: 0.15.13
+ postcss: 8.4.24
resolve: 1.22.2
rollup: 2.78.1
optionalDependencies:
@@ -6951,6 +7670,39 @@ packages:
fsevents: 2.3.2
dev: true
+ /vite@4.3.9(@types/node@18.15.11):
+ resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 18.15.11
+ esbuild: 0.17.16
+ postcss: 8.4.24
+ rollup: 3.25.1
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
/vitest@0.31.3:
resolution: {integrity: sha512-LMXIKXfI7tDClf6HIR5GjCSHZQdlmfCWWPaJwWcLF+M11V766Tzefb8LD9mLcHmX/zR0xtlfcokpg3JxEDLfeA==}
engines: {node: '>=v14.18.0'}
@@ -6995,7 +7747,7 @@ packages:
cac: 6.7.14
chai: 4.3.7
concordance: 5.0.4
- debug: 4.3.4(supports-color@8.1.1)
+ debug: 4.3.4(supports-color@5.5.0)
local-pkg: 0.4.3
magic-string: 0.30.0
pathe: 1.1.0
@@ -7016,7 +7768,7 @@ packages:
- terser
dev: true
- /wagmi@0.12.0(@babel/core@7.21.4)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.4):
+ /wagmi@0.12.0(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4):
resolution: {integrity: sha512-NUm1Z/SH+GbCVbLhQe8xPEztz3Rq0F1oxMiDrLuOMZbbydtcm2OI7QsqMDQYqL/1rXTCbniTwzlRe7sV3CeNLQ==}
peerDependencies:
ethers: '>=5.5.1 <6'
@@ -7029,16 +7781,48 @@ packages:
'@tanstack/query-sync-storage-persister': 4.29.1
'@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0)
'@tanstack/react-query-persist-client': 4.29.1(@tanstack/react-query@4.29.1)
- '@wagmi/core': 0.10.0(@babel/core@7.21.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
+ '@wagmi/core': 0.10.0(ethers@5.7.2)(react@18.2.0)(typescript@4.9.4)
abitype: 0.3.0(typescript@4.9.4)(zod@3.21.4)
ethers: 5.7.2
react: 18.2.0
typescript: 4.9.4
use-sync-external-store: 1.2.0(react@18.2.0)
transitivePeerDependencies:
- - '@babel/core'
- '@react-native-async-storage/async-storage'
- - '@web3modal/standalone'
+ - '@walletconnect/modal'
+ - bufferutil
+ - debug
+ - encoding
+ - immer
+ - lokijs
+ - react-dom
+ - react-native
+ - supports-color
+ - utf-8-validate
+ - zod
+ dev: true
+
+ /wagmi@1.2.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.3)(viem@1.0.7):
+ resolution: {integrity: sha512-VSSBEVDMZAWIcWTlewC1XypHsWa1FdkdYXWdgu5pqTCqnW6JKWGsR5TbQY3poCIQoC7B2okisElZT2oVSYbA5Q==}
+ peerDependencies:
+ react: '>=17.0.0'
+ typescript: '>=5.0.4'
+ viem: '>=0.3.35'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@tanstack/query-sync-storage-persister': 4.29.1
+ '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0)
+ '@tanstack/react-query-persist-client': 4.29.1(@tanstack/react-query@4.29.1)
+ '@wagmi/core': 1.2.0(react@18.2.0)(typescript@5.1.3)(viem@1.0.7)
+ abitype: 0.8.7(typescript@5.1.3)
+ react: 18.2.0
+ typescript: 5.1.3
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ viem: 1.0.7(typescript@5.1.3)
+ transitivePeerDependencies:
+ - '@react-native-async-storage/async-storage'
- bufferutil
- debug
- encoding
@@ -7049,6 +7833,7 @@ packages:
- supports-color
- utf-8-validate
- zod
+ dev: false
/wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
@@ -7131,6 +7916,11 @@ packages:
stackback: 0.0.2
dev: true
+ /word-wrap@1.2.3:
+ resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/workerpool@6.2.1:
resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==}
dev: true
@@ -7194,6 +7984,19 @@ packages:
bufferutil: 4.0.7
utf-8-validate: 5.0.10
+ /ws@8.5.0:
+ resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: false
+
/xtend@4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
@@ -7212,10 +8015,10 @@ packages:
/yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ dev: true
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- dev: true
/yargs-parser@18.1.3:
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
@@ -7320,6 +8123,7 @@ packages:
/zod@3.21.4:
resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
+ dev: true
/zustand@4.3.7(react@18.2.0):
resolution: {integrity: sha512-dY8ERwB9Nd21ellgkBZFhudER8KVlelZm8388B5nDAXhO/+FZDhYMuRnqDgu5SYyRgz/iaf8RKnbUs/cHfOGlQ==}