From f847bf5273fec4ea941116469ebb15a3113ef028 Mon Sep 17 00:00:00 2001 From: Mills McIlroy <37815163+millsmcilroy@users.noreply.github.com> Date: Wed, 18 Oct 2023 04:09:09 -0600 Subject: [PATCH 01/15] Fix ethSignTypedData so that the signing address can be recovered from the signature --- packages/hdwallet-keepkey/package.json | 2 +- packages/hdwallet-keepkey/src/ethereum.ts | 98 ++++++++--------------- 2 files changed, 34 insertions(+), 66 deletions(-) diff --git a/packages/hdwallet-keepkey/package.json b/packages/hdwallet-keepkey/package.json index de940cd53..6524fff55 100644 --- a/packages/hdwallet-keepkey/package.json +++ b/packages/hdwallet-keepkey/package.json @@ -18,13 +18,13 @@ "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", "@keepkey/device-protocol": "^7.12.2", + "@metamask/eth-sig-util": "^7.0.0", "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", "@shapeshiftoss/hdwallet-core": "1.52.2", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "bignumber.js": "^9.0.1", "bnb-javascript-sdk-nobroadcast": "^2.16.14", "crypto-js": "^4.0.0", - "eip-712": "^1.0.0", "eip55": "^2.1.0", "google-protobuf": "^3.15.8", "icepick": "^2.4.0", diff --git a/packages/hdwallet-keepkey/src/ethereum.ts b/packages/hdwallet-keepkey/src/ethereum.ts index 4c2d0ddd4..7efc97050 100644 --- a/packages/hdwallet-keepkey/src/ethereum.ts +++ b/packages/hdwallet-keepkey/src/ethereum.ts @@ -3,8 +3,8 @@ import { FeeMarketEIP1559Transaction, Transaction } from "@ethereumjs/tx"; import * as Messages from "@keepkey/device-protocol/lib/messages_pb"; import * as Ethereum from "@keepkey/device-protocol/lib/messages-ethereum_pb"; import * as Types from "@keepkey/device-protocol/lib/types_pb"; +import { SignTypedDataVersion, TypedDataUtils } from "@metamask/eth-sig-util"; import * as core from "@shapeshiftoss/hdwallet-core"; -import { getMessage, getTypeHash } from "eip-712"; import * as eip55 from "eip55"; import * as ethers from "ethers"; @@ -188,80 +188,48 @@ export async function ethSignMessage(transport: Transport, msg: core.ETHSignMess }; } +/** + * Supports EIP-712 eth_signTypedData_v4 + * https://docs.metamask.io/wallet/how-to/sign-data/#use-eth_signtypeddata_v4 + * Due to lack of firmware support, a hashed version of the data is + * displayed to the user on the device when signing + */ export async function ethSignTypedData( transport: Transport, msg: core.ETHSignTypedData ): Promise { - /** - * If the message to be signed is sufficiently small, the KeepKey can calculate the - * domain separator and message hashes. Otherwise, we need to pre-calculate hashes - * here and verify on device. - */ - - const sTypes = JSON.stringify({ types: msg.typedData.types }); - const sPrimaryType = JSON.stringify({ primaryType: msg.typedData.primaryType }); - const sDomain = JSON.stringify({ domain: msg.typedData.domain }); - const sMessage = JSON.stringify({ message: msg.typedData.message }); - try { - if (sTypes.length > 2048 || sPrimaryType.length > 80 || sDomain.length > 2048 || sMessage.length > 2048) { - /* Pre-calculate domain separator and messages hashes and verify on KeepKey */ - - const domainSeparatorHash = getTypeHash(msg.typedData, "EIP712Domain"); - const domainSeparatorHash64 = Buffer.from(domainSeparatorHash).toString("base64"); - const messageHash = getMessage(msg.typedData, true); - const messageHash64 = Buffer.from(messageHash).toString("base64"); - - const t = new Ethereum.EthereumSignTypedHash(); - t.setAddressNList(msg.addressNList); - t.setDomainSeparatorHash(domainSeparatorHash64); - t.setMessageHash(messageHash64); - - const response = await transport.call(Messages.MessageType.MESSAGETYPE_ETHEREUMSIGNTYPEDHASH, t, { - msgTimeout: core.LONG_TIMEOUT, - }); - - const result = response.proto as Ethereum.EthereumTypedDataSignature; - const res: core.ETHSignedTypedData = { - address: result.getAddress() || "", - signature: "0x" + core.toHexString(result.getSignature_asU8()), - }; - - return res; + const version = SignTypedDataVersion.V4; + const EIP_712_DOMAIN = "EIP712Domain"; + const { types, primaryType, domain, message } = TypedDataUtils.sanitizeData(msg.typedData); + const domainSeparatorHash = TypedDataUtils.hashStruct(EIP_712_DOMAIN, domain, types, version); + const ethereumSignTypedHash = new Ethereum.EthereumSignTypedHash(); + ethereumSignTypedHash.setAddressNList(msg.addressNList); + ethereumSignTypedHash.setDomainSeparatorHash(domainSeparatorHash); + + // If "EIP712Domain" is the primaryType, then the message IS the domain separator hash + if (primaryType === EIP_712_DOMAIN) { + ethereumSignTypedHash.setMessageHash(domainSeparatorHash); } else { - /* Let KeepKey calculate domain separator and message hashes */ - const dsh = new Ethereum.Ethereum712TypesValues(); - dsh.setAddressNList(msg.addressNList); - dsh.setEip712types(sTypes); - dsh.setEip712primetype(sPrimaryType); - dsh.setEip712data(sDomain); - dsh.setEip712typevals(1); - - let response = await transport.call(Messages.MessageType.MESSAGETYPE_ETHEREUM712TYPESVALUES, dsh, { - msgTimeout: core.LONG_TIMEOUT, - omitLock: true, - }); - - const mh = new Ethereum.Ethereum712TypesValues(); - mh.setAddressNList(msg.addressNList); - mh.setEip712types(sTypes); - mh.setEip712primetype(sPrimaryType); - mh.setEip712data(sMessage); - mh.setEip712typevals(2); + const messageHash = TypedDataUtils.hashStruct(primaryType as string, message, types, version); + ethereumSignTypedHash.setMessageHash(messageHash); + } - response = await transport.call(Messages.MessageType.MESSAGETYPE_ETHEREUM712TYPESVALUES, mh, { + const response = await transport.call( + Messages.MessageType.MESSAGETYPE_ETHEREUMSIGNTYPEDHASH, + ethereumSignTypedHash, + { msgTimeout: core.LONG_TIMEOUT, - omitLock: true, - }); + } + ); - const result = response.proto as Ethereum.EthereumTypedDataSignature; - const res: core.ETHSignedTypedData = { - address: result.getAddress() || "", - signature: "0x" + core.toHexString(result.getSignature_asU8()), - }; + const result = response.proto as Ethereum.EthereumTypedDataSignature; + const res: core.ETHSignedTypedData = { + address: result.getAddress() || "", + signature: "0x" + core.toHexString(result.getSignature_asU8()), + }; - return res; - } + return res; } catch (error) { console.error({ error }); throw new Error("Failed to sign typed ETH message"); From 1045c4a22e24235efd6b0ba2294e1ea6dd353276 Mon Sep 17 00:00:00 2001 From: Mills McIlroy <37815163+millsmcilroy@users.noreply.github.com> Date: Wed, 18 Oct 2023 06:00:57 -0600 Subject: [PATCH 02/15] Update Sandbox ethSignTypedData to verify that signature is accurate by recovering the signing address + refactor the Ethereum Sandbox section + tech debt + random bug fixes caught along the way + messing around with tsconfig --- examples/sandbox/index.html | 11 +- examples/sandbox/index.ts | 333 +++++++++--------- examples/sandbox/json/ethTx.json | 150 -------- .../json/ethereum/ethSignTypedDataV4.json | 164 +++++++++ examples/sandbox/json/ethereum/ethTx.json | 227 ++++++++++++ examples/sandbox/package.json | 9 +- examples/sandbox/tsconfig.json | 5 +- package.json | 1 + packages/hdwallet-keepkey/src/ethereum.ts | 2 +- packages/hdwallet-tallyho/src/adapter.ts | 4 + tsconfig.json | 2 +- yarn.lock | 70 +++- 12 files changed, 631 insertions(+), 347 deletions(-) delete mode 100644 examples/sandbox/json/ethTx.json create mode 100644 examples/sandbox/json/ethereum/ethSignTypedDataV4.json create mode 100644 examples/sandbox/json/ethereum/ethTx.json diff --git a/examples/sandbox/index.html b/examples/sandbox/index.html index 89b88970d..ae9f72002 100644 --- a/examples/sandbox/index.html +++ b/examples/sandbox/index.html @@ -300,12 +300,12 @@
Arkeo

Ethereum

- + + - - +
@@ -437,11 +437,6 @@

Mnemoic Required

- diff --git a/examples/sandbox/index.ts b/examples/sandbox/index.ts index 9c0901f34..e04264d0d 100644 --- a/examples/sandbox/index.ts +++ b/examples/sandbox/index.ts @@ -1,5 +1,6 @@ import "regenerator-runtime/runtime"; +import * as sigUtil from "@metamask/eth-sig-util"; import * as coinbase from "@shapeshiftoss/hdwallet-coinbase"; import { CoinbaseProviderConfig } from "@shapeshiftoss/hdwallet-coinbase"; import * as core from "@shapeshiftoss/hdwallet-core"; @@ -19,7 +20,9 @@ import * as walletConnect from "@shapeshiftoss/hdwallet-walletconnect"; import * as walletConnectv2 from "@shapeshiftoss/hdwallet-walletconnectv2"; import * as xdefi from "@shapeshiftoss/hdwallet-xdefi"; import { EthereumProviderOptions } from "@walletconnect/ethereum-provider/dist/types/EthereumProvider"; -import $ from "jquery"; +import { TypedData } from "eip-712"; +import { toChecksumAddress } from "ethereumjs-util"; +import $, { noop } from "jquery"; import Web3 from "web3"; import { @@ -47,7 +50,8 @@ import { } from "./json/cosmos/cosmosAminoTx.json"; import * as dashTxJson from "./json/dashTx.json"; import * as dogeTxJson from "./json/dogeTx.json"; -import { eip712 } from "./json/ethTx.json"; +import { openSeaListNFTMessage } from "./json/ethereum/ethSignTypedDataV4.json"; +import { eip712, txs } from "./json/ethereum/ethTx.json"; import * as ltcTxJson from "./json/ltcTx.json"; import { osmosisDelegateTx, @@ -164,16 +168,6 @@ const $xdefi = $("#xdefi"); const $keplr = $("#keplr"); const $keyring = $("#keyring"); -const $ethAddr = $("#ethAddr"); -const $ethTx = $("#ethTx"); -const $ethSign = $("#ethSign"); -const $ethSend = $("#ethSend"); -const $ethVerify = $("#ethVerify"); -const $ethResults = $("#ethResults"); -const $ethEIP1559 = $("#ethEIP1559"); -const $ethSignTypedData = $("#ethSignTypedData"); -const $ethSignTypedDataPreCalculate = $("#ethSignTypedDataPreCalculate"); - $keepkey.on("click", async (e) => { e.preventDefault(); wallet = await keepkeyAdapter.pairDevice(undefined, /*tryDebugLink=*/ true); @@ -380,7 +374,10 @@ async function deviceConnected(deviceId) { } try { - await ledgerWebUSBAdapter.initialize(); + // skip initialize() on page load b/c: + // Error: WebUSBCouldNotInitialize.... + // "Must be handling a user gesture to show a permission request." + noop(); } catch (e) { console.error("Could not initialize LedgerWebUSBAdapter", e); } @@ -416,7 +413,7 @@ async function deviceConnected(deviceId) { } try { - await keplrAdapter.initialize([]); + await keplrAdapter.initialize(); } catch (e) { console.error("Could not initialize KeplrAdapter", e); } @@ -920,7 +917,7 @@ $rippleAddr.on("click", async (e) => { $rippleTx.on("click", async (e) => { e.preventDefault(); if (!wallet) { - $ethResults.val("No wallet?"); + $rippleResults.val("No wallet?"); return; } if (core.supportsRipple(wallet)) { @@ -953,7 +950,7 @@ const $eosResults = $("#eosResults"); $eosAddr.on("click", async (e) => { e.preventDefault(); if (!wallet) { - $ethResults.val("No wallet?"); + $eosResults.val("No wallet?"); return; } if (core.supportsEos(wallet)) { @@ -977,7 +974,7 @@ $eosAddr.on("click", async (e) => { $eosTx.on("click", async (e) => { e.preventDefault(); if (!wallet) { - $ethResults.val("No wallet?"); + $eosResults.val("No wallet?"); return; } if (core.supportsEos(wallet)) { @@ -1043,21 +1040,18 @@ const $fioResults = $("#fioResults"); $fioAddr.on("click", async (e) => { e.preventDefault(); if (!wallet) { - $ethResults.val("No wallet?"); + $fioResults.val("No wallet?"); return; } if (core.supportsFio(wallet)) { const { addressNList } = wallet.fioGetAccountPaths({ accountIdx: 0 })[0]; - let result = await wallet.fioGetPublicKey({ + let result = await wallet.fioGetAddress({ addressNList, showDisplay: false, - kind: 0, }); - result = await wallet.fioGetPublicKey({ + result = await wallet.fioGetAddress({ addressNList, showDisplay: true, - kind: 0, - address: result, }); $fioResults.val(result); } else { @@ -1069,7 +1063,7 @@ $fioAddr.on("click", async (e) => { $fioTx.on("click", async (e) => { e.preventDefault(); if (!wallet) { - $ethResults.val("No wallet?"); + $fioResults.val("No wallet?"); return; } if (core.supportsFio(wallet)) { @@ -1093,9 +1087,9 @@ $fioTx.on("click", async (e) => { console.info(res); console.info("signature = %d", res.signature); - console.info("serialized = %s", core.toHexString(res.serialized)); + console.info("serialized = %s", res.serialized); - $eosResults.val(res.fioFormSig); + $fioResults.val(JSON.stringify(res)); } else { const label = await wallet.getLabel(); $fioResults.val(label + " does not support Fio"); @@ -1495,7 +1489,7 @@ $thorchainSignSwap.on("click", async (e) => { $thorchainSwapResults.val(JSON.stringify(res)); } else { const label = await wallet.getLabel(); - $ethResults.val(label + " does not support ETH"); + $thorchainSwapResults.val(label + " does not support ETH"); } break; default: @@ -1665,7 +1659,7 @@ $thorchainSignAddLiquidity.on("click", async (e) => { $thorchainAddLiquidityResults.val(JSON.stringify(res)); } else { const label = await wallet.getLabel(); - $ethResults.val(label + " does not support ETH"); + $thorchainAddLiquidityResults.val(label + " does not support ETH"); } break; default: @@ -2479,36 +2473,32 @@ $osmosisSwap.on("click", async (e) => { * Bech32: false */ +interface EthOperationConfig { + handler: (paths: any) => Promise; + useEIP1559?: boolean; +} let ethEIP1559Selected = false; -const ethTx = { - addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"), - nonce: "0x01", - gasPrice: "0x1dcd65000", - gasLimit: "0x5622", - value: "0x2c68af0bb14000", - to: "0x12eC06288EDD7Ae2CC41A843fE089237fC7354F0", - chainId: 1, - data: "", -}; - -const ethTx1559 = { - addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"), - nonce: "0x0", - gasLimit: "0x5ac3", - maxFeePerGas: "0x16854be509", - maxPriorityFeePerGas: "0x540ae480", - value: "0x1550f7dca70000", // 0.006 eth - to: "0xfc0cc6e85dff3d75e3985e0cb83b090cfd498dd1", - chainId: 1, - data: "", -}; +const ethButtons = [ + "ethAddr", + "ethTx", + "ethSign", + "ethSend", + "ethVerify", + "ethResults", + "ethEIP1559", + "ethSignTypedData", + "ethSignTypedDataAlternate", +].reduce((acc, id) => { + acc[id] = $(`#${id}`); + return acc; +}, {} as Record>); -$ethAddr.on("click", async (e) => { +const performEthOperation = async (e: any, config: EthOperationConfig) => { e.preventDefault(); if (!wallet) { - $ethResults.val("No wallet?"); + ethButtons.ethResults.val("No wallet?"); return; } @@ -2517,139 +2507,132 @@ $ethAddr.on("click", async (e) => { coin: "Ethereum", accountIdx: 0, })[0]; - let result = await wallet.ethGetAddress({ - addressNList: hardenedPath.concat(relPath), - showDisplay: false, - }); - result = await wallet.ethGetAddress({ - addressNList: hardenedPath.concat(relPath), - showDisplay: true, - address: result, - }); - $ethResults.val(result); - } else { - const label = await wallet.getLabel(); - $ethResults.val(label + " does not support ETH"); - } -}); -$ethTx.on("click", async (e) => { - e.preventDefault(); - if (!wallet) { - $ethResults.val("No wallet?"); - return; - } - if (core.supportsETH(wallet)) { - const res = ethEIP1559Selected ? await wallet.ethSignTx(ethTx1559) : await wallet.ethSignTx(ethTx); - $ethResults.val(JSON.stringify(res)); + const tx = config.useEIP1559 && ethEIP1559Selected ? txs.ethTx1559 : txs.ethTxLegacy; + const result = await config.handler({ hardenedPath, relPath, tx }); + ethButtons.ethResults.val(result); } else { const label = await wallet.getLabel(); - $ethResults.val(label + " does not support ETH"); + ethButtons.ethResults.val(`${label} does not support ETH`); } -}); - -$ethSign.on("click", async (e) => { - e.preventDefault(); - if (!wallet) { - $ethResults.val("No wallet?"); - return; - } - if (core.supportsETH(wallet)) { - const { hardenedPath: hard, relPath: rel } = wallet.ethGetAccountPaths({ - coin: "Ethereum", - accountIdx: 0, - })[0]; - const result = await wallet.ethSignMessage({ - addressNList: hard.concat(rel), - message: "Hello World", - }); - $ethResults.val(result.address + ", " + result.signature); - } else { - const label = await wallet.getLabel(); - $ethResults.val(label + " does not support ETH"); - } -}); - -$ethSend.on("click", async (e) => { - e.preventDefault(); - if (!wallet) { - $ethResults.val("No wallet?"); - return; - } - if (core.supportsETH(wallet)) { - const result = ethEIP1559Selected - ? await wallet.ethSendTx(ethTx1559 as core.ETHSignTx) - : await wallet.ethSendTx(ethTx as core.ETHSignTx); - console.info("Result: ", result); - $ethResults.val(result.hash); - } else { - const label = await wallet.getLabel(); - $ethResults.val(label + " does not support ETH"); - } -}); +}; -$ethVerify.on("click", async (e) => { - e.preventDefault(); - if (!wallet) { - $ethResults.val("No wallet?"); - return; - } - if (core.supportsETH(wallet)) { - const result = await wallet.ethVerifyMessage({ - address: "0x2068dD92B6690255553141Dfcf00dF308281f763", - message: "Hello World", - signature: - "61f1dda82e9c3800e960894396c9ce8164fd1526fccb136c71b88442405f7d09721725629915d10bc7cecfca2818fe76bc5816ed96a1b0cebee9b03b052980131b", - }); - $ethResults.val(result ? "✅" : "❌"); - } else { - const label = await wallet.getLabel(); - $ethResults.val(label + " does not support ETH"); - } -}); +ethButtons.ethAddr.on("click", (e) => + performEthOperation(e, { + handler: async ({ hardenedPath, relPath }) => { + let result = await wallet.ethGetAddress({ + addressNList: hardenedPath.concat(relPath), + showDisplay: false, + }); + result = await wallet.ethGetAddress({ + addressNList: hardenedPath.concat(relPath), + showDisplay: true, + address: result, + }); + return result; + }, + }) +); + +ethButtons.ethTx.on("click", (e) => + performEthOperation(e, { + handler: async ({ tx }) => { + const res = await wallet.ethSignTx(tx); + return JSON.stringify(res); + }, + useEIP1559: ethEIP1559Selected, + }) +); + +ethButtons.ethSign.on("click", (e) => + performEthOperation(e, { + handler: async ({ hardenedPath, relPath }) => { + const result = await wallet.ethSignMessage({ + addressNList: hardenedPath.concat(relPath), + message: "0x48656c6c6f20576f726c64", // "Hello World", + }); + return `Address: ${result.address} Signature: ${result.signature}`; + }, + }) +); + +ethButtons.ethSend.on("click", (e) => + performEthOperation(e, { + handler: async ({ tx }) => { + if (wallet?.ethSendTx) { + const result = await wallet.ethSendTx(tx as core.ETHSignTx); + return result.hash; + } else { + const label = await wallet.getVendor(); + return label + " does not support ethSendTx"; + } + }, + useEIP1559: ethEIP1559Selected, + }) +); + +ethButtons.ethVerify.on("click", (e) => + performEthOperation(e, { + handler: async () => { + const signerAddress = "0x2068dD92B6690255553141Dfcf00dF308281f763"; + const result = await wallet.ethVerifyMessage({ + address: signerAddress, + message: "Hello World", + signature: + "0x61f1dda82e9c3800e960894396c9ce8164fd1526fccb136c71b88442405f7d09721725629915d10bc7cecfca2818fe76bc5816ed96a1b0cebee9b03b052980131b", + }); + return result ? `✅ ${signerAddress} is the signer` : `❌ ${signerAddress} is NOT the signer`; + }, + }) +); -$ethEIP1559.on("click", async () => { - if (!ethEIP1559Selected) { - $ethEIP1559.attr("class", "button"); - } else { - $ethEIP1559.attr("class", "button-outline"); - } +ethButtons.ethEIP1559.on("click", () => { ethEIP1559Selected = !ethEIP1559Selected; + ethButtons.ethEIP1559.attr("class", ethEIP1559Selected ? "button" : "button-outline"); }); -$ethSignTypedData.on("click", async (e) => { - e.preventDefault(); - if (!wallet) { - $ethResults.val("No wallet?"); - return; - } - if (core.supportsETH(wallet)) { - const result = await wallet.ethSignTypedData({ - typedData: eip712["calculateHashesOnDevice"]["typedData"], - addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"), - }); - $ethResults.val(JSON.stringify(result, null, 2)); - } -}); +const doesRecoveredMatchAddress = (typedData: TypedData, fromAddress: string, signature: string): boolean => { + const recoveredAddress = sigUtil.recoverTypedSignature({ + data: typedData, + signature: signature, + version: sigUtil.SignTypedDataVersion.V4, + }); + return toChecksumAddress(recoveredAddress) === toChecksumAddress(fromAddress); +}; -$ethSignTypedDataPreCalculate.on("click", async (e) => { - e.preventDefault(); - if (!wallet) { - $ethResults.val("No wallet?"); - return; - } - if (!keepkey.isKeepKey(wallet)) { - $ethResults.val("Action only supported for KeepKey"); - return; - } - if (core.supportsETH(wallet)) { - const result = await wallet.ethSignTypedData({ - typedData: eip712["precalculateHashes"]["typedData"], - addressNList: core.bip32ToAddressNList("m/44'/60'/0'/0/0"), - }); - $ethResults.val(JSON.stringify(result, null, 2)); - } -}); +ethButtons.ethSignTypedData.on("click", (e) => + performEthOperation(e, { + handler: async ({ hardenedPath, relPath }) => { + const typedData = openSeaListNFTMessage; // irl example of an OpenSea eth_signTypedData_v4 message + const { address, signature } = await wallet.ethSignTypedData({ + typedData, + addressNList: hardenedPath.concat(relPath), + }); + const success = doesRecoveredMatchAddress(typedData, address, signature); + return ( + (success ? `✅ "${address}" is the signer` : `❌ "${address}" is NOT the signer`) + + `; Signature is: "${signature}"` + ); + }, + }) +); + +ethButtons.ethSignTypedDataAlternate.on("click", (e) => + performEthOperation(e, { + handler: async ({ hardenedPath, relPath }) => { + const typedData = eip712["precalculateHashes"]["typedData"]; + const { address, signature } = await wallet.ethSignTypedData({ + typedData, + addressNList: hardenedPath.concat(relPath), + }); + const success = doesRecoveredMatchAddress(typedData, address, signature); + return ( + (success ? `✅ "${address}" is the signer` : `❌ "${address}" is NOT the signer`) + + `; Signature is: "${signature}"` + ); + }, + }) +); /* ERC-20 diff --git a/examples/sandbox/json/ethTx.json b/examples/sandbox/json/ethTx.json deleted file mode 100644 index 77f3b5d2c..000000000 --- a/examples/sandbox/json/ethTx.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "eip712": { - "precalculateHashes": { - "typedData": { - "types": { - "EIP712Domain": [ - { - "name": "name", - "type": "string" - }, - { - "name": "version", - "type": "string" - }, - { - "name": "chainId", - "type": "uint256" - }, - { - "name": "verifyingContract", - "type": "address" - }, - { - "name": "salt", - "type": "bytes32" - } - ], - "Person": [ - { - "name": "name", - "type": "string" - }, - { - "name": "wallet", - "type": "address" - }, - { - "name": "married", - "type": "bool" - }, - { - "name": "kids", - "type": "uint8" - }, - { - "name": "karma", - "type": "int16" - }, - { - "name": "secret", - "type": "bytes" - }, - { - "name": "small_secret", - "type": "bytes16" - }, - { - "name": "pets", - "type": "string[]" - }, - { - "name": "two_best_friends", - "type": "string[2]" - } - ], - "ThisIsARidiculouslyLongPrimaryTypeToForceHashesToBePrecalculatedByHDWalletKeepKey": [ - { - "name": "from", - "type": "Person" - }, - { - "name": "to", - "type": "Person" - }, - { - "name": "messages", - "type": "string[]" - } - ] - }, - "primaryType": "ThisIsARidiculouslyLongPrimaryTypeToForceHashesToBePrecalculatedByHDWalletKeepKey", - "domain": { - "name": "Ether Mail", - "version": "1", - "chainId": 1, - "verifyingContract": "0x1e0Ae8205e9726E6F296ab8869160A6423E2337E", - "salt": "0xca92da1a6e91d9358328d2f2155af143a7cb74b81a3a4e3e57e2191823dbb56c" - }, - "message": { - "from": { - "name": "Amy", - "wallet": "0xc0004B62C5A39a728e4Af5bee0c6B4a4E54b15ad", - "married": true, - "kids": 2, - "karma": 4, - "secret": "0x62c5a39a728e4af5bee0c6b462c5a39a728e4af5bee0c6b462c5a39a728e4af5bee0c6b462c5a39a728e4af5bee0c6b4", - "small_secret": "0x5ccf0e54367104795a47bc0481645d9e", - "pets": ["parrot"], - "two_best_friends": ["Carl", "Denis"] - }, - "to": { - "name": "Bob", - "wallet": "0x54B0Fa66A065748C40dCA2C7Fe125A2028CF9982", - "married": false, - "kids": 0, - "karma": -4, - "secret": "0x7fe125a2028cf97fe125a2028cf97fe125a2028cf97fe125a2028cf97fe125a2028cf97fe125a2028cf97fe125a2028cf9", - "small_secret": "0xa5e5c47b64775abc476d2962403258de", - "pets": ["dog", "cat"], - "two_best_friends": ["Emil", "Franz"] - }, - "messages": ["Hello, Bob!", "How are you?", "Hope you're fine"] - } - } - }, - "calculateHashesOnDevice": { - "typedData": { - "types": { - "EIP712Domain": [ - { "name": "name", "type": "string" }, - { "name": "version", "type": "string" }, - { "name": "chainId", "type": "uint256" }, - { "name": "verifyingContract", "type": "address" } - ], - "Permit": [ - { "name": "owner", "type": "address" }, - { "name": "spender", "type": "address" }, - { "name": "value", "type": "uint256" }, - { "name": "nonce", "type": "uint256" }, - { "name": "deadline", "type": "uint256" } - ] - }, - "domain": { - "name": "USD Coin", - "version": "2", - "verifyingContract": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "chainId": 1 - }, - "primaryType": "Permit", - "message": { - "owner": "0x33b35c665496bA8E71B22373843376740401F106", - "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", - "value": "4023865", - "nonce": 0, - "deadline": 1655431026 - } - } - } - } - } \ No newline at end of file diff --git a/examples/sandbox/json/ethereum/ethSignTypedDataV4.json b/examples/sandbox/json/ethereum/ethSignTypedDataV4.json new file mode 100644 index 000000000..9b895d495 --- /dev/null +++ b/examples/sandbox/json/ethereum/ethSignTypedDataV4.json @@ -0,0 +1,164 @@ +{ + "openSeaListNFTMessage": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "OrderComponents": [ + { + "name": "offerer", + "type": "address" + }, + { + "name": "zone", + "type": "address" + }, + { + "name": "offer", + "type": "OfferItem[]" + }, + { + "name": "consideration", + "type": "ConsiderationItem[]" + }, + { + "name": "orderType", + "type": "uint8" + }, + { + "name": "startTime", + "type": "uint256" + }, + { + "name": "endTime", + "type": "uint256" + }, + { + "name": "zoneHash", + "type": "bytes32" + }, + { + "name": "salt", + "type": "uint256" + }, + { + "name": "conduitKey", + "type": "bytes32" + }, + { + "name": "counter", + "type": "uint256" + } + ], + "OfferItem": [ + { + "name": "itemType", + "type": "uint8" + }, + { + "name": "token", + "type": "address" + }, + { + "name": "identifierOrCriteria", + "type": "uint256" + }, + { + "name": "startAmount", + "type": "uint256" + }, + { + "name": "endAmount", + "type": "uint256" + } + ], + "ConsiderationItem": [ + { + "name": "itemType", + "type": "uint8" + }, + { + "name": "token", + "type": "address" + }, + { + "name": "identifierOrCriteria", + "type": "uint256" + }, + { + "name": "startAmount", + "type": "uint256" + }, + { + "name": "endAmount", + "type": "uint256" + }, + { + "name": "recipient", + "type": "address" + } + ] + }, + "primaryType": "OrderComponents", + "domain": { + "name": "Seaport", + "version": "1.5", + "chainId": "137", + "verifyingContract": "0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC" + }, + "message": { + "offerer": "0x8c9Ed98b7C3961D22Cc871356C7b73d194608817", + "offer": [ + { + "itemType": "2", + "token": "0xa9a6A3626993D487d2Dbda3173cf58cA1a9D9e9f", + "identifierOrCriteria": "64560424590441301826453812164224751707642265079650986418901366599236941237984", + "startAmount": "1", + "endAmount": "1" + } + ], + "consideration": [ + { + "itemType": "1", + "token": "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", + "identifierOrCriteria": "0", + "startAmount": "194707500000000000", + "endAmount": "194707500000000000", + "recipient": "0x8c9Ed98b7C3961D22Cc871356C7b73d194608817" + }, + { + "itemType": "1", + "token": "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", + "identifierOrCriteria": "0", + "startAmount": "4992500000000000", + "endAmount": "4992500000000000", + "recipient": "0x0000a26b00c1F0DF003000390027140000fAa719" + } + ], + "startTime": "1696393777", + "endTime": "1699072168", + "orderType": "0", + "zone": "0x0000000000000000000000000000000000000000", + "zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "salt": "24446860302761739304752683030156737591518664810215442929815805592127532436551", + "conduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000", + "totalOriginalConsiderationItems": "2", + "counter": "0" + } + } +} diff --git a/examples/sandbox/json/ethereum/ethTx.json b/examples/sandbox/json/ethereum/ethTx.json new file mode 100644 index 000000000..fa365df7c --- /dev/null +++ b/examples/sandbox/json/ethereum/ethTx.json @@ -0,0 +1,227 @@ +{ + "eip712": { + "precalculateHashes": { + "typedData": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + } + ], + "Person": [ + { + "name": "name", + "type": "string" + }, + { + "name": "wallet", + "type": "address" + }, + { + "name": "married", + "type": "bool" + }, + { + "name": "kids", + "type": "uint8" + }, + { + "name": "karma", + "type": "int16" + }, + { + "name": "secret", + "type": "bytes" + }, + { + "name": "small_secret", + "type": "bytes16" + }, + { + "name": "pets", + "type": "string[]" + }, + { + "name": "two_best_friends", + "type": "string[2]" + } + ], + "ThisIsARidiculouslyLongPrimaryTypeToForceHashesToBePrecalculatedByHDWalletKeepKey": [ + { + "name": "from", + "type": "Person" + }, + { + "name": "to", + "type": "Person" + }, + { + "name": "messages", + "type": "string[]" + } + ] + }, + "primaryType": "ThisIsARidiculouslyLongPrimaryTypeToForceHashesToBePrecalculatedByHDWalletKeepKey", + "domain": { + "name": "Ether Mail", + "version": "1", + "chainId": 1, + "verifyingContract": "0x1e0Ae8205e9726E6F296ab8869160A6423E2337E", + "salt": "0xca92da1a6e91d9358328d2f2155af143a7cb74b81a3a4e3e57e2191823dbb56c" + }, + "message": { + "from": { + "name": "Amy", + "wallet": "0xc0004B62C5A39a728e4Af5bee0c6B4a4E54b15ad", + "married": true, + "kids": 2, + "karma": 4, + "secret": "0x62c5a39a728e4af5bee0c6b462c5a39a728e4af5bee0c6b462c5a39a728e4af5bee0c6b462c5a39a728e4af5bee0c6b4", + "small_secret": "0x5ccf0e54367104795a47bc0481645d9e", + "pets": [ + "parrot" + ], + "two_best_friends": [ + "Carl", + "Denis" + ] + }, + "to": { + "name": "Bob", + "wallet": "0x54B0Fa66A065748C40dCA2C7Fe125A2028CF9982", + "married": false, + "kids": 0, + "karma": -4, + "secret": "0x7fe125a2028cf97fe125a2028cf97fe125a2028cf97fe125a2028cf97fe125a2028cf97fe125a2028cf97fe125a2028cf9", + "small_secret": "0xa5e5c47b64775abc476d2962403258de", + "pets": [ + "dog", + "cat" + ], + "two_best_friends": [ + "Emil", + "Franz" + ] + }, + "messages": [ + "Hello, Bob!", + "How are you?", + "Hope you're fine" + ] + } + } + }, + "calculateHashesOnDevice": { + "typedData": { + "types": { + "EIP712Domain": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "Permit": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "spender", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "nonce", + "type": "uint256" + }, + { + "name": "deadline", + "type": "uint256" + } + ] + }, + "domain": { + "name": "USD Coin", + "version": "2", + "verifyingContract": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "chainId": 1 + }, + "primaryType": "Permit", + "message": { + "owner": "0x33b35c665496bA8E71B22373843376740401F106", + "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", + "value": "4023865", + "nonce": 0, + "deadline": 1655431026 + } + } + } + }, + "txs": { + "ethTxLegacy": { + "addressNList": [ + 2147483692, + 2147483708, + 2147483648, + 0, + 0 + ], + "nonce": "0x01", + "gasPrice": "0x1dcd65000", + "gasLimit": "0x5622", + "value": "0x2c68af0bb14000", + "to": "0x12eC06288EDD7Ae2CC41A843fE089237fC7354F0", + "chainId": 1, + "data": "" + }, + "ethTx1559": { + "addressNList": [ + 2147483692, + 2147483708, + 2147483648, + 0, + 0 + ], + "nonce": "0x0", + "gasLimit": "0x5ac3", + "maxFeePerGas": "0x16854be509", + "maxPriorityFeePerGas": "0x540ae480", + "value": "0x1550f7dca70000", + "to": "0xfc0cc6e85dff3d75e3985e0cb83b090cfd498dd1", + "chainId": 1, + "data": "" + } + } +} diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index 851be8376..4d0e2c4a8 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -10,6 +10,7 @@ "clean": "rm -rf dist node_modules public .parcel-cache" }, "dependencies": { + "@metamask/eth-sig-util": "^7.0.0", "@shapeshiftoss/hdwallet-core": "1.52.2", "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.2", "@shapeshiftoss/hdwallet-keepkey-webusb": "1.52.2", @@ -26,16 +27,20 @@ "@shapeshiftoss/hdwallet-walletconnect": "1.52.2", "@shapeshiftoss/hdwallet-xdefi": "1.52.2", "bip32": "^2.0.4", - "jquery": "^3.4.1", + "eip-712": "^1.0.0", + "ethereumjs-util": "^7.1.5", + "jquery": "^3.7.1", "json": "^9.0.6", "p-queue": "^7.4.1", - "parcel": "^2.3.2", "source-map": "^0.8.0-beta.0", + "update-browserslist-db": "^1.0.13", "web3": "^1.5.1" }, "devDependencies": { + "@types/jquery": "^3.5.22", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", + "parcel": "^2.3.2", "path-browserify": "^1.0.1", "querystring-es3": "^0.2.1", "stream-http": "^3.2.0" diff --git a/examples/sandbox/tsconfig.json b/examples/sandbox/tsconfig.json index 1589f985f..91d94b2ee 100644 --- a/examples/sandbox/tsconfig.json +++ b/examples/sandbox/tsconfig.json @@ -1,5 +1,8 @@ { "compilerOptions": { "resolveJsonModule": true, + "esModuleInterop": true, + "lib": ["es2020", "dom", "es5"], + "typeRoots": ["../node_modules/@types", "../packages/*/node_modules/@types"] } -} \ No newline at end of file +} diff --git a/package.json b/package.json index e589ab1ef..1c6c9c4c1 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "@types/inquirer": "9.0.3", "@typescript-eslint/eslint-plugin": "^6.7.3", "@typescript-eslint/parser": "^6.7.3", + "browserify-zlib": "^0.2.0", "eslint": "^8.10.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-jest": "26.1.1", diff --git a/packages/hdwallet-keepkey/src/ethereum.ts b/packages/hdwallet-keepkey/src/ethereum.ts index 7efc97050..d911e7936 100644 --- a/packages/hdwallet-keepkey/src/ethereum.ts +++ b/packages/hdwallet-keepkey/src/ethereum.ts @@ -201,7 +201,7 @@ export async function ethSignTypedData( try { const version = SignTypedDataVersion.V4; const EIP_712_DOMAIN = "EIP712Domain"; - const { types, primaryType, domain, message } = TypedDataUtils.sanitizeData(msg.typedData); + const { types, primaryType, domain, message } = msg.typedData; const domainSeparatorHash = TypedDataUtils.hashStruct(EIP_712_DOMAIN, domain, types, version); const ethereumSignTypedHash = new Ethereum.EthereumSignTypedHash(); ethereumSignTypedHash.setAddressNList(msg.addressNList); diff --git a/packages/hdwallet-tallyho/src/adapter.ts b/packages/hdwallet-tallyho/src/adapter.ts index d04ba9369..7ecfe35cf 100644 --- a/packages/hdwallet-tallyho/src/adapter.ts +++ b/packages/hdwallet-tallyho/src/adapter.ts @@ -23,6 +23,10 @@ export class TallyHoAdapter { return new TallyHoAdapter(keyring); } + public async initialize(): Promise { + return Object.keys(this.keyring.wallets).length; + } + public async pairDevice(): Promise { let provider: TallyHoEthereumProvider | null; // eslint-disable-next-line no-useless-catch diff --git a/tsconfig.json b/tsconfig.json index 176257690..93453b30f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,7 @@ "sourceMap": true, "composite": true, "isolatedModules": true, - + "typeRoots": ["./node_modules/@types", "./packages/*/node_modules/@types"], /* Strict Type-Checking Options */ "strict": true, diff --git a/yarn.lock b/yarn.lock index 2dcfd0cfa..455c50779 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3909,6 +3909,14 @@ dependencies: "@lit-labs/ssr-dom-shim" "^1.0.0" +"@metamask/abi-utils@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@metamask/abi-utils/-/abi-utils-2.0.2.tgz#ad394e9cb8a95ac177cad942daadd88a246c0de8" + integrity sha512-B/A1dY/w4F/t6cDHUscklO6ovb/ztFsrsTXFd8QlqSByk/vyy+QbPE3VVpmmyI/7RX+PA1AJcvBdzCIz+r9dVQ== + dependencies: + "@metamask/utils" "^8.0.0" + superstruct "^1.0.3" + "@metamask/approval-controller@^3.5.1": version "3.5.1" resolved "https://registry.yarnpkg.com/@metamask/approval-controller/-/approval-controller-3.5.1.tgz#8d5099b7f0989d56b815a1423f395a15bf6bf056" @@ -3965,6 +3973,19 @@ json-rpc-random-id "^1.0.0" xtend "^4.0.1" +"@metamask/eth-sig-util@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-7.0.0.tgz#b035a2b826018578a5d463668bb64828271376d8" + integrity sha512-8KeXZB4SKx3EfNS5ahbjUMegyGvDQYk6Nk3hmM658sXpfAQR5ZlIXBgj+9RF+ZROqsU6EuNVgKt7Fr10re60PQ== + dependencies: + "@ethereumjs/util" "^8.1.0" + "@metamask/abi-utils" "^2.0.2" + "@metamask/utils" "^8.1.0" + ethereum-cryptography "^2.1.2" + ethjs-util "^0.1.6" + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + "@metamask/key-tree@^7.1.1": version "7.1.1" resolved "https://registry.yarnpkg.com/@metamask/key-tree/-/key-tree-7.1.1.tgz#559a76bf8fe0a3495c4a7aa41ed90f5475a7e2a2" @@ -4166,6 +4187,18 @@ semver "^7.5.4" superstruct "^1.0.3" +"@metamask/utils@^8.0.0", "@metamask/utils@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.1.0.tgz#b8e73f5b4696b1b668cf5c1421daad140a3f98ac" + integrity sha512-sFNpzBKRicDgM2ZuU6vrPROlqNGm8/jDsjc5WrU1RzCkAMc4Xr3vUUf8p59uQ6B09etUWNb8d2GTCbISdmH/Ug== + dependencies: + "@ethereumjs/tx" "^4.1.2" + "@noble/hashes" "^1.3.1" + "@types/debug" "^4.1.7" + debug "^4.3.4" + semver "^7.5.4" + superstruct "^1.0.3" + "@motionone/animation@^10.15.1": version "10.15.1" resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" @@ -6265,6 +6298,13 @@ jest-diff "^26.0.0" pretty-format "^26.0.0" +"@types/jquery@^3.5.22": + version "3.5.22" + resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.5.22.tgz#893273736f5695a520986c019c873b75b157f26a" + integrity sha512-ISQFeUK5GwRftLK4PVvKTWEVCxZ2BpaqBz0TWkIq5w4vGojxZP9+XkqgcPjxoqmPeew+HLyWthCBvK7GdF5NYA== + dependencies: + "@types/sizzle" "*" + "@types/js-levenshtein@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@types/js-levenshtein/-/js-levenshtein-1.1.0.tgz#9541eec4ad6e3ec5633270a3a2b55d981edc44a9" @@ -6472,6 +6512,11 @@ dependencies: "@types/node" "*" +"@types/sizzle@*": + version "2.3.4" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.4.tgz#cd6531924f60834fa4a1b8081f9eecf9bb1117f0" + integrity sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag== + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" @@ -8454,6 +8499,13 @@ browserify-sign@^4.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + browserslist@^4.0.0, browserslist@^4.16.6: version "4.16.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" @@ -11013,7 +11065,7 @@ ethereum-cryptography@^0.1.3: secp256k1 "^4.0.1" setimmediate "^1.0.5" -ethereum-cryptography@^2.0.0: +ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz#18fa7108622e56481157a5cb7c01c0c6a672eb67" integrity sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug== @@ -11087,7 +11139,7 @@ ethereumjs-tx@^2.1.1, ethereumjs-tx@^2.1.2: ethereumjs-common "^1.5.0" ethereumjs-util "^6.0.0" -ethereumjs-util@*: +ethereumjs-util@*, ethereumjs-util@^7.1.5: version "7.1.5" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== @@ -11293,7 +11345,7 @@ ethjs-unit@0.1.6, ethjs-unit@^0.1.6: bn.js "4.11.6" number-to-bn "1.7.0" -ethjs-util@0.1.6, ethjs-util@^0.1.3: +ethjs-util@0.1.6, ethjs-util@^0.1.3, ethjs-util@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== @@ -14043,10 +14095,10 @@ jose@^4.3.5: resolved "https://registry.yarnpkg.com/jose/-/jose-4.3.5.tgz#890ec0b3bf26db0b36946ca54087335200deb6f7" integrity sha512-mdTu3En79OYMGBNHw4828hl6ZUOb+gQtNZVRgM+eVL3Rrs4ZYUv/yHPpfDh65GN2HhKBvJsvA0/6tKEcpkyzeg== -jquery@^3.4.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" - integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== +jquery@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" + integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== js-crypto-env@^0.3.2: version "0.3.2" @@ -16382,7 +16434,7 @@ pacote@^13.0.3, pacote@^13.6.1: ssri "^9.0.0" tar "^6.1.11" -pako@1.0.11: +pako@1.0.11, pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== @@ -19541,7 +19593,7 @@ tunnel@^0.0.6: resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== -tweetnacl-util@^0.15.0: +tweetnacl-util@^0.15.0, tweetnacl-util@^0.15.1: version "0.15.1" resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== From b5fa182e6950594407dfc037cecd60e87806210c Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Sun, 22 Oct 2023 22:55:31 -0600 Subject: [PATCH 03/15] Revert "Merge branch 'master' into fix_kk_ethSignTypedData" This reverts commit d1ab98178a45366c20bff152f43a2e3c147f8271, reversing changes made to c4766cfd40c7f6e8b6b82d470d4e2048bdc2c113. Reverts accidental blind merge from master --- examples/sandbox/package.json | 33 +- integration/package.json | 20 +- integration/src/thorchain/thorchain.ts | 3 +- integration/src/wallets/ledger.ts | 56 --- lerna.json | 2 +- packages/hdwallet-coinbase/package.json | 4 +- packages/hdwallet-core/package.json | 2 +- .../hdwallet-keepkey-chromeusb/package.json | 6 +- .../hdwallet-keepkey-electron/package.json | 4 +- .../hdwallet-keepkey-nodehid/package.json | 4 +- .../hdwallet-keepkey-nodewebusb/package.json | 6 +- packages/hdwallet-keepkey-tcp/package.json | 6 +- packages/hdwallet-keepkey-webusb/package.json | 6 +- packages/hdwallet-keepkey/package.json | 4 +- packages/hdwallet-keplr/package.json | 6 +- packages/hdwallet-keplr/src/keplr.ts | 2 +- packages/hdwallet-ledger-webhid/package.json | 6 +- packages/hdwallet-ledger-webusb/package.json | 6 +- .../hdwallet-ledger-webusb/src/transport.ts | 5 - packages/hdwallet-ledger/package.json | 5 +- packages/hdwallet-ledger/src/index.ts | 1 - packages/hdwallet-ledger/src/ledger.ts | 119 ++++-- .../hdwallet-ledger/src/thorchain/common.ts | 113 ------ .../hdwallet-ledger/src/thorchain/helpers.ts | 68 ---- .../src/thorchain/hw-app-thor.ts | 376 ------------------ .../hdwallet-ledger/src/thorchain/index.ts | 77 ---- .../hdwallet-ledger/src/thorchain/utils.ts | 68 ---- packages/hdwallet-ledger/src/transport.ts | 6 +- .../package.json | 4 +- packages/hdwallet-metamask/package.json | 4 +- packages/hdwallet-native-vault/package.json | 4 +- packages/hdwallet-native/package.json | 4 +- .../crypto/isolation/engines/default/bip39.ts | 59 ++- packages/hdwallet-portis/package.json | 4 +- packages/hdwallet-tallyho/package.json | 4 +- packages/hdwallet-trezor-connect/package.json | 6 +- packages/hdwallet-trezor/package.json | 4 +- packages/hdwallet-walletconnect/package.json | 4 +- .../hdwallet-walletconnectV2/package.json | 4 +- packages/hdwallet-xdefi/package.json | 4 +- yarn.lock | 7 - 41 files changed, 217 insertions(+), 909 deletions(-) delete mode 100644 packages/hdwallet-ledger/src/thorchain/common.ts delete mode 100644 packages/hdwallet-ledger/src/thorchain/helpers.ts delete mode 100644 packages/hdwallet-ledger/src/thorchain/hw-app-thor.ts delete mode 100644 packages/hdwallet-ledger/src/thorchain/index.ts delete mode 100644 packages/hdwallet-ledger/src/thorchain/utils.ts diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index e8f3ffff6..e5cac9fdd 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-sandbox", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "private": true, "browserslist": "> 0.5%, last 2 versions, not dead", @@ -10,21 +10,22 @@ "clean": "rm -rf dist node_modules public .parcel-cache" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.8", - "@shapeshiftoss/hdwallet-keepkey-webusb": "1.52.8", - "@shapeshiftoss/hdwallet-keplr": "1.52.8", - "@shapeshiftoss/hdwallet-ledger": "1.52.8", - "@shapeshiftoss/hdwallet-ledger-webhid": "1.52.8", - "@shapeshiftoss/hdwallet-ledger-webusb": "1.52.8", - "@shapeshiftoss/hdwallet-metamask": "1.52.8", - "@shapeshiftoss/hdwallet-native": "1.52.8", - "@shapeshiftoss/hdwallet-portis": "1.52.8", - "@shapeshiftoss/hdwallet-tallyho": "1.52.8", - "@shapeshiftoss/hdwallet-trezor": "1.52.8", - "@shapeshiftoss/hdwallet-trezor-connect": "1.52.8", - "@shapeshiftoss/hdwallet-walletconnect": "1.52.8", - "@shapeshiftoss/hdwallet-xdefi": "1.52.8", + "@metamask/eth-sig-util": "^7.0.0", + "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey-webusb": "1.52.5", + "@shapeshiftoss/hdwallet-keplr": "1.52.5", + "@shapeshiftoss/hdwallet-ledger": "1.52.5", + "@shapeshiftoss/hdwallet-ledger-webhid": "1.52.5", + "@shapeshiftoss/hdwallet-ledger-webusb": "1.52.5", + "@shapeshiftoss/hdwallet-metamask": "1.52.5", + "@shapeshiftoss/hdwallet-native": "1.52.5", + "@shapeshiftoss/hdwallet-portis": "1.52.5", + "@shapeshiftoss/hdwallet-tallyho": "1.52.5", + "@shapeshiftoss/hdwallet-trezor": "1.52.5", + "@shapeshiftoss/hdwallet-trezor-connect": "1.52.5", + "@shapeshiftoss/hdwallet-walletconnect": "1.52.5", + "@shapeshiftoss/hdwallet-xdefi": "1.52.5", "bip32": "^2.0.4", "eip-712": "^1.0.0", "ethereumjs-util": "^7.1.5", diff --git a/integration/package.json b/integration/package.json index ac6ba2fc8..b4d89f943 100644 --- a/integration/package.json +++ b/integration/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/integration", - "version": "1.52.8", + "version": "1.52.5", "main": "index.js", "license": "MIT", "private": true, @@ -10,15 +10,15 @@ "dev": "lerna run test --scope integration --parallel --include-filtered-dependencies" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", - "@shapeshiftoss/hdwallet-keepkey": "1.52.8", - "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.52.8", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.8", - "@shapeshiftoss/hdwallet-ledger": "1.52.8", - "@shapeshiftoss/hdwallet-native": "1.52.8", - "@shapeshiftoss/hdwallet-portis": "1.52.8", - "@shapeshiftoss/hdwallet-trezor": "1.52.8", - "@shapeshiftoss/hdwallet-xdefi": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.5", + "@shapeshiftoss/hdwallet-ledger": "1.52.5", + "@shapeshiftoss/hdwallet-native": "1.52.5", + "@shapeshiftoss/hdwallet-portis": "1.52.5", + "@shapeshiftoss/hdwallet-trezor": "1.52.5", + "@shapeshiftoss/hdwallet-xdefi": "1.52.5", "fast-json-stable-stringify": "^2.1.0", "msw": "^0.27.1", "whatwg-fetch": "^3.6.2" diff --git a/integration/src/thorchain/thorchain.ts b/integration/src/thorchain/thorchain.ts index b95ec45a0..cce066297 100644 --- a/integration/src/thorchain/thorchain.ts +++ b/integration/src/thorchain/thorchain.ts @@ -1,6 +1,5 @@ import * as core from "@shapeshiftoss/hdwallet-core"; import * as keepkey from "@shapeshiftoss/hdwallet-keepkey"; -import * as ledger from "@shapeshiftoss/hdwallet-ledger"; import tx_unsigned_swap_amino from "./tx01.mainnet.thorchain.swap.amino.json"; import tx_unsigned_swap from "./tx01.mainnet.thorchain.swap.json"; @@ -26,7 +25,7 @@ export function thorchainTests(get: () => { wallet: core.HDWallet; info: core.HD beforeAll(async () => { const { wallet: w } = get(); if (core.supportsThorchain(w)) wallet = w; - useAmino = w instanceof keepkey.KeepKeyHDWallet || w instanceof ledger.LedgerHDWallet; + useAmino = w instanceof keepkey.KeepKeyHDWallet; }); beforeEach(async () => { diff --git a/integration/src/wallets/ledger.ts b/integration/src/wallets/ledger.ts index 7a4543051..41a696d7a 100644 --- a/integration/src/wallets/ledger.ts +++ b/integration/src/wallets/ledger.ts @@ -1,6 +1,5 @@ import * as core from "@shapeshiftoss/hdwallet-core"; import * as ledger from "@shapeshiftoss/hdwallet-ledger"; -import { toByteArray } from "base64-js"; export class MockTransport extends ledger.LedgerTransport { memoized = new Map(); @@ -213,61 +212,6 @@ export class MockTransport extends ledger.LedgerTransport { '{"success":true,"coin":"Btc","method":"getWalletPublicKey","payload":{"bitcoinAddress":"1FH6ehAd5ZFXCM1cLGzHxK1s4dGdq1JusM","chainCode":"fixme","publicKey":"fixme"}}' ) ); - - // Thorchain - const compress_pk = toByteArray("AxUZcTuLQr3DZxEtMxMs8Uzt+SisV3HURLpFm5SXEXuj"); - this.memoize( - "Rune", - "getAddressAndPubKey", - JSON.parse(`[[${core.bip32ToAddressNList("m/44'/931'/0'/0/0")}], "thor"]`), - JSON.parse( - `{"success":true,"coin":"Rune","method":"getAddressAndPubkey","payload":{"bech32_address":"thor1ls33ayg26kmltw7jjy55p32ghjna09zp74t4az","compressed_pk":[${compress_pk}]}}` - ) - ); - - const sig1 = toByteArray( - "1s+0FVJ5R8O+ewGq5yNbTQuVG5MJZppFDqVJ4cd5D68ogOb2GMVHvYCH2dvQXo/uK/fT6Rk6dLGhK8tgW/HqtA==" - ); - const r1 = sig1.slice(0, 32); - const s1 = sig1.slice(32, 64); - const rawSig1 = Uint8Array.from([48, 68, 2, 32, ...r1, 2, 32, ...s1]); - this.memoize( - "Rune", - "sign", - JSON.parse( - '[{"tx":{"account_number":"17","chain_id":"thorchain-mainnet-v1","sequence":"2","fee":{"amount":[{"amount":"3000","denom":"rune"}],"gas":"200000"},"memo":"","msg":[{"type":"thorchain/MsgSend","value":{"amount":[{"amount":"100","denom":"rune"}],"from_address":"thor1ls33ayg26kmltw7jjy55p32ghjna09zp74t4az","to_address":"thor1wy58774wagy4hkljz9mchhqtgk949zdwwe80d5"}}],"signatures":[]},"addressNList":[2147483692,2147484579,2147483648,0,0],"chain_id":"thorchain-mainnet-v1","account_number":"17","sequence":"2"}]' - ), - { - success: true, - coin: "Rune", - method: "sign", - payload: { - signature: rawSig1, - }, - } - ); - - const sig2 = toByteArray( - "0Bjk7npdUw/Qa4MQTS4PH8sw8jM4JSzpd7G2DsF3DMVoYgdpO2fjHh/DUq6v30nghxUSJj0jNm0VIq9viPB+tQ==" - ); - const r2 = sig2.slice(0, 32); - const s2 = sig2.slice(32, 64); - const rawSig2 = Uint8Array.from([48, 68, 2, 32, ...r2, 2, 32, ...s2]); - this.memoize( - "Rune", - "sign", - JSON.parse( - '[{"tx":{"account_number":"2722","chain_id":"thorchain-mainnet-v1","sequence":"4","fee":{"amount":[{"amount":"0","denom":"rune"}],"gas":"350000"},"memo":"","msg":[{"type":"thorchain/MsgDeposit","value":{"coins":[{"asset":"THOR.RUNE","amount":"50994000"}],"memo":"SWAP:BNB.BNB:bnb12splwpg8jenr9pjw3dwc5rr35t8792y8pc4mtf:348953501","signer":"thor1ls33ayg26kmltw7jjy55p32ghjna09zp74t4az"}}],"signatures":[]},"addressNList":[2147483692,2147484579,2147483648,0,0],"chain_id":"thorchain-mainnet-v1","account_number":"2722","sequence":"4"}]' - ), - { - success: true, - coin: "Rune", - method: "sign", - payload: { - signature: rawSig2, - }, - } - ); } catch (e) { console.error(e); } diff --git a/lerna.json b/lerna.json index 7cd66d2fd..1abeb2256 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "5.2.0", - "version": "1.52.8", + "version": "1.52.5", "npmClient": "yarn", "useWorkspaces": true, "command": { diff --git a/packages/hdwallet-coinbase/package.json b/packages/hdwallet-coinbase/package.json index 15248e976..bf1ce6625 100644 --- a/packages/hdwallet-coinbase/package.json +++ b/packages/hdwallet-coinbase/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-coinbase", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@coinbase/wallet-sdk": "^3.6.6", - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "eth-rpc-errors": "^4.0.3", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-core/package.json b/packages/hdwallet-core/package.json index 83a874f57..be2824ebc 100644 --- a/packages/hdwallet-core/package.json +++ b/packages/hdwallet-core/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-core", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/hdwallet-keepkey-chromeusb/package.json b/packages/hdwallet-keepkey-chromeusb/package.json index cfb5e475e..3d406db4f 100644 --- a/packages/hdwallet-keepkey-chromeusb/package.json +++ b/packages/hdwallet-keepkey-chromeusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-chromeusb", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", - "@shapeshiftoss/hdwallet-keepkey": "1.52.8" + "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey": "1.52.5" } } diff --git a/packages/hdwallet-keepkey-electron/package.json b/packages/hdwallet-keepkey-electron/package.json index 9d2ce18ed..397a3bb98 100644 --- a/packages/hdwallet-keepkey-electron/package.json +++ b/packages/hdwallet-keepkey-electron/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-electron", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.52.8", + "@shapeshiftoss/hdwallet-keepkey": "1.52.5", "uuid": "^8.3.2" }, "peerDependencies": { diff --git a/packages/hdwallet-keepkey-nodehid/package.json b/packages/hdwallet-keepkey-nodehid/package.json index b4084cd56..c7c3b6641 100644 --- a/packages/hdwallet-keepkey-nodehid/package.json +++ b/packages/hdwallet-keepkey-nodehid/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodehid", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.52.8" + "@shapeshiftoss/hdwallet-keepkey": "1.52.5" }, "peerDependencies": { "node-hid": "^2.1.1" diff --git a/packages/hdwallet-keepkey-nodewebusb/package.json b/packages/hdwallet-keepkey-nodewebusb/package.json index 3fb975dd6..fdc4fbc0a 100644 --- a/packages/hdwallet-keepkey-nodewebusb/package.json +++ b/packages/hdwallet-keepkey-nodewebusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodewebusb", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", - "@shapeshiftoss/hdwallet-keepkey": "1.52.8" + "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey": "1.52.5" }, "peerDependencies": { "usb": "^2.3.1" diff --git a/packages/hdwallet-keepkey-tcp/package.json b/packages/hdwallet-keepkey-tcp/package.json index c9885cc29..6e7ad9d39 100644 --- a/packages/hdwallet-keepkey-tcp/package.json +++ b/packages/hdwallet-keepkey-tcp/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-tcp", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", - "@shapeshiftoss/hdwallet-keepkey": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey": "1.52.5", "axios": "^0.21.1" } } diff --git a/packages/hdwallet-keepkey-webusb/package.json b/packages/hdwallet-keepkey-webusb/package.json index d5d169a15..cbdc09b77 100644 --- a/packages/hdwallet-keepkey-webusb/package.json +++ b/packages/hdwallet-keepkey-webusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-webusb", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", - "@shapeshiftoss/hdwallet-keepkey": "1.52.8" + "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey": "1.52.5" }, "devDependencies": { "@types/w3c-web-usb": "^1.0.4" diff --git a/packages/hdwallet-keepkey/package.json b/packages/hdwallet-keepkey/package.json index 0ee02e2f4..2a6842342 100644 --- a/packages/hdwallet-keepkey/package.json +++ b/packages/hdwallet-keepkey/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -20,7 +20,7 @@ "@keepkey/device-protocol": "^7.12.2", "@metamask/eth-sig-util": "^7.0.0", "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "bignumber.js": "^9.0.1", "bnb-javascript-sdk-nobroadcast": "^2.16.14", diff --git a/packages/hdwallet-keplr/package.json b/packages/hdwallet-keplr/package.json index bb6f8b3fa..3e43c24e8 100644 --- a/packages/hdwallet-keplr/package.json +++ b/packages/hdwallet-keplr/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keplr", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@shapeshiftoss/caip": "8.15.0", - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "@shapeshiftoss/types": "3.1.3", "base64-js": "^1.5.1", @@ -24,7 +24,7 @@ "devDependencies": { "@cosmjs/amino": "^0.28.13", "@cosmjs/stargate": "^0.28.13", - "@keplr-wallet/types": "^0.12.35", + "@keplr-wallet/types": "^0.9.10", "@types/lodash": "^4.14.168" } } diff --git a/packages/hdwallet-keplr/src/keplr.ts b/packages/hdwallet-keplr/src/keplr.ts index f501c9c7e..42b73796e 100644 --- a/packages/hdwallet-keplr/src/keplr.ts +++ b/packages/hdwallet-keplr/src/keplr.ts @@ -134,7 +134,7 @@ export class KeplrHDWallet implements core.HDWallet, core.CosmosWallet, core.Osm initialized = false; provider: any = {}; - supportedNetworks: ChainReference[] = [CHAIN_REFERENCE.CosmosHubMainnet]; + supportedNetworks: ChainReference[] = [CHAIN_REFERENCE.CosmosHubMainnet, CHAIN_REFERENCE.OsmosisMainnet]; constructor() { this.info = new KeplrHDWalletInfo(); diff --git a/packages/hdwallet-ledger-webhid/package.json b/packages/hdwallet-ledger-webhid/package.json index 1ab7405c8..9db488887 100644 --- a/packages/hdwallet-ledger-webhid/package.json +++ b/packages/hdwallet-ledger-webhid/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger-webhid", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -19,8 +19,8 @@ "@ledgerhq/hw-transport": "^6.7.0", "@ledgerhq/hw-transport-webhid": "^6.7.0", "@ledgerhq/live-common": "^21.8.2", - "@shapeshiftoss/hdwallet-core": "1.52.8", - "@shapeshiftoss/hdwallet-ledger": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-ledger": "1.52.5", "@types/w3c-web-hid": "^1.0.2" }, "devDependencies": { diff --git a/packages/hdwallet-ledger-webusb/package.json b/packages/hdwallet-ledger-webusb/package.json index 3e2e5efe8..e09d14d49 100644 --- a/packages/hdwallet-ledger-webusb/package.json +++ b/packages/hdwallet-ledger-webusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger-webusb", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -20,8 +20,8 @@ "@ledgerhq/hw-transport-webusb": "^6.7.0", "@ledgerhq/live-common": "^21.8.2", "@ledgerhq/logs": "^6.10.1", - "@shapeshiftoss/hdwallet-core": "1.52.8", - "@shapeshiftoss/hdwallet-ledger": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-ledger": "1.52.5", "@types/w3c-web-usb": "^1.0.4", "p-queue": "^7.4.1" }, diff --git a/packages/hdwallet-ledger-webusb/src/transport.ts b/packages/hdwallet-ledger-webusb/src/transport.ts index b0efc05af..52623993a 100644 --- a/packages/hdwallet-ledger-webusb/src/transport.ts +++ b/packages/hdwallet-ledger-webusb/src/transport.ts @@ -79,11 +79,6 @@ export async function translateCoinAndMethod> { switch (coin) { - case "Rune": { - const thor = new ledger.THORChainApp(transport); - const methodInstance = thor[method as LedgerTransportMethodName<"Rune">].bind(thor); - return methodInstance as LedgerTransportMethod; - } case "Btc": { const btc = new Btc({ transport }); const methodInstance = btc[method as LedgerTransportMethodName<"Btc">].bind(btc); diff --git a/packages/hdwallet-ledger/package.json b/packages/hdwallet-ledger/package.json index 6b794f8be..1e22505bd 100644 --- a/packages/hdwallet-ledger/package.json +++ b/packages/hdwallet-ledger/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -18,7 +18,7 @@ "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "base64-js": "^1.5.1", "bchaddrjs": "^0.4.4", "bitcoinjs-message": "^2.0.0", @@ -36,7 +36,6 @@ "@types/bs58check": "^2.1.0", "@types/ethereumjs-tx": "1.0.1", "@types/ethereumjs-util": "^6.1.0", - "@types/ripemd160": "^2.0.2", "typedoc": "^0.20.36" } } diff --git a/packages/hdwallet-ledger/src/index.ts b/packages/hdwallet-ledger/src/index.ts index 063c34f8e..c73f59c8c 100644 --- a/packages/hdwallet-ledger/src/index.ts +++ b/packages/hdwallet-ledger/src/index.ts @@ -1,6 +1,5 @@ export * from "./bitcoin"; export * from "./ethereum"; -export * from "./thorchain"; export * from "./ledger"; export * from "./transport"; export * from "./utils"; diff --git a/packages/hdwallet-ledger/src/ledger.ts b/packages/hdwallet-ledger/src/ledger.ts index 37ee83916..5a79bd54c 100644 --- a/packages/hdwallet-ledger/src/ledger.ts +++ b/packages/hdwallet-ledger/src/ledger.ts @@ -3,7 +3,6 @@ import _ from "lodash"; import * as btc from "./bitcoin"; import * as eth from "./ethereum"; -import * as thorchain from "./thorchain"; import { LedgerTransport } from "./transport"; import { coinToLedgerAppName, handleError } from "./utils"; @@ -135,12 +134,9 @@ function describeUTXOPath(path: core.BIP32Path, coin: core.Coin, scriptType?: co } } -export class LedgerHDWalletInfo - implements core.HDWalletInfo, core.BTCWalletInfo, core.ETHWalletInfo, core.ThorchainWalletInfo -{ +export class LedgerHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo, core.ETHWalletInfo { readonly _supportsBTCInfo = true; readonly _supportsETHInfo = true; - readonly _supportsThorchainInfo = true; public getVendor(): string { return "Ledger"; @@ -190,16 +186,6 @@ export class LedgerHDWalletInfo return eth.ethGetAccountPaths(msg); } - public thorchainGetAccountPaths(msg: core.ThorchainGetAccountPaths): Array { - const slip44 = core.slip44ByCoin("Thorchain"); - return [{ addressNList: [0x80000000 + 44, 0x80000000 + slip44, 0x80000000 + msg.accountIdx, 0, 0] }]; - } - - // eslint-disable-next-line @typescript-eslint/no-unused-vars - public thorchainNextAccountPath(msg: core.ThorchainAccountPath): core.ThorchainAccountPath | undefined { - return undefined; - } - // eslint-disable-next-line @typescript-eslint/no-unused-vars public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { return false; @@ -237,8 +223,6 @@ export class LedgerHDWalletInfo switch (msg.coin) { case "Ethereum": return describeETHPath(msg.path); - case "Thorchain": - return core.thorchainDescribePath(msg.path); default: return describeUTXOPath(msg.path, msg.coin, msg.scriptType); } @@ -306,10 +290,7 @@ export class LedgerHDWalletInfo } } -export class LedgerHDWallet - extends LedgerHDWalletInfo - implements core.HDWallet, core.BTCWallet, core.ETHWallet, core.ThorchainWallet -{ +export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWallet { readonly _supportsETHInfo = true; readonly _supportsBTCInfo = true; readonly _supportsBTC = true; @@ -321,8 +302,6 @@ export class LedgerHDWallet readonly _supportsPolygon = true; readonly _supportsGnosis = true; readonly _supportsArbitrum = true; - readonly _supportsThorchainInfo = true; - readonly _supportsThorchain = true; _isLedger = true; @@ -330,7 +309,6 @@ export class LedgerHDWallet info: LedgerHDWalletInfo & core.HDWalletInfo; constructor(transport: LedgerTransport) { - super(); this.transport = transport; this.info = new LedgerHDWalletInfo(); } @@ -396,6 +374,10 @@ export class LedgerHDWallet return version; } + public getVendor(): string { + return "Ledger"; + } + public async getModel(): Promise { const { device: { productName }, @@ -434,6 +416,39 @@ export class LedgerHDWallet } } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { + return false; + } + + public supportsBip44Accounts(): boolean { + return this.info.supportsBip44Accounts(); + } + + public supportsOfflineSigning(): boolean { + return true; + } + + public supportsBroadcast(): boolean { + return false; + } + + public hasOnDeviceDisplay(): boolean { + return true; + } + + public hasOnDevicePassphrase(): boolean { + return true; + } + + public hasOnDevicePinEntry(): boolean { + return true; + } + + public hasOnDeviceRecovery(): boolean { + return true; + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars public async loadDevice(msg: core.LoadDevice): Promise { return; @@ -482,6 +497,14 @@ export class LedgerHDWallet return; } + public async btcSupportsCoin(coin: core.Coin): Promise { + return this.info.btcSupportsCoin(coin); + } + + public async btcSupportsScriptType(coin: core.Coin, scriptType: core.BTCInputScriptType): Promise { + return this.info.btcSupportsScriptType(coin, scriptType); + } + public async btcGetAddress(msg: core.BTCGetAddress): Promise { await this.validateCurrentApp(msg.coin); return btc.btcGetAddress(this.transport, msg); @@ -492,6 +515,14 @@ export class LedgerHDWallet return btc.btcSignTx(this, this.transport, msg); } + public async btcSupportsSecureTransfer(): Promise { + return this.info.btcSupportsSecureTransfer(); + } + + public btcSupportsNativeShapeShift(): boolean { + return this.info.btcSupportsNativeShapeShift(); + } + public async btcSignMessage(msg: core.BTCSignMessage): Promise { await this.validateCurrentApp(msg.coin); return btc.btcSignMessage(this, this.transport, msg); @@ -501,6 +532,14 @@ export class LedgerHDWallet return btc.btcVerifyMessage(msg); } + public btcGetAccountPaths(msg: core.BTCGetAccountPaths): Array { + return this.info.btcGetAccountPaths(msg); + } + + public btcIsSameAccount(msg: Array): boolean { + return this.info.btcIsSameAccount(msg); + } + public async ethSignTx(msg: core.ETHSignTx): Promise { await this.validateCurrentApp("Ethereum"); return eth.ethSignTx(this.transport, msg); @@ -520,17 +559,41 @@ export class LedgerHDWallet return eth.ethVerifyMessage(msg); } - public thorchainGetAddress(msg: core.ThorchainGetAddress): Promise { - return thorchain.thorchainGetAddress(this.transport, msg); + public async ethSupportsNetwork(chain_id: number): Promise { + return this.info.ethSupportsNetwork(chain_id); + } + + public async ethSupportsSecureTransfer(): Promise { + return this.info.ethSupportsSecureTransfer(); + } + + public ethSupportsNativeShapeShift(): boolean { + return this.info.ethSupportsNativeShapeShift(); + } + + public async ethSupportsEIP1559(): Promise { + return await this.info.ethSupportsEIP1559(); } - public thorchainSignTx(msg: core.ThorchainSignTx): Promise { - return thorchain.thorchainSignTx(this.transport, msg); + public ethGetAccountPaths(msg: core.ETHGetAccountPath): Array { + return this.info.ethGetAccountPaths(msg); + } + + public describePath(msg: core.DescribePath): core.PathDescription { + return this.info.describePath(msg); } public disconnect(): Promise { return this.transport.disconnect(); } + + public btcNextAccountPath(msg: core.BTCAccountPath): core.BTCAccountPath | undefined { + return this.info.btcNextAccountPath(msg); + } + + public ethNextAccountPath(msg: core.ETHAccountPath): core.ETHAccountPath | undefined { + return this.info.ethNextAccountPath(msg); + } } export function info(): LedgerHDWalletInfo { diff --git a/packages/hdwallet-ledger/src/thorchain/common.ts b/packages/hdwallet-ledger/src/thorchain/common.ts deleted file mode 100644 index 0f6cb4f5a..000000000 --- a/packages/hdwallet-ledger/src/thorchain/common.ts +++ /dev/null @@ -1,113 +0,0 @@ -export enum ErrorCode { - NoError = 0x9000, -} - -export const CLA = 0x55; -export const CHUNK_SIZE = 250; -export const APP_KEY = "CSM"; - -export const INS = { - GET_VERSION: 0x00, - INS_PUBLIC_KEY_SECP256K1: 0x01, // Obsolete - SIGN_SECP256K1: 0x02, - GET_ADDR_SECP256K1: 0x04, -}; - -export const PAYLOAD_TYPE = { - INIT: 0x00, - ADD: 0x01, - LAST: 0x02, -}; - -export const P1_VALUES = { - ONLY_RETRIEVE: 0x00, - SHOW_ADDRESS_IN_DEVICE: 0x01, -}; - -const ERROR_DESCRIPTION = { - 1: "U2F: Unknown", - 2: "U2F: Bad request", - 3: "U2F: Configuration unsupported", - 4: "U2F: Device Ineligible", - 5: "U2F: Timeout", - 14: "Timeout", - 0x9000: "No errors", - 0x9001: "Device is busy", - 0x6802: "Error deriving keys", - 0x6400: "Execution Error", - 0x6700: "Wrong Length", - 0x6982: "Empty Buffer", - 0x6983: "Output buffer too small", - 0x6984: "Data is invalid", - 0x6985: "Conditions not satisfied", - 0x6986: "Transaction rejected", - 0x6a80: "Bad key handle", - 0x6b00: "Invalid P1/P2", - 0x6d00: "Instruction not supported", - 0x6e00: "App does not seem to be open", - 0x6f00: "Unknown error", - 0x6f01: "Sign/verify error", -}; - -export function errorCodeToString(statusCode: any) { - if (statusCode in ERROR_DESCRIPTION) return ERROR_DESCRIPTION[statusCode as 1]; - return `Unknown Status Code: ${statusCode}`; -} - -export function processErrorResponse(response: any) { - if (response) { - if ( - typeof response === "object" && - response !== null && - !(response instanceof Array) && - !(response instanceof Date) - ) { - if (Object.prototype.hasOwnProperty.call(response, "statusCode")) { - return { - return_code: response.statusCode, - error_message: errorCodeToString(response.statusCode), - }; - } - - if ( - Object.prototype.hasOwnProperty.call(response, "return_code") && - Object.prototype.hasOwnProperty.call(response, "error_message") - ) { - return response; - } - } - return { - return_code: 0xffff, - error_message: response.toString(), - }; - } - - return { - return_code: 0xffff, - error_message: response.toString(), - }; -} - -export async function getVersion(transport: any) { - return transport.send(CLA, INS.GET_VERSION, 0, 0).then((response: any) => { - const errorCodeData = response.slice(-2); - const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; - - let targetId = 0; - if (response.length >= 9) { - targetId = (response[5] << 24) + (response[6] << 16) + (response[7] << 8) + (response[8] << 0); - } - - return { - return_code: returnCode, - error_message: errorCodeToString(returnCode), - // /// - test_mode: response[0] !== 0, - major: response[1], - minor: response[2], - patch: response[3], - device_locked: response[4] === 1, - target_id: targetId.toString(16), - }; - }, processErrorResponse); -} diff --git a/packages/hdwallet-ledger/src/thorchain/helpers.ts b/packages/hdwallet-ledger/src/thorchain/helpers.ts deleted file mode 100644 index 14a8893df..000000000 --- a/packages/hdwallet-ledger/src/thorchain/helpers.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { CLA, ErrorCode, errorCodeToString, INS, PAYLOAD_TYPE, processErrorResponse } from "./common"; - -const signSendChunkv1 = async (app: any, chunkIdx: any, chunkNum: any, chunk: any) => { - return app.transport - .send(CLA, INS.SIGN_SECP256K1, chunkIdx, chunkNum, chunk, [ErrorCode.NoError, 0x6984, 0x6a80]) - .then((response: any) => { - const errorCodeData = response.slice(-2); - const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; - let errorMessage = errorCodeToString(returnCode); - - if (returnCode === 0x6a80 || returnCode === 0x6984) { - errorMessage = `${errorMessage} : ${response.slice(0, response.length - 2).toString("ascii")}`; - } - - let signature = null; - if (response.length > 2) { - signature = response.slice(0, response.length - 2); - } - - return { - signature, - return_code: returnCode, - error_message: errorMessage, - }; - }, processErrorResponse); -}; - -export const serializePathv2 = (path: Array) => { - if (!path || path.length !== 5) { - throw new Error("Invalid path."); - } - - const buf = Buffer.alloc(20); - buf.writeUInt32LE(path[0], 0); - buf.writeUInt32LE(path[1], 4); - buf.writeUInt32LE(path[2], 8); - buf.writeUInt32LE(path[3], 12); - buf.writeUInt32LE(path[4], 16); - - return buf; -}; - -export const signSendChunkv2 = async (app: any, chunkIdx: any, chunkNum: any, chunk: any) => { - let payloadType = PAYLOAD_TYPE.ADD; - if (chunkIdx === 1) { - payloadType = PAYLOAD_TYPE.INIT; - } - if (chunkIdx === chunkNum) { - payloadType = PAYLOAD_TYPE.LAST; - } - - return signSendChunkv1(app, payloadType, 0, chunk); -}; - -export const publicKeyv2 = async (app: any, data: any) => { - return app.transport.send(CLA, INS.GET_ADDR_SECP256K1, 0, 0, data, [ErrorCode.NoError]).then((response: any) => { - const errorCodeData = response.slice(-2); - const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; - const compressedPk = Buffer.from(response.slice(0, 33)); - - return { - pk: "OBSOLETE PROPERTY", - compressed_pk: compressedPk, - return_code: returnCode, - error_message: errorCodeToString(returnCode), - }; - }, processErrorResponse); -}; diff --git a/packages/hdwallet-ledger/src/thorchain/hw-app-thor.ts b/packages/hdwallet-ledger/src/thorchain/hw-app-thor.ts deleted file mode 100644 index 1ff37717b..000000000 --- a/packages/hdwallet-ledger/src/thorchain/hw-app-thor.ts +++ /dev/null @@ -1,376 +0,0 @@ -/** ****************************************************************************** - * (c) 2019 ZondaX GmbH - * (c) 2016-2017 Ledger - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - ******************************************************************************* */ -import { bech32 } from "@scure/base"; -import * as core from "@shapeshiftoss/hdwallet-core"; -import crypto from "crypto"; -import Ripemd160 from "ripemd160"; - -import { - APP_KEY, - CHUNK_SIZE, - CLA, - ErrorCode, - errorCodeToString, - getVersion, - INS, - P1_VALUES, - processErrorResponse, -} from "./common"; -import { publicKeyv2, serializePathv2, signSendChunkv2 } from "./helpers"; - -const THOR_CHAIN = "thorchain-mainnet-v1"; - -export type GetAddressAndPubKeyResponse = { - bech32_address: string; - compressed_pk: Uint8Array; - error_message: string; - return_code: number; -}; - -export type SignResponse = { - signature: Uint8Array; - error_message: string; - return_code: number; -}; - -const recursivelyOrderKeys = (unordered: any) => { - // If it's an array - recursively order any - // dictionary items within the array - if (Array.isArray(unordered)) { - unordered.forEach((item, index) => { - unordered[index] = recursivelyOrderKeys(item); - }); - return unordered; - } - - // If it's an object - let's order the keys - if (typeof unordered !== "object") return unordered; - const ordered: any = {}; - Object.keys(unordered) - .sort() - .forEach((key) => (ordered[key] = recursivelyOrderKeys(unordered[key]))); - return ordered; -}; - -const stringifyKeysInOrder = (data: any) => JSON.stringify(recursivelyOrderKeys(data)); - -class THORChainApp { - transport: any; - versionResponse: any; - - constructor(transport: any, scrambleKey = APP_KEY) { - if (!transport) { - throw new Error("Transport has not been defined"); - } - - this.transport = transport as any; - transport.decorateAppAPIMethods.bind(transport)( - this, - ["getVersion", "sign", "getAddressAndPubKey", "appInfo", "deviceInfo", "getBech32FromPK"], - scrambleKey - ); - } - - static serializeHRP(hrp: any) { - if (hrp == null || hrp.length < 3 || hrp.length > 83) { - throw new Error("Invalid HRP"); - } - const buf = Buffer.alloc(1 + hrp.length); - buf.writeUInt8(hrp.length, 0); - buf.write(hrp, 1); - return buf; - } - - static getBech32FromPK(hrp: any, pk: any) { - if (pk.length !== 33) { - throw new Error("expected compressed public key [31 bytes]"); - } - const hashSha256 = crypto.createHash("sha256").update(pk).digest(); - const hashRip = new Ripemd160().update(hashSha256).digest(); - // ts is drunk and doesn't like bech32.bech32 here - const encode = bech32.encode || (bech32 as any).bech32?.encode; - // ts is drunk and doesn't like bech32.bech32 here - const toWords = bech32.toWords || (bech32 as any).bech32?.toWords; - - return encode(hrp, toWords(hashRip)); - } - - async serializePath(path: Array) { - this.versionResponse = await getVersion(this.transport); - - if (this.versionResponse.return_code !== ErrorCode.NoError) { - throw this.versionResponse; - } - - switch (this.versionResponse.major) { - case 2: - return serializePathv2(path); - default: - return { - return_code: 0x6400, - error_message: "App Version is not supported", - }; - } - } - - async signGetChunks(path: Array, message: any) { - const serializedPath = await this.serializePath(path); - - const chunks = []; - chunks.push(serializedPath); - const buffer = Buffer.from(message); - - for (let i = 0; i < buffer.length; i += CHUNK_SIZE) { - let end = i + CHUNK_SIZE; - if (i > buffer.length) { - end = buffer.length; - } - chunks.push(buffer.slice(i, end)); - } - - return chunks; - } - - async getVersion() { - try { - this.versionResponse = await getVersion(this.transport); - return this.versionResponse; - } catch (e) { - return processErrorResponse(e); - } - } - - async appInfo() { - return this.transport.send(0xb0, 0x01, 0, 0).then((response: any) => { - const errorCodeData = response.slice(-2); - const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; - - const result = {} as any; - - let appName = "err"; - let appVersion = "err"; - let flagLen = 0; - let flagsValue = 0; - - if (response[0] !== 1) { - // Ledger responds with format ID 1. There is no spec for any format != 1 - result.error_message = "response format ID not recognized"; - result.return_code = 0x9001; - } else { - const appNameLen = response[1]; - appName = response.slice(2, 2 + appNameLen).toString("ascii"); - let idx = 2 + appNameLen; - const appVersionLen = response[idx]; - idx += 1; - appVersion = response.slice(idx, idx + appVersionLen).toString("ascii"); - idx += appVersionLen; - const appFlagsLen = response[idx]; - idx += 1; - flagLen = appFlagsLen; - flagsValue = response[idx]; - } - - return { - return_code: returnCode, - error_message: errorCodeToString(returnCode), - // // - appName, - appVersion, - flagLen, - flagsValue, - - flag_recovery: (flagsValue & 1) !== 0, - - flag_signed_mcu_code: (flagsValue & 2) !== 0, - - flag_onboarded: (flagsValue & 4) !== 0, - - flag_pin_validated: (flagsValue & 128) !== 0, - }; - }, processErrorResponse); - } - - async deviceInfo() { - return this.transport.send(0xe0, 0x01, 0, 0, Buffer.from([]), [ErrorCode.NoError, 0x6e00]).then((response: any) => { - const errorCodeData = response.slice(-2); - const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; - - if (returnCode === 0x6e00) { - return { - return_code: returnCode, - error_message: "This command is only available in the Dashboard", - }; - } - - const targetId = response.slice(0, 4).toString("hex"); - - let pos = 4; - const secureElementVersionLen = response[pos]; - pos += 1; - const seVersion = response.slice(pos, pos + secureElementVersionLen).toString(); - pos += secureElementVersionLen; - - const flagsLen = response[pos]; - pos += 1; - const flag = response.slice(pos, pos + flagsLen).toString("hex"); - pos += flagsLen; - - const mcuVersionLen = response[pos]; - pos += 1; - // Patch issue in mcu version - let tmp = response.slice(pos, pos + mcuVersionLen); - if (tmp[mcuVersionLen - 1] === 0) { - tmp = response.slice(pos, pos + mcuVersionLen - 1); - } - const mcuVersion = tmp.toString(); - - return { - return_code: returnCode, - error_message: errorCodeToString(returnCode), - // // - targetId, - seVersion, - flag, - mcuVersion, - }; - }, processErrorResponse); - } - - async publicKey(path: Array) { - try { - const serializedPath = await this.serializePath(path); - - switch (this.versionResponse.major) { - case 2: { - const data = Buffer.concat([THORChainApp.serializeHRP("thor"), serializedPath as any]); - return await publicKeyv2(this, data); - } - default: - return { - return_code: 0x6400, - error_message: "App Version is not supported", - }; - } - } catch (e) { - return processErrorResponse(e); - } - } - - async getAddressAndPubKey(path: Array, hrp: any): Promise { - try { - return await this.serializePath(path) - .then((serializedPath) => { - const data = Buffer.concat([THORChainApp.serializeHRP(hrp), serializedPath as any]); - return this.transport - .send(CLA, INS.GET_ADDR_SECP256K1, P1_VALUES.ONLY_RETRIEVE, 0, data, [ErrorCode.NoError]) - .then((response: any) => { - const errorCodeData = response.slice(-2); - const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; - - const compressedPk = Buffer.from(response.slice(0, 33)); - const bech32Address = Buffer.from(response.slice(33, -2)).toString(); - - return { - bech32_address: bech32Address, - compressed_pk: compressedPk, - return_code: returnCode, - error_message: errorCodeToString(returnCode), - }; - }, processErrorResponse); - }) - .catch((err) => processErrorResponse(err)); - } catch (e) { - return processErrorResponse(e); - } - } - - async showAddressAndPubKey(path: Array, hrp: any) { - try { - return await this.serializePath(path) - .then((serializedPath) => { - const data = Buffer.concat([THORChainApp.serializeHRP(hrp), serializedPath as any]); - return this.transport - .send(CLA, INS.GET_ADDR_SECP256K1, P1_VALUES.SHOW_ADDRESS_IN_DEVICE, 0, data, [ErrorCode.NoError]) - .then((response: any) => { - const errorCodeData = response.slice(-2); - const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; - - const compressedPk = Buffer.from(response.slice(0, 33)); - const bech32Address = Buffer.from(response.slice(33, -2)).toString(); - - return { - bech32_address: bech32Address, - compressed_pk: compressedPk, - return_code: returnCode, - error_message: errorCodeToString(returnCode), - }; - }, processErrorResponse); - }) - .catch((err) => processErrorResponse(err)); - } catch (e) { - return processErrorResponse(e); - } - } - - async signSendChunk(chunkIdx: number, chunkNum: number, chunk: any) { - switch (this.versionResponse.major) { - case 2: - return signSendChunkv2(this, chunkIdx, chunkNum, chunk); - default: - return { - return_code: 0x6400, - error_message: "App Version is not supported", - }; - } - } - - async sign(msg: core.ThorchainSignTx): Promise { - const rawTx = stringifyKeysInOrder({ - account_number: msg.account_number, - chain_id: THOR_CHAIN, - fee: { amount: msg.tx.fee.amount, gas: msg.tx.fee.gas }, - memo: msg.tx.memo, - msgs: msg.tx.msg, - sequence: msg.sequence, - }); - - return this.signGetChunks(msg.addressNList, rawTx).then((chunks) => { - return this.signSendChunk(1, chunks.length, chunks[0]).then(async (response) => { - let result = { - return_code: response.return_code, - error_message: response.error_message, - signature: null, - }; - - for (let i = 1; i < chunks.length; i += 1) { - result = await this.signSendChunk(1 + i, chunks.length, chunks[i]); - if (result.return_code !== ErrorCode.NoError) { - break; - } - } - - return { - return_code: result.return_code, - error_message: result.error_message, - signature: result.signature, - }; - }, processErrorResponse); - }, processErrorResponse); - } -} - -export { THORChainApp }; diff --git a/packages/hdwallet-ledger/src/thorchain/index.ts b/packages/hdwallet-ledger/src/thorchain/index.ts deleted file mode 100644 index e9e595cde..000000000 --- a/packages/hdwallet-ledger/src/thorchain/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -import type { AccountData, AminoSignResponse, OfflineAminoSigner, StdSignDoc, StdTx } from "@cosmjs/amino"; -import type { SignerData } from "@cosmjs/stargate"; -import * as core from "@shapeshiftoss/hdwallet-core"; -import { fromByteArray } from "base64-js"; -import PLazy from "p-lazy"; - -import { handleError, LedgerTransport } from ".."; -import { getSignature } from "./utils"; -export * from "./common"; -export * from "./helpers"; -export * from "./hw-app-thor"; - -const protoTxBuilder = PLazy.from(() => import("@shapeshiftoss/proto-tx-builder")); - -export const thorchainGetAddress = async ( - transport: LedgerTransport, - msg: core.ThorchainGetAddress -): Promise => { - const addressAndPubkey = await transport.call("Rune", "getAddressAndPubKey", msg.addressNList, "thor"); - - handleError(addressAndPubkey, transport, "Unable to obtain address and public key from device."); - - return addressAndPubkey.payload.bech32_address; -}; - -export const thorchainSignTx = async ( - transport: LedgerTransport, - msg: core.ThorchainSignTx -): Promise => { - const addressAndPubkey = await transport.call("Rune", "getAddressAndPubKey", msg.addressNList, "thor"); - - handleError(addressAndPubkey, transport, "Unable to obtain address and public key from device."); - - const { bech32_address: address, compressed_pk } = addressAndPubkey.payload; - const pubkey = fromByteArray(compressed_pk); - - const signResponse = await transport.call("Rune", "sign", msg); - - handleError(signResponse, transport, "Unable to obtain signature from device."); - - const signature = signResponse.payload.signature; - - const offlineSigner: OfflineAminoSigner = { - async getAccounts(): Promise { - return [ - { - address, - algo: "secp256k1", - pubkey: compressed_pk, - }, - ]; - }, - - async signAmino(signerAddress: string, signDoc: StdSignDoc): Promise { - if (signerAddress !== address) throw new Error("expected signerAddress to match address"); - - return { - signed: signDoc, - signature: { - pub_key: { - type: "tendermint/PubKeySecp256k1", - value: pubkey, - }, - signature: getSignature(signature), - }, - }; - }, - }; - - const signerData: SignerData = { - sequence: Number(msg.sequence), - accountNumber: Number(msg.account_number), - chainId: msg.chain_id, - }; - - return (await protoTxBuilder).sign(address, msg.tx as StdTx, offlineSigner, signerData, "thor"); -}; diff --git a/packages/hdwallet-ledger/src/thorchain/utils.ts b/packages/hdwallet-ledger/src/thorchain/utils.ts deleted file mode 100644 index 1c4b14b7c..000000000 --- a/packages/hdwallet-ledger/src/thorchain/utils.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { fromByteArray } from "base64-js"; - -export const getSignature = (signatureArray: Uint8Array) => { - // Check Type Length Value encoding - if (signatureArray.length < 64) { - throw new Error("Invalid Signature: Too short"); - } - if (signatureArray[0] !== 0x30) { - throw new Error("Invalid Ledger Signature TLV encoding: expected first byte 0x30"); - } - if (signatureArray[1] + 2 !== signatureArray.length) { - throw new Error("Invalid Signature: signature length does not match TLV"); - } - if (signatureArray[2] !== 0x02) { - throw new Error("Invalid Ledger Signature TLV encoding: expected length type 0x02"); - } - - // r signature - const rLength = signatureArray[3]; - let rSignature = signatureArray.slice(4, rLength + 4); - - // Drop leading zero on some 'r' signatures that are 33 bytes. - if (rSignature.length === 33 && rSignature[0] === 0) { - rSignature = rSignature.slice(1, 33); - } else if (rSignature.length === 33) { - throw new Error('Invalid signature: "r" too long'); - } - - // add leading zero's to pad to 32 bytes - while (rSignature.length < 32) { - const rSignaturePadded = new Uint8Array(32); - rSignaturePadded.set(rSignature, 32 - rSignature.length); - rSignature = rSignaturePadded; - } - - // s signature - if (signatureArray[rLength + 4] !== 0x02) { - throw new Error("Invalid Ledger Signature TLV encoding: expected length type 0x02"); - } - - const sLength = signatureArray[rLength + 5]; - - if (4 + rLength + 2 + sLength !== signatureArray.length) { - throw new Error("Invalid Ledger Signature: TLV byte lengths do not match message length"); - } - - let sSignature = signatureArray.slice(rLength + 6, signatureArray.length); - - // Drop leading zero on 's' signatures that are 33 bytes. This shouldn't occur since ledger signs using "Small s" math. But just to be sure... - if (sSignature.length === 33 && sSignature[0] === 0) { - sSignature = sSignature.slice(1, 33); - } else if (sSignature.length === 33) { - throw new Error('Invalid signature: "s" too long'); - } - - // add leading zero's to pad to 32 bytes - while (sSignature.length < 32) { - const sSignaturePadded = new Uint8Array(32); - sSignaturePadded.set(sSignature, 32 - sSignature.length); - sSignature = sSignaturePadded; - } - - if (rSignature.length !== 32 || sSignature.length !== 32) { - throw new Error("Invalid signatures: must be 32 bytes each"); - } - - return fromByteArray(Buffer.concat([rSignature, sSignature])); -}; diff --git a/packages/hdwallet-ledger/src/transport.ts b/packages/hdwallet-ledger/src/transport.ts index f45cc14f8..70178159d 100644 --- a/packages/hdwallet-ledger/src/transport.ts +++ b/packages/hdwallet-ledger/src/transport.ts @@ -6,15 +6,13 @@ import type getDeviceInfo from "@ledgerhq/live-common/lib/hw/getDeviceInfo"; import type openApp from "@ledgerhq/live-common/lib/hw/openApp"; import * as core from "@shapeshiftoss/hdwallet-core"; -import { THORChainApp } from "./thorchain"; - type MethodsOnly = { [k in keyof T as T[k] extends (...args: any) => any ? k : never]: T[k]; }; type UnwrapPromise = T extends Promise ? R : T; type DefinitelyCallable = T extends (...args: any) => any ? T : never; -export type LedgerTransportCoinType = null | "Btc" | "Eth" | "Rune"; +export type LedgerTransportCoinType = null | "Btc" | "Eth"; type CurriedWithTransport any> = T extends ( transport: Transport, ...args: infer R @@ -35,8 +33,6 @@ type LedgerTransportMethodMap = T extends nul ? MethodsOnly : T extends "Eth" ? MethodsOnly - : T extends "Rune" - ? MethodsOnly : never; export type LedgerTransportMethodName = LedgerTransportMethodMap extends never ? never diff --git a/packages/hdwallet-metamask-shapeshift-multichain/package.json b/packages/hdwallet-metamask-shapeshift-multichain/package.json index 92f05d35d..c0dfa45ed 100644 --- a/packages/hdwallet-metamask-shapeshift-multichain/package.json +++ b/packages/hdwallet-metamask-shapeshift-multichain/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-shapeshift-multichain", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "@metamask/detect-provider": "^1.2.0", "@metamask/onboarding": "^1.0.1", "@shapeshiftoss/common-api": "^9.3.0", - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "@shapeshiftoss/metamask-snaps-adapter": "^1.0.8", "@shapeshiftoss/metamask-snaps-types": "^1.0.8", "eth-rpc-errors": "^4.0.3", diff --git a/packages/hdwallet-metamask/package.json b/packages/hdwallet-metamask/package.json index f50263cbf..535d6ecfa 100644 --- a/packages/hdwallet-metamask/package.json +++ b/packages/hdwallet-metamask/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-metamask", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -16,7 +16,7 @@ "dependencies": { "@metamask/detect-provider": "^1.2.0", "@metamask/onboarding": "^1.0.1", - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "eth-rpc-errors": "^4.0.3", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-native-vault/package.json b/packages/hdwallet-native-vault/package.json index cae9567d4..a4eb6d536 100644 --- a/packages/hdwallet-native-vault/package.json +++ b/packages/hdwallet-native-vault/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native-vault", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-native": "1.52.8", + "@shapeshiftoss/hdwallet-native": "1.52.5", "bip39": "^3.0.4", "hash-wasm": "^4.9.0", "idb-keyval": "^6.0.3", diff --git a/packages/hdwallet-native/package.json b/packages/hdwallet-native/package.json index 6804d4de8..5e880bd9c 100644 --- a/packages/hdwallet-native/package.json +++ b/packages/hdwallet-native/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -16,7 +16,7 @@ "dependencies": { "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", "@shapeshiftoss/fiosdk": "1.2.1-shapeshift.6", - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "@zxing/text-encoding": "^0.9.0", "bchaddrjs": "^0.4.9", diff --git a/packages/hdwallet-native/src/crypto/isolation/engines/default/bip39.ts b/packages/hdwallet-native/src/crypto/isolation/engines/default/bip39.ts index f563e66a7..a7c1cafa0 100644 --- a/packages/hdwallet-native/src/crypto/isolation/engines/default/bip39.ts +++ b/packages/hdwallet-native/src/crypto/isolation/engines/default/bip39.ts @@ -1,16 +1,46 @@ /// -import { createSHA512, pbkdf2 } from "hash-wasm"; +import * as core from "@shapeshiftoss/hdwallet-core"; +import * as bip32crypto from "bip32/src/crypto"; import { TextEncoder } from "web-encoding"; -import type { Seed as SeedType } from "../../core/bip32"; -import type { Mnemonic as Bip39Mnemonic } from "../../core/bip39"; -import { Seed } from "./bip32"; +import * as BIP32 from "../../core/bip32"; +import * as BIP39 from "../../core/bip39"; +import { safeBufferFrom } from "../../types"; +import * as BIP32Engine from "./bip32"; import { Revocable, revocable } from "./revocable"; export * from "../../core/bip39"; -export class Mnemonic extends Revocable(class {}) implements Bip39Mnemonic { +// Poor man's single-block PBKDF2 implementation +//TODO: get something better +function pbkdf2_sha512_singleblock( + password: string, + salt: Uint8Array, + iterations: number +): Uint8Array & { length: 64 } { + function be32Buf(index: number): Buffer { + const indexBE = Buffer.alloc(4); + indexBE.writeUInt32BE(index); + return indexBE; + } + + const pwBuffer = safeBufferFrom(new TextEncoder().encode(password)); + + const out = bip32crypto.hmacSHA512(pwBuffer, core.compatibleBufferConcat([salt, be32Buf(1)])) as Buffer & { + length: 64; + }; + let lastU = out; + for (let i = 2; i <= iterations; i++) { + const newU = bip32crypto.hmacSHA512(pwBuffer, lastU) as Buffer & { length: 64 }; + for (let j = 0; j < out.length; j++) out[j] ^= newU[j]; + lastU = newU; + } + + return out; +} + +export class Mnemonic extends Revocable(class {}) implements BIP39.Mnemonic { readonly #mnemonic: string; protected constructor(mnemonic: string) { @@ -18,27 +48,18 @@ export class Mnemonic extends Revocable(class {}) implements Bip39Mnemonic { this.#mnemonic = mnemonic.normalize("NFKD"); } - static async create(mnemonic: string): Promise { + static async create(mnemonic: string): Promise { const obj = new Mnemonic(mnemonic); return revocable(obj, (x) => obj.addRevoker(x)); } - async toSeed(passphrase?: string): Promise { + async toSeed(passphrase?: string): Promise { + if (passphrase !== undefined && typeof passphrase !== "string") throw new Error("bad passphrase type"); + const mnemonic = this.#mnemonic; const salt = new TextEncoder().encode(`mnemonic${passphrase ?? ""}`.normalize("NFKD")); - const out = await Seed.create( - Buffer.from( - await pbkdf2({ - password: mnemonic, - salt, - iterations: 2048, - hashLength: 64, - hashFunction: createSHA512(), - outputType: "binary", - }) - ) - ); + const out = await BIP32Engine.Seed.create(pbkdf2_sha512_singleblock(mnemonic, salt, 2048)); this.addRevoker(() => out.revoke?.()); return out; } diff --git a/packages/hdwallet-portis/package.json b/packages/hdwallet-portis/package.json index 165fdb0b4..5093312bf 100644 --- a/packages/hdwallet-portis/package.json +++ b/packages/hdwallet-portis/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-portis", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@portis/web3": "3.0.10", - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "base64-js": "^1.5.1", "bip32": "^2.0.4", "bitcoinjs-lib": "^5.1.6", diff --git a/packages/hdwallet-tallyho/package.json b/packages/hdwallet-tallyho/package.json index 9dfab26e2..b022b1597 100644 --- a/packages/hdwallet-tallyho/package.json +++ b/packages/hdwallet-tallyho/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-tallyho", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "lodash": "^4.17.21", "tallyho-onboarding": "^1.0.2" }, diff --git a/packages/hdwallet-trezor-connect/package.json b/packages/hdwallet-trezor-connect/package.json index 25a06958f..8d7a66d11 100644 --- a/packages/hdwallet-trezor-connect/package.json +++ b/packages/hdwallet-trezor-connect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor-connect", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", - "@shapeshiftoss/hdwallet-trezor": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-trezor": "1.52.5", "@trezor/rollout": "^1.2.0", "trezor-connect": "^8.2.1" } diff --git a/packages/hdwallet-trezor/package.json b/packages/hdwallet-trezor/package.json index 5d6fb42b3..7f4b01609 100644 --- a/packages/hdwallet-trezor/package.json +++ b/packages/hdwallet-trezor/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "base64-js": "^1.5.1", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-walletconnect/package.json b/packages/hdwallet-walletconnect/package.json index 9b0c07d28..997bb6add 100644 --- a/packages/hdwallet-walletconnect/package.json +++ b/packages/hdwallet-walletconnect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnect", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "@walletconnect/qrcode-modal": "^1.7.8", "@walletconnect/web3-provider": "^1.7.8", "ethers": "^5.6.5" diff --git a/packages/hdwallet-walletconnectV2/package.json b/packages/hdwallet-walletconnectV2/package.json index 2546e0c10..67f075191 100644 --- a/packages/hdwallet-walletconnectV2/package.json +++ b/packages/hdwallet-walletconnectV2/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnectv2", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "@walletconnect/ethereum-provider": "^2.10.1", "@walletconnect/modal": "^2.6.2", "ethers": "^5.6.5" diff --git a/packages/hdwallet-xdefi/package.json b/packages/hdwallet-xdefi/package.json index f9362e6e0..8fe5be1df 100644 --- a/packages/hdwallet-xdefi/package.json +++ b/packages/hdwallet-xdefi/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-xdefi", - "version": "1.52.8", + "version": "1.52.5", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.8", + "@shapeshiftoss/hdwallet-core": "1.52.5", "lodash": "^4.17.21" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index a7d9b3c9b..455c50779 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6471,13 +6471,6 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/ripemd160@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/ripemd160/-/ripemd160-2.0.2.tgz#e8ec7b1572e25fff9b3d0c4bc79022df4e037d12" - integrity sha512-hv3Oh/+ldCqp1xBRGi/1G6y2fxV6wUiiwjPt2Q7fe4UgmbD52ChdmxJyjDsGCRb9yuTBS9281UhH4D9gO85k7A== - dependencies: - "@types/node" "*" - "@types/secp256k1@^4.0.1": version "4.0.3" resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" From f51a8bf007a608d788de0dd6b1467dbb28593f3a Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Mon, 23 Oct 2023 00:35:27 -0600 Subject: [PATCH 04/15] remove ethereumjs-util since we already have web3.utils --- examples/sandbox/index.ts | 3 +-- examples/sandbox/package.json | 1 - yarn.lock | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/sandbox/index.ts b/examples/sandbox/index.ts index a30972bb6..8e806f673 100644 --- a/examples/sandbox/index.ts +++ b/examples/sandbox/index.ts @@ -21,7 +21,6 @@ import * as walletConnectv2 from "@shapeshiftoss/hdwallet-walletconnectv2"; import * as xdefi from "@shapeshiftoss/hdwallet-xdefi"; import { EthereumProviderOptions } from "@walletconnect/ethereum-provider/dist/types/EthereumProvider"; import { TypedData } from "eip-712"; -import { toChecksumAddress } from "ethereumjs-util"; import $, { noop } from "jquery"; import Web3 from "web3"; @@ -2598,7 +2597,7 @@ const doesRecoveredMatchAddress = (typedData: TypedData, fromAddress: string, si signature: signature, version: sigUtil.SignTypedDataVersion.V4, }); - return toChecksumAddress(recoveredAddress) === toChecksumAddress(fromAddress); + return Web3.utils.toChecksumAddress(recoveredAddress) === Web3.utils.toChecksumAddress(fromAddress); }; ethButtons.ethSignTypedData.on("click", (e) => diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index e5cac9fdd..90071f35f 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -28,7 +28,6 @@ "@shapeshiftoss/hdwallet-xdefi": "1.52.5", "bip32": "^2.0.4", "eip-712": "^1.0.0", - "ethereumjs-util": "^7.1.5", "jquery": "^3.7.1", "json": "^9.0.6", "p-queue": "^7.4.1", diff --git a/yarn.lock b/yarn.lock index 455c50779..f2085d540 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11139,7 +11139,7 @@ ethereumjs-tx@^2.1.1, ethereumjs-tx@^2.1.2: ethereumjs-common "^1.5.0" ethereumjs-util "^6.0.0" -ethereumjs-util@*, ethereumjs-util@^7.1.5: +ethereumjs-util@*: version "7.1.5" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== From cd29461c0c7b5012c8b47b204e7456a5d4fff3e1 Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Mon, 23 Oct 2023 21:45:20 -0600 Subject: [PATCH 05/15] fix: messageHash should not be set if "EIP712Domain" is the primaryType --- packages/hdwallet-keepkey/src/ethereum.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/hdwallet-keepkey/src/ethereum.ts b/packages/hdwallet-keepkey/src/ethereum.ts index d911e7936..2a1df860a 100644 --- a/packages/hdwallet-keepkey/src/ethereum.ts +++ b/packages/hdwallet-keepkey/src/ethereum.ts @@ -202,16 +202,17 @@ export async function ethSignTypedData( const version = SignTypedDataVersion.V4; const EIP_712_DOMAIN = "EIP712Domain"; const { types, primaryType, domain, message } = msg.typedData; - const domainSeparatorHash = TypedDataUtils.hashStruct(EIP_712_DOMAIN, domain, types, version); + const domainSeparatorHash: Uint8Array = TypedDataUtils.hashStruct(EIP_712_DOMAIN, domain, types, version); + const ethereumSignTypedHash = new Ethereum.EthereumSignTypedHash(); ethereumSignTypedHash.setAddressNList(msg.addressNList); ethereumSignTypedHash.setDomainSeparatorHash(domainSeparatorHash); - // If "EIP712Domain" is the primaryType, then the message IS the domain separator hash - if (primaryType === EIP_712_DOMAIN) { - ethereumSignTypedHash.setMessageHash(domainSeparatorHash); - } else { - const messageHash = TypedDataUtils.hashStruct(primaryType as string, message, types, version); + let messageHash: Uint8Array | undefined = undefined; + // If "EIP712Domain" is the primaryType, messageHash is not required - look at T1 connect impl ;) + // todo: the firmware should define messageHash as an optional Uint8Array field for this case + if (primaryType !== EIP_712_DOMAIN) { + messageHash = TypedDataUtils.hashStruct(primaryType, message, types, version); ethereumSignTypedHash.setMessageHash(messageHash); } From 76ae5d1293bf46edf3715a72ce426b45320c403c Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Mon, 23 Oct 2023 21:46:50 -0600 Subject: [PATCH 06/15] Add additional test cases --- examples/sandbox/index.html | 5 +- examples/sandbox/index.ts | 73 +++++++++++-------- ...4.json => OpenSea-ethSignTypedDataV4.json} | 4 +- examples/sandbox/json/ethereum/ethTx.json | 35 +-------- 4 files changed, 52 insertions(+), 65 deletions(-) rename examples/sandbox/json/ethereum/{ethSignTypedDataV4.json => OpenSea-ethSignTypedDataV4.json} (98%) diff --git a/examples/sandbox/index.html b/examples/sandbox/index.html index ae9f72002..f70b1a1b5 100644 --- a/examples/sandbox/index.html +++ b/examples/sandbox/index.html @@ -304,8 +304,9 @@

Ethereum

- - + + +
diff --git a/examples/sandbox/index.ts b/examples/sandbox/index.ts index 8e806f673..51a3d2875 100644 --- a/examples/sandbox/index.ts +++ b/examples/sandbox/index.ts @@ -49,8 +49,8 @@ import { } from "./json/cosmos/cosmosAminoTx.json"; import * as dashTxJson from "./json/dashTx.json"; import * as dogeTxJson from "./json/dogeTx.json"; -import { openSeaListNFTMessage } from "./json/ethereum/ethSignTypedDataV4.json"; import { eip712, txs } from "./json/ethereum/ethTx.json"; +import { openSeaListNFTMessage } from "./json/ethereum/OpenSea-ethSignTypedDataV4.json"; import * as ltcTxJson from "./json/ltcTx.json"; import { osmosisDelegateTx, @@ -2474,8 +2474,9 @@ $osmosisSwap.on("click", async (e) => { */ interface EthOperationConfig { - handler: (paths: any) => Promise; + handler: (params: any) => Promise; useEIP1559?: boolean; + typedDataValue?: "OpenSea" | "EIP712DomainIsPrimaryType" | "longPrimaryTypeString"; } let ethEIP1559Selected = false; @@ -2489,7 +2490,8 @@ const ethButtons = [ "ethResults", "ethEIP1559", "ethSignTypedData", - "ethSignTypedDataAlternate", + "ethSignTypedDataAlternate1", + "ethSignTypedDataAlternate2", ].reduce((acc, id) => { acc[id] = $(`#${id}`); return acc; @@ -2509,7 +2511,22 @@ const performEthOperation = async (e: any, config: EthOperationConfig) => { })[0]; const tx = config.useEIP1559 && ethEIP1559Selected ? txs.ethTx1559 : txs.ethTxLegacy; - const result = await config.handler({ hardenedPath, relPath, tx }); + let typedData: TypedData | undefined; + + switch (config.typedDataValue) { + case "OpenSea": + typedData = openSeaListNFTMessage; + break; + case "longPrimaryTypeString": + typedData = eip712["longPrimaryTypeString"]["typedData"]; + break; + case "EIP712DomainIsPrimaryType": + typedData = eip712["EIP712DomainIsPrimaryType"]["typedData"]; + break; + default: + typedData = undefined; + } + const result = await config.handler({ hardenedPath, relPath, tx, typedData }); ethButtons.ethResults.val(result); } else { const label = await wallet.getLabel(); @@ -2600,37 +2617,35 @@ const doesRecoveredMatchAddress = (typedData: TypedData, fromAddress: string, si return Web3.utils.toChecksumAddress(recoveredAddress) === Web3.utils.toChecksumAddress(fromAddress); }; +const ethSignTypedDataHandler = async ({ hardenedPath, relPath, typedData }) => { + const { address, signature } = await wallet.ethSignTypedData({ + typedData, + addressNList: hardenedPath.concat(relPath), + }); + const success = doesRecoveredMatchAddress(typedData, address, signature); + return ( + (success ? `✅ "${address}" is the signer` : `❌ "${address}" is NOT the signer`) + `; Signature is: "${signature}"` + ); +}; + ethButtons.ethSignTypedData.on("click", (e) => performEthOperation(e, { - handler: async ({ hardenedPath, relPath }) => { - const typedData = openSeaListNFTMessage; // irl example of an OpenSea eth_signTypedData_v4 message - const { address, signature } = await wallet.ethSignTypedData({ - typedData, - addressNList: hardenedPath.concat(relPath), - }); - const success = doesRecoveredMatchAddress(typedData, address, signature); - return ( - (success ? `✅ "${address}" is the signer` : `❌ "${address}" is NOT the signer`) + - `; Signature is: "${signature}"` - ); - }, + handler: ethSignTypedDataHandler, + typedDataValue: "OpenSea", }) ); -ethButtons.ethSignTypedDataAlternate.on("click", (e) => +ethButtons.ethSignTypedDataAlternate1.on("click", (e) => performEthOperation(e, { - handler: async ({ hardenedPath, relPath }) => { - const typedData = eip712["precalculateHashes"]["typedData"]; - const { address, signature } = await wallet.ethSignTypedData({ - typedData, - addressNList: hardenedPath.concat(relPath), - }); - const success = doesRecoveredMatchAddress(typedData, address, signature); - return ( - (success ? `✅ "${address}" is the signer` : `❌ "${address}" is NOT the signer`) + - `; Signature is: "${signature}"` - ); - }, + handler: ethSignTypedDataHandler, + typedDataValue: "longPrimaryTypeString", + }) +); + +ethButtons.ethSignTypedDataAlternate2.on("click", (e) => + performEthOperation(e, { + handler: ethSignTypedDataHandler, + typedDataValue: "EIP712DomainIsPrimaryType", }) ); diff --git a/examples/sandbox/json/ethereum/ethSignTypedDataV4.json b/examples/sandbox/json/ethereum/OpenSea-ethSignTypedDataV4.json similarity index 98% rename from examples/sandbox/json/ethereum/ethSignTypedDataV4.json rename to examples/sandbox/json/ethereum/OpenSea-ethSignTypedDataV4.json index 9b895d495..44b3a7400 100644 --- a/examples/sandbox/json/ethereum/ethSignTypedDataV4.json +++ b/examples/sandbox/json/ethereum/OpenSea-ethSignTypedDataV4.json @@ -118,7 +118,7 @@ "domain": { "name": "Seaport", "version": "1.5", - "chainId": "137", + "chainId": 137, "verifyingContract": "0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC" }, "message": { @@ -152,7 +152,7 @@ ], "startTime": "1696393777", "endTime": "1699072168", - "orderType": "0", + "orderType": 0, "zone": "0x0000000000000000000000000000000000000000", "zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "salt": "24446860302761739304752683030156737591518664810215442929815805592127532436551", diff --git a/examples/sandbox/json/ethereum/ethTx.json b/examples/sandbox/json/ethereum/ethTx.json index fa365df7c..c43243e07 100644 --- a/examples/sandbox/json/ethereum/ethTx.json +++ b/examples/sandbox/json/ethereum/ethTx.json @@ -1,6 +1,6 @@ { "eip712": { - "precalculateHashes": { + "longPrimaryTypeString": { "typedData": { "types": { "EIP712Domain": [ @@ -128,7 +128,7 @@ } } }, - "calculateHashesOnDevice": { + "EIP712DomainIsPrimaryType": { "typedData": { "types": { "EIP712Domain": [ @@ -148,28 +148,6 @@ "name": "verifyingContract", "type": "address" } - ], - "Permit": [ - { - "name": "owner", - "type": "address" - }, - { - "name": "spender", - "type": "address" - }, - { - "name": "value", - "type": "uint256" - }, - { - "name": "nonce", - "type": "uint256" - }, - { - "name": "deadline", - "type": "uint256" - } ] }, "domain": { @@ -178,14 +156,7 @@ "verifyingContract": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "chainId": 1 }, - "primaryType": "Permit", - "message": { - "owner": "0x33b35c665496bA8E71B22373843376740401F106", - "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", - "value": "4023865", - "nonce": 0, - "deadline": 1655431026 - } + "primaryType": "EIP712Domain" } } }, From dd5b54764ee54a4f3b4e389f5622d54cb01419ae Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Mon, 23 Oct 2023 22:17:01 -0600 Subject: [PATCH 07/15] bump hdwallet-* versions --- examples/sandbox/package.json | 32 +++++++++---------- integration/package.json | 20 ++++++------ lerna.json | 2 +- packages/hdwallet-coinbase/package.json | 4 +-- packages/hdwallet-core/package.json | 2 +- .../hdwallet-keepkey-chromeusb/package.json | 6 ++-- .../hdwallet-keepkey-electron/package.json | 4 +-- .../hdwallet-keepkey-nodehid/package.json | 4 +-- .../hdwallet-keepkey-nodewebusb/package.json | 6 ++-- packages/hdwallet-keepkey-tcp/package.json | 6 ++-- packages/hdwallet-keepkey-webusb/package.json | 6 ++-- packages/hdwallet-keepkey/package.json | 4 +-- packages/hdwallet-keplr/package.json | 4 +-- packages/hdwallet-ledger-webhid/package.json | 6 ++-- packages/hdwallet-ledger-webusb/package.json | 6 ++-- packages/hdwallet-ledger/package.json | 4 +-- .../package.json | 4 +-- packages/hdwallet-metamask/package.json | 4 +-- packages/hdwallet-native-vault/package.json | 4 +-- packages/hdwallet-native/package.json | 4 +-- packages/hdwallet-portis/package.json | 4 +-- packages/hdwallet-tallyho/package.json | 4 +-- packages/hdwallet-trezor-connect/package.json | 6 ++-- packages/hdwallet-trezor/package.json | 4 +-- packages/hdwallet-walletconnect/package.json | 4 +-- .../hdwallet-walletconnectV2/package.json | 4 +-- packages/hdwallet-xdefi/package.json | 4 +-- 27 files changed, 81 insertions(+), 81 deletions(-) diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index 90071f35f..e463398ac 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-sandbox", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "private": true, "browserslist": "> 0.5%, last 2 versions, not dead", @@ -11,21 +11,21 @@ }, "dependencies": { "@metamask/eth-sig-util": "^7.0.0", - "@shapeshiftoss/hdwallet-core": "1.52.5", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.5", - "@shapeshiftoss/hdwallet-keepkey-webusb": "1.52.5", - "@shapeshiftoss/hdwallet-keplr": "1.52.5", - "@shapeshiftoss/hdwallet-ledger": "1.52.5", - "@shapeshiftoss/hdwallet-ledger-webhid": "1.52.5", - "@shapeshiftoss/hdwallet-ledger-webusb": "1.52.5", - "@shapeshiftoss/hdwallet-metamask": "1.52.5", - "@shapeshiftoss/hdwallet-native": "1.52.5", - "@shapeshiftoss/hdwallet-portis": "1.52.5", - "@shapeshiftoss/hdwallet-tallyho": "1.52.5", - "@shapeshiftoss/hdwallet-trezor": "1.52.5", - "@shapeshiftoss/hdwallet-trezor-connect": "1.52.5", - "@shapeshiftoss/hdwallet-walletconnect": "1.52.5", - "@shapeshiftoss/hdwallet-xdefi": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.9", + "@shapeshiftoss/hdwallet-keepkey-webusb": "1.52.9", + "@shapeshiftoss/hdwallet-keplr": "1.52.9", + "@shapeshiftoss/hdwallet-ledger": "1.52.9", + "@shapeshiftoss/hdwallet-ledger-webhid": "1.52.9", + "@shapeshiftoss/hdwallet-ledger-webusb": "1.52.9", + "@shapeshiftoss/hdwallet-metamask": "1.52.9", + "@shapeshiftoss/hdwallet-native": "1.52.9", + "@shapeshiftoss/hdwallet-portis": "1.52.9", + "@shapeshiftoss/hdwallet-tallyho": "1.52.9", + "@shapeshiftoss/hdwallet-trezor": "1.52.9", + "@shapeshiftoss/hdwallet-trezor-connect": "1.52.9", + "@shapeshiftoss/hdwallet-walletconnect": "1.52.9", + "@shapeshiftoss/hdwallet-xdefi": "1.52.9", "bip32": "^2.0.4", "eip-712": "^1.0.0", "jquery": "^3.7.1", diff --git a/integration/package.json b/integration/package.json index b4d89f943..db575cb71 100644 --- a/integration/package.json +++ b/integration/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/integration", - "version": "1.52.5", + "version": "1.52.9", "main": "index.js", "license": "MIT", "private": true, @@ -10,15 +10,15 @@ "dev": "lerna run test --scope integration --parallel --include-filtered-dependencies" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", - "@shapeshiftoss/hdwallet-keepkey": "1.52.5", - "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.52.5", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.5", - "@shapeshiftoss/hdwallet-ledger": "1.52.5", - "@shapeshiftoss/hdwallet-native": "1.52.5", - "@shapeshiftoss/hdwallet-portis": "1.52.5", - "@shapeshiftoss/hdwallet-trezor": "1.52.5", - "@shapeshiftoss/hdwallet-xdefi": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", + "@shapeshiftoss/hdwallet-keepkey": "1.52.9", + "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.52.9", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.9", + "@shapeshiftoss/hdwallet-ledger": "1.52.9", + "@shapeshiftoss/hdwallet-native": "1.52.9", + "@shapeshiftoss/hdwallet-portis": "1.52.9", + "@shapeshiftoss/hdwallet-trezor": "1.52.9", + "@shapeshiftoss/hdwallet-xdefi": "1.52.9", "fast-json-stable-stringify": "^2.1.0", "msw": "^0.27.1", "whatwg-fetch": "^3.6.2" diff --git a/lerna.json b/lerna.json index 1abeb2256..1af31e630 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "5.2.0", - "version": "1.52.5", + "version": "1.52.9", "npmClient": "yarn", "useWorkspaces": true, "command": { diff --git a/packages/hdwallet-coinbase/package.json b/packages/hdwallet-coinbase/package.json index bf1ce6625..17c94b0a8 100644 --- a/packages/hdwallet-coinbase/package.json +++ b/packages/hdwallet-coinbase/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-coinbase", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@coinbase/wallet-sdk": "^3.6.6", - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "eth-rpc-errors": "^4.0.3", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-core/package.json b/packages/hdwallet-core/package.json index be2824ebc..8953865dd 100644 --- a/packages/hdwallet-core/package.json +++ b/packages/hdwallet-core/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-core", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/hdwallet-keepkey-chromeusb/package.json b/packages/hdwallet-keepkey-chromeusb/package.json index 3d406db4f..07a02b491 100644 --- a/packages/hdwallet-keepkey-chromeusb/package.json +++ b/packages/hdwallet-keepkey-chromeusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-chromeusb", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", - "@shapeshiftoss/hdwallet-keepkey": "1.52.5" + "@shapeshiftoss/hdwallet-core": "1.52.9", + "@shapeshiftoss/hdwallet-keepkey": "1.52.9" } } diff --git a/packages/hdwallet-keepkey-electron/package.json b/packages/hdwallet-keepkey-electron/package.json index 397a3bb98..ca5260614 100644 --- a/packages/hdwallet-keepkey-electron/package.json +++ b/packages/hdwallet-keepkey-electron/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-electron", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.52.5", + "@shapeshiftoss/hdwallet-keepkey": "1.52.9", "uuid": "^8.3.2" }, "peerDependencies": { diff --git a/packages/hdwallet-keepkey-nodehid/package.json b/packages/hdwallet-keepkey-nodehid/package.json index c7c3b6641..7e489e807 100644 --- a/packages/hdwallet-keepkey-nodehid/package.json +++ b/packages/hdwallet-keepkey-nodehid/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodehid", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.52.5" + "@shapeshiftoss/hdwallet-keepkey": "1.52.9" }, "peerDependencies": { "node-hid": "^2.1.1" diff --git a/packages/hdwallet-keepkey-nodewebusb/package.json b/packages/hdwallet-keepkey-nodewebusb/package.json index fdc4fbc0a..a17b9a936 100644 --- a/packages/hdwallet-keepkey-nodewebusb/package.json +++ b/packages/hdwallet-keepkey-nodewebusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodewebusb", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", - "@shapeshiftoss/hdwallet-keepkey": "1.52.5" + "@shapeshiftoss/hdwallet-core": "1.52.9", + "@shapeshiftoss/hdwallet-keepkey": "1.52.9" }, "peerDependencies": { "usb": "^2.3.1" diff --git a/packages/hdwallet-keepkey-tcp/package.json b/packages/hdwallet-keepkey-tcp/package.json index 6e7ad9d39..bf0e94f0d 100644 --- a/packages/hdwallet-keepkey-tcp/package.json +++ b/packages/hdwallet-keepkey-tcp/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-tcp", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", - "@shapeshiftoss/hdwallet-keepkey": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", + "@shapeshiftoss/hdwallet-keepkey": "1.52.9", "axios": "^0.21.1" } } diff --git a/packages/hdwallet-keepkey-webusb/package.json b/packages/hdwallet-keepkey-webusb/package.json index cbdc09b77..75b9ab44c 100644 --- a/packages/hdwallet-keepkey-webusb/package.json +++ b/packages/hdwallet-keepkey-webusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-webusb", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", - "@shapeshiftoss/hdwallet-keepkey": "1.52.5" + "@shapeshiftoss/hdwallet-core": "1.52.9", + "@shapeshiftoss/hdwallet-keepkey": "1.52.9" }, "devDependencies": { "@types/w3c-web-usb": "^1.0.4" diff --git a/packages/hdwallet-keepkey/package.json b/packages/hdwallet-keepkey/package.json index 2a6842342..a93a6faf5 100644 --- a/packages/hdwallet-keepkey/package.json +++ b/packages/hdwallet-keepkey/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -20,7 +20,7 @@ "@keepkey/device-protocol": "^7.12.2", "@metamask/eth-sig-util": "^7.0.0", "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "bignumber.js": "^9.0.1", "bnb-javascript-sdk-nobroadcast": "^2.16.14", diff --git a/packages/hdwallet-keplr/package.json b/packages/hdwallet-keplr/package.json index 3e43c24e8..be8d17be6 100644 --- a/packages/hdwallet-keplr/package.json +++ b/packages/hdwallet-keplr/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keplr", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@shapeshiftoss/caip": "8.15.0", - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "@shapeshiftoss/types": "3.1.3", "base64-js": "^1.5.1", diff --git a/packages/hdwallet-ledger-webhid/package.json b/packages/hdwallet-ledger-webhid/package.json index 9db488887..9b43624c5 100644 --- a/packages/hdwallet-ledger-webhid/package.json +++ b/packages/hdwallet-ledger-webhid/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger-webhid", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -19,8 +19,8 @@ "@ledgerhq/hw-transport": "^6.7.0", "@ledgerhq/hw-transport-webhid": "^6.7.0", "@ledgerhq/live-common": "^21.8.2", - "@shapeshiftoss/hdwallet-core": "1.52.5", - "@shapeshiftoss/hdwallet-ledger": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", + "@shapeshiftoss/hdwallet-ledger": "1.52.9", "@types/w3c-web-hid": "^1.0.2" }, "devDependencies": { diff --git a/packages/hdwallet-ledger-webusb/package.json b/packages/hdwallet-ledger-webusb/package.json index e09d14d49..f426cc578 100644 --- a/packages/hdwallet-ledger-webusb/package.json +++ b/packages/hdwallet-ledger-webusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger-webusb", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -20,8 +20,8 @@ "@ledgerhq/hw-transport-webusb": "^6.7.0", "@ledgerhq/live-common": "^21.8.2", "@ledgerhq/logs": "^6.10.1", - "@shapeshiftoss/hdwallet-core": "1.52.5", - "@shapeshiftoss/hdwallet-ledger": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", + "@shapeshiftoss/hdwallet-ledger": "1.52.9", "@types/w3c-web-usb": "^1.0.4", "p-queue": "^7.4.1" }, diff --git a/packages/hdwallet-ledger/package.json b/packages/hdwallet-ledger/package.json index 1e22505bd..fec392c03 100644 --- a/packages/hdwallet-ledger/package.json +++ b/packages/hdwallet-ledger/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -18,7 +18,7 @@ "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "base64-js": "^1.5.1", "bchaddrjs": "^0.4.4", "bitcoinjs-message": "^2.0.0", diff --git a/packages/hdwallet-metamask-shapeshift-multichain/package.json b/packages/hdwallet-metamask-shapeshift-multichain/package.json index c0dfa45ed..000d3fb10 100644 --- a/packages/hdwallet-metamask-shapeshift-multichain/package.json +++ b/packages/hdwallet-metamask-shapeshift-multichain/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-shapeshift-multichain", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "@metamask/detect-provider": "^1.2.0", "@metamask/onboarding": "^1.0.1", "@shapeshiftoss/common-api": "^9.3.0", - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "@shapeshiftoss/metamask-snaps-adapter": "^1.0.8", "@shapeshiftoss/metamask-snaps-types": "^1.0.8", "eth-rpc-errors": "^4.0.3", diff --git a/packages/hdwallet-metamask/package.json b/packages/hdwallet-metamask/package.json index 535d6ecfa..2d455e0fa 100644 --- a/packages/hdwallet-metamask/package.json +++ b/packages/hdwallet-metamask/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-metamask", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -16,7 +16,7 @@ "dependencies": { "@metamask/detect-provider": "^1.2.0", "@metamask/onboarding": "^1.0.1", - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "eth-rpc-errors": "^4.0.3", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-native-vault/package.json b/packages/hdwallet-native-vault/package.json index a4eb6d536..6506af33c 100644 --- a/packages/hdwallet-native-vault/package.json +++ b/packages/hdwallet-native-vault/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native-vault", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-native": "1.52.5", + "@shapeshiftoss/hdwallet-native": "1.52.9", "bip39": "^3.0.4", "hash-wasm": "^4.9.0", "idb-keyval": "^6.0.3", diff --git a/packages/hdwallet-native/package.json b/packages/hdwallet-native/package.json index 5e880bd9c..22ef417ee 100644 --- a/packages/hdwallet-native/package.json +++ b/packages/hdwallet-native/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -16,7 +16,7 @@ "dependencies": { "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", "@shapeshiftoss/fiosdk": "1.2.1-shapeshift.6", - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "@zxing/text-encoding": "^0.9.0", "bchaddrjs": "^0.4.9", diff --git a/packages/hdwallet-portis/package.json b/packages/hdwallet-portis/package.json index 5093312bf..8fae08795 100644 --- a/packages/hdwallet-portis/package.json +++ b/packages/hdwallet-portis/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-portis", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@portis/web3": "3.0.10", - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "base64-js": "^1.5.1", "bip32": "^2.0.4", "bitcoinjs-lib": "^5.1.6", diff --git a/packages/hdwallet-tallyho/package.json b/packages/hdwallet-tallyho/package.json index b022b1597..02ee1a7ed 100644 --- a/packages/hdwallet-tallyho/package.json +++ b/packages/hdwallet-tallyho/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-tallyho", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "lodash": "^4.17.21", "tallyho-onboarding": "^1.0.2" }, diff --git a/packages/hdwallet-trezor-connect/package.json b/packages/hdwallet-trezor-connect/package.json index 8d7a66d11..0446a157d 100644 --- a/packages/hdwallet-trezor-connect/package.json +++ b/packages/hdwallet-trezor-connect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor-connect", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", - "@shapeshiftoss/hdwallet-trezor": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", + "@shapeshiftoss/hdwallet-trezor": "1.52.9", "@trezor/rollout": "^1.2.0", "trezor-connect": "^8.2.1" } diff --git a/packages/hdwallet-trezor/package.json b/packages/hdwallet-trezor/package.json index 7f4b01609..24e367d21 100644 --- a/packages/hdwallet-trezor/package.json +++ b/packages/hdwallet-trezor/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "base64-js": "^1.5.1", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-walletconnect/package.json b/packages/hdwallet-walletconnect/package.json index 997bb6add..3f6aeb312 100644 --- a/packages/hdwallet-walletconnect/package.json +++ b/packages/hdwallet-walletconnect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnect", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "@walletconnect/qrcode-modal": "^1.7.8", "@walletconnect/web3-provider": "^1.7.8", "ethers": "^5.6.5" diff --git a/packages/hdwallet-walletconnectV2/package.json b/packages/hdwallet-walletconnectV2/package.json index 67f075191..70ed89cbf 100644 --- a/packages/hdwallet-walletconnectV2/package.json +++ b/packages/hdwallet-walletconnectV2/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnectv2", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "@walletconnect/ethereum-provider": "^2.10.1", "@walletconnect/modal": "^2.6.2", "ethers": "^5.6.5" diff --git a/packages/hdwallet-xdefi/package.json b/packages/hdwallet-xdefi/package.json index 8fe5be1df..df5c7fb2c 100644 --- a/packages/hdwallet-xdefi/package.json +++ b/packages/hdwallet-xdefi/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-xdefi", - "version": "1.52.5", + "version": "1.52.9", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.5", + "@shapeshiftoss/hdwallet-core": "1.52.9", "lodash": "^4.17.21" }, "devDependencies": { From 6b2ce3a161698659c77046c60b50ea5caf6f425a Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Tue, 24 Oct 2023 00:28:50 -0600 Subject: [PATCH 08/15] Revert "Revert "Merge branch 'master' into fix_kk_ethSignTypedData"" This reverts commit b5fa182e and resolves all conflicts Lesson for future: use `git reset` to "revert" a merge commit or bad things can happen --- integration/src/thorchain/thorchain.ts | 3 +- integration/src/wallets/ledger.ts | 56 +++ packages/hdwallet-keplr/package.json | 2 +- packages/hdwallet-keplr/src/keplr.ts | 2 +- .../hdwallet-ledger-webusb/src/transport.ts | 5 + packages/hdwallet-ledger/package.json | 1 + packages/hdwallet-ledger/src/index.ts | 1 + packages/hdwallet-ledger/src/ledger.ts | 119 ++---- .../hdwallet-ledger/src/thorchain/common.ts | 113 ++++++ .../hdwallet-ledger/src/thorchain/helpers.ts | 68 ++++ .../src/thorchain/hw-app-thor.ts | 376 ++++++++++++++++++ .../hdwallet-ledger/src/thorchain/index.ts | 77 ++++ .../hdwallet-ledger/src/thorchain/utils.ts | 68 ++++ packages/hdwallet-ledger/src/transport.ts | 6 +- .../crypto/isolation/engines/default/bip39.ts | 59 +-- yarn.lock | 229 ++--------- 16 files changed, 847 insertions(+), 338 deletions(-) create mode 100644 packages/hdwallet-ledger/src/thorchain/common.ts create mode 100644 packages/hdwallet-ledger/src/thorchain/helpers.ts create mode 100644 packages/hdwallet-ledger/src/thorchain/hw-app-thor.ts create mode 100644 packages/hdwallet-ledger/src/thorchain/index.ts create mode 100644 packages/hdwallet-ledger/src/thorchain/utils.ts diff --git a/integration/src/thorchain/thorchain.ts b/integration/src/thorchain/thorchain.ts index cce066297..b95ec45a0 100644 --- a/integration/src/thorchain/thorchain.ts +++ b/integration/src/thorchain/thorchain.ts @@ -1,5 +1,6 @@ import * as core from "@shapeshiftoss/hdwallet-core"; import * as keepkey from "@shapeshiftoss/hdwallet-keepkey"; +import * as ledger from "@shapeshiftoss/hdwallet-ledger"; import tx_unsigned_swap_amino from "./tx01.mainnet.thorchain.swap.amino.json"; import tx_unsigned_swap from "./tx01.mainnet.thorchain.swap.json"; @@ -25,7 +26,7 @@ export function thorchainTests(get: () => { wallet: core.HDWallet; info: core.HD beforeAll(async () => { const { wallet: w } = get(); if (core.supportsThorchain(w)) wallet = w; - useAmino = w instanceof keepkey.KeepKeyHDWallet; + useAmino = w instanceof keepkey.KeepKeyHDWallet || w instanceof ledger.LedgerHDWallet; }); beforeEach(async () => { diff --git a/integration/src/wallets/ledger.ts b/integration/src/wallets/ledger.ts index 41a696d7a..7a4543051 100644 --- a/integration/src/wallets/ledger.ts +++ b/integration/src/wallets/ledger.ts @@ -1,5 +1,6 @@ import * as core from "@shapeshiftoss/hdwallet-core"; import * as ledger from "@shapeshiftoss/hdwallet-ledger"; +import { toByteArray } from "base64-js"; export class MockTransport extends ledger.LedgerTransport { memoized = new Map(); @@ -212,6 +213,61 @@ export class MockTransport extends ledger.LedgerTransport { '{"success":true,"coin":"Btc","method":"getWalletPublicKey","payload":{"bitcoinAddress":"1FH6ehAd5ZFXCM1cLGzHxK1s4dGdq1JusM","chainCode":"fixme","publicKey":"fixme"}}' ) ); + + // Thorchain + const compress_pk = toByteArray("AxUZcTuLQr3DZxEtMxMs8Uzt+SisV3HURLpFm5SXEXuj"); + this.memoize( + "Rune", + "getAddressAndPubKey", + JSON.parse(`[[${core.bip32ToAddressNList("m/44'/931'/0'/0/0")}], "thor"]`), + JSON.parse( + `{"success":true,"coin":"Rune","method":"getAddressAndPubkey","payload":{"bech32_address":"thor1ls33ayg26kmltw7jjy55p32ghjna09zp74t4az","compressed_pk":[${compress_pk}]}}` + ) + ); + + const sig1 = toByteArray( + "1s+0FVJ5R8O+ewGq5yNbTQuVG5MJZppFDqVJ4cd5D68ogOb2GMVHvYCH2dvQXo/uK/fT6Rk6dLGhK8tgW/HqtA==" + ); + const r1 = sig1.slice(0, 32); + const s1 = sig1.slice(32, 64); + const rawSig1 = Uint8Array.from([48, 68, 2, 32, ...r1, 2, 32, ...s1]); + this.memoize( + "Rune", + "sign", + JSON.parse( + '[{"tx":{"account_number":"17","chain_id":"thorchain-mainnet-v1","sequence":"2","fee":{"amount":[{"amount":"3000","denom":"rune"}],"gas":"200000"},"memo":"","msg":[{"type":"thorchain/MsgSend","value":{"amount":[{"amount":"100","denom":"rune"}],"from_address":"thor1ls33ayg26kmltw7jjy55p32ghjna09zp74t4az","to_address":"thor1wy58774wagy4hkljz9mchhqtgk949zdwwe80d5"}}],"signatures":[]},"addressNList":[2147483692,2147484579,2147483648,0,0],"chain_id":"thorchain-mainnet-v1","account_number":"17","sequence":"2"}]' + ), + { + success: true, + coin: "Rune", + method: "sign", + payload: { + signature: rawSig1, + }, + } + ); + + const sig2 = toByteArray( + "0Bjk7npdUw/Qa4MQTS4PH8sw8jM4JSzpd7G2DsF3DMVoYgdpO2fjHh/DUq6v30nghxUSJj0jNm0VIq9viPB+tQ==" + ); + const r2 = sig2.slice(0, 32); + const s2 = sig2.slice(32, 64); + const rawSig2 = Uint8Array.from([48, 68, 2, 32, ...r2, 2, 32, ...s2]); + this.memoize( + "Rune", + "sign", + JSON.parse( + '[{"tx":{"account_number":"2722","chain_id":"thorchain-mainnet-v1","sequence":"4","fee":{"amount":[{"amount":"0","denom":"rune"}],"gas":"350000"},"memo":"","msg":[{"type":"thorchain/MsgDeposit","value":{"coins":[{"asset":"THOR.RUNE","amount":"50994000"}],"memo":"SWAP:BNB.BNB:bnb12splwpg8jenr9pjw3dwc5rr35t8792y8pc4mtf:348953501","signer":"thor1ls33ayg26kmltw7jjy55p32ghjna09zp74t4az"}}],"signatures":[]},"addressNList":[2147483692,2147484579,2147483648,0,0],"chain_id":"thorchain-mainnet-v1","account_number":"2722","sequence":"4"}]' + ), + { + success: true, + coin: "Rune", + method: "sign", + payload: { + signature: rawSig2, + }, + } + ); } catch (e) { console.error(e); } diff --git a/packages/hdwallet-keplr/package.json b/packages/hdwallet-keplr/package.json index be8d17be6..707789ef4 100644 --- a/packages/hdwallet-keplr/package.json +++ b/packages/hdwallet-keplr/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@cosmjs/amino": "^0.28.13", "@cosmjs/stargate": "^0.28.13", - "@keplr-wallet/types": "^0.9.10", + "@keplr-wallet/types": "^0.12.35", "@types/lodash": "^4.14.168" } } diff --git a/packages/hdwallet-keplr/src/keplr.ts b/packages/hdwallet-keplr/src/keplr.ts index 42b73796e..f501c9c7e 100644 --- a/packages/hdwallet-keplr/src/keplr.ts +++ b/packages/hdwallet-keplr/src/keplr.ts @@ -134,7 +134,7 @@ export class KeplrHDWallet implements core.HDWallet, core.CosmosWallet, core.Osm initialized = false; provider: any = {}; - supportedNetworks: ChainReference[] = [CHAIN_REFERENCE.CosmosHubMainnet, CHAIN_REFERENCE.OsmosisMainnet]; + supportedNetworks: ChainReference[] = [CHAIN_REFERENCE.CosmosHubMainnet]; constructor() { this.info = new KeplrHDWalletInfo(); diff --git a/packages/hdwallet-ledger-webusb/src/transport.ts b/packages/hdwallet-ledger-webusb/src/transport.ts index 52623993a..b0efc05af 100644 --- a/packages/hdwallet-ledger-webusb/src/transport.ts +++ b/packages/hdwallet-ledger-webusb/src/transport.ts @@ -79,6 +79,11 @@ export async function translateCoinAndMethod> { switch (coin) { + case "Rune": { + const thor = new ledger.THORChainApp(transport); + const methodInstance = thor[method as LedgerTransportMethodName<"Rune">].bind(thor); + return methodInstance as LedgerTransportMethod; + } case "Btc": { const btc = new Btc({ transport }); const methodInstance = btc[method as LedgerTransportMethodName<"Btc">].bind(btc); diff --git a/packages/hdwallet-ledger/package.json b/packages/hdwallet-ledger/package.json index fec392c03..5d6dc9e88 100644 --- a/packages/hdwallet-ledger/package.json +++ b/packages/hdwallet-ledger/package.json @@ -36,6 +36,7 @@ "@types/bs58check": "^2.1.0", "@types/ethereumjs-tx": "1.0.1", "@types/ethereumjs-util": "^6.1.0", + "@types/ripemd160": "^2.0.2", "typedoc": "^0.20.36" } } diff --git a/packages/hdwallet-ledger/src/index.ts b/packages/hdwallet-ledger/src/index.ts index c73f59c8c..063c34f8e 100644 --- a/packages/hdwallet-ledger/src/index.ts +++ b/packages/hdwallet-ledger/src/index.ts @@ -1,5 +1,6 @@ export * from "./bitcoin"; export * from "./ethereum"; +export * from "./thorchain"; export * from "./ledger"; export * from "./transport"; export * from "./utils"; diff --git a/packages/hdwallet-ledger/src/ledger.ts b/packages/hdwallet-ledger/src/ledger.ts index 5a79bd54c..37ee83916 100644 --- a/packages/hdwallet-ledger/src/ledger.ts +++ b/packages/hdwallet-ledger/src/ledger.ts @@ -3,6 +3,7 @@ import _ from "lodash"; import * as btc from "./bitcoin"; import * as eth from "./ethereum"; +import * as thorchain from "./thorchain"; import { LedgerTransport } from "./transport"; import { coinToLedgerAppName, handleError } from "./utils"; @@ -134,9 +135,12 @@ function describeUTXOPath(path: core.BIP32Path, coin: core.Coin, scriptType?: co } } -export class LedgerHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo, core.ETHWalletInfo { +export class LedgerHDWalletInfo + implements core.HDWalletInfo, core.BTCWalletInfo, core.ETHWalletInfo, core.ThorchainWalletInfo +{ readonly _supportsBTCInfo = true; readonly _supportsETHInfo = true; + readonly _supportsThorchainInfo = true; public getVendor(): string { return "Ledger"; @@ -186,6 +190,16 @@ export class LedgerHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo return eth.ethGetAccountPaths(msg); } + public thorchainGetAccountPaths(msg: core.ThorchainGetAccountPaths): Array { + const slip44 = core.slip44ByCoin("Thorchain"); + return [{ addressNList: [0x80000000 + 44, 0x80000000 + slip44, 0x80000000 + msg.accountIdx, 0, 0] }]; + } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + public thorchainNextAccountPath(msg: core.ThorchainAccountPath): core.ThorchainAccountPath | undefined { + return undefined; + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { return false; @@ -223,6 +237,8 @@ export class LedgerHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo switch (msg.coin) { case "Ethereum": return describeETHPath(msg.path); + case "Thorchain": + return core.thorchainDescribePath(msg.path); default: return describeUTXOPath(msg.path, msg.coin, msg.scriptType); } @@ -290,7 +306,10 @@ export class LedgerHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo } } -export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWallet { +export class LedgerHDWallet + extends LedgerHDWalletInfo + implements core.HDWallet, core.BTCWallet, core.ETHWallet, core.ThorchainWallet +{ readonly _supportsETHInfo = true; readonly _supportsBTCInfo = true; readonly _supportsBTC = true; @@ -302,6 +321,8 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa readonly _supportsPolygon = true; readonly _supportsGnosis = true; readonly _supportsArbitrum = true; + readonly _supportsThorchainInfo = true; + readonly _supportsThorchain = true; _isLedger = true; @@ -309,6 +330,7 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa info: LedgerHDWalletInfo & core.HDWalletInfo; constructor(transport: LedgerTransport) { + super(); this.transport = transport; this.info = new LedgerHDWalletInfo(); } @@ -374,10 +396,6 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return version; } - public getVendor(): string { - return "Ledger"; - } - public async getModel(): Promise { const { device: { productName }, @@ -416,39 +434,6 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa } } - // eslint-disable-next-line @typescript-eslint/no-unused-vars - public hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean { - return false; - } - - public supportsBip44Accounts(): boolean { - return this.info.supportsBip44Accounts(); - } - - public supportsOfflineSigning(): boolean { - return true; - } - - public supportsBroadcast(): boolean { - return false; - } - - public hasOnDeviceDisplay(): boolean { - return true; - } - - public hasOnDevicePassphrase(): boolean { - return true; - } - - public hasOnDevicePinEntry(): boolean { - return true; - } - - public hasOnDeviceRecovery(): boolean { - return true; - } - // eslint-disable-next-line @typescript-eslint/no-unused-vars public async loadDevice(msg: core.LoadDevice): Promise { return; @@ -497,14 +482,6 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return; } - public async btcSupportsCoin(coin: core.Coin): Promise { - return this.info.btcSupportsCoin(coin); - } - - public async btcSupportsScriptType(coin: core.Coin, scriptType: core.BTCInputScriptType): Promise { - return this.info.btcSupportsScriptType(coin, scriptType); - } - public async btcGetAddress(msg: core.BTCGetAddress): Promise { await this.validateCurrentApp(msg.coin); return btc.btcGetAddress(this.transport, msg); @@ -515,14 +492,6 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return btc.btcSignTx(this, this.transport, msg); } - public async btcSupportsSecureTransfer(): Promise { - return this.info.btcSupportsSecureTransfer(); - } - - public btcSupportsNativeShapeShift(): boolean { - return this.info.btcSupportsNativeShapeShift(); - } - public async btcSignMessage(msg: core.BTCSignMessage): Promise { await this.validateCurrentApp(msg.coin); return btc.btcSignMessage(this, this.transport, msg); @@ -532,14 +501,6 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return btc.btcVerifyMessage(msg); } - public btcGetAccountPaths(msg: core.BTCGetAccountPaths): Array { - return this.info.btcGetAccountPaths(msg); - } - - public btcIsSameAccount(msg: Array): boolean { - return this.info.btcIsSameAccount(msg); - } - public async ethSignTx(msg: core.ETHSignTx): Promise { await this.validateCurrentApp("Ethereum"); return eth.ethSignTx(this.transport, msg); @@ -559,41 +520,17 @@ export class LedgerHDWallet implements core.HDWallet, core.BTCWallet, core.ETHWa return eth.ethVerifyMessage(msg); } - public async ethSupportsNetwork(chain_id: number): Promise { - return this.info.ethSupportsNetwork(chain_id); - } - - public async ethSupportsSecureTransfer(): Promise { - return this.info.ethSupportsSecureTransfer(); - } - - public ethSupportsNativeShapeShift(): boolean { - return this.info.ethSupportsNativeShapeShift(); - } - - public async ethSupportsEIP1559(): Promise { - return await this.info.ethSupportsEIP1559(); + public thorchainGetAddress(msg: core.ThorchainGetAddress): Promise { + return thorchain.thorchainGetAddress(this.transport, msg); } - public ethGetAccountPaths(msg: core.ETHGetAccountPath): Array { - return this.info.ethGetAccountPaths(msg); - } - - public describePath(msg: core.DescribePath): core.PathDescription { - return this.info.describePath(msg); + public thorchainSignTx(msg: core.ThorchainSignTx): Promise { + return thorchain.thorchainSignTx(this.transport, msg); } public disconnect(): Promise { return this.transport.disconnect(); } - - public btcNextAccountPath(msg: core.BTCAccountPath): core.BTCAccountPath | undefined { - return this.info.btcNextAccountPath(msg); - } - - public ethNextAccountPath(msg: core.ETHAccountPath): core.ETHAccountPath | undefined { - return this.info.ethNextAccountPath(msg); - } } export function info(): LedgerHDWalletInfo { diff --git a/packages/hdwallet-ledger/src/thorchain/common.ts b/packages/hdwallet-ledger/src/thorchain/common.ts new file mode 100644 index 000000000..0f6cb4f5a --- /dev/null +++ b/packages/hdwallet-ledger/src/thorchain/common.ts @@ -0,0 +1,113 @@ +export enum ErrorCode { + NoError = 0x9000, +} + +export const CLA = 0x55; +export const CHUNK_SIZE = 250; +export const APP_KEY = "CSM"; + +export const INS = { + GET_VERSION: 0x00, + INS_PUBLIC_KEY_SECP256K1: 0x01, // Obsolete + SIGN_SECP256K1: 0x02, + GET_ADDR_SECP256K1: 0x04, +}; + +export const PAYLOAD_TYPE = { + INIT: 0x00, + ADD: 0x01, + LAST: 0x02, +}; + +export const P1_VALUES = { + ONLY_RETRIEVE: 0x00, + SHOW_ADDRESS_IN_DEVICE: 0x01, +}; + +const ERROR_DESCRIPTION = { + 1: "U2F: Unknown", + 2: "U2F: Bad request", + 3: "U2F: Configuration unsupported", + 4: "U2F: Device Ineligible", + 5: "U2F: Timeout", + 14: "Timeout", + 0x9000: "No errors", + 0x9001: "Device is busy", + 0x6802: "Error deriving keys", + 0x6400: "Execution Error", + 0x6700: "Wrong Length", + 0x6982: "Empty Buffer", + 0x6983: "Output buffer too small", + 0x6984: "Data is invalid", + 0x6985: "Conditions not satisfied", + 0x6986: "Transaction rejected", + 0x6a80: "Bad key handle", + 0x6b00: "Invalid P1/P2", + 0x6d00: "Instruction not supported", + 0x6e00: "App does not seem to be open", + 0x6f00: "Unknown error", + 0x6f01: "Sign/verify error", +}; + +export function errorCodeToString(statusCode: any) { + if (statusCode in ERROR_DESCRIPTION) return ERROR_DESCRIPTION[statusCode as 1]; + return `Unknown Status Code: ${statusCode}`; +} + +export function processErrorResponse(response: any) { + if (response) { + if ( + typeof response === "object" && + response !== null && + !(response instanceof Array) && + !(response instanceof Date) + ) { + if (Object.prototype.hasOwnProperty.call(response, "statusCode")) { + return { + return_code: response.statusCode, + error_message: errorCodeToString(response.statusCode), + }; + } + + if ( + Object.prototype.hasOwnProperty.call(response, "return_code") && + Object.prototype.hasOwnProperty.call(response, "error_message") + ) { + return response; + } + } + return { + return_code: 0xffff, + error_message: response.toString(), + }; + } + + return { + return_code: 0xffff, + error_message: response.toString(), + }; +} + +export async function getVersion(transport: any) { + return transport.send(CLA, INS.GET_VERSION, 0, 0).then((response: any) => { + const errorCodeData = response.slice(-2); + const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; + + let targetId = 0; + if (response.length >= 9) { + targetId = (response[5] << 24) + (response[6] << 16) + (response[7] << 8) + (response[8] << 0); + } + + return { + return_code: returnCode, + error_message: errorCodeToString(returnCode), + // /// + test_mode: response[0] !== 0, + major: response[1], + minor: response[2], + patch: response[3], + device_locked: response[4] === 1, + target_id: targetId.toString(16), + }; + }, processErrorResponse); +} diff --git a/packages/hdwallet-ledger/src/thorchain/helpers.ts b/packages/hdwallet-ledger/src/thorchain/helpers.ts new file mode 100644 index 000000000..14a8893df --- /dev/null +++ b/packages/hdwallet-ledger/src/thorchain/helpers.ts @@ -0,0 +1,68 @@ +import { CLA, ErrorCode, errorCodeToString, INS, PAYLOAD_TYPE, processErrorResponse } from "./common"; + +const signSendChunkv1 = async (app: any, chunkIdx: any, chunkNum: any, chunk: any) => { + return app.transport + .send(CLA, INS.SIGN_SECP256K1, chunkIdx, chunkNum, chunk, [ErrorCode.NoError, 0x6984, 0x6a80]) + .then((response: any) => { + const errorCodeData = response.slice(-2); + const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; + let errorMessage = errorCodeToString(returnCode); + + if (returnCode === 0x6a80 || returnCode === 0x6984) { + errorMessage = `${errorMessage} : ${response.slice(0, response.length - 2).toString("ascii")}`; + } + + let signature = null; + if (response.length > 2) { + signature = response.slice(0, response.length - 2); + } + + return { + signature, + return_code: returnCode, + error_message: errorMessage, + }; + }, processErrorResponse); +}; + +export const serializePathv2 = (path: Array) => { + if (!path || path.length !== 5) { + throw new Error("Invalid path."); + } + + const buf = Buffer.alloc(20); + buf.writeUInt32LE(path[0], 0); + buf.writeUInt32LE(path[1], 4); + buf.writeUInt32LE(path[2], 8); + buf.writeUInt32LE(path[3], 12); + buf.writeUInt32LE(path[4], 16); + + return buf; +}; + +export const signSendChunkv2 = async (app: any, chunkIdx: any, chunkNum: any, chunk: any) => { + let payloadType = PAYLOAD_TYPE.ADD; + if (chunkIdx === 1) { + payloadType = PAYLOAD_TYPE.INIT; + } + if (chunkIdx === chunkNum) { + payloadType = PAYLOAD_TYPE.LAST; + } + + return signSendChunkv1(app, payloadType, 0, chunk); +}; + +export const publicKeyv2 = async (app: any, data: any) => { + return app.transport.send(CLA, INS.GET_ADDR_SECP256K1, 0, 0, data, [ErrorCode.NoError]).then((response: any) => { + const errorCodeData = response.slice(-2); + const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; + const compressedPk = Buffer.from(response.slice(0, 33)); + + return { + pk: "OBSOLETE PROPERTY", + compressed_pk: compressedPk, + return_code: returnCode, + error_message: errorCodeToString(returnCode), + }; + }, processErrorResponse); +}; diff --git a/packages/hdwallet-ledger/src/thorchain/hw-app-thor.ts b/packages/hdwallet-ledger/src/thorchain/hw-app-thor.ts new file mode 100644 index 000000000..1ff37717b --- /dev/null +++ b/packages/hdwallet-ledger/src/thorchain/hw-app-thor.ts @@ -0,0 +1,376 @@ +/** ****************************************************************************** + * (c) 2019 ZondaX GmbH + * (c) 2016-2017 Ledger + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************* */ +import { bech32 } from "@scure/base"; +import * as core from "@shapeshiftoss/hdwallet-core"; +import crypto from "crypto"; +import Ripemd160 from "ripemd160"; + +import { + APP_KEY, + CHUNK_SIZE, + CLA, + ErrorCode, + errorCodeToString, + getVersion, + INS, + P1_VALUES, + processErrorResponse, +} from "./common"; +import { publicKeyv2, serializePathv2, signSendChunkv2 } from "./helpers"; + +const THOR_CHAIN = "thorchain-mainnet-v1"; + +export type GetAddressAndPubKeyResponse = { + bech32_address: string; + compressed_pk: Uint8Array; + error_message: string; + return_code: number; +}; + +export type SignResponse = { + signature: Uint8Array; + error_message: string; + return_code: number; +}; + +const recursivelyOrderKeys = (unordered: any) => { + // If it's an array - recursively order any + // dictionary items within the array + if (Array.isArray(unordered)) { + unordered.forEach((item, index) => { + unordered[index] = recursivelyOrderKeys(item); + }); + return unordered; + } + + // If it's an object - let's order the keys + if (typeof unordered !== "object") return unordered; + const ordered: any = {}; + Object.keys(unordered) + .sort() + .forEach((key) => (ordered[key] = recursivelyOrderKeys(unordered[key]))); + return ordered; +}; + +const stringifyKeysInOrder = (data: any) => JSON.stringify(recursivelyOrderKeys(data)); + +class THORChainApp { + transport: any; + versionResponse: any; + + constructor(transport: any, scrambleKey = APP_KEY) { + if (!transport) { + throw new Error("Transport has not been defined"); + } + + this.transport = transport as any; + transport.decorateAppAPIMethods.bind(transport)( + this, + ["getVersion", "sign", "getAddressAndPubKey", "appInfo", "deviceInfo", "getBech32FromPK"], + scrambleKey + ); + } + + static serializeHRP(hrp: any) { + if (hrp == null || hrp.length < 3 || hrp.length > 83) { + throw new Error("Invalid HRP"); + } + const buf = Buffer.alloc(1 + hrp.length); + buf.writeUInt8(hrp.length, 0); + buf.write(hrp, 1); + return buf; + } + + static getBech32FromPK(hrp: any, pk: any) { + if (pk.length !== 33) { + throw new Error("expected compressed public key [31 bytes]"); + } + const hashSha256 = crypto.createHash("sha256").update(pk).digest(); + const hashRip = new Ripemd160().update(hashSha256).digest(); + // ts is drunk and doesn't like bech32.bech32 here + const encode = bech32.encode || (bech32 as any).bech32?.encode; + // ts is drunk and doesn't like bech32.bech32 here + const toWords = bech32.toWords || (bech32 as any).bech32?.toWords; + + return encode(hrp, toWords(hashRip)); + } + + async serializePath(path: Array) { + this.versionResponse = await getVersion(this.transport); + + if (this.versionResponse.return_code !== ErrorCode.NoError) { + throw this.versionResponse; + } + + switch (this.versionResponse.major) { + case 2: + return serializePathv2(path); + default: + return { + return_code: 0x6400, + error_message: "App Version is not supported", + }; + } + } + + async signGetChunks(path: Array, message: any) { + const serializedPath = await this.serializePath(path); + + const chunks = []; + chunks.push(serializedPath); + const buffer = Buffer.from(message); + + for (let i = 0; i < buffer.length; i += CHUNK_SIZE) { + let end = i + CHUNK_SIZE; + if (i > buffer.length) { + end = buffer.length; + } + chunks.push(buffer.slice(i, end)); + } + + return chunks; + } + + async getVersion() { + try { + this.versionResponse = await getVersion(this.transport); + return this.versionResponse; + } catch (e) { + return processErrorResponse(e); + } + } + + async appInfo() { + return this.transport.send(0xb0, 0x01, 0, 0).then((response: any) => { + const errorCodeData = response.slice(-2); + const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; + + const result = {} as any; + + let appName = "err"; + let appVersion = "err"; + let flagLen = 0; + let flagsValue = 0; + + if (response[0] !== 1) { + // Ledger responds with format ID 1. There is no spec for any format != 1 + result.error_message = "response format ID not recognized"; + result.return_code = 0x9001; + } else { + const appNameLen = response[1]; + appName = response.slice(2, 2 + appNameLen).toString("ascii"); + let idx = 2 + appNameLen; + const appVersionLen = response[idx]; + idx += 1; + appVersion = response.slice(idx, idx + appVersionLen).toString("ascii"); + idx += appVersionLen; + const appFlagsLen = response[idx]; + idx += 1; + flagLen = appFlagsLen; + flagsValue = response[idx]; + } + + return { + return_code: returnCode, + error_message: errorCodeToString(returnCode), + // // + appName, + appVersion, + flagLen, + flagsValue, + + flag_recovery: (flagsValue & 1) !== 0, + + flag_signed_mcu_code: (flagsValue & 2) !== 0, + + flag_onboarded: (flagsValue & 4) !== 0, + + flag_pin_validated: (flagsValue & 128) !== 0, + }; + }, processErrorResponse); + } + + async deviceInfo() { + return this.transport.send(0xe0, 0x01, 0, 0, Buffer.from([]), [ErrorCode.NoError, 0x6e00]).then((response: any) => { + const errorCodeData = response.slice(-2); + const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; + + if (returnCode === 0x6e00) { + return { + return_code: returnCode, + error_message: "This command is only available in the Dashboard", + }; + } + + const targetId = response.slice(0, 4).toString("hex"); + + let pos = 4; + const secureElementVersionLen = response[pos]; + pos += 1; + const seVersion = response.slice(pos, pos + secureElementVersionLen).toString(); + pos += secureElementVersionLen; + + const flagsLen = response[pos]; + pos += 1; + const flag = response.slice(pos, pos + flagsLen).toString("hex"); + pos += flagsLen; + + const mcuVersionLen = response[pos]; + pos += 1; + // Patch issue in mcu version + let tmp = response.slice(pos, pos + mcuVersionLen); + if (tmp[mcuVersionLen - 1] === 0) { + tmp = response.slice(pos, pos + mcuVersionLen - 1); + } + const mcuVersion = tmp.toString(); + + return { + return_code: returnCode, + error_message: errorCodeToString(returnCode), + // // + targetId, + seVersion, + flag, + mcuVersion, + }; + }, processErrorResponse); + } + + async publicKey(path: Array) { + try { + const serializedPath = await this.serializePath(path); + + switch (this.versionResponse.major) { + case 2: { + const data = Buffer.concat([THORChainApp.serializeHRP("thor"), serializedPath as any]); + return await publicKeyv2(this, data); + } + default: + return { + return_code: 0x6400, + error_message: "App Version is not supported", + }; + } + } catch (e) { + return processErrorResponse(e); + } + } + + async getAddressAndPubKey(path: Array, hrp: any): Promise { + try { + return await this.serializePath(path) + .then((serializedPath) => { + const data = Buffer.concat([THORChainApp.serializeHRP(hrp), serializedPath as any]); + return this.transport + .send(CLA, INS.GET_ADDR_SECP256K1, P1_VALUES.ONLY_RETRIEVE, 0, data, [ErrorCode.NoError]) + .then((response: any) => { + const errorCodeData = response.slice(-2); + const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; + + const compressedPk = Buffer.from(response.slice(0, 33)); + const bech32Address = Buffer.from(response.slice(33, -2)).toString(); + + return { + bech32_address: bech32Address, + compressed_pk: compressedPk, + return_code: returnCode, + error_message: errorCodeToString(returnCode), + }; + }, processErrorResponse); + }) + .catch((err) => processErrorResponse(err)); + } catch (e) { + return processErrorResponse(e); + } + } + + async showAddressAndPubKey(path: Array, hrp: any) { + try { + return await this.serializePath(path) + .then((serializedPath) => { + const data = Buffer.concat([THORChainApp.serializeHRP(hrp), serializedPath as any]); + return this.transport + .send(CLA, INS.GET_ADDR_SECP256K1, P1_VALUES.SHOW_ADDRESS_IN_DEVICE, 0, data, [ErrorCode.NoError]) + .then((response: any) => { + const errorCodeData = response.slice(-2); + const returnCode = errorCodeData[0] * 256 + errorCodeData[1]; + + const compressedPk = Buffer.from(response.slice(0, 33)); + const bech32Address = Buffer.from(response.slice(33, -2)).toString(); + + return { + bech32_address: bech32Address, + compressed_pk: compressedPk, + return_code: returnCode, + error_message: errorCodeToString(returnCode), + }; + }, processErrorResponse); + }) + .catch((err) => processErrorResponse(err)); + } catch (e) { + return processErrorResponse(e); + } + } + + async signSendChunk(chunkIdx: number, chunkNum: number, chunk: any) { + switch (this.versionResponse.major) { + case 2: + return signSendChunkv2(this, chunkIdx, chunkNum, chunk); + default: + return { + return_code: 0x6400, + error_message: "App Version is not supported", + }; + } + } + + async sign(msg: core.ThorchainSignTx): Promise { + const rawTx = stringifyKeysInOrder({ + account_number: msg.account_number, + chain_id: THOR_CHAIN, + fee: { amount: msg.tx.fee.amount, gas: msg.tx.fee.gas }, + memo: msg.tx.memo, + msgs: msg.tx.msg, + sequence: msg.sequence, + }); + + return this.signGetChunks(msg.addressNList, rawTx).then((chunks) => { + return this.signSendChunk(1, chunks.length, chunks[0]).then(async (response) => { + let result = { + return_code: response.return_code, + error_message: response.error_message, + signature: null, + }; + + for (let i = 1; i < chunks.length; i += 1) { + result = await this.signSendChunk(1 + i, chunks.length, chunks[i]); + if (result.return_code !== ErrorCode.NoError) { + break; + } + } + + return { + return_code: result.return_code, + error_message: result.error_message, + signature: result.signature, + }; + }, processErrorResponse); + }, processErrorResponse); + } +} + +export { THORChainApp }; diff --git a/packages/hdwallet-ledger/src/thorchain/index.ts b/packages/hdwallet-ledger/src/thorchain/index.ts new file mode 100644 index 000000000..e9e595cde --- /dev/null +++ b/packages/hdwallet-ledger/src/thorchain/index.ts @@ -0,0 +1,77 @@ +import type { AccountData, AminoSignResponse, OfflineAminoSigner, StdSignDoc, StdTx } from "@cosmjs/amino"; +import type { SignerData } from "@cosmjs/stargate"; +import * as core from "@shapeshiftoss/hdwallet-core"; +import { fromByteArray } from "base64-js"; +import PLazy from "p-lazy"; + +import { handleError, LedgerTransport } from ".."; +import { getSignature } from "./utils"; +export * from "./common"; +export * from "./helpers"; +export * from "./hw-app-thor"; + +const protoTxBuilder = PLazy.from(() => import("@shapeshiftoss/proto-tx-builder")); + +export const thorchainGetAddress = async ( + transport: LedgerTransport, + msg: core.ThorchainGetAddress +): Promise => { + const addressAndPubkey = await transport.call("Rune", "getAddressAndPubKey", msg.addressNList, "thor"); + + handleError(addressAndPubkey, transport, "Unable to obtain address and public key from device."); + + return addressAndPubkey.payload.bech32_address; +}; + +export const thorchainSignTx = async ( + transport: LedgerTransport, + msg: core.ThorchainSignTx +): Promise => { + const addressAndPubkey = await transport.call("Rune", "getAddressAndPubKey", msg.addressNList, "thor"); + + handleError(addressAndPubkey, transport, "Unable to obtain address and public key from device."); + + const { bech32_address: address, compressed_pk } = addressAndPubkey.payload; + const pubkey = fromByteArray(compressed_pk); + + const signResponse = await transport.call("Rune", "sign", msg); + + handleError(signResponse, transport, "Unable to obtain signature from device."); + + const signature = signResponse.payload.signature; + + const offlineSigner: OfflineAminoSigner = { + async getAccounts(): Promise { + return [ + { + address, + algo: "secp256k1", + pubkey: compressed_pk, + }, + ]; + }, + + async signAmino(signerAddress: string, signDoc: StdSignDoc): Promise { + if (signerAddress !== address) throw new Error("expected signerAddress to match address"); + + return { + signed: signDoc, + signature: { + pub_key: { + type: "tendermint/PubKeySecp256k1", + value: pubkey, + }, + signature: getSignature(signature), + }, + }; + }, + }; + + const signerData: SignerData = { + sequence: Number(msg.sequence), + accountNumber: Number(msg.account_number), + chainId: msg.chain_id, + }; + + return (await protoTxBuilder).sign(address, msg.tx as StdTx, offlineSigner, signerData, "thor"); +}; diff --git a/packages/hdwallet-ledger/src/thorchain/utils.ts b/packages/hdwallet-ledger/src/thorchain/utils.ts new file mode 100644 index 000000000..1c4b14b7c --- /dev/null +++ b/packages/hdwallet-ledger/src/thorchain/utils.ts @@ -0,0 +1,68 @@ +import { fromByteArray } from "base64-js"; + +export const getSignature = (signatureArray: Uint8Array) => { + // Check Type Length Value encoding + if (signatureArray.length < 64) { + throw new Error("Invalid Signature: Too short"); + } + if (signatureArray[0] !== 0x30) { + throw new Error("Invalid Ledger Signature TLV encoding: expected first byte 0x30"); + } + if (signatureArray[1] + 2 !== signatureArray.length) { + throw new Error("Invalid Signature: signature length does not match TLV"); + } + if (signatureArray[2] !== 0x02) { + throw new Error("Invalid Ledger Signature TLV encoding: expected length type 0x02"); + } + + // r signature + const rLength = signatureArray[3]; + let rSignature = signatureArray.slice(4, rLength + 4); + + // Drop leading zero on some 'r' signatures that are 33 bytes. + if (rSignature.length === 33 && rSignature[0] === 0) { + rSignature = rSignature.slice(1, 33); + } else if (rSignature.length === 33) { + throw new Error('Invalid signature: "r" too long'); + } + + // add leading zero's to pad to 32 bytes + while (rSignature.length < 32) { + const rSignaturePadded = new Uint8Array(32); + rSignaturePadded.set(rSignature, 32 - rSignature.length); + rSignature = rSignaturePadded; + } + + // s signature + if (signatureArray[rLength + 4] !== 0x02) { + throw new Error("Invalid Ledger Signature TLV encoding: expected length type 0x02"); + } + + const sLength = signatureArray[rLength + 5]; + + if (4 + rLength + 2 + sLength !== signatureArray.length) { + throw new Error("Invalid Ledger Signature: TLV byte lengths do not match message length"); + } + + let sSignature = signatureArray.slice(rLength + 6, signatureArray.length); + + // Drop leading zero on 's' signatures that are 33 bytes. This shouldn't occur since ledger signs using "Small s" math. But just to be sure... + if (sSignature.length === 33 && sSignature[0] === 0) { + sSignature = sSignature.slice(1, 33); + } else if (sSignature.length === 33) { + throw new Error('Invalid signature: "s" too long'); + } + + // add leading zero's to pad to 32 bytes + while (sSignature.length < 32) { + const sSignaturePadded = new Uint8Array(32); + sSignaturePadded.set(sSignature, 32 - sSignature.length); + sSignature = sSignaturePadded; + } + + if (rSignature.length !== 32 || sSignature.length !== 32) { + throw new Error("Invalid signatures: must be 32 bytes each"); + } + + return fromByteArray(Buffer.concat([rSignature, sSignature])); +}; diff --git a/packages/hdwallet-ledger/src/transport.ts b/packages/hdwallet-ledger/src/transport.ts index 70178159d..f45cc14f8 100644 --- a/packages/hdwallet-ledger/src/transport.ts +++ b/packages/hdwallet-ledger/src/transport.ts @@ -6,13 +6,15 @@ import type getDeviceInfo from "@ledgerhq/live-common/lib/hw/getDeviceInfo"; import type openApp from "@ledgerhq/live-common/lib/hw/openApp"; import * as core from "@shapeshiftoss/hdwallet-core"; +import { THORChainApp } from "./thorchain"; + type MethodsOnly = { [k in keyof T as T[k] extends (...args: any) => any ? k : never]: T[k]; }; type UnwrapPromise = T extends Promise ? R : T; type DefinitelyCallable = T extends (...args: any) => any ? T : never; -export type LedgerTransportCoinType = null | "Btc" | "Eth"; +export type LedgerTransportCoinType = null | "Btc" | "Eth" | "Rune"; type CurriedWithTransport any> = T extends ( transport: Transport, ...args: infer R @@ -33,6 +35,8 @@ type LedgerTransportMethodMap = T extends nul ? MethodsOnly : T extends "Eth" ? MethodsOnly + : T extends "Rune" + ? MethodsOnly : never; export type LedgerTransportMethodName = LedgerTransportMethodMap extends never ? never diff --git a/packages/hdwallet-native/src/crypto/isolation/engines/default/bip39.ts b/packages/hdwallet-native/src/crypto/isolation/engines/default/bip39.ts index a7c1cafa0..f563e66a7 100644 --- a/packages/hdwallet-native/src/crypto/isolation/engines/default/bip39.ts +++ b/packages/hdwallet-native/src/crypto/isolation/engines/default/bip39.ts @@ -1,46 +1,16 @@ /// -import * as core from "@shapeshiftoss/hdwallet-core"; -import * as bip32crypto from "bip32/src/crypto"; +import { createSHA512, pbkdf2 } from "hash-wasm"; import { TextEncoder } from "web-encoding"; -import * as BIP32 from "../../core/bip32"; -import * as BIP39 from "../../core/bip39"; -import { safeBufferFrom } from "../../types"; -import * as BIP32Engine from "./bip32"; +import type { Seed as SeedType } from "../../core/bip32"; +import type { Mnemonic as Bip39Mnemonic } from "../../core/bip39"; +import { Seed } from "./bip32"; import { Revocable, revocable } from "./revocable"; export * from "../../core/bip39"; -// Poor man's single-block PBKDF2 implementation -//TODO: get something better -function pbkdf2_sha512_singleblock( - password: string, - salt: Uint8Array, - iterations: number -): Uint8Array & { length: 64 } { - function be32Buf(index: number): Buffer { - const indexBE = Buffer.alloc(4); - indexBE.writeUInt32BE(index); - return indexBE; - } - - const pwBuffer = safeBufferFrom(new TextEncoder().encode(password)); - - const out = bip32crypto.hmacSHA512(pwBuffer, core.compatibleBufferConcat([salt, be32Buf(1)])) as Buffer & { - length: 64; - }; - let lastU = out; - for (let i = 2; i <= iterations; i++) { - const newU = bip32crypto.hmacSHA512(pwBuffer, lastU) as Buffer & { length: 64 }; - for (let j = 0; j < out.length; j++) out[j] ^= newU[j]; - lastU = newU; - } - - return out; -} - -export class Mnemonic extends Revocable(class {}) implements BIP39.Mnemonic { +export class Mnemonic extends Revocable(class {}) implements Bip39Mnemonic { readonly #mnemonic: string; protected constructor(mnemonic: string) { @@ -48,18 +18,27 @@ export class Mnemonic extends Revocable(class {}) implements BIP39.Mnemonic { this.#mnemonic = mnemonic.normalize("NFKD"); } - static async create(mnemonic: string): Promise { + static async create(mnemonic: string): Promise { const obj = new Mnemonic(mnemonic); return revocable(obj, (x) => obj.addRevoker(x)); } - async toSeed(passphrase?: string): Promise { - if (passphrase !== undefined && typeof passphrase !== "string") throw new Error("bad passphrase type"); - + async toSeed(passphrase?: string): Promise { const mnemonic = this.#mnemonic; const salt = new TextEncoder().encode(`mnemonic${passphrase ?? ""}`.normalize("NFKD")); - const out = await BIP32Engine.Seed.create(pbkdf2_sha512_singleblock(mnemonic, salt, 2048)); + const out = await Seed.create( + Buffer.from( + await pbkdf2({ + password: mnemonic, + salt, + iterations: 2048, + hashLength: 64, + hashFunction: createSHA512(), + outputType: "binary", + }) + ) + ); this.addRevoker(() => out.revoke?.()); return out; } diff --git a/yarn.lock b/yarn.lock index f2085d540..6effaff95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -755,15 +755,6 @@ bech32 "^1.1.4" readonly-date "^1.0.0" -"@cosmjs/encoding@^0.20.0": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.20.1.tgz#1d1162b3eca51b7244cd45102e313612cea77281" - integrity sha512-aBp153iq2LD4GwDGwodDWZk/eyAUZ8J8bbiqZ1uK8rrylzm9Rdw84aa6JxykezJe+uBPtoI4lx9eH7VQXCGDXw== - dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" - "@cosmjs/encoding@^0.24.1": version "0.24.1" resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.24.1.tgz#b30e92cdb70fc200a163b8c7aa5254606c8a09ab" @@ -815,7 +806,7 @@ "@cosmjs/stream" "^0.29.5" xstream "^11.14.0" -"@cosmjs/launchpad@^0.24.0-alpha.25", "@cosmjs/launchpad@^0.24.1": +"@cosmjs/launchpad@^0.24.1": version "0.24.1" resolved "https://registry.yarnpkg.com/@cosmjs/launchpad/-/launchpad-0.24.1.tgz#fe7e80734dfd60ea093429a646d7a38634c70134" integrity sha512-syqVGKRH6z1vw4DdAJOSu4OgUXJdkXQozqvDde0cXYwnvhb7EXGSg5CTtp+2GqTBJuNVfMZ2DSvrC2Ig8cWBQQ== @@ -841,13 +832,6 @@ dependencies: bn.js "^5.2.0" -"@cosmjs/math@^0.20.0": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.20.1.tgz#c3c2be821b8b5dbbb9b2c0401bd9f1472e821f2a" - integrity sha512-xt7BmpSw2OVGM2+JhlJvKv9OJs9+3DqgVL6+byUDC355CSISrZhFjJg9GFko1EFssDXz5YgvBZR5FkifC0xazw== - dependencies: - bn.js "^4.11.8" - "@cosmjs/math@^0.24.1": version "0.24.1" resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.24.1.tgz#9eed507885aacc9b269441fc9ecb00fb5876883a" @@ -869,7 +853,7 @@ dependencies: bn.js "^5.2.0" -"@cosmjs/proto-signing@0.24.1", "@cosmjs/proto-signing@^0.24.0-alpha.25": +"@cosmjs/proto-signing@0.24.1": version "0.24.1" resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.24.1.tgz#4ee38d4e0d29c626344fb832235fda8e8d645c28" integrity sha512-/rnyNx+FlG6b6O+igsb42eMN1/RXY+pTrNnAE8/YZaRloP9A6MXiTMO5JdYSTcjaD0mEVhejiy96bcyflKYXBg== @@ -1114,11 +1098,6 @@ resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.28.13.tgz#2fd2844ec832d7833811e2ae1691305d09791a08" integrity sha512-dVeMBiyg+46x7XBZEfJK8yTihphbCFpjVYmLJVqmTsHfJwymQ65cpyW/C+V/LgWARGK8hWQ/aX9HM5Ao8QmMSg== -"@cosmjs/utils@^0.20.0": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.20.1.tgz#4d239b7d93c15523cdf109f225cbf61326fb69cd" - integrity sha512-xl9YnIrAAaBd6nFffwFbyrnKjqjD9zKGP8OBKxzyglxamHfqAS+PcJPEiaEpt+oUt7HAIOyhL3KK75Dh52hGvA== - "@cosmjs/utils@^0.24.1": version "0.24.1" resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.24.1.tgz#0adfefe63b7f17222bc2bc12f71296f35e7ad378" @@ -2540,48 +2519,6 @@ resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== -"@iov/crypto@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@iov/crypto/-/crypto-2.1.0.tgz#10e91b6692e154958c11626dfd096a80e8a481a4" - integrity sha512-jnb4XuK50admolm7fBxOcxfAW2TO+wYrZlhDWiMETItY/Y5gNNa1zaDSO2wNIjjfGng+8nQ1yqnNhqy7busV2Q== - dependencies: - "@iov/encoding" "^2.1.0" - bip39 "^3.0.2" - bn.js "^4.11.8" - elliptic "^6.4.0" - js-sha3 "^0.8.0" - libsodium-wrappers "^0.7.6" - pbkdf2 "^3.0.16" - ripemd160 "^2.0.2" - sha.js "^2.4.11" - type-tagger "^1.0.0" - unorm "^1.5.0" - -"@iov/encoding@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@iov/encoding/-/encoding-2.1.0.tgz#434203c39874c68bc1d96e1278251f0feb23be07" - integrity sha512-5IOdLO7Xg/uRykuiCqeMYghQ3IjWDtGxv7NTWXkgpHuna0aewx43mRpT2NPCpOZd1tpuorDtQ7/zbDNRaIIF/w== - dependencies: - base64-js "^1.3.0" - bech32 "^1.1.3" - bn.js "^4.11.8" - readonly-date "^1.0.0" - -"@iov/encoding@^2.1.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@iov/encoding/-/encoding-2.5.0.tgz#9612e529f45e63633b2375c13db28b9330ce6293" - integrity sha512-HGHLlQEvD23rFjW5PQrxD2B/6LiBHVSxqX6gjOz9KfcmIMIftRA0qROrTITfjjjUr/yZZEeNk4qjuBls9TaYcA== - dependencies: - "@cosmjs/encoding" "^0.20.0" - "@cosmjs/math" "^0.20.0" - "@cosmjs/utils" "^0.20.0" - readonly-date "^1.0.0" - -"@iov/utils@2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@iov/utils/-/utils-2.0.2.tgz#3527f376d26100e07ac823bf87bebd0f24680d1c" - integrity sha512-4D8MEvTcFc/DVy5q25vHxRItmgJyeX85dixMH+MxdKr+yy71h3sYk+sVBEIn70uqGP7VqAJkGOPNFs08/XYELw== - "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -2867,16 +2804,12 @@ google-protobuf "^3.7.0-rc.2" pbjs "^0.0.5" -"@keplr-wallet/types@^0.9.10": - version "0.9.12" - resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.9.12.tgz#5771913343030a491c551a5a2eebb9cb0ad480f7" - integrity sha512-vtAczeD3+CgGExSZCnU9Wzs9Y8BpdbOii+UjIFHwCR57OXFQphbWHh2j15QFpV4CbebpDcBzIm+/4IAyLeI0Yw== +"@keplr-wallet/types@^0.12.35": + version "0.12.36" + resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.36.tgz#6aec45a49f9368415506ed1c90a3f863a3538195" + integrity sha512-ONNZoSY31LOHbxr+z+3wkk6rhksZAU+8XQYinmtf2ZPtmXuP5nQxSGRW+bbAMpshDq9evUJrtTc2qKjjP+bT3Q== dependencies: - "@cosmjs/launchpad" "^0.24.0-alpha.25" - "@cosmjs/proto-signing" "^0.24.0-alpha.25" - axios "^0.21.4" long "^4.0.0" - secretjs "^0.17.0" "@ledgerhq/compressjs@1.3.2": version "1.3.2" @@ -6471,6 +6404,13 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== +"@types/ripemd160@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/ripemd160/-/ripemd160-2.0.2.tgz#e8ec7b1572e25fff9b3d0c4bc79022df4e037d12" + integrity sha512-hv3Oh/+ldCqp1xBRGi/1G6y2fxV6wUiiwjPt2Q7fe4UgmbD52ChdmxJyjDsGCRb9yuTBS9281UhH4D9gO85k7A== + dependencies: + "@types/node" "*" + "@types/secp256k1@^4.0.1": version "4.0.3" resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" @@ -8675,14 +8615,6 @@ buffer@^5.0.5, buffer@^5.1.0, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@~5.4.3: - version "5.4.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" - integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - bufferutil@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b" @@ -8922,11 +8854,6 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -charenc@~0.0.1: - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= - checkpoint-store@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" @@ -9636,11 +9563,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypt@~0.0.1: - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= - crypto-browserify@3.12.0, crypto-browserify@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -9787,11 +9709,6 @@ cuint@^0.2.2: resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= -curve25519-js@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/curve25519-js/-/curve25519-js-0.0.4.tgz#e6ad967e8cd284590d657bbfc90d8b50e49ba060" - integrity sha512-axn2UMEnkhyDUPWOwVKBMVIzSQy2ejH2xRGy1wq81dqRwApXfIzfbE3hIX0ZRFBIihf/KDqK158DLwESu4AK1w== - d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -11628,11 +11545,6 @@ fake-merkle-patricia-tree@^1.0.1: dependencies: checkpoint-store "^1.1.0" -fast-deep-equal@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== - fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -12611,7 +12523,7 @@ hash-wasm@^4.9.0: resolved "https://registry.yarnpkg.com/hash-wasm/-/hash-wasm-4.9.0.tgz#7e9dcc9f7d6bd0cc802f2a58f24edce999744206" integrity sha512-7SW7ejyfnRxuOc7ptQHSf4LDoZaWOivfzqw+5rpcQku0nHfmicPKE51ra9BiRLAmT8+gGLestr1XroUkqdjL6w== -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7, hash.js@~1.1.7: +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -13097,7 +13009,7 @@ is-boolean-object@^1.1.0: dependencies: call-bind "^1.0.2" -is-buffer@^1.1.5, is-buffer@~1.1.1: +is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== @@ -14100,52 +14012,6 @@ jquery@^3.7.1: resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== -js-crypto-env@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/js-crypto-env/-/js-crypto-env-0.3.2.tgz#02195723469da14449338ca2789fd7ff6784c533" - integrity sha512-F1uHiCkSOo36qBuuZABA4sBf+xeFBzhJZ0Sd7af8FAruszIhm1Xxv+Zr5Ne90Zlh7/fnxCsrdkj0N8f0a3lVlQ== - -js-crypto-hash@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/js-crypto-hash/-/js-crypto-hash-0.6.3.tgz#748e3e1853f69dad714636db3290736825506641" - integrity sha512-SG8c9tM8y3sUb4k7WvpVfu5vU7zfPvX+eaYR5578TvehkehdaQbqAc+y+1FwxnqQ3WZ0gsYoOKp/mW+mqtNoWA== - dependencies: - buffer "~5.4.3" - hash.js "~1.1.7" - js-crypto-env "^0.3.2" - md5 "~2.2.1" - sha3 "~2.1.0" - -js-crypto-hkdf@0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/js-crypto-hkdf/-/js-crypto-hkdf-0.7.3.tgz#537c394a2e65bca80032daa07d2ffe7e4f78d32f" - integrity sha512-eAaVArAjS2GCacWGXY4hjBiexrLQYlI0PMOcbwtrSEj84XU3kUfMYZm9bpTyaTXgdHC/eQoXe/Of6biG+RSEaQ== - dependencies: - js-crypto-env "^0.3.2" - js-crypto-hmac "^0.6.3" - js-crypto-random "^0.4.3" - js-encoding-utils "0.5.6" - -js-crypto-hmac@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/js-crypto-hmac/-/js-crypto-hmac-0.6.3.tgz#c33352c1ee6076b17b8f4cb0e2167814b2b77d6d" - integrity sha512-T0pKOaHACOSG6Xs6/06G8RDDeZouQwIQNBq9L/zoUGsd4F67gAjpT3q2lGigAGpUd1hiyy7vnhvLpz7VDt6DbA== - dependencies: - js-crypto-env "^0.3.2" - js-crypto-hash "^0.6.3" - -js-crypto-random@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/js-crypto-random/-/js-crypto-random-0.4.3.tgz#898c2d91991eead02b4e461005e878fa9827fd74" - integrity sha512-C3gzphPPfw9jfQ9Q/LjhJMZxQNp3AaoVRDvyZkiB+zYltfs8tKQPsskWkXACpg1Nzh01PtSRUvVijjptd2qGHQ== - dependencies: - js-crypto-env "^0.3.2" - -js-encoding-utils@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/js-encoding-utils/-/js-encoding-utils-0.5.6.tgz#517351d8f4a85b2ad121183d41df8319981bee03" - integrity sha512-qnAGsUIWrmzh5n+3AXqbxX1KsB9hkQmJZf3aA9DLAS7GpL/NEHCBreFFbW+imramoU+Q0TDyvkwhRbBRH1TVkg== - js-levenshtein@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" @@ -15037,15 +14903,6 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" -md5@~2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" - integrity sha1-U6s41f48iJG6RlMp6iP6wFQBJvk= - dependencies: - charenc "~0.0.1" - crypt "~0.0.1" - is-buffer "~1.1.1" - mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" @@ -15384,11 +15241,6 @@ minizlib@^2.1.1, minizlib@^2.1.2: minipass "^3.0.0" yallist "^4.0.0" -miscreant@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/miscreant/-/miscreant-0.3.2.tgz#a91c046566cca70bd6b5e9fbdd3f67617fa85034" - integrity sha512-fL9KxsQz9BJB2KGPMHFrReioywkiomBiuaLk6EuChijK0BsJsIKJXdVomR+/bPj5mvbFD6wM0CM3bZio9g7OHA== - mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -16434,7 +16286,7 @@ pacote@^13.0.3, pacote@^13.6.1: ssri "^9.0.0" tar "^6.1.11" -pako@1.0.11, pako@~1.0.5: +pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== @@ -16631,7 +16483,7 @@ pbjs@^0.0.5: commander "2.9.0" protocol-buffers-schema "3.1.0" -pbkdf2@^3.0.16, pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9, pbkdf2@^3.1.1: +pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9, pbkdf2@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== @@ -17195,10 +17047,10 @@ protobufjs@6.10.1: "@types/node" "^13.7.0" long "^4.0.0" -protobufjs@^6.11.2, protobufjs@^6.8.8, protobufjs@~6.11.2: - version "6.11.2" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b" - integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw== +protobufjs@^6.11.3, protobufjs@~6.11.3: + version "6.11.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" + integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -17214,10 +17066,10 @@ protobufjs@^6.11.2, protobufjs@^6.8.8, protobufjs@~6.11.2: "@types/node" ">=13.7.0" long "^4.0.0" -protobufjs@^6.11.3, protobufjs@~6.11.3: - version "6.11.3" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" - integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== +protobufjs@^6.8.8, protobufjs@~6.11.2: + version "6.11.2" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b" + integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -18191,24 +18043,7 @@ secp256k1@^3.0.1: nan "^2.14.0" safe-buffer "^5.1.2" -secretjs@^0.17.0: - version "0.17.5" - resolved "https://registry.yarnpkg.com/secretjs/-/secretjs-0.17.5.tgz#5b55e46cfa2719714831fc2019e21c21959fe587" - integrity sha512-sf0+Je9KIEMQr/wJOgeqyBOV0ruiMNHSwP4L2vXiJbtzJWQqyVHyPkpavAhruNZ+91XlSzAFP2X5MPxqPBC9fQ== - dependencies: - "@iov/crypto" "2.1.0" - "@iov/encoding" "2.1.0" - "@iov/utils" "2.0.2" - axios "0.21.1" - curve25519-js "0.0.4" - fast-deep-equal "3.1.1" - js-crypto-hkdf "0.7.3" - miscreant "0.3.2" - pako "1.0.11" - protobufjs "^6.11.2" - secure-random "1.1.2" - -secure-random@1.1.2, secure-random@^1.1.2: +secure-random@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/secure-random/-/secure-random-1.1.2.tgz#ed103b460a851632d420d46448b2a900a41e7f7c" integrity sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ== @@ -18375,13 +18210,6 @@ sha.js@2, sha.js@^2.3.6, sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -sha3@~2.1.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.1.4.tgz#000fac0fe7c2feac1f48a25e7a31b52a6492cc8f" - integrity sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg== - dependencies: - buffer "6.0.3" - shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -19685,11 +19513,6 @@ type-is@~1.6.17, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -type-tagger@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/type-tagger/-/type-tagger-1.0.0.tgz#dc6297e52e17097c1b92b42c16816a18f631e7f4" - integrity sha512-FIPqqpmDgdaulCnRoKv1/d3U4xVBUrYn42QXWNP3XYmgfPUDuBUsgFOb9ntT0aIe0UsUP+lknpQ5d9Kn36RssA== - type@^1.0.1: version "1.2.0" resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" From 5f8b3e37ea11139fa3128087fa61e9ae1e2fc679 Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Thu, 26 Oct 2023 17:51:32 -0600 Subject: [PATCH 09/15] Remove dependencies browserify-zlib and update-browserslist-db (a Skynet-type nightmare). Remove some tsconfig changes based on PR feedback. --- examples/sandbox/package.json | 3 +-- examples/sandbox/tsconfig.json | 3 --- package.json | 1 - tsconfig.json | 1 - 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index e463398ac..9b2a8e98e 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -32,14 +32,13 @@ "json": "^9.0.6", "p-queue": "^7.4.1", "source-map": "^0.8.0-beta.0", - "update-browserslist-db": "^1.0.13", "web3": "^1.5.1" }, "devDependencies": { "@types/jquery": "^3.5.22", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", - "parcel": "^2.3.2", + "parcel": "2.3.2", "path-browserify": "^1.0.1", "querystring-es3": "^0.2.1", "stream-http": "^3.2.0" diff --git a/examples/sandbox/tsconfig.json b/examples/sandbox/tsconfig.json index 91d94b2ee..fe7688848 100644 --- a/examples/sandbox/tsconfig.json +++ b/examples/sandbox/tsconfig.json @@ -1,8 +1,5 @@ { "compilerOptions": { "resolveJsonModule": true, - "esModuleInterop": true, - "lib": ["es2020", "dom", "es5"], - "typeRoots": ["../node_modules/@types", "../packages/*/node_modules/@types"] } } diff --git a/package.json b/package.json index 1c6c9c4c1..e589ab1ef 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,6 @@ "@types/inquirer": "9.0.3", "@typescript-eslint/eslint-plugin": "^6.7.3", "@typescript-eslint/parser": "^6.7.3", - "browserify-zlib": "^0.2.0", "eslint": "^8.10.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-jest": "26.1.1", diff --git a/tsconfig.json b/tsconfig.json index 93453b30f..e92968f5c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,6 @@ "sourceMap": true, "composite": true, "isolatedModules": true, - "typeRoots": ["./node_modules/@types", "./packages/*/node_modules/@types"], /* Strict Type-Checking Options */ "strict": true, From 3206d6d883cba95ea60339734ec2f380aa8454e5 Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Thu, 26 Oct 2023 18:00:47 -0600 Subject: [PATCH 10/15] update yarn.lock by running yarn --- yarn.lock | 51 +++++++++++++++++++++++---------------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6effaff95..683c311a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1225,7 +1225,7 @@ "@ethereumjs/common" "^2.4.0" ethereumjs-util "^7.1.0" -"@ethereumjs/tx@^4.1.2": +"@ethereumjs/tx@^4.1.2", "@ethereumjs/tx@^4.2.0": version "4.2.0" resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853" integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw== @@ -2805,9 +2805,9 @@ pbjs "^0.0.5" "@keplr-wallet/types@^0.12.35": - version "0.12.36" - resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.36.tgz#6aec45a49f9368415506ed1c90a3f863a3538195" - integrity sha512-ONNZoSY31LOHbxr+z+3wkk6rhksZAU+8XQYinmtf2ZPtmXuP5nQxSGRW+bbAMpshDq9evUJrtTc2qKjjP+bT3Q== + version "0.12.37" + resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.37.tgz#a136762547cf324355ed201f0146763e9a410dda" + integrity sha512-MhGnjIbG3JRo23+kF4fx0DMSkwJ2oqVdz9Xd2igb1Iwt6NDbLBD1vOrXTjByJwzawECbMsMIR1eEhw+myOwciw== dependencies: long "^4.0.0" @@ -4121,14 +4121,16 @@ superstruct "^1.0.3" "@metamask/utils@^8.0.0", "@metamask/utils@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.1.0.tgz#b8e73f5b4696b1b668cf5c1421daad140a3f98ac" - integrity sha512-sFNpzBKRicDgM2ZuU6vrPROlqNGm8/jDsjc5WrU1RzCkAMc4Xr3vUUf8p59uQ6B09etUWNb8d2GTCbISdmH/Ug== + version "8.2.0" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.2.0.tgz#51d608faf1ba7ba021084682160f275bb127d137" + integrity sha512-Zjx6y0PPrf9B4pdZ8JHl0grwJf/qNJ1dzYQh10/QSlj7Ct9Qy+r9PzdgGUHgA4oHohe1Phwy8MFnzB6TWZE11A== dependencies: - "@ethereumjs/tx" "^4.1.2" + "@ethereumjs/tx" "^4.2.0" "@noble/hashes" "^1.3.1" + "@scure/base" "^1.1.3" "@types/debug" "^4.1.7" debug "^4.3.4" + pony-cause "^2.1.10" semver "^7.5.4" superstruct "^1.0.3" @@ -5427,7 +5429,7 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= -"@scure/base@^1.0.0", "@scure/base@^1.1.1", "@scure/base@~1.1.0": +"@scure/base@^1.0.0", "@scure/base@^1.1.1", "@scure/base@^1.1.3", "@scure/base@~1.1.0": version "1.1.3" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== @@ -6232,9 +6234,9 @@ pretty-format "^26.0.0" "@types/jquery@^3.5.22": - version "3.5.22" - resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.5.22.tgz#893273736f5695a520986c019c873b75b157f26a" - integrity sha512-ISQFeUK5GwRftLK4PVvKTWEVCxZ2BpaqBz0TWkIq5w4vGojxZP9+XkqgcPjxoqmPeew+HLyWthCBvK7GdF5NYA== + version "3.5.25" + resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.5.25.tgz#c817c71d414855f7d71f46da39f43e6b9579b0b9" + integrity sha512-gykx2c+OZf5nx2tv/5fDQqmvGgTiXshELy5jf9IgXPtVfSBl57IUYByN4osbwMXwJijWGOEYQABzGaFZE79A0Q== dependencies: "@types/sizzle" "*" @@ -6453,9 +6455,9 @@ "@types/node" "*" "@types/sizzle@*": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.4.tgz#cd6531924f60834fa4a1b8081f9eecf9bb1117f0" - integrity sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag== + version "2.3.5" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.5.tgz#d93dd29cdcd5801d90be968073b09a6b370780e4" + integrity sha512-tAe4Q+OLFOA/AMD+0lq8ovp8t3ysxAOeaScnfNdZpUxaGl51ZMDEITxkvFl1STudQ58mz6gzVGl9VhMKhwRnZQ== "@types/stack-utils@^1.0.1": version "1.0.1" @@ -8439,13 +8441,6 @@ browserify-sign@^4.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - browserslist@^4.0.0, browserslist@^4.16.6: version "4.16.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" @@ -16286,12 +16281,7 @@ pacote@^13.0.3, pacote@^13.6.1: ssri "^9.0.0" tar "^6.1.11" -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parcel@^2.3.2: +parcel@2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.3.2.tgz#d1cb475f27edae981edea7a7104e04d3a35a87ca" integrity sha512-4jhgoBcQaiGKmnmBvNyKyOvZrxCgzgUzdEoVup/fRCOP99hNmvYIN5IErIIJxsU9ObcG/RGCFF8wa4kVRsWfIg== @@ -16605,6 +16595,11 @@ pocket-js-core@0.0.3: dependencies: axios "^0.18.0" +pony-cause@^2.1.10: + version "2.1.10" + resolved "https://registry.yarnpkg.com/pony-cause/-/pony-cause-2.1.10.tgz#828457ad6f13be401a075dbf14107a9057945174" + integrity sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw== + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" From 78ed4aec417d88820779494abc4bfdec9bad51f9 Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Thu, 26 Oct 2023 18:20:40 -0600 Subject: [PATCH 11/15] move parcel back to a regular dep --- examples/sandbox/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index 9b2a8e98e..a4e836efc 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -31,6 +31,7 @@ "jquery": "^3.7.1", "json": "^9.0.6", "p-queue": "^7.4.1", + "parcel": "^2.3.2", "source-map": "^0.8.0-beta.0", "web3": "^1.5.1" }, @@ -38,7 +39,6 @@ "@types/jquery": "^3.5.22", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", - "parcel": "2.3.2", "path-browserify": "^1.0.1", "querystring-es3": "^0.2.1", "stream-http": "^3.2.0" From f6d4e254c19a7b7a000a43eea93e0dfb864f2ac0 Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Thu, 26 Oct 2023 18:31:09 -0600 Subject: [PATCH 12/15] update yarn.lock --- yarn.lock | 1673 ++++++++++++++++++++++++++++------------------------- 1 file changed, 871 insertions(+), 802 deletions(-) diff --git a/yarn.lock b/yarn.lock index 683c311a3..f86012766 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3830,6 +3830,18 @@ npmlog "^6.0.2" write-file-atomic "^4.0.1" +"@lezer/common@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.1.0.tgz#2e5bfe01d7a2ada6056d93c677bba4f1495e098a" + integrity sha512-XPIN3cYDXsoJI/oDWoR2tD++juVrhgIago9xyKhZ7IhGlzdDM9QgC8D8saKNCz5pindGcznFr2HBSsEQSWnSjw== + +"@lezer/lr@^1.0.0": + version "1.3.13" + resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.3.13.tgz#578e06c6c52e4dc38421368904585afa3eb82ec8" + integrity sha512-RLAbau/4uSzKgIKj96mI5WUtG1qtiR0Frn0Ei9zhPj8YOkHM+1Bb8SgdVvmR/aWJCFIzjo2KFnDiRZ75Xf5NdQ== + dependencies: + "@lezer/common" "^1.0.0" + "@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": version "1.1.1" resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz#64df34e2f12e68e78ac57e571d25ec07fa460ca9" @@ -3842,6 +3854,36 @@ dependencies: "@lit-labs/ssr-dom-shim" "^1.0.0" +"@lmdb/lmdb-darwin-arm64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz#895d8cb16a9d709ce5fedd8b60022903b875e08e" + integrity sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw== + +"@lmdb/lmdb-darwin-x64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz#ca243534c8b37d5516c557e4624256d18dd63184" + integrity sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug== + +"@lmdb/lmdb-linux-arm64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz#b44a8023057e21512eefb9f6120096843b531c1e" + integrity sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww== + +"@lmdb/lmdb-linux-arm@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz#17bd54740779c3e4324e78e8f747c21416a84b3d" + integrity sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg== + +"@lmdb/lmdb-linux-x64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz#6c61835b6cc58efdf79dbd5e8c72a38300a90302" + integrity sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ== + +"@lmdb/lmdb-win32-x64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz#8233e8762440b0f4632c47a09b1b6f23de8b934c" + integrity sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ== + "@metamask/abi-utils@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@metamask/abi-utils/-/abi-utils-2.0.2.tgz#ad394e9cb8a95ac177cad942daadd88a246c0de8" @@ -4134,6 +4176,15 @@ semver "^7.5.4" superstruct "^1.0.3" +"@mischnic/json-sourcemap@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz#0ef9b015a8f575dd9a8720d9a6b4dbc988425906" + integrity sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w== + dependencies: + "@lezer/common" "^1.0.0" + "@lezer/lr" "^1.0.0" + json5 "^2.2.1" + "@motionone/animation@^10.15.1": version "10.15.1" resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" @@ -4203,6 +4254,36 @@ "@motionone/dom" "^10.16.2" tslib "^2.3.1" +"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz#44d752c1a2dc113f15f781b7cc4f53a307e3fa38" + integrity sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ== + +"@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz#f954f34355712212a8e06c465bc06c40852c6bb3" + integrity sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw== + +"@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz#45c63037f045c2b15c44f80f0393fa24f9655367" + integrity sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg== + +"@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz#35707efeafe6d22b3f373caf9e8775e8920d1399" + integrity sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA== + +"@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz#091b1218b66c341f532611477ef89e83f25fae4f" + integrity sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA== + +"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz#0f164b726869f71da3c594171df5ebc1c4b0a407" + integrity sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ== + "@mswjs/cookies@^0.1.4": version "0.1.6" resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-0.1.6.tgz#176f77034ab6d7373ae5c94bcbac36fee8869249" @@ -4621,537 +4702,631 @@ "@babel/runtime" "^7.19.0" axios "0.27.2" -"@parcel/bundler-default@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.3.2.tgz#329f171e210dfb22beaa52ae706ccde1dae384c1" - integrity sha512-JUrto4mjSD0ic9dEqRp0loL5o3HVYHja1ZIYSq+rBl2UWRV6/9cGTb07lXOCqqm0BWE+hQ4krUxB76qWaF0Lqw== - dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/hash" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" +"@parcel/bundler-default@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.10.1.tgz#ecedaa27cd10181aace7d9fdb9078053b2c70513" + integrity sha512-R+0xfFoEkwGJ/6xYEFPvifd8zzatHz/YC7+IQLluxxutSJFhDcyewBfFkUgqlSJkYlSFRohS+w0T5y4V6T97Yw== + dependencies: + "@parcel/diagnostic" "2.10.1" + "@parcel/graph" "3.0.1" + "@parcel/plugin" "2.10.1" + "@parcel/rust" "2.10.1" + "@parcel/utils" "2.10.1" nullthrows "^1.1.1" -"@parcel/cache@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.3.2.tgz#ba8c2af02fd45b90c7bc6f829bfc566d1ded0a13" - integrity sha512-Xxq+ekgcFEme6Fn1v7rEOBkyMOUOUu7eNqQw0l6HQS+INZ2Q7YzzfdW7pI8rEOAAICVg5BWKpmBQZpgJlT+HxQ== +"@parcel/cache@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.10.1.tgz#7308e7dc43df9f93bef3d419f902b9fbb92fe73f" + integrity sha512-qMJ6iMUIG9Ao42JSnDOuAzmEj6xGTrqKmz0tTgwbAhEaIjo974t0PAzOop+Ai074H12uZ1pWe6TvoL+qqJz8gg== dependencies: - "@parcel/fs" "2.3.2" - "@parcel/logger" "2.3.2" - "@parcel/utils" "2.3.2" - lmdb "^2.0.2" + "@parcel/fs" "2.10.1" + "@parcel/logger" "2.10.1" + "@parcel/utils" "2.10.1" + lmdb "2.8.5" -"@parcel/codeframe@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.3.2.tgz#73fb5a89910b977342808ca8f6ece61fa01b7690" - integrity sha512-ireQALcxxrTdIEpzTOoMo/GpfbFm1qlyezeGl3Hce3PMvHLg3a5S6u/Vcy7SAjdld5GfhHEqVY+blME6Z4CyXQ== +"@parcel/codeframe@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.10.1.tgz#1f761f758d13a072ff50f1c67d7265df4df2e753" + integrity sha512-CyAJJGyFJ6TIU2onxbK4VVmtXnCpVdSZobbCyRPYkHKQfqlarnjeQXZHBLnsBX1qviF4VGXp4ePgcsyiaFxWZg== dependencies: chalk "^4.1.0" -"@parcel/compressor-raw@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.3.2.tgz#1a808ae9e61ed86f655935e1d2a984383b3c00a7" - integrity sha512-8dIoFwinYK6bOTpnZOAwwIv0v73y0ezsctPmfMnIqVQPn7wJwfhw/gbKVcmK5AkgQMkyid98hlLZoaZtGF1Mdg== +"@parcel/compressor-raw@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.10.1.tgz#398e4fa8def159f28b943a5e52e5efdaa54f8d5b" + integrity sha512-dBDmMhl7E8Cs0i4nvsg/9mWqqfI0qKL6J7jLYQFn+oubJXS1WZCmtIGwlrYT5rw8NouaLJCoN62ahb2SmhuKqw== dependencies: - "@parcel/plugin" "2.3.2" + "@parcel/plugin" "2.10.1" -"@parcel/config-default@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.3.2.tgz#3f21a37fa07b22de9cd6b1aea19bc310a02d4abb" - integrity sha512-E7/iA7fGCYvXU3u6zF9nxjeDVsgjCN6MVvDjymjaxYMoDWTIsPV245SBEXqzgtmzbMAV+VAl4rVWLMB4pzMt9g== - dependencies: - "@parcel/bundler-default" "2.3.2" - "@parcel/compressor-raw" "2.3.2" - "@parcel/namer-default" "2.3.2" - "@parcel/optimizer-cssnano" "2.3.2" - "@parcel/optimizer-htmlnano" "2.3.2" - "@parcel/optimizer-image" "2.3.2" - "@parcel/optimizer-svgo" "2.3.2" - "@parcel/optimizer-terser" "2.3.2" - "@parcel/packager-css" "2.3.2" - "@parcel/packager-html" "2.3.2" - "@parcel/packager-js" "2.3.2" - "@parcel/packager-raw" "2.3.2" - "@parcel/packager-svg" "2.3.2" - "@parcel/reporter-dev-server" "2.3.2" - "@parcel/resolver-default" "2.3.2" - "@parcel/runtime-browser-hmr" "2.3.2" - "@parcel/runtime-js" "2.3.2" - "@parcel/runtime-react-refresh" "2.3.2" - "@parcel/runtime-service-worker" "2.3.2" - "@parcel/transformer-babel" "2.3.2" - "@parcel/transformer-css" "2.3.2" - "@parcel/transformer-html" "2.3.2" - "@parcel/transformer-image" "2.3.2" - "@parcel/transformer-js" "2.3.2" - "@parcel/transformer-json" "2.3.2" - "@parcel/transformer-postcss" "2.3.2" - "@parcel/transformer-posthtml" "2.3.2" - "@parcel/transformer-raw" "2.3.2" - "@parcel/transformer-react-refresh-wrap" "2.3.2" - "@parcel/transformer-svg" "2.3.2" - -"@parcel/core@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.3.2.tgz#1b9a79c1ff96dba5e0f53d4277bed4e7ab4590d0" - integrity sha512-gdJzpsgeUhv9H8T0UKVmyuptiXdduEfKIUx0ci+/PGhq8cCoiFnlnuhW6H7oLr79OUc+YJStabDJuG4U2A6ysw== - dependencies: - "@parcel/cache" "2.3.2" - "@parcel/diagnostic" "2.3.2" - "@parcel/events" "2.3.2" - "@parcel/fs" "2.3.2" - "@parcel/graph" "2.3.2" - "@parcel/hash" "2.3.2" - "@parcel/logger" "2.3.2" - "@parcel/package-manager" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/source-map" "^2.0.0" - "@parcel/types" "2.3.2" - "@parcel/utils" "2.3.2" - "@parcel/workers" "2.3.2" +"@parcel/config-default@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.10.1.tgz#5414113f42a841f775d257ed5d489f3a0eac67bf" + integrity sha512-Yyv6NxM7fvA5AZH3+fVoxL5/eMZz/fWLWGYPHxe8KT2aYIvVPCQpdUaQ87JNGgzUsL/bgYDWA9da3FReGuBxIA== + dependencies: + "@parcel/bundler-default" "2.10.1" + "@parcel/compressor-raw" "2.10.1" + "@parcel/namer-default" "2.10.1" + "@parcel/optimizer-css" "2.10.1" + "@parcel/optimizer-htmlnano" "2.10.1" + "@parcel/optimizer-image" "2.10.1" + "@parcel/optimizer-svgo" "2.10.1" + "@parcel/optimizer-swc" "2.10.1" + "@parcel/packager-css" "2.10.1" + "@parcel/packager-html" "2.10.1" + "@parcel/packager-js" "2.10.1" + "@parcel/packager-raw" "2.10.1" + "@parcel/packager-svg" "2.10.1" + "@parcel/packager-wasm" "2.10.1" + "@parcel/reporter-dev-server" "2.10.1" + "@parcel/resolver-default" "2.10.1" + "@parcel/runtime-browser-hmr" "2.10.1" + "@parcel/runtime-js" "2.10.1" + "@parcel/runtime-react-refresh" "2.10.1" + "@parcel/runtime-service-worker" "2.10.1" + "@parcel/transformer-babel" "2.10.1" + "@parcel/transformer-css" "2.10.1" + "@parcel/transformer-html" "2.10.1" + "@parcel/transformer-image" "2.10.1" + "@parcel/transformer-js" "2.10.1" + "@parcel/transformer-json" "2.10.1" + "@parcel/transformer-postcss" "2.10.1" + "@parcel/transformer-posthtml" "2.10.1" + "@parcel/transformer-raw" "2.10.1" + "@parcel/transformer-react-refresh-wrap" "2.10.1" + "@parcel/transformer-svg" "2.10.1" + +"@parcel/core@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.10.1.tgz#6efe97ab12c053ae1c21baac4357864bdeb6411d" + integrity sha512-d3ufgqp3nfxJJLFLiGccX3C2paF/mWFjhjltoLmeqtdR3SFfS8z1ysrC7WJqBlwHFwBtL8ZqjPquekGmaH2LoQ== + dependencies: + "@mischnic/json-sourcemap" "^0.1.0" + "@parcel/cache" "2.10.1" + "@parcel/diagnostic" "2.10.1" + "@parcel/events" "2.10.1" + "@parcel/fs" "2.10.1" + "@parcel/graph" "3.0.1" + "@parcel/logger" "2.10.1" + "@parcel/package-manager" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/profiler" "2.10.1" + "@parcel/rust" "2.10.1" + "@parcel/source-map" "^2.1.1" + "@parcel/types" "2.10.1" + "@parcel/utils" "2.10.1" + "@parcel/workers" "2.10.1" abortcontroller-polyfill "^1.1.9" base-x "^3.0.8" browserslist "^4.6.6" clone "^2.1.1" dotenv "^7.0.0" dotenv-expand "^5.1.0" - json-source-map "^0.6.1" json5 "^2.2.0" - msgpackr "^1.5.1" + msgpackr "^1.5.4" nullthrows "^1.1.1" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/diagnostic@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.3.2.tgz#1d3f0b55bfd9839c6f41d704ebbc89a96cca88dc" - integrity sha512-/xW93Az4AOiifuYW/c4CDbUcu3lx5FcUDAj9AGiR9NSTsF/ROC/RqnxvQ3AGtqa14R7vido4MXEpY3JEp6FsqA== +"@parcel/diagnostic@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.10.1.tgz#531efccb002b091bebf673dae4374f4012f2f6f0" + integrity sha512-PzYIyqg9QrIInPdfc4kellhfm0OlzylSvmDPfCCGlIdOnhFX5qqzaZkNAdFL1j4R4KwVqo90aeAy4I8AERRfaw== dependencies: - json-source-map "^0.6.1" + "@mischnic/json-sourcemap" "^0.1.0" nullthrows "^1.1.1" -"@parcel/events@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.3.2.tgz#b6bcfbbc96d883716ee9d0e6ab232acdee862790" - integrity sha512-WiYIwXMo4Vd+pi58vRoHkul8TPE5VEfMY+3FYwVCKPl/LYqSD+vz6wMx9uG18mEbB1d/ofefv5ZFQNtPGKO4tQ== - -"@parcel/fs-search@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/fs-search/-/fs-search-2.3.2.tgz#18611877ac1b370932c71987c2ec0e93a4a7e53d" - integrity sha512-u3DTEFnPtKuZvEtgGzfVjQUytegSSn3POi7WfwMwPIaeDPfYcyyhfl+c96z7VL9Gk/pqQ99/cGyAwFdFsnxxXA== - dependencies: - detect-libc "^1.0.3" +"@parcel/events@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.10.1.tgz#04d1ce9d62b8d6b6153deb514afc9c09638ad8cf" + integrity sha512-QONtaYl6YOZEbhpRFJ14OfnMu/rpUA2HlnhySTDdrv4N6vAiwbTIBhAAKqbQQNaRYH6OeKo9JSuXKggCFJr9Ag== -"@parcel/fs@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.3.2.tgz#9628441a84c2582e1f6e69549feb0da0cc143e40" - integrity sha512-XV+OsnRpN01QKU37lBN0TFKvv7uPKfQGbqFqYOrMbXH++Ae8rBU0Ykz+Yu4tv2h7shMlde+AMKgRnRTAJZpWEQ== +"@parcel/fs@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.10.1.tgz#be684456fa680550189b749fdf78e2b71d441280" + integrity sha512-LLSaXj3oG4uCAUktcsXpzaK0AhT+vXLwCkechSuu88vrHpGOLHLnO/VkRsMNskWPjX9jAXbYRRX1x6uacdf04g== dependencies: - "@parcel/fs-search" "2.3.2" - "@parcel/types" "2.3.2" - "@parcel/utils" "2.3.2" - "@parcel/watcher" "^2.0.0" - "@parcel/workers" "2.3.2" + "@parcel/rust" "2.10.1" + "@parcel/types" "2.10.1" + "@parcel/utils" "2.10.1" + "@parcel/watcher" "^2.0.7" + "@parcel/workers" "2.10.1" -"@parcel/graph@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-2.3.2.tgz#4194816952ab322ab22a17f7d9ea17befbade64d" - integrity sha512-ltTBM3IEqumgmy4ABBFETT8NtAwSsjD9mY3WCyJ5P8rUshfVCg093rvBPbpuJYMaH/TV1AHVaWfZqaZ4JQDIQQ== +"@parcel/graph@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-3.0.1.tgz#b3e8b7818dae758510c513166aaeed4c3b4e30f7" + integrity sha512-ymxlM2FEayLIQ+WaMR9ud188Jq0rS7omQgoywhCMhFRGyOqnZlLxGtCnZ20P0/1wtb11q5y6/UzpGiMfCu2OQg== dependencies: - "@parcel/utils" "2.3.2" nullthrows "^1.1.1" -"@parcel/hash@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/hash/-/hash-2.3.2.tgz#33b8ff04bb44f6661bdc1054b302ef1b6bd3acb3" - integrity sha512-SMtYTsHihws/wqdVnOr0QAGyGYsW9rJSJkkoRujUxo8l2ctnBN1ztv89eOUrdtgHsmcnj/oz1yw6sN38X+BUng== - dependencies: - detect-libc "^1.0.3" - xxhash-wasm "^0.4.2" - -"@parcel/logger@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.3.2.tgz#b5fc7a9c1664ee0286d0f67641c7c81c8fec1561" - integrity sha512-jIWd8TXDQf+EnNWSa7Q10lSQ6C1LSH8OZkTlaINrfVIw7s+3tVxO3I4pjp7/ARw7RX2gdNPlw6fH4Gn/HvvYbw== +"@parcel/logger@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.10.1.tgz#09cc07bbc002fd24d5bfbf6eeabee48830bcd64f" + integrity sha512-o9Qi2HB/7T3hqCI2+nUYaHPk8fGNMxdUADh13iOycmGf3gKrno/t67P9dECnD9M5+YZK52R/8MRS0/SPaERC6g== dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/events" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/events" "2.10.1" -"@parcel/markdown-ansi@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.3.2.tgz#2a5be7ce76a506a9d238ea2257cb28e43abe4902" - integrity sha512-l01ggmag5QScCk9mYA0xHh5TWSffR84uPFP2KvaAMQQ9NLNufcFiU0mn/Mtr3pCb5L5dSzmJ+Oo9s7P1Kh/Fmg== +"@parcel/markdown-ansi@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.10.1.tgz#daa17055b26bb9f594fcc21e2fa6183e2700cc79" + integrity sha512-UYdrZWlUy3w5hr+k0KToshGZONWP1M9+ld4i2vl12/v32FNX20zc15BnnKqheY7X/ZuLdqlVyMR7P+Q5Z7RMwQ== dependencies: chalk "^4.1.0" -"@parcel/namer-default@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.3.2.tgz#84e17abfc84fd293b23b3f405280ed2e279c75d8" - integrity sha512-3QUMC0+5+3KMKfoAxYAbpZtuRqTgyZKsGDWzOpuqwemqp6P8ahAvNPwSCi6QSkGcTmvtYwBu9/NHPSONxIFOfg== +"@parcel/namer-default@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.10.1.tgz#61f53e070c72958d1399f6cff1f5398d7ab39e72" + integrity sha512-sYQswJ6ySFSld29EOYRj2hxhxj4qgnApUY44+0woWMvhkFdu/N+hbeZzS/d2owC/sfeE0lwiaLpcQEkhBsEqHw== dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/plugin" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" nullthrows "^1.1.1" -"@parcel/node-resolver-core@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-2.3.2.tgz#dd360f405949fdcd62980cd44825052ab28f6135" - integrity sha512-wmrnMNzJN4GuHw2Ftho+BWgSWR6UCkW3XoMdphqcxpw/ieAdS2a+xYSosYkZgQZ6lGutSvLyJ1CkVvP6RLIdQQ== - dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/utils" "2.3.2" +"@parcel/node-resolver-core@3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-3.1.1.tgz#60e5a457976181c9fd494c0015708cc9040e75ac" + integrity sha512-LliCQ024WYGcmFt9zVvpzeHuMTvqywtDV7/HOtp2OS3up2pt7ryQwA/5OyrEYgeo+4pUHxlPDi9z1fm0AUCWQA== + dependencies: + "@mischnic/json-sourcemap" "^0.1.0" + "@parcel/diagnostic" "2.10.1" + "@parcel/fs" "2.10.1" + "@parcel/rust" "2.10.1" + "@parcel/utils" "2.10.1" nullthrows "^1.1.1" + semver "^7.5.2" -"@parcel/optimizer-cssnano@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.3.2.tgz#70758f6646fd4debc26a90ae7dddf398928c0ce1" - integrity sha512-wTBOxMiBI38NAB9XIlQZRCjS59+EWjWR9M04D3TWyxl+dL5gYMc1cl4GNynUnmcPdz+3s1UbOdo5/8V90wjiiw== +"@parcel/optimizer-css@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-css/-/optimizer-css-2.10.1.tgz#431e5b74ab6b711e10e94a73380eb08156830d27" + integrity sha512-/oGD+w/2elpwtowVKVetq/X9ief+x8WODuq3pnoNkAbCLiE/6CXXmJwly2BzugpTmJB2L6YqSblMXonMuki/GQ== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/source-map" "^2.0.0" - cssnano "^5.0.15" - postcss "^8.4.5" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.10.1" + browserslist "^4.6.6" + lightningcss "^1.16.1" + nullthrows "^1.1.1" -"@parcel/optimizer-htmlnano@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.3.2.tgz#4086736866621182f5dd1a8abe78e9f5764e1a28" - integrity sha512-U8C0TDSxsx8HmHaLW0Zc7ha1fXQynzhvBjCRMGYnOiLiw0MOfLQxzQ2WKVSeCotmdlF63ayCwxWsd6BuqStiKQ== +"@parcel/optimizer-htmlnano@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.10.1.tgz#e8e67505e51d93ce527bcfe692313853aaf0be24" + integrity sha512-o9Dj1Bv8ffGoHvxwADjcGKbCrRT9Fb9VrSJYx8+t0yY1FWeKdfu7rquy+Ca/2JfbprNCyBeeR6cfFX7yxHqCqw== dependencies: - "@parcel/plugin" "2.3.2" + "@parcel/plugin" "2.10.1" htmlnano "^2.0.0" nullthrows "^1.1.1" posthtml "^0.16.5" svgo "^2.4.0" -"@parcel/optimizer-image@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-image/-/optimizer-image-2.3.2.tgz#0549cc1abc99fdd6f46bd44ce8551eb135e44d4f" - integrity sha512-HOk3r5qdvY/PmI7Q3i2qEgFH3kP2QWG4Wq3wmC4suaF1+c2gpiQc+HKHWp4QvfbH3jhT00c5NxQyqPhbXeNI9Q== +"@parcel/optimizer-image@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-image/-/optimizer-image-2.10.1.tgz#31cf54fafc6e83b66bbca41c047b29809d9b9e2f" + integrity sha512-5NA1GBRGvJpmbK+Oz0zHjM/t5oD3xFyrgWcRvV+3r9Kkp7SZmW3TLxHv4Z6hs0u7UqKOWsXESYzBEe30op3Dkw== dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" - "@parcel/workers" "2.3.2" - detect-libc "^1.0.3" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/rust" "2.10.1" + "@parcel/utils" "2.10.1" + "@parcel/workers" "2.10.1" -"@parcel/optimizer-svgo@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-svgo/-/optimizer-svgo-2.3.2.tgz#ebf2f48f356ad557d2bbfae361520d3d29bc1c37" - integrity sha512-l7WvZ5+e7D1mVmLUxMVaSb29cviXzuvSY2OpQs0ukdPACDqag+C65hWMzwTiOSSRGPMIu96kQKpeVru2YjibhA== +"@parcel/optimizer-svgo@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-svgo/-/optimizer-svgo-2.10.1.tgz#31526b9d9bcbf426dae181453cef178cfcf3f334" + integrity sha512-ftgc0fIkrIlhOGDpDNg4C96gqceUPieMbhbjnwahDk4/hPlWkrE58wZWBpjpYxkRuqAPQ7ysUDMMlFRpvuOr1Q== dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" svgo "^2.4.0" -"@parcel/optimizer-terser@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-terser/-/optimizer-terser-2.3.2.tgz#790b69e6ecc6ef0d8f25b57e9a13806e1f1c2943" - integrity sha512-dOapHhfy0xiNZa2IoEyHGkhhla07xsja79NPem14e5jCqY6Oi40jKNV4ab5uu5u1elWUjJuw69tiYbkDZWbKQw== - dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/source-map" "^2.0.0" - "@parcel/utils" "2.3.2" +"@parcel/optimizer-swc@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-swc/-/optimizer-swc-2.10.1.tgz#03831ae4dd302dd055b8527d63009ee88d5d5bd4" + integrity sha512-NMHvZ3zdk/uVeW8eiDIRlLdooUo27SO7LipyK7b5+Dpyn0Sxx5L9zgoQSlfvbmkgoAyj4Te3Usu8sDqUH+gpow== + dependencies: + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.10.1" + "@swc/core" "^1.3.36" nullthrows "^1.1.1" - terser "^5.2.0" -"@parcel/package-manager@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.3.2.tgz#380f0741c9d0c79c170c437efae02506484df315" - integrity sha512-pAQfywKVORY8Ee+NHAyKzzQrKbnz8otWRejps7urwhDaTVLfAd5C/1ZV64ATZ9ALYP9jyoQ8bTaxVd4opcSuwg== - dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/fs" "2.3.2" - "@parcel/logger" "2.3.2" - "@parcel/types" "2.3.2" - "@parcel/utils" "2.3.2" - "@parcel/workers" "2.3.2" - semver "^5.7.1" - -"@parcel/packager-css@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/packager-css/-/packager-css-2.3.2.tgz#4994d872449843c1c0cda524b6df3327e2f0a121" - integrity sha512-ByuF9xDnQnpVL1Hdu9aY6SpxOuZowd3TH7joh1qdRPLeMHTEvUywHBXoiAyNdrhnLGum8uPEdY8Ra5Xuo1U7kg== +"@parcel/package-manager@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.10.1.tgz#469bc9dbf828821ac3192a35127972adc1a25d5d" + integrity sha512-Zv7gO/XEDya+D5lrlyQtn99BuUko45WxNBcnBQ4eGSpVoyOP/KnlAMYmk1DPPsXZEnnWeOnDC+R5DP0x9jJR2Q== + dependencies: + "@parcel/diagnostic" "2.10.1" + "@parcel/fs" "2.10.1" + "@parcel/logger" "2.10.1" + "@parcel/node-resolver-core" "3.1.1" + "@parcel/types" "2.10.1" + "@parcel/utils" "2.10.1" + "@parcel/workers" "2.10.1" + semver "^7.5.2" + +"@parcel/packager-css@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/packager-css/-/packager-css-2.10.1.tgz#5a45ca3749883052540d0d5939107b1e3431c181" + integrity sha512-s9N56NRmNIhE92oif7pQ/Mu91QUF60JKai4TJYPbPUV4TKFncRlTT4VsxjtolJuOtVW2J+8XijDcVkbofJBT7A== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/source-map" "^2.0.0" - "@parcel/utils" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.10.1" nullthrows "^1.1.1" -"@parcel/packager-html@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/packager-html/-/packager-html-2.3.2.tgz#e54085fbaa49bed4258ffef80bc36b421895965f" - integrity sha512-YqAptdU+uqfgwSii76mRGcA/3TpuC6yHr8xG+11brqj/tEFLsurmX0naombzd7FgmrTE9w+kb0HUIMl2vRBn0A== +"@parcel/packager-html@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/packager-html/-/packager-html-2.10.1.tgz#aabcac5dfd174cafe916c652cf0e85a9678e6eee" + integrity sha512-k/KLm7z+DaHIaSq4o9gYLiW3FnO2Q0FEXqyLpnzNdfm4FrMYyc4PzXmRiqwW5j2R4ZrPfT6/xc3ZYOSIoBcNBQ== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/types" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/types" "2.10.1" + "@parcel/utils" "2.10.1" nullthrows "^1.1.1" posthtml "^0.16.5" -"@parcel/packager-js@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.3.2.tgz#2d2566bde0da921042b79aa827c71109665d795c" - integrity sha512-3OP0Ro9M1J+PIKZK4Ec2N5hjIPiqk++B2kMFeiUqvaNZjJgKrPPEICBhjS52rma4IE/NgmIMB3aI5pWqE/KwNA== - dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/hash" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/source-map" "^2.0.0" - "@parcel/utils" "2.3.2" +"@parcel/packager-js@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.10.1.tgz#dab9ec794f10ba646aaf66c76fa9f19458266154" + integrity sha512-uBHlv/rCNzIDAwisCgkY+ZFJ5zm/CcJLvelauszQdUZr1962mRKxObBhc7t8UecIzRksGQHVBFlBcHlxPDzzHA== + dependencies: + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/rust" "2.10.1" + "@parcel/source-map" "^2.1.1" + "@parcel/types" "2.10.1" + "@parcel/utils" "2.10.1" globals "^13.2.0" nullthrows "^1.1.1" -"@parcel/packager-raw@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.3.2.tgz#869cc3e7bee8ff3655891a0af400cf4e7dd4f144" - integrity sha512-RnoZ7WgNAFWkEPrEefvyDqus7xfv9XGprHyTbfLittPaVAZpl+4eAv43nXyMfzk77Cgds6KcNpkosj3acEpNIQ== +"@parcel/packager-raw@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.10.1.tgz#61bef80cc067e56bf50f4037cb7fbb97a5f42a8c" + integrity sha512-ViPPF1Ra8FFax5p/R3zEXi+zIfB9eBRwrN42jS6zsXzXMvvIvxvpGcNbmhMU76yM/rngdKSaOGHWCZWXORHsUg== dependencies: - "@parcel/plugin" "2.3.2" + "@parcel/plugin" "2.10.1" -"@parcel/packager-svg@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/packager-svg/-/packager-svg-2.3.2.tgz#a7a02e22642ae93f42b8bfd7d122b4a159988743" - integrity sha512-iIC0VeczOXynS7M5jCi3naMBRyAznBVJ3iMg92/GaI9duxPlUMGAlHzLAKNtoXkc00HMXDH7rrmMb04VX6FYSg== +"@parcel/packager-svg@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/packager-svg/-/packager-svg-2.10.1.tgz#6b2e0dae8ac7e1150cb47607ab0a5675e02f1067" + integrity sha512-g17Q4miXc0rudUi3BnSkqtQjknh16M1V++AU4YXAdAqVu5/PeA6T01MXK8c60nfa0HBysFjhML/s7nYV+cWOIg== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/types" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/types" "2.10.1" + "@parcel/utils" "2.10.1" posthtml "^0.16.4" -"@parcel/plugin@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.3.2.tgz#7701c40567d2eddd5d5b2b6298949cd03a2a22fa" - integrity sha512-SaLZAJX4KH+mrAmqmcy9KJN+V7L+6YNTlgyqYmfKlNiHu7aIjLL+3prX8QRcgGtjAYziCxvPj0cl1CCJssaiGg== +"@parcel/packager-wasm@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/packager-wasm/-/packager-wasm-2.10.1.tgz#f1c0286dba49644e2d1d1fd406b02ae265d03dda" + integrity sha512-iYo0vKFqi73QcMDCeKJGZdyWrA0dI1llNW/YHnOTMz5kwQQ5IQ9bA/O1qqVS/QZVIgONhI/qLYxBDdkCjlgZ3A== dependencies: - "@parcel/types" "2.3.2" + "@parcel/plugin" "2.10.1" -"@parcel/reporter-cli@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/reporter-cli/-/reporter-cli-2.3.2.tgz#0617e088aac5ef7fa255d088e7016bb4f9d66a53" - integrity sha512-VYetmTXqW83npsvVvqlQZTbF3yVL3k/FCCl3kSWvOr9LZA0lmyqJWPjMHq37yIIOszQN/p5guLtgCjsP0UQw1Q== +"@parcel/plugin@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.10.1.tgz#47b25cd93b483c8c643ff9382715e6fc726b9dd0" + integrity sha512-fhsWI5dzsmkQ2ye6jArDMiObw4yBkp3UoqAYCG/pGSsGXDpn8N0tOknRfycH509CGvw6ooGg6LORhFgak4cjDw== + dependencies: + "@parcel/types" "2.10.1" + +"@parcel/profiler@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/profiler/-/profiler-2.10.1.tgz#d5b1982261bcaa6e238ac0ccf67ab9d579d20561" + integrity sha512-3jE+v2T9hAV+eeEI09dtN1J4j7fi4x4wTr1vQomUy3ipcxMchHH7su5Ru/qw6sNeOStKsZemHXAoisQs+Urkiw== + dependencies: + "@parcel/diagnostic" "2.10.1" + "@parcel/events" "2.10.1" + chrome-trace-event "^1.0.2" + +"@parcel/reporter-cli@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/reporter-cli/-/reporter-cli-2.10.1.tgz#ba0c8e36bb1324b705e032db845e2f114a966822" + integrity sha512-CfDHX9Sf41in/KAkOF2n/KJ234LMKtx0OIm00eycMB41I8GO14o5w7vDQTEgWHDpRfEj3Q7fA9xdkB/yuV6waw== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/types" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/types" "2.10.1" + "@parcel/utils" "2.10.1" chalk "^4.1.0" + term-size "^2.2.1" -"@parcel/reporter-dev-server@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.3.2.tgz#46ee4c53ad08c8b8afd2c79fb37381b6ba55cfb5" - integrity sha512-E7LtnjAX4iiWMw2qKUyFBi3+bDz0UGjqgHoPQylUYYLi6opXjJz/oC+cCcCy4e3RZlkrl187XonvagS59YjDxA== +"@parcel/reporter-dev-server@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.10.1.tgz#c4a78ce5c5a7999c7e5c6f18f02d58b27b5a407a" + integrity sha512-nLv+584zWPIDMAGiMtMW2wuys9Y5PYnwSg6C1xGHwzPT9yImTy8NMOXp9LX83lUjjqPJBJnkOZeDXdlwW2Z9dQ== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" -"@parcel/resolver-default@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.3.2.tgz#286070412ad7fe506f7c88409f39b362d2041798" - integrity sha512-y3r+xOwWsATrNGUWuZ6soA7q24f8E5tY1AZ9lHCufnkK2cdKZJ5O1cyd7ohkAiKZx2/pMd+FgmVZ/J3oxetXkA== +"@parcel/reporter-tracer@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/reporter-tracer/-/reporter-tracer-2.10.1.tgz#a7f3b640133069ea049b628d5028a593176ec8d2" + integrity sha512-7WircrCzQQcwT5ZQjCZEmSGC6n2Jwoi8Ti4stYh3Vmp6RNHTYv/EaLooIT0oEDtPUX9NM2EI7iRjdtMiYbRgQQ== dependencies: - "@parcel/node-resolver-core" "2.3.2" - "@parcel/plugin" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" + chrome-trace-event "^1.0.3" + nullthrows "^1.1.1" -"@parcel/runtime-browser-hmr@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.3.2.tgz#cb23a850324ea792168438a9be6a345ebb66eb6d" - integrity sha512-nRD6uOyF1+HGylP9GASbYmvUDOsDaNwvaxuGTSh8+5M0mmCgib+hVBiPEKbwdmKjGbUPt9wRFPyMa/JpeQZsIQ== +"@parcel/resolver-default@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.10.1.tgz#5e88e3bd3b69e3072ddeeffa81668fd763f98249" + integrity sha512-X8yIodBVibZQh6WXLpBqIJVpRlmXTQ7248pSNZkCs9J/UbhtQzxqz6oq5agY7nOCkxv5Wa2rF+P/PR6Qs2WCKw== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/node-resolver-core" "3.1.1" + "@parcel/plugin" "2.10.1" -"@parcel/runtime-js@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.3.2.tgz#c0e14251ce43f95977577e23bb9ac5c2487f3bb1" - integrity sha512-SJepcHvYO/7CEe/Q85sngk+smcJ6TypuPh4D2R8kN+cAJPi5WvbQEe7+x5BEgbN+5Jumi/Uo3FfOOE5mYh+F6g== +"@parcel/runtime-browser-hmr@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.10.1.tgz#177aa7c8f7a88a1f2434ad15a3d76d1f5ee7769e" + integrity sha512-g5cHzrEBOy9nqB76USBZe9pkKDAa8l5l1zaQ/N78ANPXnV4XtTCzSjJTvMfSfKX9ZG/pdRm3QtbBfMWy3h3iXw== + dependencies: + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" + +"@parcel/runtime-js@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.10.1.tgz#c11bba5ec55301b622f677757b411ab942e52b7f" + integrity sha512-wSu5o6ABO3XTwAHoLbrxXDSWN8aykb2iaCULwjBjzYd2zATTdtMRo3Tnl8N9+PwOXLBgDS0qvRpqMOLxNNDeuQ== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" nullthrows "^1.1.1" -"@parcel/runtime-react-refresh@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.3.2.tgz#11961d7429ae3333b7efe14c4f57515df57eb5f2" - integrity sha512-P+GRPO2XVDSBQ4HmRSj2xfbHSQvL9+ahTE/AB74IJExLTITv5l4SHAV3VsiKohuHYUAYHW3A/Oe7tEFCAb6Cug== +"@parcel/runtime-react-refresh@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.10.1.tgz#21215de8957505c8d97d7c1cc73ff91ac2040fa4" + integrity sha512-SH2cz2ELCOzUg/mTXs4xGUxUUZLshstLhgn1N/+cuCUQYhdulVSj+TLxX0c0zdpbpEytDhdOIGDYpXHWJYuQmA== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" + react-error-overlay "6.0.9" react-refresh "^0.9.0" -"@parcel/runtime-service-worker@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/runtime-service-worker/-/runtime-service-worker-2.3.2.tgz#aa91797e57d1bb5b2aac04ac62c5410709ae0a27" - integrity sha512-iREHj/eapphC4uS/zGUkiTJvG57q+CVbTrfE42kB8ECtf/RYNo5YC9htdvPZjRSXDPrEPc5NCoKp4X09ENNikw== +"@parcel/runtime-service-worker@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/runtime-service-worker/-/runtime-service-worker-2.10.1.tgz#311db1f446de4469bbdb05f1a103820513fa9e44" + integrity sha512-5Vrso+8YQk+2ZnmsoWktfdKeRc3YBFxb755jYLOoIXg0OfIAM24tJHX+bH0GmHwGMXG6a3nvMOVC4i0LApBemQ== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" nullthrows "^1.1.1" -"@parcel/source-map@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.2.tgz#9aa0b00518cee31d5634de6e9c924a5539b142c1" - integrity sha512-NnUrPYLpYB6qyx2v6bcRPn/gVigmGG6M6xL8wIg/i0dP1GLkuY1nf+Hqdf63FzPTqqT7K3k6eE5yHPQVMO5jcA== +"@parcel/rust@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/rust/-/rust-2.10.1.tgz#b76796660227fc145c3eb05be5e9e2a0cd79d9cf" + integrity sha512-HBW4QmuzFIb42p9e1MDsr7KnNs1sPIAiml0Zd8GPd0t+bNDR+3YwvFUVEINR7VhQzh3zv+nshL0MFwWVUO/tZw== + +"@parcel/source-map@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.1.1.tgz#fb193b82dba6dd62cc7a76b326f57bb35000a782" + integrity sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew== dependencies: detect-libc "^1.0.3" -"@parcel/transformer-babel@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-babel/-/transformer-babel-2.3.2.tgz#2d8c0d1f95d9747936d132dc4c34edb0b6b80d39" - integrity sha512-QpWfH2V6jJ+kcUBIMM/uBBG8dGFvNaOGS+8jD6b+eTP+1owzm83RoWgqhRV2D/hhv2qMXEQzIljoc/wg2y+X4g== +"@parcel/transformer-babel@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-babel/-/transformer-babel-2.10.1.tgz#35c9e95cae7f469fc0d33e81de4f89388adc9837" + integrity sha512-dwJcdrWB+DeZ3XXirUAtnoFUTAWF5bj774eyonEmcb3Yx3QrtncRf5YnSfP3QXnT+rHQ67fQIdHrb/xw3ndPNQ== dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/source-map" "^2.0.0" - "@parcel/utils" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.10.1" browserslist "^4.6.6" json5 "^2.2.0" nullthrows "^1.1.1" - semver "^5.7.0" + semver "^7.5.2" -"@parcel/transformer-css@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-css/-/transformer-css-2.3.2.tgz#968826e42d7cac9963dc0a67a30d393ef996e48c" - integrity sha512-8lzvDny+78DIAqhcXam2Bf9FyaUoqzHdUQdNFn+PuXTHroG/QGPvln1kvqngJjn4/cpJS9vYmAPVXe+nai3P8g== +"@parcel/transformer-css@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-css/-/transformer-css-2.10.1.tgz#f4bb1a0efb66107b506334ab2513666264d651b4" + integrity sha512-MWrLEd7GAoHhiAiP5pTy8MfTte3TT/oPAPwEFIULojK4wYryL96LFVn0ETHpYejueXLHO4WExjSEWXs7vTwIyA== dependencies: - "@parcel/hash" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/source-map" "^2.0.0" - "@parcel/utils" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.10.1" + browserslist "^4.6.6" + lightningcss "^1.16.1" nullthrows "^1.1.1" - postcss "^8.4.5" - postcss-value-parser "^4.2.0" - semver "^5.7.1" -"@parcel/transformer-html@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-html/-/transformer-html-2.3.2.tgz#c240f09369445d287d16beba207407c925532d90" - integrity sha512-idT1I/8WM65IFYBqzRwpwT7sf0xGur4EDQDHhuPX1w+pIVZnh0lkLMAnEqs6ar1SPRMys4chzkuDNnqh0d76hg== +"@parcel/transformer-html@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-html/-/transformer-html-2.10.1.tgz#8e370b3723c5e7f1d839c34d13b886f73377a723" + integrity sha512-dYgMmOI4hTBOlKkQTXnlZs831hJJ8HYUWkCWthuK5nHxhDjZUUeQgWk2K7af69zkkE5rXv6LWcMXjZGD7Z4D8w== dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/hash" "2.3.2" - "@parcel/plugin" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/rust" "2.10.1" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" - semver "^5.7.1" + semver "^7.5.2" + srcset "4" -"@parcel/transformer-image@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-image/-/transformer-image-2.3.2.tgz#24b6eda51a6b07c195886bbb67fb2ade14c325f3" - integrity sha512-0K7cJHXysli6hZsUz/zVGO7WCoaaIeVdzAxKpLA1Yl3LKw/ODiMyXKt08LiV/ljQ2xT5qb9EsXUWDRvcZ0b96A== +"@parcel/transformer-image@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-image/-/transformer-image-2.10.1.tgz#a0151347037973a26435fde5d58c11ee1d30f4e9" + integrity sha512-Eiba9tqtu0QBNSCYZuOveAewNxNlAUqb3M/EHUrYfB5oMCQxRDKpApsUxZwk97qctfdfN8b6paUS5IMLn0Plbw== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/workers" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" + "@parcel/workers" "2.10.1" nullthrows "^1.1.1" -"@parcel/transformer-js@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.3.2.tgz#24bcb488d5f82678343a5630fe4bbe822789ac33" - integrity sha512-U1fbIoAoqR5P49S+DMhH8BUd9IHRPwrTTv6ARYGsYnhuNsjTFhNYE0kkfRYboe/e0z7vEbeJICZXjnZ7eQDw5A== - dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/source-map" "^2.0.0" - "@parcel/utils" "2.3.2" - "@parcel/workers" "2.3.2" - "@swc/helpers" "^0.2.11" +"@parcel/transformer-js@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.10.1.tgz#2ec3c31e99a2cef1b2d6a506c811f5b8c2a7c0be" + integrity sha512-Ybc2r6UxRvX0GUSyJLJOC88iaQw2sI8/mVBgAHsuwDRQzuQtE/nccQq+FpTSwsHR9XXzdoKXqb8Vg5dfHiXmlQ== + dependencies: + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/rust" "2.10.1" + "@parcel/source-map" "^2.1.1" + "@parcel/utils" "2.10.1" + "@parcel/workers" "2.10.1" + "@swc/helpers" "^0.5.0" browserslist "^4.6.6" - detect-libc "^1.0.3" nullthrows "^1.1.1" regenerator-runtime "^0.13.7" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/transformer-json@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.3.2.tgz#4c470e86659e87ee13b1f31e75a3621d3615b6bd" - integrity sha512-Pv2iPaxKINtFwOk5fDbHjQlSm2Vza/NLimQY896FLxiXPNAJxWGvMwdutgOPEBKksxRx9LZPyIOHiRVZ0KcA3w== +"@parcel/transformer-json@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.10.1.tgz#cee3193538abf5f49fe27e88b0dcb4d1a3a8d016" + integrity sha512-yK06/v9NfqeePAEkU+BcXPibAjJljazg3CnJALsQGE8bkm6LnG+cfYNw2URj2AgCl5zQgGn72SlUP1WdDK8PHw== dependencies: - "@parcel/plugin" "2.3.2" + "@parcel/plugin" "2.10.1" json5 "^2.2.0" -"@parcel/transformer-postcss@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.3.2.tgz#a428c81569dd66758c5fab866dca69b4c6e59743" - integrity sha512-Rpdxc1rt2aJFCh/y/ccaBc9J1crDjNY5o44xYoOemBoUNDMREsmg5sR5iO81qKKO5GxfoosGb2zh59aeTmywcg== +"@parcel/transformer-postcss@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.10.1.tgz#66b3ba3a0e9727885f6ac0bcfc11f8a01e02a4ce" + integrity sha512-kvSeNDWsrRW/8o9ASPWkoHwQjF/tGlDMuvwYgv32hblvtz978zOTeLuZh8cbnrFLas8ejOekJ6EW9mz+4pTtWw== dependencies: - "@parcel/hash" "2.3.2" - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/rust" "2.10.1" + "@parcel/utils" "2.10.1" clone "^2.1.1" nullthrows "^1.1.1" postcss-value-parser "^4.2.0" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/transformer-posthtml@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-posthtml/-/transformer-posthtml-2.3.2.tgz#5da3f24bf240c3c49b2fdb17dcda5988d3057a30" - integrity sha512-tMdVExfdM+1G8A9KSHDsjg+S9xEGbhH5mApF2NslPnNZ4ciLKRNuHU2sSV/v8i0a6kacKvDTrwQXYBQJGOodBw== +"@parcel/transformer-posthtml@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-posthtml/-/transformer-posthtml-2.10.1.tgz#0390e390daa7605c6a28c73d86e1a4c508ccc33c" + integrity sha512-CN1zlxAGjzJj24d57xebjLl6J4n+6blZ+kSSJd3QqmSyp4VVqpn1shmI5OMMtpsOMmlnGy3IcI0xs6yw6nqRxA== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/transformer-raw@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-raw/-/transformer-raw-2.3.2.tgz#40d21773e295bae3b16bfe7a89e414ccf534b9c5" - integrity sha512-lY7eOCaALZ90+GH+4PZRmAPGQRXoZ66NakSdhEtH6JSSAYOmZKDvNLGTMRo/vK1oELzWMuAHGdqvbcPDtNLLVw== +"@parcel/transformer-raw@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-raw/-/transformer-raw-2.10.1.tgz#f1996e7dab2209339ffd8e621f635b584145ca80" + integrity sha512-w+CH/zXDJaz1jKK31M+4ZGPzOyTKAgBVIelJs2j75jw41qFRn/tb9HqKNhPEEXhPhIs2L13D9O0/h1X/tmVK3w== dependencies: - "@parcel/plugin" "2.3.2" + "@parcel/plugin" "2.10.1" -"@parcel/transformer-react-refresh-wrap@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.3.2.tgz#43ecfe6f4567b88abb81db9fe56b8d860d6a69f7" - integrity sha512-FZaderyCExn0SBZ6D+zHPWc8JSn9YDcbfibv0wkCl+D7sYfeWZ22i7MRp5NwCe/TZ21WuxDWySCggEp/Waz2xg== +"@parcel/transformer-react-refresh-wrap@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.10.1.tgz#5d2af839a9aa1bcaa9556b99b0b3aac183c92c87" + integrity sha512-ni7uyUsqPgwCohSqyF6AUmHbICrPUNhkREaTl5HFzTHS8CblEyVWUnY5X4UaT5BAlhQ3noo8/s9mGISi8sTIuQ== dependencies: - "@parcel/plugin" "2.3.2" - "@parcel/utils" "2.3.2" + "@parcel/plugin" "2.10.1" + "@parcel/utils" "2.10.1" react-refresh "^0.9.0" -"@parcel/transformer-svg@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/transformer-svg/-/transformer-svg-2.3.2.tgz#9a66aef5011c7bbb1fa3ce9bb52ca56d8f0f964d" - integrity sha512-k9My6bePsaGgUh+tidDjFbbVgKPTzwCAQfoloZRMt7y396KgUbvCfqDruk04k6k+cJn7Jl1o/5lUpTEruBze7g== +"@parcel/transformer-svg@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/transformer-svg/-/transformer-svg-2.10.1.tgz#a321588377a49893da8dfc0cfff997d5ed2923b3" + integrity sha512-6h0ABUiLWiDKLrTMvN2oHPGPYGQb8poe68eErPdtVxyw88P3AQKJOl/HHxHMXclRukV9Qc+N/izQf7jv9j+Ehw== dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/hash" "2.3.2" - "@parcel/plugin" "2.3.2" + "@parcel/diagnostic" "2.10.1" + "@parcel/plugin" "2.10.1" + "@parcel/rust" "2.10.1" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/types@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.3.2.tgz#7eb6925bc852a518dd75b742419e51292418769f" - integrity sha512-C77Ct1xNM7LWjPTfe/dQ/9rq1efdsX5VJu2o8/TVi6qoFh64Wp/c5/vCHwKInOTBZUTchVO6z4PGJNIZoUVJuA== - dependencies: - "@parcel/cache" "2.3.2" - "@parcel/diagnostic" "2.3.2" - "@parcel/fs" "2.3.2" - "@parcel/package-manager" "2.3.2" - "@parcel/source-map" "^2.0.0" - "@parcel/workers" "2.3.2" +"@parcel/types@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.10.1.tgz#c3f2b7947ba4cd3b60d9caf336eef7fdfc625d66" + integrity sha512-aoVVCL9AJ2wPIZujvAA4prof0RVg5cHZKAx2CrBVFk6RyEwonSGKh0XCqWzqy7Ufuu+M5lmvshJPHGCrMfKLWQ== + dependencies: + "@parcel/cache" "2.10.1" + "@parcel/diagnostic" "2.10.1" + "@parcel/fs" "2.10.1" + "@parcel/package-manager" "2.10.1" + "@parcel/source-map" "^2.1.1" + "@parcel/workers" "2.10.1" utility-types "^3.10.0" -"@parcel/utils@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.3.2.tgz#4aab052fc9f3227811a504da7b9663ca75004f55" - integrity sha512-xzZ+0vWhrXlLzGoz7WlANaO5IPtyWGeCZruGtepUL3yheRWb1UU4zFN9xz7Z+j++Dmf1Fgkc3qdk/t4O8u9HLQ== - dependencies: - "@parcel/codeframe" "2.3.2" - "@parcel/diagnostic" "2.3.2" - "@parcel/hash" "2.3.2" - "@parcel/logger" "2.3.2" - "@parcel/markdown-ansi" "2.3.2" - "@parcel/source-map" "^2.0.0" +"@parcel/utils@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.10.1.tgz#1619a80ef74c174dc5ba2ad90494125ee8a26812" + integrity sha512-Nh3TFaMa8lyjplT8acWVrIUytQGqMLT75Xp711yhs2hB5xHeRdpckLRadk+V5Nyz5g6dyzD2fad6ZpQFp89B+w== + dependencies: + "@parcel/codeframe" "2.10.1" + "@parcel/diagnostic" "2.10.1" + "@parcel/logger" "2.10.1" + "@parcel/markdown-ansi" "2.10.1" + "@parcel/rust" "2.10.1" + "@parcel/source-map" "^2.1.1" chalk "^4.1.0" + nullthrows "^1.1.1" + +"@parcel/watcher-android-arm64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz#d82e74bb564ebd4d8a88791d273a3d2bd61e27ab" + integrity sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA== + +"@parcel/watcher-darwin-arm64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz#c9cd03f8f233d512fcfc873d5b4e23f1569a82ad" + integrity sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw== + +"@parcel/watcher-darwin-x64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz#83c902994a2a49b9e1ab5050dba24876fdc2c219" + integrity sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow== + +"@parcel/watcher-freebsd-x64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz#7a0f4593a887e2752b706aff2dae509aef430cf6" + integrity sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw== + +"@parcel/watcher-linux-arm-glibc@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz#3fc90c3ebe67de3648ed2f138068722f9b1d47da" + integrity sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ== + +"@parcel/watcher-linux-arm64-glibc@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz#f7bbbf2497d85fd11e4c9e9c26ace8f10ea9bcbc" + integrity sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA== + +"@parcel/watcher-linux-arm64-musl@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz#de131a9fcbe1fa0854e9cbf4c55bed3b35bcff43" + integrity sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw== + +"@parcel/watcher-linux-x64-glibc@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz#193dd1c798003cdb5a1e59470ff26300f418a943" + integrity sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow== + +"@parcel/watcher-linux-x64-musl@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz#6dbdb86d96e955ab0fe4a4b60734ec0025a689dd" + integrity sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g== + +"@parcel/watcher-win32-arm64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz#59da26a431da946e6c74fa6b0f30b120ea6650b6" + integrity sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw== + +"@parcel/watcher-win32-ia32@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz#3ee6a18b08929cd3b788e8cc9547fd9a540c013a" + integrity sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow== + +"@parcel/watcher-win32-x64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz#14e7246289861acc589fd608de39fe5d8b4bb0a7" + integrity sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA== "@parcel/watcher@2.0.4": version "2.0.4" @@ -5161,24 +5336,39 @@ node-addon-api "^3.2.1" node-gyp-build "^4.3.0" -"@parcel/watcher@^2.0.0": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.5.tgz#f913a54e1601b0aac972803829b0eece48de215b" - integrity sha512-x0hUbjv891omnkcHD7ZOhiyyUqUUR6MNjq89JhEI3BxppeKWAm6NPQsqqRrAkCJBogdT/o/My21sXtTI9rJIsw== - dependencies: - node-addon-api "^3.2.1" - node-gyp-build "^4.3.0" - -"@parcel/workers@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.3.2.tgz#05ffa2da9169bfb83335892c2b8abce55686ceb1" - integrity sha512-JbOm+Ceuyymd1SuKGgodC2EXAiPuFRpaNUSJpz3NAsS3lVIt2TDAPMOWBivS7sML/KltspUfl/Q9YwO0TPUFNw== +"@parcel/watcher@^2.0.7": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.3.0.tgz#803517abbc3981a1a1221791d9f59dc0590d50f9" + integrity sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ== dependencies: - "@parcel/diagnostic" "2.3.2" - "@parcel/logger" "2.3.2" - "@parcel/types" "2.3.2" - "@parcel/utils" "2.3.2" - chrome-trace-event "^1.0.2" + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.3.0" + "@parcel/watcher-darwin-arm64" "2.3.0" + "@parcel/watcher-darwin-x64" "2.3.0" + "@parcel/watcher-freebsd-x64" "2.3.0" + "@parcel/watcher-linux-arm-glibc" "2.3.0" + "@parcel/watcher-linux-arm64-glibc" "2.3.0" + "@parcel/watcher-linux-arm64-musl" "2.3.0" + "@parcel/watcher-linux-x64-glibc" "2.3.0" + "@parcel/watcher-linux-x64-musl" "2.3.0" + "@parcel/watcher-win32-arm64" "2.3.0" + "@parcel/watcher-win32-ia32" "2.3.0" + "@parcel/watcher-win32-x64" "2.3.0" + +"@parcel/workers@2.10.1": + version "2.10.1" + resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.10.1.tgz#d8edd111ba635047d8a32b581bf0af4629d78fc3" + integrity sha512-1Z/X53gUQlkx0soLiEgk6Ydi0tFVQOwv0V4KJGg6Rzjcsmjn8ViV8s79Tw0mauCu2KiMJx5ZP0rn6rlFVmbtSQ== + dependencies: + "@parcel/diagnostic" "2.10.1" + "@parcel/logger" "2.10.1" + "@parcel/profiler" "2.10.1" + "@parcel/types" "2.10.1" + "@parcel/utils" "2.10.1" nullthrows "^1.1.1" "@peculiar/asn1-schema@^2.3.6": @@ -5820,10 +6010,91 @@ "@stablelib/random" "^1.0.2" "@stablelib/wipe" "^1.0.1" -"@swc/helpers@^0.2.11": - version "0.2.14" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.2.14.tgz#20288c3627442339dd3d743c944f7043ee3590f0" - integrity sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA== +"@swc/core-darwin-arm64@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.95.tgz#e6b6363fc0a22ee3cd9a63130d2042d5027aae2c" + integrity sha512-VAuBAP3MNetO/yBIBzvorUXq7lUBwhfpJxYViSxyluMwtoQDhE/XWN598TWMwMl1ZuImb56d7eUsuFdjgY7pJw== + +"@swc/core-darwin-x64@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.95.tgz#7911a03f4e0f9359710d3d6ad1dba7b5569efe5d" + integrity sha512-20vF2rvUsN98zGLZc+dsEdHvLoCuiYq/1B+TDeE4oolgTFDmI1jKO+m44PzWjYtKGU9QR95sZ6r/uec0QC5O4Q== + +"@swc/core-linux-arm-gnueabihf@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.95.tgz#95a2c9fc6849df9f1944957669c82c559d65b24f" + integrity sha512-oEudEM8PST1MRNGs+zu0cx5i9uP8TsLE4/L9HHrS07Ck0RJ3DCj3O2fU832nmLe2QxnAGPwBpSO9FntLfOiWEQ== + +"@swc/core-linux-arm64-gnu@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.95.tgz#1914d42041469582e3cc56619890edbcc54e83d6" + integrity sha512-pIhFI+cuC1aYg+0NAPxwT/VRb32f2ia8oGxUjQR6aJg65gLkUYQzdwuUmpMtFR2WVf7WVFYxUnjo4UyMuyh3ng== + +"@swc/core-linux-arm64-musl@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.95.tgz#8d73822a5807575a572d6a2d6cb64587a9f19ce6" + integrity sha512-ZpbTr+QZDT4OPJfjPAmScqdKKaT+wGurvMU5AhxLaf85DuL8HwUwwlL0n1oLieLc47DwIJEMuKQkYhXMqmJHlg== + +"@swc/core-linux-x64-gnu@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.95.tgz#80467727ec11da3de49e6be2abf735964a808483" + integrity sha512-n9SuHEFtdfSJ+sHdNXNRuIOVprB8nbsz+08apKfdo4lEKq6IIPBBAk5kVhPhkjmg2dFVHVo4Tr/OHXM1tzWCCw== + +"@swc/core-linux-x64-musl@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.95.tgz#675a53ac037846bd1bb9840a95ebcb5289265d3b" + integrity sha512-L1JrVlsXU3LC0WwmVnMK9HrOT2uhHahAoPNMJnZQpc18a0paO9fqifPG8M/HjNRffMUXR199G/phJsf326UvVg== + +"@swc/core-win32-arm64-msvc@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.95.tgz#7f0b5d0d0a090c5c625bbc54ffaf427d861c068a" + integrity sha512-YaP4x/aZbUyNdqCBpC2zL8b8n58MEpOUpmOIZK6G1SxGi+2ENht7gs7+iXpWPc0sy7X3YPKmSWMAuui0h8lgAA== + +"@swc/core-win32-ia32-msvc@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.95.tgz#06e2778549a37f0b505b24fd8f40c1c038e29f3e" + integrity sha512-w0u3HI916zT4BC/57gOd+AwAEjXeUlQbGJ9H4p/gzs1zkSHtoDQghVUNy3n/ZKp9KFod/95cA8mbVF9t1+6epQ== + +"@swc/core-win32-x64-msvc@1.3.95": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.95.tgz#40f6b131e84ba6ed97f516edf0f9d5a766c0da64" + integrity sha512-5RGnMt0S6gg4Gc6QtPUJ3Qs9Un4sKqccEzgH/tj7V/DVTJwKdnBKxFZfgQ34OR2Zpz7zGOn889xwsFVXspVWNA== + +"@swc/core@^1.3.36": + version "1.3.95" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.95.tgz#2743b8460e6f29385e3dbe49f3f66277ab233536" + integrity sha512-PMrNeuqIusq9DPDooV3FfNEbZuTu5jKAc04N3Hm6Uk2Fl49cqElLFQ4xvl4qDmVDz97n3n/C1RE0/f6WyGPEiA== + dependencies: + "@swc/counter" "^0.1.1" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.3.95" + "@swc/core-darwin-x64" "1.3.95" + "@swc/core-linux-arm-gnueabihf" "1.3.95" + "@swc/core-linux-arm64-gnu" "1.3.95" + "@swc/core-linux-arm64-musl" "1.3.95" + "@swc/core-linux-x64-gnu" "1.3.95" + "@swc/core-linux-x64-musl" "1.3.95" + "@swc/core-win32-arm64-msvc" "1.3.95" + "@swc/core-win32-ia32-msvc" "1.3.95" + "@swc/core-win32-x64-msvc" "1.3.95" + +"@swc/counter@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" + integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== + +"@swc/helpers@^0.5.0": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" + integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== + dependencies: + tslib "^2.4.0" + +"@swc/types@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" + integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== "@szmarczak/http-timer@^1.1.2": version "1.1.2" @@ -7344,7 +7615,7 @@ acorn@^8.2.4: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== -acorn@^8.5.0, acorn@^8.7.0: +acorn@^8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -8370,7 +8641,7 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1, braces@~3.0.2: +braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -8441,7 +8712,7 @@ browserify-sign@^4.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -browserslist@^4.0.0, browserslist@^4.16.6: +browserslist@^4.16.6: version "4.16.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== @@ -8753,17 +9024,7 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001313: +caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001313: version "1.0.30001431" resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz" integrity sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ== @@ -8881,7 +9142,7 @@ chownr@^2.0.0: resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -chrome-trace-event@^1.0.2: +chrome-trace-event@^1.0.2, chrome-trace-event@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== @@ -9123,11 +9384,6 @@ color@3.0.x: color-convert "^1.9.1" color-string "^1.5.2" -colord@^2.9.1: - version "2.9.2" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1" - integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ== - colorette@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" @@ -9590,13 +9846,6 @@ crypto-js@^4.1.1: resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== -css-declaration-sorter@^6.0.3: - version "6.1.4" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz#b9bfb4ed9a41f8dcca9bf7184d849ea94a8294b4" - integrity sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw== - dependencies: - timsort "^0.3.0" - css-select@^4.1.3: version "4.2.1" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" @@ -9621,60 +9870,6 @@ css-what@^5.1.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^*: - version "5.2.4" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.4.tgz#eced79bbc1ab7270337c4038a21891daac2329bc" - integrity sha512-w1Gg8xsebln6/axZ6qDFQHuglrGfbIHOIx0g4y9+etRlRab8CGpSpe6UMsrgJe4zhCaJ0LwLmc+PhdLRTwnhIA== - dependencies: - css-declaration-sorter "^6.0.3" - cssnano-utils "^*" - postcss-calc "^8.2.3" - postcss-colormin "^*" - postcss-convert-values "^*" - postcss-discard-comments "^*" - postcss-discard-duplicates "^*" - postcss-discard-empty "^*" - postcss-discard-overridden "^*" - postcss-merge-longhand "^*" - postcss-merge-rules "^*" - postcss-minify-font-values "^*" - postcss-minify-gradients "^*" - postcss-minify-params "^*" - postcss-minify-selectors "^*" - postcss-normalize-charset "^*" - postcss-normalize-display-values "^*" - postcss-normalize-positions "^*" - postcss-normalize-repeat-style "^*" - postcss-normalize-string "^*" - postcss-normalize-timing-functions "^*" - postcss-normalize-unicode "^*" - postcss-normalize-url "^*" - postcss-normalize-whitespace "^*" - postcss-ordered-values "^*" - postcss-reduce-initial "^*" - postcss-reduce-transforms "^*" - postcss-svgo "^*" - postcss-unique-selectors "^*" - -cssnano-utils@^*, cssnano-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== - -cssnano@^5.0.15: - version "5.1.4" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.4.tgz#c648192e8e2f1aacb7d839e6aa3706b50cc7f8e4" - integrity sha512-hbfhVZreEPyzl+NbvRsjNo54JOX80b+j6nqG2biLVLaZHJEiqGyMh4xDGHtwhUKd5p59mj2GlDqlUBwJUuIu5A== - dependencies: - cssnano-preset-default "^*" - lilconfig "^2.0.3" - yaml "^1.10.2" - csso@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" @@ -9984,6 +10179,11 @@ detect-libc@^1.0.3: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= +detect-libc@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -14189,11 +14389,6 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= -json-source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/json-source-map/-/json-source-map-0.6.1.tgz#e0b1f6f4ce13a9ad57e2ae165a24d06e62c79a0f" - integrity sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -14223,7 +14418,7 @@ json5@2.x, json5@^2.1.2, json5@^2.2.0: dependencies: minimist "^1.2.5" -json5@^2.2.2, json5@^2.2.3: +json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -14527,10 +14722,67 @@ libsodium@^0.7.0: resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.9.tgz#4bb7bcbf662ddd920d8795c227ae25bbbfa3821b" integrity sha512-gfeADtR4D/CM0oRUviKBViMGXZDgnFdMKMzHsvBdqLBHd9ySi6EtYnmuhHVDDYgYpAO8eU8hEY+F8vIUAPh08A== -lilconfig@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" - integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== +lightningcss-darwin-arm64@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.22.0.tgz#28e189ce15290b3d0ab43704fc33e8e6366e6df4" + integrity sha512-aH2be3nNny+It5YEVm8tBSSdRlBVWQV8m2oJ7dESiYRzyY/E/bQUe2xlw5caaMuhlM9aoTMtOH25yzMhir0qPg== + +lightningcss-darwin-x64@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.22.0.tgz#1c5fe3e3ab31c9f1741f6d5d650ab683bd942854" + integrity sha512-9KHRFA0Y6mNxRHeoQMp0YaI0R0O2kOgUlYPRjuasU4d+pI8NRhVn9bt0yX9VPs5ibWX1RbDViSPtGJvYYrfVAQ== + +lightningcss-freebsd-x64@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.22.0.tgz#1ee7bcb68258b2cb1425bdc7ccb632233eae639c" + integrity sha512-xaYL3xperGwD85rQioDb52ozF3NAJb+9wrge3jD9lxGffplu0Mn35rXMptB8Uc2N9Mw1i3Bvl7+z1evlqVl7ww== + +lightningcss-linux-arm-gnueabihf@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.22.0.tgz#1c4287ec7268dcee6d9dcccb3d0810ecdcd35b74" + integrity sha512-epQGvXIjOuxrZpMpMnRjK54ZqzhiHhCPLtHvw2fb6NeK2kK9YtF0wqmeTBiQ1AkbWfnnXGTstYaFNiadNK+StQ== + +lightningcss-linux-arm64-gnu@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.22.0.tgz#b8e6daee4a60020a4930fc3564669868e723a10d" + integrity sha512-AArGtKSY4DGTA8xP8SDyNyKtpsUl1Rzq6FW4JomeyUQ4nBrR71uPChksTpj3gmWuGhZeRKLeCUI1DBid/zhChg== + +lightningcss-linux-arm64-musl@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.22.0.tgz#8d863a5470ee50369f13974325f2a3326b5f77df" + integrity sha512-RRraNgP8hnBPhInTTUdlFm+z16C/ghbxBG51Sw00hd7HUyKmEUKRozyc5od+/N6pOrX/bIh5vIbtMXIxsos0lg== + +lightningcss-linux-x64-gnu@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.22.0.tgz#4798711d1897fe19fccd039640389c5049fb03fb" + integrity sha512-grdrhYGRi2KrR+bsXJVI0myRADqyA7ekprGxiuK5QRNkv7kj3Yq1fERDNyzZvjisHwKUi29sYMClscbtl+/Zpw== + +lightningcss-linux-x64-musl@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.22.0.tgz#1d34f5bf428b0d2d4550627e653231d33fda90f9" + integrity sha512-t5f90X+iQUtIyR56oXIHMBUyQFX/zwmPt72E6Dane3P8KNGlkijTg2I75XVQS860gNoEFzV7Mm5ArRRA7u5CAQ== + +lightningcss-win32-x64-msvc@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.22.0.tgz#2fece601ea92298f73008bdf96ed0af8132d318f" + integrity sha512-64HTDtOOZE9PUCZJiZZQpyqXBbdby1lnztBccnqh+NtbKxjnGzP92R2ngcgeuqMPecMNqNWxgoWgTGpC+yN5Sw== + +lightningcss@^1.16.1: + version "1.22.0" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.22.0.tgz#76c9a17925e660741858e88b774172cb1923bb4a" + integrity sha512-+z0qvwRVzs4XGRXelnWRNwqsXUx8k3bSkbP8vD42kYKSk3z9OM2P3e/gagT7ei/gwh8DTS80LZOFZV6lm8Z8Fg== + dependencies: + detect-libc "^1.0.3" + optionalDependencies: + lightningcss-darwin-arm64 "1.22.0" + lightningcss-darwin-x64 "1.22.0" + lightningcss-freebsd-x64 "1.22.0" + lightningcss-linux-arm-gnueabihf "1.22.0" + lightningcss-linux-arm64-gnu "1.22.0" + lightningcss-linux-arm64-musl "1.22.0" + lightningcss-linux-x64-gnu "1.22.0" + lightningcss-linux-x64-musl "1.22.0" + lightningcss-win32-x64-msvc "1.22.0" lines-and-columns@^1.1.6: version "1.1.6" @@ -14572,16 +14824,23 @@ litecoin-regex@^1.0.8: resolved "https://registry.yarnpkg.com/litecoin-regex/-/litecoin-regex-1.0.9.tgz#0e67b4f1aa50ab1fda2d2ecf32879bb24041cc7d" integrity sha512-ytAS5XD0vMPUqTiifoueMCZhVLouyq/iOAG9hwfnQQwaRQy9xrgmvI//rsdIk+Qnfa02bJ0wLwDB4+yV1rNAjg== -lmdb@^2.0.2: - version "2.2.5" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.2.5.tgz#37f08b5963a1b81da67f378c7084f59b84c3d443" - integrity sha512-yx+jtqSgp9uzp+2b3U3VTvS/g5hw4jXqvTAX+QU4Izdueq5O6MUTLwp/94R4F7SYq96zOfaGN/IUgiz6AWo+yg== +lmdb@2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.8.5.tgz#ce191110c755c0951caa062722e300c703973837" + integrity sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ== dependencies: - msgpackr "^1.5.4" - nan "^2.14.2" - node-gyp-build "^4.2.3" - ordered-binary "^1.2.4" + msgpackr "^1.9.5" + node-addon-api "^6.1.0" + node-gyp-build-optional-packages "5.1.1" + ordered-binary "^1.4.1" weak-lru-cache "^1.2.2" + optionalDependencies: + "@lmdb/lmdb-darwin-arm64" "2.8.5" + "@lmdb/lmdb-darwin-x64" "2.8.5" + "@lmdb/lmdb-linux-arm" "2.8.5" + "@lmdb/lmdb-linux-arm64" "2.8.5" + "@lmdb/lmdb-linux-x64" "2.8.5" + "@lmdb/lmdb-win32-x64" "2.8.5" load-json-file@^4.0.0: version "4.0.0" @@ -14641,11 +14900,6 @@ lodash.ismatch@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -14656,11 +14910,6 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - lodash@4.17.21, lodash@4.x, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -15027,6 +15276,14 @@ micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" +micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -15327,13 +15584,34 @@ msgpackr-extract@^1.0.14: nan "^2.14.2" node-gyp-build "^4.2.3" -msgpackr@^1.5.1, msgpackr@^1.5.4: +msgpackr-extract@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz#e05ec1bb4453ddf020551bcd5daaf0092a2c279d" + integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A== + dependencies: + node-gyp-build-optional-packages "5.0.7" + optionalDependencies: + "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.2" + "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2" + +msgpackr@^1.5.4: version "1.5.5" resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.5.5.tgz#c0562abc2951d7e29f75d77a8656b01f103a042c" integrity sha512-JG0V47xRIQ9pyUnx6Hb4+3TrQoia2nA3UIdmyTldhxaxtKFkekkKpUW/N6fwHwod9o4BGuJGtouxOk+yCP5PEA== optionalDependencies: msgpackr-extract "^1.0.14" +msgpackr@^1.9.5: + version "1.9.9" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.9.9.tgz#ec71e37beb8729280847f683cb0a340eb35ce70f" + integrity sha512-sbn6mioS2w0lq1O6PpGtsv6Gy8roWM+o3o4Sqjd6DudrL/nOugY+KyJUimoWzHnf9OkO0T6broHFnYE/R05t9A== + optionalDependencies: + msgpackr-extract "^3.0.2" + msw@^0.27.1: version "0.27.2" resolved "https://registry.yarnpkg.com/msw/-/msw-0.27.2.tgz#c79530e04513e5d491a149c9181bc594bad75265" @@ -15444,11 +15722,6 @@ nanoid@^3.1.31: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== -nanoid@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" - integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -15531,6 +15804,16 @@ node-addon-api@^4.2.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== +node-addon-api@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" + integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== + +node-addon-api@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.0.0.tgz#8136add2f510997b3b94814f4af1cce0b0e3962e" + integrity sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA== + node-fetch@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" @@ -15555,6 +15838,18 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-gyp-build-optional-packages@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz#5d2632bbde0ab2f6e22f1bbac2199b07244ae0b3" + integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w== + +node-gyp-build-optional-packages@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz#52b143b9dd77b7669073cbfe39e3f4118bfc603c" + integrity sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw== + dependencies: + detect-libc "^2.0.1" + node-gyp-build@^4.1.0, node-gyp-build@^4.2.3, node-gyp-build@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" @@ -15700,11 +15995,6 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - npm-bundled@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" @@ -16085,10 +16375,10 @@ ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ordered-binary@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.2.4.tgz#51d3a03af078a0bdba6c7bc8f4fedd1f5d45d83e" - integrity sha512-A/csN0d3n+igxBPfUrjbV5GC69LWj2pjZzAAeeHXLukQ4+fytfP4T1Lg0ju7MSPSwq7KtHkGaiwO8URZN5IpLg== +ordered-binary@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.4.1.tgz#205cb6efd6c27fa0ef4eced994a023e081cdc911" + integrity sha512-9LtiGlPy982CsgxZvJGNNp2/NnrgEr6EAyN3iIEP3/8vd3YLgAZQHbQ75ZrkfBRGrNg37Dk3U6tuVb+B4Xfslg== original@^1.0.0: version "1.0.2" @@ -16281,25 +16571,25 @@ pacote@^13.0.3, pacote@^13.6.1: ssri "^9.0.0" tar "^6.1.11" -parcel@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.3.2.tgz#d1cb475f27edae981edea7a7104e04d3a35a87ca" - integrity sha512-4jhgoBcQaiGKmnmBvNyKyOvZrxCgzgUzdEoVup/fRCOP99hNmvYIN5IErIIJxsU9ObcG/RGCFF8wa4kVRsWfIg== - dependencies: - "@parcel/config-default" "2.3.2" - "@parcel/core" "2.3.2" - "@parcel/diagnostic" "2.3.2" - "@parcel/events" "2.3.2" - "@parcel/fs" "2.3.2" - "@parcel/logger" "2.3.2" - "@parcel/package-manager" "2.3.2" - "@parcel/reporter-cli" "2.3.2" - "@parcel/reporter-dev-server" "2.3.2" - "@parcel/utils" "2.3.2" +parcel@^2.3.2: + version "2.10.1" + resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.10.1.tgz#750436fba8feb2673acba95366b3329d0b31ad95" + integrity sha512-BvsKk8Fg9z1BBLny3IJmm7qM7ux+aD0iXVbzaBhurdbsj0UuWYsa6krLnK/+udwGiLPmicldqjtjDimSuLIwmQ== + dependencies: + "@parcel/config-default" "2.10.1" + "@parcel/core" "2.10.1" + "@parcel/diagnostic" "2.10.1" + "@parcel/events" "2.10.1" + "@parcel/fs" "2.10.1" + "@parcel/logger" "2.10.1" + "@parcel/package-manager" "2.10.1" + "@parcel/reporter-cli" "2.10.1" + "@parcel/reporter-dev-server" "2.10.1" + "@parcel/reporter-tracer" "2.10.1" + "@parcel/utils" "2.10.1" chalk "^4.1.0" commander "^7.0.0" get-port "^4.2.0" - v8-compile-cache "^2.0.0" parent-module@^1.0.0: version "1.0.1" @@ -16509,6 +16799,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -16605,224 +16900,11 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss-calc@^8.2.3: - version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-colormin@^*: - version "5.3.0" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" - integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz#f8d3abe40b4ce4b1470702a0706343eac17e7c10" - integrity sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^*: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz#e90019e1a0e5b99de05f63516ce640bd0df3d369" - integrity sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ== - -postcss-discard-duplicates@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== - -postcss-discard-empty@^*: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== - -postcss-discard-overridden@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== - -postcss-merge-longhand@^*: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.2.tgz#fe3002f38ad5827c1d6f7d5bb3f71d2566a2a138" - integrity sha512-18/bp9DZnY1ai9RlahOfLBbmIUKfKFPASxRCiZ1vlpZqWPCn8qWPFlEozqmWL+kBtcEQmG8W9YqGCstDImvp/Q== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^*" - -postcss-merge-rules@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.0.tgz#a2d5117eba09c8686a5471d97bd9afcf30d1b41f" - integrity sha512-NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.0.tgz#de0260a67a13b7b321a8adc3150725f2c6612377" - integrity sha512-J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg== - dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^*: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.1.tgz#c5f8e7dac565e577dd99904787fbec576cbdbfb2" - integrity sha512-WCpr+J9Uz8XzMpAfg3UL8z5rde6MifBbh5L8bn8S2F5hq/YDJJzASYCnCHvAB4Fqb94ys8v95ULQkW2EhCFvNg== - dependencies: - browserslist "^4.16.6" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^*: - version "5.2.0" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz#17c2be233e12b28ffa8a421a02fc8b839825536c" - integrity sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-normalize-charset@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== - -postcss-normalize-display-values@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz#902a7cb97cf0b9e8b1b654d4a43d451e48966458" - integrity sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz#f6d6fd5a54f51a741cc84a37f7459e60ef7a6398" - integrity sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75" - integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ== - dependencies: - browserslist "^4.16.6" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== - dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^*: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-ordered-values@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.0.tgz#04ef429e0991b0292bc918b135cd4c038f7b889f" - integrity sha512-wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA== - dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6" - integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: - version "6.0.9" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" - integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" - -postcss-unique-selectors@^*: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== - dependencies: - postcss-selector-parser "^6.0.5" - postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.5: - version "8.4.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" - integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== - dependencies: - nanoid "^3.3.1" - picocolors "^1.0.0" - source-map-js "^1.0.2" - posthtml-parser@^0.10.1: version "0.10.2" resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.10.2.tgz#df364d7b179f2a6bf0466b56be7b98fd4e97c573" @@ -17341,6 +17423,11 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" +react-error-overlay@6.0.9: + version "6.0.9" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" + integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== + react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" @@ -18053,7 +18140,7 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -18063,7 +18150,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.5.4, semver@^7.0.0, semver@^7.1.1, semver@^7.3.7, semver@^7.5.4: +semver@7.5.4, semver@^7.0.0, semver@^7.1.1, semver@^7.3.7, semver@^7.5.2, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -18416,11 +18503,6 @@ sort-keys@^4.0.0: dependencies: is-plain-obj "^2.0.0" -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -18432,7 +18514,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.17, source-map-support@~0.5.20: +source-map-support@^0.5.17: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -18463,7 +18545,7 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3, source-map@~0.7.2: +source-map@^0.7.3: version "0.7.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== @@ -18549,6 +18631,11 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= +srcset@4: + version "4.0.0" + resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" + integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== + sshpk@^1.7.0: version "1.16.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" @@ -18896,14 +18983,6 @@ strong-log-transformer@^2.1.0: minimist "^1.2.0" through "^2.3.4" -stylehacks@^*: - version "5.1.0" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520" - integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q== - dependencies: - browserslist "^4.16.6" - postcss-selector-parser "^6.0.4" - sumchecker@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" @@ -18948,7 +19027,7 @@ supports-hyperlinks@^2.0.0: has-flag "^4.0.0" supports-color "^7.0.0" -svgo@^2.4.0, svgo@^2.7.0: +svgo@^2.4.0: version "2.8.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== @@ -19051,6 +19130,11 @@ tendermint-tx-builder@^1.0.9: fiosdk-offline "^1.2.21" google-protobuf "^3.17.0" +term-size@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== + terminal-link@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" @@ -19059,16 +19143,6 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser@^5.2.0: - version "5.12.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" - integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== - dependencies: - acorn "^8.5.0" - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -19856,7 +19930,7 @@ utf8@3.0.0: resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -19909,7 +19983,7 @@ uuid@^8.3.0, uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache@2.3.0, v8-compile-cache@^2.0.0, v8-compile-cache@^2.0.3: +v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -20768,11 +20842,6 @@ xtend@~2.1.1: dependencies: object-keys "~0.4.0" -xxhash-wasm@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz#752398c131a4dd407b5132ba62ad372029be6f79" - integrity sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA== - xxhashjs@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" @@ -20805,7 +20874,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2: +yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== From a45f5a8e685f65a2ebe20b6ba18d7838dfedd2ac Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Thu, 26 Oct 2023 19:32:09 -0600 Subject: [PATCH 13/15] bump all to v1.52.11 --- examples/sandbox/package.json | 32 +++++++++---------- integration/package.json | 20 ++++++------ lerna.json | 2 +- packages/hdwallet-coinbase/package.json | 4 +-- packages/hdwallet-core/package.json | 2 +- .../hdwallet-keepkey-chromeusb/package.json | 6 ++-- .../hdwallet-keepkey-electron/package.json | 4 +-- .../hdwallet-keepkey-nodehid/package.json | 4 +-- .../hdwallet-keepkey-nodewebusb/package.json | 6 ++-- packages/hdwallet-keepkey-tcp/package.json | 6 ++-- packages/hdwallet-keepkey-webusb/package.json | 6 ++-- packages/hdwallet-keepkey/package.json | 4 +-- packages/hdwallet-keplr/package.json | 4 +-- packages/hdwallet-ledger-webhid/package.json | 6 ++-- packages/hdwallet-ledger-webusb/package.json | 6 ++-- packages/hdwallet-ledger/package.json | 4 +-- .../package.json | 4 +-- packages/hdwallet-metamask/package.json | 4 +-- packages/hdwallet-native-vault/package.json | 4 +-- packages/hdwallet-native/package.json | 4 +-- packages/hdwallet-portis/package.json | 4 +-- packages/hdwallet-tallyho/package.json | 4 +-- packages/hdwallet-trezor-connect/package.json | 6 ++-- packages/hdwallet-trezor/package.json | 4 +-- packages/hdwallet-walletconnect/package.json | 4 +-- .../hdwallet-walletconnectV2/package.json | 4 +-- packages/hdwallet-xdefi/package.json | 4 +-- 27 files changed, 81 insertions(+), 81 deletions(-) diff --git a/examples/sandbox/package.json b/examples/sandbox/package.json index fb3f5e063..a2d922812 100644 --- a/examples/sandbox/package.json +++ b/examples/sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-sandbox", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "private": true, "browserslist": "> 0.5%, last 2 versions, not dead", @@ -11,21 +11,21 @@ }, "dependencies": { "@metamask/eth-sig-util": "^7.0.0", - "@shapeshiftoss/hdwallet-core": "1.52.10", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.10", - "@shapeshiftoss/hdwallet-keepkey-webusb": "1.52.10", - "@shapeshiftoss/hdwallet-keplr": "1.52.10", - "@shapeshiftoss/hdwallet-ledger": "1.52.10", - "@shapeshiftoss/hdwallet-ledger-webhid": "1.52.10", - "@shapeshiftoss/hdwallet-ledger-webusb": "1.52.10", - "@shapeshiftoss/hdwallet-metamask": "1.52.10", - "@shapeshiftoss/hdwallet-native": "1.52.10", - "@shapeshiftoss/hdwallet-portis": "1.52.10", - "@shapeshiftoss/hdwallet-tallyho": "1.52.10", - "@shapeshiftoss/hdwallet-trezor": "1.52.10", - "@shapeshiftoss/hdwallet-trezor-connect": "1.52.10", - "@shapeshiftoss/hdwallet-walletconnect": "1.52.10", - "@shapeshiftoss/hdwallet-xdefi": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.11", + "@shapeshiftoss/hdwallet-keepkey-webusb": "1.52.11", + "@shapeshiftoss/hdwallet-keplr": "1.52.11", + "@shapeshiftoss/hdwallet-ledger": "1.52.11", + "@shapeshiftoss/hdwallet-ledger-webhid": "1.52.11", + "@shapeshiftoss/hdwallet-ledger-webusb": "1.52.11", + "@shapeshiftoss/hdwallet-metamask": "1.52.11", + "@shapeshiftoss/hdwallet-native": "1.52.11", + "@shapeshiftoss/hdwallet-portis": "1.52.11", + "@shapeshiftoss/hdwallet-tallyho": "1.52.11", + "@shapeshiftoss/hdwallet-trezor": "1.52.11", + "@shapeshiftoss/hdwallet-trezor-connect": "1.52.11", + "@shapeshiftoss/hdwallet-walletconnect": "1.52.11", + "@shapeshiftoss/hdwallet-xdefi": "1.52.11", "bip32": "^2.0.4", "eip-712": "^1.0.0", "jquery": "^3.7.1", diff --git a/integration/package.json b/integration/package.json index cdb33798d..b87633a75 100644 --- a/integration/package.json +++ b/integration/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/integration", - "version": "1.52.10", + "version": "1.52.11", "main": "index.js", "license": "MIT", "private": true, @@ -10,15 +10,15 @@ "dev": "lerna run test --scope integration --parallel --include-filtered-dependencies" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", - "@shapeshiftoss/hdwallet-keepkey": "1.52.10", - "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.52.10", - "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.10", - "@shapeshiftoss/hdwallet-ledger": "1.52.10", - "@shapeshiftoss/hdwallet-native": "1.52.10", - "@shapeshiftoss/hdwallet-portis": "1.52.10", - "@shapeshiftoss/hdwallet-trezor": "1.52.10", - "@shapeshiftoss/hdwallet-xdefi": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", + "@shapeshiftoss/hdwallet-keepkey": "1.52.11", + "@shapeshiftoss/hdwallet-keepkey-nodewebusb": "1.52.11", + "@shapeshiftoss/hdwallet-keepkey-tcp": "1.52.11", + "@shapeshiftoss/hdwallet-ledger": "1.52.11", + "@shapeshiftoss/hdwallet-native": "1.52.11", + "@shapeshiftoss/hdwallet-portis": "1.52.11", + "@shapeshiftoss/hdwallet-trezor": "1.52.11", + "@shapeshiftoss/hdwallet-xdefi": "1.52.11", "fast-json-stable-stringify": "^2.1.0", "msw": "^0.27.1", "whatwg-fetch": "^3.6.2" diff --git a/lerna.json b/lerna.json index cc9e90eab..945a5152d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "5.2.0", - "version": "1.52.10", + "version": "1.52.11", "npmClient": "yarn", "useWorkspaces": true, "command": { diff --git a/packages/hdwallet-coinbase/package.json b/packages/hdwallet-coinbase/package.json index c647c3c7d..54460a217 100644 --- a/packages/hdwallet-coinbase/package.json +++ b/packages/hdwallet-coinbase/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-coinbase", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@coinbase/wallet-sdk": "^3.6.6", - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "eth-rpc-errors": "^4.0.3", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-core/package.json b/packages/hdwallet-core/package.json index 5fff9d7b0..ccfd84313 100644 --- a/packages/hdwallet-core/package.json +++ b/packages/hdwallet-core/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-core", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" diff --git a/packages/hdwallet-keepkey-chromeusb/package.json b/packages/hdwallet-keepkey-chromeusb/package.json index 37dd4d4ca..7e920ff54 100644 --- a/packages/hdwallet-keepkey-chromeusb/package.json +++ b/packages/hdwallet-keepkey-chromeusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-chromeusb", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", - "@shapeshiftoss/hdwallet-keepkey": "1.52.10" + "@shapeshiftoss/hdwallet-core": "1.52.11", + "@shapeshiftoss/hdwallet-keepkey": "1.52.11" } } diff --git a/packages/hdwallet-keepkey-electron/package.json b/packages/hdwallet-keepkey-electron/package.json index 47b16a3eb..91ae2b017 100644 --- a/packages/hdwallet-keepkey-electron/package.json +++ b/packages/hdwallet-keepkey-electron/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-electron", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.52.10", + "@shapeshiftoss/hdwallet-keepkey": "1.52.11", "uuid": "^8.3.2" }, "peerDependencies": { diff --git a/packages/hdwallet-keepkey-nodehid/package.json b/packages/hdwallet-keepkey-nodehid/package.json index 407a11443..c44c0dbe6 100644 --- a/packages/hdwallet-keepkey-nodehid/package.json +++ b/packages/hdwallet-keepkey-nodehid/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodehid", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-keepkey": "1.52.10" + "@shapeshiftoss/hdwallet-keepkey": "1.52.11" }, "peerDependencies": { "node-hid": "^2.1.1" diff --git a/packages/hdwallet-keepkey-nodewebusb/package.json b/packages/hdwallet-keepkey-nodewebusb/package.json index 11711db0d..df52fa24b 100644 --- a/packages/hdwallet-keepkey-nodewebusb/package.json +++ b/packages/hdwallet-keepkey-nodewebusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-nodewebusb", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", - "@shapeshiftoss/hdwallet-keepkey": "1.52.10" + "@shapeshiftoss/hdwallet-core": "1.52.11", + "@shapeshiftoss/hdwallet-keepkey": "1.52.11" }, "peerDependencies": { "usb": "^2.3.1" diff --git a/packages/hdwallet-keepkey-tcp/package.json b/packages/hdwallet-keepkey-tcp/package.json index 315685fcf..511ffe376 100644 --- a/packages/hdwallet-keepkey-tcp/package.json +++ b/packages/hdwallet-keepkey-tcp/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-tcp", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", - "@shapeshiftoss/hdwallet-keepkey": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", + "@shapeshiftoss/hdwallet-keepkey": "1.52.11", "axios": "^0.21.1" } } diff --git a/packages/hdwallet-keepkey-webusb/package.json b/packages/hdwallet-keepkey-webusb/package.json index 23e2a6249..62f99d397 100644 --- a/packages/hdwallet-keepkey-webusb/package.json +++ b/packages/hdwallet-keepkey-webusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey-webusb", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", - "@shapeshiftoss/hdwallet-keepkey": "1.52.10" + "@shapeshiftoss/hdwallet-core": "1.52.11", + "@shapeshiftoss/hdwallet-keepkey": "1.52.11" }, "devDependencies": { "@types/w3c-web-usb": "^1.0.4" diff --git a/packages/hdwallet-keepkey/package.json b/packages/hdwallet-keepkey/package.json index 59a14e67a..3afe17885 100644 --- a/packages/hdwallet-keepkey/package.json +++ b/packages/hdwallet-keepkey/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keepkey", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -20,7 +20,7 @@ "@keepkey/device-protocol": "^7.12.2", "@metamask/eth-sig-util": "^7.0.0", "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "bignumber.js": "^9.0.1", "bnb-javascript-sdk-nobroadcast": "^2.16.14", diff --git a/packages/hdwallet-keplr/package.json b/packages/hdwallet-keplr/package.json index 719cf0860..4af4968c0 100644 --- a/packages/hdwallet-keplr/package.json +++ b/packages/hdwallet-keplr/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-keplr", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@shapeshiftoss/caip": "8.15.0", - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "@shapeshiftoss/types": "3.1.3", "base64-js": "^1.5.1", diff --git a/packages/hdwallet-ledger-webhid/package.json b/packages/hdwallet-ledger-webhid/package.json index 37e97eb90..c9d3dc7d7 100644 --- a/packages/hdwallet-ledger-webhid/package.json +++ b/packages/hdwallet-ledger-webhid/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger-webhid", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -19,8 +19,8 @@ "@ledgerhq/hw-transport": "^6.7.0", "@ledgerhq/hw-transport-webhid": "^6.7.0", "@ledgerhq/live-common": "^21.8.2", - "@shapeshiftoss/hdwallet-core": "1.52.10", - "@shapeshiftoss/hdwallet-ledger": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", + "@shapeshiftoss/hdwallet-ledger": "1.52.11", "@types/w3c-web-hid": "^1.0.2" }, "devDependencies": { diff --git a/packages/hdwallet-ledger-webusb/package.json b/packages/hdwallet-ledger-webusb/package.json index fe4150ae4..5e4837880 100644 --- a/packages/hdwallet-ledger-webusb/package.json +++ b/packages/hdwallet-ledger-webusb/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger-webusb", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -20,8 +20,8 @@ "@ledgerhq/hw-transport-webusb": "^6.7.0", "@ledgerhq/live-common": "^21.8.2", "@ledgerhq/logs": "^6.10.1", - "@shapeshiftoss/hdwallet-core": "1.52.10", - "@shapeshiftoss/hdwallet-ledger": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", + "@shapeshiftoss/hdwallet-ledger": "1.52.11", "@types/w3c-web-usb": "^1.0.4", "p-queue": "^7.4.1" }, diff --git a/packages/hdwallet-ledger/package.json b/packages/hdwallet-ledger/package.json index 19f3f46ae..17c662282 100644 --- a/packages/hdwallet-ledger/package.json +++ b/packages/hdwallet-ledger/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-ledger", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -18,7 +18,7 @@ "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "base64-js": "^1.5.1", "bchaddrjs": "^0.4.4", "bitcoinjs-message": "^2.0.0", diff --git a/packages/hdwallet-metamask-shapeshift-multichain/package.json b/packages/hdwallet-metamask-shapeshift-multichain/package.json index 2a4a11086..5ebdc6d04 100644 --- a/packages/hdwallet-metamask-shapeshift-multichain/package.json +++ b/packages/hdwallet-metamask-shapeshift-multichain/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-shapeshift-multichain", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "@metamask/detect-provider": "^1.2.0", "@metamask/onboarding": "^1.0.1", "@shapeshiftoss/common-api": "^9.3.0", - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "@shapeshiftoss/metamask-snaps-adapter": "^1.0.8", "@shapeshiftoss/metamask-snaps-types": "^1.0.8", "eth-rpc-errors": "^4.0.3", diff --git a/packages/hdwallet-metamask/package.json b/packages/hdwallet-metamask/package.json index f60b26ead..11c1b6211 100644 --- a/packages/hdwallet-metamask/package.json +++ b/packages/hdwallet-metamask/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-metamask", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -16,7 +16,7 @@ "dependencies": { "@metamask/detect-provider": "^1.2.0", "@metamask/onboarding": "^1.0.1", - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "eth-rpc-errors": "^4.0.3", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-native-vault/package.json b/packages/hdwallet-native-vault/package.json index 3133935d9..27af0b8ec 100644 --- a/packages/hdwallet-native-vault/package.json +++ b/packages/hdwallet-native-vault/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native-vault", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-native": "1.52.10", + "@shapeshiftoss/hdwallet-native": "1.52.11", "bip39": "^3.0.4", "hash-wasm": "^4.9.0", "idb-keyval": "^6.0.3", diff --git a/packages/hdwallet-native/package.json b/packages/hdwallet-native/package.json index f26d1d17d..6dbdecf79 100644 --- a/packages/hdwallet-native/package.json +++ b/packages/hdwallet-native/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-native", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -16,7 +16,7 @@ "dependencies": { "@shapeshiftoss/bitcoinjs-lib": "5.2.0-shapeshift.2", "@shapeshiftoss/fiosdk": "1.2.1-shapeshift.6", - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "@shapeshiftoss/proto-tx-builder": "^0.8.0", "@zxing/text-encoding": "^0.9.0", "bchaddrjs": "^0.4.9", diff --git a/packages/hdwallet-portis/package.json b/packages/hdwallet-portis/package.json index 781c4353b..bc9f47bba 100644 --- a/packages/hdwallet-portis/package.json +++ b/packages/hdwallet-portis/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-portis", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ }, "dependencies": { "@portis/web3": "3.0.10", - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "base64-js": "^1.5.1", "bip32": "^2.0.4", "bitcoinjs-lib": "^5.1.6", diff --git a/packages/hdwallet-tallyho/package.json b/packages/hdwallet-tallyho/package.json index f0d3bfe45..bce0e8ee4 100644 --- a/packages/hdwallet-tallyho/package.json +++ b/packages/hdwallet-tallyho/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-tallyho", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "lodash": "^4.17.21", "tallyho-onboarding": "^1.0.2" }, diff --git a/packages/hdwallet-trezor-connect/package.json b/packages/hdwallet-trezor-connect/package.json index f8a9427f6..6643ae530 100644 --- a/packages/hdwallet-trezor-connect/package.json +++ b/packages/hdwallet-trezor-connect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor-connect", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,8 +14,8 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", - "@shapeshiftoss/hdwallet-trezor": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", + "@shapeshiftoss/hdwallet-trezor": "1.52.11", "@trezor/rollout": "^1.2.0", "trezor-connect": "^8.2.1" } diff --git a/packages/hdwallet-trezor/package.json b/packages/hdwallet-trezor/package.json index ded0ed94b..6cac7230c 100644 --- a/packages/hdwallet-trezor/package.json +++ b/packages/hdwallet-trezor/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-trezor", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "base64-js": "^1.5.1", "lodash": "^4.17.21" }, diff --git a/packages/hdwallet-walletconnect/package.json b/packages/hdwallet-walletconnect/package.json index d554f2cc7..d673e10d4 100644 --- a/packages/hdwallet-walletconnect/package.json +++ b/packages/hdwallet-walletconnect/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnect", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "@walletconnect/qrcode-modal": "^1.7.8", "@walletconnect/web3-provider": "^1.7.8", "ethers": "^5.6.5" diff --git a/packages/hdwallet-walletconnectV2/package.json b/packages/hdwallet-walletconnectV2/package.json index 4d6fc42fc..22f0a598a 100644 --- a/packages/hdwallet-walletconnectV2/package.json +++ b/packages/hdwallet-walletconnectV2/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-walletconnectv2", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -15,7 +15,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "@walletconnect/ethereum-provider": "^2.10.1", "@walletconnect/modal": "^2.6.2", "ethers": "^5.6.5" diff --git a/packages/hdwallet-xdefi/package.json b/packages/hdwallet-xdefi/package.json index b103921c1..bef82b2bb 100644 --- a/packages/hdwallet-xdefi/package.json +++ b/packages/hdwallet-xdefi/package.json @@ -1,6 +1,6 @@ { "name": "@shapeshiftoss/hdwallet-xdefi", - "version": "1.52.10", + "version": "1.52.11", "license": "MIT", "publishConfig": { "access": "public" @@ -14,7 +14,7 @@ "prepublishOnly": "yarn clean && yarn build" }, "dependencies": { - "@shapeshiftoss/hdwallet-core": "1.52.10", + "@shapeshiftoss/hdwallet-core": "1.52.11", "lodash": "^4.17.21" }, "devDependencies": { From 2503066bc7967b2592ab9973a6136999e63e4374 Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Fri, 27 Oct 2023 01:36:26 -0600 Subject: [PATCH 14/15] remove update-browserslist-db + caniuse-lite changes from yarn.lock --- yarn.lock | 1671 +++++++++++++++++++++++++---------------------------- 1 file changed, 801 insertions(+), 870 deletions(-) diff --git a/yarn.lock b/yarn.lock index f86012766..62c3ddf77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3830,18 +3830,6 @@ npmlog "^6.0.2" write-file-atomic "^4.0.1" -"@lezer/common@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.1.0.tgz#2e5bfe01d7a2ada6056d93c677bba4f1495e098a" - integrity sha512-XPIN3cYDXsoJI/oDWoR2tD++juVrhgIago9xyKhZ7IhGlzdDM9QgC8D8saKNCz5pindGcznFr2HBSsEQSWnSjw== - -"@lezer/lr@^1.0.0": - version "1.3.13" - resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.3.13.tgz#578e06c6c52e4dc38421368904585afa3eb82ec8" - integrity sha512-RLAbau/4uSzKgIKj96mI5WUtG1qtiR0Frn0Ei9zhPj8YOkHM+1Bb8SgdVvmR/aWJCFIzjo2KFnDiRZ75Xf5NdQ== - dependencies: - "@lezer/common" "^1.0.0" - "@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": version "1.1.1" resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz#64df34e2f12e68e78ac57e571d25ec07fa460ca9" @@ -3854,36 +3842,6 @@ dependencies: "@lit-labs/ssr-dom-shim" "^1.0.0" -"@lmdb/lmdb-darwin-arm64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz#895d8cb16a9d709ce5fedd8b60022903b875e08e" - integrity sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw== - -"@lmdb/lmdb-darwin-x64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz#ca243534c8b37d5516c557e4624256d18dd63184" - integrity sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug== - -"@lmdb/lmdb-linux-arm64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz#b44a8023057e21512eefb9f6120096843b531c1e" - integrity sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww== - -"@lmdb/lmdb-linux-arm@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz#17bd54740779c3e4324e78e8f747c21416a84b3d" - integrity sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg== - -"@lmdb/lmdb-linux-x64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz#6c61835b6cc58efdf79dbd5e8c72a38300a90302" - integrity sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ== - -"@lmdb/lmdb-win32-x64@2.8.5": - version "2.8.5" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz#8233e8762440b0f4632c47a09b1b6f23de8b934c" - integrity sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ== - "@metamask/abi-utils@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@metamask/abi-utils/-/abi-utils-2.0.2.tgz#ad394e9cb8a95ac177cad942daadd88a246c0de8" @@ -4176,15 +4134,6 @@ semver "^7.5.4" superstruct "^1.0.3" -"@mischnic/json-sourcemap@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz#0ef9b015a8f575dd9a8720d9a6b4dbc988425906" - integrity sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w== - dependencies: - "@lezer/common" "^1.0.0" - "@lezer/lr" "^1.0.0" - json5 "^2.2.1" - "@motionone/animation@^10.15.1": version "10.15.1" resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" @@ -4254,36 +4203,6 @@ "@motionone/dom" "^10.16.2" tslib "^2.3.1" -"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz#44d752c1a2dc113f15f781b7cc4f53a307e3fa38" - integrity sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ== - -"@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz#f954f34355712212a8e06c465bc06c40852c6bb3" - integrity sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw== - -"@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz#45c63037f045c2b15c44f80f0393fa24f9655367" - integrity sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg== - -"@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz#35707efeafe6d22b3f373caf9e8775e8920d1399" - integrity sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA== - -"@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz#091b1218b66c341f532611477ef89e83f25fae4f" - integrity sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA== - -"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz#0f164b726869f71da3c594171df5ebc1c4b0a407" - integrity sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ== - "@mswjs/cookies@^0.1.4": version "0.1.6" resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-0.1.6.tgz#176f77034ab6d7373ae5c94bcbac36fee8869249" @@ -4702,631 +4621,537 @@ "@babel/runtime" "^7.19.0" axios "0.27.2" -"@parcel/bundler-default@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.10.1.tgz#ecedaa27cd10181aace7d9fdb9078053b2c70513" - integrity sha512-R+0xfFoEkwGJ/6xYEFPvifd8zzatHz/YC7+IQLluxxutSJFhDcyewBfFkUgqlSJkYlSFRohS+w0T5y4V6T97Yw== - dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/graph" "3.0.1" - "@parcel/plugin" "2.10.1" - "@parcel/rust" "2.10.1" - "@parcel/utils" "2.10.1" +"@parcel/bundler-default@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.3.2.tgz#329f171e210dfb22beaa52ae706ccde1dae384c1" + integrity sha512-JUrto4mjSD0ic9dEqRp0loL5o3HVYHja1ZIYSq+rBl2UWRV6/9cGTb07lXOCqqm0BWE+hQ4krUxB76qWaF0Lqw== + dependencies: + "@parcel/diagnostic" "2.3.2" + "@parcel/hash" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" -"@parcel/cache@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.10.1.tgz#7308e7dc43df9f93bef3d419f902b9fbb92fe73f" - integrity sha512-qMJ6iMUIG9Ao42JSnDOuAzmEj6xGTrqKmz0tTgwbAhEaIjo974t0PAzOop+Ai074H12uZ1pWe6TvoL+qqJz8gg== +"@parcel/cache@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.3.2.tgz#ba8c2af02fd45b90c7bc6f829bfc566d1ded0a13" + integrity sha512-Xxq+ekgcFEme6Fn1v7rEOBkyMOUOUu7eNqQw0l6HQS+INZ2Q7YzzfdW7pI8rEOAAICVg5BWKpmBQZpgJlT+HxQ== dependencies: - "@parcel/fs" "2.10.1" - "@parcel/logger" "2.10.1" - "@parcel/utils" "2.10.1" - lmdb "2.8.5" + "@parcel/fs" "2.3.2" + "@parcel/logger" "2.3.2" + "@parcel/utils" "2.3.2" + lmdb "^2.0.2" -"@parcel/codeframe@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.10.1.tgz#1f761f758d13a072ff50f1c67d7265df4df2e753" - integrity sha512-CyAJJGyFJ6TIU2onxbK4VVmtXnCpVdSZobbCyRPYkHKQfqlarnjeQXZHBLnsBX1qviF4VGXp4ePgcsyiaFxWZg== +"@parcel/codeframe@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.3.2.tgz#73fb5a89910b977342808ca8f6ece61fa01b7690" + integrity sha512-ireQALcxxrTdIEpzTOoMo/GpfbFm1qlyezeGl3Hce3PMvHLg3a5S6u/Vcy7SAjdld5GfhHEqVY+blME6Z4CyXQ== dependencies: chalk "^4.1.0" -"@parcel/compressor-raw@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.10.1.tgz#398e4fa8def159f28b943a5e52e5efdaa54f8d5b" - integrity sha512-dBDmMhl7E8Cs0i4nvsg/9mWqqfI0qKL6J7jLYQFn+oubJXS1WZCmtIGwlrYT5rw8NouaLJCoN62ahb2SmhuKqw== +"@parcel/compressor-raw@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.3.2.tgz#1a808ae9e61ed86f655935e1d2a984383b3c00a7" + integrity sha512-8dIoFwinYK6bOTpnZOAwwIv0v73y0ezsctPmfMnIqVQPn7wJwfhw/gbKVcmK5AkgQMkyid98hlLZoaZtGF1Mdg== dependencies: - "@parcel/plugin" "2.10.1" + "@parcel/plugin" "2.3.2" -"@parcel/config-default@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.10.1.tgz#5414113f42a841f775d257ed5d489f3a0eac67bf" - integrity sha512-Yyv6NxM7fvA5AZH3+fVoxL5/eMZz/fWLWGYPHxe8KT2aYIvVPCQpdUaQ87JNGgzUsL/bgYDWA9da3FReGuBxIA== - dependencies: - "@parcel/bundler-default" "2.10.1" - "@parcel/compressor-raw" "2.10.1" - "@parcel/namer-default" "2.10.1" - "@parcel/optimizer-css" "2.10.1" - "@parcel/optimizer-htmlnano" "2.10.1" - "@parcel/optimizer-image" "2.10.1" - "@parcel/optimizer-svgo" "2.10.1" - "@parcel/optimizer-swc" "2.10.1" - "@parcel/packager-css" "2.10.1" - "@parcel/packager-html" "2.10.1" - "@parcel/packager-js" "2.10.1" - "@parcel/packager-raw" "2.10.1" - "@parcel/packager-svg" "2.10.1" - "@parcel/packager-wasm" "2.10.1" - "@parcel/reporter-dev-server" "2.10.1" - "@parcel/resolver-default" "2.10.1" - "@parcel/runtime-browser-hmr" "2.10.1" - "@parcel/runtime-js" "2.10.1" - "@parcel/runtime-react-refresh" "2.10.1" - "@parcel/runtime-service-worker" "2.10.1" - "@parcel/transformer-babel" "2.10.1" - "@parcel/transformer-css" "2.10.1" - "@parcel/transformer-html" "2.10.1" - "@parcel/transformer-image" "2.10.1" - "@parcel/transformer-js" "2.10.1" - "@parcel/transformer-json" "2.10.1" - "@parcel/transformer-postcss" "2.10.1" - "@parcel/transformer-posthtml" "2.10.1" - "@parcel/transformer-raw" "2.10.1" - "@parcel/transformer-react-refresh-wrap" "2.10.1" - "@parcel/transformer-svg" "2.10.1" - -"@parcel/core@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.10.1.tgz#6efe97ab12c053ae1c21baac4357864bdeb6411d" - integrity sha512-d3ufgqp3nfxJJLFLiGccX3C2paF/mWFjhjltoLmeqtdR3SFfS8z1ysrC7WJqBlwHFwBtL8ZqjPquekGmaH2LoQ== - dependencies: - "@mischnic/json-sourcemap" "^0.1.0" - "@parcel/cache" "2.10.1" - "@parcel/diagnostic" "2.10.1" - "@parcel/events" "2.10.1" - "@parcel/fs" "2.10.1" - "@parcel/graph" "3.0.1" - "@parcel/logger" "2.10.1" - "@parcel/package-manager" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/profiler" "2.10.1" - "@parcel/rust" "2.10.1" - "@parcel/source-map" "^2.1.1" - "@parcel/types" "2.10.1" - "@parcel/utils" "2.10.1" - "@parcel/workers" "2.10.1" +"@parcel/config-default@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.3.2.tgz#3f21a37fa07b22de9cd6b1aea19bc310a02d4abb" + integrity sha512-E7/iA7fGCYvXU3u6zF9nxjeDVsgjCN6MVvDjymjaxYMoDWTIsPV245SBEXqzgtmzbMAV+VAl4rVWLMB4pzMt9g== + dependencies: + "@parcel/bundler-default" "2.3.2" + "@parcel/compressor-raw" "2.3.2" + "@parcel/namer-default" "2.3.2" + "@parcel/optimizer-cssnano" "2.3.2" + "@parcel/optimizer-htmlnano" "2.3.2" + "@parcel/optimizer-image" "2.3.2" + "@parcel/optimizer-svgo" "2.3.2" + "@parcel/optimizer-terser" "2.3.2" + "@parcel/packager-css" "2.3.2" + "@parcel/packager-html" "2.3.2" + "@parcel/packager-js" "2.3.2" + "@parcel/packager-raw" "2.3.2" + "@parcel/packager-svg" "2.3.2" + "@parcel/reporter-dev-server" "2.3.2" + "@parcel/resolver-default" "2.3.2" + "@parcel/runtime-browser-hmr" "2.3.2" + "@parcel/runtime-js" "2.3.2" + "@parcel/runtime-react-refresh" "2.3.2" + "@parcel/runtime-service-worker" "2.3.2" + "@parcel/transformer-babel" "2.3.2" + "@parcel/transformer-css" "2.3.2" + "@parcel/transformer-html" "2.3.2" + "@parcel/transformer-image" "2.3.2" + "@parcel/transformer-js" "2.3.2" + "@parcel/transformer-json" "2.3.2" + "@parcel/transformer-postcss" "2.3.2" + "@parcel/transformer-posthtml" "2.3.2" + "@parcel/transformer-raw" "2.3.2" + "@parcel/transformer-react-refresh-wrap" "2.3.2" + "@parcel/transformer-svg" "2.3.2" + +"@parcel/core@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.3.2.tgz#1b9a79c1ff96dba5e0f53d4277bed4e7ab4590d0" + integrity sha512-gdJzpsgeUhv9H8T0UKVmyuptiXdduEfKIUx0ci+/PGhq8cCoiFnlnuhW6H7oLr79OUc+YJStabDJuG4U2A6ysw== + dependencies: + "@parcel/cache" "2.3.2" + "@parcel/diagnostic" "2.3.2" + "@parcel/events" "2.3.2" + "@parcel/fs" "2.3.2" + "@parcel/graph" "2.3.2" + "@parcel/hash" "2.3.2" + "@parcel/logger" "2.3.2" + "@parcel/package-manager" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/source-map" "^2.0.0" + "@parcel/types" "2.3.2" + "@parcel/utils" "2.3.2" + "@parcel/workers" "2.3.2" abortcontroller-polyfill "^1.1.9" base-x "^3.0.8" browserslist "^4.6.6" clone "^2.1.1" dotenv "^7.0.0" dotenv-expand "^5.1.0" + json-source-map "^0.6.1" json5 "^2.2.0" - msgpackr "^1.5.4" + msgpackr "^1.5.1" nullthrows "^1.1.1" - semver "^7.5.2" + semver "^5.7.1" -"@parcel/diagnostic@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.10.1.tgz#531efccb002b091bebf673dae4374f4012f2f6f0" - integrity sha512-PzYIyqg9QrIInPdfc4kellhfm0OlzylSvmDPfCCGlIdOnhFX5qqzaZkNAdFL1j4R4KwVqo90aeAy4I8AERRfaw== +"@parcel/diagnostic@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.3.2.tgz#1d3f0b55bfd9839c6f41d704ebbc89a96cca88dc" + integrity sha512-/xW93Az4AOiifuYW/c4CDbUcu3lx5FcUDAj9AGiR9NSTsF/ROC/RqnxvQ3AGtqa14R7vido4MXEpY3JEp6FsqA== dependencies: - "@mischnic/json-sourcemap" "^0.1.0" + json-source-map "^0.6.1" nullthrows "^1.1.1" -"@parcel/events@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.10.1.tgz#04d1ce9d62b8d6b6153deb514afc9c09638ad8cf" - integrity sha512-QONtaYl6YOZEbhpRFJ14OfnMu/rpUA2HlnhySTDdrv4N6vAiwbTIBhAAKqbQQNaRYH6OeKo9JSuXKggCFJr9Ag== +"@parcel/events@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.3.2.tgz#b6bcfbbc96d883716ee9d0e6ab232acdee862790" + integrity sha512-WiYIwXMo4Vd+pi58vRoHkul8TPE5VEfMY+3FYwVCKPl/LYqSD+vz6wMx9uG18mEbB1d/ofefv5ZFQNtPGKO4tQ== -"@parcel/fs@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.10.1.tgz#be684456fa680550189b749fdf78e2b71d441280" - integrity sha512-LLSaXj3oG4uCAUktcsXpzaK0AhT+vXLwCkechSuu88vrHpGOLHLnO/VkRsMNskWPjX9jAXbYRRX1x6uacdf04g== +"@parcel/fs-search@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/fs-search/-/fs-search-2.3.2.tgz#18611877ac1b370932c71987c2ec0e93a4a7e53d" + integrity sha512-u3DTEFnPtKuZvEtgGzfVjQUytegSSn3POi7WfwMwPIaeDPfYcyyhfl+c96z7VL9Gk/pqQ99/cGyAwFdFsnxxXA== dependencies: - "@parcel/rust" "2.10.1" - "@parcel/types" "2.10.1" - "@parcel/utils" "2.10.1" - "@parcel/watcher" "^2.0.7" - "@parcel/workers" "2.10.1" + detect-libc "^1.0.3" -"@parcel/graph@3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-3.0.1.tgz#b3e8b7818dae758510c513166aaeed4c3b4e30f7" - integrity sha512-ymxlM2FEayLIQ+WaMR9ud188Jq0rS7omQgoywhCMhFRGyOqnZlLxGtCnZ20P0/1wtb11q5y6/UzpGiMfCu2OQg== +"@parcel/fs@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.3.2.tgz#9628441a84c2582e1f6e69549feb0da0cc143e40" + integrity sha512-XV+OsnRpN01QKU37lBN0TFKvv7uPKfQGbqFqYOrMbXH++Ae8rBU0Ykz+Yu4tv2h7shMlde+AMKgRnRTAJZpWEQ== dependencies: + "@parcel/fs-search" "2.3.2" + "@parcel/types" "2.3.2" + "@parcel/utils" "2.3.2" + "@parcel/watcher" "^2.0.0" + "@parcel/workers" "2.3.2" + +"@parcel/graph@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-2.3.2.tgz#4194816952ab322ab22a17f7d9ea17befbade64d" + integrity sha512-ltTBM3IEqumgmy4ABBFETT8NtAwSsjD9mY3WCyJ5P8rUshfVCg093rvBPbpuJYMaH/TV1AHVaWfZqaZ4JQDIQQ== + dependencies: + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" -"@parcel/logger@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.10.1.tgz#09cc07bbc002fd24d5bfbf6eeabee48830bcd64f" - integrity sha512-o9Qi2HB/7T3hqCI2+nUYaHPk8fGNMxdUADh13iOycmGf3gKrno/t67P9dECnD9M5+YZK52R/8MRS0/SPaERC6g== +"@parcel/hash@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/hash/-/hash-2.3.2.tgz#33b8ff04bb44f6661bdc1054b302ef1b6bd3acb3" + integrity sha512-SMtYTsHihws/wqdVnOr0QAGyGYsW9rJSJkkoRujUxo8l2ctnBN1ztv89eOUrdtgHsmcnj/oz1yw6sN38X+BUng== + dependencies: + detect-libc "^1.0.3" + xxhash-wasm "^0.4.2" + +"@parcel/logger@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.3.2.tgz#b5fc7a9c1664ee0286d0f67641c7c81c8fec1561" + integrity sha512-jIWd8TXDQf+EnNWSa7Q10lSQ6C1LSH8OZkTlaINrfVIw7s+3tVxO3I4pjp7/ARw7RX2gdNPlw6fH4Gn/HvvYbw== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/events" "2.10.1" + "@parcel/diagnostic" "2.3.2" + "@parcel/events" "2.3.2" -"@parcel/markdown-ansi@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.10.1.tgz#daa17055b26bb9f594fcc21e2fa6183e2700cc79" - integrity sha512-UYdrZWlUy3w5hr+k0KToshGZONWP1M9+ld4i2vl12/v32FNX20zc15BnnKqheY7X/ZuLdqlVyMR7P+Q5Z7RMwQ== +"@parcel/markdown-ansi@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.3.2.tgz#2a5be7ce76a506a9d238ea2257cb28e43abe4902" + integrity sha512-l01ggmag5QScCk9mYA0xHh5TWSffR84uPFP2KvaAMQQ9NLNufcFiU0mn/Mtr3pCb5L5dSzmJ+Oo9s7P1Kh/Fmg== dependencies: chalk "^4.1.0" -"@parcel/namer-default@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.10.1.tgz#61f53e070c72958d1399f6cff1f5398d7ab39e72" - integrity sha512-sYQswJ6ySFSld29EOYRj2hxhxj4qgnApUY44+0woWMvhkFdu/N+hbeZzS/d2owC/sfeE0lwiaLpcQEkhBsEqHw== +"@parcel/namer-default@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.3.2.tgz#84e17abfc84fd293b23b3f405280ed2e279c75d8" + integrity sha512-3QUMC0+5+3KMKfoAxYAbpZtuRqTgyZKsGDWzOpuqwemqp6P8ahAvNPwSCi6QSkGcTmvtYwBu9/NHPSONxIFOfg== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" + "@parcel/diagnostic" "2.3.2" + "@parcel/plugin" "2.3.2" nullthrows "^1.1.1" -"@parcel/node-resolver-core@3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-3.1.1.tgz#60e5a457976181c9fd494c0015708cc9040e75ac" - integrity sha512-LliCQ024WYGcmFt9zVvpzeHuMTvqywtDV7/HOtp2OS3up2pt7ryQwA/5OyrEYgeo+4pUHxlPDi9z1fm0AUCWQA== - dependencies: - "@mischnic/json-sourcemap" "^0.1.0" - "@parcel/diagnostic" "2.10.1" - "@parcel/fs" "2.10.1" - "@parcel/rust" "2.10.1" - "@parcel/utils" "2.10.1" +"@parcel/node-resolver-core@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-2.3.2.tgz#dd360f405949fdcd62980cd44825052ab28f6135" + integrity sha512-wmrnMNzJN4GuHw2Ftho+BWgSWR6UCkW3XoMdphqcxpw/ieAdS2a+xYSosYkZgQZ6lGutSvLyJ1CkVvP6RLIdQQ== + dependencies: + "@parcel/diagnostic" "2.3.2" + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" - semver "^7.5.2" -"@parcel/optimizer-css@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-css/-/optimizer-css-2.10.1.tgz#431e5b74ab6b711e10e94a73380eb08156830d27" - integrity sha512-/oGD+w/2elpwtowVKVetq/X9ief+x8WODuq3pnoNkAbCLiE/6CXXmJwly2BzugpTmJB2L6YqSblMXonMuki/GQ== +"@parcel/optimizer-cssnano@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.3.2.tgz#70758f6646fd4debc26a90ae7dddf398928c0ce1" + integrity sha512-wTBOxMiBI38NAB9XIlQZRCjS59+EWjWR9M04D3TWyxl+dL5gYMc1cl4GNynUnmcPdz+3s1UbOdo5/8V90wjiiw== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.10.1" - browserslist "^4.6.6" - lightningcss "^1.16.1" - nullthrows "^1.1.1" + "@parcel/plugin" "2.3.2" + "@parcel/source-map" "^2.0.0" + cssnano "^5.0.15" + postcss "^8.4.5" -"@parcel/optimizer-htmlnano@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.10.1.tgz#e8e67505e51d93ce527bcfe692313853aaf0be24" - integrity sha512-o9Dj1Bv8ffGoHvxwADjcGKbCrRT9Fb9VrSJYx8+t0yY1FWeKdfu7rquy+Ca/2JfbprNCyBeeR6cfFX7yxHqCqw== +"@parcel/optimizer-htmlnano@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.3.2.tgz#4086736866621182f5dd1a8abe78e9f5764e1a28" + integrity sha512-U8C0TDSxsx8HmHaLW0Zc7ha1fXQynzhvBjCRMGYnOiLiw0MOfLQxzQ2WKVSeCotmdlF63ayCwxWsd6BuqStiKQ== dependencies: - "@parcel/plugin" "2.10.1" + "@parcel/plugin" "2.3.2" htmlnano "^2.0.0" nullthrows "^1.1.1" posthtml "^0.16.5" svgo "^2.4.0" -"@parcel/optimizer-image@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-image/-/optimizer-image-2.10.1.tgz#31cf54fafc6e83b66bbca41c047b29809d9b9e2f" - integrity sha512-5NA1GBRGvJpmbK+Oz0zHjM/t5oD3xFyrgWcRvV+3r9Kkp7SZmW3TLxHv4Z6hs0u7UqKOWsXESYzBEe30op3Dkw== +"@parcel/optimizer-image@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-image/-/optimizer-image-2.3.2.tgz#0549cc1abc99fdd6f46bd44ce8551eb135e44d4f" + integrity sha512-HOk3r5qdvY/PmI7Q3i2qEgFH3kP2QWG4Wq3wmC4suaF1+c2gpiQc+HKHWp4QvfbH3jhT00c5NxQyqPhbXeNI9Q== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/rust" "2.10.1" - "@parcel/utils" "2.10.1" - "@parcel/workers" "2.10.1" + "@parcel/diagnostic" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" + "@parcel/workers" "2.3.2" + detect-libc "^1.0.3" -"@parcel/optimizer-svgo@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-svgo/-/optimizer-svgo-2.10.1.tgz#31526b9d9bcbf426dae181453cef178cfcf3f334" - integrity sha512-ftgc0fIkrIlhOGDpDNg4C96gqceUPieMbhbjnwahDk4/hPlWkrE58wZWBpjpYxkRuqAPQ7ysUDMMlFRpvuOr1Q== +"@parcel/optimizer-svgo@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-svgo/-/optimizer-svgo-2.3.2.tgz#ebf2f48f356ad557d2bbfae361520d3d29bc1c37" + integrity sha512-l7WvZ5+e7D1mVmLUxMVaSb29cviXzuvSY2OpQs0ukdPACDqag+C65hWMzwTiOSSRGPMIu96kQKpeVru2YjibhA== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/diagnostic" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" svgo "^2.4.0" -"@parcel/optimizer-swc@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-swc/-/optimizer-swc-2.10.1.tgz#03831ae4dd302dd055b8527d63009ee88d5d5bd4" - integrity sha512-NMHvZ3zdk/uVeW8eiDIRlLdooUo27SO7LipyK7b5+Dpyn0Sxx5L9zgoQSlfvbmkgoAyj4Te3Usu8sDqUH+gpow== - dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.10.1" - "@swc/core" "^1.3.36" +"@parcel/optimizer-terser@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-terser/-/optimizer-terser-2.3.2.tgz#790b69e6ecc6ef0d8f25b57e9a13806e1f1c2943" + integrity sha512-dOapHhfy0xiNZa2IoEyHGkhhla07xsja79NPem14e5jCqY6Oi40jKNV4ab5uu5u1elWUjJuw69tiYbkDZWbKQw== + dependencies: + "@parcel/diagnostic" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/source-map" "^2.0.0" + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" + terser "^5.2.0" -"@parcel/package-manager@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.10.1.tgz#469bc9dbf828821ac3192a35127972adc1a25d5d" - integrity sha512-Zv7gO/XEDya+D5lrlyQtn99BuUko45WxNBcnBQ4eGSpVoyOP/KnlAMYmk1DPPsXZEnnWeOnDC+R5DP0x9jJR2Q== - dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/fs" "2.10.1" - "@parcel/logger" "2.10.1" - "@parcel/node-resolver-core" "3.1.1" - "@parcel/types" "2.10.1" - "@parcel/utils" "2.10.1" - "@parcel/workers" "2.10.1" - semver "^7.5.2" - -"@parcel/packager-css@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/packager-css/-/packager-css-2.10.1.tgz#5a45ca3749883052540d0d5939107b1e3431c181" - integrity sha512-s9N56NRmNIhE92oif7pQ/Mu91QUF60JKai4TJYPbPUV4TKFncRlTT4VsxjtolJuOtVW2J+8XijDcVkbofJBT7A== +"@parcel/package-manager@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.3.2.tgz#380f0741c9d0c79c170c437efae02506484df315" + integrity sha512-pAQfywKVORY8Ee+NHAyKzzQrKbnz8otWRejps7urwhDaTVLfAd5C/1ZV64ATZ9ALYP9jyoQ8bTaxVd4opcSuwg== + dependencies: + "@parcel/diagnostic" "2.3.2" + "@parcel/fs" "2.3.2" + "@parcel/logger" "2.3.2" + "@parcel/types" "2.3.2" + "@parcel/utils" "2.3.2" + "@parcel/workers" "2.3.2" + semver "^5.7.1" + +"@parcel/packager-css@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/packager-css/-/packager-css-2.3.2.tgz#4994d872449843c1c0cda524b6df3327e2f0a121" + integrity sha512-ByuF9xDnQnpVL1Hdu9aY6SpxOuZowd3TH7joh1qdRPLeMHTEvUywHBXoiAyNdrhnLGum8uPEdY8Ra5Xuo1U7kg== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/source-map" "^2.0.0" + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" -"@parcel/packager-html@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/packager-html/-/packager-html-2.10.1.tgz#aabcac5dfd174cafe916c652cf0e85a9678e6eee" - integrity sha512-k/KLm7z+DaHIaSq4o9gYLiW3FnO2Q0FEXqyLpnzNdfm4FrMYyc4PzXmRiqwW5j2R4ZrPfT6/xc3ZYOSIoBcNBQ== +"@parcel/packager-html@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/packager-html/-/packager-html-2.3.2.tgz#e54085fbaa49bed4258ffef80bc36b421895965f" + integrity sha512-YqAptdU+uqfgwSii76mRGcA/3TpuC6yHr8xG+11brqj/tEFLsurmX0naombzd7FgmrTE9w+kb0HUIMl2vRBn0A== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/types" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/types" "2.3.2" + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" posthtml "^0.16.5" -"@parcel/packager-js@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.10.1.tgz#dab9ec794f10ba646aaf66c76fa9f19458266154" - integrity sha512-uBHlv/rCNzIDAwisCgkY+ZFJ5zm/CcJLvelauszQdUZr1962mRKxObBhc7t8UecIzRksGQHVBFlBcHlxPDzzHA== - dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/rust" "2.10.1" - "@parcel/source-map" "^2.1.1" - "@parcel/types" "2.10.1" - "@parcel/utils" "2.10.1" +"@parcel/packager-js@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.3.2.tgz#2d2566bde0da921042b79aa827c71109665d795c" + integrity sha512-3OP0Ro9M1J+PIKZK4Ec2N5hjIPiqk++B2kMFeiUqvaNZjJgKrPPEICBhjS52rma4IE/NgmIMB3aI5pWqE/KwNA== + dependencies: + "@parcel/diagnostic" "2.3.2" + "@parcel/hash" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/source-map" "^2.0.0" + "@parcel/utils" "2.3.2" globals "^13.2.0" nullthrows "^1.1.1" -"@parcel/packager-raw@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.10.1.tgz#61bef80cc067e56bf50f4037cb7fbb97a5f42a8c" - integrity sha512-ViPPF1Ra8FFax5p/R3zEXi+zIfB9eBRwrN42jS6zsXzXMvvIvxvpGcNbmhMU76yM/rngdKSaOGHWCZWXORHsUg== +"@parcel/packager-raw@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.3.2.tgz#869cc3e7bee8ff3655891a0af400cf4e7dd4f144" + integrity sha512-RnoZ7WgNAFWkEPrEefvyDqus7xfv9XGprHyTbfLittPaVAZpl+4eAv43nXyMfzk77Cgds6KcNpkosj3acEpNIQ== dependencies: - "@parcel/plugin" "2.10.1" + "@parcel/plugin" "2.3.2" -"@parcel/packager-svg@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/packager-svg/-/packager-svg-2.10.1.tgz#6b2e0dae8ac7e1150cb47607ab0a5675e02f1067" - integrity sha512-g17Q4miXc0rudUi3BnSkqtQjknh16M1V++AU4YXAdAqVu5/PeA6T01MXK8c60nfa0HBysFjhML/s7nYV+cWOIg== +"@parcel/packager-svg@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/packager-svg/-/packager-svg-2.3.2.tgz#a7a02e22642ae93f42b8bfd7d122b4a159988743" + integrity sha512-iIC0VeczOXynS7M5jCi3naMBRyAznBVJ3iMg92/GaI9duxPlUMGAlHzLAKNtoXkc00HMXDH7rrmMb04VX6FYSg== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/types" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/types" "2.3.2" + "@parcel/utils" "2.3.2" posthtml "^0.16.4" -"@parcel/packager-wasm@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/packager-wasm/-/packager-wasm-2.10.1.tgz#f1c0286dba49644e2d1d1fd406b02ae265d03dda" - integrity sha512-iYo0vKFqi73QcMDCeKJGZdyWrA0dI1llNW/YHnOTMz5kwQQ5IQ9bA/O1qqVS/QZVIgONhI/qLYxBDdkCjlgZ3A== - dependencies: - "@parcel/plugin" "2.10.1" - -"@parcel/plugin@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.10.1.tgz#47b25cd93b483c8c643ff9382715e6fc726b9dd0" - integrity sha512-fhsWI5dzsmkQ2ye6jArDMiObw4yBkp3UoqAYCG/pGSsGXDpn8N0tOknRfycH509CGvw6ooGg6LORhFgak4cjDw== - dependencies: - "@parcel/types" "2.10.1" - -"@parcel/profiler@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/profiler/-/profiler-2.10.1.tgz#d5b1982261bcaa6e238ac0ccf67ab9d579d20561" - integrity sha512-3jE+v2T9hAV+eeEI09dtN1J4j7fi4x4wTr1vQomUy3ipcxMchHH7su5Ru/qw6sNeOStKsZemHXAoisQs+Urkiw== +"@parcel/plugin@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.3.2.tgz#7701c40567d2eddd5d5b2b6298949cd03a2a22fa" + integrity sha512-SaLZAJX4KH+mrAmqmcy9KJN+V7L+6YNTlgyqYmfKlNiHu7aIjLL+3prX8QRcgGtjAYziCxvPj0cl1CCJssaiGg== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/events" "2.10.1" - chrome-trace-event "^1.0.2" + "@parcel/types" "2.3.2" -"@parcel/reporter-cli@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/reporter-cli/-/reporter-cli-2.10.1.tgz#ba0c8e36bb1324b705e032db845e2f114a966822" - integrity sha512-CfDHX9Sf41in/KAkOF2n/KJ234LMKtx0OIm00eycMB41I8GO14o5w7vDQTEgWHDpRfEj3Q7fA9xdkB/yuV6waw== +"@parcel/reporter-cli@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/reporter-cli/-/reporter-cli-2.3.2.tgz#0617e088aac5ef7fa255d088e7016bb4f9d66a53" + integrity sha512-VYetmTXqW83npsvVvqlQZTbF3yVL3k/FCCl3kSWvOr9LZA0lmyqJWPjMHq37yIIOszQN/p5guLtgCjsP0UQw1Q== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/types" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/types" "2.3.2" + "@parcel/utils" "2.3.2" chalk "^4.1.0" - term-size "^2.2.1" -"@parcel/reporter-dev-server@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.10.1.tgz#c4a78ce5c5a7999c7e5c6f18f02d58b27b5a407a" - integrity sha512-nLv+584zWPIDMAGiMtMW2wuys9Y5PYnwSg6C1xGHwzPT9yImTy8NMOXp9LX83lUjjqPJBJnkOZeDXdlwW2Z9dQ== - dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" - -"@parcel/reporter-tracer@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/reporter-tracer/-/reporter-tracer-2.10.1.tgz#a7f3b640133069ea049b628d5028a593176ec8d2" - integrity sha512-7WircrCzQQcwT5ZQjCZEmSGC6n2Jwoi8Ti4stYh3Vmp6RNHTYv/EaLooIT0oEDtPUX9NM2EI7iRjdtMiYbRgQQ== +"@parcel/reporter-dev-server@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.3.2.tgz#46ee4c53ad08c8b8afd2c79fb37381b6ba55cfb5" + integrity sha512-E7LtnjAX4iiWMw2qKUyFBi3+bDz0UGjqgHoPQylUYYLi6opXjJz/oC+cCcCy4e3RZlkrl187XonvagS59YjDxA== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" - chrome-trace-event "^1.0.3" - nullthrows "^1.1.1" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" -"@parcel/resolver-default@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.10.1.tgz#5e88e3bd3b69e3072ddeeffa81668fd763f98249" - integrity sha512-X8yIodBVibZQh6WXLpBqIJVpRlmXTQ7248pSNZkCs9J/UbhtQzxqz6oq5agY7nOCkxv5Wa2rF+P/PR6Qs2WCKw== +"@parcel/resolver-default@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.3.2.tgz#286070412ad7fe506f7c88409f39b362d2041798" + integrity sha512-y3r+xOwWsATrNGUWuZ6soA7q24f8E5tY1AZ9lHCufnkK2cdKZJ5O1cyd7ohkAiKZx2/pMd+FgmVZ/J3oxetXkA== dependencies: - "@parcel/node-resolver-core" "3.1.1" - "@parcel/plugin" "2.10.1" + "@parcel/node-resolver-core" "2.3.2" + "@parcel/plugin" "2.3.2" -"@parcel/runtime-browser-hmr@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.10.1.tgz#177aa7c8f7a88a1f2434ad15a3d76d1f5ee7769e" - integrity sha512-g5cHzrEBOy9nqB76USBZe9pkKDAa8l5l1zaQ/N78ANPXnV4XtTCzSjJTvMfSfKX9ZG/pdRm3QtbBfMWy3h3iXw== +"@parcel/runtime-browser-hmr@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.3.2.tgz#cb23a850324ea792168438a9be6a345ebb66eb6d" + integrity sha512-nRD6uOyF1+HGylP9GASbYmvUDOsDaNwvaxuGTSh8+5M0mmCgib+hVBiPEKbwdmKjGbUPt9wRFPyMa/JpeQZsIQ== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" -"@parcel/runtime-js@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.10.1.tgz#c11bba5ec55301b622f677757b411ab942e52b7f" - integrity sha512-wSu5o6ABO3XTwAHoLbrxXDSWN8aykb2iaCULwjBjzYd2zATTdtMRo3Tnl8N9+PwOXLBgDS0qvRpqMOLxNNDeuQ== +"@parcel/runtime-js@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.3.2.tgz#c0e14251ce43f95977577e23bb9ac5c2487f3bb1" + integrity sha512-SJepcHvYO/7CEe/Q85sngk+smcJ6TypuPh4D2R8kN+cAJPi5WvbQEe7+x5BEgbN+5Jumi/Uo3FfOOE5mYh+F6g== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" -"@parcel/runtime-react-refresh@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.10.1.tgz#21215de8957505c8d97d7c1cc73ff91ac2040fa4" - integrity sha512-SH2cz2ELCOzUg/mTXs4xGUxUUZLshstLhgn1N/+cuCUQYhdulVSj+TLxX0c0zdpbpEytDhdOIGDYpXHWJYuQmA== +"@parcel/runtime-react-refresh@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.3.2.tgz#11961d7429ae3333b7efe14c4f57515df57eb5f2" + integrity sha512-P+GRPO2XVDSBQ4HmRSj2xfbHSQvL9+ahTE/AB74IJExLTITv5l4SHAV3VsiKohuHYUAYHW3A/Oe7tEFCAb6Cug== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" - react-error-overlay "6.0.9" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" react-refresh "^0.9.0" -"@parcel/runtime-service-worker@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/runtime-service-worker/-/runtime-service-worker-2.10.1.tgz#311db1f446de4469bbdb05f1a103820513fa9e44" - integrity sha512-5Vrso+8YQk+2ZnmsoWktfdKeRc3YBFxb755jYLOoIXg0OfIAM24tJHX+bH0GmHwGMXG6a3nvMOVC4i0LApBemQ== +"@parcel/runtime-service-worker@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/runtime-service-worker/-/runtime-service-worker-2.3.2.tgz#aa91797e57d1bb5b2aac04ac62c5410709ae0a27" + integrity sha512-iREHj/eapphC4uS/zGUkiTJvG57q+CVbTrfE42kB8ECtf/RYNo5YC9htdvPZjRSXDPrEPc5NCoKp4X09ENNikw== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" -"@parcel/rust@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/rust/-/rust-2.10.1.tgz#b76796660227fc145c3eb05be5e9e2a0cd79d9cf" - integrity sha512-HBW4QmuzFIb42p9e1MDsr7KnNs1sPIAiml0Zd8GPd0t+bNDR+3YwvFUVEINR7VhQzh3zv+nshL0MFwWVUO/tZw== - -"@parcel/source-map@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.1.1.tgz#fb193b82dba6dd62cc7a76b326f57bb35000a782" - integrity sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew== +"@parcel/source-map@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.2.tgz#9aa0b00518cee31d5634de6e9c924a5539b142c1" + integrity sha512-NnUrPYLpYB6qyx2v6bcRPn/gVigmGG6M6xL8wIg/i0dP1GLkuY1nf+Hqdf63FzPTqqT7K3k6eE5yHPQVMO5jcA== dependencies: detect-libc "^1.0.3" -"@parcel/transformer-babel@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-babel/-/transformer-babel-2.10.1.tgz#35c9e95cae7f469fc0d33e81de4f89388adc9837" - integrity sha512-dwJcdrWB+DeZ3XXirUAtnoFUTAWF5bj774eyonEmcb3Yx3QrtncRf5YnSfP3QXnT+rHQ67fQIdHrb/xw3ndPNQ== +"@parcel/transformer-babel@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-babel/-/transformer-babel-2.3.2.tgz#2d8c0d1f95d9747936d132dc4c34edb0b6b80d39" + integrity sha512-QpWfH2V6jJ+kcUBIMM/uBBG8dGFvNaOGS+8jD6b+eTP+1owzm83RoWgqhRV2D/hhv2qMXEQzIljoc/wg2y+X4g== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.10.1" + "@parcel/diagnostic" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/source-map" "^2.0.0" + "@parcel/utils" "2.3.2" browserslist "^4.6.6" json5 "^2.2.0" nullthrows "^1.1.1" - semver "^7.5.2" + semver "^5.7.0" -"@parcel/transformer-css@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-css/-/transformer-css-2.10.1.tgz#f4bb1a0efb66107b506334ab2513666264d651b4" - integrity sha512-MWrLEd7GAoHhiAiP5pTy8MfTte3TT/oPAPwEFIULojK4wYryL96LFVn0ETHpYejueXLHO4WExjSEWXs7vTwIyA== +"@parcel/transformer-css@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-css/-/transformer-css-2.3.2.tgz#968826e42d7cac9963dc0a67a30d393ef996e48c" + integrity sha512-8lzvDny+78DIAqhcXam2Bf9FyaUoqzHdUQdNFn+PuXTHroG/QGPvln1kvqngJjn4/cpJS9vYmAPVXe+nai3P8g== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.10.1" - browserslist "^4.6.6" - lightningcss "^1.16.1" + "@parcel/hash" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/source-map" "^2.0.0" + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" + postcss "^8.4.5" + postcss-value-parser "^4.2.0" + semver "^5.7.1" -"@parcel/transformer-html@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-html/-/transformer-html-2.10.1.tgz#8e370b3723c5e7f1d839c34d13b886f73377a723" - integrity sha512-dYgMmOI4hTBOlKkQTXnlZs831hJJ8HYUWkCWthuK5nHxhDjZUUeQgWk2K7af69zkkE5rXv6LWcMXjZGD7Z4D8w== +"@parcel/transformer-html@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-html/-/transformer-html-2.3.2.tgz#c240f09369445d287d16beba207407c925532d90" + integrity sha512-idT1I/8WM65IFYBqzRwpwT7sf0xGur4EDQDHhuPX1w+pIVZnh0lkLMAnEqs6ar1SPRMys4chzkuDNnqh0d76hg== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/rust" "2.10.1" + "@parcel/diagnostic" "2.3.2" + "@parcel/hash" "2.3.2" + "@parcel/plugin" "2.3.2" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" - semver "^7.5.2" - srcset "4" + semver "^5.7.1" -"@parcel/transformer-image@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-image/-/transformer-image-2.10.1.tgz#a0151347037973a26435fde5d58c11ee1d30f4e9" - integrity sha512-Eiba9tqtu0QBNSCYZuOveAewNxNlAUqb3M/EHUrYfB5oMCQxRDKpApsUxZwk97qctfdfN8b6paUS5IMLn0Plbw== +"@parcel/transformer-image@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-image/-/transformer-image-2.3.2.tgz#24b6eda51a6b07c195886bbb67fb2ade14c325f3" + integrity sha512-0K7cJHXysli6hZsUz/zVGO7WCoaaIeVdzAxKpLA1Yl3LKw/ODiMyXKt08LiV/ljQ2xT5qb9EsXUWDRvcZ0b96A== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" - "@parcel/workers" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/workers" "2.3.2" nullthrows "^1.1.1" -"@parcel/transformer-js@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.10.1.tgz#2ec3c31e99a2cef1b2d6a506c811f5b8c2a7c0be" - integrity sha512-Ybc2r6UxRvX0GUSyJLJOC88iaQw2sI8/mVBgAHsuwDRQzuQtE/nccQq+FpTSwsHR9XXzdoKXqb8Vg5dfHiXmlQ== - dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/rust" "2.10.1" - "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.10.1" - "@parcel/workers" "2.10.1" - "@swc/helpers" "^0.5.0" +"@parcel/transformer-js@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.3.2.tgz#24bcb488d5f82678343a5630fe4bbe822789ac33" + integrity sha512-U1fbIoAoqR5P49S+DMhH8BUd9IHRPwrTTv6ARYGsYnhuNsjTFhNYE0kkfRYboe/e0z7vEbeJICZXjnZ7eQDw5A== + dependencies: + "@parcel/diagnostic" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/source-map" "^2.0.0" + "@parcel/utils" "2.3.2" + "@parcel/workers" "2.3.2" + "@swc/helpers" "^0.2.11" browserslist "^4.6.6" + detect-libc "^1.0.3" nullthrows "^1.1.1" regenerator-runtime "^0.13.7" - semver "^7.5.2" + semver "^5.7.1" -"@parcel/transformer-json@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.10.1.tgz#cee3193538abf5f49fe27e88b0dcb4d1a3a8d016" - integrity sha512-yK06/v9NfqeePAEkU+BcXPibAjJljazg3CnJALsQGE8bkm6LnG+cfYNw2URj2AgCl5zQgGn72SlUP1WdDK8PHw== +"@parcel/transformer-json@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.3.2.tgz#4c470e86659e87ee13b1f31e75a3621d3615b6bd" + integrity sha512-Pv2iPaxKINtFwOk5fDbHjQlSm2Vza/NLimQY896FLxiXPNAJxWGvMwdutgOPEBKksxRx9LZPyIOHiRVZ0KcA3w== dependencies: - "@parcel/plugin" "2.10.1" + "@parcel/plugin" "2.3.2" json5 "^2.2.0" -"@parcel/transformer-postcss@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.10.1.tgz#66b3ba3a0e9727885f6ac0bcfc11f8a01e02a4ce" - integrity sha512-kvSeNDWsrRW/8o9ASPWkoHwQjF/tGlDMuvwYgv32hblvtz978zOTeLuZh8cbnrFLas8ejOekJ6EW9mz+4pTtWw== +"@parcel/transformer-postcss@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.3.2.tgz#a428c81569dd66758c5fab866dca69b4c6e59743" + integrity sha512-Rpdxc1rt2aJFCh/y/ccaBc9J1crDjNY5o44xYoOemBoUNDMREsmg5sR5iO81qKKO5GxfoosGb2zh59aeTmywcg== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/rust" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/hash" "2.3.2" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" clone "^2.1.1" nullthrows "^1.1.1" postcss-value-parser "^4.2.0" - semver "^7.5.2" + semver "^5.7.1" -"@parcel/transformer-posthtml@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-posthtml/-/transformer-posthtml-2.10.1.tgz#0390e390daa7605c6a28c73d86e1a4c508ccc33c" - integrity sha512-CN1zlxAGjzJj24d57xebjLl6J4n+6blZ+kSSJd3QqmSyp4VVqpn1shmI5OMMtpsOMmlnGy3IcI0xs6yw6nqRxA== +"@parcel/transformer-posthtml@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-posthtml/-/transformer-posthtml-2.3.2.tgz#5da3f24bf240c3c49b2fdb17dcda5988d3057a30" + integrity sha512-tMdVExfdM+1G8A9KSHDsjg+S9xEGbhH5mApF2NslPnNZ4ciLKRNuHU2sSV/v8i0a6kacKvDTrwQXYBQJGOodBw== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" - semver "^7.5.2" + semver "^5.7.1" -"@parcel/transformer-raw@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-raw/-/transformer-raw-2.10.1.tgz#f1996e7dab2209339ffd8e621f635b584145ca80" - integrity sha512-w+CH/zXDJaz1jKK31M+4ZGPzOyTKAgBVIelJs2j75jw41qFRn/tb9HqKNhPEEXhPhIs2L13D9O0/h1X/tmVK3w== +"@parcel/transformer-raw@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-raw/-/transformer-raw-2.3.2.tgz#40d21773e295bae3b16bfe7a89e414ccf534b9c5" + integrity sha512-lY7eOCaALZ90+GH+4PZRmAPGQRXoZ66NakSdhEtH6JSSAYOmZKDvNLGTMRo/vK1oELzWMuAHGdqvbcPDtNLLVw== dependencies: - "@parcel/plugin" "2.10.1" + "@parcel/plugin" "2.3.2" -"@parcel/transformer-react-refresh-wrap@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.10.1.tgz#5d2af839a9aa1bcaa9556b99b0b3aac183c92c87" - integrity sha512-ni7uyUsqPgwCohSqyF6AUmHbICrPUNhkREaTl5HFzTHS8CblEyVWUnY5X4UaT5BAlhQ3noo8/s9mGISi8sTIuQ== +"@parcel/transformer-react-refresh-wrap@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.3.2.tgz#43ecfe6f4567b88abb81db9fe56b8d860d6a69f7" + integrity sha512-FZaderyCExn0SBZ6D+zHPWc8JSn9YDcbfibv0wkCl+D7sYfeWZ22i7MRp5NwCe/TZ21WuxDWySCggEp/Waz2xg== dependencies: - "@parcel/plugin" "2.10.1" - "@parcel/utils" "2.10.1" + "@parcel/plugin" "2.3.2" + "@parcel/utils" "2.3.2" react-refresh "^0.9.0" -"@parcel/transformer-svg@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/transformer-svg/-/transformer-svg-2.10.1.tgz#a321588377a49893da8dfc0cfff997d5ed2923b3" - integrity sha512-6h0ABUiLWiDKLrTMvN2oHPGPYGQb8poe68eErPdtVxyw88P3AQKJOl/HHxHMXclRukV9Qc+N/izQf7jv9j+Ehw== +"@parcel/transformer-svg@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/transformer-svg/-/transformer-svg-2.3.2.tgz#9a66aef5011c7bbb1fa3ce9bb52ca56d8f0f964d" + integrity sha512-k9My6bePsaGgUh+tidDjFbbVgKPTzwCAQfoloZRMt7y396KgUbvCfqDruk04k6k+cJn7Jl1o/5lUpTEruBze7g== dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/plugin" "2.10.1" - "@parcel/rust" "2.10.1" + "@parcel/diagnostic" "2.3.2" + "@parcel/hash" "2.3.2" + "@parcel/plugin" "2.3.2" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" - semver "^7.5.2" + semver "^5.7.1" -"@parcel/types@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.10.1.tgz#c3f2b7947ba4cd3b60d9caf336eef7fdfc625d66" - integrity sha512-aoVVCL9AJ2wPIZujvAA4prof0RVg5cHZKAx2CrBVFk6RyEwonSGKh0XCqWzqy7Ufuu+M5lmvshJPHGCrMfKLWQ== - dependencies: - "@parcel/cache" "2.10.1" - "@parcel/diagnostic" "2.10.1" - "@parcel/fs" "2.10.1" - "@parcel/package-manager" "2.10.1" - "@parcel/source-map" "^2.1.1" - "@parcel/workers" "2.10.1" +"@parcel/types@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.3.2.tgz#7eb6925bc852a518dd75b742419e51292418769f" + integrity sha512-C77Ct1xNM7LWjPTfe/dQ/9rq1efdsX5VJu2o8/TVi6qoFh64Wp/c5/vCHwKInOTBZUTchVO6z4PGJNIZoUVJuA== + dependencies: + "@parcel/cache" "2.3.2" + "@parcel/diagnostic" "2.3.2" + "@parcel/fs" "2.3.2" + "@parcel/package-manager" "2.3.2" + "@parcel/source-map" "^2.0.0" + "@parcel/workers" "2.3.2" utility-types "^3.10.0" -"@parcel/utils@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.10.1.tgz#1619a80ef74c174dc5ba2ad90494125ee8a26812" - integrity sha512-Nh3TFaMa8lyjplT8acWVrIUytQGqMLT75Xp711yhs2hB5xHeRdpckLRadk+V5Nyz5g6dyzD2fad6ZpQFp89B+w== - dependencies: - "@parcel/codeframe" "2.10.1" - "@parcel/diagnostic" "2.10.1" - "@parcel/logger" "2.10.1" - "@parcel/markdown-ansi" "2.10.1" - "@parcel/rust" "2.10.1" - "@parcel/source-map" "^2.1.1" +"@parcel/utils@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.3.2.tgz#4aab052fc9f3227811a504da7b9663ca75004f55" + integrity sha512-xzZ+0vWhrXlLzGoz7WlANaO5IPtyWGeCZruGtepUL3yheRWb1UU4zFN9xz7Z+j++Dmf1Fgkc3qdk/t4O8u9HLQ== + dependencies: + "@parcel/codeframe" "2.3.2" + "@parcel/diagnostic" "2.3.2" + "@parcel/hash" "2.3.2" + "@parcel/logger" "2.3.2" + "@parcel/markdown-ansi" "2.3.2" + "@parcel/source-map" "^2.0.0" chalk "^4.1.0" - nullthrows "^1.1.1" - -"@parcel/watcher-android-arm64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz#d82e74bb564ebd4d8a88791d273a3d2bd61e27ab" - integrity sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA== - -"@parcel/watcher-darwin-arm64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz#c9cd03f8f233d512fcfc873d5b4e23f1569a82ad" - integrity sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw== - -"@parcel/watcher-darwin-x64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz#83c902994a2a49b9e1ab5050dba24876fdc2c219" - integrity sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow== - -"@parcel/watcher-freebsd-x64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz#7a0f4593a887e2752b706aff2dae509aef430cf6" - integrity sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw== - -"@parcel/watcher-linux-arm-glibc@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz#3fc90c3ebe67de3648ed2f138068722f9b1d47da" - integrity sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ== - -"@parcel/watcher-linux-arm64-glibc@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz#f7bbbf2497d85fd11e4c9e9c26ace8f10ea9bcbc" - integrity sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA== - -"@parcel/watcher-linux-arm64-musl@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz#de131a9fcbe1fa0854e9cbf4c55bed3b35bcff43" - integrity sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw== - -"@parcel/watcher-linux-x64-glibc@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz#193dd1c798003cdb5a1e59470ff26300f418a943" - integrity sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow== - -"@parcel/watcher-linux-x64-musl@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz#6dbdb86d96e955ab0fe4a4b60734ec0025a689dd" - integrity sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g== - -"@parcel/watcher-win32-arm64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz#59da26a431da946e6c74fa6b0f30b120ea6650b6" - integrity sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw== - -"@parcel/watcher-win32-ia32@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz#3ee6a18b08929cd3b788e8cc9547fd9a540c013a" - integrity sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow== - -"@parcel/watcher-win32-x64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz#14e7246289861acc589fd608de39fe5d8b4bb0a7" - integrity sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA== "@parcel/watcher@2.0.4": version "2.0.4" @@ -5336,39 +5161,24 @@ node-addon-api "^3.2.1" node-gyp-build "^4.3.0" -"@parcel/watcher@^2.0.7": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.3.0.tgz#803517abbc3981a1a1221791d9f59dc0590d50f9" - integrity sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ== +"@parcel/watcher@^2.0.0": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.5.tgz#f913a54e1601b0aac972803829b0eece48de215b" + integrity sha512-x0hUbjv891omnkcHD7ZOhiyyUqUUR6MNjq89JhEI3BxppeKWAm6NPQsqqRrAkCJBogdT/o/My21sXtTI9rJIsw== dependencies: - detect-libc "^1.0.3" - is-glob "^4.0.3" - micromatch "^4.0.5" - node-addon-api "^7.0.0" - optionalDependencies: - "@parcel/watcher-android-arm64" "2.3.0" - "@parcel/watcher-darwin-arm64" "2.3.0" - "@parcel/watcher-darwin-x64" "2.3.0" - "@parcel/watcher-freebsd-x64" "2.3.0" - "@parcel/watcher-linux-arm-glibc" "2.3.0" - "@parcel/watcher-linux-arm64-glibc" "2.3.0" - "@parcel/watcher-linux-arm64-musl" "2.3.0" - "@parcel/watcher-linux-x64-glibc" "2.3.0" - "@parcel/watcher-linux-x64-musl" "2.3.0" - "@parcel/watcher-win32-arm64" "2.3.0" - "@parcel/watcher-win32-ia32" "2.3.0" - "@parcel/watcher-win32-x64" "2.3.0" - -"@parcel/workers@2.10.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.10.1.tgz#d8edd111ba635047d8a32b581bf0af4629d78fc3" - integrity sha512-1Z/X53gUQlkx0soLiEgk6Ydi0tFVQOwv0V4KJGg6Rzjcsmjn8ViV8s79Tw0mauCu2KiMJx5ZP0rn6rlFVmbtSQ== - dependencies: - "@parcel/diagnostic" "2.10.1" - "@parcel/logger" "2.10.1" - "@parcel/profiler" "2.10.1" - "@parcel/types" "2.10.1" - "@parcel/utils" "2.10.1" + node-addon-api "^3.2.1" + node-gyp-build "^4.3.0" + +"@parcel/workers@2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.3.2.tgz#05ffa2da9169bfb83335892c2b8abce55686ceb1" + integrity sha512-JbOm+Ceuyymd1SuKGgodC2EXAiPuFRpaNUSJpz3NAsS3lVIt2TDAPMOWBivS7sML/KltspUfl/Q9YwO0TPUFNw== + dependencies: + "@parcel/diagnostic" "2.3.2" + "@parcel/logger" "2.3.2" + "@parcel/types" "2.3.2" + "@parcel/utils" "2.3.2" + chrome-trace-event "^1.0.2" nullthrows "^1.1.1" "@peculiar/asn1-schema@^2.3.6": @@ -6010,91 +5820,10 @@ "@stablelib/random" "^1.0.2" "@stablelib/wipe" "^1.0.1" -"@swc/core-darwin-arm64@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.95.tgz#e6b6363fc0a22ee3cd9a63130d2042d5027aae2c" - integrity sha512-VAuBAP3MNetO/yBIBzvorUXq7lUBwhfpJxYViSxyluMwtoQDhE/XWN598TWMwMl1ZuImb56d7eUsuFdjgY7pJw== - -"@swc/core-darwin-x64@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.95.tgz#7911a03f4e0f9359710d3d6ad1dba7b5569efe5d" - integrity sha512-20vF2rvUsN98zGLZc+dsEdHvLoCuiYq/1B+TDeE4oolgTFDmI1jKO+m44PzWjYtKGU9QR95sZ6r/uec0QC5O4Q== - -"@swc/core-linux-arm-gnueabihf@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.95.tgz#95a2c9fc6849df9f1944957669c82c559d65b24f" - integrity sha512-oEudEM8PST1MRNGs+zu0cx5i9uP8TsLE4/L9HHrS07Ck0RJ3DCj3O2fU832nmLe2QxnAGPwBpSO9FntLfOiWEQ== - -"@swc/core-linux-arm64-gnu@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.95.tgz#1914d42041469582e3cc56619890edbcc54e83d6" - integrity sha512-pIhFI+cuC1aYg+0NAPxwT/VRb32f2ia8oGxUjQR6aJg65gLkUYQzdwuUmpMtFR2WVf7WVFYxUnjo4UyMuyh3ng== - -"@swc/core-linux-arm64-musl@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.95.tgz#8d73822a5807575a572d6a2d6cb64587a9f19ce6" - integrity sha512-ZpbTr+QZDT4OPJfjPAmScqdKKaT+wGurvMU5AhxLaf85DuL8HwUwwlL0n1oLieLc47DwIJEMuKQkYhXMqmJHlg== - -"@swc/core-linux-x64-gnu@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.95.tgz#80467727ec11da3de49e6be2abf735964a808483" - integrity sha512-n9SuHEFtdfSJ+sHdNXNRuIOVprB8nbsz+08apKfdo4lEKq6IIPBBAk5kVhPhkjmg2dFVHVo4Tr/OHXM1tzWCCw== - -"@swc/core-linux-x64-musl@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.95.tgz#675a53ac037846bd1bb9840a95ebcb5289265d3b" - integrity sha512-L1JrVlsXU3LC0WwmVnMK9HrOT2uhHahAoPNMJnZQpc18a0paO9fqifPG8M/HjNRffMUXR199G/phJsf326UvVg== - -"@swc/core-win32-arm64-msvc@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.95.tgz#7f0b5d0d0a090c5c625bbc54ffaf427d861c068a" - integrity sha512-YaP4x/aZbUyNdqCBpC2zL8b8n58MEpOUpmOIZK6G1SxGi+2ENht7gs7+iXpWPc0sy7X3YPKmSWMAuui0h8lgAA== - -"@swc/core-win32-ia32-msvc@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.95.tgz#06e2778549a37f0b505b24fd8f40c1c038e29f3e" - integrity sha512-w0u3HI916zT4BC/57gOd+AwAEjXeUlQbGJ9H4p/gzs1zkSHtoDQghVUNy3n/ZKp9KFod/95cA8mbVF9t1+6epQ== - -"@swc/core-win32-x64-msvc@1.3.95": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.95.tgz#40f6b131e84ba6ed97f516edf0f9d5a766c0da64" - integrity sha512-5RGnMt0S6gg4Gc6QtPUJ3Qs9Un4sKqccEzgH/tj7V/DVTJwKdnBKxFZfgQ34OR2Zpz7zGOn889xwsFVXspVWNA== - -"@swc/core@^1.3.36": - version "1.3.95" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.95.tgz#2743b8460e6f29385e3dbe49f3f66277ab233536" - integrity sha512-PMrNeuqIusq9DPDooV3FfNEbZuTu5jKAc04N3Hm6Uk2Fl49cqElLFQ4xvl4qDmVDz97n3n/C1RE0/f6WyGPEiA== - dependencies: - "@swc/counter" "^0.1.1" - "@swc/types" "^0.1.5" - optionalDependencies: - "@swc/core-darwin-arm64" "1.3.95" - "@swc/core-darwin-x64" "1.3.95" - "@swc/core-linux-arm-gnueabihf" "1.3.95" - "@swc/core-linux-arm64-gnu" "1.3.95" - "@swc/core-linux-arm64-musl" "1.3.95" - "@swc/core-linux-x64-gnu" "1.3.95" - "@swc/core-linux-x64-musl" "1.3.95" - "@swc/core-win32-arm64-msvc" "1.3.95" - "@swc/core-win32-ia32-msvc" "1.3.95" - "@swc/core-win32-x64-msvc" "1.3.95" - -"@swc/counter@^0.1.1": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" - integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== - -"@swc/helpers@^0.5.0": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" - integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== - dependencies: - tslib "^2.4.0" - -"@swc/types@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" - integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== +"@swc/helpers@^0.2.11": + version "0.2.14" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.2.14.tgz#20288c3627442339dd3d743c944f7043ee3590f0" + integrity sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA== "@szmarczak/http-timer@^1.1.2": version "1.1.2" @@ -7615,7 +7344,7 @@ acorn@^8.2.4: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== -acorn@^8.7.0: +acorn@^8.5.0, acorn@^8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -8641,7 +8370,7 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -8712,7 +8441,7 @@ browserify-sign@^4.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -browserslist@^4.16.6: +browserslist@^4.0.0, browserslist@^4.16.6: version "4.16.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== @@ -9024,7 +8753,17 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001313: +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001313: version "1.0.30001431" resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz" integrity sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ== @@ -9142,7 +8881,7 @@ chownr@^2.0.0: resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -chrome-trace-event@^1.0.2, chrome-trace-event@^1.0.3: +chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== @@ -9384,6 +9123,11 @@ color@3.0.x: color-convert "^1.9.1" color-string "^1.5.2" +colord@^2.9.1: + version "2.9.2" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1" + integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ== + colorette@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" @@ -9846,6 +9590,13 @@ crypto-js@^4.1.1: resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== +css-declaration-sorter@^6.0.3: + version "6.1.4" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz#b9bfb4ed9a41f8dcca9bf7184d849ea94a8294b4" + integrity sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw== + dependencies: + timsort "^0.3.0" + css-select@^4.1.3: version "4.2.1" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" @@ -9870,6 +9621,60 @@ css-what@^5.1.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^*: + version "5.2.4" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.4.tgz#eced79bbc1ab7270337c4038a21891daac2329bc" + integrity sha512-w1Gg8xsebln6/axZ6qDFQHuglrGfbIHOIx0g4y9+etRlRab8CGpSpe6UMsrgJe4zhCaJ0LwLmc+PhdLRTwnhIA== + dependencies: + css-declaration-sorter "^6.0.3" + cssnano-utils "^*" + postcss-calc "^8.2.3" + postcss-colormin "^*" + postcss-convert-values "^*" + postcss-discard-comments "^*" + postcss-discard-duplicates "^*" + postcss-discard-empty "^*" + postcss-discard-overridden "^*" + postcss-merge-longhand "^*" + postcss-merge-rules "^*" + postcss-minify-font-values "^*" + postcss-minify-gradients "^*" + postcss-minify-params "^*" + postcss-minify-selectors "^*" + postcss-normalize-charset "^*" + postcss-normalize-display-values "^*" + postcss-normalize-positions "^*" + postcss-normalize-repeat-style "^*" + postcss-normalize-string "^*" + postcss-normalize-timing-functions "^*" + postcss-normalize-unicode "^*" + postcss-normalize-url "^*" + postcss-normalize-whitespace "^*" + postcss-ordered-values "^*" + postcss-reduce-initial "^*" + postcss-reduce-transforms "^*" + postcss-svgo "^*" + postcss-unique-selectors "^*" + +cssnano-utils@^*, cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.0.15: + version "5.1.4" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.4.tgz#c648192e8e2f1aacb7d839e6aa3706b50cc7f8e4" + integrity sha512-hbfhVZreEPyzl+NbvRsjNo54JOX80b+j6nqG2biLVLaZHJEiqGyMh4xDGHtwhUKd5p59mj2GlDqlUBwJUuIu5A== + dependencies: + cssnano-preset-default "^*" + lilconfig "^2.0.3" + yaml "^1.10.2" + csso@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" @@ -10179,11 +9984,6 @@ detect-libc@^1.0.3: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= -detect-libc@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -14389,6 +14189,11 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/json-source-map/-/json-source-map-0.6.1.tgz#e0b1f6f4ce13a9ad57e2ae165a24d06e62c79a0f" + integrity sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg== + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -14418,7 +14223,7 @@ json5@2.x, json5@^2.1.2, json5@^2.2.0: dependencies: minimist "^1.2.5" -json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: +json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -14722,67 +14527,10 @@ libsodium@^0.7.0: resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.9.tgz#4bb7bcbf662ddd920d8795c227ae25bbbfa3821b" integrity sha512-gfeADtR4D/CM0oRUviKBViMGXZDgnFdMKMzHsvBdqLBHd9ySi6EtYnmuhHVDDYgYpAO8eU8hEY+F8vIUAPh08A== -lightningcss-darwin-arm64@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.22.0.tgz#28e189ce15290b3d0ab43704fc33e8e6366e6df4" - integrity sha512-aH2be3nNny+It5YEVm8tBSSdRlBVWQV8m2oJ7dESiYRzyY/E/bQUe2xlw5caaMuhlM9aoTMtOH25yzMhir0qPg== - -lightningcss-darwin-x64@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.22.0.tgz#1c5fe3e3ab31c9f1741f6d5d650ab683bd942854" - integrity sha512-9KHRFA0Y6mNxRHeoQMp0YaI0R0O2kOgUlYPRjuasU4d+pI8NRhVn9bt0yX9VPs5ibWX1RbDViSPtGJvYYrfVAQ== - -lightningcss-freebsd-x64@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.22.0.tgz#1ee7bcb68258b2cb1425bdc7ccb632233eae639c" - integrity sha512-xaYL3xperGwD85rQioDb52ozF3NAJb+9wrge3jD9lxGffplu0Mn35rXMptB8Uc2N9Mw1i3Bvl7+z1evlqVl7ww== - -lightningcss-linux-arm-gnueabihf@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.22.0.tgz#1c4287ec7268dcee6d9dcccb3d0810ecdcd35b74" - integrity sha512-epQGvXIjOuxrZpMpMnRjK54ZqzhiHhCPLtHvw2fb6NeK2kK9YtF0wqmeTBiQ1AkbWfnnXGTstYaFNiadNK+StQ== - -lightningcss-linux-arm64-gnu@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.22.0.tgz#b8e6daee4a60020a4930fc3564669868e723a10d" - integrity sha512-AArGtKSY4DGTA8xP8SDyNyKtpsUl1Rzq6FW4JomeyUQ4nBrR71uPChksTpj3gmWuGhZeRKLeCUI1DBid/zhChg== - -lightningcss-linux-arm64-musl@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.22.0.tgz#8d863a5470ee50369f13974325f2a3326b5f77df" - integrity sha512-RRraNgP8hnBPhInTTUdlFm+z16C/ghbxBG51Sw00hd7HUyKmEUKRozyc5od+/N6pOrX/bIh5vIbtMXIxsos0lg== - -lightningcss-linux-x64-gnu@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.22.0.tgz#4798711d1897fe19fccd039640389c5049fb03fb" - integrity sha512-grdrhYGRi2KrR+bsXJVI0myRADqyA7ekprGxiuK5QRNkv7kj3Yq1fERDNyzZvjisHwKUi29sYMClscbtl+/Zpw== - -lightningcss-linux-x64-musl@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.22.0.tgz#1d34f5bf428b0d2d4550627e653231d33fda90f9" - integrity sha512-t5f90X+iQUtIyR56oXIHMBUyQFX/zwmPt72E6Dane3P8KNGlkijTg2I75XVQS860gNoEFzV7Mm5ArRRA7u5CAQ== - -lightningcss-win32-x64-msvc@1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.22.0.tgz#2fece601ea92298f73008bdf96ed0af8132d318f" - integrity sha512-64HTDtOOZE9PUCZJiZZQpyqXBbdby1lnztBccnqh+NtbKxjnGzP92R2ngcgeuqMPecMNqNWxgoWgTGpC+yN5Sw== - -lightningcss@^1.16.1: - version "1.22.0" - resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.22.0.tgz#76c9a17925e660741858e88b774172cb1923bb4a" - integrity sha512-+z0qvwRVzs4XGRXelnWRNwqsXUx8k3bSkbP8vD42kYKSk3z9OM2P3e/gagT7ei/gwh8DTS80LZOFZV6lm8Z8Fg== - dependencies: - detect-libc "^1.0.3" - optionalDependencies: - lightningcss-darwin-arm64 "1.22.0" - lightningcss-darwin-x64 "1.22.0" - lightningcss-freebsd-x64 "1.22.0" - lightningcss-linux-arm-gnueabihf "1.22.0" - lightningcss-linux-arm64-gnu "1.22.0" - lightningcss-linux-arm64-musl "1.22.0" - lightningcss-linux-x64-gnu "1.22.0" - lightningcss-linux-x64-musl "1.22.0" - lightningcss-win32-x64-msvc "1.22.0" +lilconfig@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" + integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== lines-and-columns@^1.1.6: version "1.1.6" @@ -14824,23 +14572,16 @@ litecoin-regex@^1.0.8: resolved "https://registry.yarnpkg.com/litecoin-regex/-/litecoin-regex-1.0.9.tgz#0e67b4f1aa50ab1fda2d2ecf32879bb24041cc7d" integrity sha512-ytAS5XD0vMPUqTiifoueMCZhVLouyq/iOAG9hwfnQQwaRQy9xrgmvI//rsdIk+Qnfa02bJ0wLwDB4+yV1rNAjg== -lmdb@2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.8.5.tgz#ce191110c755c0951caa062722e300c703973837" - integrity sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ== +lmdb@^2.0.2: + version "2.2.5" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.2.5.tgz#37f08b5963a1b81da67f378c7084f59b84c3d443" + integrity sha512-yx+jtqSgp9uzp+2b3U3VTvS/g5hw4jXqvTAX+QU4Izdueq5O6MUTLwp/94R4F7SYq96zOfaGN/IUgiz6AWo+yg== dependencies: - msgpackr "^1.9.5" - node-addon-api "^6.1.0" - node-gyp-build-optional-packages "5.1.1" - ordered-binary "^1.4.1" + msgpackr "^1.5.4" + nan "^2.14.2" + node-gyp-build "^4.2.3" + ordered-binary "^1.2.4" weak-lru-cache "^1.2.2" - optionalDependencies: - "@lmdb/lmdb-darwin-arm64" "2.8.5" - "@lmdb/lmdb-darwin-x64" "2.8.5" - "@lmdb/lmdb-linux-arm" "2.8.5" - "@lmdb/lmdb-linux-arm64" "2.8.5" - "@lmdb/lmdb-linux-x64" "2.8.5" - "@lmdb/lmdb-win32-x64" "2.8.5" load-json-file@^4.0.0: version "4.0.0" @@ -14900,6 +14641,11 @@ lodash.ismatch@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -14910,6 +14656,11 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + lodash@4.17.21, lodash@4.x, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -15276,14 +15027,6 @@ micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" -micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -15584,34 +15327,13 @@ msgpackr-extract@^1.0.14: nan "^2.14.2" node-gyp-build "^4.2.3" -msgpackr-extract@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz#e05ec1bb4453ddf020551bcd5daaf0092a2c279d" - integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A== - dependencies: - node-gyp-build-optional-packages "5.0.7" - optionalDependencies: - "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.2" - "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.2" - "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2" - -msgpackr@^1.5.4: +msgpackr@^1.5.1, msgpackr@^1.5.4: version "1.5.5" resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.5.5.tgz#c0562abc2951d7e29f75d77a8656b01f103a042c" integrity sha512-JG0V47xRIQ9pyUnx6Hb4+3TrQoia2nA3UIdmyTldhxaxtKFkekkKpUW/N6fwHwod9o4BGuJGtouxOk+yCP5PEA== optionalDependencies: msgpackr-extract "^1.0.14" -msgpackr@^1.9.5: - version "1.9.9" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.9.9.tgz#ec71e37beb8729280847f683cb0a340eb35ce70f" - integrity sha512-sbn6mioS2w0lq1O6PpGtsv6Gy8roWM+o3o4Sqjd6DudrL/nOugY+KyJUimoWzHnf9OkO0T6broHFnYE/R05t9A== - optionalDependencies: - msgpackr-extract "^3.0.2" - msw@^0.27.1: version "0.27.2" resolved "https://registry.yarnpkg.com/msw/-/msw-0.27.2.tgz#c79530e04513e5d491a149c9181bc594bad75265" @@ -15722,6 +15444,11 @@ nanoid@^3.1.31: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" + integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -15804,16 +15531,6 @@ node-addon-api@^4.2.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== -node-addon-api@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" - integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== - -node-addon-api@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.0.0.tgz#8136add2f510997b3b94814f4af1cce0b0e3962e" - integrity sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA== - node-fetch@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" @@ -15838,18 +15555,6 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-gyp-build-optional-packages@5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz#5d2632bbde0ab2f6e22f1bbac2199b07244ae0b3" - integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w== - -node-gyp-build-optional-packages@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz#52b143b9dd77b7669073cbfe39e3f4118bfc603c" - integrity sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw== - dependencies: - detect-libc "^2.0.1" - node-gyp-build@^4.1.0, node-gyp-build@^4.2.3, node-gyp-build@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" @@ -15995,6 +15700,11 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + npm-bundled@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" @@ -16375,10 +16085,10 @@ ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ordered-binary@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.4.1.tgz#205cb6efd6c27fa0ef4eced994a023e081cdc911" - integrity sha512-9LtiGlPy982CsgxZvJGNNp2/NnrgEr6EAyN3iIEP3/8vd3YLgAZQHbQ75ZrkfBRGrNg37Dk3U6tuVb+B4Xfslg== +ordered-binary@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.2.4.tgz#51d3a03af078a0bdba6c7bc8f4fedd1f5d45d83e" + integrity sha512-A/csN0d3n+igxBPfUrjbV5GC69LWj2pjZzAAeeHXLukQ4+fytfP4T1Lg0ju7MSPSwq7KtHkGaiwO8URZN5IpLg== original@^1.0.0: version "1.0.2" @@ -16572,24 +16282,24 @@ pacote@^13.0.3, pacote@^13.6.1: tar "^6.1.11" parcel@^2.3.2: - version "2.10.1" - resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.10.1.tgz#750436fba8feb2673acba95366b3329d0b31ad95" - integrity sha512-BvsKk8Fg9z1BBLny3IJmm7qM7ux+aD0iXVbzaBhurdbsj0UuWYsa6krLnK/+udwGiLPmicldqjtjDimSuLIwmQ== - dependencies: - "@parcel/config-default" "2.10.1" - "@parcel/core" "2.10.1" - "@parcel/diagnostic" "2.10.1" - "@parcel/events" "2.10.1" - "@parcel/fs" "2.10.1" - "@parcel/logger" "2.10.1" - "@parcel/package-manager" "2.10.1" - "@parcel/reporter-cli" "2.10.1" - "@parcel/reporter-dev-server" "2.10.1" - "@parcel/reporter-tracer" "2.10.1" - "@parcel/utils" "2.10.1" + version "2.3.2" + resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.3.2.tgz#d1cb475f27edae981edea7a7104e04d3a35a87ca" + integrity sha512-4jhgoBcQaiGKmnmBvNyKyOvZrxCgzgUzdEoVup/fRCOP99hNmvYIN5IErIIJxsU9ObcG/RGCFF8wa4kVRsWfIg== + dependencies: + "@parcel/config-default" "2.3.2" + "@parcel/core" "2.3.2" + "@parcel/diagnostic" "2.3.2" + "@parcel/events" "2.3.2" + "@parcel/fs" "2.3.2" + "@parcel/logger" "2.3.2" + "@parcel/package-manager" "2.3.2" + "@parcel/reporter-cli" "2.3.2" + "@parcel/reporter-dev-server" "2.3.2" + "@parcel/utils" "2.3.2" chalk "^4.1.0" commander "^7.0.0" get-port "^4.2.0" + v8-compile-cache "^2.0.0" parent-module@^1.0.0: version "1.0.1" @@ -16799,11 +16509,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -16900,11 +16605,224 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-colormin@^*: + version "5.3.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" + integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz#f8d3abe40b4ce4b1470702a0706343eac17e7c10" + integrity sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz#e90019e1a0e5b99de05f63516ce640bd0df3d369" + integrity sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ== + +postcss-discard-duplicates@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== + +postcss-discard-empty@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== + +postcss-merge-longhand@^*: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.2.tgz#fe3002f38ad5827c1d6f7d5bb3f71d2566a2a138" + integrity sha512-18/bp9DZnY1ai9RlahOfLBbmIUKfKFPASxRCiZ1vlpZqWPCn8qWPFlEozqmWL+kBtcEQmG8W9YqGCstDImvp/Q== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^*" + +postcss-merge-rules@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.0.tgz#a2d5117eba09c8686a5471d97bd9afcf30d1b41f" + integrity sha512-NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.0.tgz#de0260a67a13b7b321a8adc3150725f2c6612377" + integrity sha512-J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg== + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.1.tgz#c5f8e7dac565e577dd99904787fbec576cbdbfb2" + integrity sha512-WCpr+J9Uz8XzMpAfg3UL8z5rde6MifBbh5L8bn8S2F5hq/YDJJzASYCnCHvAB4Fqb94ys8v95ULQkW2EhCFvNg== + dependencies: + browserslist "^4.16.6" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^*: + version "5.2.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz#17c2be233e12b28ffa8a421a02fc8b839825536c" + integrity sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-normalize-charset@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== + +postcss-normalize-display-values@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz#902a7cb97cf0b9e8b1b654d4a43d451e48966458" + integrity sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz#f6d6fd5a54f51a741cc84a37f7459e60ef7a6398" + integrity sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75" + integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ== + dependencies: + browserslist "^4.16.6" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== + dependencies: + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.0.tgz#04ef429e0991b0292bc918b135cd4c038f7b889f" + integrity sha512-wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA== + dependencies: + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6" + integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.9" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" + integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^2.7.0" + +postcss-unique-selectors@^*: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== + dependencies: + postcss-selector-parser "^6.0.5" + postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== +postcss@^8.4.5: + version "8.4.8" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" + integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== + dependencies: + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" + posthtml-parser@^0.10.1: version "0.10.2" resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.10.2.tgz#df364d7b179f2a6bf0466b56be7b98fd4e97c573" @@ -17423,11 +17341,6 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -react-error-overlay@6.0.9: - version "6.0.9" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" - integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== - react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" @@ -18140,7 +18053,7 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -18150,7 +18063,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.5.4, semver@^7.0.0, semver@^7.1.1, semver@^7.3.7, semver@^7.5.2, semver@^7.5.4: +semver@7.5.4, semver@^7.0.0, semver@^7.1.1, semver@^7.3.7, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -18503,6 +18416,11 @@ sort-keys@^4.0.0: dependencies: is-plain-obj "^2.0.0" +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -18514,7 +18432,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.17: +source-map-support@^0.5.17, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -18545,7 +18463,7 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: +source-map@^0.7.3, source-map@~0.7.2: version "0.7.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== @@ -18631,11 +18549,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -srcset@4: - version "4.0.0" - resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" - integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== - sshpk@^1.7.0: version "1.16.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" @@ -18983,6 +18896,14 @@ strong-log-transformer@^2.1.0: minimist "^1.2.0" through "^2.3.4" +stylehacks@^*: + version "5.1.0" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520" + integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q== + dependencies: + browserslist "^4.16.6" + postcss-selector-parser "^6.0.4" + sumchecker@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" @@ -19027,7 +18948,7 @@ supports-hyperlinks@^2.0.0: has-flag "^4.0.0" supports-color "^7.0.0" -svgo@^2.4.0: +svgo@^2.4.0, svgo@^2.7.0: version "2.8.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== @@ -19130,11 +19051,6 @@ tendermint-tx-builder@^1.0.9: fiosdk-offline "^1.2.21" google-protobuf "^3.17.0" -term-size@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - terminal-link@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" @@ -19143,6 +19059,16 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" +terser@^5.2.0: + version "5.12.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" + integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== + dependencies: + acorn "^8.5.0" + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -19930,7 +19856,7 @@ utf8@3.0.0: resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -19983,7 +19909,7 @@ uuid@^8.3.0, uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3: +v8-compile-cache@2.3.0, v8-compile-cache@^2.0.0, v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -20842,6 +20768,11 @@ xtend@~2.1.1: dependencies: object-keys "~0.4.0" +xxhash-wasm@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz#752398c131a4dd407b5132ba62ad372029be6f79" + integrity sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA== + xxhashjs@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" @@ -20874,7 +20805,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0: +yaml@^1.10.0, yaml@^1.10.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== From 640d63442b505ed8d0f4a72e40dff668adb1e904 Mon Sep 17 00:00:00 2001 From: 0xMillz <37815163+0xMillz@users.noreply.github.com> Date: Fri, 27 Oct 2023 02:13:30 -0600 Subject: [PATCH 15/15] ts wants this for import $ from "jquery" --- examples/sandbox/tsconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/sandbox/tsconfig.json b/examples/sandbox/tsconfig.json index fe7688848..07062f202 100644 --- a/examples/sandbox/tsconfig.json +++ b/examples/sandbox/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { "resolveJsonModule": true, + "esModuleInterop": true } }