From 54c65e690458e5faf0f70968c1532c84cd3c0234 Mon Sep 17 00:00:00 2001 From: calvinchang Date: Mon, 15 Jan 2024 16:40:12 +0800 Subject: [PATCH 01/11] feat: support wagmi v2 --- adapters/wagmi-connector/package.json | 8 +- adapters/wagmi-connector/src/connector.ts | 351 +++++++++------------- adapters/wagmi-connector/src/index.ts | 2 +- yarn.lock | 75 ++++- 4 files changed, 215 insertions(+), 221 deletions(-) diff --git a/adapters/wagmi-connector/package.json b/adapters/wagmi-connector/package.json index db0745aa..238d29c2 100644 --- a/adapters/wagmi-connector/package.json +++ b/adapters/wagmi-connector/package.json @@ -21,8 +21,8 @@ "typescript": "^5.1.3", "vite": "^4.3.9", "vite-plugin-dts": "^2.3.0", - "@wagmi/core": "^1.3.9", - "viem": "^1.5.4" + "@wagmi/core": "^2.2.0", + "viem": "^2.x" }, "files": [ "/dist" @@ -31,7 +31,7 @@ "@blocto/sdk": "^0.9.1" }, "peerDependencies": { - "@wagmi/core": ">=1", - "viem": ">=1" + "@wagmi/core": "^2.2.0", + "viem": "2.x" } } diff --git a/adapters/wagmi-connector/src/connector.ts b/adapters/wagmi-connector/src/connector.ts index 37722078..bb964ba4 100644 --- a/adapters/wagmi-connector/src/connector.ts +++ b/adapters/wagmi-connector/src/connector.ts @@ -1,25 +1,18 @@ -import { - Connector, - Chain, - ConnectorData, - WalletClient, - ConnectorNotFoundError, -} from '@wagmi/core'; -import { - SwitchChainError, - Address, - createWalletClient, - custom, - numberToHex, -} from 'viem'; import type { - EthereumProviderConfig, + EthereumProviderConfig as BloctoEthereumProviderParameters, EthereumProviderInterface as BloctoProvider, } from '@blocto/sdk'; import BloctoSDK from '@blocto/sdk'; -import { normalizeChainId } from './util/normalizeChainId'; +import { createConnector, normalizeChainId } from '@wagmi/core'; +import { + RpcError, + SwitchChainError, + UserRejectedRequestError, + getAddress, + numberToHex, +} from 'viem'; -type BloctoOptions = { +export type BloctoParameters = { /** * Your app’s unique identifier that can be obtained at https://developers.blocto.app, * To get advanced features and support with Blocto. @@ -29,201 +22,143 @@ type BloctoOptions = { appId?: string; }; -class BloctoConnector extends Connector { - readonly id = 'blocto'; - readonly name = 'Blocto'; - readonly ready = true; - #provider?: BloctoProvider; - #onAccountsChangedBind: typeof this.onAccountsChanged; - #onChainChangedBind: typeof this.onChainChanged; - #onDisconnectBind: typeof this.onDisconnect; - - constructor({ - chains, - options = {}, - }: { - chains?: Chain[]; - options?: BloctoOptions; - }) { - super({ chains, options }); - this.#onAccountsChangedBind = this.onAccountsChanged.bind(this); - this.#onChainChangedBind = this.onChainChanged.bind(this); - this.#onDisconnectBind = this.onDisconnect.bind(this); - } - - getProvider({ chainId }: { chainId?: number } = {}): Promise { - if (!this.#provider) { - const { appId } = this.options; - const _chainId = chainId ?? this.chains[0]?.id; - const config: EthereumProviderConfig = { - chainId: _chainId, - rpc: this.chains.find((x) => x.id === _chainId)?.rpcUrls.default - .http?.[0], - }; - this.#provider = new BloctoSDK({ ethereum: config, appId })?.ethereum; - } - - if (!this.#provider) { - throw new ConnectorNotFoundError(); - } - - return Promise.resolve(this.#provider); - } - - async connect(config?: { - chainId?: number; - }): Promise> { - try { - const provider = await this.getProvider(config); - - this.#setupListeners(); - this.emit('message', { type: 'connecting' }); - - await provider.request({ - method: 'eth_requestAccounts', - }); +blocto.type = 'blocto' as const; +export function blocto({ appId }: BloctoParameters = {}) { + // eslint-disable-next-line @typescript-eslint/ban-types + type Properties = {}; + type StorageItem = { + store: any; + 'wagmi.recentConnectorId': string; + }; + + let walletProvider: BloctoProvider | undefined; + const handleConnectReset = () => { + walletProvider = undefined; + }; + + return createConnector((config) => ({ + id: 'blocto', + name: 'Blocto', + type: blocto.type, + async connect({ chainId } = {}) { + try { + const provider = await this.getProvider({ chainId }); + + config.emitter.emit('message', { type: 'connecting' }); + + await provider.request({ + method: 'eth_requestAccounts', + }); + + const accounts = await this.getAccounts(); + const _chainId = await this.getChainId(); + + return { accounts, chainId: _chainId }; + } catch (error: unknown) { + handleConnectReset(); + throw error; + } + }, + async disconnect() { + const provider = await this.getProvider(); + await provider.request({ method: 'wallet_disconnect' }); + handleConnectReset(); + }, + async getAccounts() { + const provider = await this.getProvider(); + const accounts = (await provider.request({ + method: 'eth_accounts', + })) as string[]; - const account = await this.getAccount(); - const id = await this.getChainId(); - const unsupported = this.isChainUnsupported(id); - - return { - account, - chain: { id, unsupported }, - }; - } catch (error: unknown) { - this.#handleConnectReset(); - throw error; - } - } - - async disconnect(): Promise { - const provider = await this.getProvider(); - await provider.request({ method: 'wallet_disconnect' }); - this.#removeListeners(); - this.#handleConnectReset(); - } - - async getAccount(): Promise
{ - const provider = await this.getProvider(); - const accounts = await provider.request({ - method: 'eth_accounts', - }); - const [address] = accounts || []; - - if (!address) { - throw new Error('No accounts found'); - } - - return address; - } - - async getChainId(): Promise { - const provider = await this.getProvider(); - const chainId = await provider.request({ method: 'eth_chainId' }); - - return normalizeChainId(chainId); - } - - async isAuthorized(): Promise { - const walletName = this.storage?.getItem('wallet'); - const connected = Boolean(this.storage?.getItem('connected')); - const isConnect = walletName === 'blocto' && connected; - return Promise.resolve(isConnect); - } - - async switchChain(chainId: number): Promise { - try { + return accounts.map(getAddress); + }, + async getChainId() { const provider = await this.getProvider(); - const id = numberToHex(chainId); - const chain = this.chains.find((x) => x.id === chainId); - const networks = await provider.supportChainList(); - const evmSupportMap = networks.reduce( - (a: any, v: any) => ({ ...a, [v.chainId]: v }), - {} - ); - const isBloctoSupportChain = evmSupportMap[`${chainId}`]; + const chainId = + provider.chainId ?? + (await provider?.request({ method: 'eth_chainId' })); + return normalizeChainId(chainId); + }, + async getProvider({ chainId } = {}) { + if (!walletProvider) { + const store = await config.storage?.getItem('store'); + const lastConnectedChainId = store?.state?.chainId; + const desiredChainId = chainId ?? lastConnectedChainId; + const ethereum: BloctoEthereumProviderParameters = { + chainId: desiredChainId, + rpc: config.chains.find((x) => x.id === desiredChainId)?.rpcUrls + .default.http[0], + }; + + walletProvider = new BloctoSDK({ ethereum, appId })?.ethereum; + + if (!walletProvider) { + throw new Error('Blocto SDK is not initialized.'); + } + + walletProvider.on('accountsChanged', this.onAccountsChanged.bind(this)); + walletProvider.on('chainChanged', this.onChainChanged.bind(this)); + walletProvider.on('disconnect', this.onDisconnect.bind(this)); + } - if (!chain || !isBloctoSupportChain) { - throw new SwitchChainError( - new Error(`Blocto unsupported chain: ${id}`) + return Promise.resolve(walletProvider); + }, + async isAuthorized() { + const recentConnectorId = await config.storage?.getItem( + 'recentConnectorId' + ); + if (recentConnectorId !== this.id) return false; + + const accounts = await this.getAccounts(); + return !!accounts.length; + }, + async switchChain({ chainId }) { + try { + const provider = await this.getProvider(); + const id = numberToHex(chainId); + const chain = config.chains.find((x) => x.id === chainId); + const networks = await provider.supportChainList(); + const evmSupportMap = networks.reduce( + (a: any, v: any) => ({ ...a, [v.chainId]: v }), + {} ); + const isBloctoSupportChain = evmSupportMap[`${chainId}`]; + + if (!chain || !isBloctoSupportChain) { + throw new SwitchChainError( + new Error(`Blocto unsupported chain: ${id}`) + ); + } + + await provider.request({ + method: 'wallet_addEthereumChain', + params: [{ chainId: id, rpcUrls: chain?.rpcUrls.default.http }], + }); + await provider.request({ + method: 'wallet_switchEthereumChain', + params: [{ chainId: id }], + }); + + return chain; + } catch (err) { + const error = err as RpcError; + if (error.code === UserRejectedRequestError.code) + throw new UserRejectedRequestError(error); + + throw new SwitchChainError(error as Error); } - - await provider.request({ - method: 'wallet_addEthereumChain', - params: [{ chainId: id, rpcUrls: chain?.rpcUrls.default.http }], + }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + onAccountsChanged() {}, + async onChainChanged(chainId: string) { + const accounts = await this.getAccounts(); + config.emitter.emit('change', { + chainId: normalizeChainId(chainId), + accounts, }); - await provider.request({ - method: 'wallet_switchEthereumChain', - params: [{ chainId: id }], - }); - - return chain; - } catch (error: unknown) { - if (this.#isUserRejectedRequestError(error)) { - throw error; - } - throw new SwitchChainError(error as Error); - } - } - - async getWalletClient({ - chainId, - }: { - chainId?: number; - }): Promise { - const [provider, account] = await Promise.all([ - this.getProvider(), - this.getAccount(), - ]); - const chain = this.chains.find((x) => x.id === chainId); - if (!provider) throw new Error('provider is required.'); - return createWalletClient({ - account, - chain, - transport: custom(provider), - }) as WalletClient; - } - - protected onAccountsChanged(): void { - // not supported yet - } - - protected async onChainChanged(chainId: string | number): Promise { - const id = normalizeChainId(chainId); - const unsupported = this.isChainUnsupported(id); - const account = await this.getAccount(); - this.emit('change', { chain: { id, unsupported }, account }); - } - protected onDisconnect(): void { - this.emit('disconnect'); - } - - async #setupListeners(): Promise { - const provider = await this.getProvider(); - - provider.on('accountsChanged', this.#onAccountsChangedBind); - provider.on('chainChanged', this.#onChainChangedBind); - provider.on('disconnect', this.#onDisconnectBind); - } - - async #removeListeners(): Promise { - const provider = await this.getProvider(); - - provider.off('accountsChanged', this.#onAccountsChangedBind); - provider.off('chainChanged', this.#onChainChangedBind); - provider.off('disconnect', this.#onDisconnectBind); - } - - #handleConnectReset(): void { - this.#provider = undefined; - } - - #isUserRejectedRequestError(error: unknown): boolean { - return /(user rejected)/i.test((error as Error).message); - } + }, + async onDisconnect() { + config.emitter.emit('disconnect'); + }, + })); } - -export default BloctoConnector; -export type { BloctoOptions }; diff --git a/adapters/wagmi-connector/src/index.ts b/adapters/wagmi-connector/src/index.ts index 05dc1288..13fa4c2b 100644 --- a/adapters/wagmi-connector/src/index.ts +++ b/adapters/wagmi-connector/src/index.ts @@ -1,2 +1,2 @@ -export { default as BloctoConnector } from './connector'; +export { blocto } from './connector'; export type * from './connector'; diff --git a/yarn.lock b/yarn.lock index c68cc0ae..2081f21f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,6 +7,11 @@ resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== +"@adraffy/ens-normalize@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" + integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== + "@adraffy/ens-normalize@1.9.4": version "1.9.4" resolved "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.9.4.tgz" @@ -3474,7 +3479,7 @@ abitype "0.8.7" eventemitter3 "^4.0.7" -"@wagmi/core@1.4.1", "@wagmi/core@^1.3.9": +"@wagmi/core@1.4.1": version "1.4.1" resolved "https://registry.npmjs.org/@wagmi/core/-/core-1.4.1.tgz" integrity sha512-b6LDFL0vZSCNcIHjnJzv++hakavTTt1/2WEQg2S5eEnaHTp7UoQlwfCyjKeiBhRih4yF34N06ea8cyEVjyjXrw== @@ -3484,6 +3489,15 @@ eventemitter3 "^4.0.7" zustand "^4.3.1" +"@wagmi/core@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.2.1.tgz#e18d1ecaea5d5d4e78c3e0ef336f71506f4f5e8d" + integrity sha512-eoTHG600lFpQyeofuo1nlAuTlI7rjduJK/yU4F8sLwjucROSE5RmD2OpQOkeEC3JGoXjrYxVPbY77PUD6ajzqw== + dependencies: + eventemitter3 "5.0.1" + mipd "0.0.5" + zustand "4.4.1" + "@walletconnect/core@2.10.0": version "2.10.0" resolved "https://registry.npmjs.org/@walletconnect/core/-/core-2.10.0.tgz" @@ -3855,6 +3869,11 @@ abab@^2.0.6: resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== +abitype@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.10.0.tgz#d3504747cc81df2acaa6c460250ef7bc9219a77c" + integrity sha512-QvMHEUzgI9nPj9TWtUGnS2scas80/qaL5PBxGdwWhhvzqXfOph+IEiiiWrzuisu3U3JgDQVruW9oLbJoQ3oZ3A== + abitype@0.8.7: version "0.8.7" resolved "https://registry.npmjs.org/abitype/-/abitype-0.8.7.tgz" @@ -6350,16 +6369,16 @@ eventemitter3@4.0.4: resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz" integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== +eventemitter3@5.0.1, eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -eventemitter3@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" - integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== - events@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" @@ -7943,6 +7962,11 @@ isomorphic-ws@^4.0.1: resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== +isows@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74" + integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg== + isstream@~0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" @@ -9219,6 +9243,13 @@ minizlib@^1.3.3: dependencies: minipass "^2.9.0" +mipd@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.5.tgz#367ee796531c23f0631f129038700b1406663aec" + integrity sha512-gbKA784D2WKb5H/GtqEv+Ofd1S9Zj+Z/PGDIl1u1QAbswkxD28BQ5bSXQxkeBzPBABg1iDSbiwGG1XqlOxRspA== + dependencies: + viem "^1.1.4" + mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" @@ -12328,7 +12359,7 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -viem@^1.0.0, viem@^1.2.9, viem@^1.5.4: +viem@^1.0.0, viem@^1.2.9: version "1.10.9" resolved "https://registry.npmjs.org/viem/-/viem-1.10.9.tgz" integrity sha512-fhQxnMBFwGbyE/VOfcvcavxAPyqIHSgOB793gQcMPH1B9ahQvjMe3C3icqypC01ACaqpDPgYWGfvF/ExTeIPuA== @@ -12343,6 +12374,34 @@ viem@^1.0.0, viem@^1.2.9, viem@^1.5.4: isomorphic-ws "5.0.0" ws "8.13.0" +viem@^1.1.4: + version "1.21.4" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.21.4.tgz#883760e9222540a5a7e0339809202b45fe6a842d" + integrity sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + abitype "0.9.8" + isows "1.0.3" + ws "8.13.0" + +viem@^2.x: + version "2.0.10" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.0.10.tgz#a3671e8a70d9f665259b7b0f1575d76db6b054e2" + integrity sha512-ncdvXJ0v8Qc83qQaPzPG7pTr7gbg9hRUCNL7n/1b5ZFE17YIeQVtGTx6zqg4zdjTXlTKPrecKvqeKUUjKrmnYg== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + abitype "0.10.0" + isows "1.0.3" + ws "8.13.0" + vite-plugin-dts@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-2.3.0.tgz" @@ -13001,7 +13060,7 @@ zustand@4.4.0: dependencies: use-sync-external-store "1.2.0" -zustand@^4.3.1: +zustand@4.4.1, zustand@^4.3.1: version "4.4.1" resolved "https://registry.npmjs.org/zustand/-/zustand-4.4.1.tgz" integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw== From 6afc12b9a4185685dfae59ed9672e022d9ac569f Mon Sep 17 00:00:00 2001 From: calvinchang Date: Mon, 15 Jan 2024 17:13:12 +0800 Subject: [PATCH 02/11] test: add wagmi v2 test --- adapters/wagmi-connector/package.json | 9 +- .../wagmi-connector/src/connector.test.ts | 28 + yarn.lock | 587 +++++++++++++++++- 3 files changed, 617 insertions(+), 7 deletions(-) create mode 100644 adapters/wagmi-connector/src/connector.test.ts diff --git a/adapters/wagmi-connector/package.json b/adapters/wagmi-connector/package.json index 238d29c2..9fef4c62 100644 --- a/adapters/wagmi-connector/package.json +++ b/adapters/wagmi-connector/package.json @@ -14,15 +14,18 @@ }, "scripts": { "build": "tsc && vite build", - "lint": "eslint src --ext .ts" + "lint": "eslint src --ext .ts", + "test": "vitest" }, "devDependencies": { "@types/node": "^20.2.5", + "@wagmi/chains": "^1.8.0", + "@wagmi/core": "^2.2.0", "typescript": "^5.1.3", + "viem": "^2.x", "vite": "^4.3.9", "vite-plugin-dts": "^2.3.0", - "@wagmi/core": "^2.2.0", - "viem": "^2.x" + "vitest": "^1.2.0" }, "files": [ "/dist" diff --git a/adapters/wagmi-connector/src/connector.test.ts b/adapters/wagmi-connector/src/connector.test.ts new file mode 100644 index 00000000..02fab207 --- /dev/null +++ b/adapters/wagmi-connector/src/connector.test.ts @@ -0,0 +1,28 @@ +/** + * @vitest-environment jsdom + */ + +import { expect, test, describe } from 'vitest'; +import { createConfig } from '@wagmi/core'; +import { polygonMumbai, arbitrumGoerli } from '@wagmi/chains'; +import { http } from 'viem'; +import { blocto } from './index'; + +describe('blocto-connector', () => { + const config = createConfig({ + chains: [polygonMumbai, arbitrumGoerli], + pollingInterval: 100, + storage: null, + transports: { + [polygonMumbai.id]: http(), + [arbitrumGoerli.id]: http(), + }, + }); + + const connectorFn = blocto(); + const connector = config._internal.connectors.setup(connectorFn); + + test('setup', () => { + expect(connector.name).toEqual('Blocto'); + }); +}); diff --git a/yarn.lock b/yarn.lock index 2081f21f..eb2f0138 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1578,6 +1578,11 @@ resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== +"@esbuild/aix-ppc64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz#2acd20be6d4f0458bc8c784103495ff24f13b1d3" + integrity sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== + "@esbuild/android-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" @@ -1588,6 +1593,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== +"@esbuild/android-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz#b45d000017385c9051a4f03e17078abb935be220" + integrity sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== + "@esbuild/android-arm@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" @@ -1598,6 +1608,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== +"@esbuild/android-arm@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.11.tgz#f46f55414e1c3614ac682b29977792131238164c" + integrity sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== + "@esbuild/android-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" @@ -1608,6 +1623,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== +"@esbuild/android-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.11.tgz#bfc01e91740b82011ef503c48f548950824922b2" + integrity sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== + "@esbuild/darwin-arm64@0.17.19": version "0.17.19" resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz" @@ -1618,6 +1638,11 @@ resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz" integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== +"@esbuild/darwin-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz#533fb7f5a08c37121d82c66198263dcc1bed29bf" + integrity sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== + "@esbuild/darwin-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" @@ -1628,6 +1653,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== +"@esbuild/darwin-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz#62f3819eff7e4ddc656b7c6815a31cf9a1e7d98e" + integrity sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== + "@esbuild/freebsd-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" @@ -1638,6 +1668,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== +"@esbuild/freebsd-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz#d478b4195aa3ca44160272dab85ef8baf4175b4a" + integrity sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== + "@esbuild/freebsd-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" @@ -1648,6 +1683,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== +"@esbuild/freebsd-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz#7bdcc1917409178257ca6a1a27fe06e797ec18a2" + integrity sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== + "@esbuild/linux-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" @@ -1658,6 +1698,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== +"@esbuild/linux-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz#58ad4ff11685fcc735d7ff4ca759ab18fcfe4545" + integrity sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== + "@esbuild/linux-arm@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" @@ -1668,6 +1713,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== +"@esbuild/linux-arm@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz#ce82246d873b5534d34de1e5c1b33026f35e60e3" + integrity sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== + "@esbuild/linux-ia32@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" @@ -1678,6 +1728,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== +"@esbuild/linux-ia32@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz#cbae1f313209affc74b80f4390c4c35c6ab83fa4" + integrity sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== + "@esbuild/linux-loong64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" @@ -1688,6 +1743,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== +"@esbuild/linux-loong64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz#5f32aead1c3ec8f4cccdb7ed08b166224d4e9121" + integrity sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== + "@esbuild/linux-mips64el@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" @@ -1698,6 +1758,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== +"@esbuild/linux-mips64el@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz#38eecf1cbb8c36a616261de858b3c10d03419af9" + integrity sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== + "@esbuild/linux-ppc64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" @@ -1708,6 +1773,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== +"@esbuild/linux-ppc64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz#9c5725a94e6ec15b93195e5a6afb821628afd912" + integrity sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== + "@esbuild/linux-riscv64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" @@ -1718,6 +1788,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== +"@esbuild/linux-riscv64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz#2dc4486d474a2a62bbe5870522a9a600e2acb916" + integrity sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== + "@esbuild/linux-s390x@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" @@ -1728,6 +1803,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== +"@esbuild/linux-s390x@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz#4ad8567df48f7dd4c71ec5b1753b6f37561a65a8" + integrity sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== + "@esbuild/linux-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" @@ -1738,6 +1818,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== +"@esbuild/linux-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz#b7390c4d5184f203ebe7ddaedf073df82a658766" + integrity sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== + "@esbuild/netbsd-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" @@ -1748,6 +1833,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== +"@esbuild/netbsd-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz#d633c09492a1721377f3bccedb2d821b911e813d" + integrity sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== + "@esbuild/openbsd-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" @@ -1758,6 +1848,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== +"@esbuild/openbsd-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz#17388c76e2f01125bf831a68c03a7ffccb65d1a2" + integrity sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== + "@esbuild/sunos-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" @@ -1768,6 +1863,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== +"@esbuild/sunos-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz#e320636f00bb9f4fdf3a80e548cb743370d41767" + integrity sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== + "@esbuild/win32-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" @@ -1778,6 +1878,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== +"@esbuild/win32-arm64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz#c778b45a496e90b6fc373e2a2bb072f1441fe0ee" + integrity sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== + "@esbuild/win32-ia32@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" @@ -1788,6 +1893,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== +"@esbuild/win32-ia32@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz#481a65fee2e5cce74ec44823e6b09ecedcc5194c" + integrity sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== + "@esbuild/win32-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" @@ -1798,6 +1908,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== +"@esbuild/win32-x64@0.19.11": + version "0.19.11" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz#a5d300008960bb39677c46bf16f53ec70d8dee04" + integrity sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== + "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -2683,6 +2798,71 @@ estree-walker "^2.0.2" picomatch "^2.3.1" +"@rollup/rollup-android-arm-eabi@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.5.tgz#b752b6c88a14ccfcbdf3f48c577ccc3a7f0e66b9" + integrity sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA== + +"@rollup/rollup-android-arm64@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.5.tgz#33757c3a448b9ef77b6f6292d8b0ec45c87e9c1a" + integrity sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg== + +"@rollup/rollup-darwin-arm64@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.5.tgz#5234ba62665a3f443143bc8bcea9df2cc58f55fb" + integrity sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w== + +"@rollup/rollup-darwin-x64@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.5.tgz#981256c054d3247b83313724938d606798a919d1" + integrity sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA== + +"@rollup/rollup-linux-arm-gnueabihf@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.5.tgz#120678a5a2b3a283a548dbb4d337f9187a793560" + integrity sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g== + +"@rollup/rollup-linux-arm64-gnu@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.5.tgz#c99d857e2372ece544b6f60b85058ad259f64114" + integrity sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA== + +"@rollup/rollup-linux-arm64-musl@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.5.tgz#3064060f568a5718c2a06858cd6e6d24f2ff8632" + integrity sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ== + +"@rollup/rollup-linux-riscv64-gnu@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.5.tgz#987d30b5d2b992fff07d055015991a57ff55fbad" + integrity sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA== + +"@rollup/rollup-linux-x64-gnu@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz#85946ee4d068bd12197aeeec2c6f679c94978a49" + integrity sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA== + +"@rollup/rollup-linux-x64-musl@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.5.tgz#fe0b20f9749a60eb1df43d20effa96c756ddcbd4" + integrity sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg== + +"@rollup/rollup-win32-arm64-msvc@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.5.tgz#422661ef0e16699a234465d15b2c1089ef963b2a" + integrity sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ== + +"@rollup/rollup-win32-ia32-msvc@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.5.tgz#7b73a145891c202fbcc08759248983667a035d85" + integrity sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA== + +"@rollup/rollup-win32-x64-msvc@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.5.tgz#10491ccf4f63c814d4149e0316541476ea603602" + integrity sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ== + "@rushstack/node-core-library@3.59.7", "@rushstack/node-core-library@^3.55.2": version "3.59.7" resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.59.7.tgz" @@ -3132,6 +3312,11 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz" integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== +"@types/estree@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + "@types/fs-extra@^8.0.1": version "8.1.2" resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz" @@ -3463,6 +3648,55 @@ resolved "https://registry.npmjs.org/@vanilla-extract/sprinkles/-/sprinkles-1.5.0.tgz" integrity sha512-W58f2Rzz5lLmk0jbhgStVlZl5wEiPB1Ur3fRvUaBM+MrifZ3qskmFq/CiH//fEYeG5Dh9vF1qRviMMH46cX9Nw== +"@vitest/expect@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-1.2.0.tgz#de93f5c32c2781c41415a8c3a6e48e1c023d6613" + integrity sha512-H+2bHzhyvgp32o7Pgj2h9RTHN0pgYaoi26Oo3mE+dCi1PAqV31kIIVfTbqMO3Bvshd5mIrJLc73EwSRrbol9Lw== + dependencies: + "@vitest/spy" "1.2.0" + "@vitest/utils" "1.2.0" + chai "^4.3.10" + +"@vitest/runner@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-1.2.0.tgz#84775f0f5c48620ff1943a45c19863355791c6d9" + integrity sha512-vaJkDoQaNUTroT70OhM0NPznP7H3WyRwt4LvGwCVYs/llLaqhoSLnlIhUClZpbF5RgAee29KRcNz0FEhYcgxqA== + dependencies: + "@vitest/utils" "1.2.0" + p-limit "^5.0.0" + pathe "^1.1.1" + +"@vitest/snapshot@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-1.2.0.tgz#2fcddb5c6e8a9d2fc9f18ea2f8fd39b1b6e691b4" + integrity sha512-P33EE7TrVgB3HDLllrjK/GG6WSnmUtWohbwcQqmm7TAk9AVHpdgf7M3F3qRHKm6vhr7x3eGIln7VH052Smo6Kw== + dependencies: + magic-string "^0.30.5" + pathe "^1.1.1" + pretty-format "^29.7.0" + +"@vitest/spy@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-1.2.0.tgz#61104de4c19a3addefff021d884c9e20dc17ebcd" + integrity sha512-MNxSAfxUaCeowqyyGwC293yZgk7cECZU9wGb8N1pYQ0yOn/SIr8t0l9XnGRdQZvNV/ZHBYu6GO/W3tj5K3VN1Q== + dependencies: + tinyspy "^2.2.0" + +"@vitest/utils@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-1.2.0.tgz#deb9bdc3d094bf47f93a592a6a0b3946aa575e7a" + integrity sha512-FyD5bpugsXlwVpTcGLDf3wSPYy8g541fQt14qtzo8mJ4LdEpDKZ9mQy2+qdJm2TZRpjY5JLXihXCgIxiRJgi5g== + dependencies: + diff-sequences "^29.6.3" + estree-walker "^3.0.3" + loupe "^2.3.7" + pretty-format "^29.7.0" + +"@wagmi/chains@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.8.0.tgz#70e5fd0d50c8f9b8e63585eaf8544481e71707d3" + integrity sha512-UXo0GF0Cl0+neKC2KAmVAahv8L/5rACbFRRqkDvHMefzY6Fh7yzJd8F4GaGNNG3w4hj8eUB/E3+dEpaTYDN62w== + "@wagmi/connectors@3.1.1": version "3.1.1" resolved "https://registry.npmjs.org/@wagmi/connectors/-/connectors-3.1.1.tgz" @@ -3915,11 +4149,21 @@ acorn-walk@^8.0.2, acorn-walk@^8.1.1: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== +acorn-walk@^8.3.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + acorn@^8.1.0, acorn@^8.4.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: version "8.10.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== +acorn@^8.10.0, acorn@^8.11.3: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + aes-js@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz" @@ -4197,6 +4441,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" @@ -4709,7 +4958,7 @@ bytes@3.1.2: resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cac@^6.7.12: +cac@^6.7.12, cac@^6.7.14: version "6.7.14" resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz" integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== @@ -4799,6 +5048,19 @@ caseless@~0.12.0: resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== +chai@^4.3.10: + version "4.4.1" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" + integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.0.8" + chalk@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" @@ -4837,6 +5099,13 @@ chardet@^0.7.0: resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== +check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== + dependencies: + get-func-name "^2.0.2" + chokidar@^2.0.4: version "2.1.8" resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" @@ -5487,6 +5756,13 @@ dedent@^1.0.0: resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== +deep-eql@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + dependencies: + type-detect "^4.0.0" + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" @@ -5933,6 +6209,35 @@ esbuild@^0.18.10, esbuild@^0.18.2: "@esbuild/win32-ia32" "0.18.20" "@esbuild/win32-x64" "0.18.20" +esbuild@^0.19.3: + version "0.19.11" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.11.tgz#4a02dca031e768b5556606e1b468fe72e3325d96" + integrity sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== + optionalDependencies: + "@esbuild/aix-ppc64" "0.19.11" + "@esbuild/android-arm" "0.19.11" + "@esbuild/android-arm64" "0.19.11" + "@esbuild/android-x64" "0.19.11" + "@esbuild/darwin-arm64" "0.19.11" + "@esbuild/darwin-x64" "0.19.11" + "@esbuild/freebsd-arm64" "0.19.11" + "@esbuild/freebsd-x64" "0.19.11" + "@esbuild/linux-arm" "0.19.11" + "@esbuild/linux-arm64" "0.19.11" + "@esbuild/linux-ia32" "0.19.11" + "@esbuild/linux-loong64" "0.19.11" + "@esbuild/linux-mips64el" "0.19.11" + "@esbuild/linux-ppc64" "0.19.11" + "@esbuild/linux-riscv64" "0.19.11" + "@esbuild/linux-s390x" "0.19.11" + "@esbuild/linux-x64" "0.19.11" + "@esbuild/netbsd-x64" "0.19.11" + "@esbuild/openbsd-x64" "0.19.11" + "@esbuild/sunos-x64" "0.19.11" + "@esbuild/win32-arm64" "0.19.11" + "@esbuild/win32-ia32" "0.19.11" + "@esbuild/win32-x64" "0.19.11" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" @@ -6183,6 +6488,13 @@ estree-walker@^2.0.2: resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== +estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + esutils@^2.0.2: version "2.0.3" resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" @@ -6407,6 +6719,21 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" @@ -6901,7 +7228,7 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -6936,6 +7263,11 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" @@ -6973,6 +7305,11 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" @@ -7452,6 +7789,11 @@ human-signals@^2.1.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" @@ -7856,6 +8198,11 @@ is-stream@^2.0.0: resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" @@ -8598,6 +8945,11 @@ json5@^2.1.1, json5@^2.2.3: resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== +jsonc-parser@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" @@ -8787,6 +9139,14 @@ load-yaml-file@^0.2.0: pify "^4.0.1" strip-bom "^3.0.0" +local-pkg@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" + integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== + dependencies: + mlly "^1.4.2" + pkg-types "^1.0.3" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" @@ -8901,6 +9261,13 @@ loose-envify@^1.0.0, loose-envify@^1.1.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +loupe@^2.3.6, loupe@^2.3.7: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + lowercase-keys@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" @@ -8966,6 +9333,13 @@ magic-string@^0.30.2: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" +magic-string@^0.30.5: + version "0.30.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" + integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" @@ -9149,6 +9523,11 @@ mimic-fn@^2.1.0: resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + mimic-response@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" @@ -9287,6 +9666,16 @@ mkdirp@^2.1.6: resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz" integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A== +mlly@^1.2.0, mlly@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.5.0.tgz#8428a4617d54cc083d3009030ac79739a0e5447a" + integrity sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.0.3" + ufo "^1.3.2" + mock-fs@^4.1.0: version "4.14.0" resolved "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz" @@ -9399,6 +9788,11 @@ nanoid@^3.3.6: resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" @@ -9507,6 +9901,13 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" +npm-run-path@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.2.0.tgz#224cdd22c755560253dd71b83a1ef2f758b2e955" + integrity sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg== + dependencies: + path-key "^4.0.0" + number-to-bn@1.7.0: version "1.7.0" resolved "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz" @@ -9659,6 +10060,13 @@ onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + open@^8.4.0: version "8.4.2" resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" @@ -9733,6 +10141,13 @@ p-limit@^3.0.2, p-limit@^3.1.0: dependencies: yocto-queue "^0.1.0" +p-limit@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-5.0.0.tgz#6946d5b7140b649b7a33a027d89b4c625b3a5985" + integrity sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" @@ -9847,6 +10262,11 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" @@ -9879,6 +10299,16 @@ path-type@^4.0.0: resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pathe@^1.1.0, pathe@^1.1.1, pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + pause-stream@0.0.11: version "0.0.11" resolved "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz" @@ -9993,6 +10423,15 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-types@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" + integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== + dependencies: + jsonc-parser "^3.2.0" + mlly "^1.2.0" + pathe "^1.1.0" + pkg-up@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" @@ -10050,6 +10489,15 @@ postcss@^8.4.27: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^8.4.32: + version "8.4.33" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" + integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + preact@^10.12.0, preact@^10.5.9: version "10.17.1" resolved "https://registry.npmjs.org/preact/-/preact-10.17.1.tgz" @@ -10785,6 +11233,28 @@ rollup@^3.2.5, rollup@^3.23.1, rollup@^3.27.1, rollup@^3.29.1: optionalDependencies: fsevents "~2.3.2" +rollup@^4.2.0: + version "4.9.5" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.9.5.tgz#62999462c90f4c8b5d7c38fc7161e63b29101b05" + integrity sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.9.5" + "@rollup/rollup-android-arm64" "4.9.5" + "@rollup/rollup-darwin-arm64" "4.9.5" + "@rollup/rollup-darwin-x64" "4.9.5" + "@rollup/rollup-linux-arm-gnueabihf" "4.9.5" + "@rollup/rollup-linux-arm64-gnu" "4.9.5" + "@rollup/rollup-linux-arm64-musl" "4.9.5" + "@rollup/rollup-linux-riscv64-gnu" "4.9.5" + "@rollup/rollup-linux-x64-gnu" "4.9.5" + "@rollup/rollup-linux-x64-musl" "4.9.5" + "@rollup/rollup-win32-arm64-msvc" "4.9.5" + "@rollup/rollup-win32-ia32-msvc" "4.9.5" + "@rollup/rollup-win32-x64-msvc" "4.9.5" + fsevents "~2.3.2" + rpc-websockets@^7.5.1: version "7.6.0" resolved "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.6.0.tgz" @@ -11057,12 +11527,17 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" +siginfo@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" + integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== + signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -signal-exit@^4.0.1: +signal-exit@^4.0.1, signal-exit@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== @@ -11301,6 +11776,11 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +stackback@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" + integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" @@ -11319,6 +11799,11 @@ statuses@2.0.1: resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +std-env@^3.5.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" + integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== + stream-browserify@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" @@ -11480,6 +11965,11 @@ strip-final-newline@^2.0.0: resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + strip-hex-prefix@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz" @@ -11499,6 +11989,13 @@ strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-literal@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-1.3.0.tgz#db3942c2ec1699e6836ad230090b84bb458e3a07" + integrity sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg== + dependencies: + acorn "^8.10.0" + style-value-types@5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz" @@ -11689,6 +12186,21 @@ timed-out@^4.0.1: resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== +tinybench@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.5.1.tgz#3408f6552125e53a5a48adee31261686fd71587e" + integrity sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg== + +tinypool@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.8.1.tgz#b6c4e4972ede3e3e5cda74a3da1679303d386b03" + integrity sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg== + +tinyspy@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.2.0.tgz#9dc04b072746520b432f77ea2c2d17933de5d6ce" + integrity sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" @@ -11992,7 +12504,7 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@4.0.8: +type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== @@ -12106,6 +12618,11 @@ typescript@~5.1.3: resolved "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz" integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== +ufo@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.3.2.tgz#c7d719d0628a1c80c006d2240e0d169f6e3c0496" + integrity sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA== + uint8arrays@^3.0.0, uint8arrays@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz" @@ -12402,6 +12919,17 @@ viem@^2.x: isows "1.0.3" ws "8.13.0" +vite-node@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-1.2.0.tgz#9a359804469203a54ac49daad3065f2fd0bfb9c3" + integrity sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg== + dependencies: + cac "^6.7.14" + debug "^4.3.4" + pathe "^1.1.1" + picocolors "^1.0.0" + vite "^5.0.0" + vite-plugin-dts@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-2.3.0.tgz" @@ -12429,6 +12957,44 @@ vite@^4.3.9: optionalDependencies: fsevents "~2.3.2" +vite@^5.0.0: + version "5.0.11" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.0.11.tgz#31562e41e004cb68e1d51f5d2c641ab313b289e4" + integrity sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA== + dependencies: + esbuild "^0.19.3" + postcss "^8.4.32" + rollup "^4.2.0" + optionalDependencies: + fsevents "~2.3.3" + +vitest@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-1.2.0.tgz#2ddff4a32ed992339655f243525c0e187b5af6d9" + integrity sha512-Ixs5m7BjqvLHXcibkzKRQUvD/XLw0E3rvqaCMlrm/0LMsA0309ZqYvTlPzkhh81VlEyVZXFlwWnkhb6/UMtcaQ== + dependencies: + "@vitest/expect" "1.2.0" + "@vitest/runner" "1.2.0" + "@vitest/snapshot" "1.2.0" + "@vitest/spy" "1.2.0" + "@vitest/utils" "1.2.0" + acorn-walk "^8.3.1" + cac "^6.7.14" + chai "^4.3.10" + debug "^4.3.4" + execa "^8.0.1" + local-pkg "^0.5.0" + magic-string "^0.30.5" + pathe "^1.1.1" + picocolors "^1.0.0" + std-env "^3.5.0" + strip-literal "^1.3.0" + tinybench "^2.5.1" + tinypool "^0.8.1" + vite "^5.0.0" + vite-node "1.2.0" + why-is-node-running "^2.2.2" + w3c-xmlserializer@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz" @@ -12819,6 +13385,14 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +why-is-node-running@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e" + integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== + dependencies: + siginfo "^2.0.0" + stackback "0.0.2" + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" @@ -13042,6 +13616,11 @@ yocto-queue@^0.1.0: resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + z-schema@~5.0.2: version "5.0.6" resolved "https://registry.npmjs.org/z-schema/-/z-schema-5.0.6.tgz" From fb7ccbfec5090096c4997c63bfa01877bfae940a Mon Sep 17 00:00:00 2001 From: calvinchang Date: Mon, 15 Jan 2024 17:14:21 +0800 Subject: [PATCH 03/11] chore: add changeset --- .changeset/fair-colts-arrive.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fair-colts-arrive.md diff --git a/.changeset/fair-colts-arrive.md b/.changeset/fair-colts-arrive.md new file mode 100644 index 00000000..6490f1fc --- /dev/null +++ b/.changeset/fair-colts-arrive.md @@ -0,0 +1,5 @@ +--- +'@blocto/wagmi-connector': major +--- + +blocto connector support wagmi v2 From ba75fea2f2adf0a28bd7b7dccb264b903f53bcca Mon Sep 17 00:00:00 2001 From: calvinchang Date: Mon, 15 Jan 2024 17:42:40 +0800 Subject: [PATCH 04/11] feat: fixed @blocto/wagmi-connector dependency version --- adapters/connectkit-connector/package.json | 2 +- adapters/rainbowkit-connector/package.json | 2 +- adapters/web3modal-connector/package.json | 2 +- adapters/web3modal-connector/src/index.ts | 2 +- yarn.lock | 7 +++++++ 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/adapters/connectkit-connector/package.json b/adapters/connectkit-connector/package.json index d9f59219..8ea115ba 100644 --- a/adapters/connectkit-connector/package.json +++ b/adapters/connectkit-connector/package.json @@ -30,7 +30,7 @@ "/dist" ], "dependencies": { - "@blocto/wagmi-connector": "^1.3.1" + "@blocto/wagmi-connector": "npm:@blocto/wagmi-connector@^1.3.1-beta.1" }, "peerDependencies": { "connectkit": "^1.5.3", diff --git a/adapters/rainbowkit-connector/package.json b/adapters/rainbowkit-connector/package.json index 42542509..5672a999 100644 --- a/adapters/rainbowkit-connector/package.json +++ b/adapters/rainbowkit-connector/package.json @@ -34,7 +34,7 @@ }, "dependencies": { "@rainbow-me/rainbowkit": "^1.0.8", - "@blocto/wagmi-connector": "^1.3.1" + "@blocto/wagmi-connector": "npm:@blocto/wagmi-connector@^1.3.1-beta.1" }, "devDependencies": { "@types/jest": "^29.5.2", diff --git a/adapters/web3modal-connector/package.json b/adapters/web3modal-connector/package.json index 089c023f..c23ac5d0 100644 --- a/adapters/web3modal-connector/package.json +++ b/adapters/web3modal-connector/package.json @@ -41,6 +41,6 @@ "/dist" ], "dependencies": { - "@blocto/wagmi-connector": "^1.3.1" + "@blocto/wagmi-connector": "npm:@blocto/wagmi-connector@^1.3.1-beta.1" } } diff --git a/adapters/web3modal-connector/src/index.ts b/adapters/web3modal-connector/src/index.ts index 5973e49f..40c902f5 100644 --- a/adapters/web3modal-connector/src/index.ts +++ b/adapters/web3modal-connector/src/index.ts @@ -1,2 +1,2 @@ export { BloctoConnector } from '@blocto/wagmi-connector'; -export { default as BloctoWeb3ModalConfig } from './web3ModalConfig'; \ No newline at end of file +export { default as BloctoWeb3ModalConfig } from './web3ModalConfig'; diff --git a/yarn.lock b/yarn.lock index eb2f0138..9d155a53 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1136,6 +1136,13 @@ resolved "https://registry.npmjs.org/@blakeembrey/template/-/template-1.1.0.tgz" integrity sha512-iZf+UWfL+DogJVpd/xMQyP6X6McYd6ArdYoPMiv/zlOTzeXXfQbYxBNJJBF6tThvsjLMbA8tLjkCdm9RWMFCCw== +"@blocto/wagmi-connector@npm:@blocto/wagmi-connector@^1.3.1-beta.1": + version "1.3.1-beta.1" + resolved "https://registry.yarnpkg.com/@blocto/wagmi-connector/-/wagmi-connector-1.3.1-beta.1.tgz#f488c41e410a024d7838fcec4f176541a79794bc" + integrity sha512-S1Z0TVdOrozohgxGJR3lLhVlQaPPa+NgrNssfv2NHmGaQDhhX5RLWX09ZWc9wrOFoaZdJ7FIfPX/BFAtNTmrKw== + dependencies: + "@blocto/sdk" "^0.9.1-beta.1" + "@changesets/apply-release-plan@^6.1.4": version "6.1.4" resolved "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.1.4.tgz" From 94f5a95eea76ad283d9d27573acb71c53c32e9cb Mon Sep 17 00:00:00 2001 From: calvinchang Date: Mon, 15 Jan 2024 17:44:00 +0800 Subject: [PATCH 05/11] build: update ci node version to 18 --- .github/workflows/publish.yml | 4 ++-- .github/workflows/release-branch.yml | 4 ++-- .github/workflows/test.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 72f33871..f4287374 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,10 +15,10 @@ jobs: - name: Checkout Repo uses: actions/checkout@v3 - - name: Setup Node.js 16 + - name: Setup Node.js 18 uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: Install Dependencies run: yarn diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index 6d580825..bdee2512 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -27,10 +27,10 @@ jobs: restore-keys: | ${{ runner.os }}-turbo- - - name: Setup Node.js 16 + - name: Setup Node.js 18 uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: Install Dependencies run: yarn diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ef41dc28..1f580197 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,10 +22,10 @@ jobs: restore-keys: | ${{ runner.os }}-turbo- - - name: Setup Node.js 16 + - name: Setup Node.js 18 uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: Install dependencies run: yarn From 6dc6133020d60cb84e84e64b7f249d0c347a2e6d Mon Sep 17 00:00:00 2001 From: Calvin Chang Date: Tue, 16 Jan 2024 16:19:44 +0800 Subject: [PATCH 06/11] test: add coverage to test script --- adapters/wagmi-connector/package.json | 3 +- yarn.lock | 50 ++++++++++++++++++++++++--- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/adapters/wagmi-connector/package.json b/adapters/wagmi-connector/package.json index 9fef4c62..b213f91d 100644 --- a/adapters/wagmi-connector/package.json +++ b/adapters/wagmi-connector/package.json @@ -15,10 +15,11 @@ "scripts": { "build": "tsc && vite build", "lint": "eslint src --ext .ts", - "test": "vitest" + "test": "vitest run --coverage" }, "devDependencies": { "@types/node": "^20.2.5", + "@vitest/coverage-v8": "^1.2.0", "@wagmi/chains": "^1.8.0", "@wagmi/core": "^2.2.0", "typescript": "^5.1.3", diff --git a/yarn.lock b/yarn.lock index 9d155a53..1da78be4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,7 +17,7 @@ resolved "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.9.4.tgz" integrity sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw== -"@ampproject/remapping@^2.2.0": +"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1": version "2.2.1" resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== @@ -3655,6 +3655,25 @@ resolved "https://registry.npmjs.org/@vanilla-extract/sprinkles/-/sprinkles-1.5.0.tgz" integrity sha512-W58f2Rzz5lLmk0jbhgStVlZl5wEiPB1Ur3fRvUaBM+MrifZ3qskmFq/CiH//fEYeG5Dh9vF1qRviMMH46cX9Nw== +"@vitest/coverage-v8@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-1.2.0.tgz#1daaecb42b857967ae6ee53686147d389fade6fb" + integrity sha512-YvX8ULTUm1+zkvkl14IqXYGxE1h13OXKPoDsxazARKlp4YLrP28hHEBdplaU7ZTN/Yn6zy6Z3JadWNRJwcmyrQ== + dependencies: + "@ampproject/remapping" "^2.2.1" + "@bcoe/v8-coverage" "^0.2.3" + debug "^4.3.4" + istanbul-lib-coverage "^3.2.2" + istanbul-lib-report "^3.0.1" + istanbul-lib-source-maps "^4.0.1" + istanbul-reports "^3.1.6" + magic-string "^0.30.5" + magicast "^0.3.2" + picocolors "^1.0.0" + std-env "^3.5.0" + test-exclude "^6.0.0" + v8-to-istanbul "^9.2.0" + "@vitest/expect@1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-1.2.0.tgz#de93f5c32c2781c41415a8c3a6e48e1c023d6613" @@ -8331,6 +8350,11 @@ istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== +istanbul-lib-coverage@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + istanbul-lib-instrument@^5.0.4: version "5.2.1" resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" @@ -8353,7 +8377,7 @@ istanbul-lib-instrument@^6.0.0: istanbul-lib-coverage "^3.2.0" semver "^7.5.4" -istanbul-lib-report@^3.0.0: +istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== @@ -8362,7 +8386,7 @@ istanbul-lib-report@^3.0.0: make-dir "^4.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^4.0.0: +istanbul-lib-source-maps@^4.0.0, istanbul-lib-source-maps@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== @@ -8371,7 +8395,7 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^3.1.3: +istanbul-reports@^3.1.3, istanbul-reports@^3.1.6: version "3.1.6" resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz" integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== @@ -9347,6 +9371,15 @@ magic-string@^0.30.5: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" +magicast@^0.3.2: + version "0.3.3" + resolved "https://registry.yarnpkg.com/magicast/-/magicast-0.3.3.tgz#a15760f982deec9dabc5f314e318d7c6bddcb27b" + integrity sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw== + dependencies: + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + source-map-js "^1.0.2" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" @@ -12843,6 +12876,15 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" +v8-to-istanbul@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" From f54c0ab34141454c6d5c053e32621dc392828393 Mon Sep 17 00:00:00 2001 From: Calvin Chang Date: Tue, 16 Jan 2024 16:20:28 +0800 Subject: [PATCH 07/11] refactor: del unused utils code --- .../wagmi-connector/src/util/normalizeChainId.ts | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 adapters/wagmi-connector/src/util/normalizeChainId.ts diff --git a/adapters/wagmi-connector/src/util/normalizeChainId.ts b/adapters/wagmi-connector/src/util/normalizeChainId.ts deleted file mode 100644 index c19ba450..00000000 --- a/adapters/wagmi-connector/src/util/normalizeChainId.ts +++ /dev/null @@ -1,12 +0,0 @@ -export function normalizeChainId(chainId: string | number | bigint): number { - if (typeof chainId === 'string') { - return Number.parseInt( - chainId, - chainId.trim().substring(0, 2) === '0x' ? 16 : 10 - ); - } - if (typeof chainId === 'bigint') { - return Number(chainId); - } - return chainId; -} From c7d2c9f2e4a57575bb370c3ed42bc2b434325cb0 Mon Sep 17 00:00:00 2001 From: Calvin Chang Date: Wed, 17 Jan 2024 12:30:21 +0800 Subject: [PATCH 08/11] test: add connector.test.ts --- .../wagmi-connector/src/connector.test.ts | 143 ++++++++++++++++-- 1 file changed, 131 insertions(+), 12 deletions(-) diff --git a/adapters/wagmi-connector/src/connector.test.ts b/adapters/wagmi-connector/src/connector.test.ts index 02fab207..e8549c6d 100644 --- a/adapters/wagmi-connector/src/connector.test.ts +++ b/adapters/wagmi-connector/src/connector.test.ts @@ -2,27 +2,146 @@ * @vitest-environment jsdom */ -import { expect, test, describe } from 'vitest'; +import { expect, test, describe, vi, beforeEach, afterEach } from 'vitest'; import { createConfig } from '@wagmi/core'; import { polygonMumbai, arbitrumGoerli } from '@wagmi/chains'; -import { http } from 'viem'; +import * as viem from 'viem'; +import { normalizeChainId } from '@wagmi/core'; import { blocto } from './index'; +vi.mock('viem'); + describe('blocto-connector', () => { - const config = createConfig({ - chains: [polygonMumbai, arbitrumGoerli], - pollingInterval: 100, - storage: null, - transports: { - [polygonMumbai.id]: http(), - [arbitrumGoerli.id]: http(), - }, + let connector: any; + beforeEach(() => { + const config = createConfig({ + chains: [polygonMumbai, arbitrumGoerli], + pollingInterval: 100, + storage: null, + transports: { + [polygonMumbai.id]: viem.http(), + [arbitrumGoerli.id]: viem.http(), + }, + }); + + const connectorFn = blocto(); + connector = config._internal.connectors.setup(connectorFn); }); - const connectorFn = blocto(); - const connector = config._internal.connectors.setup(connectorFn); + afterEach(() => { + connector = null; + }); test('setup', () => { expect(connector.name).toEqual('Blocto'); }); + + test('connect', async () => { + const chainId = 1; + const accounts = ['0xc61B4Aa62E5FD40cceB08C602Eb5D157b257b49a']; + const provider = { + request: vi.fn().mockResolvedValue(accounts), + }; + connector.getProvider = vi.fn().mockResolvedValue(provider); + connector.getAccounts = vi.fn().mockResolvedValue(accounts); + connector.getChainId = vi.fn().mockResolvedValue(chainId); + + const result = await connector.connect({ chainId }); + + expect(result).toEqual({ accounts, chainId }); + expect(connector.getProvider).toHaveBeenCalledWith({ chainId }); + expect(provider.request).toHaveBeenCalledWith({ + method: 'eth_requestAccounts', + }); + }); + + test('disconnect', async () => { + const provider = { + request: vi.fn().mockResolvedValue(undefined), + }; + connector.getProvider = vi.fn().mockResolvedValue(provider); + + await connector.disconnect(); + + expect(connector.getProvider).toHaveBeenCalled(); + expect(provider.request).toHaveBeenCalledWith({ + method: 'wallet_disconnect', + }); + }); + + test('getAccounts', async () => { + const accounts = ['0xc61B4Aa62E5FD40cceB08C602Eb5D157b257b49a']; + const provider = { + request: vi.fn().mockResolvedValue(accounts), + }; + connector.getProvider = vi.fn().mockResolvedValue(provider); + vi.spyOn(viem, 'getAddress').mockImplementation((x) => x as `0x${string}`); + + const result = await connector.getAccounts(); + + expect(result).toEqual(['0xc61B4Aa62E5FD40cceB08C602Eb5D157b257b49a']); + expect(connector.getProvider).toHaveBeenCalled(); + expect(provider.request).toHaveBeenCalledWith({ method: 'eth_accounts' }); + }); + + test('getChainId', async () => { + const chainId = '0x1'; + const provider = { + chainId: undefined, + request: vi.fn().mockResolvedValue(chainId), + }; + connector.getProvider = vi.fn().mockResolvedValue(provider); + + const result = await connector.getChainId(); + + expect(result).toEqual(normalizeChainId(chainId)); + expect(connector.getProvider).toHaveBeenCalled(); + expect(provider.request).toHaveBeenCalledWith({ method: 'eth_chainId' }); + }); + + test('isAuthorized', async () => { + const accounts = ['0xc61B4Aa62E5FD40cceB08C602Eb5D157b257b49a']; + connector.getAccounts = vi.fn().mockResolvedValue(accounts); + + const result = await connector.isAuthorized(); + + expect(result).toEqual(false); + }); + + test('switchChain', async () => { + const chainId = arbitrumGoerli.id; + const provider = { + request: vi.fn().mockResolvedValue(undefined), + supportChainList: vi.fn().mockResolvedValue( + [polygonMumbai, arbitrumGoerli].map(({ id, name }) => ({ + chainId: id, + chainName: name, + })) + ), + }; + connector.getProvider = vi.fn().mockResolvedValue(provider); + vi.spyOn(viem, 'numberToHex').mockReturnValue(viem.numberToHex(chainId)); + + const chain = await connector.switchChain({ chainId }); + + expect(connector.getProvider).toHaveBeenCalled(); + expect(provider.request).toHaveBeenCalledWith({ + method: 'wallet_addEthereumChain', + params: [ + { + chainId: viem.numberToHex(chainId), + rpcUrls: arbitrumGoerli.rpcUrls.default.http, + }, + ], + }); + expect(provider.request).toHaveBeenCalledWith({ + method: 'wallet_switchEthereumChain', + params: [ + { + chainId: viem.numberToHex(chainId), + }, + ], + }); + expect(chain.id).toEqual(chainId); + }); }); From 41be9c08ef90d75f1942a35ac7cca0a7f7bffb18 Mon Sep 17 00:00:00 2001 From: Calvin Chang Date: Thu, 18 Jan 2024 14:22:37 +0800 Subject: [PATCH 09/11] feat: fixed wagmi's ui connector to version 1.3.1 --- adapters/connectkit-connector/package.json | 2 +- adapters/rainbowkit-connector/package.json | 2 +- adapters/web3modal-connector/package.json | 2 +- yarn.lock | 19 ++++++++++++++----- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/adapters/connectkit-connector/package.json b/adapters/connectkit-connector/package.json index 8ea115ba..e765d052 100644 --- a/adapters/connectkit-connector/package.json +++ b/adapters/connectkit-connector/package.json @@ -30,7 +30,7 @@ "/dist" ], "dependencies": { - "@blocto/wagmi-connector": "npm:@blocto/wagmi-connector@^1.3.1-beta.1" + "@blocto/wagmi-connector": "npm:@blocto/wagmi-connector@^1.3.1" }, "peerDependencies": { "connectkit": "^1.5.3", diff --git a/adapters/rainbowkit-connector/package.json b/adapters/rainbowkit-connector/package.json index 5672a999..8ca8b158 100644 --- a/adapters/rainbowkit-connector/package.json +++ b/adapters/rainbowkit-connector/package.json @@ -34,7 +34,7 @@ }, "dependencies": { "@rainbow-me/rainbowkit": "^1.0.8", - "@blocto/wagmi-connector": "npm:@blocto/wagmi-connector@^1.3.1-beta.1" + "@blocto/wagmi-connector": "npm:@blocto/wagmi-connector@^1.3.1" }, "devDependencies": { "@types/jest": "^29.5.2", diff --git a/adapters/web3modal-connector/package.json b/adapters/web3modal-connector/package.json index c23ac5d0..9d4174e5 100644 --- a/adapters/web3modal-connector/package.json +++ b/adapters/web3modal-connector/package.json @@ -41,6 +41,6 @@ "/dist" ], "dependencies": { - "@blocto/wagmi-connector": "npm:@blocto/wagmi-connector@^1.3.1-beta.1" + "@blocto/wagmi-connector": "npm:@blocto/wagmi-connector@^1.3.1" } } diff --git a/yarn.lock b/yarn.lock index 1da78be4..e5cca977 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1136,12 +1136,21 @@ resolved "https://registry.npmjs.org/@blakeembrey/template/-/template-1.1.0.tgz" integrity sha512-iZf+UWfL+DogJVpd/xMQyP6X6McYd6ArdYoPMiv/zlOTzeXXfQbYxBNJJBF6tThvsjLMbA8tLjkCdm9RWMFCCw== -"@blocto/wagmi-connector@npm:@blocto/wagmi-connector@^1.3.1-beta.1": - version "1.3.1-beta.1" - resolved "https://registry.yarnpkg.com/@blocto/wagmi-connector/-/wagmi-connector-1.3.1-beta.1.tgz#f488c41e410a024d7838fcec4f176541a79794bc" - integrity sha512-S1Z0TVdOrozohgxGJR3lLhVlQaPPa+NgrNssfv2NHmGaQDhhX5RLWX09ZWc9wrOFoaZdJ7FIfPX/BFAtNTmrKw== +"@blocto/sdk@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@blocto/sdk/-/sdk-0.9.1.tgz#86eb3f972f6bdd78a1c929e271c652f8ec5e1bd0" + integrity sha512-JPBKDUrgTrTc9PaCj1iNleMy68V6DARa93sJa6OBvxkFCtYNxGn+sNCOZqhCU/3YjQ6z75/Mls2oF4kQe/04cw== + dependencies: + buffer "^6.0.3" + eip1193-provider "^1.0.1" + js-sha3 "^0.8.0" + +"@blocto/wagmi-connector@npm:@blocto/wagmi-connector@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@blocto/wagmi-connector/-/wagmi-connector-1.3.1.tgz#513feec757e33c24e6e98c4bbb9f326b90d58325" + integrity sha512-dDOyYeV+gY+0dnIFQ46WyPe803K/lIDr5KWRCZqglzseIUOK5eEi+VN5CITs0BEAzlWPttPIyBXp04VhBAqSTQ== dependencies: - "@blocto/sdk" "^0.9.1-beta.1" + "@blocto/sdk" "^0.9.1" "@changesets/apply-release-plan@^6.1.4": version "6.1.4" From a0b28b1663ed23f108b1e306b2248d240df12f1c Mon Sep 17 00:00:00 2001 From: Calvin Chang Date: Thu, 18 Jan 2024 15:06:46 +0800 Subject: [PATCH 10/11] chore: beta-release --- .changeset/pre.json | 19 +++++++++++++++++++ adapters/wagmi-connector/CHANGELOG.md | 6 ++++++ adapters/wagmi-connector/package.json | 2 +- yarn.lock | 9 --------- 4 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000..584737f8 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,19 @@ +{ + "mode": "exit", + "tag": "beta", + "initialVersions": { + "@blocto/aptos-wallet-adapter-plugin": "0.2.8", + "@blocto/connectkit-connector": "0.2.3", + "@blocto/rainbowkit-connector": "0.2.9", + "@blocto/wagmi-connector": "1.3.1", + "@blocto/web3-react-connector": "1.0.6", + "@blocto/web3modal-connector": "0.1.4", + "@blocto/sdk": "0.9.1", + "@blocto/dappauth": "2.2.2", + "eslint-config-custom": "0.0.0", + "tsconfig": "0.0.0" + }, + "changesets": [ + "fair-colts-arrive" + ] +} diff --git a/adapters/wagmi-connector/CHANGELOG.md b/adapters/wagmi-connector/CHANGELOG.md index 37a8c305..39794fde 100644 --- a/adapters/wagmi-connector/CHANGELOG.md +++ b/adapters/wagmi-connector/CHANGELOG.md @@ -1,5 +1,11 @@ # @blocto/wagmi-connector +## 2.0.0-beta.0 + +### Major Changes + +- 196aee7: blocto connector support wagmi v2 + ## 1.3.1 ### Patch Changes diff --git a/adapters/wagmi-connector/package.json b/adapters/wagmi-connector/package.json index b213f91d..05cce596 100644 --- a/adapters/wagmi-connector/package.json +++ b/adapters/wagmi-connector/package.json @@ -2,7 +2,7 @@ "name": "@blocto/wagmi-connector", "description": "Blocto wallet connector extend from wagmi Connector", "author": "Calvin Chang", - "version": "1.3.1", + "version": "2.0.0-beta.0", "type": "module", "main": "./dist/index.umd.cjs", "module": "./dist/index.js", diff --git a/yarn.lock b/yarn.lock index e5cca977..f5c1bc54 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1136,15 +1136,6 @@ resolved "https://registry.npmjs.org/@blakeembrey/template/-/template-1.1.0.tgz" integrity sha512-iZf+UWfL+DogJVpd/xMQyP6X6McYd6ArdYoPMiv/zlOTzeXXfQbYxBNJJBF6tThvsjLMbA8tLjkCdm9RWMFCCw== -"@blocto/sdk@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@blocto/sdk/-/sdk-0.9.1.tgz#86eb3f972f6bdd78a1c929e271c652f8ec5e1bd0" - integrity sha512-JPBKDUrgTrTc9PaCj1iNleMy68V6DARa93sJa6OBvxkFCtYNxGn+sNCOZqhCU/3YjQ6z75/Mls2oF4kQe/04cw== - dependencies: - buffer "^6.0.3" - eip1193-provider "^1.0.1" - js-sha3 "^0.8.0" - "@blocto/wagmi-connector@npm:@blocto/wagmi-connector@^1.3.1": version "1.3.1" resolved "https://registry.yarnpkg.com/@blocto/wagmi-connector/-/wagmi-connector-1.3.1.tgz#513feec757e33c24e6e98c4bbb9f326b90d58325" From 14ae6bb063059d549722f58ea179d8e408767897 Mon Sep 17 00:00:00 2001 From: q20274982 Date: Thu, 18 Jan 2024 07:32:25 +0000 Subject: [PATCH 11/11] ci: bump package version --- .changeset/fair-colts-arrive.md | 5 ----- .changeset/pre.json | 19 ------------------- adapters/wagmi-connector/CHANGELOG.md | 6 ++++++ adapters/wagmi-connector/package.json | 2 +- 4 files changed, 7 insertions(+), 25 deletions(-) delete mode 100644 .changeset/fair-colts-arrive.md delete mode 100644 .changeset/pre.json diff --git a/.changeset/fair-colts-arrive.md b/.changeset/fair-colts-arrive.md deleted file mode 100644 index 6490f1fc..00000000 --- a/.changeset/fair-colts-arrive.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@blocto/wagmi-connector': major ---- - -blocto connector support wagmi v2 diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index 584737f8..00000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "mode": "exit", - "tag": "beta", - "initialVersions": { - "@blocto/aptos-wallet-adapter-plugin": "0.2.8", - "@blocto/connectkit-connector": "0.2.3", - "@blocto/rainbowkit-connector": "0.2.9", - "@blocto/wagmi-connector": "1.3.1", - "@blocto/web3-react-connector": "1.0.6", - "@blocto/web3modal-connector": "0.1.4", - "@blocto/sdk": "0.9.1", - "@blocto/dappauth": "2.2.2", - "eslint-config-custom": "0.0.0", - "tsconfig": "0.0.0" - }, - "changesets": [ - "fair-colts-arrive" - ] -} diff --git a/adapters/wagmi-connector/CHANGELOG.md b/adapters/wagmi-connector/CHANGELOG.md index 39794fde..4a2b0bcd 100644 --- a/adapters/wagmi-connector/CHANGELOG.md +++ b/adapters/wagmi-connector/CHANGELOG.md @@ -1,5 +1,11 @@ # @blocto/wagmi-connector +## 2.0.0 + +### Major Changes + +- 196aee7: blocto connector support wagmi v2 + ## 2.0.0-beta.0 ### Major Changes diff --git a/adapters/wagmi-connector/package.json b/adapters/wagmi-connector/package.json index 05cce596..e2a1d8c4 100644 --- a/adapters/wagmi-connector/package.json +++ b/adapters/wagmi-connector/package.json @@ -2,7 +2,7 @@ "name": "@blocto/wagmi-connector", "description": "Blocto wallet connector extend from wagmi Connector", "author": "Calvin Chang", - "version": "2.0.0-beta.0", + "version": "2.0.0", "type": "module", "main": "./dist/index.umd.cjs", "module": "./dist/index.js",